1 #include <petsc/private/dmlabelimpl.h> /*I "petscdmlabelephemeral.h" I*/ 2 #include <petscdmlabelephemeral.h> /*I "petscdmplextransform.h" I*/ 3 4 /*@ 5 DMLabelEphemeralGetTransform - Get the transform for this ephemeral label 6 7 Not collective 8 9 Input Parameter: 10 . label - the DMLabel 11 12 Output Paramater: 13 . tr - the transform for this ephemeral label 14 15 Note: 16 Ephemeral labels are produced automatically from a base label and a `DMPlexTransform`. 17 18 Level: intermediate 19 20 .seealso: `DMLabelEphemeralSetTransform()`, `DMLabelEphemeralGetLabel()`, `DMLabelSetType()` 21 @*/ 22 PetscErrorCode DMLabelEphemeralGetTransform(DMLabel label, DMPlexTransform *tr) 23 { 24 PetscFunctionBegin; 25 PetscCall(PetscObjectQuery((PetscObject)label, "__transform__", (PetscObject *)tr)); 26 PetscFunctionReturn(PETSC_SUCCESS); 27 } 28 29 /*@ 30 DMLabelEphemeralSetTransform - Set the transform for this ephemeral label 31 32 Not collective 33 34 Input Parameters: 35 + label - the DMLabel 36 - tr - the transform for this ephemeral label 37 38 Note: 39 Ephemeral labels are produced automatically from a base label and a `DMPlexTransform`. 40 41 Level: intermediate 42 43 .seealso: `DMLabelEphemeralGetTransform()`, `DMLabelEphemeralSetLabel()`, `DMLabelSetType()` 44 @*/ 45 PetscErrorCode DMLabelEphemeralSetTransform(DMLabel label, DMPlexTransform tr) 46 { 47 PetscFunctionBegin; 48 PetscCall(PetscObjectCompose((PetscObject)label, "__transform__", (PetscObject)tr)); 49 PetscFunctionReturn(PETSC_SUCCESS); 50 } 51