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 >
 PolyMeshT ()
 Circulator. More...
 
template<typename T >
 PolyMeshT (const T &t)
 Circulator. More...
 
virtual ~PolyMeshT ()
 Circulator. More...
 
template<typename H , typename = SmartHandle<H>>
auto make_smart (H const &h) const -> typename SmartHandle< H >::type const
 Create a smart handle from a regular handle. More...
 
template<typename SH , typename = typename std::enable_if<std::is_base_of<SmartBaseHandle, SH>::value>::type>
SH make_smart (SH const &sh) const
 Return the passed smart handle. This allows for code using make_smart(h) to keep compiling when h's type is changed to a smart handle. More...
 
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)
 
SmartVertexHandle add_vertex_dirty (const Point _p)
 Alias for new_vertex_dirty(). More...
 
void update_normals ()
 Compute normals for all primitives. More...
 
void update_normal (FaceHandle _fh)
 Update normal for face _fh. More...
 
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 More...
 
void calc_face_centroid (FaceHandle _fh, Point &_pt) const
 calculates the average of the vertices defining _fh More...
 
Point calc_face_centroid (FaceHandle _fh) const
 Computes and returns the average of the vertices defining _fh. More...
 
Point calc_centroid (FaceHandle _fh) const
 Computes and returns the average of the vertices defining _fh (same as calc_face_centroid) More...
 
Point calc_centroid (EdgeHandle _eh) const
 Computes and returns the average of the vertices defining _eh (same as calc_edge_midpoint) More...
 
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) More...
 
Point calc_centroid (VertexHandle _vh) const
 Returns the point of _vh. More...
 
Point calc_centroid (MeshHandle _mh) const
 Computes and returns the average of the vertices defining the mesh. More...
 
void update_normal (HalfedgeHandle _heh, const double _feature_angle=0.8)
 Update normal for halfedge _heh. More...
 
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 More...
 
bool is_estimated_feature_edge (HalfedgeHandle _heh, const double _feature_angle) const
 
void update_normal (VertexHandle _vh)
 Update normal for vertex _vh. More...
 
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 More...
 
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
 Compute normals for all primitives. More...
 
Scalar calc_edge_length (HalfedgeHandle _heh) const
 
Scalar calc_edge_sqr_length (EdgeHandle _eh) const
 Compute normals for all primitives. More...
 
Scalar calc_edge_sqr_length (HalfedgeHandle _heh) const
 Compute normals for all primitives. More...
 
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 More...
 
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
 Compute normals for all primitives. More...
 
Scalar calc_dihedral_angle (EdgeHandle _eh) const
 Compute normals for all primitives. More...
 
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) More...
 
void split (FaceHandle _fh, VertexHandle _vh)
 Compute normals for all primitives. More...
 
void split (EdgeHandle _eh, const Point &_p)
 Compute normals for all primitives. More...
 
void split (EdgeHandle _eh, VertexHandle _vh)
 Compute normals for all primitives. More...
 

Additional Inherited Members

- Public Types inherited from OpenMesh::PolyMeshT< Kernel >
enum  { IsPolyMesh = 1 }
 
enum  { IsTriMesh = 0 }
 
typedef PolyMeshT< Kernel > This
 Self type. Used to specify iterators/circulators. More...
 
using ConnectivityTag = PolyConnectivityTag
 
typedef Kernel::Scalar Scalar
 Scalar type. More...
 
typedef Kernel::Point Point
 Coordinate type. More...
 
typedef Kernel::Normal Normal
 Normal type. More...
 
typedef Kernel::Color Color
 Color type. More...
 
typedef Kernel::TexCoord1D TexCoord1D
 TexCoord1D type. More...
 
typedef Kernel::TexCoord2D TexCoord2D
 TexCoord2D type. More...
 
typedef Kernel::TexCoord3D TexCoord3D
 TexCoord3D type. More...
 
typedef Kernel::Vertex Vertex
 Vertex type. More...
 
typedef Kernel::Halfedge Halfedge
 Halfedge type. More...
 
