iMSTK
Interactive Medical Simulation Toolkit
imstkLevelSetDeformableObject.cpp
1 /*
2 ** This file is part of the Interactive Medical Simulation Toolkit (iMSTK)
3 ** iMSTK is distributed under the Apache License, Version 2.0.
4 ** See accompanying NOTICE for details.
5 */
6 
7 #include "imstkLevelSetDeformableObject.h"
8 #include "imstkLogger.h"
9 #include "imstkPbdModel.h"
10 #include "imstkLevelSetModel.h"
11 
12 namespace imstk
13 {
14 std::shared_ptr<LevelSetModel>
16 {
17  m_levelSetModel = std::dynamic_pointer_cast<LevelSetModel>(m_dynamicalModel);
18  return m_levelSetModel;
19 }
20 
21 bool
23 {
24  m_levelSetModel = std::dynamic_pointer_cast<LevelSetModel>(m_dynamicalModel);
25  if (m_levelSetModel == nullptr)
26  {
27  LOG(FATAL) << "Dynamics pointer cast failure in LevelSetDeformableObject::initialize()";
28  return false;
29  }
30 
32  m_levelSetModel->initialize();
33 
34  return true;
35 }
36 } // namespace imstk
bool initialize() override
Initialize the LevelSet scene object.
Compound Geometry.
This class implements a generic level set model, it requires both a forward and backward finite diffe...
bool initialize() override
Initialize the scene object.
std::shared_ptr< AbstractDynamicalModel > m_dynamicalModel
Dynamical model.
std::shared_ptr< LevelSetModel > m_levelSetModel
LevelSet mathematical model.
std::shared_ptr< LevelSetModel > getLevelSetModel()
Get the LevelSet model of the object.