sofa::component::behaviormodel::eulerianfluid::Fluid2D Class Reference

#include <Fluid2D.h>

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

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

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 Grid2D::real real
typedef Grid2D::vec2 vec2
typedef Vec< 3, real > vec3

Public Member Functions

 Fluid2D ()
virtual ~Fluid2D ()
int getNx () const
void setNx (int v)
int getNy () const
void setNy (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 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.
virtual void initVisual ()
 Initialize the textures, or other graphical resources.
virtual void updateVisual ()
 used to update the model if necessary.

Data Fields

sofa::core::objectmodel::DataPtr
< int > 
f_nx
sofa::core::objectmodel::DataPtr
< int > 
f_ny
sofa::core::objectmodel::DataPtr
< real > 
f_cellwidth
sofa::core::objectmodel::Data
< real > 
f_height
sofa::core::objectmodel::Data
< vec2 > 
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
real cellwidth
Grid2D * fluid
Grid2D * fnext
Grid2D * ftemp
sofa::helper::vector< Vertex > points
sofa::helper::vector< Face > facets
sofa::helper::vector< CubeData > planes

Detailed Description

Definition at line 47 of file Fluid2D.h.


Member Typedef Documentation

Definition at line 50 of file Fluid2D.h.

Definition at line 51 of file Fluid2D.h.

Definition at line 52 of file Fluid2D.h.


Constructor & Destructor Documentation

sofa::component::behaviormodel::eulerianfluid::Fluid2D::Fluid2D (  ) 

Definition at line 52 of file Fluid2D.cpp.

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

Definition at line 67 of file Fluid2D.cpp.

References fluid, fnext, and ftemp.


Member Function Documentation

bool sofa::component::behaviormodel::eulerianfluid::Fluid2D::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 406 of file Fluid2D.cpp.

References cellwidth, nx, and ny.

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

Definition at line 132 of file Fluid2D.h.

References facets, and points.

Referenced by updateVisual().

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

Definition at line 122 of file Fluid2D.h.

References points.

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

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

Definition at line 73 of file Fluid2D.h.

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

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

Definition at line 76 of file Fluid2D.h.

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

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

virtual void sofa::component::behaviormodel::eulerianfluid::Fluid2D::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 89 of file Fluid2D.h.

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

Reset to initial state.

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

Definition at line 92 of file Fluid2D.cpp.

References init().

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

Definition at line 74 of file Fluid2D.h.

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

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

Definition at line 77 of file Fluid2D.h.

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

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

Computation of a new simulation step.

Implements sofa::core::BehaviorModel.

Definition at line 97 of file Fluid2D.cpp.

References fluid, fnext, ftemp, and sofa::component::behaviormodel::eulerianfluid::Grid2D::step().

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


Field Documentation

Definition at line 55 of file Fluid2D.h.

Referenced by addBBox(), and drawVisual().

Definition at line 64 of file Fluid2D.h.

Referenced by init().

Definition at line 66 of file Fluid2D.h.

Referenced by init().

Definition at line 65 of file Fluid2D.h.

Referenced by init().

Definition at line 62 of file Fluid2D.h.

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

Definition at line 63 of file Fluid2D.h.

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

Definition at line 67 of file Fluid2D.h.

Referenced by init().

Definition at line 68 of file Fluid2D.h.

Referenced by init().

Definition at line 108 of file Fluid2D.h.

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

Definition at line 57 of file Fluid2D.h.

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

Definition at line 58 of file Fluid2D.h.

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

Definition at line 59 of file Fluid2D.h.

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

Definition at line 54 of file Fluid2D.h.

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

Definition at line 54 of file Fluid2D.h.

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

Definition at line 117 of file Fluid2D.h.

Referenced by updateVisual().

Definition at line 107 of file Fluid2D.h.

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


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

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