TM2IN
0.5.1
|
Wall with three edges (HalfEdge) and vertices (Vertex) More...
#include <Triangle.h>
Public Member Functions | |
Triangle (Vertex *pa, Vertex *pb, Vertex *pc) | |
Constructor with three Vertex. More... | |
Triangle (std::vector< Vertex * > &vertices) | |
Constructor with a Vertex vector. More... | |
bool | setNeighbor (Triangle *&tri) |
Sets neighbor relationship if Triangle has opposite HalfEdge. More... | |
Kernel::Triangle_3 | CGAL_triangle () |
Converts to Kernel::Triangle_3. More... | |
bool | checkNeighbor (Triangle *&tri) |
Checks the other triangle has opposite HalfEdge. More... | |
bool | isOpposite (Triangle *tri) |
Checks the other Triangle has three opposite HalfEdge. More... | |
bool | updateNormal () override |
Updates normal vector. More... | |
![]() | |
ull | getVerticesSize () |
Gets the size of Vertex list. More... | |
virtual void | setVertex (int index, Vertex *vt) |
Set specific Vertex with index. More... | |
virtual Vertex * | vertex (int index) |
Read Vertex with index. More... | |
void | insertVertex (int index, Vertex *vt) |
Insert Vertex with index. More... | |
void | setNormal (Vector_3 _normal) |
Set normal vector. More... | |
Vector_3 | getNormal () |
Gets normal vector. More... | |
std::vector< Vertex * > | getVerticesList () |
Gets a list of all Vertex. More... | |
void | setVertexList (std::vector< Vertex * > vertices) |
Sets Vertex list. More... | |
std::vector< HalfEdge * > | getExteriorBoundary () |
Gets a exterior boundary. More... | |
void | setExteriorBoundary (std::vector< HalfEdge * > edges) |
Sets a exterior boundary with a vector of HalfEdge. More... | |
HalfEdge * | exterior_boundary_edge (int i) |
Returns the i-th edge. More... | |
int | index_of_exterior_boundary_edge (HalfEdge *pEdge) |
Returns the index of pEdge. More... | |
bool | has_duplicate_vertex () |
Checks Surface has duplicate vertex. More... | |
bool | is_simple () |
Checks Surface is simple. More... | |
int | getSegmentsNumber (ll start_index, ll end_index) |
Gets the number of edges between start index and end index. More... | |
bool | isOpposite (Surface *sf) |
void | updateMBB () |
Updates MinimumBoundingBox. More... | |
std::vector< Wall::Triangle * > | getTriangulation () |
Triangulate Surface. More... | |
std::string | asJsonText () |
Generates json string. More... | |
![]() | |
IndoorComponent () | |
double | getArea () |
Returns area. More... | |
void | setArea (double _area) |
Sets area. More... | |
MinimumBoundingBox * | getMBB () |
Returns minimum bounding box. More... | |
void | setMBB (MinimumBoundingBox *_mbb) |
Sets minimum bounding box. More... | |
virtual void | mergeMBB (IndoorComponent *gm) |
Merges with the other IndoorComponent. More... | |
Additional Inherited Members | |
![]() | |
static bool | compareLength (Surface *i, Surface *j) |
Compares with Surface length. More... | |
![]() | |
Vector_3 | normal = CGAL::NULL_VECTOR |
![]() | |
std::string | geom_id |
![]() | |
Surface () | |
Empty Surface constructor. More... | |
![]() | |
std::vector< HalfEdge * > | innerEdges |
std::vector< HalfEdge * > | exteriorBoundary |
std::vector< Triangle * > | triangulation |
![]() | |
MinimumBoundingBox * | mbb |
TM2IN::IND_TYPE | type |
double | area = 0.0 |
Constructor with three Vertex.
|
inline |
Constructor with a Vertex vector.
Kernel::Triangle_3 TM2IN::Wall::Triangle::CGAL_triangle | ( | ) |
Converts to Kernel::Triangle_3.
bool TM2IN::Wall::Triangle::checkNeighbor | ( | Triangle *& | tri | ) |
Checks the other triangle has opposite HalfEdge.
bool TM2IN::Wall::Triangle::isOpposite | ( | Triangle * | tri | ) |
bool TM2IN::Wall::Triangle::setNeighbor | ( | Triangle *& | tri | ) |
|
overridevirtual |
Updates normal vector.
Implements TM2IN::Wall::Surface.