DMPlexGetTransitiveClosure#
Return the points on the transitive closure of the in-edges or out-edges for this point in the DAG
Synopsis#
#include "petscdmplex.h"
PetscErrorCode DMPlexGetTransitiveClosure(DM dm, PetscInt p, PetscBool useCone, PetscInt *numPoints, PetscInt *points[])
Not Collective
Input Parameters#
dm - The
DMPLEXp - The mesh point
useCone -
PETSC_TRUEfor the closure, otherwise return the star
Input/Output Parameter#
points - The points and point orientations, interleaved as pairs [p0, o0, p1, o1, …]; if *points is
NULLon input, internal storage will be returned, useDMPlexRestoreTransitiveClosure(), otherwise the provided array is used to hold the values
Output Parameter#
numPoints - The number of points in the closure, so
pointsis of size 2*numPoints
Note#
If using internal storage (points is NULL on input), each call overwrites the last output.
Fortran Notes#
points must be declared with
PetscInt, pointer :: points(:)
and is always allocated by the function.
The numPoints argument is not present in the Fortran binding.
See Also#
DMPlex: Unstructured Grids, DM, DMPLEX, DMPlexRestoreTransitiveClosure(), DMPlexCreate(), DMPlexSetCone(), DMPlexSetChart(), DMPlexGetCone()
Level#
beginner
Location#
Examples#
Implementations#
DMPlexGetTransitiveClosure_Internal() in src/dm/impls/plex/plex.c
Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages