OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
SelfIntersectionCheck.h
Go to the documentation of this file.
1#pragma once
2#include<vector>
4{
5public:
8 void clear(void);
9 void setNodes(uint32_t nTag, double CoordsX, double CoordsY, double CoordsZ);
10 void setTriangles(uint32_t faceIndex, uint32_t Tid, uint32_t node1, uint32_t node2, uint32_t node3);
11 bool IsSelfIntersecting();
12 std::vector < std::tuple<double, double, double, uint32_t, uint32_t> > TrisSelfIntersecting();
13 std::vector<std::tuple<double, double, double, uint32_t, uint32_t>> pointTriming(std::vector<std::tuple<double, double, double, uint32_t, uint32_t>> IntersectingInfo);
14
15private:
16 std::vector < std::tuple<double, double, double, uint32_t, uint32_t>> TrimmedPoints;
17 std::map<uint32_t, uint32_t> mapNodeVertex;//mapping gmsh node-Tag to cgal Vertex ID
18 std::map<uint32_t, uint32_t> mapTrianglesFaces; //mapping gmsh Triangles to cgal Face
19 std::map<uint32_t, uint32_t> mapTrianglesTags;//mapping gmsh Triangles to gmsh Faces
20};
Definition SelfIntersectionCheck.h:4
void setNodes(uint32_t nTag, double CoordsX, double CoordsY, double CoordsZ)
Definition SelfIntersectionCheck.cpp:51
std::vector< std::tuple< double, double, double, uint32_t, uint32_t > > TrisSelfIntersecting()
Definition SelfIntersectionCheck.cpp:81
bool IsSelfIntersecting()
Definition SelfIntersectionCheck.cpp:72
void clear(void)
Definition SelfIntersectionCheck.cpp:40
virtual ~SelfIntersectionCheck()
Definition SelfIntersectionCheck.cpp:35
std::vector< std::tuple< double, double, double, uint32_t, uint32_t > > pointTriming(std::vector< std::tuple< double, double, double, uint32_t, uint32_t > > IntersectingInfo)
Definition SelfIntersectionCheck.cpp:166
SelfIntersectionCheck()
Definition SelfIntersectionCheck.cpp:30
void setTriangles(uint32_t faceIndex, uint32_t Tid, uint32_t node1, uint32_t node2, uint32_t node3)
Definition SelfIntersectionCheck.cpp:58