typedef Kernel::Edge Edge
 Edge type. More...
 
typedef Kernel::Face Face
 Face type. More...
 
typedef Kernel::VertexHandle VertexHandle
 Handle for referencing the corresponding item. More...
 
typedef Kernel::HalfedgeHandle HalfedgeHandle
 Scalar type. More...
 
typedef Kernel::EdgeHandle EdgeHandle
 Scalar type. More...
 
typedef Kernel::FaceHandle FaceHandle
 Scalar type. More...
 
typedef Kernel::VertexIter VertexIter
 Scalar type. More...
 
typedef Kernel::HalfedgeIter HalfedgeIter
 Scalar type. More...
 
typedef Kernel::EdgeIter EdgeIter
 Scalar type. More...
 
typedef Kernel::FaceIter FaceIter
 Scalar type. More...
 
typedef Kernel::ConstVertexIter ConstVertexIter
 Scalar type. More...
 
typedef Kernel::ConstHalfedgeIter ConstHalfedgeIter
 Scalar type. More...
 
typedef Kernel::ConstEdgeIter ConstEdgeIter
 Scalar type. More...
 
typedef Kernel::ConstFaceIter ConstFaceIter
 Scalar type. More...
 
typedef Kernel::VertexVertexIter VertexVertexIter
 Circulator. More...
 
typedef Kernel::VertexOHalfedgeIter VertexOHalfedgeIter
 Circulator. More...
 
typedef Kernel::VertexIHalfedgeIter VertexIHalfedgeIter
 Circulator. More...
 
typedef Kernel::VertexEdgeIter VertexEdgeIter
 Circulator. More...
 
typedef Kernel::VertexFaceIter VertexFaceIter
 Circulator. More...
 
typedef Kernel::FaceVertexIter FaceVertexIter
 Circulator. More...
 
typedef Kernel::FaceHalfedgeIter FaceHalfedgeIter
 Circulator. More...
 
typedef Kernel::FaceEdgeIter FaceEdgeIter
 Circulator. More...
 
typedef Kernel::FaceFaceIter FaceFaceIter
 Circulator. More...
 
typedef Kernel::ConstVertexVertexIter ConstVertexVertexIter
 Circulator. More...
 
typedef Kernel::ConstVertexOHalfedgeIter ConstVertexOHalfedgeIter
 Circulator. More...
 
typedef Kernel::ConstVertexIHalfedgeIter ConstVertexIHalfedgeIter
 Circulator. More...
 
typedef Kernel::ConstVertexEdgeIter ConstVertexEdgeIter
 Circulator. More...
 
typedef Kernel::ConstVertexFaceIter ConstVertexFaceIter
 Circulator. More...
 
typedef Kernel::ConstFaceVertexIter ConstFaceVertexIter
 Circulator. More...
 
typedef Kernel::ConstFaceHalfedgeIter ConstFaceHalfedgeIter
 Circulator. More...
 
typedef Kernel::ConstFaceEdgeIter ConstFaceEdgeIter
 Circulator. More...
 
typedef Kernel::ConstFaceFaceIter ConstFaceFaceIter
 Circulator. More...
 
- 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) More...
 
static constexpr bool is_trimesh ()
 

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.

Constructor & Destructor Documentation

◆ PolyMesh_ArrayKernelT() [1/2]

template<class Traits = DefaultTraits>
OpenMesh::PolyMesh_ArrayKernelT< Traits >::PolyMesh_ArrayKernelT ( )
inline

Definition at line 98 of file PolyMesh_ArrayKernelT.hh.

◆ PolyMesh_ArrayKernelT() [2/2]

template<class Traits = DefaultTraits>
template<class OtherTraits >
OpenMesh::PolyMesh_ArrayKernelT< Traits >::PolyMesh_ArrayKernelT ( const TriMesh_ArrayKernelT< OtherTraits > &  t)
inlineexplicit

Definition at line 100 of file PolyMesh_ArrayKernelT.hh.


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