:orphan: # DMPlexTransformExtrudeSetNormalFunction Set a function to determine the extrusion normal ## Synopsis ``` #include "petscdmplextransform.h" PetscErrorCode DMPlexTransformExtrudeSetNormalFunction(DMPlexTransform tr, PetscSimplePointFunc normalFunc) ``` Not Collective ## Input Parameters - ***tr -*** The `DMPlexTransform` - ***normalFunc -*** A function determining the extrusion direction ## Calling sequence of `normalFunc` ```none PetscErrorCode normalFunc(PetscInt dim, PetscReal time, const PetscReal x[], PetscInt r, PetscScalar u[], void *ctx) ``` - ***dim -*** The coordinate dimension of the original mesh (usually a surface) - ***time -*** The current time, or 0. - ***x -*** The location of the current normal, in the coordinate space of the original mesh - ***r -*** The extrusion replica number (layer number) of this point - ***u -*** The user provides the computed normal on output; the sign and magnitude is not significant - ***ctx -*** An optional user context ## See Also `DMPlexTransform`, `DMPlexTransformExtrudeGetNormal()` ## Level intermediate ## Location src/dm/impls/plex/transform/impls/extrude/plextrextrude.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/transform/impls/extrude/plextrextrude.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)