a48  2.0.2
a48::HalfedgeT< Traits > Class Template Reference

Base type for a halfedge. More...

#include <halfedget.hh>

Inheritance diagram for a48::HalfedgeT< Traits >:
a48::AdaptiveHalfedgeT< Traits >

List of all members.

Public Types

typedef Traits::vertex_type vertex_type
 vertex definition
typedef Traits::halfedge_type halfedge_type
 halfedge definition
typedef Traits::face_type face_type
 face definition
typedef std::pair< const
vertex_type *, const
vertex_type * > 
edge_type
 edge definition

Public Member Functions

 HalfedgeT ()
 Default Constructor.
 HalfedgeT (vertex_type *_v, halfedge_type *_n=0, halfedge_type *_o=0, face_type *_f=0)
bool is_boundary (void) const
 Verifies if this halfedge belongs to the mesh boundary.
bool is_consistent (void) const
 Verifies if this halfedge and its opposite is going in opposed directions.
const vertex_typefrom_vertex (void) const
vertex_typefrom_vertex (void)
 Gets vertex where this halfedge comes from.
const vertex_typevertex (void) const
vertex_typevertex (void)
 Gets incident vertex of this halfedge.
const halfedge_typenext (void) const
halfedge_typenext (void)
 Gets next halfedge of this halfedge.
const halfedge_typeprevious (void) const
halfedge_typeprevious (void)
 Gets previous halfedge of this halfedge.
const halfedge_typeopposite (void) const
halfedge_typeopposite (void)
 Gets opposite halfedge of this halfedge.
const face_typeface (void) const
face_typeface (void)
 Gets incident face of this halfedge.
unsigned int adjacent_faces (void) const
 Gets the number of adjacent faces to this halfedge.
edge_type edge (void) const
void edge (edge_type &e) const
 Gets the edge of this halfedge.
bool is_flip_ok (void) const
 Verifies if this halfedge can be flipped.
void set_vertex (vertex_type *_v)
 Sets incident vertex of this halfedge.
void set_next (halfedge_type *_n)
 Sets next halfedge of this halfedge.
void set_opposite (halfedge_type *_o)
 Sets opposite halfedge of this halfedge.
void set_face (face_type *_f)
 Sets incident face of this halfedge.
void set (vertex_type *_v, halfedge_type *_n, halfedge_type *_o)
void set (vertex_type *_v, halfedge_type *_n, face_type *_f)
void set (vertex_type *_v, halfedge_type *_n)
void set (halfedge_type *_n, face_type *_f)
void set (halfedge_type *_n, face_type *_f, halfedge_type *_o)
void set (face_type *_f, halfedge_type *_o)
void set (vertex_type *_v, halfedge_type *_n, halfedge_type *_o, face_type *_f)
 Sets halfedge information.

Related Functions

(Note that these are not member functions.)

template<class halfedge_type >
void flip_orientation (halfedge_type *h)
 Flip halfedge orientation.

Detailed Description

template<class Traits>
class a48::HalfedgeT< Traits >

Base type for a halfedge.

See also:
MeshT
Template Parameters:
TraitsTemplate argument to access mesh-base definitions
Examples:
example_stellarmesht.cc, example_stellarpolicy.cc, and example_traits.h.

Definition at line 27 of file halfedget.hh.


Member Typedef Documentation

template<class Traits >
typedef Traits::vertex_type a48::HalfedgeT< Traits >::vertex_type

vertex definition

Reimplemented in a48::AdaptiveHalfedgeT< Traits >.

Definition at line 31 of file halfedget.hh.

template<class Traits >
typedef Traits::halfedge_type a48::HalfedgeT< Traits >::halfedge_type

halfedge definition

Reimplemented in a48::AdaptiveHalfedgeT< Traits >.

Definition at line 32 of file halfedget.hh.

template<class Traits >
typedef Traits::face_type a48::HalfedgeT< Traits >::face_type

face definition

Reimplemented in a48::AdaptiveHalfedgeT< Traits >.

Definition at line 33 of file halfedget.hh.

