Developer Documentation
OpenMesh::PolyMesh_ArrayKernelT< Traits > Class Template Reference

#include <OpenMesh/Mesh/Types/PolyMesh_ArrayKernelT.hh>

Inheritance diagram for OpenMesh::PolyMesh_ArrayKernelT< Traits >:
OpenMesh::PolyMeshT< Kernel >

Public Member Functions

template<class OtherTraits >
 PolyMesh_ArrayKernelT (const TriMesh_ArrayKernelT< OtherTraits > &t)
 
- Public Member Functions inherited from OpenMesh::PolyMeshT< Kernel >
template<typename T >
 PolyMeshT (const T &t)
 
SmartVertexHandle new_vertex ()
 Adds a new default-initialized vertex. More...
 
SmartVertexHandle new_vertex (const Point &_p)
 Adds a new vertex initialized to a custom position. More...
 
SmartVertexHandle new_vertex_dirty (const Point &_p)
 
SmartVertexHandle add_vertex (const Point &_p)
 Alias for new_vertex(const Point&).
 
SmartVertexHandle 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
 
Normal calc_normal (EdgeHandle _eh) const
 calculated and returns the average of the two vertex normals
 
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...
 
virtual Normal calc_face_normal (FaceHandle _fh) const
 
Normal calc_face_normal (const Point &_p0, const Point &_p1, const Point &_p2) const
 
Normal calc_normal (FaceHandle _fh) const
 same as calc_face_normal
 
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 _fh.
 
Point calc_centroid (FaceHandle _fh) const
 Computes and returns the average of the vertices defining _fh (same as calc_face_centroid)
 
Point calc_centroid (EdgeHandle _eh) const
 Computes and returns the average of the vertices defining _eh (same as calc_edge_midpoint)
 
Point calc_centroid (HalfedgeHandle _heh) const
 Computes and returns the average of the vertices defining _heh (same as calc_edge_midpoint for edge of halfedge)
 
Point calc_centroid (VertexHandle _vh) const
 Returns the point of _vh.
 
Point calc_centroid (MeshHandle _mh) const
 Computes and returns the average of the vertices defining the mesh.
 
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...
 
Normal calc_normal (HalfedgeHandle, const double _feature_angle=0.8) const
 same as calc_halfedge_normal
 
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...
 
Normal calc_normal (VertexHandle _vh) const
 same as calc_vertex_normal_correct
 

Additional Inherited Members

- 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::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::PolyMesh_ArrayKernelT< Traits >

Polygonal mesh based on the ArrayKernel.

See also
OpenMesh::PolyMeshT
OpenMesh::ArrayKernel

Definition at line 94 of file PolyMesh_ArrayKernelT.hh.


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