cell2d_subdivisor< C, V > Struct Template Reference

#include <cell2d_algebraic_curve.hpp>

List of all members.

Static Public Member Functions


Detailed Description

template<class C, class V>
struct mmx::shape::cell2d_subdivisor< C, V >

Kernel for cell2d_algebraic_curve Polynomial : the type of polynomial associated to this class. subdivisor : the function which subdivides the representation.

Definition at line 38 of file cell2d_algebraic_curve.hpp.


Member Function Documentation

void subdivide ( CELL &  cl,
CELL *&  left,
CELL *&  right,
int  v,
double  s 
) [inline, static]

Definition at line 47 of file cell2d_algebraic_curve.hpp.

References Point, Solver, and mmx::split().

00047                                                                                       {
00048 
00049     typedef typename topology<C,V>::Point Point;
00050     typedef solver_implicit<C,V> Solver;
00051 
00052 
00053     double eps =Approximate().eps;
00054     if(v==0) {//direction v=0
00055         left = new CELL(cl);   left ->set_xmax(s);
00056         right= new CELL(cl);   right->set_xmin(s);
00057 
00058         tensor::split(left->m_polynomial, right->m_polynomial, v);
00059 
00060         foreach(Point* p,cl.m_special) {
00061 
00062             if(p->x() < s+eps)
00063                 left ->m_special << p ;
00064             //  else
00065             if(p->x() > s-eps)
00066                 right->m_special << p ;
00067         }
00068 
00069 
00070     } else {//direction v==1
00071 
00072         left = new CELL(cl);  left->set_ymax(s);
00073         right= new CELL(cl);  right->set_ymin(s);
00074 
00075         tensor::split(left->m_polynomial, right->m_polynomial, v);
00076 
00077         foreach(Point* p,cl.m_special) {
00078             if(p->y() < s+eps)
00079                 left->m_special << p ;
00080             //  else
00081             if(p->y() > s-eps)
00082                 right->m_special << p ;
00083         }
00084     }
00085 
00086 }


The documentation for this struct was generated from the following file:

Generated on 6 Dec 2012 for shape by  doxygen 1.6.1