#include <ssi_qnode.hpp>
Definition at line 14 of file ssi_qnode.hpp.
qnode | ( | ) | [inline] |
Definition at line 21 of file ssi_qnode.hpp.
Referenced by qnode< C, V >::split_u(), and qnode< C, V >::split_v().
~qnode | ( | ) | [inline] |
Definition at line 94 of file ssi_qnode.hpp.
References qnode< C, V >::l, and qnode< C, V >::r.
Definition at line 169 of file ssi_qnode.hpp.
References assert, mmx::ssi::du(), mmx::ssi::dv(), qnode< C, V >::umax, qnode< C, V >::umin, sample< C, V >::uvalue(), qnode< C, V >::vmax, qnode< C, V >::vmin, and sample< C, V >::vvalue().
00170 { 00171 assert(du(this)==1 && dv(this)==1); 00172 double u = s->uvalue(umin); 00173 double v = s->vvalue(vmin); 00174 double vu = s->uvalue(umax)-u; 00175 double vv = s->vvalue(vmax)-v; 00176 for ( int i = 0; i < n; i ++ ) 00177 { 00178 p[i][0] = u + p[i][0]*vu; 00179 p[i][1] = v + p[i][1]*vv; 00180 }; 00181 }
Definition at line 144 of file ssi_qnode.hpp.
References sample< C, V >::base(), sample< C, V >::m_ncols, qnode< C, V >::r, qnode< C, V >::umax, qnode< C, V >::umin, qnode< C, V >::vmax, and qnode< C, V >::vmin.
Definition at line 101 of file ssi_qnode.hpp.
References sample< C, V >::base(), sample< C, V >::m_ncols, qnode< C, V >::umax, qnode< C, V >::umin, qnode< C, V >::vmax, and qnode< C, V >::vmin.
Referenced by dsearch< C, V >::cnfpush(), and qnode< C, V >::mbox().
bool leaf | ( | ) | const [inline] |
Definition at line 20 of file ssi_qnode.hpp.
References qnode< C, V >::l.
Referenced by dsearch< C, V >::search().
00020 { return (l == 0); };
void mbox | ( | sample< C, V > * | s | ) | [inline] |
Definition at line 130 of file ssi_qnode.hpp.
References qnode< C, V >::box, fxv< C, N, H >::data, and qnode< C, V >::fill().
Referenced by qsegment< C, V >::make().
00131 { 00132 vector3 * qp[4]; 00133 fill( qp, s ); 00134 for ( int i = 0; i < 3; i ++ ) box[i].m = box[i].M = qp[0]->data[i]; 00135 for ( int i = 1; i < 4; i ++ ) 00136 for ( int d = 0; d < 3; d ++ ) 00137 { 00138 if ( qp[i]->data[d] < box[d].m ) box[d].m = qp[i]->data[d]; 00139 else { if ( qp[i]->data[d] > box[d].M ) box[d].M = qp[i]->data[d]; }; 00140 }; 00141 };
void split | ( | sample< C, V > * | s | ) | [inline] |
Definition at line 110 of file ssi_qnode.hpp.
References mmx::ssi::du(), mmx::ssi::dv(), qnode< C, V >::l, qnode< C, V >::r, qnode< C, V >::split_u(), and qnode< C, V >::split_v().
Referenced by dsearch< C, V >::search(), dsearch< C, V >::search_f(), and dsearch< C, V >::search_s().
void split_u | ( | ) | [inline] |
Definition at line 64 of file ssi_qnode.hpp.
References qnode< C, V >::l, qnode< C, V >::qnode(), qnode< C, V >::r, qnode< C, V >::umax, qnode< C, V >::umin, qnode< C, V >::vmax, and qnode< C, V >::vmin.
Referenced by qnode< C, V >::split().
void split_v | ( | ) | [inline] |
Definition at line 78 of file ssi_qnode.hpp.
References qnode< C, V >::l, qnode< C, V >::qnode(), qnode< C, V >::r, qnode< C, V >::umax, qnode< C, V >::umin, qnode< C, V >::vmax, and qnode< C, V >::vmin.
Referenced by qnode< C, V >::split().
Definition at line 16 of file ssi_qnode.hpp.
Referenced by qsegment< C, V >::make(), qnode< C, V >::mbox(), dsearch< C, V >::search(), dsearch< C, V >::search_f(), and dsearch< C, V >::search_s().
Definition at line 19 of file ssi_qnode.hpp.
Referenced by qsegment< C, V >::make(), qsegment< C, V >::qsegment(), and mmx::ssi::search().
Definition at line 18 of file ssi_qnode.hpp.
Referenced by mmx::ssi::leaf(), qnode< C, V >::leaf(), qsegment< C, V >::make(), mmx::ssi::print(), mmx::ssi::search(), dsearch< C, V >::search(), dsearch< C, V >::search_f(), dsearch< C, V >::search_s(), qnode< C, V >::split(), qnode< C, V >::split_u(), qnode< C, V >::split_v(), and qnode< C, V >::~qnode().
Definition at line 18 of file ssi_qnode.hpp.
Referenced by qnode< C, V >::fill(), qsegment< C, V >::make(), mmx::ssi::print(), mmx::ssi::search(), dsearch< C, V >::search(), dsearch< C, V >::search_f(), dsearch< C, V >::search_s(), qnode< C, V >::split(), qnode< C, V >::split_u(), qnode< C, V >::split_v(), and qnode< C, V >::~qnode().
Definition at line 17 of file ssi_qnode.hpp.
Referenced by qnode< C, V >::convert(), mmx::ssi::du(), qnode< C, V >::fill(), mmx::ssi::inside(), qsegment< C, V >::make(), qnode< C, V >::split_u(), qnode< C, V >::split_v(), and mmx::ssi::umax().
Definition at line 17 of file ssi_qnode.hpp.
Referenced by qnode< C, V >::convert(), mmx::ssi::down(), mmx::ssi::du(), qnode< C, V >::fill(), mmx::ssi::inside(), mmx::ssi::left(), qsegment< C, V >::make(), dsearch< C, V >::push(), mmx::ssi::right(), qnode< C, V >::split_u(), qnode< C, V >::split_v(), mmx::ssi::umin(), and mmx::ssi::up().
Definition at line 17 of file ssi_qnode.hpp.
Referenced by qnode< C, V >::convert(), mmx::ssi::dv(), qnode< C, V >::fill(), mmx::ssi::inside(), qsegment< C, V >::make(), qnode< C, V >::split_u(), qnode< C, V >::split_v(), and mmx::ssi::vmax().
Definition at line 17 of file ssi_qnode.hpp.
Referenced by qnode< C, V >::convert(), mmx::ssi::down(), mmx::ssi::dv(), qnode< C, V >::fill(), mmx::ssi::inside(), mmx::ssi::left(), qsegment< C, V >::make(), dsearch< C, V >::push(), mmx::ssi::right(), qnode< C, V >::split_u(), qnode< C, V >::split_v(), mmx::ssi::up(), and mmx::ssi::vmin().