About
A GeMarker object contains an unique ID. It is used to identify BaseList2D based objects.
- Warning
- These markers change when the source object is copied or when the document is re-loaded.
Access
- BaseList2D::GetMarker(): Returns the element's marker.
- BaseList2D::SetMarker(): Sets the element's marker.
const String objectName = object->GetName();
const GeMarker& marker = object->GetMarker();
const BaseObject*
const foundObject =
doc->SearchObject(objectName);
if (foundObject != nullptr)
{
const GeMarker& foundObjectMarker = foundObject->GetMarker();
if (foundObjectMarker.Compare(marker) == 0)
else
}
#define ApplicationOutput(formatString,...)
Definition: debugdiagnostics.h:204
const char * doc
Definition: pyerrors.h:226
The marker of a copy is different than the marker of the original object:
const GeMarker& originalMarker = object->GetMarker();
BaseObject* const clone = static_cast<BaseObject*>(atomClone);
if (clone == nullptr)
doc->InsertObject(clone,
nullptr,
nullptr);
const GeMarker& cloneMarker = clone->GetMarker();
if (cloneMarker.IsEqual(originalMarker) == false)
NONE
Definition: asset_browser.h:1
#define MAXON_SOURCE_LOCATION
Definition: memoryallocationbase.h:69
See also BaseList2D Marker.
Allocation/Deallocation
GeMarker objects can be created with the usual tools:
- GeMarker::Alloc(): Creates a new GeMarker.
- GeMarker::Free(): Deletes the given GeMarker.
AutoAlloc<GeMarker> markerA;
AutoAlloc<GeMarker> markerB;
const Bool invalidMarkerA = markerA ==
nullptr;
const Bool invalidMarkerB = markerB ==
nullptr;
if (invalidMarkerA || invalidMarkerB)
if (markerA->IsEqual(*markerB) == false)
maxon::Bool Bool
Definition: ge_sys_math.h:46
Functionality
GeMarker objects can be handled with:
- GeMarker::IsPopulated(): Returns true if the GeMarker has been set.
- GeMarker::IsEqual(): Returns true if the given GeMarker is equal.
- GeMarker::Compare(): Compares the GeMarker and returns their relationship.
- GeMarker::Set(): Sets the GeMarker to the value of the given GeMarker.
- GeMarker::GetMemory(): Retrieves the internally stored data. Typically used to calculate a unique hash value based on that internal data.
if (activeDocument == nullptr)
while (document != nullptr)
{
const GeMarker& docMarker = document->GetMarker();
const GeMarker& activeDocMarker = activeDocument->GetMarker();
if (docMarker.IsEqual(activeDocMarker))
{
}
else
{
}
document = document->GetNext();
}
BaseDocument * GetActiveDocument()
BaseDocument * GetFirstDocument()
Read and Write
GeMarker objects can be stored in a HyperFile.
- GeMarker::Read(): Reads the GeMarker from the given HyperFile.
- GeMarker::Write(): Stores the GeMarker in the given HyperFile.
Further Reading