Edge Class Reference

Edge for the Mesh class. More...

#include <Edge.h>

List of all members.

Public Member Functions

 Edge ()
 Classical constructor.
 Edge (const Edge &)
 Copy constructor.
 ~Edge ()
 Destructor.
int destroy ()
 Set all index to -1.
int set_index_0 (int i0)
 set first vertex index
int set_index_1 (int i1)
 set second vertex index
int set_index (int i0, int i1)
 set both vertices index
int set_face_0 (int f0)
 set first opposite face
int set_face_1 (int f1)
 set second opposite face
int set_face (int f0, int f1)
 set both opposite face
int set_next_edge (int e0)
 set next edge
int set_previous_edge (int e1)
 set previous edge
int set_edges (int e0, int e1)
 set both edges
int set_half_edge (int e)
 set the corresponding half edge
int get_index_0 () const
 get first vertex index
int & get_index_0 ()
 get first vertex index
int get_index_1 () const
 get second vertex index
int & get_index_1 ()
 get second vertex index
int get_face_0 () const
 get first face index
int & get_face_0 ()
 get first face index
int get_face_1 () const
 get second face index
int & get_face_1 ()
 get second face index
int get_edge_0 () const
 get first edge index (next edge)
int & get_edge_0 ()
 get first edge index (next edge)
int get_edge_1 () const
 get second edge index (previous edge)
int & get_edge_1 ()
 get second edge index (previous edge)
int get_next_edge_index () const
 get next edge index
int & get_next_edge_index ()
 get next edge index
int get_previous_edge_index () const
 get previous edge index
int & get_previous_edge_index ()
 get previous edge index
int get_half_edge () const
 get the corresponding half edge
int & get_half_edge ()
 get the corresponding half edge
const Edgeoperator= (const Edge &)

Private Attributes

int index_0
 index of vertex 0
int index_1
 index of vertex 1
int face_01
 opposite face in direction 01
int face_10
 opposite face in direction 10
int next_edge
 index of next Edge
int previous_edge
 index of previous Edge
int half_edge
 index to opposite half edge

Friends

bool operator== (const Edge &, const Edge &)
 test equality
bool operator!= (const Edge &, const Edge &)
 test equality
std::ostream & operator<< (std::ostream &flux, const Edge &)
 Stream output.


Detailed Description

Edge for the Mesh class.

Pointer index for Edge class.

Index of vertices [i0,i1] Index of Opposite faces [F0,F1] Index of following, previous edges [E0,E1]

Definition at line 58 of file Edge.h.


Constructor & Destructor Documentation

Edge::Edge (  ) 

Classical constructor.

Definition at line 26 of file Edge.cpp.

00026           :
00027   index_0(-1),index_1(-1),face_01(-1),face_10(-1),next_edge(-1),previous_edge(-1),half_edge(-1)
00028 {}

Edge::Edge ( const Edge e  ) 

Copy constructor.

Definition at line 30 of file Edge.cpp.

References face_01, face_10, half_edge, index_0, index_1, next_edge, and previous_edge.

00031 {
00032   index_0       = e.index_0;
00033   index_1       = e.index_1;
00034   face_01       = e.face_01;
00035   face_10       = e.face_10;
00036   next_edge     = e.next_edge;
00037   previous_edge = e.previous_edge;
00038   half_edge     = e.half_edge;
00039 }

Edge::~Edge (  ) 

Destructor.

Definition at line 40 of file Edge.cpp.

References destroy().

00040 {destroy();}

Here is the call graph for this function:


Member Function Documentation

int Edge::destroy (  ) 

Set all index to -1.

Definition at line 41 of file Edge.cpp.

References face_01, face_10, half_edge, index_0, index_1, next_edge, and previous_edge.

Referenced by ~Edge().

00042 {
00043   index_0=-1;
00044   index_1=-1;
00045   face_01=-1;
00046   face_10=-1;
00047   next_edge=-1;
00048   previous_edge=-1;
00049   half_edge=-1;
00050 
00051   return 0;
00052 }

Here is the caller graph for this function:

int Edge::set_index_0 ( int  i0  ) 

set first vertex index

Definition at line 57 of file Edge.cpp.

References index_0.

00057 {index_0=i0;return 0;}

int Edge::set_index_1 ( int  i1  ) 

set second vertex index

Definition at line 58 of file Edge.cpp.

References index_1.

