#include <CudaVisualModel.h>


Public Types | |
| typedef TDataTypes | DataTypes |
| typedef DataTypes::VecCoord | VecCoord |
| typedef DataTypes::VecDeriv | VecDeriv |
| typedef DataTypes::Coord | Coord |
| typedef DataTypes::Deriv | Deriv |
| typedef DataTypes::Real | Real |
| typedef core::componentmodel::topology::BaseMeshTopology::PointID | Index |
| typedef core::componentmodel::topology::BaseMeshTopology::Triangle | Triangle |
| typedef core::componentmodel::topology::BaseMeshTopology::SeqTriangles | SeqTriangles |
| typedef core::componentmodel::topology::BaseMeshTopology::Quad | Quad |
| typedef core::componentmodel::topology::BaseMeshTopology::SeqQuads | SeqQuads |
| typedef core::componentmodel::behavior::State < DataTypes > | TState |
| typedef gpu::cuda::CudaKernelsCudaVisualModel < DataTypes > | Kernels |
Public Member Functions | |
| CudaVisualModel () | |
| virtual void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| virtual void | reinit () |
| Update method called when variables used in precomputation are modified. | |
| virtual void | drawVisual () |
| Display the VisualModel object. | |
| virtual void | updateVisual () |
| used to update the model if necessary. | |
Data Fields | |
| TState * | state |
| core::componentmodel::topology::BaseMeshTopology * | topology |
| bool | needUpdateTopology |
| gpu::cuda::CudaVector< Triangle > | triangles |
| gpu::cuda::CudaVector< Quad > | quads |
| VecCoord | fnormals |
| VecCoord | vnormals |
| int | nbElement |
| number of elements | |
| int | nbVertex |
| number of vertices to process to compute all elements | |
| int | nbElementPerVertex |
| max number of elements connected to a vertex | |
| gpu::cuda::CudaVector< int > | velems |
| Index of elements attached to each points (layout per bloc of NBLOC vertices, with first element of each vertex, then second element, etc). | |
| Data< defaulttype::Vec4f > | matAmbient |
| Data< defaulttype::Vec4f > | matDiffuse |
| Data< defaulttype::Vec4f > | matSpecular |
| Data< defaulttype::Vec4f > | matEmissive |
| Data< float > | matShininess |
| Data< bool > | useVBO |
| Data< bool > | computeNormals |
Protected Member Functions | |
| void | updateTopology () |
| void | updateNormals () |
| void | initV (int nbe, int nbv, int nbelemperv) |
| void | setV (int vertex, int num, int index) |
Definition at line 57 of file CudaVisualModel.h.
| typedef DataTypes::Coord sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Coord |
Definition at line 64 of file CudaVisualModel.h.
| typedef TDataTypes sofa::component::visualmodel::CudaVisualModel< TDataTypes >::DataTypes |
Definition at line 61 of file CudaVisualModel.h.
| typedef DataTypes::Deriv sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Deriv |
Definition at line 65 of file CudaVisualModel.h.
| typedef core::componentmodel::topology::BaseMeshTopology::PointID sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Index |
Definition at line 68 of file CudaVisualModel.h.
| typedef gpu::cuda::CudaKernelsCudaVisualModel<DataTypes> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Kernels |
Definition at line 76 of file CudaVisualModel.h.
| typedef core::componentmodel::topology::BaseMeshTopology::Quad sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Quad |
Definition at line 71 of file CudaVisualModel.h.
| typedef DataTypes::Real sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Real |
Definition at line 66 of file CudaVisualModel.h.
| typedef core::componentmodel::topology::BaseMeshTopology::SeqQuads sofa::component::visualmodel::CudaVisualModel< TDataTypes >::SeqQuads |
Definition at line 72 of file CudaVisualModel.h.
| typedef core::componentmodel::topology::BaseMeshTopology::SeqTriangles sofa::component::visualmodel::CudaVisualModel< TDataTypes >::SeqTriangles |
Definition at line 70 of file CudaVisualModel.h.
| typedef core::componentmodel::topology::BaseMeshTopology::Triangle sofa::component::visualmodel::CudaVisualModel< TDataTypes >::Triangle |
Definition at line 69 of file CudaVisualModel.h.
| typedef core::componentmodel::behavior::State<DataTypes> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::TState |
Definition at line 74 of file CudaVisualModel.h.
| typedef DataTypes::VecCoord sofa::component::visualmodel::CudaVisualModel< TDataTypes >::VecCoord |
Definition at line 62 of file CudaVisualModel.h.
| typedef DataTypes::VecDeriv sofa::component::visualmodel::CudaVisualModel< TDataTypes >::VecDeriv |
Definition at line 63 of file CudaVisualModel.h.
| sofa::component::visualmodel::CudaVisualModel< TDataTypes >::CudaVisualModel | ( | ) | [inline] |
Definition at line 98 of file CudaVisualModel.h.
| void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual | ( | ) | [inline, virtual] |
Display the VisualModel object.
Reimplemented from sofa::core::VisualModel.
Definition at line 212 of file CudaVisualModel.inl.
References sofa::defaulttype::Vec< N, real >::clear(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::computeNormals, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getShowWireFrame(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::behavior::State< TDataTypes >::getX(), sofa::helper::gl::glVertexT(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matAmbient, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matDiffuse, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matEmissive, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matShininess, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matSpecular, sofa::defaulttype::Vec< N, real >::ptr(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::quads, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::state, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::topology, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::triangles, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::useVBO, and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::vnormals.
| void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 91 of file CudaVisualModel.inl.
References sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getMeshTopology(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::state, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::topology, and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateVisual().
| void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::initV | ( | int | nbe, | |
| int | nbv, | |||
| int | nbelemperv | |||
| ) | [inline, protected] |
Definition at line 119 of file CudaVisualModel.h.
References BSIZE, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbElement, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbElementPerVertex, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbVertex, sofa::gpu::cuda::CudaVector< T >::resize(), sofa::gpu::cuda::CudaVector< T >::size(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::velems.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology().
| void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::reinit | ( | ) | [inline, virtual] |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 99 of file CudaVisualModel.inl.
References sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateVisual().
| void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::setV | ( | int | vertex, | |
| int | num, | |||
| int | index | |||
| ) | [inline, protected] |
Definition at line 130 of file CudaVisualModel.h.
References BSIZE, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbElementPerVertex, and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::velems.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology().
| void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals | ( | ) | [inline, protected] |
Definition at line 171 of file CudaVisualModel.inl.
References sofa::gpu::cuda::CudaVector< T >::deviceRead(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::fnormals, sofa::core::componentmodel::behavior::State< TDataTypes >::getX(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbElement, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbElementPerVertex, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbVertex, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::quads, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::state, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::topology, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::triangles, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::velems, and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::vnormals.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateVisual().
| void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology | ( | ) | [inline, protected] |
Definition at line 105 of file CudaVisualModel.inl.
References sofa::core::componentmodel::topology::BaseMeshTopology::getQuads(), sofa::core::componentmodel::topology::BaseMeshTopology::getTriangles(), sofa::core::componentmodel::behavior::State< TDataTypes >::getX(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::initV(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::needUpdateTopology, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::quads, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::setV(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::state, sofa::component::visualmodel::CudaVisualModel< TDataTypes >::topology, and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::triangles.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateVisual().
| void sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateVisual | ( | ) | [inline, virtual] |
used to update the model if necessary.
Reimplemented from sofa::core::VisualModel.
Definition at line 203 of file CudaVisualModel.inl.
References sofa::component::visualmodel::CudaVisualModel< TDataTypes >::computeNormals, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::Data< T >::getValue(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology().
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::init(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::reinit().
| Data<bool> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::computeNormals |
Definition at line 96 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateVisual().
| VecCoord sofa::component::visualmodel::CudaVisualModel< TDataTypes >::fnormals |
Definition at line 84 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals().
| Data<defaulttype::Vec4f> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matAmbient |
Definition at line 93 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual().
| Data<defaulttype::Vec4f> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matDiffuse |
Definition at line 93 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual().
| Data<defaulttype::Vec4f> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matEmissive |
Definition at line 93 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual().
| Data<float> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matShininess |
Definition at line 94 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual().
| Data<defaulttype::Vec4f> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::matSpecular |
Definition at line 93 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual().
| int sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbElement |
number of elements
Definition at line 87 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::initV(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals().
| int sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbElementPerVertex |
max number of elements connected to a vertex
Definition at line 89 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::initV(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::setV(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals().
| int sofa::component::visualmodel::CudaVisualModel< TDataTypes >::nbVertex |
number of vertices to process to compute all elements
Definition at line 88 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::initV(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals().
| bool sofa::component::visualmodel::CudaVisualModel< TDataTypes >::needUpdateTopology |
Definition at line 80 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology().
| gpu::cuda::CudaVector<Quad> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::quads |
| TState* sofa::component::visualmodel::CudaVisualModel< TDataTypes >::state |
Definition at line 78 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::init(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology().
| core::componentmodel::topology::BaseMeshTopology* sofa::component::visualmodel::CudaVisualModel< TDataTypes >::topology |
Definition at line 79 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::init(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology().
| gpu::cuda::CudaVector<Triangle> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::triangles |
| Data<bool> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::useVBO |
Definition at line 95 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual().
| gpu::cuda::CudaVector<int> sofa::component::visualmodel::CudaVisualModel< TDataTypes >::velems |
Index of elements attached to each points (layout per bloc of NBLOC vertices, with first element of each vertex, then second element, etc).
Definition at line 91 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::initV(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::setV(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals().
| VecCoord sofa::component::visualmodel::CudaVisualModel< TDataTypes >::vnormals |
Definition at line 85 of file CudaVisualModel.h.
Referenced by sofa::component::visualmodel::CudaVisualModel< TDataTypes >::drawVisual(), and sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateNormals().
1.5.7.1