template<class Traits >
typedef std::pair< const vertex_type*, const vertex_type* > a48::HalfedgeT< Traits >::edge_type

edge definition

Definition at line 35 of file halfedget.hh.


Constructor & Destructor Documentation

template<class Traits >
a48::HalfedgeT< Traits >::HalfedgeT ( ) [inline]

Default Constructor.

Definition at line 38 of file halfedget.hh.

template<class Traits >
a48::HalfedgeT< Traits >::HalfedgeT ( vertex_type _v,
halfedge_type _n = 0,
halfedge_type _o = 0,
face_type _f = 0 
) [inline]

Constructor

Parameters:
[in]_vVertex this halfedge will point to
[in]_nNext halfedge this halfedge will point to
[in]_oOpposite halfedge this halfedge will point to
[in]_fFace this halfedge will point to

Definition at line 46 of file halfedget.hh.


Member Function Documentation

template<class Traits >
bool a48::HalfedgeT< Traits >::is_boundary ( void  ) const [inline]

Verifies if this halfedge belongs to the mesh boundary.

Returns:
True if this halfedge is at the boundary

Definition at line 54 of file halfedget.hh.

template<class Traits >
bool a48::HalfedgeT< Traits >::is_consistent ( void  ) const [inline]

Verifies if this halfedge and its opposite is going in opposed directions.

Returns:
True if this halfedge is consistent

Definition at line 59 of file halfedget.hh.

