| 
    iMSTK
    
   Interactive Medical Simulation Toolkit 
   | 
 
Scene objects that are governed by rigid body dynamics under the RigidBodyModel2. More...
#include <imstkRigidObject2.h>


Public Member Functions | |
| RigidObject2 (const std::string &name="RigidObject2") | |
| bool | initialize () override | 
| Initialize the rigid scene object.  | |
| std::shared_ptr< RigidBodyModel2 > | getRigidBodyModel2 () | 
| Add local force at a position relative to object.  | |
| std::shared_ptr< RigidBody > | getRigidBody () const | 
| Returns body in the model.  | |
| void | setDynamicalModel (std::shared_ptr< AbstractDynamicalModel > dynaModel) override | 
| Sets the model, and creates the body within the model.  | |
| void | updatePhysicsGeometry () override | 
| Updates the physics geometry of the object.  | |
  Public Member Functions inherited from imstk::DynamicObject | |
| size_t | getNumOfDOF () const | 
| Returns the number of degree of freedom.  | |
| void | updateGeometries () final | 
| Update the physics geometry and the apply the maps (if defined)  | |
| void | reset () override | 
| Reset the dynamic object by reseting the respective DynamicalModel and Geometry.  | |
| std::shared_ptr< Geometry > | getPhysicsGeometry () const | 
| Set/Get the geometry used for Physics computations.  | |
| virtual void | setPhysicsGeometry (std::shared_ptr< Geometry > geometry) | 
| std::shared_ptr< GeometryMap > | getPhysicsToCollidingMap () const | 
| Set/Get the Physics-to-Collision map.  | |
| void | setPhysicsToCollidingMap (std::shared_ptr< GeometryMap > map) | 
| std::shared_ptr< GeometryMap > | getPhysicsToVisualMap () const | 
| Set/Get the Physics-to-Visual map.  | |
| void | setPhysicsToVisualMap (std::shared_ptr< GeometryMap > map) | 
| virtual std::shared_ptr< AbstractDynamicalModel > | getDynamicalModel () const | 
| Set/Get dynamical model.  | |
  Public Member Functions inherited from imstk::CollidingObject | |
