: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)