Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

A48::Vertex Class Reference

The Vertex class represents the vertex entity, This class stores geometry and attribute information. More...

#include <vertex.h>

Inheritance diagram for A48::Vertex:

Inheritance graph
[legend]
Collaboration diagram for A48::Vertex:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Vertex ()
 The constructor initializates the class variables to null values.

int level ()
 Returns vertex resolution level.

bool is_bdry ()
 Returns true if the vertex belongs to mesh boundary, else return false.

bool is_inbase ()
 Returns true if the vertex belongs to base mesh, else return false.

bool is_weld (Face *exclude=NULL)
 Returns true if the vertex is a weld vertex, else return false,.

Hedgestar_first () const
 Returns the half-edge of the vertex.

Hedgestar_next (Hedge *h) const
 Returns pointer to next half-edge in face loop.


Private Member Functions

void set_level (int l)
 Initializes the resolution level value.

void set_star (Hedge *h)
 Inicializes the vertex half-edge.


Private Attributes

int l_
 vertex resolution level.

Hedges_
 vertex incoming half-edge (star handle).


Detailed Description

The Vertex class represents the vertex entity, This class stores geometry and attribute information.

Definition at line 20 of file vertex.h.


Member Function Documentation

bool A48::Vertex::is_bdry  )  [inline]
 

Returns true if the vertex belongs to mesh boundary, else return false.

Returns:
boolean type (true or false).

Definition at line 38 of file vertex.h.

References A48::Hedge::edge(), A48::Edge::is_bdry(), and s_.

Referenced by A48::Mesh::simplify().

00038 { return s_->edge()->is_bdry(); };

bool A48::Vertex::is_inbase  )  [inline]
 

Returns true if the vertex belongs to base mesh, else return false.

The base mesh represents the resolution level 0 of the mesh 4-8.

Returns:
boolean type (true or false).

Definition at line 44 of file vertex.h.

References level().

00044 { return (level() == 0); };

bool A48::Vertex::is_weld Face exclude = NULL  )  [inline]
 

Returns true if the vertex is a weld vertex, else return false,.

A weld vertex is a vertex that can be simplified.

Parameters:
exclude Face pointer.
Returns:
boolean type (true or false).

Definition at line 51 of file vertex.h.

References A48::Hedge::face(), is_weld(), star_first(), star_next(), and A48::Face::weld_vertex().

Referenced by is_weld(), A48::Mesh::update_ref_front(), and A48::Mesh::update_simpl_front().

00051 { 00052 int n = 0, k = 0; 00053 for (Hedge *e = star_first(); e != NULL; e = star_next(e), k++) { 00054 Face *f = e->face(); 00055 if (f != NULL && f->weld_vertex() == this && f != exclude) n++; 00056 } 00057 return (n > 0 && k > 2); 00058 }

int A48::Vertex::level  )  [inline]
 

Returns vertex resolution level.

Returns:
Vertex resolution level.

Definition at line 34 of file vertex.h.

References l_.

Referenced by is_inbase(), A48::Face::is_inbase(), A48::Mesh::simplify(), and A48::Mesh::weld().

00034 { return l_; };

void A48::Vertex::set_level int  l  )  [inline, private]
 

Initializes the resolution level value.

Parameters:
l resolution level

Definition at line 76 of file vertex.h.

References l_, and set_level().

Referenced by A48::Mesh::bisect(), set_level(), and A48::Mesh::split().

00076 { l_ = l; };

void A48::Vertex::set_star Hedge h  )  [inline, private]
 

Inicializes the vertex half-edge.

Parameters:
h Half-edge pointer.

Definition at line 80 of file vertex.h.

References s_, and set_star().

Referenced by A48::Mesh::bisect(), A48::Mesh::flip(), A48::Mesh::link_mesh(), A48::Face::link_star_verts(), set_star(), A48::Mesh::split(), and A48::Mesh::weld().

00080 { s_ = h; };

Hedge* A48::Vertex::star_first  )  const [inline]
 

Returns the half-edge of the vertex.

Returns:
half-edge pointer.

Definition at line 62 of file vertex.h.

References s_.

Referenced by A48::Mesh::bisect(), A48::Mesh::flip(), is_weld(), A48::Mesh::simplify(), A48::Mesh::update_ref_front(), A48::Mesh::update_simpl_front(), and A48::Mesh::weld().

00062 { return s_; };

Hedge* A48::Vertex::star_next Hedge h  )  const [inline]
 

Returns pointer to next half-edge in face loop.

Parameters:
h Half-edge pointer.
Returns:
Return half-edge pointer.

Definition at line 67 of file vertex.h.

References A48::Hedge::face(), A48::Hedge::mate(), A48::Hedge::next(), s_, and star_next().

Referenced by is_weld(), A48::Mesh::simplify(), star_next(), A48::Mesh::update_ref_front(), A48::Mesh::update_simpl_front(), and A48::Mesh::weld().

00067 { 00068 if (h->face() == NULL ) return NULL; // other side of boundary 00069 else { Hedge *n = h->next()->mate(); return (n == s_)? NULL : n; } 00070 }


The documentation for this class was generated from the following file:
Generated on Mon Oct 11 19:32:29 2004 for A48 by doxygen 1.3.7