DuplicateVisitor Class Reference


Detailed Description

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>

Inheritance diagram for DuplicateVisitor:
Inheritance graph
[legend]

List of all members.

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)

Member Enumeration Documentation


Constructor & Destructor Documentation

DuplicateVisitor ( int  options )
virtual ~DuplicateVisitor ( ) [protected, virtual]

Member Function Documentation

int getOptions ( ) const
int getDuplicatedNodeCount ( ) const
void setTraverseChildren ( bool  traverse )
void setIsMirroring ( bool  isMirroring )
bool getIsMirroring ( ) const
virtual void apply ( Node node ) [virtual]
virtual void apply ( Group node ) [virtual]
virtual void apply ( LodCollapse node ) [virtual]
virtual void apply ( LodGroup node ) [virtual]
virtual void apply ( Import node ) [virtual]
virtual void apply ( Geometry node ) [virtual]
virtual void apply ( ImageGeometry node ) [virtual]
virtual void apply ( MeshGeometry node ) [virtual]
virtual void apply ( RpcGeometry node ) [virtual]
virtual void apply ( TextGeometry node ) [virtual]
virtual void apply ( LineGeometry node ) [virtual]
virtual void apply ( DecalLocator node ) [virtual]
virtual void apply ( Light node ) [virtual]
NodeRef getDuplicate ( NodeRef  node )
virtual awSupport::Id generateNodeId ( const Node node ) [protected, virtual]
virtual void assignNodeId ( Node duplicate,
awSupport::Id newId 
) [protected, virtual]
virtual bool skip ( const Node node ) [protected, virtual]
virtual void onDuplicated ( Node original,
Node duplicate 
) [protected, virtual]

DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor
DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor DuplicateVisitor