TM2IN  0.5.1
Classes | Functions
Details

Classes

class  TM2IN::detail::algorithm::SurfaceMerger
 
class  TM2IN::detail::RoomFactory
 Input vertices and triangles and make TM2IN::Room. More...
 
class  TM2IN::detail::io::ColladaReader
 
class  TM2IN::detail::io::JsonWriter
 
class  TM2IN::detail::io::Max3DSReader
 
class  TM2IN::detail::io::Max3DSWriter
 
class  TM2IN::detail::io::TVRReader
 

Functions

bool TM2IN::detail::algorithm::merging_invalid_test (vector< HalfEdge * > new_edges, Vector_3 newNormal)
 
bool TM2IN::detail::algorithm::has_self_intersection (vector< HalfEdge * > edges)
 
int TM2IN::detail::algorithm::simplify_share_edges (Wall::TriangulatedSurface *origin, Wall::TriangulatedSurface *piece)
 
int TM2IN::detail::algorithm::isNeighbor (Wall::Surface *origin, Wall::Surface *piece)
 
int TM2IN::detail::algorithm::constructNeighborInfo (Surface *piece, Surface *origin, neighbor_info &ni)
 
int TM2IN::detail::algorithm::findStartAndEnd (vector< Vertex * > &vi, vector< Vertex * > &vj, ll middle_i, ll middle_j, ll &start_i, ll &end_i, ll &start_j, ll &end_j)
 
bool TM2IN::detail::algorithm::findShareVertex (vector< Vertex * > &vi, vector< Vertex * > &vj, ll &middle_i, ll &middle_j)
 
int TM2IN::detail::algorithm::triangulate_surface (TM2IN::Wall::Surface *sf, vector< TM2IN::Wall::Triangle * > &result)
 Triangulate Wall::Surface to a vector of Wall::Triangle. 0 is succeed. 1 is fail. More...
 
bool TM2IN::detail::cgal::has_bbox_intersect (IndoorComponent *s1, IndoorComponent *s2)
 Chekcs Bbox_3 intersects. More...
 
Plane_3 TM2IN::detail::cgal::make_PCA_plane (std::vector< Vertex * > vertices, Vector_3 normal)
 Creates PCA plane with Vertex and normal vector. More...
 
Plane_3 TM2IN::detail::cgal::make_simple_plane (Vector_3 pNormal)
 
std::vector< Point_2TM2IN::detail::cgal::project_to_plane (std::vector< Vertex * > vertexList, Plane_3 plane)
 Projects Vertex list to plane and returns a vector of Kernel::Point_2. More...
 
Polygon_2 TM2IN::detail::cgal::make_CGAL_polygon (vector< Point_2 > surface2D)
 Generates CGAL::Polygon_2. More...
 
vector< Polygon_2TM2IN::detail::cgal::convexPartition (Polygon_2 polygon)
 Partitions Polygon_2 to a vector of Polygon_2. More...
 
Kernel::Point_3 TM2IN::detail::cgal::to_CGAL_Point_3 (Vertex &vt)
 Vertex to CGAL Point_3. More...
 
Kernel::Triangle_3 TM2IN::detail::cgal::to_CGAL_Triangle_3 (Wall::Triangle &tri)
 Wall::Triangle to CGAL Triangle_3. More...
 
Segment_3 TM2IN::detail::cgal::to_CGAL_Segment_3 (HalfEdge *he)
 HalfEdge to CGAL Segment_3. More...
 
Bbox_3 TM2IN::detail::cgal::to_CGAL_bbox3 (MinimumBoundingBox &box)
 MinimumBoundingBox to CGAL Bbox_3. More...
 
double TM2IN::detail::cgal::getCosineValue (Vector_3 &nv1, Vector_3 &nv2)
 Returns cosine value. More...
 
void TM2IN::detail::HalfEdgeString::setParent (std::vector< HalfEdge * > edges, Wall::Surface *pSurface)
 Sets parents of all HalfEdge. More...
 
std::vector< Vertex * > TM2IN::detail::HalfEdgeString::getFirstVertexList (std::vector< HalfEdge * > halfEdges)
 Returns a list of the start Vertex of each edges. More...
 
