Files
IfcOpenShell/src/qtviewer/ParseIfcFile.h
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

38 lines
920 B
C++
Raw Normal View History

#ifndef PARSEIFCFILE_H
#define PARSEIFCFILE_H
2024-09-24 11:58:57 -07:00
#include "../ifcgeom/Iterator.h"
#include "osg/Geometry"
#include "osg/Material"
#include "osg/MatrixTransform"
#include "osg/ref_ptr"
2023-08-29 09:48:27 +05:30
#include <QObject>
#include <QString>
#include <string>
#include <vector>
2024-09-24 11:58:57 -07:00
class ParseIfcFile : public QObject {
2024-09-24 11:58:57 -07:00
public:
ParseIfcFile();
~ParseIfcFile();
bool Parse(
const std::string& filePath,
2024-09-24 11:58:57 -07:00
std::vector<osg::ref_ptr<osg::MatrixTransform>>& matrixTransforms);
2024-09-24 11:58:57 -07:00
private:
void buildTriangleNodes(
const std::vector<int>& fVertIds,
2024-09-24 11:58:57 -07:00
const std::vector<double>& elemVertices,
const std::vector<double>& elemNormals,
size_t index,
osg::ref_ptr<osg::Vec3Array> osgVertices,
osg::ref_ptr<osg::Vec3Array> osgNormals);
2024-09-24 11:58:57 -07:00
osg::ref_ptr<osg::Material> getOsgMaterial(const ifcopenshell::geometry::taxonomy::style::ptr& material);
};
#endif // PARSEIFCFILE_H