libsurf
Programmer's Documentation

Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
TopoVertex Class Reference

Detailed Description

Topological vertex.

See Also
Topology, TopoEdge

#include <topovertex.h>

Collaboration diagram for TopoVertex:
[legend]

Public Types

enum  Corner {
  NoCorner, SouthWest, SouthEast, NorthEast,
  NorthWest
}
 

Public Member Functions

 TopoVertex (const Vct3 &p)
 create vertex
 
 TopoVertex (const Topology &topo, uint iface, const Vct2 &uvp)
 construct on a single face
 
 TopoVertex (const Topology &topo, uint ifa, const Vct2 &uva, uint ifb, const Vct2 &uvb)
 construct on two faces (typically from intersections)
 
uint append (uint iface, const Vct2 &uvp)
 append face
 
void merge (const TopoVertex &v)
 merge with another vertex
 
uint findFace (uint iface) const
 find local index of face iface
 
const Vct3 & pos () const
 access location
 
bool closeTo (const TopoVertex &v, Real tol=gmepsilon) const
 test whether vertex is close to another one
 
const Indices & faces () const
 faces to which this vertex is attached
 
const PointList< 2 > & uvpos () const
 parameter-space location on faces
 
const Vct2 & uvpos (uint k) const
 parameter-space location on face k
 
int cornerType (uint gface) const
 classify vertex corner on global face index gface
 
void print (uint k, std::ostream &os) const
 plain text debugging output
 

Static Public Member Functions

static int classifyCorner (const Vct2 &p)
 classify a vertex according to corner description
 

Private Attributes

Vct3 m_position
 location in 3D space
 
Indices m_faces
 indices of faces on which this point lies
 
PointList< 2 > m_uvp
 parameter-space location on faces
 

The documentation for this class was generated from the following files:
Generated on Mon May 23 2022 03:03:19 for libsurf by   doxygen 1.8.5