- Nov 10, 2016
-
-
Sreekanth Arikatla authored
Make PbdConstraint abstract base class with solvePositionConstraint to be implemted in base class
-
Sreekanth Arikatla authored
1. Template parameter in the DunamicalObject and DynamicalModel is named to StateType 2. Rename paramerts in the initialization of the pbd constraints 3. Remove unnecessary APIs in scene object hierarchy
-
- Nov 09, 2016
-
-
Sreekanth Arikatla authored
Renames pbd constraint classes. Renames the selfUpdate to updateGeometries
-
- Nov 03, 2016
-
-
Sreekanth Arikatla authored
-
- Nov 01, 2016
-
-
Sreekanth Arikatla authored
Fix fixed node constraint bug in PbdVolumeConstraint.
-
Sreekanth Arikatla authored
1. Adds self update to the scene objects. The objects now can update themselves instead of explicit way of updating in the sceneManager class. 2. Clear warnings in PbdVolumeeConstraint, DeformableModel, PbdModel, NewtonMethod classes 3. Clean the main() in the sandbox example
-
- Oct 31, 2016
-
-
Sreekanth Arikatla authored
1. Seperate files for separate Pbd colliison constrain classes 2. Preincrement lop variables 3. Refactor collision constraint classes: remove raw pointers, using auto, style corrections 4. Move pbd constraints to seperate folder within constraint folder 5. Clears warnings in Physics module
-
- Oct 30, 2016
-
-
Sreekanth Arikatla authored
Place all dynamicalModel related into separate folder. SceneElements now has just the tangable and intangable objects.
-
Sreekanth Arikatla authored
1. Dynamical object classes are templated with the problem state (Deformable bodies use vectorized state. Pbd objects use pbdState.) 2. Pbd state is refactored to have only the current state 3. Rename deformableBodyState to VectorizedState which can be used in future by all the finite element and vectorized formulations 4. Remove unnecessary mappnig for the cloth example 5. Adds queries to sceneobject for visible, collidable and physics 6. Optional allocation of internal states for pbdState 7. Removes the specialized calls in the sceneManager::runModule. This will be further cleaned. 8. Correct ifdef in imstkNewmarkBeta.h
-
- Oct 28, 2016
-
-
Sreekanth Arikatla authored
Rename DeformableBodyState to VectorizedState Make the ifDefs consistent in style Place and correct the headers in some files. This has to be done for all files at some point.
-
- Oct 27, 2016
-
-
Sreekanth Arikatla authored
Replace int by size_t in pbdModel Rename constraintProjection to projectConstraints
-
Sreekanth Arikatla authored
Clean the pbdState to just have body states. All the physics related parameters, time step size and time integration routines are moved to pbdModel
-
- Oct 26, 2016
-
-
Sreekanth Arikatla authored
Adds a solver base class so that both nonlinear solvers and the pbd solver derives from it. This simplifies the SceneManager::runModule()
-
Sreekanth Arikatla authored
Make a base class for problem state. All math models uses states that are derived from this class. Rename ProblemState class to DeformableBodyState Rename positionBasedModel to positionBasedDynamicsModel Replace raw pointers with smart pointers in pbdModel class rename class functions in pbdModel pbdState: move function definitions to .ccp & replace int by size_t
-
- Oct 25, 2016
-
-
Sreekanth Arikatla authored
Make locals const where ever possible in PBD constraint classes Create separate files for each of PBD constraint classes
-
Sreekanth Arikatla authored
Move the implementation to .cpp for ProblemState class. Adds missing comments for functions in ProblemState class. Make DynamicObject derive from collidableObject rather than sceneObject.
-
- Oct 24, 2016
-
-
Sreekanth Arikatla authored
-
Alexis Girault authored
- Corrects wrongly named controller objects in the Sandbox example - Corrects wrong construtor call to the PBDObject
-
Alexis Girault authored
Refactor controllers This MR aims to refactor the VirtualCouplingObject class into a SceneObjectController, as well as correct some style and architecture issues. ### STYLE: correct identation 97fc549f Convert tabs to 4 spaces ### ENH: simplify TrackingController constructor fbc48bae - Get rid of scaling in constructor (too many parameters, why choose scaling and not others? Use `setTranslationScaling` instead) - No more default `nullptr` value for `DeviceClient` in controller constructor ### ENH: Implement getMasterGeometry 85470771 Returns the master geometry. A geometry is qualified master by the direction of the geometry maps of the object. For example with a dynamic object, physic geometry will drive the changes to the colliding geometry, which will drive the changes to the visual geometry... ### ENH: Divide SceneObject & CollidingObject d8fee1f4 (fixes #84) Colliding geometry is only in `CollidingObject, not `SceneObject`. To do this, we also had to : - Have `PbdObject` inherit `CollidingObject` *(in the future there should not be a distinct object class just for Pbd : there should just be dynamical objects that can use different models, like Pbd or FEM)* - Remove useless checks when creating interactions: even two colliding objects (not dynamic, aka static) could be interacting if they are both controlled by devices ### STYLE: correct some includes and forward declarations 0340bde7 ### ENH: remove interface for transforming geometry in RigidObject 7c272963 We are still wondering how to store/apply our geometries. Having yet another interface to only wrap the API to transform the geometry is not needed: we can directly call them on the geometry themselves for more transparency on what geometry is being updated. *This should be investigated later on when we will work with rigid body dynamics.* ### ENH: Refactor VirtualCouplingObject in a controller (fixes #99) - `SceneObjectController`: similar to cameraController, it subclasses trackingController to update the transformation of an object master geometry, instead of updating itself. - `SceneObject`: similar to camera, has an interface to easily setup a controller using a device client. - `CollidingObject`: stores the force vector that needs to be applied to the device. - `SceneManager`: make the API calls from controller instead of object ### STYLE: Rename cameraController attribute to controller 9e199a30 See merge request !102
-
- Oct 20, 2016
-
-
Alexis Girault authored
-
Alexis Girault authored
SceneObjectController: similar to cameraController, it subclasses trackingController to update the transformation of an object master geometry, instead of updating itself. SceneObject: similar to camera, has an interface to easily setup a controller using a device client. CollidingObject: stores the force vector that is to be applied to the device. SceneManager: make the API calls from controller instead of object
-
Alexis Girault authored
We are still wondering how to store/apply our geometries. Having yet another interface to only wrap the API to transform the geometry is not needed: we can directly call them on the geometry themselves for more transparency on what geometry is being updated. This will be investigated later on when we will work with rigib body dynamics.
-
Alexis Girault authored
-
Alexis Girault authored
Colliding geometry is only in CollidingObject. To do this, we also had to : - have PbdObject inherit CollidingObject (in the future there should not be a distinct object class just for Pbd : there should just be dynamical objects that can use different models, like Pbd or FEM) - remove useless checks when creating interactions: even two colliding objects (not dynamic, aka static) could be interacting if they are both controlled by devices
-
- Oct 19, 2016
-
-
Alexis Girault authored
Returns master geometry, defined master in the geometry maps of the objects. Physic geometry will drive the changes to the colliding geometry, which will drive the changes to the visual geometry
-
- Oct 18, 2016
-
-
Alexis Girault authored
- Get rid of scaling in constructor (too many parameters, why choose scaling and not others? Use setTranslationScaling instead) - No more default nullptr value for deviceClient in controller constructor
-
Alexis Girault authored
convert tabs to 4 spaces
-
- Oct 17, 2016
-
-
Alexis Girault authored
VRPN fixes (runtime, compilation, and external linkage) 1. VRPN would not be found in `FindVRPN.cmake` on Linux if `iMSTK_USE_OMNI` was set to ON. 2. A name issue in `iMSTKConfig.cmake.in` would prevent external projects to link against iMSTK 3. An offset was applied on VRPN devices on the client side while there already was a way to set up offsets in the controller interface See merge request !101
-
Alexis Girault authored
Was triggered build errors on windows due to std:to_string
-
Alexis Girault authored
FindVRPN: The order in which the libraries were found was creating an compilation error during linking on Linux, as well as windows when being read from an external project. iMSTKConfig.cmake.in: ${PROJECT_NAME} would not be set to "iMSTK" from an external project. External_VRPN: VRPN_BUILD_SERVERS:BOOL was defined twice in imstk_add_external_project(VRPN)
-
- Oct 10, 2016
-
-
Sreekanth Arikatla authored
-
- Oct 07, 2016
-
-
Alexis Girault authored
The offset should only be defined at the controller level Also remove useless include in VRPNDeviceServer
-
Alexis Girault authored
Fix multiple omnis issue * Fixes #71 Co-authored by: @NickMilef <milefn@rpi.edu> 1) DeviceClient : not a module anymore, only stores device info and holds callbacks 2) VRPNDeviceClient : subclasses DeviceClient AND Module, to conserve the ability to run multiple clients in parallel with a VRPN server 3) HDAPIDeviceServer : new module that manages the HDAPIDevice clients execution, which need to be made sequentially. Also helps managing a unique hdScheduler. 4) HDAPIDeviceClient : lets the HDAPIDeviceServer handle the hdScheduler. Also makes use of hdMakeCurrentDevice. 5) SimulationManager : refactor to run modules instead of deviceservers or deviceclients 6) Sandbox : use new simulationManager API to add modules See merge request !99
-
- Oct 06, 2016
-
-
Alexis Girault authored
Co-authored by: Nicholas Milef <milefn@rpi.edu> 1) DeviceClient : not a module anymore, only stores device info and holds callbacks 2) VRPNDeviceClient : subclasses DeviceClient AND Module, to conserve the ability to run multiple clients in parallel with a VRPN server 3) HDAPIDeviceServer : new module that manages the HDAPIDevice clients execution, which need to be made sequentially. Also helps managing a unique hdScheduler. 4) HDAPIDeviceClient : lets the HDAPIDeviceServer handle the hdScheduler. Also makes use of hdMakeCurrentDevice. 5) SimulationManager : refactor to run modules instead of deviceservers or deviceclients 6) Sandbox : use new simulationManager API to add modules
-
- Oct 05, 2016
-
-
Alexis Girault authored
Allows to use iMSTK as an external library for other projects. Documentation here: https://cmake.org/cmake/help/git-master/manual/cmake-packages.7.html#creating-packages
-
- Oct 04, 2016
-
-
Alexis Girault authored
-
Alexis Girault authored
COMP: correct ftd2xx & libusb install rules Fixes #66 for ftd2xx Also correct mismatch between static and shared with libusb. See merge request !96
-
- Oct 03, 2016
-
-
Alexis Girault authored
Fixes #66
-
Alexis Girault authored
-
- Sep 29, 2016
-
-
Alexis Girault authored
COMP: Update to specific git_tags for external projects Using a git branch name for an external project would update the repository of that external project when building iMSTK even though it would not be tested. By hardcoding a certain commit #, we can make sure we need to specifically update the external project git_tag to update the external project. This commit updates to the newer version of VegaFEM which should resolve the remaining issues on the Dashboard for Windows: iMSTK/VegaFEM-CMake@d1ab0858 > `export(PACKAGE VegaFEM)` was resulting in Vega being registered in a CMake Package Registry : > https://cmake.org/Wiki/CMake/Tutorials/Package_Registry > > Because of this, an incorrect version of VEGA could be directly linked against when doing `find_package(VegaFEM)`. > > This should only be done when creating a package for installation: > https://cmake.org/cmake/help/git-master/manual/cmake-packages.7.html#creating-packages See merge request !94
-