44 #ifndef STATUSNODEMODS_HH 45 #define STATUSNODEMODS_HH 74 template<
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))
123 template<
class MeshT >
128 static inline bool is_handle(
const MeshT& _m,
typename MeshT::VertexHandle _vh)
129 {
return _m.status(_vh).is_bit_set(HANDLEAREA); }
132 static inline bool is_handle(
const MeshT& _m,
typename MeshT::FaceHandle _fh)
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)) {
148 if (!is_handle(_mesh, _vh))
151 for (
typename MeshT::CVFIter vf_it(_mesh.cvf_iter(_vh)); vf_it.is_valid(); ++vf_it)
152 if (is_handle(_mesh, *vf_it))
161 typename MeshT::HalfedgeHandle hh;
162 typename MeshT::FaceHandle fh;
164 hh = _mesh.halfedge_handle(_eh, 0);
165 if (!is_handle(_mesh, _mesh.to_vertex_handle(hh)))
return false;
167 fh = _mesh.face_handle(hh);
168 if (fh.is_valid() && is_handle(_mesh, fh))
return false;
170 hh = _mesh.halfedge_handle(_eh, 1);
171 if (!is_handle(_mesh, _mesh.to_vertex_handle(hh)))
return false;
173 fh = _mesh.face_handle(hh);
174 if (fh.is_valid() && is_handle(_mesh, fh))
return false;
190 return is_handle(_mesh, _fh);
196 template<
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();
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 handle area
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_area(const MeshT &_m, typename MeshT::FaceHandle _fh)
tell status node if the face is marked as modeling 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 modeling area
static bool is_halfedge_selected(const MeshT &, typename MeshT::HalfedgeHandle)
default to false
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_face_selected(const MeshT &_mesh, typename MeshT::FaceHandle _fh)
tell status node if the face is marked as feature
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 &_mesh, typename MeshT::HalfedgeHandle _heh)
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_halfedge_selected(const MeshT &, typename MeshT::HalfedgeHandle)
default to false
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_edge_selected(const MeshT &_mesh, typename MeshT::EdgeHandle _eh)
tell status node if the edge is marked as handle area