Defines a visitor that visits each unique element only once. More...
#include <cadex/ModelData/ModelElementVisitor.hxx>
Public Member Functions | |
ModelElementUniqueVisitor (ModelElementVisitor &theRef) | |
Constructor. | |
void | operator() (const Part &thePart) override |
bool | VisitEnter (const Assembly &theAssembly) override |
Enters an assembly. | |
void | VisitLeave (const Assembly &theAssembly) override |
Leaves an assembly. | |
bool | VisitEnter (const Instance &theInstance) override |
Enters an instance. | |
void | VisitLeave (const Instance &theInstance) override |
Leaves an instance. | |
Defines a visitor that visits each unique element only once.
Children of already visited assemblies or referred element of already visited instances, or already visited parts will never be visited again.
Already visited instances or assemblies will be entered with Ref() visitor VisitEnter() as well as left with VisitLeave().
Uses the associated visitor (Reference()) to really visit an element.
cadex::ModelData::ModelElementUniqueVisitor::ModelElementUniqueVisitor | ( | ModelElementVisitor & | theRef | ) |
Constructor.
theRef is a referred visitor which will be used to visit the elements.
|
overridevirtual |
Invokes operator() for the Ref() visitor if the part has not been already visited.
Implements cadex::ModelData::ModelElementVisitor.
|
overridevirtual |
Enters an assembly.
Invokes VisitEnter() for the Ref() visitor if the assembly has not been already visited. Thus children of already visited assembly won't be visited again.
Implements cadex::ModelData::ModelElementVisitor.
|
overridevirtual |
Enters an instance.
Invokes VisitEnter() for the Ref() visitor if the instance has not been already visited. Referred element of already visited instance won't be visited again.
Implements cadex::ModelData::ModelElementVisitor.
|
overridevirtual |
Leaves an assembly.
Invokes VisitLeave() of the Ref() visitor if the assembly is being visited for the first time.
Implements cadex::ModelData::ModelElementVisitor.
|
overridevirtual |
Leaves an instance.
Invokes VisitLeave() of the Ref() visitor if the instance is being visited for the first time.
Implements cadex::ModelData::ModelElementVisitor.