Objects and Operators

The Surf query methods are:

 Hedge* lookup_hedge(Point *p0, Point *p1) // look for a hedge in surface

The Surf stellar API's are:

Vertex* Surf::split(Face *f) //divides a face
Vertex* Surf::split(Hedge *e) //splits an edge
Hedge* Surf::weld(Vertex *v) //removes a Vertex
Hedge* Surf::flip(Hedge *h ) //flips internal edge 

The Surf handle API's are:

Face* Surf::create(Point *p0, Point *p1, Point *p2) // creates a new face
void Surf::destroy(Face *f) //removes a face
Edge* Surf::glue(Hedge *e1, Hedge *e2) //glue two half-edges
Edge* Surf::unglue(Hedge *e1, Hedge *e2) //unglue two half-edges

The face methods are:

Hedge* Face::hedge(int i) // returns the i-th half-edge
Vertex* Face::vertex(int i) // returns the i-th vertex

The edge methods are:

 Vertex* Edge::org() // returns the origin vertex
 Vertex* Edge::dst() // returns the end vertex
 Hedge Edge::hedge(int i) // returns the i-th half-edge
 boolean Edge::is_bdry() // returns true if on boundary

The half-edge methods are:

 Vertex* Hedge::org() // returns the origin vertex
 Vertex* Hedge::dst() // returns the destination vertex
 Face* Hedge::face() // returns the incident face
 Edge* Hedge::edge() // returns the parent edge
 Hedge* Hedge::mate() // returns the mate half-edge
 Hedge* Hedge::prev() // returns the previous half-edge
 Hedge* Hedge::next() // returns the next half-edge
 Hedge* Hedge::prev_on_bdry() // returns the previous half-edge in boundary
 Edge* get_bdry() // Returns the boundary it belongs

The vertex methods are:

 Point*  p() // returns the geometry and attribute information
 Hedge* Vertex::star_first() // first incident half-edge
 Hedge* Vertex::star_next(Hedge *e) // iterates to get the next half-edge
 bool Vertex::is_bdry() // Returns if the edge belongs to mesh border

The point methods are:

vec3 Point::p() // returns position vector
vec3 Point::n() // returns norma vector
void Point::add(vec3 v) // adds a vector to the position vector
Hedge* Point::lookup_hedge(Point *p) // looks for a hedge which connects two a point 
bool Point::on_front() // Returns if the point belongs to mesh border

In addition to the mesh adaptation functions, the library also provides iterators for accessing the mesh elements:

 Iterator Surf::faces_begin() // returns face container iterator
 Iterator Surf::edges_begin() // returns edge container iterator
 Iterator Surf::verts_begin() // returns vertex container iterator

 Iterator Surf::faces_end() // returns face container iterator
 Iterator Surf::edges_end() // returns edge container iterator
 Iterator Surf::verts_end() // returns vertex container iterator

Generated on Fri Feb 24 12:23:22 2006 for TOPs by  doxygen 1.4.6-NO