Skip to main content
`Ctrl`+`K`

# DMPolytopeMatchOrientation

Determine an orientation (transformation) that takes the source face arrangement to the target face arrangement

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMPolytopeMatchOrientation(DMPolytopeType ct, const PetscInt sourceCone[], const PetscInt targetCone[], PetscInt *ornt, PetscBool *found)

Not Collective

## Input Parameters

- ct - The `DMPolytopeType`

- sourceCone - The source arrangement of faces

- targetCone - The target arrangement of faces

## Output Parameters

- ornt - The orientation (transformation) which will take the source arrangement to the target arrangement

- found - Flag indicating that a suitable orientation was found

## Note

An arrangement is a face order combined with an orientation for each face

Each orientation (transformation) is labeled with an integer from negative `DMPolytopeTypeGetNumArrangements(ct)`/2 to `DMPolytopeTypeGetNumArrangements(ct)`/2 that labels each arrangement (face ordering plus orientation for each face).

See `DMPolytopeMatchVertexOrientation()` to find a new vertex orientation that takes the source vertex arrangement to the target vertex arrangement

## See Also

DM Basics, `DM`, `DMPolytopeGetOrientation()`, `DMPolytopeMatchVertexOrientation()`, `DMPolytopeGetVertexOrientation()`

## Level

advanced

## Location

src/dm/interface/dm.c

## Examples

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

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