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 @*/
DMLabelEphemeralGetTransform(DMLabel label,DMPlexTransform * tr)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 @*/
DMLabelEphemeralSetTransform(DMLabel label,DMPlexTransform tr)45 PetscErrorCode DMLabelEphemeralSetTransform(DMLabel label, DMPlexTransform tr)
46 {
47 PetscFunctionBegin;
48 PetscCall(PetscObjectCompose((PetscObject)label, "__transform__", (PetscObject)tr));
49 PetscFunctionReturn(PETSC_SUCCESS);
50 }
51