#include <MRMesh/MRVertDuplication.h>
Public Member Functions | |
| bool | hasRepeatedVerts () const |
| true if some neighbor vertex is present in more than one triangle-pair around the vertex | |
| std::uint32_t | numRepeatedVerts () const |
| the total number of neighbor vertex repetitions; 0 if !hasRepeatedVerts() | |
| std::uint32_t | maxVertRepetitions () const |
| the maximum number of a neighbor vertex repetitions; 0 if !hasRepeatedVerts() | |
| std::uint32_t | numOpenChains () const |
| the number of open chains of connected triangles around the vertex; 0 if hasRepeatedVerts() | |
| std::uint32_t | numClosedChains () const |
| the number of closed chains (rings) of connected triangles around the vertex; 0 if hasRepeatedVerts() | |
| std::uint32_t | numChains () const |
| the total number of open and closed chains of connected triangles around the vertex; 0 if hasRepeatedVerts() | |
| bool | duplicationNeeded () const |
| bool | areTwinChains (std::uint32_t numTris) const |
| void | setNumChains (std::uint32_t openChains, std::uint32_t closedChains) |
| void | setNumRepeatedVerts (std::uint32_t repeatedVerts, std::uint32_t maxVertRepetitions) |
Static Public Attributes | |
| static constexpr std::uint32_t | maxNumOpenChains = ( 1u << 16 ) - 1 |
| maximal values storable in the counters | |
| static constexpr std::uint32_t | maxNumClosedChains = ( 1u << 15 ) - 1 |
| static constexpr std::uint32_t | maxNumRepeatedVerts = ( 1u << 16 ) - 1 |
| static constexpr std::uint32_t | maxMaxVertRepetitions = ( 1u << 15 ) - 1 |
classification of the triangles around one vertex, packed in 32 bits; it stores 1-bit flag (hasRepeatedVerts) and either 31-bit numRepeatedVerts (if the flag is on), or 16-bit numOpenChains and 15-bit numClosedChains (if the flag is off)