Skip to content
Snippets Groups Projects
  1. Oct 20, 2016
    • 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
  2. 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
  3. Oct 18, 2016
  4. 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
  5. Oct 10, 2016
  6. 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
  7. 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
  8. Oct 05, 2016
  9. Oct 04, 2016
  10. Oct 03, 2016
  11. Sep 29, 2016
    • Alexis Girault's avatar
      Merge branch 'specify-git-tags' into 'master' · 80cc16fb
      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
      80cc16fb
    • Alexis Girault's avatar
      COMP: Update VegaFEM to find vega & PThreads · 6446ed74
      Alexis Girault authored
      Integrate the following commit:
      iMSTK/VegaFEM-CMake@7bc1bda6
      
      Also remove useless iMSTK_EXTERNAL_PROJECTS_PATHS
      variable in External/CMakeLists.txt
      6446ed74
    • Alexis Girault's avatar
      COMP: Update to specific git_tags for external projects · f7665699
      Alexis Girault authored
      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 some errors:
      
      iMSTK/VegaFEM-CMake@d1ab0858
      f7665699
    • Alexis Girault's avatar
      Merge branch 'fix-ftd2xx-config' into 'master' · 1d7176b4
      Alexis Girault authored
      COMP: fix ftd2xx.lib copy at compile time
      
      On some windows systems, the command `cmake -E copy`
      within `copy_ftd2xx_static_command` renames the ftd2xx.lib
      file as `lib\${BUILD_TYPE}` instead of copying it within
      the directory of the same name. Because of this, the directory
      can not be created in the future for other libraries, explaining
      the high number of compilation errors (~50)
      
      Placing a `\` at the end of the destination directory should fix
      this issue.
      
      See merge request !93
      1d7176b4
  12. Sep 27, 2016
    • Alexis Girault's avatar
      COMP: fix ftd2xx.lib copy at compile time · 1fdfa17a
      Alexis Girault authored
      On some windows systems, the command `cmake -E copy`
      within `copy_ftd2xx_static_command` renames the ftd2xx.lib
      file as `lib\${BUILD_TYPE}` instead of copying it within
      the directory of the same name. Because of this, the directory
      can not be created in the future for other libraries, explaining
      the high number of compilation errors (~50)
      1fdfa17a
  13. Sep 25, 2016
    • Alexis Girault's avatar
      Merge branch 'fix-libusb-windows' into 'master' · 591503a4
      Alexis Girault authored
      COMP: Fix COMP errors with LibNiFalcon
      
      LibNifalcon should link against ftd2xx and not libusb1 on Windows. Add ftd2xx as an external project (binaries).
      
      Works with the newest versions of VRPN and LibNiFalcon.
      
      See merge request !91
      591503a4
  14. Sep 23, 2016
  15. Sep 22, 2016
  16. Sep 21, 2016
  17. Sep 07, 2016
  18. Sep 01, 2016
  19. Aug 19, 2016
    • Hong Li's avatar
      Add LineMesh & Change workflow for pbd objects · 5623cd7b
      Hong Li authored
      - Fix workflow for PBD in SceneManager.cpp. Add/modify related functions for
      PbdObject/PbdRigidObject/VirtualCoupleingPBDObject. It should work for the
      most general case where collision/physics/visual meshes are different from
      each other.
      - Add LineMesh class and LineMeshRenderDelegate. Add support for LineMesh
      class in imstkGeometry, imstkMesh, imstkRenderDelegate.
      
      - Fix a bug for computeBoundingBox() in imstkMesh.
      - Fix a bug for applying mapping in TetraTriangleMap.
      - Fix a bug for computing the center of tetra in TetraTriangleMap.
      5623cd7b
Loading