#include <Fluid3D.h>


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 |
Definition at line 47 of file Fluid3D.h.
| sofa::component::behaviormodel::eulerianfluid::Fluid3D::Fluid3D | ( | ) |
Definition at line 50 of file Fluid3D.cpp.
| sofa::component::behaviormodel::eulerianfluid::Fluid3D::~Fluid3D | ( | ) | [virtual] |
| 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.
Reimplemented from sofa::core::VisualModel.
Definition at line 446 of file Fluid3D.cpp.
| 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().
| void sofa::component::behaviormodel::eulerianfluid::Fluid3D::drawVisual | ( | ) | [virtual] |
Display the VisualModel object.
Reimplemented from sofa::core::VisualModel.
Definition at line 105 of file Fluid3D.cpp.
References cellwidth, f_center, facets, fluid, sofa::component::behaviormodel::eulerianfluid::Grid3D::get(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getDt(), sofa::component::behaviormodel::eulerianfluid::Grid3D::getlevelset(), nx, ny, nz, points, and sofa::helper::rabs().
| 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] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 74 of file Fluid3D.cpp.
References sofa::core::objectmodel::DataPtr< T >::beginEdit(), sofa::component::behaviormodel::eulerianfluid::Grid3D::clear(), f_cellwidth, f_dir, f_height, f_nx, f_ny, f_nz, f_tstart, f_tstop, fluid, fnext, ftemp, nx, ny, nz, sofa::component::behaviormodel::eulerianfluid::Grid3D::seed(), sofa::component::behaviormodel::eulerianfluid::Grid3D::t, and sofa::component::behaviormodel::eulerianfluid::Grid3D::tend.
Referenced by reset().
| 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.
| 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] |
Computation of a new simulation step.
Implements sofa::core::BehaviorModel.
Definition at line 98 of file Fluid3D.cpp.
References cellwidth, fluid, fnext, ftemp, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getLocalGravity(), sofa::component::behaviormodel::eulerianfluid::Grid3D::gravity, and sofa::component::behaviormodel::eulerianfluid::Grid3D::step().
| void sofa::component::behaviormodel::eulerianfluid::Fluid3D::updateVisual | ( | ) | [virtual] |
used to update the model if necessary.
Reimplemented from sofa::core::VisualModel.
Definition at line 251 of file Fluid3D.cpp.
References addFace(), cross(), facets, fluid, sofa::component::behaviormodel::eulerianfluid::Grid3D::levelset, sofa::helper::MarchingCubeTriTable, sofa::defaulttype::Vec< N, real >::normalize(), nx, ny, nz, sofa::component::behaviormodel::eulerianfluid::Fluid3D::CubeData::p, planes, and points.
Definition at line 54 of file Fluid3D.h.
Referenced by addBBox(), drawVisual(), exportOBJ(), and updatePosition().
sofa::helper::vector<Face> sofa::component::behaviormodel::eulerianfluid::Fluid3D::facets [protected] |
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 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().
sofa::helper::vector<Vertex> sofa::component::behaviormodel::eulerianfluid::Fluid3D::points [protected] |
Definition at line 113 of file Fluid3D.h.
Referenced by addFace(), addPoint(), drawVisual(), exportOBJ(), and updateVisual().
1.5.7.1