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 Parameter: 13 . tr - the transform for this ephemeral label 14 15 Level: intermediate 16 17 Note: 18 Ephemeral labels are produced automatically from a base label and a `DMPlexTransform`. 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 Level: intermediate 39 40 Note: 41 Ephemeral labels are produced automatically from a base label and a `DMPlexTransform`. 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