Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions Class Reference

The LinkCondition class provides a tool to check if a polychord satisfies the link conditions. More...

#include <polygon_polychord_collapse.h>

List of all members.

Classes

struct  LCEdge
 The LCEdge struct represents an edge for the Link Conditions. More...
struct  LCVertex
 The LCVertex struct represents a vertex for the Link Conditions. More...

Public Member Functions

bool CheckLinkConditions (const PolyMeshType &mesh, const vcg::face::Pos< FaceType > &startPos)
 CheckLinkConditions checks if collapsing the polychord starting from startPos satisfies the link conditions.
 LinkConditions (const size_t size)
 LinkCondition constructor.
void Resize (const size_t size)
 Resize just resets the size of the container.

Private Types

typedef long int LCEdgeIndex
typedef std::set< LCEdgeIndexLCEdgeStar
 define the set of edges whose star involves a vertex
typedef long int LCVertexIndex
typedef std::set< LCVertexIndexLCVertexStar
 define the star of a vertex

Private Member Functions

void LC_computeStars (const PolyMeshType &mesh, const vcg::face::Pos< FaceType > &startPos, std::vector< LCEdge > &lcEdges)
 LC_computeStars computes the stars of edges and vertices of the polychord from the starting pos either to itself (if it's a loop) or to the border edge.
void LC_ResetStars ()
 LC_ResetStars resets the stars on a polychord.
void LC_SimulateEdgeCollapse (std::vector< LCEdge > &lcEdges, const LCEdgeIndex edgeInd)
 LC_SimulateEdgeCollapse simulates an edge collapse by updating the stars involved.

Private Attributes

std::vector< LCVertex_lcVertices
 _lcVertices is a vector of vertex stars for the link conditions.

Detailed Description

template<typename PolyMeshType>
class vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions

The LinkCondition class provides a tool to check if a polychord satisfies the link conditions.

Definition at line 261 of file polygon_polychord_collapse.h.


Member Typedef Documentation

template<typename PolyMeshType >
typedef long int vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::LCEdgeIndex [private]

Definition at line 265 of file polygon_polychord_collapse.h.

template<typename PolyMeshType >
typedef std::set<LCEdgeIndex> vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::LCEdgeStar [private]

define the set of edges whose star involves a vertex

Definition at line 266 of file polygon_polychord_collapse.h.

template<typename PolyMeshType >
typedef long int vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::LCVertexIndex [private]

Definition at line 263 of file polygon_polychord_collapse.h.

template<typename PolyMeshType >
typedef std::set<LCVertexIndex> vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::LCVertexStar [private]

define the star of a vertex

Definition at line 264 of file polygon_polychord_collapse.h.


Constructor & Destructor Documentation

template<typename PolyMeshType >
vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::LinkConditions ( const size_t  size) [inline]

LinkCondition constructor.

Parameters:
sizeThe number of vertices of the mesh.

Definition at line 317 of file polygon_polychord_collapse.h.


Member Function Documentation

template<typename PolyMeshType >
bool vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::CheckLinkConditions ( const PolyMeshType &  mesh,
const vcg::face::Pos< FaceType > &  startPos 
) [inline]

CheckLinkConditions checks if collapsing the polychord starting from startPos satisfies the link conditions.

Warning:
The polychord starts from startPos and ends to itself (if it's a loop) or to a border. In the latter case, call this method starting from the opposite border of the strip of quads.
Parameters:
meshThe mesh for getting the vertex index.
startPosThe starting position of the polychord.
Returns:
true if satisfied, false otherwise.

Definition at line 337 of file polygon_polychord_collapse.h.

template<typename PolyMeshType >
void vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::LC_computeStars ( const PolyMeshType &  mesh,
const vcg::face::Pos< FaceType > &  startPos,
std::vector< LCEdge > &  lcEdges 
) [inline, private]

LC_computeStars computes the stars of edges and vertices of the polychord from the starting pos either to itself (if it's a loop) or to the border edge.

Parameters:
meshThe mesh for getting the vertex index.
startPosStarting position.
lcEdgesVector of edge stars.

compute the star of all the vertices and edges seen from the polychord

Definition at line 388 of file polygon_polychord_collapse.h.

template<typename PolyMeshType >
void vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::LC_ResetStars ( ) [inline, private]

LC_ResetStars resets the stars on a polychord.

Definition at line 376 of file polygon_polychord_collapse.h.

template<typename PolyMeshType >
void vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::LC_SimulateEdgeCollapse ( std::vector< LCEdge > &  lcEdges,
const LCEdgeIndex  edgeInd 
) [inline, private]

LC_SimulateEdgeCollapse simulates an edge collapse by updating the stars involved.

Parameters:
lcEdgesThe vector of edges.
edgeIndThe in dex of the edge to collapse.

v2 merges into v1:

update the star of the edges which include v1 and v2 in their star

Definition at line 516 of file polygon_polychord_collapse.h.

template<typename PolyMeshType >
void vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::Resize ( const size_t  size) [inline]

Resize just resets the size of the container.

Parameters:
size

Definition at line 323 of file polygon_polychord_collapse.h.


Member Data Documentation

template<typename PolyMeshType >
std::vector<LCVertex> vcg::tri::PolychordCollapse< PolyMeshType >::LinkConditions::_lcVertices [private]

_lcVertices is a vector of vertex stars for the link conditions.

Definition at line 550 of file polygon_polychord_collapse.h.


The documentation for this class was generated from the following file:


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:43:01