19f6c5813SMatthew G. Knepley #include <petsc/private/dmlabelimpl.h> /*I "petscdmlabelephemeral.h" I*/
29f6c5813SMatthew G. Knepley #include <petscdmlabelephemeral.h> /*I "petscdmplextransform.h" I*/
39f6c5813SMatthew G. Knepley
49f6c5813SMatthew G. Knepley /*@
59f6c5813SMatthew G. Knepley DMLabelEphemeralGetTransform - Get the transform for this ephemeral label
69f6c5813SMatthew G. Knepley
720f4b53cSBarry Smith Not Collective
89f6c5813SMatthew G. Knepley
99f6c5813SMatthew G. Knepley Input Parameter:
1020f4b53cSBarry Smith . label - the `DMLabel`
119f6c5813SMatthew G. Knepley
12*aaa8cc7dSPierre Jolivet Output Parameter:
139f6c5813SMatthew G. Knepley . tr - the transform for this ephemeral label
149f6c5813SMatthew G. Knepley
1520f4b53cSBarry Smith Level: intermediate
1620f4b53cSBarry Smith
179f6c5813SMatthew G. Knepley Note:
189f6c5813SMatthew G. Knepley Ephemeral labels are produced automatically from a base label and a `DMPlexTransform`.
199f6c5813SMatthew G. Knepley
209f6c5813SMatthew G. Knepley .seealso: `DMLabelEphemeralSetTransform()`, `DMLabelEphemeralGetLabel()`, `DMLabelSetType()`
219f6c5813SMatthew G. Knepley @*/
DMLabelEphemeralGetTransform(DMLabel label,DMPlexTransform * tr)229f6c5813SMatthew G. Knepley PetscErrorCode DMLabelEphemeralGetTransform(DMLabel label, DMPlexTransform *tr)
239f6c5813SMatthew G. Knepley {
249f6c5813SMatthew G. Knepley PetscFunctionBegin;
259f6c5813SMatthew G. Knepley PetscCall(PetscObjectQuery((PetscObject)label, "__transform__", (PetscObject *)tr));
263ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS);
279f6c5813SMatthew G. Knepley }
289f6c5813SMatthew G. Knepley
299f6c5813SMatthew G. Knepley /*@
309f6c5813SMatthew G. Knepley DMLabelEphemeralSetTransform - Set the transform for this ephemeral label
319f6c5813SMatthew G. Knepley
3220f4b53cSBarry Smith Not Collective
339f6c5813SMatthew G. Knepley
349f6c5813SMatthew G. Knepley Input Parameters:
3520f4b53cSBarry Smith + label - the `DMLabel`
369f6c5813SMatthew G. Knepley - tr - the transform for this ephemeral label
379f6c5813SMatthew G. Knepley
3820f4b53cSBarry Smith Level: intermediate
3920f4b53cSBarry Smith
409f6c5813SMatthew G. Knepley Note:
419f6c5813SMatthew G. Knepley Ephemeral labels are produced automatically from a base label and a `DMPlexTransform`.
429f6c5813SMatthew G. Knepley
439f6c5813SMatthew G. Knepley .seealso: `DMLabelEphemeralGetTransform()`, `DMLabelEphemeralSetLabel()`, `DMLabelSetType()`
449f6c5813SMatthew G. Knepley @*/
DMLabelEphemeralSetTransform(DMLabel label,DMPlexTransform tr)459f6c5813SMatthew G. Knepley PetscErrorCode DMLabelEphemeralSetTransform(DMLabel label, DMPlexTransform tr)
469f6c5813SMatthew G. Knepley {
479f6c5813SMatthew G. Knepley PetscFunctionBegin;
489f6c5813SMatthew G. Knepley PetscCall(PetscObjectCompose((PetscObject)label, "__transform__", (PetscObject)tr));
493ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS);
509f6c5813SMatthew G. Knepley }
51