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
DMPLEX
p - The mesh point
useCone -
PETSC_TRUE
for 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
NULL
on 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
points
is 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