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 @*/ 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 @*/ 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