#include <SphereModel.h>


Data Structures | |
| class | Loader |
Public Types | |
| typedef TDataTypes | InDataTypes |
| typedef component::MechanicalObject < InDataTypes > | Inherit |
| typedef InDataTypes::Real | Real |
| Scalar values (float or double). | |
| typedef InDataTypes::VecReal | VecReal |
| Container of scalar values with the same API as sofa::helper::vector. | |
| typedef TDataTypes | DataTypes |
| typedef TSphere< DataTypes > | Element |
Public Member Functions | |
| TSphereModel () | |
| TSphereModel (SReal radius) | |
| int | addSphere (const Vector3 &pos, SReal radius) |
| void | setSphere (int index, const Vector3 &pos, SReal radius) |
| virtual bool | load (const char *filename) |
| void | applyScale (const SReal s) |
| Scale the current state. | |
| sofa::core::componentmodel::behavior::MechanicalState < InDataTypes > * | getMechanicalState () |
| Real | getRadius (int i) const |
| void | setRadius (int i, Real r) |
| const VecReal & | getR () const |
| virtual void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| int | getSize () const |
| Get the number of elements. | |
| virtual void | resize (int size) |
| Set the number of elements. | |
| virtual void | computeBoundingTree (int maxDepth=0) |
| Create or update the bounding volume hierarchy. | |
| virtual void | computeContinuousBoundingTree (double dt, int maxDepth=0) |
| Create or update the bounding volume hierarchy, accounting for motions within the given timestep. | |
| void | draw (int index) |
| Render an collision element. | |
| void | draw () |
| Render the whole collision model. | |
Protected Attributes | |
| Data< VecReal > | radius |
| Data< SReal > | defaultRadius |
Friends | |
| class | TSphere< DataTypes > |
Definition at line 71 of file SphereModel.h.
| typedef TDataTypes sofa::component::collision::TSphereModel< TDataTypes >::DataTypes |
Reimplemented from sofa::core::componentmodel::behavior::MechanicalState< DataTypes >.
Definition at line 79 of file SphereModel.h.
| typedef TSphere<DataTypes> sofa::component::collision::TSphereModel< TDataTypes >::Element |
Definition at line 80 of file SphereModel.h.
| typedef TDataTypes sofa::component::collision::TSphereModel< TDataTypes >::InDataTypes |
Definition at line 74 of file SphereModel.h.
| typedef component::MechanicalObject<InDataTypes> sofa::component::collision::TSphereModel< TDataTypes >::Inherit |
Definition at line 75 of file SphereModel.h.
| typedef InDataTypes::Real sofa::component::collision::TSphereModel< TDataTypes >::Real |
Scalar values (float or double).
Reimplemented from sofa::component::MechanicalObject< TDataTypes >.
Definition at line 76 of file SphereModel.h.
| typedef InDataTypes::VecReal sofa::component::collision::TSphereModel< TDataTypes >::VecReal |
Container of scalar values with the same API as sofa::helper::vector.
Reimplemented from sofa::core::componentmodel::behavior::MechanicalState< DataTypes >.
Definition at line 77 of file SphereModel.h.
| sofa::component::collision::TSphereModel< TDataTypes >::TSphereModel | ( | ) | [inline] |
Definition at line 45 of file SphereModel.inl.
References sofa::component::collision::TSphereModel< TDataTypes >::getSize(), sofa::component::collision::TSphereModel< TDataTypes >::radius, sofa::component::collision::TSphereModel< TDataTypes >::resize(), and sofa::component::collision::TSphereModel< TDataTypes >::setRadius().
| sofa::component::collision::TSphereModel< TDataTypes >::TSphereModel | ( | SReal | radius | ) | [inline] |
Definition at line 58 of file SphereModel.inl.
References sofa::component::collision::TSphereModel< TDataTypes >::getSize(), sofa::component::collision::TSphereModel< TDataTypes >::radius, sofa::component::collision::TSphereModel< TDataTypes >::resize(), and sofa::component::collision::TSphereModel< TDataTypes >::setRadius().
| int sofa::component::collision::TSphereModel< TDataTypes >::addSphere | ( | const Vector3 & | pos, | |
| SReal | radius | |||
| ) | [inline] |
Definition at line 92 of file SphereModel.inl.
References sofa::component::collision::TSphereModel< TDataTypes >::resize(), sofa::component::collision::TSphereModel< TDataTypes >::setSphere(), and sofa::core::CollisionModel::size.
Referenced by SensAble::SensAble().
| void sofa::component::collision::TSphereModel< TDataTypes >::applyScale | ( | const SReal | s | ) | [inline, virtual] |
Scale the current state.
Reimplemented from sofa::component::MechanicalObject< TDataTypes >.
Definition at line 134 of file SphereModel.inl.
References sofa::component::MechanicalObject< DataTypes >::applyScale(), sofa::component::collision::TSphereModel< TDataTypes >::getRadius(), sofa::component::collision::TSphereModel< TDataTypes >::setRadius(), and sofa::core::CollisionModel::size.
| void sofa::component::collision::TSphereModel< TDataTypes >::computeBoundingTree | ( | int | maxDepth = 0 |
) | [inline, virtual] |
Create or update the bounding volume hierarchy.
Implements sofa::core::CollisionModel.
Definition at line 174 of file SphereModel.inl.
References sofa::component::MechanicalObject< TDataTypes >::c, sofa::component::collision::CubeModel::computeBoundingTree(), sofa::core::CollisionModel::empty(), sofa::component::collision::TSphereModel< TDataTypes >::getRadius(), sofa::core::CollisionModel::isMoving(), sofa::component::collision::CubeModel::resize(), sofa::component::collision::CubeModel::setParentOf(), sofa::core::CollisionModel::size, and sofa::component::MechanicalObject< TDataTypes >::x.
Referenced by sofa::component::collision::CarvingManager::doCarve().
| void sofa::component::collision::TSphereModel< TDataTypes >::computeContinuousBoundingTree | ( | double | , | |
| int | maxDepth = 0 | |||
| ) | [inline, virtual] |
Create or update the bounding volume hierarchy, accounting for motions within the given timestep.
Default to computeBoundingTree().
Reimplemented from sofa::core::CollisionModel.
Definition at line 200 of file SphereModel.inl.
References sofa::component::MechanicalObject< TDataTypes >::c, sofa::component::collision::CubeModel::computeBoundingTree(), sofa::core::CollisionModel::empty(), sofa::component::collision::TSphereModel< TDataTypes >::getRadius(), sofa::component::MechanicalObject< TDataTypes >::getV(), sofa::component::MechanicalObject< TDataTypes >::getX(), sofa::core::CollisionModel::isMoving(), sofa::component::collision::CubeModel::resize(), sofa::component::collision::CubeModel::setParentOf(), sofa::core::CollisionModel::size, sofa::component::MechanicalObject< TDataTypes >::v, and sofa::component::MechanicalObject< TDataTypes >::x.
Referenced by sofa::component::collision::CarvingManager::doCarve().
| void sofa::component::collision::TSphereModel< TDataTypes >::draw | ( | ) | [inline, virtual] |
Render the whole collision model.
Reimplemented from sofa::core::CollisionModel.
Definition at line 154 of file SphereModel.inl.
References sofa::core::CollisionModel::draw(), sofa::core::CollisionModel::getColor4f(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::CollisionModel::getPrevious(), and sofa::core::CollisionModel::size.
| void sofa::component::collision::TSphereModel< TDataTypes >::draw | ( | int | ) | [inline, virtual] |
Render an collision element.
Reimplemented from sofa::core::CollisionModel.
Definition at line 142 of file SphereModel.inl.
References sofa::component::collision::TSphereModel< TDataTypes >::getRadius(), and sofa::component::MechanicalObject< TDataTypes >::x.
| sofa::core::componentmodel::behavior::MechanicalState<InDataTypes>* sofa::component::collision::TSphereModel< TDataTypes >::getMechanicalState | ( | ) | [inline] |
Definition at line 100 of file SphereModel.h.
Referenced by sofa::gpu::cuda::CudaCollisionDetection::SphereRigidTest::fillInfo(), and sofa::gpu::cuda::CudaCollisionDetection::SphereRigidTest::init().
| const VecReal& sofa::component::collision::TSphereModel< TDataTypes >::getR | ( | ) | const [inline] |
Definition at line 105 of file SphereModel.h.
References sofa::component::collision::TSphereModel< TDataTypes >::radius.
Referenced by sofa::gpu::cuda::CudaCollisionDetection::SphereRigidTest::fillInfo().
| Real sofa::component::collision::TSphereModel< TDataTypes >::getRadius | ( | int | i | ) | const [inline] |
Definition at line 102 of file SphereModel.h.
References sofa::component::collision::TSphereModel< TDataTypes >::radius.
Referenced by sofa::component::collision::TSphereModel< TDataTypes >::applyScale(), sofa::component::collision::TSphereModel< TDataTypes >::computeBoundingTree(), sofa::component::collision::TSphereModel< TDataTypes >::computeContinuousBoundingTree(), sofa::component::collision::TSphereModel< TDataTypes >::draw(), and sofa::component::collision::TSphereModel< TDataTypes >::init().
| int sofa::component::collision::TSphereModel< TDataTypes >::getSize | ( | ) | const [inline] |
Get the number of elements.
Reimplemented from sofa::core::CollisionModel.
Definition at line 112 of file SphereModel.h.
References sofa::component::MechanicalObject< DataTypes >::getSize().
Referenced by sofa::component::collision::TSphereModel< TDataTypes >::TSphereModel().
| void sofa::component::collision::TSphereModel< TDataTypes >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::component::MechanicalObject< TDataTypes >.
Definition at line 67 of file SphereModel.inl.
References sofa::component::collision::TSphereModel< TDataTypes >::defaultRadius, sofa::component::collision::TSphereModel< TDataTypes >::getRadius(), sofa::component::MechanicalObject< DataTypes >::init(), sofa::component::collision::TSphereModel< TDataTypes >::radius, and sofa::component::collision::TSphereModel< TDataTypes >::setRadius().
| bool sofa::component::collision::TSphereModel< TDataTypes >::load | ( | const char * | filename | ) | [inline, virtual] |
Reimplemented from sofa::component::MechanicalObject< TDataTypes >.
Definition at line 121 of file SphereModel.inl.
References sofa::helper::system::DataRepository, sofa::helper::io::SphereLoader::load(), sofa::core::objectmodel::BaseObject::logWarning(), and sofa::component::collision::TSphereModel< TDataTypes >::resize().
| void sofa::component::collision::TSphereModel< TDataTypes >::resize | ( | int | s | ) | [inline, virtual] |
Set the number of elements.
Reimplemented from sofa::core::CollisionModel.
Definition at line 75 of file SphereModel.inl.
References sofa::component::collision::TSphereModel< TDataTypes >::defaultRadius, and sofa::component::collision::TSphereModel< TDataTypes >::radius.
Referenced by sofa::component::collision::TSphereModel< TDataTypes >::addSphere(), sofa::component::collision::TSphereModel< TDataTypes >::load(), and sofa::component::collision::TSphereModel< TDataTypes >::TSphereModel().
| void sofa::component::collision::TSphereModel< TDataTypes >::setRadius | ( | int | i, | |
| Real | r | |||
| ) | [inline] |
Definition at line 103 of file SphereModel.h.
References sofa::component::collision::TSphereModel< TDataTypes >::radius.
Referenced by sofa::component::collision::TSphereModel< TDataTypes >::applyScale(), sofa::component::collision::TSphereModel< TDataTypes >::init(), sofa::component::collision::TSphereModel< TDataTypes >::setSphere(), and sofa::component::collision::TSphereModel< TDataTypes >::TSphereModel().
| void sofa::component::collision::TSphereModel< TDataTypes >::setSphere | ( | int | index, | |
| const Vector3 & | pos, | |||
| SReal | radius | |||
| ) | [inline] |
Definition at line 101 of file SphereModel.inl.
References sofa::component::MechanicalObject< TDataTypes >::getX(), sofa::component::collision::TSphereModel< TDataTypes >::setRadius(), and sofa::core::CollisionModel::size.
Referenced by sofa::component::collision::TSphereModel< TDataTypes >::addSphere(), and SensAble::updatePosition().
Definition at line 81 of file SphereModel.h.
Data< SReal > sofa::component::collision::TSphereModel< TDataTypes >::defaultRadius [protected] |
Definition at line 86 of file SphereModel.h.
Referenced by sofa::component::collision::TSphereModel< TDataTypes >::init(), and sofa::component::collision::TSphereModel< TDataTypes >::resize().
Data< VecReal > sofa::component::collision::TSphereModel< TDataTypes >::radius [protected] |
Definition at line 84 of file SphereModel.h.
Referenced by sofa::component::collision::TSphereModel< TDataTypes >::getR(), sofa::component::collision::TSphereModel< TDataTypes >::getRadius(), sofa::component::collision::TSphereModel< TDataTypes >::init(), sofa::component::collision::TSphereModel< TDataTypes >::resize(), sofa::component::collision::TSphereModel< TDataTypes >::setRadius(), and sofa::component::collision::TSphereModel< TDataTypes >::TSphereModel().
1.5.7.1