| 
    iMSTK
    
   Interactive Medical Simulation Toolkit 
   | 
 
Defines the behaviour to allow a tool to burn a pbdObject. This is done by storing state on the mesh that defines the damage from burning and the visual change caused by cauterization. These are currently normalized from [0,1] where 1 is the maximum damage. Once the damage reaches 1, the cell is deleted on the next visual update. More...
#include <imstkBurner.h>


Classes | |
| struct | Burnable | 
Public Member Functions | |
| Burner (const std::string &name="BurnerPbdObjectBehavior") | |
| void | init () override | 
| Initialize the component, called at a later time after all component construction is complete.  | |
| bool | getState () const | 
| Get state of burner (on/off ~ true/false)  | |
| void | visualUpdate (const double &dt) override | 
| bool | getDidBurn () const | 
| std::shared_ptr< PbdObject > | getBurnerObject () const | 
| Get the object doing the burning.  | |
| std::shared_ptr< AnalyticalGeometry > | getBurnerGeometry () const | 
| Get/Set the geometry doing the burning, if it's not set the collision geoemtry of the burner object will be used.  | |
| void | setBurnerGeometry (std::shared_ptr< AnalyticalGeometry > geom) | 
| double | getOnTime () const | 
| Get/Set the ontime from [0,1] where 1 is on fully and any value less than 1 is the percent of on time (e.g. 0.8 = 80% on time). This is used to represent the percent of damage that goes into cutting vs cauterizing.  | |
| void | setOnTime (const double onTime) | 
| double | getWattage () const | 
| Get/Set the wattage. This value is generally between 50-80 watts for L-hook monopolar devices. The setter also sets the nomalized wattage, which is the input divided by 100.  | |
| void | setWattage (const double wattage) | 
| void | start () | 
| Start/Stop the burn by changing the onState flag.  | |
| void | stop () | 
| void | addObject (std::shared_ptr< PbdObject > obj) | 
| Add burnable object to list of things that can be burned.  | |
  Public Member Functions inherited from imstk::Behaviour< UpdateInfo > | |
| virtual void | update (const UpdateInfo &imstkNotUsed(updateData)) | 
| virtual void | visualUpdate (const UpdateInfo &imstkNotUsed(updateData)) | 
| void | initTaskGraphEdges () | 
| Setup the edges/connections of the TaskGraph.  | |
| std::shared_ptr< TaskGraph > | getTaskGraph () const | 
  Public Member Functions inherited from imstk::Component | |
| const std::string & | getName () const | 
| void | setName (const std::string &name) | 
| std::weak_ptr< Entity > | getEntity () const | 
| Get parent entity.  | |
| void | initialize () | 
| Initialize the component, called at a later time after all component construction is complete.  | |
Protected Member Functions | |
| void | handle () | 
| void | handleBurnable (int burnableId) | 
| void | applyBurn (int burnableId, int cellId) | 
| void | monopolarToolModel (double &burnDmg, double &burnVis, double dt) | 
| void | initGraphEdges (std::shared_ptr< TaskNode > source, std::shared_ptr< TaskNode > sink) override | 
  Protected Member Functions inherited from imstk::Behaviour< UpdateInfo > | |
| Behaviour (const std::string &name="Behaviour") | |
| Behaviour (const bool useTaskGraph, const std::string &name="Behaviour") | |
| virtual void | initGraphEdges (std::shared_ptr< TaskNode > imstkNotUsed(source), std::shared_ptr< TaskNode > imstkNotUsed(sink)) | 
| Setup the edges/connections of the TaskGraph.  More... | |
  Protected Member Functions inherited from imstk::Component | |
| Component (const std::string &name="Component") | |
Protected Attributes | |
| std::shared_ptr< PbdObject > | m_burningObj | 
| PbdObject doing the burning.  | |
| std::shared_ptr< AnalyticalGeometry > | m_burnGeometry | 
| Geometry doing the burning.  | |
| std::shared_ptr< TaskNode > | m_burningHandleNode | 
| std::vector< Burnable > | m_burnableObjects | 
| Set of burnable objects, currently set by user during setup.  | |
| double | m_onTime = 0.5 | 
| On time for energy burning tool from [0,1].  | |
| double | m_wattage = 50 | 
| Tool wattage.  | |
| double | m_normWattage = 0.5 | 
| Tool wattage / 100.  | |
| double | m_q = 4.0 | 
| Fitting parameter that modifies how quickly tissue gets burned.  | |
| bool | m_onState = false | 
| flag if tool is currently on or not  | |
| bool | m_burnOnce = false | 
| Rate limit the burning to once per phyics cycle.  | |
| bool | m_didBurnLastPhysics = false | 
| Buffer for providing information to the user.  | |
  Protected Attributes inherited from imstk::Behaviour< UpdateInfo > | |
| std::shared_ptr< TaskGraph > | m_taskGraph = nullptr | 
  Protected Attributes inherited from imstk::Component | |
| std::string | m_name | 
| std::weak_ptr< Entity > | m_entity | 
| Parent entity this component exists on.  | |
Defines the behaviour to allow a tool to burn a pbdObject. This is done by storing state on the mesh that defines the damage from burning and the visual change caused by cauterization. These are currently normalized from [0,1] where 1 is the maximum damage. Once the damage reaches 1, the cell is deleted on the next visual update.
Definition at line 28 of file imstkBurner.h.
 1.8.13