44#ifndef STATUSNODEMODS_HH
45#define STATUSNODEMODS_HH
74template<
class MeshT >
78 static inline bool is_area(
const MeshT& _m,
typename MeshT::VertexHandle _vh)
79 {
return _m.status(_vh).is_bit_set(AREA); }
82 static inline bool is_area(
const MeshT& _m,
typename MeshT::FaceHandle _fh)
84 for (
typename MeshT::ConstFaceVertexIter cfv_it = _m.cfv_iter(_fh); cfv_it.
is_valid(); ++cfv_it)
85 if (_m.status(*cfv_it).is_bit_set(AREA))
94 if (_mesh.is_isolated(_vh))
123template<
class MeshT >
129 {
return _m.status(_vh).is_bit_set(HANDLEAREA); }
135 for(
typename MeshT::ConstFaceVertexIter cfv_it = _m.cfv_iter(_fh); cfv_it.
is_valid(); ++cfv_it) {
136 if(!_m.status(*cfv_it).is_bit_set(HANDLEAREA)) {
151 for (
typename MeshT::CVFIter vf_it(_mesh.cvf_iter(_vh)); vf_it.is_valid(); ++vf_it)
161 typename MeshT::HalfedgeHandle hh;
162 typename MeshT::FaceHandle fh;
167 fh = _mesh.face_handle(hh);
168 if (fh.is_valid() &&
is_handle(_mesh, fh))
return false;
173 fh = _mesh.face_handle(hh);
174 if (fh.is_valid() &&
is_handle(_mesh, fh))
return false;
196template<
class MeshT >
203 return _mesh.status(_vh).feature();
209 return _mesh.status(_eh).feature();
216 return _mesh.status(_heh).feature();
222 return _mesh.status(_fh).feature();
bool is_valid(Handle _h) const
test is_valid and perform index range check
static HalfEdgeHandle halfedge_handle(EdgeHandle _h, const unsigned char _subIdx)
Conversion function.
VertexHandle to_vertex_handle(HalfEdgeHandle _h) const
Get the vertex the halfedge points to.
static bool is_face_selected(const MeshT &_mesh, typename MeshT::FaceHandle _fh)
tell status node if the face is marked as modeling area
static bool is_halfedge_selected(const MeshT &, typename MeshT::HalfedgeHandle)
default to false
static bool is_edge_selected(const MeshT &, typename MeshT::EdgeHandle)
default to false
static bool is_area(const MeshT &_m, typename MeshT::VertexHandle _vh)
tell status node if the vertex is marked as modeling area
static bool is_vertex_selected(const MeshT &_mesh, typename MeshT::VertexHandle _vh)
tell status node if the vertex is marked as modeling area
static bool is_area(const MeshT &_m, typename MeshT::FaceHandle _fh)
tell status node if the face is marked as modeling area
static bool is_vertex_selected(const MeshT &_mesh, typename MeshT::VertexHandle _vh)
tell status node if the vertex is marked as handle area
static bool is_face_selected(const MeshT &_mesh, typename MeshT::FaceHandle _fh)
tell status node if the face is marked as feature
static bool is_edge_selected(const MeshT &_mesh, typename MeshT::EdgeHandle _eh)
tell status node if the edge is marked as handle area
static bool is_halfedge_selected(const MeshT &_mesh, typename MeshT::HalfedgeHandle _heh)
default to false
static bool is_handle(const MeshT &_m, typename MeshT::FaceHandle _fh)
tell status node if the face is marked as handle area
static bool is_edge_selected(const MeshT &_mesh, typename MeshT::EdgeHandle _eh)
tell status node if the edge is marked as handle area
static bool is_face_selected(const MeshT &_mesh, typename MeshT::FaceHandle _fh)
tell status node if the face is marked as handle area
static bool is_handle(const MeshT &_m, typename MeshT::VertexHandle _vh)
tell status node if the vertex is marked as handle area
static bool is_vertex_selected(const MeshT &_mesh, typename MeshT::VertexHandle _vh)
tell status node if the vertex is marked as handle area
static bool is_halfedge_selected(const MeshT &, typename MeshT::HalfedgeHandle)
default to false