petsc-3.7.1 2016-05-15
Report Typos and Errors

# DMPlexGetTransitiveClosure_Internal

Return the points on the transitive closure of the in-edges or out-edges for this point in the Sieve DAG with a specified initial orientation

### Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexGetTransitiveClosure_Internal(DM dm, PetscInt p, PetscInt ornt, PetscBool useCone, PetscInt *numPoints, PetscInt *points[])

Not collective Many br

### Input Parameters

| mesh | - The DMPlex Many br
| p | - The Sieve point, which must lie in the chart set with DMPlexSetChart() Many br
| orientation | - The orientation of the point Many br
| useCone | - PETSC_TRUE for in-edges, otherwise use out-edges Many br
| points | - If points is NULL on input, internal storage will be returned, otherwise the provided array is used Many br

### Output Parameters

| numPoints | - The number of points in the closure, so points[] is of size 2*numPoints Many br
| points | - The points and point orientations, interleaved as pairs [p0, o0, p1, o1, ...] Many br

### Note

If using internal storage (points is NULL on input), each call overwrites the last output. Many br

### Fortran Notes

Since it returns an array, this routine is only available in Fortran 90, and you must Many brinclude petsc.h90 in your code. Many br

The numPoints argument is not present in the Fortran 90 binding since it is internal to the array. Many br

Many br

### See Also

DMPlexRestoreTransitiveClosure(), DMPlexCreate(), DMPlexSetCone(), DMPlexSetChart(), DMPlexGetCone()

Level:beginner
Location:src/dm/impls/plex/plex.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages