libsurf
Programmer's Documentation
#include <topovertex.h>
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 | |