DuplicateVisitor duplicates the graph rooted at node where the traversal began.
If the kGenerateNodeIds option is specified, the duplicate will get a new id based on the original's id and a generated copy id.
#include <DuplicateVisitor.h>
Public Types |
|
enum |
Option { kNothing = 0, kMatrix = 1 << 0, kVisibility = 1 << 1, kDeleted = 1 << 2, kPreloadOption = 1 << 3, kGeometryData = 1 << 4, kRelationships = 1 << 5, kGenerateNodeIds = 1 << 6, kLoadOption = 1 << 7, kObjectProperties = 1 << 8, kMaterialAssignment = 1 << 9, kOriginalData = 1 << 10, kRemoveShadowObjectProperties = 1 << 12, kDuplicateAllNodeProperties, kDuplicateSettings } |
Public Member Functions |
|
DuplicateVisitor (int options) | |
int | getOptions () const |
int | getDuplicatedNodeCount () const |
void | setTraverseChildren (bool traverse) |
void | setIsMirroring (bool isMirroring) |
bool | getIsMirroring () const |
virtual void | apply (Node &node) |
virtual void | apply (Group &node) |
virtual void | apply (LodCollapse &node) |
virtual void | apply (LodGroup &node) |
virtual void | apply (Import &node) |
virtual void | apply (Geometry &node) |
virtual void | apply (ImageGeometry &node) |
virtual void | apply (MeshGeometry &node) |
virtual void | apply (RpcGeometry &node) |
virtual void | apply (TextGeometry &node) |
virtual void | apply (LineGeometry &node) |
virtual void | apply (DecalLocator &node) |
virtual void | apply (Light &node) |
NodeRef | getDuplicate (NodeRef node) |
Protected Member Functions |
|
virtual | ~DuplicateVisitor () |
virtual awSupport::Id | generateNodeId (const Node &node) |
virtual void | assignNodeId (Node &duplicate, awSupport::Id &newId) |
virtual bool | skip (const Node &node) |
virtual void | onDuplicated (Node &original, Node &duplicate) |
enum Option |
{ kNothing = 0 , kMatrix = 1 << 0 , kVisibility = 1 << 1 , kDeleted = 1 << 2 , kPreloadOption = 1 << 3 , kGeometryData = 1 << 4 , kRelationships = 1 << 5 , kGenerateNodeIds = 1 << 6 , kLoadOption = 1 << 7 , kObjectProperties = 1 << 8 , kMaterialAssignment = 1 << 9 , kOriginalData = 1 << 10 , kRemoveShadowObjectProperties = 1 << 12 , kDuplicateAllNodeProperties = kMatrix | kVisibility | kDeleted | kPreloadOption | kGeometryData | kLoadOption | kObjectProperties | kMaterialAssignment | kOriginalData , kDuplicateSettings = kDuplicateAllNodeProperties & ~kGeometryData | kRelationships | kGenerateNodeIds | kRemoveShadowObjectProperties };
DuplicateVisitor | ( | int | options | ) |
virtual ~DuplicateVisitor | ( | ) | [protected, virtual] |
int getOptions | ( | ) | const |
int getDuplicatedNodeCount | ( | ) | const |
void setTraverseChildren | ( | bool | traverse | ) |
void setIsMirroring | ( | bool | isMirroring | ) |
bool getIsMirroring | ( | ) | const |
virtual void apply | ( | Node & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | Group & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | LodCollapse & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | LodGroup & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | Import & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | Geometry & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | ImageGeometry & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | MeshGeometry & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | RpcGeometry & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | TextGeometry & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | LineGeometry & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | DecalLocator & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual void apply | ( | Light & | node | ) | [virtual] |
Reimplemented from NodeVisitor.
virtual awSupport::Id generateNodeId | ( | const Node & | node | ) | [protected, virtual] |
Reimplemented in DuplicateModelVisitor, and DuplicateSubgraphVisitor.
virtual void assignNodeId | ( | Node & | duplicate, |
awSupport::Id & | newId | ||
) | [protected, virtual] |
virtual bool skip | ( | const Node & | node | ) | [protected, virtual] |