Skip to main content
`Ctrl`+`K`

# DMPlexGetOrientedCone

Return the points and orientations on the in-edges for this point in the DAG

## Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexGetOrientedCone(DM dm, PetscInt p, PeOp const PetscInt *cone[], PeOp const PetscInt *ornt[])

Not collective

## Input Parameters

- dm - The DMPlex

- p - The point, which must lie in the chart set with DMPlexSetChart()

## Output Parameters

- cone - An array of points which are on the in-edges for point `p`

- ornt - An array of orientations which are on the in-edges for point `p`. An orientation is an integer giving the prescription for cone traversal.

## Notes

The number indexes the symmetry transformations for the cell type (see manual). Orientation 0 is always the identity transformation. Negative orientation indicates reflection so that -(o+1) is the reflection of o, however it is not necessarily the inverse. To get the inverse, use `DMPolytopeTypeComposeOrientationInv()` with the identity.

You must also call `DMPlexRestoreOrientedCone()` after you finish using the returned array.

## Fortran Notes

`cone` and `ornt` must be declared with

      PetscInt, pointer :: cone(:)
      PetscInt, pointer :: ornt(:)

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMPlexRestoreOrientedCone()`, `DMPlexGetConeSize()`, `DMPlexGetCone()`, `DMPlexGetChart()`

## Level

beginner

## Location

src/dm/impls/plex/plex.c

Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages