:orphan:
# 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
- ***mesh -*** 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.
## 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 Note
You must also call `DMPlexRestoreConeOrientation()` after you finish using the returned array.
`DMPlexRestoreConeOrientation()` is not needed/available in C.
## See Also
[](ch_unstructured), `DM`, `DMPLEX`, `DMPolytopeTypeComposeOrientation()`, `DMPolytopeTypeComposeOrientationInv()`, `DMPlexCreate()`, `DMPlexGetCone()`, `DMPlexSetCone()`, `DMPlexSetChart()`
## Level
beginner
## Location
src/dm/impls/plex/plex.c
## Examples
src/dm/impls/plex/tutorials/ex11.c
src/ts/tutorials/ex11_sa.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plex.c)
[Index of all DMPlex routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)