sofa::component::behaviormodel::eulerianfluid::Fluid3D Class Reference

#include <Fluid3D.h>

Inheritance diagram for sofa::component::behaviormodel::eulerianfluid::Fluid3D:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::behaviormodel::eulerianfluid::Fluid3D:

Collaboration graph
[legend]

Data Structures

struct  CubeData
 For each cube, store the vertex indices on each 3 first edges, and the data value. More...
struct  Face
struct  Vertex

Public Types

typedef Grid3D::real real
typedef Grid3D::vec3 vec3

Public Member Functions

 Fluid3D ()
virtual ~Fluid3D ()
int getNx () const
void setNx (int v)
int getNy () const
void setNy (int v)
int getNz () const
void setNz (int v)
virtual void init ()
 Initialization method called at graph modification, during bottom-up traversal.
virtual void reset ()
 Reset to initial state.
virtual void updatePosition (double dt)
 Computation of a new simulation step.
virtual void drawVisual ()
 Display the VisualModel object.
virtual void exportOBJ (std::string name, std::ostream *out, std::ostream *mtl, int &vindex, int &nindex, int &tindex)
 Append this mesh to an OBJ format stream.
virtual void initVisual ()
 Initialize the textures, or other graphical resources.
virtual void updateVisual ()
 used to update the model if necessary.
virtual bool addBBox (double *minBBox, double *maxBBox)
 used to add the bounding-box of this visual model to the given bounding box in order to compute the scene bounding box or cull hidden objects.

Data Fields

sofa::core::objectmodel::DataPtr
< int > 
f_nx
sofa::core::objectmodel::DataPtr
< int > 
f_ny
sofa::core::objectmodel::DataPtr
< int > 
f_nz
sofa::core::objectmodel::DataPtr
< real > 
f_cellwidth
sofa::core::objectmodel::Data
< vec3 > 
f_center
sofa::core::objectmodel::Data
< real > 
f_height
sofa::core::objectmodel::Data
< vec3 > 
f_dir
sofa::core::objectmodel::Data
< real > 
f_tstart
sofa::core::objectmodel::Data
< real > 
f_tstop

Protected Member Functions

template<int C>
int addPoint (int x, int y, int z, real v0, real v1, real iso)
int addFace (int p1, int p2, int p3)

Protected Attributes

int nx
int ny
int nz
real cellwidth
Grid3D * fluid
Grid3D * fnext
Grid3D * ftemp
sofa::helper::vector< Vertex > points
sofa::helper::vector< Face > facets
sofa::helper::vector< CubeData > planes

Detailed Description

Definition at line 47 of file Fluid3D.h.


Member Typedef Documentation

Definition at line 50 of file Fluid3D.h.

Definition at line 51 of file Fluid3D.h.


Constructor & Destructor Documentation

sofa::component::behaviormodel::eulerianfluid::Fluid3D::Fluid3D (  ) 

Definition at line 50 of file Fluid3D.cpp.

sofa::component::behaviormodel::eulerianfluid::Fluid3D::~Fluid3D (  )  [virtual]

Definition at line 67 of file Fluid3D.cpp.

References fluid, fnext, and ftemp.


Member Function Documentation

bool sofa::component::behaviormodel::eulerianfluid::Fluid3D::addBBox ( double *  ,
double *   
) [virtual]

used to add the bounding-box of this visual model to the given bounding box in order to compute the scene bounding box or cull hidden objects.

Returns:
false if the visual model does not define any bounding box, which should only be the case for "debug" objects, as this lack of information might affect performances and leads to incorrect scene bounding box.

Reimplemented from sofa::core::VisualModel.

Definition at line 446 of file Fluid3D.cpp.

References cellwidth, f_center, nx, ny, and nz.

int sofa::component::behaviormodel::eulerianfluid::Fluid3D::addFace ( int  p1,
int  p2,
int  p3 
) [inline, protected]

Definition at line 138 of file Fluid3D.h.

References facets, and points.

Referenced by updateVisual().

template<int C>
int sofa::component::behaviormodel::eulerianfluid::Fluid3D::addPoint ( int  x,
int  y,
int  z,
real  v0,
real  v1,
real  iso 
) [inline, protected]

Definition at line 128 of file Fluid3D.h.

References points.

void sofa::component::behaviormodel::eulerianfluid::Fluid3D::drawVisual (  )  [virtual]

void sofa::component::behaviormodel::eulerianfluid::Fluid3D::exportOBJ ( std::string  ,
std::ostream *  ,
std::ostream *  ,
int &  ,
int &  ,
int &   
) [virtual]

Append this mesh to an OBJ format stream.

The number of vertices position, normal, and texture coordinates already written is given as parameters. This method should update them.

Reimplemented from sofa::core::VisualModel.

