iMSTK issueshttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues2019-07-04T16:24:04-04:00https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/123Create infrastructure to support ODE within iMSTK2019-07-04T16:24:04-04:00Hina ShahCreate infrastructure to support ODE within iMSTKODE support will be added as a rigid-body force model in iMSTK.
The task will start off assuming that ODE libraries are supplied externally.
Once Issue #120 is resolved, this branch should be merged with the corresponding branch to crea...ODE support will be added as a rigid-body force model in iMSTK.
The task will start off assuming that ODE libraries are supplied externally.
Once Issue #120 is resolved, this branch should be merged with the corresponding branch to create a complete suppot.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/121Add a parent-children-like tree structure containing multiple geometries2017-07-03T15:39:10-04:00Andinet enquobahrieAdd a parent-children-like tree structure containing multiple geometrieshttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/120Adding Open Dynamics Engine to iMSTK's Superbuild2019-07-04T16:44:06-04:00Hina ShahAdding Open Dynamics Engine to iMSTK's SuperbuildHina ShahHina Shahhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/117Render various fields during a physics simualtion2019-07-28T15:58:05-04:00mohitTyagiRender various fields during a physics simualtionDuring a physics simulation (deformation, collisions, cutting etc.), we should be able to visualise various fields such as stresses, strain etc.During a physics simulation (deformation, collisions, cutting etc.), we should be able to visualise various fields such as stresses, strain etc.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/112Adding color and opacity properties for geometry and text (from CameraNavigat...2017-07-03T15:39:10-04:00Hina ShahAdding color and opacity properties for geometry and text (from CameraNavigationV2)Cherry pick from commits at: 2b6f52dc83fddcaeef8250b22c96c245465a96c8Cherry pick from commits at: 2b6f52dc83fddcaeef8250b22c96c245465a96c8Hina ShahHina Shahhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/111Fix rendered window termination (from CameraNavigationV2 branch)2017-07-03T15:39:10-04:00Hina ShahFix rendered window termination (from CameraNavigationV2 branch)Add the changes from https://gitlab.kitware.com/iMSTK/iMSTK/commit/8ff3266ce92d4adfb7b08002b947e34a29e5fef2
When running simulations from Camera Navigation App, one of the desired behaviors was to close just the simulation window (and...Add the changes from https://gitlab.kitware.com/iMSTK/iMSTK/commit/8ff3266ce92d4adfb7b08002b947e34a29e5fef2
When running simulations from Camera Navigation App, one of the desired behaviors was to close just the simulation window (and not the whole app) on pressing Esc. Esc's key handler calls `imstk::Viewer::endRenderingLoop()` which in turn calls the `vtkRenderWindowInteractor::TerminateApp()`. This did not close the simulation window, but instead closes the complete app on pressing Esc twice. Adding `vtkRenderWindow::Finalize()` fixes the behavior and closes just the simulation window and not the whole app.
Hina ShahHina Shahhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/110Optionally run controllers in a separate thread2020-11-19T03:15:46-05:00Sreekanth ArikatlaOptionally run controllers in a separate threadAt present the simulationManager runs controllers (including virtual coupling objects), collision detection, collision handling and solvers in a sequential fashion. For a scene where the solvers take more time the object controllers are ...At present the simulationManager runs controllers (including virtual coupling objects), collision detection, collision handling and solvers in a sequential fashion. For a scene where the solvers take more time the object controllers are called at a low frame rate leading to objects not responsive to the user movements. One option is to run the each controller in a separate module.
Whether the controllers are run in a separate thread within scene manager or a separate module they need to be synchronized for collision detection, handling and computation of forces.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/109Spatial hash implementations2017-07-03T15:39:10-04:00Nicholas MilefSpatial hash implementationsSpatial hashing is very important for collision detection, so we'll need a data structure for this. There will likely need to be multiple implementations:
* imstkSpatialHash (abstract)
* imstkSparseSpatialHash (implementation: ope...Spatial hashing is very important for collision detection, so we'll need a data structure for this. There will likely need to be multiple implementations:
* imstkSpatialHash (abstract)
* imstkSparseSpatialHash (implementation: open-addressing)
* imstkDenseSpatialHash (implementation: separate chaining)https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/108investigate Tansel work on shaders to bring back in VTK2019-03-19T15:51:27-04:00Alexis Giraultinvestigate Tansel work on shaders to bring back in VTKLook into work by Tansel and integrate what's missing:
https://gitlab.kitware.com/iMSTK/iMSTK/commit/bc8bb622222ad9c6c83e64323c07274a9fddd3f9
https://gitlab.kitware.com/iMSTK/iMSTK/merge_requests/61Look into work by Tansel and integrate what's missing:
https://gitlab.kitware.com/iMSTK/iMSTK/commit/bc8bb622222ad9c6c83e64323c07274a9fddd3f9
https://gitlab.kitware.com/iMSTK/iMSTK/merge_requests/61https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/107Utility function to compare meshes2019-07-28T15:44:03-04:00mohitTyagiUtility function to compare meshes- and try this utility function to compare `volMeshA` and `volMeshB` in `testMshandVegaIO()` in Sandbox.- and try this utility function to compare `volMeshA` and `volMeshB` in `testMshandVegaIO()` in Sandbox.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/103Implement updateConstraint and solveVelocityConstraint in pbdConstraint2019-07-28T15:57:58-04:00Sreekanth ArikatlaImplement updateConstraint and solveVelocityConstraint in pbdConstraint```cpp
///
/// \brief update constraint
/// \param model \class PbdModel
/// \return true if succeeded
/// TODO: Remove this or implement for child classes in future
///
virtual bool updateConstraint(Pb...```cpp
///
/// \brief update constraint
/// \param model \class PbdModel
/// \return true if succeeded
/// TODO: Remove this or implement for child classes in future
///
virtual bool updateConstraint(PbdModel& model)
{
return true;
}
///
/// \brief compute delta velocity, specifically for rigid bodies
/// \param model \class PbdModel
/// \return true if succeeded
/// TODO: Remove this or implement for child classes in future
///
virtual bool solveVelocityConstraint(PbdModel& model)
{
return true;
}
```https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/102Design and implements virtual coupling classes2017-07-03T15:39:10-04:00Sreekanth ArikatlaDesign and implements virtual coupling classesDesign and implements generic virtual coupling classes whose main job is to retrieve the device data and make accommodations to implement custom ways to use the data to manipulate any given scene object and optionally send the feedback t...Design and implements generic virtual coupling classes whose main job is to retrieve the device data and make accommodations to implement custom ways to use the data to manipulate any given scene object and optionally send the feedback to the device (typically setting the force).
!150 https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/95Add frictional mechanical models2019-07-28T15:57:54-04:00Sreekanth ArikatlaAdd frictional mechanical modelsReferences:
1. IPC based friction modeling: http://www.sciencedirect.com/science/article/pii/S1524070315000491
2. Friction cone based friction modeling: http://www.gmrv.es/Publications/2009/OTSG09/OTSG09.pdfReferences:
1. IPC based friction modeling: http://www.sciencedirect.com/science/article/pii/S1524070315000491
2. Friction cone based friction modeling: http://www.gmrv.es/Publications/2009/OTSG09/OTSG09.pdfhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/94Add support for VEGA's precomputed models for deformation mechanics2019-07-28T15:57:51-04:00Sreekanth ArikatlaAdd support for VEGA's precomputed models for deformation mechanicsVEGA has support for model order reduction based deformation models that needs to be interfaced with iMSTKVEGA has support for model order reduction based deformation models that needs to be interfaced with iMSTKhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/93Extend existing PBD formulation to include fluid simulation2019-03-19T15:51:27-04:00Sreekanth ArikatlaExtend existing PBD formulation to include fluid simulationReference:
1. http://mmacklin.com/pbf_sig_preprint.pdf
!190 Reference:
1. http://mmacklin.com/pbf_sig_preprint.pdf
!190 Rachel ClippRachel Clipphttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/92Add support for 1-D elastic structures2018-09-15T12:24:20-04:00Sreekanth ArikatlaAdd support for 1-D elastic structuresAdd support for 1-D elastic structures. One use case is the suture thread simulation. This could be done using mass-spring with bending stiffnessAdd support for 1-D elastic structures. One use case is the suture thread simulation. This could be done using mass-spring with bending stiffnesshttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/91Add rigid body dynamics capability2019-03-19T15:51:27-04:00Sreekanth ArikatlaAdd rigid body dynamics capabilityAdd rigid body dynamics capability either through native implementation or by incorporating a library
One option: http://www.ode.org/Add rigid body dynamics capability either through native implementation or by incorporating a library
One option: http://www.ode.org/https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/90Implement linear projection constraints2019-03-19T15:51:27-04:00Sreekanth ArikatlaImplement linear projection constraintsLinear projection constraints [1] for rigid-soft interactions, picking and general Dirichlet B.C.
Reference:
1. http://dl.acm.org/citation.cfm?id=2542348Linear projection constraints [1] for rigid-soft interactions, picking and general Dirichlet B.C.
Reference:
1. http://dl.acm.org/citation.cfm?id=2542348https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/89Implement LCP collision response2019-07-28T15:57:48-04:00Sreekanth ArikatlaImplement LCP collision responseLinear complementarity problem (LCP) based response to resolve contactsLinear complementarity problem (LCP) based response to resolve contactshttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/88Add virtual coupling for rigid-rigid contacts2019-03-19T15:51:27-04:00Sreekanth ArikatlaAdd virtual coupling for rigid-rigid contactsvirtual coupling represents a rigid object being controlled by the user into visual and haptic representations (connected by mass-spring-damper) thereby simulating non-penetration and proper force feedback.virtual coupling represents a rigid object being controlled by the user into visual and haptic representations (connected by mass-spring-damper) thereby simulating non-penetration and proper force feedback.