:orphan: # 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, const PetscInt *cone[], 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. ## Fortran Notes You must also call `DMPlexRestoreCone()` after you finish using the returned array. `DMPlexRestoreCone()` is not needed/available in C. ## See Also [](ch_unstructured), `DM`, `DMPLEX`, `DMPlexRestoreOrientedCone()`, `DMPlexGetConeSize()`, `DMPlexGetCone()`, `DMPlexGetChart()` ## Level beginner ## Location src/dm/impls/plex/plex.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)