Definition at line 224 of file Fluid3D.cpp.

References cellwidth, f_center, facets, nx, ny, nz, and points.

int sofa::component::behaviormodel::eulerianfluid::Fluid3D::getNx (  )  const [inline]

Definition at line 74 of file Fluid3D.h.

References f_nx, and sofa::core::objectmodel::DataPtr< T >::getValue().

int sofa::component::behaviormodel::eulerianfluid::Fluid3D::getNy (  )  const [inline]

Definition at line 77 of file Fluid3D.h.

References f_ny, and sofa::core::objectmodel::DataPtr< T >::getValue().

int sofa::component::behaviormodel::eulerianfluid::Fluid3D::getNz (  )  const [inline]

Definition at line 80 of file Fluid3D.h.

References f_nz, and sofa::core::objectmodel::DataPtr< T >::getValue().

void sofa::component::behaviormodel::eulerianfluid::Fluid3D::init ( void   )  [virtual]

virtual void sofa::component::behaviormodel::eulerianfluid::Fluid3D::initVisual (  )  [inline, virtual]

Initialize the textures, or other graphical resources.

Called once before the first frame is drawn, and if the graphical context has been recreated.

Reimplemented from sofa::core::VisualModel.

Definition at line 93 of file Fluid3D.h.

void sofa::component::behaviormodel::eulerianfluid::Fluid3D::reset ( void   )  [virtual]

Reset to initial state.

Reimplemented from sofa::core::objectmodel::BaseObject.

Definition at line 93 of file Fluid3D.cpp.

References init().

void sofa::component::behaviormodel::eulerianfluid::Fluid3D::setNx ( int  v  )  [inline]

Definition at line 75 of file Fluid3D.h.

References f_nx, and sofa::core::objectmodel::DataPtr< T >::setValue().

void sofa::component::behaviormodel::eulerianfluid::Fluid3D::setNy ( int  v  )  [inline]

Definition at line 78 of file Fluid3D.h.

References f_ny, and sofa::core::objectmodel::DataPtr< T >::setValue().

void sofa::component::behaviormodel::eulerianfluid::Fluid3D::setNz ( int  v  )  [inline]

Definition at line 81 of file Fluid3D.h.

References f_nz, and sofa::core::objectmodel::DataPtr< T >::setValue().

void sofa::component::behaviormodel::eulerianfluid::Fluid3D::updatePosition ( double  dt  )  [virtual]

void sofa::component::behaviormodel::eulerianfluid::Fluid3D::updateVisual (  )  [virtual]


Field Documentation

Definition at line 54 of file Fluid3D.h.

Referenced by addBBox(), drawVisual(), exportOBJ(), and updatePosition().

Definition at line 64 of file Fluid3D.h.

Referenced by init().

Definition at line 65 of file Fluid3D.h.

Referenced by addBBox(), drawVisual(), and exportOBJ().

Definition at line 67 of file Fluid3D.h.

Referenced by init().

Definition at line 66 of file Fluid3D.h.

Referenced by init().

Definition at line 61 of file Fluid3D.h.

Referenced by getNx(), init(), and setNx().

Definition at line 62 of file Fluid3D.h.

Referenced by getNy(), init(), and setNy().

Definition at line 63 of file Fluid3D.h.

Referenced by getNz(), init(), and setNz().

Definition at line 68 of file Fluid3D.h.

Referenced by init().

Definition at line 69 of file Fluid3D.h.

Referenced by init().

Definition at line 114 of file Fluid3D.h.

Referenced by addFace(), drawVisual(), exportOBJ(), and updateVisual().

Definition at line 56 of file Fluid3D.h.

Referenced by drawVisual(), init(), updatePosition(), updateVisual(), and ~Fluid3D().

Definition at line 57 of file Fluid3D.h.

Referenced by init(), updatePosition(), and ~Fluid3D().

Definition at line 58 of file Fluid3D.h.

Referenced by init(), updatePosition(), and ~Fluid3D().

Definition at line 53 of file Fluid3D.h.

Referenced by addBBox(), drawVisual(), exportOBJ(), init(), and updateVisual().

Definition at line 53 of file Fluid3D.h.

Referenced by addBBox(), drawVisual(), exportOBJ(), init(), and updateVisual().

Definition at line 53 of file Fluid3D.h.

Referenced by addBBox(), drawVisual(), exportOBJ(), init(), and updateVisual().

Definition at line 123 of file Fluid3D.h.

Referenced by updateVisual().

Definition at line 113 of file Fluid3D.h.

Referenced by addFace(), addPoint(), drawVisual(), exportOBJ(), and updateVisual().


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

Generated on Sun Nov 23 04:13:34 2008 for Sofa by  doxygen 1.5.7.1