include/shape/ssi/ssi_dsearch.hpp File Reference

#include <shape/ssi/ssi_def.hpp>
#include <shape/ssi/ssi_qsegment.hpp>
#include <list>
#include <queue>
#include <shape/ssi/ssi_ordered_pair.hpp>
#include <shape/ssi/ssi_tri_tri.hpp>
#include <shape/ssi/ssi_math.hpp>

Go to the source code of this file.

Classes

Namespaces

Defines

Typedefs

Functions


Define Documentation

#define __convert_order__ ( i,
point   )     { point[(i+1)%2] = 1.0-point[(i+1)%2]; }

Definition at line 24 of file ssi_dsearch.hpp.

#define __down__   1

Definition at line 15 of file ssi_dsearch.hpp.

Referenced by dsearch< C, V >::push(), and ssiqtsl< C, V >::solve_cf().

#define __down__param_triangle__ (  )     q[1],q[0],q[2]

Definition at line 23 of file ssi_dsearch.hpp.

#define __down__triangle__ (  )     q[0],q[1],q[2]

Definition at line 19 of file ssi_dsearch.hpp.

#define __triangle_triangle_case__ ( trig0,
trig1   ) 
Value:
{                                                                     \
  if ( geom::intersectp_triangles3_isegment                           \
       ( coplanar, seg[0], seg[1],                                    \
         trig0##triangle__(a),                                        \
         trig1##triangle__(b), point3::value_type(1e-12) ))           \
    {                                                                 \
      if ( !coplanar )                                                \
        {                                                             \
          space2prm(/* points in parameter space */                    \
                 seg0[0], seg0[1],                                    \
                 /* corresponding points in R3 */                     \
                  seg[0],  seg[1],                                    \
                 /* parametric plane = base + 2 vectors  */           \
                 trig0##param_triangle__(a)                           \
                 );                                                   \
          space2prm( seg1[0], seg1[1],                                 \
                    seg[0], seg[1],                                   \
                    trig1##param_triangle__(b) );                     \
          /* retrieve the correct offset coordinates in quad */       \
        __convert_order__(trig0,seg0[0]);                             \
        __convert_order__(trig0,seg0[1]);                             \
        __convert_order__(trig1,seg1[0]);                             \
        __convert_order__(trig1,seg1[1]);                             \
        }                                                             \
    else                                                              \
      {\
        seg0[0][0] = 1.0/3.0; seg0[0][1] = 1.0/3.0;                   \
        seg0[1][0] = 1.0/3.0; seg0[1][0] = 1.0/3.0;                   \
        seg1[0][0] = 1.0/3.0; seg1[0][1] = 1.0/3.0;                   \
        seg1[1][0] = 1.0/3.0; seg1[1][1] = 1.0/3.0;                   \
        __convert_order__(trig0,seg0[0]);                             \
        __convert_order__(trig0,seg0[1]);                             \
        __convert_order__(trig1,seg1[0]);                             \
        __convert_order__(trig1,seg1[1]);                             \
      };                                                              \
        {                                                             \
          f->convert(seg0,this,2);                                    \
          s->convert(seg1,this,2);                                    \
          push( seg0[0], seg0[1], seg1[0], seg1[1], seg[0],seg[1] );  \
        }                                                             \
    };                                                                \
}                                                                     \

Definition at line 26 of file ssi_dsearch.hpp.

Referenced by dsearch< C, V >::push().

#define __up__   0

Definition at line 14 of file ssi_dsearch.hpp.

Referenced by dsearch< C, V >::push(), and ssiqtsl< C, V >::solve_cf().

#define __up__param_triangle__ (  )     q[3],q[2],q[0]

Definition at line 21 of file ssi_dsearch.hpp.

#define __up__triangle__ (  )     q[0],q[3],q[2]

Definition at line 17 of file ssi_dsearch.hpp.

#define push_f   push

Definition at line 312 of file ssi_dsearch.hpp.

Referenced by dsearch< C, V >::search_f().

#define push_s   push

Definition at line 311 of file ssi_dsearch.hpp.

Referenced by dsearch< C, V >::search_s().

#define SHIFT   3

Definition at line 13 of file ssi_dsearch.hpp.

Referenced by dsearch< C, V >::push().

#define TMPL   template<class C,class V>

Definition at line 11 of file ssi_dsearch.hpp.

#define VOISINS_AUSSI

Generated on 6 Dec 2012 for shape by  doxygen 1.6.1