42 #ifndef OPENMESH_POLYCONNECTIVITY_INTERFACE_INCLUDE
43 #error Do not include this directly, include instead PolyConnectivity.hh
46 #include <OpenMesh/Core/Mesh/PolyConnectivity.hh>
54 struct SmartVertexHandle;
55 struct SmartHalfedgeHandle;
56 struct SmartEdgeHandle;
57 struct SmartFaceHandle;
79 template <
typename HandleType>
100 template <
typename HandleType>
164 uint valence()
const;
166 bool is_manifold()
const;
251 uint valence()
const;
275 template <
typename HandleT>
284 template <
typename HandleType>
287 const auto& handle =
static_cast<const HandleType&
>(*this);
288 assert(handle.mesh() !=
nullptr);
289 return handle.mesh()->status(handle).feature();
292 template <
typename HandleType>
295 const auto& handle =
static_cast<const HandleType&
>(*this);
296 assert(handle.mesh() !=
nullptr);
297 return handle.mesh()->status(handle).selected();
300 template <
typename HandleType>
303 const auto& handle =
static_cast<const HandleType&
>(*this);
304 assert(handle.mesh() !=
nullptr);
305 return handle.mesh()->status(handle).tagged();
308 template <
typename HandleType>
311 const auto& handle =
static_cast<const HandleType&
>(*this);
312 assert(handle.mesh() !=
nullptr);
313 return handle.mesh()->status(handle).tagged2();
316 template <
typename HandleType>
319 const auto& handle =
static_cast<const HandleType&
>(*this);
320 assert(handle.mesh() !=
nullptr);
321 return handle.mesh()->status(handle).locked();
324 template <
typename HandleType>
327 const auto& handle =
static_cast<const HandleType&
>(*this);
328 assert(handle.mesh() !=
nullptr);
329 return handle.mesh()->status(handle).hidden();
332 template <
typename HandleType>
335 const auto& handle =
static_cast<const HandleType&
>(*this);
336 assert(handle.mesh() !=
nullptr);
337 return handle.mesh()->status(handle).deleted();
340 template <
typename HandleType>
343 const auto& handle =
static_cast<const HandleType&
>(*this);
344 assert(handle.mesh() !=
nullptr);
345 return handle.mesh()->is_boundary(handle);
350 assert(
mesh() !=
nullptr);
366 assert(
mesh() !=
nullptr);
372 assert(
mesh() !=
nullptr);
378 assert(
mesh() !=
nullptr);
384 assert(
mesh() !=
nullptr);
390 assert(
mesh() !=
nullptr);
396 assert(
mesh() !=
nullptr);
402 assert(
mesh() !=
nullptr);
408 assert(
mesh() !=
nullptr);
414 assert(
mesh() !=
nullptr);
420 assert(
mesh() !=
nullptr);
461 assert(
mesh() !=
nullptr);
467 assert(
mesh() !=
nullptr);
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:59
SmartVertexHandle make_smart(VertexHandle _vh, const PolyConnectivity *_mesh)
Creats a SmartVertexHandle from a VertexHandle and a Mesh.
Definition: SmartHandles.hh:256
Generic class for iterator ranges.
Definition: PolyConnectivity_inline_impl.hh:92
int idx() const
Get the underlying index of this handle.
Definition: Handles.hh:69
Handle for a vertex entity.
Definition: Handles.hh:121
Handle for a halfedge entity.
Definition: Handles.hh:128
Handle for a edge entity.
Definition: Handles.hh:135
Handle for a face entity.
Definition: Handles.hh:142
Connectivity Class for polygonal meshes.
Definition: PolyConnectivity.hh:115
uint valence(VertexHandle _vh) const
Vertex valence.
Definition: PolyConnectivity.cc:1075
bool is_manifold(VertexHandle _vh) const
Is (the mesh at) vertex _vh two-manifold ?
Definition: PolyConnectivity.cc:84
Base class for all smart handle types.
Definition: SmartHandles.hh:64
const PolyConnectivity * mesh() const
Get the underlying mesh of this handle.
Definition: SmartHandles.hh:69
Base class for all smart handle types that contains status related methods.
Definition: SmartHandles.hh:81
bool selected() const
Returns true iff the handle is marked as selected.
Definition: SmartHandles.hh:293
bool feature() const
Returns true iff the handle is marked as feature.
Definition: SmartHandles.hh:285
bool locked() const
Returns true iff the handle is marked as locked.
Definition: SmartHandles.hh:317
bool deleted() const
Returns true iff the handle is marked as deleted.
Definition: SmartHandles.hh:333
bool tagged() const
Returns true iff the handle is marked as tagged.
Definition: SmartHandles.hh:301
bool tagged2() const
Returns true iff the handle is marked as tagged2.
Definition: SmartHandles.hh:309
bool hidden() const
Returns true iff the handle is marked as hidden.
Definition: SmartHandles.hh:325
Base class for all smart handle types that contains status related methods.
Definition: SmartHandles.hh:102
bool is_boundary() const
Returns true iff the handle is boundary.
Definition: SmartHandles.hh:341
Smart version of VertexHandle contains a pointer to the corresponding mesh and allows easier access t...
Definition: SmartHandles.hh:110
SmartHalfedgeHandle halfedge() const
Returns an outgoing halfedge.
Definition: SmartHandles.hh:354
SmartHalfedgeHandle out() const
Returns an outgoing halfedge.
Definition: SmartHandles.hh:348
bool is_manifold() const
Returns true iff (the mesh at) the vertex is two-manifold ?
Definition: SmartHandles.hh:370
SmartHalfedgeHandle in() const
Returns an incoming halfedge.
Definition: SmartHandles.hh:359
uint valence() const
Returns valence of the vertex.
Definition: SmartHandles.hh:364
Definition: SmartHandles.hh:170
SmartFaceHandle face() const
Returns incident face of halfedge.
Definition: SmartHandles.hh:412
SmartVertexHandle from() const
Returns vertex at start of halfedge.
Definition: SmartHandles.hh:400
SmartHalfedgeHandle next() const
Returns next halfedge handle.
Definition: SmartHandles.hh:376
SmartHalfedgeHandle prev() const
Returns previous halfedge handle.
Definition: SmartHandles.hh:382
SmartEdgeHandle edge() const
Returns incident edge of halfedge.
Definition: SmartHandles.hh:406
SmartHalfedgeHandle opp() const
Returns opposite halfedge handle.
Definition: SmartHandles.hh:388
SmartVertexHandle to() const
Returns vertex pointed to by halfedge.
Definition: SmartHandles.hh:394
Definition: SmartHandles.hh:197
SmartVertexHandle v(unsigned int _i) const
Shorthand for vertex()
Definition: SmartHandles.hh:444
SmartVertexHandle v1() const
Shorthand for vertex(1)
Definition: SmartHandles.hh:454
SmartHalfedgeHandle h(unsigned int _i) const
Shorthand for halfedge()
Definition: SmartHandles.hh:424
SmartHalfedgeHandle h1() const
Shorthand for halfedge(1)
Definition: SmartHandles.hh:434
SmartVertexHandle vertex(unsigned int _i) const
Returns one of the two incident vertices of the edge.
Definition: SmartHandles.hh:439
SmartVertexHandle v0() const
Shorthand for vertex(0)
Definition: SmartHandles.hh:449
SmartHalfedgeHandle halfedge(unsigned int _i) const
Returns one of the two halfedges of the edge.
Definition: SmartHandles.hh:418
SmartHalfedgeHandle h0() const
Shorthand for halfedge(0)
Definition: SmartHandles.hh:429
Definition: SmartHandles.hh:219
uint valence() const
Returns the valence of the face.
Definition: SmartHandles.hh:465
SmartHalfedgeHandle halfedge() const
Returns one of the halfedges of the face.
Definition: SmartHandles.hh:459
Definition: SmartHandles.hh:276