:orphan:
# 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
[](ch_unstructured), `DM`, `DMPLEX`, `DMPlexVecGetClosure()`, `DMPlexVecSetClosure()`, `DMPlexMatSetClosure()`
## Level
intermediate
## Location
src/dm/impls/plex/plex.c
## Examples
src/dm/impls/plex/tutorials/ex11.c
src/dm/impls/plex/tutorials/ex6.c
src/snes/tutorials/ex56.c
src/snes/tutorials/ex77.c
---
[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](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)