00058 {index_1=i1;return 0;}

int Edge::set_index ( int  i0,
int  i1 
)

set both vertices index

Definition at line 59 of file Edge.cpp.

References index_0, and index_1.

Referenced by Connectivity::build_edges().

00059 {index_0=i0;index_1=i1;return 0;}

Here is the caller graph for this function:

int Edge::set_face_0 ( int  f0  ) 

set first opposite face

Definition at line 61 of file Edge.cpp.

References face_01.

Referenced by Connectivity::build_edges().

00061 {face_01=f0;return 0;}

Here is the caller graph for this function:

int Edge::set_face_1 ( int  f1  ) 

set second opposite face

Definition at line 62 of file Edge.cpp.

References face_10.

00062 {face_10=f1;return 0;}

int Edge::set_face ( int  f0,
int  f1 
)

set both opposite face

Definition at line 63 of file Edge.cpp.

References face_01, and face_10.

00063 {face_01=f0;face_10=f1;return 0;}

int Edge::set_next_edge ( int  e0  ) 

set next edge

Definition at line 65 of file Edge.cpp.

References next_edge.

Referenced by Connectivity::build_edges().

00065 {next_edge=e0;return 0;}

Here is the caller graph for this function:

int Edge::set_previous_edge ( int  e1  ) 

set previous edge

Definition at line 66 of file Edge.cpp.

References previous_edge.

Referenced by Connectivity::build_edges().

00066 {previous_edge=e1;return 0;}

Here is the caller graph for this function:

int Edge::set_edges ( int  e0,
int  e1 
)

set both edges

Definition at line 67 of file Edge.cpp.

References next_edge, and previous_edge.

00067 {next_edge=e0;previous_edge=e1;return 0;}

int Edge::set_half_edge ( int  e  ) 

set the corresponding half edge

Definition at line 69 of file Edge.cpp.

References half_edge.

00069 {half_edge=e;return 0;}

int Edge::get_index_0 (  )  const

get first vertex index

Definition at line 74 of file Edge.cpp.

References index_0.

Referenced by Connectivity::build_edges(), Connectivity::find_all_current_edge_slow(), Connectivity::find_current_edge_slow(), and Connectivity::get_edge_segment().

00074 {return index_0;}

Here is the caller graph for this function:

int & Edge::get_index_0 (  ) 

get first vertex index

Definition at line 75 of file Edge.cpp.

References index_0.

00075 {return index_0;}

int Edge::get_index_1 (  )  const

get second vertex index

Definition at line 76 of file Edge.cpp.

References index_1.

Referenced by Connectivity::build_edges(), Connectivity::find_all_current_edge_slow(), Connectivity::find_current_edge_slow(), and Connectivity::get_edge_segment().

00076 {return index_1;}

Here is the caller graph for this function:

int & Edge::get_index_1 (  ) 

get second vertex index

Definition at line 77 of file Edge.cpp.

References index_1.

00077 {return index_1;}

int Edge::get_face_0 (  )  const

get first face index

Definition at line 79 of file Edge.cpp.

References face_01.

00079 {return face_01;}

int & Edge::get_face_0 (  ) 

get first face index

Definition at line 80 of file Edge.cpp.

References face_01.

00080 {return face_01;}

int Edge::get_face_1 (  )  const

get second face index

Definition at line 81 of file Edge.cpp.

References face_10.

Referenced by Connectivity::write_g_type().

00081 {return face_10;}

Here is the caller graph for this function:

int & Edge::get_face_1 (  ) 

get second face index

Definition at line 82 of file Edge.cpp.

References face_10.

00082 {return face_10;} 

int Edge::get_edge_0 (  )  const

get first edge index (next edge)

Definition at line 84 of file Edge.cpp.

References next_edge.

00084 {return next_edge;}

int & Edge::get_edge_0 (  ) 

get first edge index (next edge)

Definition at line 85 of file Edge.cpp.

References next_edge.

00085 {return next_edge;}

int Edge::get_edge_1 (  )  const

get second edge index (previous edge)

Definition at line 86 of file Edge.cpp.

References previous_edge.

00086 {return previous_edge;}

int & Edge::get_edge_1 (  ) 

get second edge index (previous edge)

Definition at line 87 of file Edge.cpp.

References previous_edge.

00087 {return previous_edge;}

int Edge::get_next_edge_index (  )  const

get next edge index

Definition at line 88 of file Edge.cpp.

