shape_doc 0.1
|
#include <mesher3d_shape.hpp>
Definition at line 29 of file mesher3d_shape.hpp.
typedef Cell::BoundingBox BoundingBox |
Reimplemented from subdivision< C, with_tpl3d< V >, SHAPE_OF(V), cell3d< C, V > >.
Definition at line 46 of file mesher3d_shape.hpp.
Definition at line 43 of file mesher3d_shape.hpp.
Definition at line 44 of file mesher3d_shape.hpp.
typedef cell3d_factory<C,V> Cell3dFactory |
Definition at line 37 of file mesher3d_shape.hpp.
typedef Topology::Edge Edge |
Definition at line 40 of file mesher3d_shape.hpp.
typedef Topology::Face Face |
Definition at line 41 of file mesher3d_shape.hpp.
Definition at line 105 of file subdivision.hpp.
Reimplemented from subdivision< C, with_tpl3d< V >, SHAPE_OF(V), cell3d< C, V > >.
Definition at line 48 of file mesher3d_shape.hpp.
typedef kdtree_cell<SHAPE_OF(V) ,cell3d< C, V > > Output [inherited] |
Definition at line 106 of file subdivision.hpp.
typedef Topology::Point Point |
Definition at line 39 of file mesher3d_shape.hpp.
typedef C Scalar [inherited] |
Definition at line 101 of file subdivision.hpp.
typedef subdivision<C,with_tpl3d<V>, typename SHAPE_OF(V), cell3d<C,V> > Subdivision |
Definition at line 33 of file mesher3d_shape.hpp.
Definition at line 45 of file mesher3d_shape.hpp.
Definition at line 32 of file mesher3d_shape.hpp.
typedef use<subdivision_def,V> VRT |
Definition at line 34 of file mesher3d_shape.hpp.
mesher3d_shape | ( | double | e1 = 0.1 , |
double | e2 = 0.01 |
||
) |
Definition at line 69 of file mesher3d_shape.hpp.
: Subdivision(e1, e2) { }
mesher3d_shape | ( | Shape * | s, |
const BoundingBox & | bx, | ||
double | e1 = 0.1 , |
||
double | e2 = 0.01 |
||
) |
Definition at line 72 of file mesher3d_shape.hpp.
References cell3d_factory< C, V >::instance(), and mesher3d_shape< C, V >::set_input().
: Subdivision(e1, e2) { this->set_input(Cell3dFactory::instance()->create(s0,bx0)); }
~mesher3d_shape | ( | void | ) |
Definition at line 77 of file mesher3d_shape.hpp.
{
// delete m_tree ;
}
void clear | ( | void | ) | [virtual] |
Remove all vertices, edges and faces from the 3D subdivision.
Reimplemented from subdivision< C, with_tpl3d< V >, SHAPE_OF(V), cell3d< C, V > >.
Definition at line 159 of file mesher3d_shape.hpp.
{
// this->output()->clear();
}
double get_precision | ( | void | ) | const [inline, inherited] |
Definition at line 122 of file subdivision.hpp.
References subdivision< C, V, Shape, Cell >::m_minprec.
{ return m_minprec ; }
double get_smoothness | ( | void | ) | const [inline, inherited] |
Definition at line 123 of file subdivision.hpp.
References subdivision< C, V, Shape, Cell >::m_maxprec.
{ return m_maxprec ; }
Input* input | ( | void | ) | [inline, inherited] |
Definition at line 114 of file subdivision.hpp.
{ return m_input; }
bool insert_regular | ( | Cell * | cell | ) |
Definition at line 97 of file mesher3d_shape.hpp.
References cell3d< C, V >::insert_regular().
bool is_regular | ( | Cell * | cell | ) |
Definition at line 92 of file mesher3d_shape.hpp.
References cell3d< C, V >::is_regular().
{
return cl->is_regular();
}
Output* output | ( | void | ) | [inline, inherited] |
Definition at line 115 of file subdivision.hpp.
{ return m_output; }
typedef REF_OF | ( | V | ) |
void run | ( | void | ) |
Reimplemented from subdivision< C, with_tpl3d< V >, SHAPE_OF(V), cell3d< C, V > >.
Definition at line 117 of file mesher3d_shape.hpp.
References node< _Object, _CELL >::get_cell(), cell3d< C, V >::is_active(), cell3d< C, V >::is_regular(), and bounding_box< C, V >::size().
{ //this->Subdivision::run(); double maxsz = this->get_smoothness()*this->output()->root()->get_cell()->size(); double minsz = this->get_precision()*this->output()->root()->get_cell()->size(); std::cout<<maxsz<<" "<<minsz<<std::endl; while(!this->output()->m_nodes.empty()) { Node* node = this->output()->m_nodes.front() ; Cell* cl = node->get_cell() ; if(cl->is_active()) { if(cl->size() > maxsz) { this->subdivide(cl, node) ; } else if(cl->is_regular()) { this->insert_regular(cl) ; } else if(cl->size() > minsz ) { // std::cout<<"subdivide not regular"<<std::endl; this->subdivide(cl, node) ; } else { // std::cout<<"insert singular"<<std::endl; //this->sing_process(cl); } } this->output()->m_nodes.pop_front() ; } foreach(Cell * cl, this->output()->m_leaves) { dynamic_cast<Cell3d*>(cl)->topology_regular(this); //foreach(Point* p, cl->m_points) this->insert(p); //foreach(Face* f, cl->m_faces) this->insert(f); } std::cout<< "leaves="<< this->output()->m_leaves.size()<<"\n"; }
void set_input | ( | Shape * | s, |
const BoundingBox & | bx | ||
) |
Definition at line 86 of file mesher3d_shape.hpp.
{ this->set_input(Cell3dFactory::instance()->create(s0,bx0)); }
void set_input | ( | Cell * | cl | ) |
Definition at line 81 of file mesher3d_shape.hpp.
Referenced by mesher3d_shape< C, V >::mesher3d_shape().
{ this->set_input(cl); }
void set_input | ( | cell3d< C, V > * | bx | ) | [inherited] |
void set_precision | ( | double | ) | [inherited] |
void set_smoothness | ( | double | ) | [inherited] |
typedef SHAPE_OF | ( | V | ) |
bool sing_process | ( | Cell * | cell | ) |
Definition at line 104 of file mesher3d_shape.hpp.
References cell3d< C, V >::insert_singular().
{ return cl->insert_singular(this) ; }
Definition at line 109 of file mesher3d_shape.hpp.
References mmx::shape_ssi::left(), node< _Object, _CELL >::m_left, node< _Object, _CELL >::m_right, Node, mmx::shape_ssi::right(), and cell3d< C, V >::subdivide().
double m_maxprec [inherited] |
Definition at line 131 of file subdivision.hpp.
double m_minprec [inherited] |
Definition at line 132 of file subdivision.hpp.