shape_doc 0.1
mesher3d< C, V, Shape, Cell > Struct Template Reference

#include <mesher3d.hpp>

Inheritance diagram for mesher3d< C, V, Shape, Cell >:
mesher3d_dual< C, V, Shape, Cell >

List of all members.

Public Types

Public Member Functions


Detailed Description

template<class C, class V = default_env, class Shape = typename SHAPE_OF(V), class Cell = cell3d<C,V>>
struct mmx::shape::mesher3d< C, V, Shape, Cell >

Examples:

algebraic_surface_test.cpp.

Definition at line 37 of file mesher3d.hpp.


Member Typedef Documentation

typedef Cell::BoundingBox BoundingBox

Definition at line 46 of file mesher3d.hpp.

typedef Output::Edge Edge

Reimplemented in mesher3d_dual< C, V, Shape, Cell >.

Definition at line 44 of file mesher3d.hpp.

typedef Output::Face Face

Reimplemented in mesher3d_dual< C, V, Shape, Cell >.

Definition at line 45 of file mesher3d.hpp.

typedef Cell Input

Reimplemented in mesher3d_dual< C, V, Shape, Cell >.

Definition at line 41 of file mesher3d.hpp.

typedef tpl3d<C,V> Output

Reimplemented in mesher3d_dual< C, V, Shape, Cell >.

Definition at line 42 of file mesher3d.hpp.

Reimplemented in mesher3d_dual< C, V, Shape, Cell >.

Definition at line 43 of file mesher3d.hpp.

typedef subdivision<C,V,Shape,Cell> Subdivisor

Definition at line 39 of file mesher3d.hpp.


Constructor & Destructor Documentation

mesher3d ( double  e1 = 0.1,
double  e2 = 0.01 
)

Definition at line 76 of file mesher3d.hpp.

                                       : m_smooth(e1), m_prec(e2)
{
  m_output = new Output;
}
~mesher3d ( void  )

Definition at line 81 of file mesher3d.hpp.

                         {
  delete m_output;
}

Member Function Documentation

void clear ( void  )

Definition at line 106 of file mesher3d.hpp.

                          {
  this->output()->clear();
}
double get_precision ( void  ) [inline]

Definition at line 58 of file mesher3d.hpp.

{ return m_prec;   }
double get_smoothness ( void  ) [inline]

Definition at line 57 of file mesher3d.hpp.

{ return m_smooth; }
Input* input ( void  ) [inline]

Definition at line 61 of file mesher3d.hpp.

{ return m_input; }
Output* output ( void  ) [inline]

Definition at line 62 of file mesher3d.hpp.

{ return m_output; }
void run ( void  )

Reimplemented in mesher3d_dual< C, V, Shape, Cell >.

Definition at line 90 of file mesher3d.hpp.

References Cell, subdivision< C, V, Shape, Cell >::output(), subdivision< C, V, Shape, Cell >::run(), and subdivision< C, V, Shape, Cell >::set_input().

                        {

  Subdivisor* sbd = new Subdivisor(m_smooth,m_prec);
  sbd->set_input(this->input());
  sbd->run();

  std::cout<< "leaves    = "<< sbd->output()->m_leaves.size()<<"\n";

  foreach(Cell * cl, sbd->output()->m_leaves) { 
    use<mesher3d_def,V>::polygonise(this->output(), cl);
    //    marching_cube::polygonise(*this->output(), *cl);
    //foreach(Point* p, cl->m_points) this->output()->insert(p); 
  }
}
void set_input ( Shape s,
const BoundingBox bx 
)

Definition at line 85 of file mesher3d.hpp.

{
  this->set_input(cell3d_factory<C,V>::instance()->create(s,bx));
}
void set_input ( Cell *  cl) [inline]

Definition at line 51 of file mesher3d.hpp.

{ m_input= cl; }
void set_precision ( double  e) [inline]
Examples:
algebraic_surface_test.cpp.

Definition at line 55 of file mesher3d.hpp.

{ m_prec   = e; }
void set_smoothness ( double  e) [inline]

Definition at line 54 of file mesher3d.hpp.

{ m_smooth = e; }

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