shape_doc 0.1
|
Definition at line 16 of file ssi_def.hpp.
typedef unsigned short coord_t |
Definition at line 21 of file ssi_def.hpp.
typedef ordered_pair<dcurve*> cpair_t |
Definition at line 193 of file ssi_dsearch.hpp.
typedef std::map< dcurve*, links_t > curves_links_t |
Definition at line 192 of file ssi_dsearch.hpp.
Definition at line 18 of file ssi_def.hpp.
typedef Interval<double,3> interval |
Definition at line 13 of file ssi_def.hpp.
Definition at line 191 of file ssi_dsearch.hpp.
Definition at line 14 of file ssi_dsearch.hpp.
Definition at line 15 of file ssi_dsearch.hpp.
Definition at line 21 of file ssi_qsegment.hpp.
typedef list2_t::iterator p2ref_t |
Definition at line 16 of file ssi_dsearch.hpp.
Definition at line 185 of file ssi_dsearch.hpp.
typedef std::priority_queue< assoc_t<pdpoint_t>, std::vector< assoc_t<pdpoint_t> >, assoc_t< pdpoint_t>::dist_cmp > pheap_t |
Definition at line 177 of file ssi_dsearch.hpp.
Definition at line 20 of file ssi_def.hpp.
Definition at line 19 of file ssi_def.hpp.
Definition at line 190 of file ssi_dsearch.hpp.
typedef pset_t::iterator pset_iterator |
Definition at line 212 of file ssi_dsearch.hpp.
Definition at line 182 of file ssi_dsearch.hpp.
Definition at line 23 of file ssi_def.hpp.
typedef short rid_t |
Definition at line 22 of file ssi_def.hpp.
Definition at line 184 of file ssi_dsearch.hpp.
typedef std::priority_queue< assoc_t<sdpoint_t>, std::vector< assoc_t<sdpoint_t> >, assoc_t< sdpoint_t>::dist_cmp > sheap_t |
Definition at line 180 of file ssi_dsearch.hpp.
Definition at line 14 of file ssi_def.hpp.
Definition at line 15 of file ssi_def.hpp.
Definition at line 17 of file ssi_def.hpp.
void mmx::shape_ssi::_link | ( | DPoint * | a, |
DPoint * | b | ||
) | [inline] |
void append | ( | dcurve * | a, |
dcurve * | b | ||
) |
Definition at line 69 of file ssi_dsearch_dcurve.cpp.
References dcurve::inter, dcurve::left, dcurve::owner, dcurve::right, and dcurve::size.
Referenced by _link(), mmx::GLUE_10(), mmx::GLUE_133(), and mmx::GLUE_151().
{ a->left.splice ( a->left.end(), b->left ); a->right.splice( a->right.end(), b->right ); a->inter.splice( a->inter.end(), b->inter ); b->owner = a; a->size += b->size; };
void mmx::shape_ssi::build_pheap | ( | pheap_t & | h, |
pdpoint_t * | first, | ||
pdpoint_t * | last, | ||
double | prec | ||
) |
Definition at line 68 of file ssi_dsearch_build.cpp.
References search().
{ search(h,first,last,prec); };
void mmx::shape_ssi::build_pset | ( | pset_t & | s, |
pdpoint_t * | first, | ||
pdpoint_t * | last, | ||
double | prec | ||
) |
Definition at line 73 of file ssi_dsearch_build.cpp.
References search().
Referenced by reduce2().
{ search(s,first,last,prec); };
void mmx::shape_ssi::build_sheap | ( | sheap_t & | h, |
sdpoint_t * | first, | ||
sdpoint_t * | last, | ||
double | prec | ||
) |
Definition at line 78 of file ssi_dsearch_build.cpp.
References search().
Referenced by dsearch::reduce().
{ search(h,first,last,prec); };
void mmx::shape_ssi::container_add | ( | A & | h, |
const B & | a | ||
) | [inline] |
void mmx::shape_ssi::container_add | ( | pset_t & | s, |
const pdassc_t & | a | ||
) | [inline] |
Definition at line 197 of file ssi_dsearch.hpp.
{ s.insert(a); };
dcurve * curve | ( | pdpoint_t * | p | ) |
Definition at line 30 of file ssi_dsearch_dcurve.cpp.
References pdpoint_t::curve, and dcurve::owner.
Referenced by _link(), curves(), isfirst(), islast(), isright(), link(), satisfy_links(), search(), solve_pheap(), solve_pset(), and solve_sheap().
{ dcurve * tmp = p->curve; while( tmp->owner != tmp ) tmp = tmp->owner; p->curve->owner = tmp; // p->curve = tmp; return tmp; };
dcurve * curve | ( | sdpoint_t * | p | ) |
Definition at line 39 of file ssi_dsearch_dcurve.cpp.
References sdpoint_t::curve, and dcurve::owner.
{ dcurve * tmp = p->curve; while( tmp->owner != tmp ) tmp = tmp->owner; p->curve->owner = tmp; // p->curve = tmp; return tmp; };
cpair_t mmx::shape_ssi::curves | ( | const pdassc_t & | ass | ) | [inline] |
Definition at line 198 of file ssi_dsearch.hpp.
References curve(), and assoc_t< DPoint >::pp.
Referenced by solve_pset().
double mmx::shape_ssi::distance | ( | DP * | pa, |
DP * | pb | ||
) | [inline] |
Definition at line 39 of file ssi_dsearch.hpp.
Referenced by search().
{ double acc = 0.0; for ( unsigned i = 0; i < 4; i++ ) acc += ((*pa)[i]-(*pb)[i])*((*pa)[i]-(*pb)[i]); return acc; };
qnode* mmx::shape_ssi::down | ( | qnode * | q | ) | [inline] |
Definition at line 47 of file ssi_qnode.hpp.
References search(), qnode::umin, and qnode::vmin.
Referenced by lsegment::find_regions().
{ return search( q->umin - 1, q->vmin, q ); };
coord_t mmx::shape_ssi::du | ( | const qnode * | q | ) | [inline] |
Definition at line 29 of file ssi_qnode.hpp.
References qnode::umax, and qnode::umin.
Referenced by qnode::convert(), qnode::split(), and unit().
{ return q->umax-q->umin; };
coord_t mmx::shape_ssi::dv | ( | const qnode * | q | ) | [inline] |
Definition at line 30 of file ssi_qnode.hpp.
References qnode::vmax, and qnode::vmin.
Referenced by qnode::convert(), qnode::split(), and unit().
{ return q->vmax - q->vmin; };
bool mmx::shape_ssi::empty | ( | dcurve * | c | ) | [inline] |
Definition at line 109 of file ssi_dsearch.hpp.
References dcurve::owner.
Referenced by dsearch::reduce(), and reduce2().
{ return c->owner != c; };
void extremums | ( | pdpoint_t * | dst, |
dcurve * | c | ||
) |
Definition at line 59 of file ssi_dsearch_dcurve.cpp.
References pdpoint_t::a, pdpoint_t::curve, dcurve::left, pdpoint_t::ref, and dcurve::right.
{ dst[0].curve = dst[1].curve = dst[2].curve = dst[3].curve = c; dst[0].a = &(dst[1]); dst[1].a = &(dst[0]); dst[0].ref = c->left.begin(); dst[1].ref = c->right.begin(); dst[2].a = &(dst[3]); dst[3].a = &(dst[2]); dst[2].ref = --(c->left.end()); dst[3].ref = --(c->right.end()); };
void extremums | ( | sdpoint_t * | dst, |
dcurve * | src | ||
) |
Definition at line 49 of file ssi_dsearch_dcurve.cpp.
References sdpoint_t::curve, sdpoint_t::idl, sdpoint_t::idr, dcurve::left, and dcurve::right.
Referenced by dsearch::reduce(), and reduce2().
{ dst[0].curve = src; dst[0].idl = src->left.begin(); dst[0].idr = src->right.begin(); dst[1].curve = src; dst[1].idl = --(src->left.end()); dst[1].idr = --(src->right.end()); };
void mmx::shape_ssi::fill_quad_box | ( | vcode_t | c, |
aabb3 & | box, | ||
const vector3 & | p0, | ||
const vector3 & | p1, | ||
const vector3 & | p2, | ||
const vector3 & | p3 | ||
) | [inline] |
bool mmx::shape_ssi::inside | ( | coord_t | u, |
coord_t | v, | ||
qnode * | q | ||
) | [inline] |
Definition at line 37 of file ssi_qnode.hpp.
References qnode::umax, qnode::umin, qnode::vmax, and qnode::vmin.
Referenced by search().
{ if ( q->umin > u ) return false; if ( q->umax <= u ) return false; if ( q->vmin > v ) return false; if ( q->vmax <= v ) return false; return true; };
bool mmx::shape_ssi::isextrem | ( | pdpoint_t * | p | ) | [inline] |
Definition at line 124 of file ssi_dsearch.hpp.
References isfirst(), and islast().
Referenced by satisfy_links(), solve_pheap(), and solve_sheap().
bool mmx::shape_ssi::isextrem | ( | sdpoint_t * | p | ) | [inline] |
bool mmx::shape_ssi::isfirst | ( | sdpoint_t * | p | ) | [inline] |
Definition at line 118 of file ssi_dsearch.hpp.
References curve(), sdpoint_t::idl, and dcurve::left.
Referenced by _link(), isextrem(), and satisfy_links().
{ return curve(p)->left.begin() == p->idl; };
bool mmx::shape_ssi::isfirst | ( | pdpoint_t * | p | ) | [inline] |
Definition at line 121 of file ssi_dsearch.hpp.
References curve(), dcurve::left, pdpoint_t::ref, and dcurve::right.
bool mmx::shape_ssi::islast | ( | sdpoint_t * | p | ) | [inline] |
Definition at line 119 of file ssi_dsearch.hpp.
References curve(), sdpoint_t::idl, and left().
Referenced by _link(), isextrem(), and satisfy_links().
bool mmx::shape_ssi::islast | ( | pdpoint_t * | p | ) | [inline] |
Definition at line 122 of file ssi_dsearch.hpp.
References curve(), left(), pdpoint_t::ref, and dcurve::right.
bool mmx::shape_ssi::isright | ( | pdpoint_t * | p | ) | [inline] |
Definition at line 131 of file ssi_dsearch.hpp.
References curve(), pdpoint_t::ref, and dcurve::right.
Referenced by link().
bool mmx::shape_ssi::leaf | ( | qnode const *const | q | ) | [inline] |
Definition at line 35 of file ssi_qnode.hpp.
References qnode::l.
Referenced by search(), dsearch::search(), dsearch::search_f(), and dsearch::search_s().
{ return (q->l == 0); };
qnode* mmx::shape_ssi::left | ( | qnode * | q | ) | [inline] |
Definition at line 48 of file ssi_qnode.hpp.
References search(), qnode::umin, and qnode::vmin.
Referenced by EdgeListBuilder< node_t >::faceProc(), islast(), node< _Object, _CELL >::node(), octree_node< Object, CELL >::octree_node(), voronoi2d< C, V >::run(), search(), topology2d< C, V >::subdivide(), semialgebraic2d< C, V >::subdivide(), mesher3d_shape< C, V >::subdivide(), mesher3d_curve_algebraic< C, V >::subdivide(), cell3d_surface_algebraic< C, V >::subdivide(), cell3d_algebraic_curve< C, V >::subdivide(), cell2d_voronoi_diagram< C, V >::subdivide(), cell2d_list< C, V >::subdivide(), cell2d_intersection< C, V >::subdivide(), arrangement2d< C, V >::subdivide(), and use< subdivision_def, default_env >::subdivide_node().
{ return search( q->umin, q->vmin - 1, q ); };
void link | ( | sdpoint_t * | a, |
sdpoint_t * | b | ||
) |
Definition at line 90 of file ssi_dsearch_dcurve.cpp.
References _link().
Referenced by satisfy_links(), solve_pheap(), and solve_sheap().
{ _link(a,b); };
void link | ( | pdpoint_t * | a, |
pdpoint_t * | b | ||
) |
sdknode * make | ( | sdpoint_t * | first, |
sdpoint_t * | last, | ||
const dim_cmp< sdpoint_t > & | f | ||
) |
Definition at line 115 of file ssi_dsearch_build.cpp.
References dim_cmp< DPoint >::next().
pdknode * make | ( | pdpoint_t ** | first, |
pdpoint_t ** | last, | ||
const dim_cmp< pdpoint_t > & | f | ||
) |
Definition at line 128 of file ssi_dsearch_build.cpp.
References make(), and dim_cmp< DPoint >::next().
std::ostream & operator<< | ( | std::ostream & | o, |
const qnode & | q | ||
) |
Definition at line 5 of file ssi_qnode.cpp.
References qnode::umax, qnode::umin, qnode::vmax, and qnode::vmin.
{ o << "[ " << q.umin << ", " << q.umax << " ] x "; o << "[ " << q.vmin << ", " << q.vmax << " ]"; return o; };
std::ostream& mmx::shape_ssi::operator<< | ( | std::ostream & | o, |
const lrnode & | l | ||
) |
Definition at line 9 of file ssi_qsegment.cpp.
References lrnode::lmax, lrnode::lmin, lrnode::rmax, and lrnode::rmin.
{ o << l.lmin << " " << l.lmax << " " << l.rmin << " " << l.rmax << std::endl; return o; };
void prepend | ( | dcurve * | a, |
dcurve * | b | ||
) |
Definition at line 78 of file ssi_dsearch_dcurve.cpp.
References dcurve::inter, dcurve::left, dcurve::owner, dcurve::right, and dcurve::size.
Referenced by _link().
{ a->left.splice( a->left.begin(), b->left ); a->right.splice( a->right.begin(), b->right ); a->inter.splice( a->inter.begin(), b->inter ); b->owner = a; a->size += b->size; };
void mmx::shape_ssi::print | ( | std::ostream & | o, |
qtree | q | ||
) |
std::list< dcurve * > * reduce2 | ( | std::vector< dcurve * > * | conflicts | ) |
Definition at line 171 of file ssi_dsearch_build.cpp.
References build_pset(), empty(), extremums(), satisfy_links(), and solve_pset().
Referenced by dsearch::dsearch().
{ if ( conflicts->size() == 0 ) return 0; unsigned i; unsigned endsize = 4*conflicts->size(); pdpoint_t * ends = new pdpoint_t[endsize]; unsigned c = 0; for ( i = 0; i < conflicts->size(); i++ ) { extremums( ends + c, (*conflicts)[i] ); c+= 4; }; pset_t s; build_pset(s,ends, ends + endsize, 0.01 ); curves_links_t links; solve_pset(links,s); for ( curves_links_t::iterator it = links.begin(); it != links.end(); it++ ) satisfy_links( it ); delete[] ends; std::list< dcurve* > * result = new std::list< dcurve * >(); for ( i = 0; i < conflicts->size() ; i++ ) { if ( empty((*conflicts)[i]) ) delete (*conflicts)[i]; else result->push_front( (*conflicts)[i] ); }; return result; };
void reverse | ( | dcurve * | c | ) |
Definition at line 87 of file ssi_dsearch_dcurve.cpp.
References dcurve::inter, dcurve::left, and dcurve::right.
Referenced by _link(), mmx::GLUE_132(), mmx::GLUE_150(), and mmx::GLUE_9().
{ c->left.reverse(); c->right.reverse(); c->inter.reverse(); };
qnode* mmx::shape_ssi::right | ( | qnode * | q | ) | [inline] |
Definition at line 49 of file ssi_qnode.hpp.
References search(), qnode::umin, and qnode::vmin.
Referenced by EdgeListBuilder< node_t >::faceProc(), lrnode::make(), node< _Object, _CELL >::node(), octree_node< Object, CELL >::octree_node(), voronoi2d< C, V >::run(), search(), topology2d< C, V >::subdivide(), semialgebraic2d< C, V >::subdivide(), mesher3d_shape< C, V >::subdivide(), mesher3d_curve_algebraic< C, V >::subdivide(), cell3d_surface_algebraic< C, V >::subdivide(), cell3d_algebraic_curve< C, V >::subdivide(), cell2d_voronoi_diagram< C, V >::subdivide(), cell2d_list< C, V >::subdivide(), cell2d_intersection< C, V >::subdivide(), arrangement2d< C, V >::subdivide(), and use< subdivision_def, default_env >::subdivide_node().
{ return search( q->umin, q->vmin + 1, q ); };
void satisfy_links | ( | curves_links_t::iterator | it | ) |
Definition at line 99 of file ssi_dsearch_dcurve.cpp.
References curve(), isextrem(), isfirst(), islast(), and link().
Referenced by reduce2().
{ std::list< ppair_t > * l = &(it->second); std::vector< ppair_t > starts; std::vector< ppair_t > ends; starts.reserve(10); ends.reserve(10); for ( std::list< ppair_t >::iterator p = l->begin(); p != l->end(); p ++ ) { if ( isfirst(p->first) ) starts.push_back( *p ); else if ( islast(p->first) ) ends.push_back( *p ); }; if ( starts.size() == 1 ) { if ( isextrem( starts[0].first ) && isextrem( starts[0].second ) ) if ( curve(starts[0].first) != curve(starts[0].second)) link( starts[0].first, starts[0].second ); }; if ( ends.size() == 1 ) { if ( isextrem( ends[0].first ) && isextrem( ends[0].second ) ) if ( curve(ends[0].first) != curve(ends[0].second) ) link( ends[0].first, ends[0].second ); }; };
void mmx::shape_ssi::scale | ( | vector3 * | p, |
double | s | ||
) |
Definition at line 98 of file ssi_qsegment.cpp.
Referenced by qsegment::scale_conflict().
{ for ( int i = 0; i < 4; i ++ ) for ( int d = 0; d < 3; d ++ ) p[i][d] *= s; };
void mmx::shape_ssi::search | ( | Container & | c, |
sdpoint_t * | first, | ||
sdpoint_t * | last, | ||
double | epsilonn | ||
) |
void mmx::shape_ssi::search | ( | Container & | c, |
sdknode * | curr, | ||
sdpoint_t *const | query, | ||
unsigned | dim, | ||
double | eps | ||
) |
Definition at line 33 of file ssi_dsearch_build.cpp.
References container_add(), curve(), sdknode::data, distance(), sdknode::l, left(), sdknode::r, right(), and search().
{ if (! curr ) return; bool left = (*query)[dim]-eps<(*(curr->data))[dim]; bool right = (*query)[dim]+eps>(*(curr->data))[dim]; if ( (left && right) && (query<curr->data) && (curve(query) != curve(curr->data)) ) { double d = distance(curr->data,query); if ( (d<eps) ) container_add(c,assoc_t<sdpoint_t>(query,curr->data,d)); }; if ( left ){ search( c, curr->l, query, (dim+1)%4, eps ); }; if ( right ){ search( c, curr->r, query, (dim+1)%4, eps ); }; };
qnode * search | ( | coord_t | u, |
coord_t | v, | ||
qnode * | start | ||
) |
Definition at line 96 of file ssi_qnode.cpp.
References qnode::father, inside(), qnode::l, leaf(), and qnode::r.
Referenced by build_pheap(), build_pset(), build_sheap(), down(), left(), right(), search(), and up().
void mmx::shape_ssi::search | ( | Container & | c, |
pdpoint_t * | first, | ||
pdpoint_t * | last, | ||
double | epsilonn | ||
) |
Definition at line 18 of file ssi_dsearch_build.cpp.
void mmx::shape_ssi::search | ( | Container & | c, |
pdknode * | curr, | ||
pdpoint_t *const | query, | ||
unsigned | dim, | ||
double | eps | ||
) |
Definition at line 51 of file ssi_dsearch_build.cpp.
References container_add(), curve(), pdknode::data, distance(), pdknode::l, left(), pdknode::r, right(), and search().
{ if (! curr ) return; bool left = (*query)[dim]-eps<(*(curr->data))[dim]; bool right = (*query)[dim]+eps>(*(curr->data))[dim]; if ( (left && right) && (query<curr->data) && (curve(query) != curve(curr->data)) ) { double d = distance(curr->data,query); if ( (d<eps) ) container_add(c,assoc_t<pdpoint_t>(query,curr->data,d)); }; if ( left ){ search( c, curr->l, query, (dim+1)%4, eps ); }; if ( right ){ search( c, curr->r, query, (dim+1)%4, eps ); }; };
void mmx::shape_ssi::shiftm | ( | vector3 * | v, |
unsigned | sz, | ||
const aabb3 & | box | ||
) |
Definition at line 90 of file ssi_qsegment.cpp.
Referenced by qsegment::scale_conflict().
{ // double m,M; for ( vector3 * src = v; src != v+sz; src ++ ) for ( int i = 0; i < 3; (*src)[i] -= box[i].m, i ++ ); };
pdpoint_t* mmx::shape_ssi::sibble | ( | pdpoint_t * | p | ) | [inline] |
Definition at line 111 of file ssi_dsearch.hpp.
References pdpoint_t::a.
Referenced by sibbles().
{ return p->a; };
pdassc_t mmx::shape_ssi::sibbles | ( | const pdassc_t & | ass | ) | [inline] |
Definition at line 199 of file ssi_dsearch.hpp.
References assoc_t< DPoint >::pp, and sibble().
Referenced by solve_pset().
void solve_pheap | ( | pheap_t & | h | ) |
Definition at line 84 of file ssi_dsearch_build.cpp.
References curve(), isextrem(), link(), and assoc_t< DPoint >::pp.
void solve_pset | ( | curves_links_t & | links, |
pset_t & | s | ||
) |
Definition at line 142 of file ssi_dsearch_build.cpp.
References curve(), curves(), sibbles(), and swap().
Referenced by reduce2().
{ while ( !s.empty() ) { pdassc_t ass(sibbles(*(s.begin()))); pset_iterator it; it = s.find( ass ); if( it != s.end() ) { s.erase(s.find(ass)); cpair_t tmp (curves(*(s.begin()))); ppair_t p = (s.begin())->pp; if ( curve(p.first) != tmp.first ) { links[tmp.second].push_front(p); std::swap(p.first,p.second); links[tmp.first].push_front(p); } else { links[tmp.first].push_front(p); std::swap(p.first,p.second); links[tmp.second].push_front(p); }; }; s.erase(s.begin()); }; };
void solve_sheap | ( | sheap_t & | h | ) |
Definition at line 100 of file ssi_dsearch_build.cpp.
References curve(), isextrem(), link(), and assoc_t< DPoint >::pp.
Referenced by dsearch::reduce().
{ // dcurve * dummy_curve = new dcurve( point2(), point2(), point2(), point2(), // point3(), point3() ); while( !h.empty() ) { sdassc_t a = h.top(); // cout << a.d << endl; if (( isextrem(a.pp.first) && isextrem(a.pp.second) ) && ( curve(a.pp.first) != curve(a.pp.second) )) link(a.pp.first,a.pp.second); h.pop(); }; };
void mmx::shape_ssi::space2prm | ( | vector2 & | pa, |
vector2 & | pb, | ||
const vector3 & | sa, | ||
const vector3 & | sb, | ||
const vector3 & | base, | ||
const vector3 & | pu, | ||
const vector3 & | pv | ||
) |
Definition at line 74 of file ssi_dsearch_triangle.cpp.
{ /* T(u,v) = base + u*bu +v*bv => spc[0] - base[0] = delta[0] = / bu[0] bv[0]\ / u \ spc[1] - base[1] = delta[1] = | bu[1] bv[1]| | | spc[2] - base[2] = delta[2] = \ bu[2] bv[2]/ \ v / */ vector3 bu; for ( int i = 0; i < 3; i ++ ) bu[i] = pu[i]-base[i]; vector3 bv; for ( int i = 0; i < 3; i ++ ) bv[i] = pv[i]-base[i]; double muu, mvv, muv; muu = 0; for ( int i = 0; i < 3; i ++ ) muu += bu[i]*bu[i]; mvv = 0; for ( int i = 0; i < 3; i ++ ) mvv += bv[i]*bv[i]; muv = 0; for ( int i = 0; i < 3; i ++ ) muv += bu[i]*bv[i]; double detm = muu*mvv - muv*muv; vector3 delta; double x, y; for ( int k = 0; k < 3; k ++ ) delta[k] = sa[k]-base[k]; x = 0; for ( int k = 0; k < 3; k ++ ) x += bu[k]*delta[k]; y = 0; for ( int k = 0; k < 3; k ++ ) y += bv[k]*delta[k]; pa[0] = (mvv * x - muv * y)/detm; pa[1] = (muu * y - muv * x)/detm; for ( int k = 0; k < 3; k ++ ) delta[k] = sb[k]-base[k]; x = 0; for ( int k = 0; k < 3; k ++ ) x += bu[k]*delta[k]; y = 0; for ( int k = 0; k < 3; k ++ ) y += bv[k]*delta[k]; pb[0] = (mvv * x - muv * y)/detm; pb[1] = (muu * y - muv * x)/detm; };
void mmx::shape_ssi::swap | ( | dcurve * | c | ) | [inline] |
Definition at line 129 of file ssi_dsearch.hpp.
References dcurve::left, and dcurve::right.
Referenced by link(), and solve_pset().
{ c->left.swap( c->right ); };
coord_t mmx::shape_ssi::umax | ( | const qnode * | q | ) | [inline] |
Definition at line 32 of file ssi_qnode.hpp.
References qnode::umax.
Referenced by qsegment::qsegment(), surface_parametric< C, V >::sample(), and surface_rational< K, N >::set_range().
{ return q->umax; };
coord_t mmx::shape_ssi::umin | ( | const qnode * | q | ) | [inline] |
Definition at line 31 of file ssi_qnode.hpp.
References qnode::umin.
Referenced by qsegment::qsegment(), surface_parametric< C, V >::sample(), and surface_rational< K, N >::set_range().
{ return q->umin; };
bool mmx::shape_ssi::unit | ( | const qnode * | q | ) | [inline] |
qnode* mmx::shape_ssi::up | ( | qnode * | q | ) | [inline] |
Definition at line 46 of file ssi_qnode.hpp.
References search(), qnode::umin, and qnode::vmin.
Referenced by solver_implicit< C, V >::common_edge_point(), solver_implicit< C, V >::edge_point(), and lsegment::find_regions().
{ return search( q->umin + 1, q->vmin, q ); };
coord_t mmx::shape_ssi::vmax | ( | const qnode * | q | ) | [inline] |
Definition at line 34 of file ssi_qnode.hpp.
References qnode::vmax.
Referenced by qsegment::make(), surface_parametric< C, V >::sample(), and surface_rational< K, N >::set_range().
{ return q->vmax; };
coord_t mmx::shape_ssi::vmin | ( | const qnode * | q | ) | [inline] |
Definition at line 33 of file ssi_qnode.hpp.
References qnode::vmin.
Referenced by qsegment::make(), surface_parametric< C, V >::sample(), and surface_rational< K, N >::set_range().
{ return q->vmin; };
double _st |
Definition at line 127 of file ssi_lsegment.cpp.
const int dw_triangle_[] = { 2, 3, 1 } [static] |
Definition at line 11 of file ssi_dsearch_triangle.cpp.
const int up_triangle_[] = { 0, 1, 3 } [static] |
Definition at line 10 of file ssi_dsearch_triangle.cpp.