# DMPlexVecRestoreClosure
Restore the array of the values on the closure of 'point' 
## Synopsis
```
#include "petscdmplex.h"   
PetscErrorCode DMPlexVecRestoreClosure(DM dm, PetscSection section, Vec v, PetscInt point, PetscInt *csize, PetscScalar *values[])
```
Not collective


## Input Parameters

- ***dm -*** The `DM`
- ***section -*** The section describing the layout in v, or NULL to use the default section
- ***v -*** The local vector
- ***point -*** The point in the `DM`
- ***csize -*** The number of values in the closure, or NULL
- ***values -*** The array of values, which is a borrowed array and should not be freed





## Note
The array values are discarded and not copied back into v. In order to copy values back to v, use `DMPlexVecSetClosure()`


## Fortran Note
The csize argument is not present in the Fortran binding since it is internal to the array.


## See Also
 [](chapter_unstructured), `DM`, `DMPLEX`, `DMPlexVecGetClosure()`, `DMPlexVecSetClosure()`, `DMPlexMatSetClosure()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/plex.c.html#DMPlexVecRestoreClosure">src/dm/impls/plex/plex.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/tutorials/ex11.c.html">src/dm/impls/plex/tutorials/ex11.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/tutorials/ex6.c.html">src/dm/impls/plex/tutorials/ex6.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/tutorials/ex56.c.html">src/snes/tutorials/ex56.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/tutorials/ex77.c.html">src/snes/tutorials/ex77.c.html</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plex.c)


[Index of all DMPlex routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
