|
shape_doc 0.1
|
#include <tpl3d.hpp>
| typedef Cell::BoundingBox BoundingBox |
Reimplemented from topology< C, V >.
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
Reimplemented from topology< C, V >.
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
| typedef Topology::Edge Edge |
Reimplemented from topology< C, V >.
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
| typedef Topology::Face Face |
Reimplemented from topology< C, V >.
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
| typedef Topology::Point Point |
Reimplemented from topology< C, V >.
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
Definition at line 58 of file topology.hpp.
| tpl3d | ( | const BoundingBox & | bx | ) |
| void clear | ( | void | ) | [virtual] |
Remove all vertices, edges and faces from the 3D topology.
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
Definition at line 275 of file tpl3d.hpp.
{
// Should we clean up these points?
m_faces.resize( 0 );
m_edges.resize( 0 );
m_vertices.resize( 0 );
}
| unsigned count | ( | void | ) | [inline, inherited] |
Definition at line 84 of file topology.hpp.
References topology< C, V >::m_objects.
{ return m_objects.size(); }
| Seq<Edge *> edges | ( | void | ) | const [inline] |
| Seq<Face *> faces | ( | void | ) | const [inline] |
| virtual Face* faces | ( | int | i | ) | [inline, virtual] |
Definition at line 223 of file tpl3d.hpp.
References tpl3d< C, V >::m_faces.
{ return m_faces[i] ; }
| void insert | ( | BoundingBox * | bx, |
| bool | cross = false |
||
| ) | [virtual, inherited] |
Definition at line 111 of file topology.hpp.
References Edge, mmx::shape::insert(), bounding_box< C, V >::xmax(), bounding_box< C, V >::xmin(), bounding_box< C, V >::ymax(), bounding_box< C, V >::ymin(), bounding_box< C, V >::zmax(), and bounding_box< C, V >::zmin().
{
Point
*p0= new Point(bx->xmin(),bx->ymin(),bx->zmin()),
*p1= new Point(bx->xmin(),bx->ymax(),bx->zmin()),
*p2= new Point(bx->xmax(),bx->ymax(),bx->zmin()),
*p3= new Point(bx->xmax(),bx->ymin(),bx->zmin());
this->insert(p0);this->insert(p1); this->insert(new Edge(p0,p1));
this->insert(p1);this->insert(p2); this->insert(new Edge(p1,p2));
this->insert(p2);this->insert(p3); this->insert(new Edge(p2,p3));
this->insert(p3);this->insert(p0); this->insert(new Edge(p3,p0));
Point
*q0= new Point(bx->xmin(),bx->ymin(),bx->zmax()),
*q1= new Point(bx->xmin(),bx->ymax(),bx->zmax()),
*q2= new Point(bx->xmax(),bx->ymax(),bx->zmax()),
*q3= new Point(bx->xmax(),bx->ymin(),bx->zmax());
this->insert(q0);this->insert(q1); this->insert(new Edge(q0,q1));
this->insert(q1);this->insert(q2); this->insert(new Edge(q1,q2));
this->insert(q2);this->insert(q3); this->insert(new Edge(q2,q3));
this->insert(q3);this->insert(q0); this->insert(new Edge(q3,q0));
this->insert(p0);this->insert(q0);this->insert(new Edge(p0,q0));
this->insert(p1);this->insert(q1);this->insert(new Edge(p1,q1));
this->insert(p2);this->insert(q2);this->insert(new Edge(p2,q2));
this->insert(p3);this->insert(q3);this->insert(new Edge(p3,q3));
if(cross) {
Point
*r0= new Point(bx->xmin(),bx->ymin(),bx->zmax()),
*r1= new Point(bx->xmin(),bx->ymax(),bx->zmax()),
*r2= new Point(bx->xmax(),bx->ymax(),bx->zmax()),
*r3= new Point(bx->xmax(),bx->ymin(),bx->zmax());
this->insert(r0);this->insert(r2);this->insert(new Edge(r0,r2));
this->insert(r1);this->insert(r3);this->insert(new Edge(r1,r3));
}
}
| void insert | ( | Edge * | e | ) | [virtual] |
| void insert | ( | Point * | p | ) | [virtual] |
Implements topology< C, V >.
Definition at line 251 of file tpl3d.hpp.
Referenced by cell3d_surface_algebraic< C, V >::topology_regular().
{
use<point_def,V>::point_insertor(m_vertices, p);
}
| bool insert_regular | ( | Cell * | cell | ) |
Definition at line 243 of file tpl3d.hpp.
References cell< C, V >::insert_regular().
{
// m_leaves <<cl;// put in the leaves and will be treated at the end
return cl->insert_regular(this);
// return true;
}
| void insert_singular | ( | Point * | ) | [virtual] |
| void insert_singular | ( | BoundingBox * | ) | [virtual] |
| int nbe | ( | ) | const [inline] |
Definition at line 215 of file tpl3d.hpp.
References tpl3d< C, V >::m_edges.
{ return m_edges.size(); }
| int nbf | ( | ) | const [inline] |
Definition at line 216 of file tpl3d.hpp.
References tpl3d< C, V >::m_faces.
{ return m_faces.size(); }
| int nbv | ( | void | ) | const [inline] |
Definition at line 214 of file tpl3d.hpp.
References tpl3d< C, V >::m_vertices.
{ return m_vertices.size(); }
| void operator<< | ( | Shape * | s | ) | [inline, inherited] |
Definition at line 82 of file topology.hpp.
References topology< C, V >::m_objects.
{ m_objects.push_back(s); }
| void push_back | ( | Shape * | s | ) | [inline, inherited] |
Definition at line 81 of file topology.hpp.
References topology< C, V >::m_objects.
{ m_objects.push_back(s); }
| typedef REF_OF | ( | V | ) |
| void set_precision | ( | double | eps | ) | [inherited] |
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
Definition at line 107 of file topology.hpp.
{
m_minprec = eps;
}
| void set_smoothness | ( | double | eps | ) | [inherited] |
Reimplemented in subdivision< C, with_tpl3d< V >, SURFACE, CELL >.
Definition at line 103 of file topology.hpp.
{
m_maxprec = eps;
}
| typedef SHAPE_OF | ( | V | ) | [inherited] |
| Seq<Point *> vertices | ( | void | ) | const [inline] |
Definition at line 218 of file tpl3d.hpp.
References tpl3d< C, V >::m_vertices.
{ return m_vertices ; }
| virtual Point* vertices | ( | int | i | ) | [inline, virtual] |
Definition at line 222 of file tpl3d.hpp.
References tpl3d< C, V >::m_vertices.
{ return m_vertices[i] ; }
BoundingBox m_bbx [inherited] |
Definition at line 91 of file topology.hpp.
Definition at line 231 of file tpl3d.hpp.
Referenced by tpl3d< C, V >::edges(), and tpl3d< C, V >::nbe().
Definition at line 232 of file tpl3d.hpp.
Referenced by tpl3d< C, V >::faces(), and tpl3d< C, V >::nbf().
double m_maxprec [inherited] |
Definition at line 88 of file topology.hpp.
double m_minprec [inherited] |
Definition at line 89 of file topology.hpp.
Definition at line 92 of file topology.hpp.
Referenced by topology< C, V >::count(), topology< C, V >::operator<<(), topology< C, V >::push_back(), and topology2d< C, V >::topology2d().
| Seq<Point *> m_vertices |
Definition at line 230 of file tpl3d.hpp.
Referenced by tpl3d< C, V >::nbv(), and tpl3d< C, V >::vertices().