Developer Documentation

Public Member Functions | List of all members
OpenMesh::TriMesh_ArrayKernelT< Traits > Class Template Reference
Predefined Mesh Types

`#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh>`

Inheritance diagram for OpenMesh::TriMesh_ArrayKernelT< Traits >:

## Public Member Functions
template<class OtherTraits >
| TriMesh_ArrayKernelT (const PolyMesh_ArrayKernelT< OtherTraits > &t)
Public Member Functions inherited from OpenMesh::TriMeshT< Kernel >
| TriMeshT ()
| Default constructor.
| TriMeshT (PolyMesh rhs)
virtual | ~TriMeshT ()
| Destructor.
HalfedgeHandle | vertex_split (Point _v0_point, VertexHandle _v1, VertexHandle _vl, VertexHandle _vr)
| Vertex Split: inverse operation to collapse(). More...
HalfedgeHandle | vertex_split (VertexHandle _v0, VertexHandle _v1, VertexHandle _vl, VertexHandle _vr)
| Vertex Split: inverse operation to collapse(). More...
VertexHandle | split (EdgeHandle _eh, const Point &_p)
| Edge split (= 2-to-4 split) More...
VertexHandle | split_copy (EdgeHandle _eh, const Point &_p)
| Edge split (= 2-to-4 split) More...
void | split (EdgeHandle _eh, VertexHandle _vh)
| Edge split (= 2-to-4 split) More...
void | split_copy (EdgeHandle _eh, VertexHandle _vh)
| Edge split (= 2-to-4 split) More...
VertexHandle | split (FaceHandle _fh, const Point &_p)
| Face split (= 1-to-3 split, calls corresponding PolyMeshT function). More...
VertexHandle | split_copy (FaceHandle _fh, const Point &_p)
| Face split (= 1-to-3 split, calls corresponding PolyMeshT function). More...
void | split (FaceHandle _fh)
| Face split (= 1-to-4) split, splits edges at midpoints and adds 4 new faces in the interior). More...
void | split (FaceHandle _fh, VertexHandle _vh)
| Face split (= 1-to-3 split, calls corresponding PolyMeshT function). More...
void | split_copy (FaceHandle _fh, VertexHandle _vh)
| Face split (= 1-to-3 split, calls corresponding PolyMeshT function). More...
Normal | calc_face_normal (FaceHandle _fh) const
Public Member Functions inherited from OpenMesh::PolyMeshT< Kernel >
template<typename T >
| PolyMeshT (const T &t)
VertexHandle | new_vertex ()
| Adds a new default-initialized vertex. More...
VertexHandle | new_vertex (const Point &_p)
| Adds a new vertex initialized to a custom position. More...
VertexHandle | new_vertex_dirty (const Point &_p)
VertexHandle | add_vertex (const Point &_p)
| Alias for new_vertex(const Point&).
VertexHandle | add_vertex_dirty (const Point &_p)
| Alias for new_vertex_dirty().
void | calc_edge_vector (EdgeHandle _eh, Normal &_edge_vec) const
Normal | calc_edge_vector (EdgeHandle _eh) const
void | calc_edge_vector (HalfedgeHandle _heh, Normal &_edge_vec) const
Normal | calc_edge_vector (HalfedgeHandle _heh) 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
Point | calc_edge_midpoint (HalfedgeHandle _heh) const
Point | calc_edge_midpoint (EdgeHandle _eh) 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
unsigned int | find_feature_edges (Scalar _angle_tresh=OpenMesh::deg_to_rad(44.0))
void | split (FaceHandle _fh, const Point &_p)
| Face split (= 1-to-n split)
void | split (FaceHandle _fh, VertexHandle _vh)
void | split (EdgeHandle _eh, const Point &_p)
void | split (EdgeHandle _eh, VertexHandle _vh)
void | update_normals ()
| Compute normals for all primitives. More...
void | update_normal (FaceHandle _fh)
| Update normal for face _fh.
void | update_face_normals ()
| Update normal vectors for all faces. More...
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
Point | calc_face_centroid (FaceHandle _fh) const
| Computes and returns the average of the vertices defining _gh.
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. More...
virtual Normal | calc_halfedge_normal (HalfedgeHandle _heh, const double _feature_angle=0.8) const
| Calculate halfedge normal for one specific halfedge. More...
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. More...
Normal | calc_vertex_normal (VertexHandle _vh) const
| Calculate vertex normal for one specific vertex. More...
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. More...
void | calc_vertex_normal_loop (VertexHandle _vh, Normal &_n) const
| Compute normals for all primitives. More...

## Additional Inherited Members
Public Types inherited from OpenMesh::TriMeshT< Kernel >
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
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)
using | ConnectivityTag = TriConnectivityTag
| 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 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)
using | ConnectivityTag = PolyConnectivityTag
| 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 Public Member Functions inherited from OpenMesh::TriMeshT< Kernel >
static constexpr 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 constexpr 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)
Static Public Member Functions inherited from OpenMesh::PolyMeshT< Kernel >
static constexpr 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 constexpr 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)

## Detailed Description

### template<class Traits = DefaultTraits>
class OpenMesh::TriMesh_ArrayKernelT< Traits >

Triangle mesh based on the ArrayKernel.

See also
  OpenMesh::TriMeshT
  OpenMesh::ArrayKernelT

Definition at line 73 of file PolyMesh_ArrayKernelT.hh.

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

- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh
- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh