shape_doc 0.1
cell3d_factory< C, V > Class Template Reference

#include <cell3d_factory.hpp>

List of all members.

Public Types

Public Member Functions

Static Public Member Functions


Detailed Description

template<class C, class V>
class mmx::shape::cell3d_factory< C, V >

Definition at line 36 of file cell3d_factory.hpp.


Member Typedef Documentation

Definition at line 42 of file cell3d_factory.hpp.

Definition at line 43 of file cell3d_factory.hpp.

typedef bounding_box<C,Ref> BoundingBox

Definition at line 40 of file cell3d_factory.hpp.

typedef cell3d<C,Ref> Cell

Definition at line 41 of file cell3d_factory.hpp.

Definition at line 45 of file cell3d_factory.hpp.

typedef cell3d_list<C,Ref> Cell3dList

Definition at line 47 of file cell3d_factory.hpp.


Member Function Documentation

Cell* create ( Shape s,
const BoundingBox bx 
) [inline]

Definition at line 57 of file cell3d_factory.hpp.

Referenced by cell3d_factory< C, V >::create().

                                                 {
    Cell * cell = NULL ;
   
    if(AlgebraicSurface* isurface = dynamic_cast<AlgebraicSurface *>(s)) {
      cell = new Cell3dAlgebraicSurface(*isurface,bx);
    }

  //   if(AlgebraicCurve* ic = dynamic_cast<AlgebraicCurve *>(s)) {
//       cell = new Cell3dAlgebraicCurve(ic, bx);
//     }

    //if(ParametricSurface* psurface = dynamic_cast<ParametricSurface *>(s)) {
    //  cell = new Cell_ParametricSurface(psurface);
    //  }

    return cell ;
  }
Cell* create ( const Seq< Shape * > &  s,
const BoundingBox bx 
) [inline]

Definition at line 75 of file cell3d_factory.hpp.

References cell3d_factory< C, V >::create(), and cell3d_list< C, V >::push_back().

                                                             {
    Cell * cell = NULL ;
  
    if(s.size()==1)
      return create(s[0],bx);
    else if(s.size()>1) {
      Cell3dList* l= new Cell3dList(bx);
      foreach(Shape* o, s)
        l->push_back(create(o,bx)) ;
      cell = l;
    }
    
    return cell;
  }
static cell3d_factory<C,V>* instance ( void  ) [inline, static]

Definition at line 50 of file cell3d_factory.hpp.

References Cell3dFactory.

Referenced by mesher3d_shape< C, V >::mesher3d_shape().

                                        {
    if(!m_instance)
      m_instance = new Cell3dFactory ;
    
    return m_instance ;
  }
typedef REF_OF ( )
typedef SHAPE_OF ( )

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