00001 #ifndef __domBrep_h__ 00002 #define __domBrep_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domCurves.h> 00009 #include <dom/domSurface_curves.h> 00010 #include <dom/domSurfaces.h> 00011 #include <dom/domSource.h> 00012 #include <dom/domVertices.h> 00013 #include <dom/domEdges.h> 00014 #include <dom/domWires.h> 00015 #include <dom/domFaces.h> 00016 #include <dom/domPcurves.h> 00017 #include <dom/domShells.h> 00018 #include <dom/domSolids.h> 00019 #include <dom/domExtra.h> 00020 class DAE; 00021 00027 class domBrep : public daeElement 00028 { 00029 public: 00030 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BREP; } 00031 static daeInt ID() { return 363; } 00032 virtual daeInt typeID() const { return ID(); } 00033 00034 protected: // Elements 00041 domCurvesRef elemCurves; 00042 domSurface_curvesRef elemSurface_curves; 00048 domSurfacesRef elemSurfaces; 00057 domSource_Array elemSource_array; 00063 domVerticesRef elemVertices; 00067 domEdgesRef elemEdges; 00071 domWiresRef elemWires; 00075 domFacesRef elemFaces; 00076 domPcurvesRef elemPcurves; 00080 domShellsRef elemShells; 00084 domSolidsRef elemSolids; 00085 domExtra_Array elemExtra_array; 00086 00087 public: //Accessors and Mutators 00092 const domCurvesRef getCurves() const { return elemCurves; } 00097 const domSurface_curvesRef getSurface_curves() const { return elemSurface_curves; } 00102 const domSurfacesRef getSurfaces() const { return elemSurfaces; } 00107 domSource_Array &getSource_array() { return elemSource_array; } 00112 const domSource_Array &getSource_array() const { return elemSource_array; } 00117 const domVerticesRef getVertices() const { return elemVertices; } 00122 const domEdgesRef getEdges() const { return elemEdges; } 00127 const domWiresRef getWires() const { return elemWires; } 00132 const domFacesRef getFaces() const { return elemFaces; } 00137 const domPcurvesRef getPcurves() const { return elemPcurves; } 00142 const domShellsRef getShells() const { return elemShells; } 00147 const domSolidsRef getSolids() const { return elemSolids; } 00152 domExtra_Array &getExtra_array() { return elemExtra_array; } 00157 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00158 protected: 00162 domBrep(DAE& dae) : daeElement(dae), elemCurves(), elemSurface_curves(), elemSurfaces(), elemSource_array(), elemVertices(), elemEdges(), elemWires(), elemFaces(), elemPcurves(), elemShells(), elemSolids(), elemExtra_array() {} 00166 virtual ~domBrep() {} 00170 virtual domBrep &operator=( const domBrep &cpy ) { (void)cpy; return *this; } 00171 00172 public: // STATIC METHODS 00177 static DLLSPEC daeElementRef create(DAE& dae); 00183 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00184 }; 00185 00186 00187 #endif