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