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