OpenMesh
OpenMesh::AttribKernelT< MeshItems, Connectivity > Class Template Reference

The attribute kernel adds all standard properties to the kernel. More...

#include <OpenMesh/Mesh/AttribKernelT.hh>

Inheritance diagram for OpenMesh::AttribKernelT< MeshItems, Connectivity >:
Collaboration diagram for OpenMesh::AttribKernelT< MeshItems, Connectivity >:

Public Types

enum  Attribs { VAttribs = MeshItems::VAttribs, HAttribs = MeshItems::HAttribs, EAttribs = MeshItems::EAttribs, FAttribs = MeshItems::FAttribs }
 
typedef MeshItems MeshItemsT
 
typedef Connectivity ConnectivityT
 
typedef Connectivity::Vertex Vertex
 
typedef Connectivity::Halfedge Halfedge
 
typedef Connectivity::Edge Edge
 
typedef Connectivity::Face Face
 
typedef MeshItems::Point Point
 
typedef MeshItems::Normal Normal
 
typedef MeshItems::Color Color
 
typedef MeshItems::TexCoord1D TexCoord1D
 
typedef MeshItems::TexCoord2D TexCoord2D
 
typedef MeshItems::TexCoord3D TexCoord3D
 
typedef MeshItems::Scalar Scalar
 
typedef MeshItems::TextureIndex TextureIndex
 
typedef MeshItems::VertexData VertexData
 
typedef MeshItems::HalfedgeData HalfedgeData
 
typedef MeshItems::EdgeData EdgeData
 
typedef MeshItems::FaceData FaceData
 
typedef AttribKernelT< MeshItems, Connectivity > AttribKernel
 
typedef VPropHandleT< VertexData > DataVPropHandle
 
typedef HPropHandleT< HalfedgeData > DataHPropHandle
 
typedef EPropHandleT< EdgeData > DataEPropHandle
 
typedef FPropHandleT< FaceData > DataFPropHandle
 
typedef VPropHandleT< Point > PointsPropertyHandle
 
typedef VPropHandleT< Normal > VertexNormalsPropertyHandle
 
typedef VPropHandleT< Color > VertexColorsPropertyHandle
 
typedef VPropHandleT< TexCoord1D > VertexTexCoords1DPropertyHandle
 
typedef VPropHandleT< TexCoord2D > VertexTexCoords2DPropertyHandle
 
typedef VPropHandleT< TexCoord3D > VertexTexCoords3DPropertyHandle
 
typedef HPropHandleT< TexCoord1D > HalfedgeTexCoords1DPropertyHandle
 
typedef HPropHandleT< TexCoord2D > HalfedgeTexCoords2DPropertyHandle
 
typedef HPropHandleT< TexCoord3D > HalfedgeTexCoords3DPropertyHandle
 
typedef EPropHandleT< Color > EdgeColorsPropertyHandle
 
typedef HPropHandleT< Normal > HalfedgeNormalsPropertyHandle
 
typedef HPropHandleT< Color > HalfedgeColorsPropertyHandle
 
typedef FPropHandleT< Normal > FaceNormalsPropertyHandle
 
typedef FPropHandleT< Color > FaceColorsPropertyHandle
 
typedef FPropHandleT< TextureIndex > FaceTextureIndexPropertyHandle
 

Public Member Functions

template<class _AttribKernel >
void assign (const _AttribKernel &_other)
 Assignment from another mesh of another type. More...
 
const Point * points () const
 
const Point & point (VertexHandle _vh) const
 
Point & point (VertexHandle _vh)
 
void set_point (VertexHandle _vh, const Point &_p)
 
const Normal * vertex_normals () const
 
const Normal & normal (VertexHandle _vh) const
 
void set_normal (VertexHandle _vh, const Normal &_n)
 
const Color * vertex_colors () const
 
const Color & color (VertexHandle _vh) const
 
void set_color (VertexHandle _vh, const Color &_c)
 
const TexCoord1D * texcoords1D () const
 
const TexCoord1D & texcoord1D (VertexHandle _vh) const
 
void set_texcoord1D (VertexHandle _vh, const TexCoord1D &_t)
 
const TexCoord2D * texcoords2D () const
 
const TexCoord2D & texcoord2D (VertexHandle _vh) const
 
void set_texcoord2D (VertexHandle _vh, const TexCoord2D &_t)
 
const TexCoord3D * texcoords3D () const
 
const TexCoord3D & texcoord3D (VertexHandle _vh) const
 
void set_texcoord3D (VertexHandle _vh, const TexCoord3D &_t)
 
const TexCoord1D * htexcoords1D () const
 
const TexCoord1D & texcoord1D (HalfedgeHandle _heh) const
 
void set_texcoord1D (HalfedgeHandle _heh, const TexCoord1D &_t)
 
const TexCoord2D * htexcoords2D () const
 
const TexCoord2D & texcoord2D (HalfedgeHandle _heh) const
 
void set_texcoord2D (HalfedgeHandle _heh, const TexCoord2D &_t)
 
const TexCoord3D * htexcoords3D () const
 
const TexCoord3D & texcoord3D (HalfedgeHandle _heh) const
 
