#include <loop.h>
Public Member Functions | |
| void | del_single_vertex_edge_pair () |
| void | set_loop_head (edge_t *head) |
| edge_t * | mev (edge_t *e, point_t const &p) |
| same as euler::solid_t::mev(e, e, p). | |
| void | kev (edge_t *e) |
| same as euler::solid_t::kev(e), except e and its opposite have to be on the same loop. | |
| int | total_vertices () const |
| multiple counting vertices with multiple occurence in the loop. | |
Public Attributes | |
| face_t * | f |
| edge_t * | e |
| loop_t * | pre |
| loop_t * | nxt |
Private Member Functions | |
| loop_t (face_t *f) | |
| loop_t (face_t *f, vertex_t *v) | |
| ~loop_t () | |
| edge_t * | mev (edge_t *e, vertex_t *v) |
| same as euler::solid_t::mev(e, e, p). | |
| void | append_to_loop_list () |
Friends | |
| class | face_t |
test-cube-with-hole-2.cc, test-cube-with-hole.cc, test-cube.cc, and test-cylinder-2.cc.
Definition at line 25 of file loop.h.
|
|
Definition at line 21 of file loop.cpp. References append_to_loop_list().
|
|
||||||||||||
|
Definition at line 25 of file loop.cpp. References append_to_loop_list(), and euler::vertex_t::e. 00025 : f(f), e(0), pre(0), nxt(0) 00026 { 00027 append_to_loop_list(); 00028 new edge_t(v, this); 00029 new edge_t(v, this->e); 00030 }
|
|
|
Definition at line 32 of file loop.cpp. References e, and euler::edge_t::nxt. 00033 { 00034 if(! e) return; 00035 00036 edge_t *e0 = e; 00037 do 00038 { 00039 edge_t *temp = e; 00040 e = e->nxt; 00041 delete temp; 00042 } 00043 while(e != e0); 00044 }
|
|
|
Definition at line 49 of file loop.cpp. References f, euler::face_t::l, nxt, and pre. Referenced by loop_t(). 00050 { 00051 if(f->l) 00052 { 00053 loop_t* lp = f->l; 00054 for(; lp->nxt; lp = lp->nxt); 00055 lp->nxt = this; 00056 pre = lp; 00057 } 00058 else 00059 f->l = this; 00060 }
|
|
|
Definition at line 63 of file loop.cpp. References e, euler::edge_t::nxt, euler::edge_t::pre, and euler::edge_t::v. Referenced by euler::solid_t::block(), and main(). 00064 { 00065 edge_t *e1=0, *e2=0, *cur = e; 00066 do 00067 { 00068 if(! cur->o) 00069 if(! cur->nxt->o) 00070 { 00071 e1 = cur, e2 = cur->nxt; 00072 break; 00073 } 00074 } 00075 while( (cur=cur->nxt) != e ); 00076 00077 if(!e1 || !e2) return; 00078 00079 assert(e1->v == e2->v); 00080 00081 if(e->nxt->nxt->nxt != e) 00082 { 00083 if(e == e1 || e == e2) 00084 e = e2->nxt; 00085 00086 e2->nxt->pre = e1->pre; 00087 e1->pre->nxt = e2->nxt; 00088 00089 delete e1; delete e2; 00090 } 00091 }
|
|
|
same as euler::solid_t::kev(e), except e and its opposite have to be on the same loop.
Definition at line 50 of file kev.cpp. References euler::solid_t::_kev(), e, f, euler::edge_t::l, euler::edge_t::o, and euler::face_t::s.
|
|
||||||||||||
|
same as euler::solid_t::mev(e, e, p).
Definition at line 60 of file mev.cpp. References e, f, euler::solid_t::mev(), and euler::face_t::s.
|
|
||||||||||||
|
same as euler::solid_t::mev(e, e, p).
Definition at line 55 of file mev.cpp. References e, f, euler::solid_t::mev(), and euler::face_t::s. Referenced by euler::face_t::arc(), euler::solid_t::block(), main(), euler::face_t::mekr(), euler::solid_t::rsweep_face(), and euler::solid_t::rsweep_wire().
|
|
|
Definition at line 29 of file loop.h. References e. Referenced by main(). 00029 { e = head; }
|
|
|
multiple counting vertices with multiple occurence in the loop.
Definition at line 93 of file loop.cpp. References e, and euler::edge_t::nxt. Referenced by euler::solid_t::kffmh(), euler::solid_t::rsweep_face(), and euler::solid_t::rsweep_wire(). 00094 { 00095 int total = 0; 00096 edge_t *cur = e; 00097 do 00098 { 00099 total++; 00100 } 00101 while( (cur=cur->nxt) != e ); 00102 return total; 00103 }
|
|
|
|
|
|
|
Definition at line 34 of file loop.h. Referenced by append_to_loop_list(), euler::solid_t::block(), euler::solid_t::kef(), kev(), euler::solid_t::kev(), main(), mev(), euler::solid_t::mev(), and euler::operator<<(). |
|
|
Definition at line 36 of file loop.h. Referenced by euler::solid_t::add_face_to(), append_to_loop_list(), euler::solid_t::assert_consistent_B_rep(), euler::face_t::del_loop(), euler::face_t::kemr(), euler::solid_t::kffmh(), euler::solid_t::kfmrh(), main(), euler::operator<<(), euler::solid_t::rsweep_face(), euler::solid_t::tsweep_face(), and euler::face_t::~face_t(). |
|
|
Definition at line 36 of file loop.h. Referenced by euler::solid_t::add_face_to(), append_to_loop_list(), and euler::face_t::del_loop(). |
1.4.6