#include <SPHFluidSurfaceMapping.h>


Public Types | |
| typedef core::Mapping< In, Out > | Inherit |
| typedef Out::VecCoord | OutVecCoord |
| typedef Out::VecDeriv | OutVecDeriv |
| typedef Out::Coord | OutCoord |
| typedef Out::Deriv | OutDeriv |
| typedef OutCoord::value_type | OutReal |
| typedef In::VecCoord | InVecCoord |
| typedef In::VecDeriv | InVecDeriv |
| typedef In::Coord | InCoord |
| typedef In::Deriv | InDeriv |
| typedef InCoord::value_type | InReal |
Public Member Functions | |
| SPHFluidSurfaceMapping (In *from, Out *to) | |
| virtual | ~SPHFluidSurfaceMapping () |
| double | getStep () const |
| void | setStep (double val) |
| double | getRadius () const |
| void | setRadius (double val) |
| double | getIsoValue () const |
| void | setIsoValue (double val) |
| void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| void | apply (OutVecCoord &out, const InVecCoord &in) |
| void | applyJ (OutVecDeriv &out, const InVecDeriv &in) |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
Protected Types | |
| enum | { GRIDDIM = Grid::GRIDDIM } |
| enum | { DX = Grid::DX } |
| enum | { DY = Grid::DY } |
| enum | { DZ = Grid::DZ } |
| typedef forcefield::SPHFluidForceField < typename In::DataTypes > | SPHForceField |
| typedef SPHFluidSurfaceMappingGridTypes < typename In::DataTypes, typename Out::DataTypes > | GridTypes |
| typedef SpatialGrid< GridTypes > | Grid |
| typedef Grid::Cell | Cell |
Protected Member Functions | |
| void | createPoints (OutVecCoord &out, int x, int y, int z, Cell *c, const Cell *cx, const Cell *cy, const Cell *cz, const OutReal isoval) |
| void | createFaces (OutVecCoord &out, const Cell **cells, const OutReal isoval) |
| template<int C> | |
| int | addPoint (OutVecCoord &out, int x, int y, int z, OutReal v0, OutReal v1, OutReal iso) |
| int | addFace (int p1, int p2, int p3, int nbp) |
Protected Attributes | |
| Data< double > | mStep |
| Data< double > | mRadius |
| Data< double > | mIsoValue |
| SPHForceField * | sph |
| Grid * | grid |
Definition at line 96 of file SPHFluidSurfaceMapping.h.
typedef Grid::Cell sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::Cell [protected] |
Definition at line 174 of file SPHFluidSurfaceMapping.h.
typedef SpatialGrid<GridTypes> sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::Grid [protected] |
Definition at line 173 of file SPHFluidSurfaceMapping.h.
typedef SPHFluidSurfaceMappingGridTypes<typename In::DataTypes, typename Out::DataTypes> sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::GridTypes [protected] |
Definition at line 171 of file SPHFluidSurfaceMapping.h.
| typedef In::Coord sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::InCoord |
Definition at line 107 of file SPHFluidSurfaceMapping.h.
| typedef In::Deriv sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::InDeriv |
Definition at line 108 of file SPHFluidSurfaceMapping.h.
| typedef core::Mapping<In, Out> sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::Inherit |
Definition at line 99 of file SPHFluidSurfaceMapping.h.
| typedef InCoord::value_type sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::InReal |
Definition at line 109 of file SPHFluidSurfaceMapping.h.
| typedef In::VecCoord sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::InVecCoord |
Definition at line 105 of file SPHFluidSurfaceMapping.h.
| typedef In::VecDeriv sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::InVecDeriv |
Definition at line 106 of file SPHFluidSurfaceMapping.h.
| typedef Out::Coord sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::OutCoord |
Definition at line 102 of file SPHFluidSurfaceMapping.h.
| typedef Out::Deriv sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::OutDeriv |
Definition at line 103 of file SPHFluidSurfaceMapping.h.
| typedef OutCoord::value_type sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::OutReal |
Definition at line 104 of file SPHFluidSurfaceMapping.h.
| typedef Out::VecCoord sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::OutVecCoord |
Definition at line 100 of file SPHFluidSurfaceMapping.h.
| typedef Out::VecDeriv sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::OutVecDeriv |
Definition at line 101 of file SPHFluidSurfaceMapping.h.
typedef forcefield::SPHFluidForceField<typename In::DataTypes> sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::SPHForceField [protected] |
Definition at line 166 of file SPHFluidSurfaceMapping.h.
anonymous enum [protected] |
anonymous enum [protected] |
anonymous enum [protected] |
anonymous enum [protected] |
| sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::SPHFluidSurfaceMapping | ( | In * | from, | |
| Out * | to | |||
| ) | [inline] |
Definition at line 111 of file SPHFluidSurfaceMapping.h.
| virtual sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::~SPHFluidSurfaceMapping | ( | ) | [inline, virtual] |
Definition at line 120 of file SPHFluidSurfaceMapping.h.
| int sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::addFace | ( | int | p1, | |
| int | p2, | |||
| int | p3, | |||
| int | nbp | |||
| ) | [inline, protected] |
Definition at line 197 of file SPHFluidSurfaceMapping.h.
References sofa::component::topology::MeshTopology::seqTriangles.
Referenced by sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::createFaces().
| int sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::addPoint | ( | OutVecCoord & | out, | |
| int | x, | |||
| int | y, | |||
| int | z, | |||
| OutReal | v0, | |||
| OutReal | v1, | |||
| OutReal | iso | |||
| ) | [inline, protected] |
Definition at line 187 of file SPHFluidSurfaceMapping.h.
References sofa::core::objectmodel::Data< T >::getValue(), and sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mStep.
| void sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::apply | ( | OutVecCoord & | out, | |
| const InVecCoord & | in | |||
| ) | [inline] |
Definition at line 150 of file SPHFluidSurfaceMapping.inl.
References sofa::component::container::SpatialGrid< DataTypes >::add(), sofa::component::container::SpatialGrid< DataTypes >::begin(), sofa::component::container::SpatialGrid< DataTypes >::Grid::cell, sofa::component::topology::MeshTopology::clear(), sofa::component::container::SpatialGrid< DataTypes >::computeField(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::createFaces(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::createPoints(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::DX, sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::DY, sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::DZ, sofa::component::container::SpatialGrid< DataTypes >::end(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::getIsoValue(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::getRadius(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::grid, sofa::component::container::SpatialGrid< DataTypes >::gridBegin(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::GRIDDIM, sofa::component::container::SpatialGrid< DataTypes >::gridEnd(), sofa::component::container::SpatialGrid< DataTypes >::Grid::neighbors, and sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::sph.
| void sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::applyJ | ( | OutVecDeriv & | out, | |
| const InVecDeriv & | in | |||
| ) | [inline] |
Definition at line 346 of file SPHFluidSurfaceMapping.inl.
| void sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::createFaces | ( | OutVecCoord & | out, | |
| const Cell ** | cells, | |||
| const OutReal | isoval | |||
| ) | [inline, protected] |
Definition at line 97 of file SPHFluidSurfaceMapping.inl.
References sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::addFace(), sofa::component::container::SpatialGrid< DataTypes >::Cell::data, and sofa::helper::MarchingCubeTriTable.
Referenced by sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::apply().
| void sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::createPoints | ( | OutVecCoord & | out, | |
| int | x, | |||
| int | y, | |||
| int | z, | |||
| Cell * | c, | |||
| const Cell * | cx, | |||
| const Cell * | cy, | |||
| const Cell * | cz, | |||
| const OutReal | isoval | |||
| ) | [inline, protected] |
Definition at line 73 of file SPHFluidSurfaceMapping.inl.
References sofa::component::container::SpatialGrid< DataTypes >::Cell::data.
Referenced by sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::apply().
| void sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::component::topology::MeshTopology.
Definition at line 351 of file SPHFluidSurfaceMapping.inl.
References sofa::component::container::SpatialGrid< DataTypes >::Grid::cell, sofa::component::container::SpatialGrid< DataTypes >::Cell::data, sofa::component::container::SpatialGrid< DataTypes >::draw(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::DX, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::Data< T >::getValue(), sofa::helper::gl::glVertexT(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::grid, sofa::component::container::SpatialGrid< DataTypes >::gridBegin(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::GRIDDIM, sofa::component::container::SpatialGrid< DataTypes >::gridEnd(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mIsoValue, sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mStep, and sofa::core::Mapping< TIn, TOut >::toModel.
| double sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::getIsoValue | ( | ) | const [inline] |
Definition at line 141 of file SPHFluidSurfaceMapping.h.
References sofa::core::objectmodel::Data< T >::getValue(), and sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mIsoValue.
Referenced by sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::apply().
| double sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::getRadius | ( | ) | const [inline] |
Definition at line 132 of file SPHFluidSurfaceMapping.h.
References sofa::core::objectmodel::Data< T >::getValue(), and sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mRadius.
Referenced by sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::apply().
| double sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::getStep | ( | ) | const [inline] |
Definition at line 123 of file SPHFluidSurfaceMapping.h.
References sofa::core::objectmodel::Data< T >::getValue(), and sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mStep.
| void sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::Mapping< TIn, TOut >.
Definition at line 52 of file SPHFluidSurfaceMapping.inl.
References sofa::core::objectmodel::BaseObject::getContext(), sofa::core::Mapping< TIn, TOut >::getFrom(), sofa::simulation::Node::getNodeObject(), sofa::component::forcefield::SPHFluidForceField< DataTypes >::getParticleFieldConstant(), sofa::core::objectmodel::Data< T >::getValue(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::grid, sofa::core::Mapping< TIn, TOut >::init(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mIsoValue, sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mRadius, sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mStep, sofa::core::objectmodel::Data< T >::setValue(), and sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::sph.
| void sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::setIsoValue | ( | double | val | ) | [inline] |
Definition at line 145 of file SPHFluidSurfaceMapping.h.
References sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mIsoValue, and sofa::core::objectmodel::Data< T >::setValue().
| void sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::setRadius | ( | double | val | ) | [inline] |
Definition at line 136 of file SPHFluidSurfaceMapping.h.
References sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mRadius, and sofa::core::objectmodel::Data< T >::setValue().
| void sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::setStep | ( | double | val | ) | [inline] |
Definition at line 127 of file SPHFluidSurfaceMapping.h.
References sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mStep, and sofa::core::objectmodel::Data< T >::setValue().
Grid* sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::grid [protected] |
Data< double > sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mIsoValue [protected] |
Definition at line 164 of file SPHFluidSurfaceMapping.h.
Referenced by sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::draw(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::getIsoValue(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::init(), and sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::setIsoValue().
Data< double > sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mRadius [protected] |
Data< double > sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::mStep [protected] |
Definition at line 162 of file SPHFluidSurfaceMapping.h.
Referenced by sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::addPoint(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::draw(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::getStep(), sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::init(), and sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::setStep().
SPHForceField* sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::sph [protected] |
Definition at line 167 of file SPHFluidSurfaceMapping.h.
Referenced by sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::apply(), and sofa::component::mapping::SPHFluidSurfaceMapping< In, Out >::init().
1.5.7.1