| CollidingObject (const std::string &name="CollidingObject") | |
| void | update () override | 
| Update the SceneObject, called during scene update.  | |
| bool | didCollide (std::shared_ptr< CollidingObject > other) | 
| void | addCollision (std::shared_ptr< CollidingObject > other, std::shared_ptr< imstk::CollisionData > data) | 
| Add data for collision with the object `other.  | |
| const std::vector< std::shared_ptr< imstk::CollisionData > > & | getCollisions (std::shared_ptr< CollidingObject > other) const | 
| std::shared_ptr< Geometry > | getCollidingGeometry () const | 
| void | setCollidingGeometry (std::shared_ptr< Geometry > geometry) | 
| std::shared_ptr< GeometryMap > | getCollidingToVisualMap () const | 
| void | setCollidingToVisualMap (std::shared_ptr< GeometryMap > map) | 
  Public Member Functions inherited from imstk::SceneObject | |
| SceneObject (const std::string &name="SceneObject") | |
| std::shared_ptr< TaskGraph > | getTaskGraph () const | 
| Get the computational graph.  | |
| std::shared_ptr< Geometry > | getVisualGeometry () const | 
| Sets the visual geometry, adds (sets the first) VisualModel.  | |
| void | setVisualGeometry (std::shared_ptr< Geometry > geometry) | 
| std::shared_ptr< VisualModel > | getVisualModel (const int index) const | 
| Get/add visual model.  | |
| void | addVisualModel (std::shared_ptr< VisualModel > visualModel) | 
| void | removeVisualModel (std::shared_ptr< VisualModel > visualModel) | 
| std::shared_ptr< TaskNode > | getUpdateNode () const | 
| Returns the computational node for updating.  | |
| std::shared_ptr< TaskNode > | getUpdateGeometryNode () const | 
| Returns the computational node for updating geometry.  | |
| virtual void | visualUpdate () | 
| Update the visuals, called before render.  | |
| void | initGraphEdges () | 
| Initializes the edges of the SceneObject's computational graph.  | |
  Public Member Functions inherited from imstk::Entity | |
| Entity (const std::string &name="Entity") | |
| SIGNAL (Entity, modified) | |
| EntityID | getID () const | 
| Get ID (ALWAYS query the ID in your code, DO NOT hardcode it)  More... | |
| virtual const std::string | getTypeName () const | 
| template<typename T > | |
| std::shared_ptr< T > | addComponent () | 
| Create and return a component on this entity.  | |
| template<typename T > | |
| std::shared_ptr< T > | addComponent (std::string name) | 
| void | addComponent (std::shared_ptr< Component > component) | 
| Add existing component to entity.  | |
| std::shared_ptr< Component > | getComponent (const unsigned int index) const | 
| Get a component by index.  | |
| template<typename T > | |
| std::shared_ptr< T > | getComponent () const | 
| Get the first component of type T.  | |
| template<typename T > | |
| std::shared_ptr< T > | getComponentN (const int index) const | 
| Get's the Nth component of type T.  | |
| template<class T > | |
| bool | containsComponent () const | 
| Check if contains component of type T.  | |
| bool | containsComponent (std::shared_ptr< Component > component) const | 
| Check if contains given component.  | |
| template<typename T > | |
| std::vector< std::shared_ptr< T > > | getComponents () const | 
| Get all components of type T.  | |
| const std::vector< std::shared_ptr< Component > > & | getComponents () | 
| void | removeComponent (std::shared_ptr< Component > component) | 
| Remove component if it exists.  | |
| const std::string & | getName () const | 
| Get/Set the name of the entity.  | |
| void | setName (const std::string &name) | 
  Public Member Functions inherited from imstk::EventObject | |
| template<typename T > | |
| void | postEvent (const T &e) | 
| Emits the event Direct observers will be immediately called, in sync Queued observers will receive the Command in their queue for later execution, reciever must implement doEvent.  | |
| template<typename T > | |
| void | queueEvent (const T &e) | 
| Queues event directly to this.  | |
| void | doEvent () | 
| Do an event, if none exists return.  | |
| void | doAllEvents () | 
| Do all the events in the event queue.  | |
| void | foreachEvent (std::function< void(Command cmd)> func) | 
| Thread safe loop over all event commands, one can implement a custom handler.  | |
| void | rforeachEvent (std::function< void(Command cmd)> func) | 
| thread safe reverse loop over all event commands, one can implement a custom handler  | |
| void | clearEvents () | 
| Removes all events from queue cleans up copies of the event.  | |
Protected Attributes | |
| std::shared_ptr< RigidBodyModel2 > | m_rigidBodyModel2 | 
| std::shared_ptr< RigidBody > | m_rigidBody | 
| Gives the actual body within the model.  | |
  Protected Attributes inherited from imstk::DynamicObject | |
| std::shared_ptr< AbstractDynamicalModel > | m_dynamicalModel = nullptr | 
| Dynamical model.  | |
| std::shared_ptr< Geometry > | m_physicsGeometry = nullptr | 
| Geometry used for Physics.  | |
| std::shared_ptr< GeometryMap > | m_physicsToCollidingGeomMap = nullptr | 
| Maps from Physics to collision geometry.  | |
| std::shared_ptr< GeometryMap > | m_physicsToVisualGeomMap = nullptr | 
| Maps from Physics to visual geometry.  | |
  Protected Attributes inherited from imstk::CollidingObject | |
| std::shared_ptr< Geometry > | m_collidingGeometry = nullptr | 
| Geometry for collisions.  | |
| std::shared_ptr< GeometryMap > | m_collidingToVisualMap = nullptr | 
| Maps transformations to visual geometry.  | |
| Vec3d | m_force = Vec3d::Zero() | 
| std::unordered_map< std::shared_ptr< CollidingObject >, std::vector< std::shared_ptr< CollisionData > > > | m_collisions | 
  Protected Attributes inherited from imstk::SceneObject | |
| std::shared_ptr< TaskGraph > | m_taskGraph = nullptr | 
| Computational Graph.  | |
  Protected Attributes inherited from imstk::Entity | |
| std::vector< std::shared_ptr< Component > > | m_components | 
| EntityID | m_ID | 
| unique ID of entity  | |
| std::string | m_name | 
| Not unique name.  | |
  Protected Attributes inherited from imstk::EventObject | |
| ParallelUtils::SpinLock | eventQueueLock | 
| std::deque< Command > | eventQueue | 
| std::vector< std::pair< std::string, std::vector< Observer > > > | queuedObservers | 
| std::vector< std::pair< std::string, std::vector< Observer > > > | directObservers | 
Additional Inherited Members | |
  Public Types inherited from imstk::EventObject | |
| using | Observer = std::tuple< bool, std::weak_ptr< EventObject >, std::function< void(Event *)> > | 
  Protected Member Functions inherited from imstk::DynamicObject | |
| void | initGraphEdges (std::shared_ptr< TaskNode > source, std::shared_ptr< TaskNode > sink) override | 
| Setup connectivity of task graph.  | |
| void | postModifiedAll () override | 
| Posts modified for all geometries.  | |
| DynamicObject (const std::string &name) | |
  Protected Member Functions inherited from imstk::CollidingObject | |
| void | clearCollisions () | 
| resets the collision information  | |
  Static Protected Attributes inherited from imstk::Entity | |
| static std::atomic< EntityID > | m_count { 0 } | 
| current count of entities  | |
Scene objects that are governed by rigid body dynamics under the RigidBodyModel2.
Definition at line 24 of file imstkRigidObject2.h.
 1.8.13