TM2IN
0.5.1
|
#include <Surface.h>
Public Member Functions | |
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... | |
virtual bool | updateNormal ()=0 |
Updates normal vector. 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... | |
Static Public Member Functions | |
static bool | compareLength (Surface *i, Surface *j) |
Compares with Surface length. More... | |
Public Attributes | |
Vector_3 | normal = CGAL::NULL_VECTOR |
![]() | |
std::string | geom_id |
Protected Member Functions | |
Surface () | |
Empty Surface constructor. More... | |
Protected Attributes | |
std::vector< HalfEdge * > | innerEdges |
std::vector< HalfEdge * > | exteriorBoundary |
std::vector< Triangle * > | triangulation |
![]() | |
MinimumBoundingBox * | mbb |
TM2IN::IND_TYPE | type |
double | area = 0.0 |
Friends | |
std::ostream & | operator<< (std::ostream &ou, Surface *pSurface) |
ostream operator More... | |
|
inlineprotected |
Empty Surface constructor.
|
virtual |
Generates json string.
Reimplemented from TM2IN::IndoorComponent.
Compares with Surface length.
HalfEdge * TM2IN::Wall::Surface::exterior_boundary_edge | ( | int | i | ) |
Returns the i-th edge.
std::vector< HalfEdge * > TM2IN::Wall::Surface::getExteriorBoundary | ( | ) |
Gets a exterior boundary.
Vector_3 TM2IN::Wall::Surface::getNormal | ( | ) |
Gets normal vector.
Gets the number of edges between start index and end index.
std::vector< Wall::Triangle * > TM2IN::Wall::Surface::getTriangulation | ( | ) |
Triangulate Surface.
bool TM2IN::Wall::Surface::has_duplicate_vertex | ( | ) |
Checks Surface has duplicate vertex.
int TM2IN::Wall::Surface::index_of_exterior_boundary_edge | ( | HalfEdge * | pEdge | ) |
Returns the index of pEdge.
void TM2IN::Wall::Surface::insertVertex | ( | int | index, |
Vertex * | vt | ||
) |
bool TM2IN::Wall::Surface::is_simple | ( | ) |
Checks Surface is simple.
bool TM2IN::Wall::Surface::isOpposite | ( | Surface * | sf | ) |
void TM2IN::Wall::Surface::setExteriorBoundary | ( | std::vector< HalfEdge * > | edges | ) |
Sets a exterior boundary with a vector of HalfEdge.
|
inline |
Set normal vector.
|
virtual |
Set specific Vertex with index.
|
virtual |
Updates MinimumBoundingBox.
Reimplemented from TM2IN::IndoorComponent.
|
pure virtual |
Updates normal vector.
Implemented in TM2IN::Wall::Triangle, TM2IN::Wall::TriangulatedSurface, and TM2IN::Wall::Polygon.
|
friend |
ostream operator
|
protected |
|
protected |
Vector_3 TM2IN::Wall::Surface::normal = CGAL::NULL_VECTOR |
|
protected |