void set_texcoord3D (HalfedgeHandle _heh, const TexCoord3D &_t)
 
const Color * edge_colors () const
 
const Color & color (EdgeHandle _eh) const
 
void set_color (EdgeHandle _eh, const Color &_c)
 
const Normal & normal (HalfedgeHandle _heh) const
 
void set_normal (HalfedgeHandle _heh, const Normal &_n)
 
const Color * halfedge_colors () const
 
const Color & color (HalfedgeHandle _heh) const
 
void set_color (HalfedgeHandle _heh, const Color &_c)
 
const Normal & normal (FaceHandle _fh) const
 
void set_normal (FaceHandle _fh, const Normal &_n)
 
const TextureIndex & texture_index (FaceHandle _fh) const
 
void set_texture_index (FaceHandle _fh, const TextureIndex &_t)
 
const Color & color (FaceHandle _fh) const
 
void set_color (FaceHandle _fh, const Color &_c)
 
void request_vertex_normals ()
 
void request_vertex_colors ()
 
void request_vertex_texcoords1D ()
 
void request_vertex_texcoords2D ()
 
void request_vertex_texcoords3D ()
 
void request_halfedge_texcoords1D ()
 
void request_halfedge_texcoords2D ()
 
void request_halfedge_texcoords3D ()
 
void request_edge_colors ()
 
void request_halfedge_normals ()
 
void request_halfedge_colors ()
 
void request_face_normals ()
 
void request_face_colors ()
 
void request_face_texture_index ()
 
void release_vertex_normals ()
 
void release_vertex_colors ()
 
void release_vertex_texcoords1D ()
 
void release_vertex_texcoords2D ()
 
void release_vertex_texcoords3D ()
 
void release_halfedge_texcoords1D ()
 
void release_halfedge_texcoords2D ()
 
void release_halfedge_texcoords3D ()
 
void release_edge_colors ()
 
void release_halfedge_normals ()
 
void release_halfedge_colors ()
 
void release_face_normals ()
 
void release_face_colors ()
 
void release_face_texture_index ()
 
bool has_vertex_normals () const
 
bool has_vertex_colors () const
 
bool has_vertex_texcoords1D () const
 
bool has_vertex_texcoords2D () const
 
bool has_vertex_texcoords3D () const
 
bool has_halfedge_texcoords1D () const
 
bool has_halfedge_texcoords2D () const
 
bool has_halfedge_texcoords3D () const
 
bool has_edge_colors () const
 
bool has_halfedge_normals () const
 
bool has_halfedge_colors () const
 
bool has_face_normals () const
 
bool has_face_colors () const
 
bool has_face_texture_index () const
 
PointsPropertyHandle points_pph () const
 
VertexNormalsPropertyHandle vertex_normals_pph () const
 
VertexColorsPropertyHandle vertex_colors_pph () const
 
VertexTexCoords1DPropertyHandle vertex_texcoords1D_pph () const
 
VertexTexCoords2DPropertyHandle vertex_texcoords2D_pph () const
 
VertexTexCoords3DPropertyHandle vertex_texcoords3D_pph () const
 
HalfedgeTexCoords1DPropertyHandle halfedge_texcoords1D_pph () const
 
HalfedgeTexCoords2DPropertyHandle halfedge_texcoords2D_pph () const
 
HalfedgeTexCoords3DPropertyHandle halfedge_texcoords3D_pph () const
 
HalfedgeNormalsPropertyHandle halfedge_normals_pph () const
 
HalfedgeColorsPropertyHandle halfedge_colors_pph () const
 
EdgeColorsPropertyHandle edge_colors_pph () const
 
FaceNormalsPropertyHandle face_normals_pph () const
 
FaceColorsPropertyHandle face_colors_pph () const
 
FaceTextureIndexPropertyHandle face_texture_index_pph () const
 
VertexData & data (VertexHandle _vh)
 
const VertexData & data (VertexHandle _vh) const
 
FaceData & data (FaceHandle _fh)
 
const FaceData & data (FaceHandle _fh) const
 
EdgeData & data (EdgeHandle _eh)
 
const EdgeData & data (EdgeHandle _eh) const
 
HalfedgeData & data (HalfedgeHandle _heh)
 
const HalfedgeData & data (HalfedgeHandle _heh) const
 

Detailed Description

template<class MeshItems, class Connectivity>
class OpenMesh::AttribKernelT< MeshItems, Connectivity >

The attribute kernel adds all standard properties to the kernel.

Therefore the functions/types defined here provide a subset of the kernel interface as described in Concepts::KernelT.

See also
Concepts::KernelT

Member Function Documentation

template<class MeshItems , class Connectivity >
template<class _AttribKernel >
void OpenMesh::AttribKernelT< MeshItems, Connectivity >::assign ( const _AttribKernel &  _other)
inline

Assignment from another mesh of another type.

Note
All that's copied is connectivity and vertex positions. All other information (like e.g. attributes or additional elements from traits classes) is not copied.
If you want to copy all information, including custom properties, use PolyMeshT::operator=() instead. TODO: version which copies standard properties specified by the user

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

Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .