Skip to content
Snippets Groups Projects
  1. Nov 10, 2016
  2. Nov 09, 2016
  3. Nov 03, 2016
  4. Nov 01, 2016
  5. Oct 31, 2016
    • Sreekanth Arikatla's avatar
      COMP: Refactoring pbd collision constraint classes · 14e2820b
      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
      14e2820b
  6. Oct 30, 2016
    • Sreekanth Arikatla's avatar
      STYLE: Place all dynamicalModel related into separate folder · 83683fc8
      Sreekanth Arikatla authored
      Place all dynamicalModel related into separate folder.
      SceneElements now has just the tangable and intangable objects.
      83683fc8
    • Sreekanth Arikatla's avatar
      ENH: Refactor dynamical object classes · b646b28c
      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
      b646b28c
  7. Oct 28, 2016
  8. Oct 27, 2016
  9. Oct 26, 2016
    • Sreekanth Arikatla's avatar
      ENH: Generalizes solver interface · c2b25b96
      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()
      c2b25b96
    • Sreekanth Arikatla's avatar
      COMP: Refactoring pbd classes · 697c43a0
      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
      697c43a0
  10. Oct 25, 2016
  11. Oct 24, 2016
    • Sreekanth Arikatla's avatar
    • Alexis Girault's avatar
      COMP: Fix issues from sceneObject MR on windows · ef104437
      Alexis Girault authored
      - Corrects wrongly named controller objects
      in the Sandbox example
      
      - Corrects wrong construtor call to the PBDObject
      ef104437
    • Alexis Girault's avatar
      Merge branch 'refactor-controllers' into 'master' · 080d795f
      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
      080d795f
  12. Oct 20, 2016
    • Alexis Girault's avatar
    • Alexis Girault's avatar
      ENH: Refactor VirtualCouplingObject in a controller · 621038b5
      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
      621038b5
    • Alexis Girault's avatar
      ENH: remove interface for transforming geometry in RigidObject · 7c272963
      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.
      7c272963
    • Alexis Girault's avatar
    • Alexis Girault's avatar
      ENH: Divide SceneObject & CollidingObject · d8fee1f4
      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
      d8fee1f4
  13. Oct 19, 2016
    • Alexis Girault's avatar
      ENH: Implement getMasterGeometry · 85470771
      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
      85470771
  14. Oct 18, 2016
  15. Oct 17, 2016
    • Alexis Girault's avatar
      Merge branch 'VRPN-fixes' into 'master' · 4821c848
      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
      4821c848
    • Alexis Girault's avatar
      BUG: missing string include in VRPNDeviceServer · c644e1ce
      Alexis Girault authored
      Was triggered build errors on windows due to
      std:to_string
      c644e1ce
    • Alexis Girault's avatar
      COMP: Fix FindVRPN when USE_OMNI · 01668a67
      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)
      01668a67
  16. Oct 10, 2016
  17. Oct 07, 2016
    • Alexis Girault's avatar
      ENH: Get rid of offset on VRPN Client side · 53c929da
      Alexis Girault authored
      The offset should only be defined at the
      controller level
      
      Also remove useless include in VRPNDeviceServer
      53c929da
    • Alexis Girault's avatar
      Merge branch 'fix_multiple_omnis' into 'master' · 7a1c6928
      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
      7a1c6928
  18. Oct 06, 2016
    • Alexis Girault's avatar
      BUG: Fix two omnis issue · 619dac43
      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
      619dac43
  19. Oct 05, 2016
  20. Oct 04, 2016
  21. Oct 03, 2016
  22. Sep 29, 2016
Loading