Hide menu
Loading...
Searching...
No Matches
cadex::ModelData_BIMVisitor Class Referenceabstract

Defines a BIM elements visitor. More...

Inheritance diagram for cadex::ModelData_BIMVisitor:
cadex::ModelData_BIMVoidVisitor

Public Member Functions

virtual void Visit (const ModelData_BIMBeam &theElement)=0
 
virtual void Visit (const ModelData_BIMColumn &theElement)=0
 
virtual void Visit (const ModelData_BIMDoor &theElement)=0
 
virtual void Visit (const ModelData_BIMFurniture &theElement)=0
 
virtual void Visit (const ModelData_BIMPlate &theElement)=0
 
virtual void Visit (const ModelData_BIMRailing &theElement)=0
 
virtual void Visit (const ModelData_BIMRoof &theElement)=0
 
virtual void Visit (const ModelData_BIMSlab &theElement)=0
 
virtual void Visit (const ModelData_BIMStair &theElement)=0
 
virtual void Visit (const ModelData_BIMWall &theElement)=0
 
virtual void Visit (const ModelData_BIMWindow &theElement)=0
 
virtual void Visit (const ModelData_BIMCustomGeometryElement &theElement)=0
 
virtual bool VisitEnter (const ModelData_BIMCompositeElement &theElement)=0
 
virtual void VisitLeave (const ModelData_BIMCompositeElement &theElement)=0
 
virtual bool VisitEnter (const ModelData_BIMBuilding &theElement)=0
 
virtual void VisitLeave (const ModelData_BIMBuilding &theElement)=0
 
virtual bool VisitEnter (const ModelData_BIMSite &theElement)=0
 
virtual void VisitLeave (const ModelData_BIMSite &theElement)=0
 
virtual bool VisitEnter (const ModelData_BIMStorey &theElement)=0
 
virtual void VisitLeave (const ModelData_BIMStorey &theElement)=0
 

Detailed Description

Defines a BIM elements visitor.

The Visitor follows a hierarchical visitor pattern (see http://c2.com/cgi/wiki?HierarchicalVisitorPattern) what enables to track entering and leaving composite entities - host elements (site, building, storey, space).

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

Examples
bim/exploring/Program.cs, and bim/exploring/main.cxx.