Class triangulation¶
Defined in File representation.h
Inheritance Relationships¶
Base Type¶
public ifcopenshell::geom::representation(Class representation)
Class Documentation¶
-
class triangulation : public ifcopenshell::geom::representation¶
Public Functions
-
inline const std::vector<double> &verts() const¶
-
inline const std::vector<int> &faces() const¶
-
inline const std::vector<std::vector<int>> &polyhedral_faces_without_holes() const¶
-
inline const std::vector<std::vector<std::vector<int>>> &polyhedral_faces_with_holes() const¶
-
inline const std::vector<int> &edges() const¶
-
inline const std::vector<double> &normals() const¶
-
inline const std::vector<double> &uvs() const¶
-
inline std::vector<double> &uvs_ref()¶
-
inline const std::vector<int> &material_ids() const¶
-
inline const std::vector<int> &item_ids() const¶
-
inline const std::vector<int> &edges_item_ids() const¶
-
inline triangulation(const ifcopenshell::geom::settings &settings, const std::string &entity, const std::string &id, const std::vector<double> &verts, const std::vector<int> &faces, const std::vector<int> &edges, const std::vector<double> &normals, const std::vector<double> &uvs, const std::vector<int> &material_ids, const std::vector<ifcopenshell::geom::taxonomy::style::ptr> &materials, const std::vector<int> &item_ids, const std::vector<int> &edges_item_ids)¶
-
inline virtual ~triangulation()¶
-
int addVertex(int item_index, int material_index, double X, double Y, double Z)¶
Welds vertices that belong to different faces.
-
inline void addNormal(double X, double Y, double Z)¶
-
inline void addFace(int item_id, int style, int i0, int i1, int i2)¶
-
inline void addFace(int item_id, int style, const std::vector<int> &outer_bound)¶
-
inline void addFace(int item_id, int style, const std::vector<std::vector<int>> &bounds)¶
-
inline void addEdge(int item_id, int style, int i0, int i1)¶
-
inline void registerEdge(int item_id, int i0, int i1)¶
-
void registerEdgeCount(int n1, int n2, std::map<std::pair<int, int>, int> &edgecount)¶
-
inline void resetWelds()¶
Public Static Functions
-
static std::vector<double> box_project_uvs(const std::vector<double> &vertices, const std::vector<double> &normals)¶
Generates UVs for a single mesh using box projection.
- Todo:
Very simple impl. Assumes that input vertices and normals match 1:1.
-
static inline triangulation *empty(const ifcopenshell::geom::settings &settings)¶
-
inline const std::vector<double> &verts() const¶