|
iMSTK
Interactive Medical Simulation Toolkit
|
This class implements a generic level set model, it requires both a forward and backward finite differencing method. More...
#include <imstkLevelSetModel.h>


Public Member Functions | |
| std::shared_ptr< LevelSetModelConfig > | getConfig () const |
| bool | initialize () override |
| Initialize the LevelSet model. | |
| void | configure (std::shared_ptr< LevelSetModelConfig > config) |
| Configure the model. | |
| virtual void | evolve () |
| void | addImpulse (const Vec3i &coord, double f) |
| Add an impulse to the velocity field of the levelset This actually takes the max of the current and provided. | |
| void | setImpulse (const Vec3i &coord, double f) |
| Set the impulse in the velocity field, replaces. | |
| std::shared_ptr< TaskNode > | getQuantityEvolveNode (size_t i) const |
| std::shared_ptr< TaskNode > | getGenerateVelocitiesBeginNode () const |
| std::shared_ptr< TaskNode > | getGenerateVelocitiesEndNode () const |
| std::unordered_map< size_t, std::tuple< Vec3i, double > > & | getNodesToUpdate () |
| void | resetToInitialState () override |
| Reset the current state to the initial state. | |
| void | setTimeStep (const double timeStep) override |
| Get/Set the time step size. | |
| double | getTimeStep () const override |
| Returns the time step size. | |
Public Member Functions inherited from imstk::AbstractDynamicalModel | |
| std::shared_ptr< TaskGraph > | getTaskGraph () const |
| const DynamicalModelType & | getType () const |
| Get the type of the object. | |
| virtual void | updatePhysicsGeometry () |
| Update the geometry of the model. | |
| void | setModelGeometry (std::shared_ptr< Geometry > geometry) |
| Sets the model geometry. | |
| bool | isGeometryValid (const std::shared_ptr< Geometry > geometry) |
| Checks if the given geometry is a valid geometry type for the model. | |
| std::shared_ptr< Geometry > | getModelGeometry () const |
| Gets the model geometry. | |
| void | initGraphEdges () |
| Initializes the edges of the graph. | |
| std::size_t | getNumDegreeOfFreedom () const |
| Get/Set the number of degrees of freedom. | |
| void | setNumDegreeOfFreedom (const size_t nDof) |
| virtual void | setTimeStepSizeType (const TimeSteppingType type) |
| Get/Set the type of approach used to update the time step size after every frame. | |
| TimeSteppingType | getTimeStepSizeType () const |
Protected Member Functions | |
| void | initGraphEdges (std::shared_ptr< TaskNode > source, std::shared_ptr< TaskNode > sink) override |
| Setup the task graph of the LSM. | |
Protected Member Functions inherited from imstk::AbstractDynamicalModel | |
| AbstractDynamicalModel (DynamicalModelType type=DynamicalModelType::None) | |
Protected Attributes | |
| std::shared_ptr< ImplicitGeometry > | m_mesh = nullptr |
| Geometry on which the levelset evolves with. | |
| std::vector< std::shared_ptr< TaskNode > > | m_evolveQuantitiesNodes |
| std::shared_ptr< TaskNode > | m_generateVelocitiesBegin |
| std::shared_ptr< TaskNode > | m_generateVelocitiesEnd |
| std::shared_ptr< LevelSetModelConfig > | m_config |
| std::unordered_map< size_t, std::tuple< Vec3i, double > > | m_nodesToUpdate |
| std::vector< std::tuple< size_t, Vec3i, double, Vec2d, double > > | m_nodeUpdatePool |
| size_t | noteUpdatePoolSize |
| size_t | m_maxVelocitiesParallel = 100 |
| std::shared_ptr< ImageData > | m_gradientMagnitudes = nullptr |
| Gradient magnitude field when using dense. | |
| std::shared_ptr< ImageData > | m_velocities = nullptr |
| std::shared_ptr< ImageData > | m_curvatures = nullptr |
| StructuredForwardGradient | m_forwardGrad |
| StructuredBackwardGradient | m_backwardGrad |
| ImplicitStructuredCurvature | m_curvature |
Protected Attributes inherited from imstk::AbstractDynamicalModel | |
| DynamicalModelType | m_type |
| Mathematical model type. | |
| std::size_t | m_numDof |
| Total number of degree of freedom. | |
| std::shared_ptr< Geometry > | m_geometry = nullptr |
| Physics geometry of the model. | |
| std::set< std::string > | m_validGeometryTypes |
| Valid geometry types of this model. | |
| TimeSteppingType | m_timeStepSizeType = TimeSteppingType::Fixed |
| std::shared_ptr< TaskGraph > | m_taskGraph = nullptr |
Additional Inherited Members | |
Public Types inherited from imstk::AbstractDynamicalModel | |
| enum | StateUpdateType { Displacement, Velocity, DeltaDisplacement, DeltaVelocity, None } |
| Type of the update of the state of the body. | |
This class implements a generic level set model, it requires both a forward and backward finite differencing method.
Definition at line 35 of file imstkLevelSetModel.h.
1.8.13