:orphan:
# DMPlexGetClosureIndices
Gets the global dof indices associated with the closure of the given point within the provided sections.
## Synopsis
```
#include "petscdmplex.h"
PetscErrorCode DMPlexGetClosureIndices(DM dm, PetscSection section, PetscSection idxSection, PetscInt point, PetscBool useClPerm, PetscInt *numIndices, PetscInt *indices[], PetscInt outOffsets[], PetscScalar *values[])
```
Not collective
## Input Parameters
- ***dm -*** The `DM`
- ***section -*** The `PetscSection` describing the points (a local section)
- ***idxSection -*** The `PetscSection` from which to obtain indices (may be local or global)
- ***point -*** The point defining the closure
- ***useClPerm -*** Use the closure point permutation if available
## Output Parameters
- ***numIndices -*** The number of dof indices in the closure of point with the input sections
- ***indices -*** The dof indices
- ***outOffsets -*** Array to write the field offsets into, or `NULL`
- ***values -*** The input values, which may be modified if sign flips are induced by the point symmetries, or `NULL`
## Notes
Must call `DMPlexRestoreClosureIndices()` to free allocated memory
If `idxSection` is global, any constrained dofs (see `DMAddBoundary()`, for example) will get negative indices. The value
of those indices is not significant. If `idxSection` is local, the constrained dofs will yield the involution -(idx+1)
of their index in a local vector. A caller who does not wish to distinguish those points may recover the nonnegative
indices via involution, -(-(idx+1)+1)==idx. Local indices are provided when `idxSection` == section, otherwise global
indices (with the above semantics) are implied.
## See Also
[](ch_unstructured), `DM`, `DMPLEX`, `DMPlexRestoreClosureIndices()`, `DMPlexVecGetClosure()`, `DMPlexMatSetClosure()`, `DMGetLocalSection()`,
`PetscSection`, `DMGetGlobalSection()`
## Level
advanced
## Location
src/dm/impls/plex/plex.c
## Examples
src/dm/impls/plex/tutorials/ex8.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)