iMSTK
Interactive Medical Simulation Toolkit
|
Implements bone drilling collision handling. More...
#include <imstkBoneDrillingCH.h>
Public Member Functions | |
void | setInputObjectBone (std::shared_ptr< CollidingObject > boneObject) |
Set the input bone. | |
void | setInputObjectDrill (std::shared_ptr< RigidObject2 > drillObject) |
Set the input drill. | |
std::shared_ptr< CollidingObject > | getBoneObj () const |
std::shared_ptr< RigidObject2 > | getDrillObj () const |
double | getStiffness () const |
Get stiffness. | |
void | setStiffness (const double k) |
Set stiffness. | |
double | getDamping () const |
Get damping coefficient. | |
void | setDamping (const double d) |
Set damping coefficient. | |
![]() | |
virtual const std::string | getTypeName () const =0 |
void | setInputObjectA (std::shared_ptr< CollidingObject > objectA) |
Set the input objects. | |
void | setInputObjectB (std::shared_ptr< CollidingObject > objectB) |
std::shared_ptr< CollidingObject > | getInputObjectA () const |
Get the input objects. | |
std::shared_ptr< CollidingObject > | getInputObjectB () const |
virtual std::shared_ptr< Geometry > | getHandlingGeometryA () |
Get the geometry used for handling defaults to the collision geometry. | |
virtual std::shared_ptr< Geometry > | getHandlingGeometryB () |
void | setInputCollisionData (std::shared_ptr< CollisionData > collisionData) |
Set/Get the input collision data used for handling. | |
void | setInputCollisionData (std::shared_ptr< std::vector< std::shared_ptr< CollisionData >>> collisionVectorData) |
Set/Get the input collision data used for handling This supports collating information from multiple collision detect algorithms. | |
std::shared_ptr< const CollisionData > | getInputCollisionData () const |
void | update () |
Handle the input collision data. | |
Protected Member Functions | |
virtual void | handle (const std::vector< CollisionElement > &elementsA, const std::vector< CollisionElement > &elementsB) override |
Does the bone drilling. | |
void | erodeBone (const std::vector< CollisionElement > &elementsA, const std::vector< CollisionElement > &elementsB) |
Decrease the density at the nodal points and remove if the density goes below 0. More... | |
![]() | |
void | updateCollisionData (std::shared_ptr< const CollisionData > data) |
Additional Inherited Members | |
![]() | |
std::shared_ptr< CollidingObject > | m_inputObjectA |
std::shared_ptr< CollidingObject > | m_inputObjectB |
std::shared_ptr< const CollisionData > | m_colData |
Collision data. | |
std::shared_ptr< std::vector< std::shared_ptr< CollisionData > > > | m_colVectorData |
Expansion to allow collision detection to return multiple types of collision data. | |
std::function< void()> | m_updateFunction = []() {} |
bool | m_clearData = true |
bool | m_processConstraints = true |
Implements bone drilling collision handling.
Definition at line 26 of file imstkBoneDrillingCH.h.
|
protected |
Decrease the density at the nodal points and remove if the density goes below 0.
Definition at line 30 of file imstkBoneDrillingCH.cpp.