void TM2IN::detail::HalfEdgeString::connectOppositeHalfEdges (std::vector< Wall::Triangle * > &triangleList)
 Build opposite edge relation in a vector of Triangle. More...
 

Detailed Description

Function Documentation

void TM2IN::detail::HalfEdgeString::connectOppositeHalfEdges ( std::vector< Wall::Triangle * > &  triangleList)

Build opposite edge relation in a vector of Triangle.

int TM2IN::detail::algorithm::constructNeighborInfo ( Surface piece,
Surface origin,
neighbor_info ni 
)
vector< Polygon_2 > TM2IN::detail::cgal::convexPartition ( Polygon_2  polygon)

Partitions Polygon_2 to a vector of Polygon_2.

bool TM2IN::detail::algorithm::findShareVertex ( vector< Vertex * > &  vi,
vector< Vertex * > &  vj,
ll middle_i,
ll middle_j 
)
int TM2IN::detail::algorithm::findStartAndEnd ( vector< Vertex * > &  vi,
vector< Vertex * > &  vj,
ll  middle_i,
ll  middle_j,
ll start_i,
ll end_i,
ll start_j,
ll end_j 
)
double TM2IN::detail::cgal::getCosineValue ( Vector_3 nv1,
Vector_3 nv2 
)

Returns cosine value.

std::vector< Vertex * > TM2IN::detail::HalfEdgeString::getFirstVertexList ( std::vector< HalfEdge * >  halfEdges)

Returns a list of the start Vertex of each edges.

bool TM2IN::detail::cgal::has_bbox_intersect ( IndoorComponent s1,
IndoorComponent s2 
)

Chekcs Bbox_3 intersects.

bool TM2IN::detail::algorithm::has_self_intersection ( vector< HalfEdge * >  edges)
int TM2IN::detail::algorithm::isNeighbor ( Wall::Surface origin,
Wall::Surface piece 
)
Polygon_2 TM2IN::detail::cgal::make_CGAL_polygon ( vector< Point_2 surface2D)

Generates CGAL::Polygon_2.

Plane_3 TM2IN::detail::cgal::make_PCA_plane ( std::vector< Vertex * >  vertices,
Vector_3  normal 
)

Creates PCA plane with Vertex and normal vector.

Plane_3 TM2IN::detail::cgal::make_simple_plane ( Vector_3  pNormal)
bool TM2IN::detail::algorithm::merging_invalid_test ( vector< HalfEdge * >  new_edges,
Vector_3  newNormal 
)
std::vector< Point_2 > TM2IN::detail::cgal::project_to_plane ( std::vector< Vertex * >  vertexList,
Plane_3  plane 
)

Projects Vertex list to plane and returns a vector of Kernel::Point_2.

void TM2IN::detail::HalfEdgeString::setParent ( std::vector< HalfEdge * >  edges,
Wall::Surface pSurface 
)

Sets parents of all HalfEdge.

int TM2IN::detail::algorithm::simplify_share_edges ( Wall::TriangulatedSurface origin,
Wall::TriangulatedSurface piece 
)

Simplification for share edges after merging

Todo:
re-factoring
Returns
0 : succeed for simplification, 1 : failure
Bbox_3 TM2IN::detail::cgal::to_CGAL_bbox3 ( MinimumBoundingBox box)

MinimumBoundingBox to CGAL Bbox_3.

Kernel::Point_3 TM2IN::detail::cgal::to_CGAL_Point_3 ( Vertex v)

Vertex to CGAL Point_3.

Segment_3 TM2IN::detail::cgal::to_CGAL_Segment_3 ( HalfEdge he)

HalfEdge to CGAL Segment_3.

Kernel::Triangle_3 TM2IN::detail::cgal::to_CGAL_Triangle_3 ( Wall::Triangle tri)

Wall::Triangle to CGAL Triangle_3.

int TM2IN::detail::algorithm::triangulate_surface ( TM2IN::Wall::Surface pSurface,
vector< TM2IN::Wall::Triangle * > &  result 
)

Triangulate Wall::Surface to a vector of Wall::Triangle. 0 is succeed. 1 is fail.