References next_edge.

00088 {return next_edge;}

int & Edge::get_next_edge_index (  ) 

get next edge index

Definition at line 89 of file Edge.cpp.

References next_edge.

00089 {return next_edge;}

int Edge::get_previous_edge_index (  )  const

get previous edge index

Definition at line 90 of file Edge.cpp.

References previous_edge.

00090 {return previous_edge;}

int & Edge::get_previous_edge_index (  ) 

get previous edge index

Definition at line 91 of file Edge.cpp.

References previous_edge.

00091 {return previous_edge;}

int Edge::get_half_edge (  )  const

get the corresponding half edge

Definition at line 94 of file Edge.cpp.

References half_edge.

00094 {return half_edge;}

int & Edge::get_half_edge (  ) 

get the corresponding half edge

Definition at line 95 of file Edge.cpp.

References half_edge.

00095 {return half_edge;}

const Edge & Edge::operator= ( const Edge e  ) 

Definition at line 98 of file Edge.cpp.

References face_01, face_10, half_edge, index_0, index_1, next_edge, and previous_edge.

00099 {
00100   index_0       = e.index_0;
00101   index_1       = e.index_1;
00102   face_01       = e.face_01;
00103   face_10       = e.face_10;
00104   next_edge     = e.next_edge;
00105   previous_edge = e.previous_edge;
00106   half_edge     = e.half_edge;
00107 
00108   return *this;
00109 }


Friends And Related Function Documentation

bool operator== ( const Edge e1,
const Edge e2 
) [friend]

test equality

Definition at line 111 of file Edge.cpp.

00112 {
00113   if(e1.index_0!=e2.index_0)
00114     return 0;
00115   if(e1.index_1!=e2.index_1)
00116     return 0;
00117   if(e1.face_01!=e2.face_01)
00118     return 0;
00119   if(e1.face_10!=e2.face_10)
00120     return 0;
00121   if(e1.next_edge!=e2.next_edge)
00122     return 0;
00123   if(e1.previous_edge!=e2.previous_edge)
00124     return 0;
00125   if(e1.half_edge!=e2.half_edge)
00126     return 0;
00127 
00128   return 1;
00129 }

bool operator!= ( const Edge e1,
const Edge e2 
) [friend]

test equality

Definition at line 130 of file Edge.cpp.

00131 {return !(e1==e2);}

std::ostream& operator<< ( std::ostream &  flux,
const Edge e 
) [friend]

Stream output.

Definition at line 132 of file Edge.cpp.

00133 {
00134   flux<<"i ["<<e.index_0<<","<<e.index_1<<"] , f ["<<e.face_01<<","<<e.face_10<<"] , e ["<<e.next_edge<<","<<e.previous_edge<<"]"<<" h "<<e.half_edge;
00135   return flux;
00136 }


Member Data Documentation

int Edge::index_0 [private]

index of vertex 0

Definition at line 181 of file Edge.h.

Referenced by destroy(), Edge(), get_index_0(), operator<<(), operator=(), operator==(), set_index(), and set_index_0().

int Edge::index_1 [private]

index of vertex 1

Definition at line 183 of file Edge.h.

Referenced by destroy(), Edge(), get_index_1(), operator<<(), operator=(), operator==(), set_index(), and set_index_1().

int Edge::face_01 [private]

opposite face in direction 01

Definition at line 185 of file Edge.h.

Referenced by destroy(), Edge(), get_face_0(), operator<<(), operator=(), operator==(), set_face(), and set_face_0().

int Edge::face_10 [private]

opposite face in direction 10

Definition at line 187 of file Edge.h.

Referenced by destroy(), Edge(), get_face_1(), operator<<(), operator=(), operator==(), set_face(), and set_face_1().

int Edge::next_edge [private]

index of next Edge

Definition at line 189 of file Edge.h.

Referenced by destroy(), Edge(), get_edge_0(), get_next_edge_index(), operator<<(), operator=(), operator==(), set_edges(), and set_next_edge().

int Edge::previous_edge [private]

int Edge::half_edge [private]

index to opposite half edge

Definition at line 193 of file Edge.h.

Referenced by destroy(), Edge(), get_half_edge(), operator<<(), operator=(), operator==(), and set_half_edge().


The documentation for this class was generated from the following files:

Generated on Mon Mar 30 16:56:44 2009 by  doxygen 1.5.6