#ifndef PARSEIFCFILE_H #define PARSEIFCFILE_H #include #include #include #include #include "../ifcgeom_schema_agnostic/IfcGeomIterator.h" #include "osg/Material" #include "osg/MatrixTransform" #include "osg/ref_ptr" #include "osg/Geometry" class ParseIfcFile : public QObject { public: ParseIfcFile(); ~ParseIfcFile(); bool Parse( const std::string& filePath, std::vector>& matrixTransforms ); private: void buildTriangleNodes( const std::vector& fVertIds, const std::vector& elemVertices, const std::vector& elemNormals, size_t index, osg::ref_ptr osgVertices, osg::ref_ptr osgNormals); osg::ref_ptr getOsgMaterial(const IfcGeom::Material& material); }; #endif // PARSEIFCFILE_H