Skip to main content
`Ctrl`+`K`

# DMPlexGetConeOrientation

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

## Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexGetConeOrientation(DM dm, PetscInt p, const PetscInt *coneOrientation[])

Not Collective

## Input Parameters

- dm - The `DMPLEX`

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

## Output Parameter

- coneOrientation - An array of orientations which are on the in-edges for point `p`. An orientation is an integer giving the prescription for cone traversal. Its length is given by the result of `DMPlexSetConeSize()`

## Note

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.

## Fortran Notes

You must call `DMPlexRestoreConeOrientation()` after you finish using the returned array. `DMPlexRestoreConeOrientation()` is not needed/available in C.

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMPlexSetConeSize()`, `DMPolytopeTypeComposeOrientation()`, `DMPolytopeTypeComposeOrientationInv()`, `DMPlexCreate()`, `DMPlexGetCone()`, `DMPlexSetCone()`, `DMPlexSetChart()`

## Level

beginner

## Location

src/dm/impls/plex/plex.c

## Examples

src/ts/tutorials/ex11_sa.c
src/dm/impls/plex/tutorials/ex11.c

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