template<class Traits >
const vertex_type * a48::HalfedgeT< Traits >::from_vertex ( void  ) const [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns:
Constant vertex pointer

Definition at line 67 of file halfedget.hh.

References a48::HalfedgeT< Traits >::previous().

template<class Traits >
vertex_type* a48::HalfedgeT< Traits >::from_vertex ( void  ) [inline]

Gets vertex where this halfedge comes from.

Returns:
Vertex pointer

Definition at line 71 of file halfedget.hh.

References a48::HalfedgeT< Traits >::previous().

template<class Traits >
const vertex_type * a48::HalfedgeT< Traits >::vertex ( void  ) const [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns:
Constant vertex pointer

Definition at line 76 of file halfedget.hh.

template<class Traits >
vertex_type* a48::HalfedgeT< Traits >::vertex ( void  ) [inline]

Gets incident vertex of this halfedge.

Returns:
Vertex pointer

Definition at line 80 of file halfedget.hh.

template<class Traits >
const halfedge_type * a48::HalfedgeT< Traits >::next ( void  ) const [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns:
Constant halfedge pointer

Definition at line 85 of file halfedget.hh.

template<class Traits >
halfedge_type* a48::HalfedgeT< Traits >::next ( void  ) [inline]

Gets next halfedge of this halfedge.

Returns:
Halfedge pointer

Definition at line 89 of file halfedget.hh.

template<class Traits >
const halfedge_type * a48::HalfedgeT< Traits >::previous ( void  ) const [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns:
Constant halfedge pointer

Definition at line 94 of file halfedget.hh.

template<class Traits >
halfedge_type* a48::HalfedgeT< Traits >::previous ( void  ) [inline]

Gets previous halfedge of this halfedge.

Returns:
Halfedge pointer

Definition at line 102 of file halfedget.hh.

template<class Traits >
const halfedge_type * a48::HalfedgeT< Traits >::opposite ( void  ) const [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns:
Constant halfedge pointer (0 means boundary halfedge)

Definition at line 111 of file halfedget.hh.

template<class Traits >
halfedge_type* a48::HalfedgeT< Traits >::opposite ( void  ) [inline]

Gets opposite halfedge of this halfedge.

Returns:
Halfedge pointer (0 means boundary halfedge)

Definition at line 115 of file halfedget.hh.

template<class Traits >
const face_type * a48::HalfedgeT< Traits >::face ( void  ) const [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns:
Constant face pointer

Definition at line 120 of file halfedget.hh.

template<class Traits >
face_type* a48::HalfedgeT< Traits >::face ( void  ) [inline]

Gets incident face of this halfedge.

Returns:
Face pointer

Definition at line 124 of file halfedget.hh.

template<class Traits >
unsigned int a48::HalfedgeT< Traits >::adjacent_faces ( void  ) const [inline]

Gets the number of adjacent faces to this halfedge.

Returns:
Number of adjacent faces

Definition at line 129 of file halfedget.hh.

References a48::HalfedgeT< Traits >::is_boundary().

template<class Traits >
edge_type a48::HalfedgeT< Traits >::edge ( void  ) const [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns:
Edge

Definition at line 134 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::edge ( edge_type e) const [inline]

Gets the edge of this halfedge.

An edge is a pair of vertex pointers (from lower to higher pointer value).

Parameters:
[out]eEdge to be returned

Definition at line 146 of file halfedget.hh.

References a48::HalfedgeT< Traits >::from_vertex(), and a48::HalfedgeT< Traits >::vertex().

template<class Traits >
bool a48::HalfedgeT< Traits >::is_flip_ok ( void  ) const [inline]

Verifies if this halfedge can be flipped.

Returns:
True if this halfedge allows flipping

Definition at line 156 of file halfedget.hh.

References a48::HalfedgeT< Traits >::from_vertex(), and a48::HalfedgeT< Traits >::vertex().

template<class Traits >
void a48::HalfedgeT< Traits >::set_vertex ( vertex_type _v) [inline]

Sets incident vertex of this halfedge.

Parameters:
[in]_vVertex pointer

Definition at line 170 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set_next ( halfedge_type _n) [inline]

Sets next halfedge of this halfedge.

Parameters:
[in]_nHalfedge pointer

Definition at line 175 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set_opposite ( halfedge_type _o) [inline]

Sets opposite halfedge of this halfedge.

Parameters:
[in]_oHalfedge pointer

Definition at line 180 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set_face ( face_type _f) [inline]

Sets incident face of this halfedge.

Parameters:
[in]_fFace pointer

Definition at line 185 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set ( vertex_type _v,
halfedge_type _n,
halfedge_type _o 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
[in]_vVertex this halfedge will point to
[in]_nNext halfedge this halfedge will point to
[in]_oOpposite halfedge this halfedge will point to

Definition at line 192 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set ( vertex_type _v,
halfedge_type _n,
face_type _f 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
[in]_vVertex this halfedge will point to
[in]_nNext halfedge this halfedge will point to
[in]_fFace this halfedge will point to

Definition at line 198 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set ( vertex_type _v,
halfedge_type _n 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
[in]_vVertex this halfedge will point to
[in]_nNext halfedge this halfedge will point to

Definition at line 203 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set ( halfedge_type _n,
face_type _f 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
[in]_nNext halfedge this halfedge will point to
[in]_fFace this halfedge will point to

Definition at line 208 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set ( halfedge_type _n,
face_type _f,
halfedge_type _o 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
[in]_nNext halfedge this halfedge will point to
[in]_fFace this halfedge will point to
[in]_oOpposite halfedge this halfedge will point to

Definition at line 214 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set ( face_type _f,
halfedge_type _o 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
[in]_fFace this halfedge will point to
[in]_oOpposite halfedge this halfedge will point to

Definition at line 219 of file halfedget.hh.

template<class Traits >
void a48::HalfedgeT< Traits >::set ( vertex_type _v,
halfedge_type _n,
halfedge_type _o,
face_type _f 
) [inline]

Sets halfedge information.

Parameters:
[in]_vVertex this halfedge will point to
[in]_nNext halfedge this halfedge will point to
[in]_oOpposite halfedge this halfedge will point to
[in]_fFace this halfedge will point to

Definition at line 226 of file halfedget.hh.


Friends And Related Function Documentation

template<class halfedge_type >
void flip_orientation ( halfedge_type h) [related]

Flip halfedge orientation.

Parameters:
[in,out]hHalfedge to be flipped (first and all the next)
Template Parameters:
halfedge_typeBase halfedge class must be derived from
See also:
HalfedgeT
Examples:
example_meshalgorithms.cc.

Definition at line 434 of file mesh.hh.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Typedefs