SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Public Member Functions | Protected Attributes | List of all members
smtk::operation::MarkGeometry Class Reference

Succinctly indicate components/resources whose geometry has changed. More...

#include <MarkGeometry.h>

Collaboration diagram for smtk::operation::MarkGeometry:
[legend]

Public Member Functions

 smtkTypeMacroBase (smtk::operation::MarkGeometry)
 
 MarkGeometry ()=default
 Construct a MarkGeometry that must take in persistent objects (not UUIDs) in order to mark geometric changes.
 
 MarkGeometry (const smtk::geometry::ResourcePtr &)
 Construct a MarkGeometry that only and always uses the geometry providers owned by the given resource to mark geometric changes. More...
 
void markModified (const smtk::resource::PersistentObjectPtr &object)
 Mark a single persistent object's geometry as having been modified (across all backends).
 
void erase (const smtk::resource::PersistentObjectPtr &object)
 Mark a single persistent object's geometry as having been erased (across all backends).
 
void erase (const smtk::common::UUID &objectId)
 
void markModified (const smtk::attribute::ReferenceItemPtr &item)
 Mark all components referenced by the item as having their geometry modified (across all backends).
 
void erase (const smtk::attribute::ReferenceItemPtr &item)
 Mark all components referenced by the item as having their geometry erased (across all backends).
 
void markResult (const smtk::operation::Operation::Result &result)
 Mark all created/modified/expunged components as having their geometry modified or deleted (across all backends).
 

Protected Attributes

smtk::geometry::ResourcePtr m_resource
 

Detailed Description

Succinctly indicate components/resources whose geometry has changed.

This class can be used to mark which components and resources have renderable geometry or when that geometry has been modified.

Operations that do not affect renderable geometry should not need to use this class. Operations that modify the geometry of every object reported in the result can simply use the markResult() method. Operations that affect the geometry of some subset of created/modified/expunged components can use other methods on those components individually. This makes it easy for operations to trigger minimal rendering-backend updates.

Constructor & Destructor Documentation

◆ MarkGeometry()

smtk::operation::MarkGeometry::MarkGeometry ( const smtk::geometry::ResourcePtr resource)

Construct a MarkGeometry that only and always uses the geometry providers owned by the given resource to mark geometric changes.

Prefer this constructor when all objects are owned by a single resource. Do not use this constructor otherwise.


The documentation for this class was generated from the following files: