xref: /petsc/src/dm/label/impls/ephemeral/plex/dmlabelephplex.c (revision 80f6d96d0ce89eaa1a15cf9ca02d8013bede711a)
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