Hide menu
Loading...
Searching...
No Matches
cadex::ModelData_Model::ElementVisitor Class Referenceabstract

Defines a visitor of the scene graph elements. More...

#include <cadex/ModelData_Model.hxx>

Inheritance diagram for cadex::ModelData_Model::ElementVisitor:
cadex::ModelData_Model::CombinedElementVisitor cadex::ModelData_Model::VoidElementVisitor cadex::ModelData_SceneGraphElementUniqueVisitor

Public Member Functions

virtual void operator() (const ModelData_Part &thePart)=0
 
virtual bool VisitEnter (const ModelData_Assembly &theAssembly)=0
 
virtual void VisitLeave (const ModelData_Assembly &theAssembly)=0
 
virtual bool VisitEnter (const ModelData_Instance &theInstance)=0
 
virtual void VisitLeave (const ModelData_Instance &theInstance)=0
 

Detailed Description

Defines a visitor of the scene graph elements.

The Visitor follows a hierarchical visitor pattern (see http://c2.com/cgi/wiki?HierarchicalVisitorPattern) what enables to track entering and leaving composite entities - assemblies and instances.

Methods VisitEnter() returns true if the child elements of the assembly or a referred element of the instance should be visited. If the method returns false then they will not be visited. The method VisitLeave() will always be called.

Examples
exploring/bom/main.cxx, and exploring/pmi/main.cxx.

Member Function Documentation

◆ operator()()

virtual void cadex::ModelData_Model::ElementVisitor::operator() ( const ModelData_Part thePart)
pure virtual

◆ VisitEnter() [1/2]

virtual bool cadex::ModelData_Model::ElementVisitor::VisitEnter ( const ModelData_Assembly theAssembly)
pure virtual

◆ VisitEnter() [2/2]

virtual bool cadex::ModelData_Model::ElementVisitor::VisitEnter ( const ModelData_Instance theInstance)
pure virtual

◆ VisitLeave() [1/2]

virtual void cadex::ModelData_Model::ElementVisitor::VisitLeave ( const ModelData_Assembly theAssembly)
pure virtual

◆ VisitLeave() [2/2]

virtual void cadex::ModelData_Model::ElementVisitor::VisitLeave ( const ModelData_Instance theInstance)
pure virtual