TM2IN  0.5.1
Public Member Functions | List of all members
TM2IN::Wall::Polygon Class Reference

Surface with planar edges and vertices. More...

#include <Polygon.h>

Inheritance diagram for TM2IN::Wall::Polygon:
Inheritance graph
[legend]

Public Member Functions

 Polygon (Surface *)
 
bool is_valid_polygon ()
 Checks this polygon is valid. More...
 
bool updateNormal () override
 Updates normal vector. More...
 
- Public Member Functions inherited from TM2IN::Wall::Surface
ull getVerticesSize ()
 Gets the size of Vertex list. More...
 
virtual void setVertex (int index, Vertex *vt)
 Set specific Vertex with index. More...
 
virtual Vertexvertex (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...
 
HalfEdgeexterior_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...
 
- Public Member Functions inherited from TM2IN::IndoorComponent
 IndoorComponent ()
 
double getArea ()
 Returns area. More...
 
void setArea (double _area)
 Sets area. More...
 
MinimumBoundingBoxgetMBB ()
 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 Public Member Functions inherited from TM2IN::Wall::Surface
static bool compareLength (Surface *i, Surface *j)
 Compares with Surface length. More...
 
- Public Attributes inherited from TM2IN::Wall::Surface
Vector_3 normal = CGAL::NULL_VECTOR
 
- Public Attributes inherited from TM2IN::IndoorComponent
std::string geom_id
 
- Protected Member Functions inherited from TM2IN::Wall::Surface
 Surface ()
 Empty Surface constructor. More...
 
- Protected Attributes inherited from TM2IN::Wall::Surface
std::vector< HalfEdge * > innerEdges
 
std::vector< HalfEdge * > exteriorBoundary
 
std::vector< Triangle * > triangulation
 
- Protected Attributes inherited from TM2IN::IndoorComponent
MinimumBoundingBoxmbb
 
TM2IN::IND_TYPE type
 
double area = 0.0
 

Detailed Description

Surface with planar edges and vertices.

Constructor & Destructor Documentation

TM2IN::Wall::Polygon::Polygon ( Surface pSurface)

Member Function Documentation

bool TM2IN::Wall::Polygon::is_valid_polygon ( )

Checks this polygon is valid.

Todo:
imp
bool TM2IN::Wall::Polygon::updateNormal ( )
overridevirtual

Updates normal vector.

Implements TM2IN::Wall::Surface.


The documentation for this class was generated from the following files: