|
Developer Documentation
|
#include <OpenMesh/Mesh/TriMeshT.hh>
Public Types | |
| typedef TriMeshT< Kernel > | This |
| typedef PolyMeshT< Kernel > | PolyMesh |
| typedef PolyMesh::Scalar | Scalar |
| typedef PolyMesh::Point | Point |
| typedef PolyMesh::Normal | Normal |
| typedef PolyMesh::Color | Color |
| typedef PolyMesh::TexCoord1D | TexCoord1D |
| typedef PolyMesh::TexCoord2D | TexCoord2D |
| typedef PolyMesh::TexCoord3D | TexCoord3D |
| typedef PolyMesh::Vertex | Vertex |
| typedef PolyMesh::Halfedge | Halfedge |
| typedef PolyMesh::Edge | Edge |
| typedef PolyMesh::Face | Face |
| typedef PolyMesh::VertexHandle | VertexHandle |
| typedef PolyMesh::HalfedgeHandle | HalfedgeHandle |
| typedef PolyMesh::EdgeHandle | EdgeHandle |
| typedef PolyMesh::FaceHandle | FaceHandle |
| typedef PolyMesh::VertexIter | VertexIter |
| typedef PolyMesh::ConstVertexIter | ConstVertexIter |
| typedef PolyMesh::EdgeIter | EdgeIter |
| typedef PolyMesh::ConstEdgeIter | ConstEdgeIter |
| typedef PolyMesh::FaceIter | FaceIter |
| typedef PolyMesh::ConstFaceIter | ConstFaceIter |
| typedef PolyMesh::VertexVertexIter | VertexVertexIter |
|
typedef PolyMesh::VertexOHalfedgeIter | VertexOHalfedgeIter |
|
typedef PolyMesh::VertexIHalfedgeIter | VertexIHalfedgeIter |
| typedef PolyMesh::VertexEdgeIter | VertexEdgeIter |
| typedef PolyMesh::VertexFaceIter | VertexFaceIter |
| typedef PolyMesh::FaceVertexIter | FaceVertexIter |
| typedef PolyMesh::FaceHalfedgeIter | FaceHalfedgeIter |
| typedef PolyMesh::FaceEdgeIter | FaceEdgeIter |
| typedef PolyMesh::FaceFaceIter | FaceFaceIter |
|
typedef PolyMesh::ConstVertexVertexIter | ConstVertexVertexIter |
|
typedef PolyMesh::ConstVertexOHalfedgeIter | ConstVertexOHalfedgeIter |
|
typedef PolyMesh::ConstVertexIHalfedgeIter | ConstVertexIHalfedgeIter |
|
typedef PolyMesh::ConstVertexEdgeIter | ConstVertexEdgeIter |
|
typedef PolyMesh::ConstVertexFaceIter | ConstVertexFaceIter |
|
typedef PolyMesh::ConstFaceVertexIter | ConstFaceVertexIter |
|
typedef PolyMesh::ConstFaceHalfedgeIter | ConstFaceHalfedgeIter |
| typedef PolyMesh::ConstFaceEdgeIter | ConstFaceEdgeIter |
| typedef PolyMesh::ConstFaceFaceIter | ConstFaceFaceIter |
Public Types inherited from OpenMesh::PolyMeshT< Kernel > | |
| typedef PolyMeshT< Kernel > | This |
| Self type. Used to specify iterators/circulators. | |
| typedef Kernel::VertexHandle | VertexHandle |
| Handle for referencing the corresponding item. | |
| typedef Kernel::HalfedgeHandle | HalfedgeHandle |
| typedef Kernel::EdgeHandle | EdgeHandle |
| typedef Kernel::FaceHandle | FaceHandle |
| typedef Kernel::VertexIter | VertexIter |
| typedef Kernel::HalfedgeIter | HalfedgeIter |
| typedef Kernel::EdgeIter | EdgeIter |
| typedef Kernel::FaceIter | FaceIter |
| typedef Kernel::ConstVertexIter | ConstVertexIter |
| typedef Kernel::ConstHalfedgeIter | ConstHalfedgeIter |
| typedef Kernel::ConstEdgeIter | ConstEdgeIter |
| typedef Kernel::ConstFaceIter | ConstFaceIter |
| typedef Kernel::Scalar | Scalar |
| Scalar type. | |
| typedef Kernel::Point | Point |
| Coordinate type. | |
| typedef Kernel::Normal | Normal |
| Normal type. | |
| typedef Kernel::Color | Color |
| Color type. | |
| typedef Kernel::TexCoord1D | TexCoord1D |
| TexCoord1D type. | |
| typedef Kernel::TexCoord2D | TexCoord2D |
| TexCoord2D type. | |
| typedef Kernel::TexCoord3D | TexCoord3D |
| TexCoord3D type. | |
| typedef Kernel::Vertex | Vertex |
| Vertex type. | |
| typedef Kernel::Halfedge | Halfedge |
| Halfedge type. | |
| typedef Kernel::Edge | Edge |
| Edge type. | |
| typedef Kernel::Face | Face |
| Face type. | |
| typedef Kernel::VertexVertexIter | VertexVertexIter |
| Circulator. | |
| typedef Kernel::VertexOHalfedgeIter | VertexOHalfedgeIter |
| Circulator. | |
| typedef Kernel::VertexIHalfedgeIter | VertexIHalfedgeIter |
| Circulator. | |
| typedef Kernel::VertexEdgeIter | VertexEdgeIter |
| Circulator. | |
| typedef Kernel::VertexFaceIter | VertexFaceIter |
| Circulator. | |
| typedef Kernel::FaceVertexIter | FaceVertexIter |
| Circulator. | |
| typedef Kernel::FaceHalfedgeIter | FaceHalfedgeIter |
| Circulator. | |
| typedef Kernel::FaceEdgeIter | FaceEdgeIter |
| Circulator. | |
| typedef Kernel::FaceFaceIter | FaceFaceIter |
| Circulator. | |
|
typedef Kernel::ConstVertexVertexIter | ConstVertexVertexIter |
| Circulator. | |
|
typedef Kernel::ConstVertexOHalfedgeIter | ConstVertexOHalfedgeIter |
| Circulator. | |
|
typedef Kernel::ConstVertexIHalfedgeIter | ConstVertexIHalfedgeIter |
| Circulator. | |
| typedef Kernel::ConstVertexEdgeIter | ConstVertexEdgeIter |
| Circulator. | |
| typedef Kernel::ConstVertexFaceIter | ConstVertexFaceIter |
| Circulator. | |
| typedef Kernel::ConstFaceVertexIter | ConstFaceVertexIter |
| Circulator. | |
|
typedef Kernel::ConstFaceHalfedgeIter | ConstFaceHalfedgeIter |
| Circulator. | |
| typedef Kernel::ConstFaceEdgeIter | ConstFaceEdgeIter |
| Circulator. | |
| typedef Kernel::ConstFaceFaceIter | ConstFaceFaceIter |
| Circulator. | |
| enum | { IsPolyMesh = 1 } |
| Determine whether this is a PolyMeshT or TriMeshT ( This function does not check the per face vertex count! It only checks if the datatype is PolyMeshT or TriMeshT ) | |
| enum | { IsTriMesh = 0 } |
| Determine whether this is a PolyMeshT or TriMeshT ( This function does not check the per face vertex count! It only checks if the datatype is PolyMeshT or TriMeshT ) | |
Public Member Functions | |
| TriMeshT () | |
| Default constructor. | |
| virtual | ~TriMeshT () |
| Destructor. | |
| HalfedgeHandle | vertex_split (Point _v0_point, VertexHandle _v1, VertexHandle _vl, VertexHandle _vr) |
| Vertex Split: inverse operation to collapse(). | |
| HalfedgeHandle | vertex_split (VertexHandle _v0, VertexHandle _v1, VertexHandle _vl, VertexHandle _vr) |
| VertexHandle | split (EdgeHandle _eh, const Point &_p) |
| void | split (EdgeHandle _eh, VertexHandle _vh) |
| void | split (FaceHandle _fh, const Point &_p) |
| Face split (= 1-to-3 split, calls corresponding PolyMeshT function). | |
| void | split (FaceHandle _fh, VertexHandle _vh) |
Normal vector computation | |
| Normal | calc_face_normal (FaceHandle _fh) const |
Public Member Functions inherited from OpenMesh::PolyMeshT< Kernel > | |
| VertexHandle | new_vertex () |
| VertexHandle | new_vertex (const Point &_p) |
| VertexHandle | add_vertex (const Point &_p) |
| void | calc_edge_vector (EdgeHandle _eh, Normal &_edge_vec) const |
| void | calc_edge_vector (HalfedgeHandle _heh, Normal &_edge_vec) const |
| Scalar | calc_edge_length (EdgeHandle _eh) const |
| Scalar | calc_edge_length (HalfedgeHandle _heh) const |
| Scalar | calc_edge_sqr_length (EdgeHandle _eh) const |
| Scalar | calc_edge_sqr_length (HalfedgeHandle _heh) const |
| void | calc_sector_vectors (HalfedgeHandle _in_heh, Normal &_vec0, Normal &_vec1) const |
| Scalar | calc_sector_angle (HalfedgeHandle _in_heh) const |
| void | calc_sector_normal (HalfedgeHandle _in_heh, Normal &_sector_normal) const |
| Scalar | calc_sector_area (HalfedgeHandle _in_heh) const |
| Scalar | calc_dihedral_angle_fast (HalfedgeHandle _heh) const |
| Scalar | calc_dihedral_angle_fast (EdgeHandle _eh) const |
| Scalar | calc_dihedral_angle (HalfedgeHandle _heh) const |
| Scalar | calc_dihedral_angle (EdgeHandle _eh) const |
| uint | find_feature_edges (Scalar _angle_tresh=OpenMesh::deg_to_rad(44.0)) |
| void | update_normals () |
| Compute normals for all primitives. | |
| void | update_normal (FaceHandle _fh) |
| Update normal for face _fh. | |
| void | update_face_normals () |
| Update normal vectors for all faces. | |
| Normal | calc_face_normal (const Point &_p0, const Point &_p1, const Point &_p2) const |
| void | calc_face_centroid (FaceHandle _fh, Point &_pt) const |
| calculates the average of the vertices defining _fh | |
| void | update_normal (HalfedgeHandle _heh, const double _feature_angle=0.8) |
| Update normal for halfedge _heh. | |
| void | update_halfedge_normals (const double _feature_angle=0.8) |
| Update normal vectors for all halfedges. | |
| virtual Normal | calc_halfedge_normal (HalfedgeHandle _heh, const double _feature_angle=0.8) const |
| Calculate halfedge normal for one specific halfedge. | |
| bool | is_estimated_feature_edge (HalfedgeHandle _heh, const double _feature_angle) const |
| void | update_normal (VertexHandle _vh) |
| Update normal for vertex _vh. | |
| void | update_vertex_normals () |
| Update normal vectors for all vertices. | |
| Normal | calc_vertex_normal (VertexHandle _vh) const |
| Calculate vertex normal for one specific vertex. | |
| void | calc_vertex_normal_fast (VertexHandle _vh, Normal &_n) const |
| void | calc_vertex_normal_correct (VertexHandle _vh, Normal &_n) const |
| Compute normals for all primitives. | |
| void | calc_vertex_normal_loop (VertexHandle _vh, Normal &_n) const |
| Compute normals for all primitives. | |
| enum | { IsPolyMesh = 0 } |
| Determine whether this is a PolyMeshT or TriMeshT ( This function does not check the per face vertex count! It only checks if the datatype is PolyMeshT or TriMeshT ) | |
| enum | { IsTriMesh = 1 } |
| Determine whether this is a PolyMeshT or TriMeshT ( This function does not check the per face vertex count! It only checks if the datatype is PolyMeshT or TriMeshT ) | |
| static bool | is_polymesh () |
| Determine whether this is a PolyMeshT or TriMeshT ( This function does not check the per face vertex count! It only checks if the datatype is PolyMeshT or TriMeshT ) | |
| static bool | is_trimesh () |
| Determine whether this is a PolyMeshT or TriMeshT ( This function does not check the per face vertex count! It only checks if the datatype is PolyMeshT or TriMeshT ) | |
Additional Inherited Members | |
Static Public Member Functions inherited from OpenMesh::PolyMeshT< Kernel > |
Base type for a triangle mesh.
Base type for a triangle mesh, parameterized by a mesh kernel. The mesh inherits all methods from the kernel class and the more general polygonal mesh PolyMeshT. Therefore it provides the same types for items, handles, iterators and so on.
| Kernel,: | template argument for the mesh kernel |
Definition at line 88 of file TriMeshT.hh.
|
virtual |
Calculate normal vector for face _fh (specialized for TriMesh).
Reimplemented from OpenMesh::PolyMeshT< Kernel >.
Definition at line 72 of file TriMeshT.cc.
|
inline |
Edge split (= 2-to-4 split) Do not call PolyMeshT function below as this does the wrong operation
Reimplemented from OpenMesh::PolyMeshT< Kernel >.
Definition at line 181 of file TriMeshT.hh.