topology< C, V > Class Template Reference

#include <topology.hpp>

Inheritance diagram for topology< C, V >:
tpl3d< C, V > subdivision< C, with_tpl3d< V >, CELL >

List of all members.

Public Types

Public Member Functions


Detailed Description

template<class C, class V = default_env>
class mmx::shape::topology< C, V >

Definition at line 73 of file topology.hpp.


Member Typedef Documentation

typedef bounding_box<C,typename use<ref_def,double, V >::Ref> BoundingBox

Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.

Definition at line 82 of file topology.hpp.

typedef bcell<C,typename use<ref_def,double, V >::Ref> Cell

Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.

Definition at line 83 of file topology.hpp.

typedef edge<C,V, Point> Edge

Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.

Definition at line 79 of file topology.hpp.

typedef face<C,V, Point> Face

Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.

Definition at line 80 of file topology.hpp.

typedef vertex<C,3,V> Point

Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.

Definition at line 78 of file topology.hpp.

typedef use<shape_def,double, V >::Shape Shape

Definition at line 76 of file topology.hpp.

typedef with_idx<V> W

Definition at line 77 of file topology.hpp.


Constructor & Destructor Documentation

topology (  )  [inline]

Definition at line 85 of file topology.hpp.

00085 {};

topology ( const BoundingBox bx  ) 
~topology ( void   )  [inline, virtual]

Definition at line 124 of file topology.hpp.

00124 {}


Member Function Documentation

void insert ( BoundingBox bx,
bool  cross = false 
) [inline, virtual]

Definition at line 134 of file topology.hpp.

References mmx::shape::cross(), topology< C, V >::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().

00134                                                           {
00135   Point 
00136     *p0= new Point(bx->xmin(),bx->ymin(),bx->zmin()),
00137     *p1= new Point(bx->xmin(),bx->ymax(),bx->zmin()),
00138     *p2= new Point(bx->xmax(),bx->ymax(),bx->zmin()),
00139     *p3= new Point(bx->xmax(),bx->ymin(),bx->zmin());
00140   
00141   this->insert(p0);this->insert(p1); this->insert(new Edge(p0,p1));
00142   this->insert(p1);this->insert(p2); this->insert(new Edge(p1,p2));
00143   this->insert(p2);this->insert(p3); this->insert(new Edge(p2,p3));
00144   this->insert(p3);this->insert(p0); this->insert(new Edge(p3,p0));
00145       
00146   Point 
00147     *q0= new Point(bx->xmin(),bx->ymin(),bx->zmax()),
00148     *q1= new Point(bx->xmin(),bx->ymax(),bx->zmax()),
00149     *q2= new Point(bx->xmax(),bx->ymax(),bx->zmax()),
00150     *q3= new Point(bx->xmax(),bx->ymin(),bx->zmax());
00151   
00152   this->insert(q0);this->insert(q1); this->insert(new Edge(q0,q1));
00153   this->insert(q1);this->insert(q2); this->insert(new Edge(q1,q2));
00154   this->insert(q2);this->insert(q3); this->insert(new Edge(q2,q3));
00155   this->insert(q3);this->insert(q0); this->insert(new Edge(q3,q0));
00156   
00157   this->insert(p0);this->insert(q0);this->insert(new Edge(p0,q0));
00158   this->insert(p1);this->insert(q1);this->insert(new Edge(p1,q1));
00159   this->insert(p2);this->insert(q2);this->insert(new Edge(p2,q2));
00160   this->insert(p3);this->insert(q3);this->insert(new Edge(p3,q3));
00161 
00162   if(cross) {
00163     Point 
00164       *r0= new Point(bx->xmin(),bx->ymin(),bx->zmax()),
00165       *r1= new Point(bx->xmin(),bx->ymax(),bx->zmax()),
00166       *r2= new Point(bx->xmax(),bx->ymax(),bx->zmax()),
00167       *r3= new Point(bx->xmax(),bx->ymin(),bx->zmax());
00168 
00169     this->insert(r0);this->insert(r2);this->insert(new Edge(r0,r2));
00170     this->insert(r1);this->insert(r3);this->insert(new Edge(r1,r3));
00171   }
00172 }

virtual void insert ( Face  )  [inline, virtual]

Reimplemented in tpl3d< C, V >.

Definition at line 93 of file topology.hpp.

00093 {}; // missing default implementation creates hidden overload of virtual methods - ju.

virtual void insert ( Edge  )  [pure virtual]

Implemented in tpl3d< C, V >.

virtual void insert ( Point  )  [pure virtual]
virtual void insert_edge ( Point ,
Point  
) [pure virtual]
virtual void insert_singular ( Point  )  [pure virtual]
void set_precision ( double  eps  )  [inline]

Reimplemented in subdivision< C, with_tpl3d< V >, CELL >.

Definition at line 130 of file topology.hpp.

00130                                         {
00131   //m_minprec = eps;
00132 }

void set_smoothness ( double  eps  )  [inline]

Reimplemented in subdivision< C, with_tpl3d< V >, CELL >.

Definition at line 126 of file topology.hpp.

00126                                          {
00127   //m_maxprec = eps;
00128 }


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

Generated on 6 Dec 2012 for shape by  doxygen 1.6.1