Skip to content
Snippets Groups Projects
  1. May 16, 2017
  2. May 15, 2017
  3. May 03, 2017
    • Dženan Zukić's avatar
      STYLE: running uncrustify on sources · 838ff725
      Dženan Zukić authored
      838ff725
    • Dženan Zukić's avatar
      STYLE: improving configuration of uncrustify · cb300700
      Dženan Zukić authored
      Enforces license header and the rest of configuration options. To enable it,
      manually run SetupForDevelopment.sh and enable uncrustify during configure.
      Also provided is default configuration file to be consulted when a new
      option is needed. This file has explanations for all the options.
      
      Also, some source code files have been modified to prevent ugly auto-reformatting.
      cb300700
  4. Apr 26, 2017
  5. Apr 25, 2017
  6. Apr 21, 2017
    • Sreekanth Arikatla's avatar
      f81e26ee
    • Alexis Girault's avatar
      ENH: Refactor geometry transformations · 648daf5c
      Alexis Girault authored
      
      - Geometry class does not have a position, orientation, scaling combination
      anymore, but a rigid transformation (translation + rotation) as well as a
      separate uniform scaling.
      - The value of that transformation can be changed using setTranslation(),
      setRotation(), and setScaling().
      - scale(), translate(), and rotate() are utility functions which behavior
      vary based on the parameter TransformType: ConcatenateToTransform, the
      default value, will concatenate transformations to the rigid transform and
      signals that the transform has been modified; ApplyToData directly enforces
      the transformation given to the internal data of the geometry, and signals
      that the data has been modified (useful to enforce offsets at the beginning
      of the simulation to avoid concatenating that offset continuously).
      - A new base class AnalyticalGeomerty is created for Capsule, Plane, Cube
      and Sphere. It wraps the common attributes to those geometries: a position
      and an orientation axis. The values of those properties after the transform
      is applied are also stored to avoid redundant computations.
      - Subclasses of AnalyticalGeometry often show properties related to size:
      width, radius, length, etc. Those have their post-transform sibling also.
      - The Plane has a Normal API which simply wraps the AnalyticalGeometry
      orientation axis.
      - The mesh base class also keeps track of a post-transform value for the
      vertex positions.
      - Those internal data properties can be set with regular setting methods,
      which also signals that the internal data has been modified.
      - Get methods for those properties have a behavior which vary based on
      the parameter DataType: PostTransform is the default value, and it will
      return the post transform data, computing it by applying the transform if
      it was not yet done.
      - CollisionDetection classes are updated to use that post-transform data
      - RenderDelegates are updated to update their internal data only when
      the geometry data has been modified (use VTK sources and transform filter),
      as well as the rigid transform when that one has been modified also.
      - Maps, Controllers, and tests are updated to use the correct API:
      set translation and rotation and not position/orientation.
      - Update Geometry and Plane test to take into account the change of API:
      getRotation is now returning a Mat3d instead of a quaternion for less
      operations, and getNormal will return a normalized vector even if the one
      set was not normalized. Use `isApprox` to allow for low variability.
      - Update API in sandbox example
      - Got rid of the vertexDisplacements variable in the Mesh class, difference
      between the vertexPosition and the initialVertexPositions: it was requiring
      additional bookeeping which was not necessary
      
      Co-Authored-by: default avatarSreekanth Arikatla <sreekanth.arikatla@kitware.com>
      Signed-off-by: default avatarAlexis Girault <alexis.girault@kitware.com>
      648daf5c
  7. Apr 19, 2017
  8. Apr 18, 2017
  9. Apr 13, 2017
    • Alexis Girault's avatar
      ENH: Use UPS through lambdas · 4bcccb7b
      Alexis Girault authored
      The current integration of UPS within the module class did not allow
      to display the UPS value in any easy and standardized way.
      
      This commits simplifies the Module class by removing its dependency to
      the UPSCounter class, and shows how to easily query the UPS using the
      callback mechanism on any module (here: sceneManager for pbd physics and
      fem physics examples).
      4bcccb7b
  10. Apr 12, 2017
  11. Apr 11, 2017
    • Shusil Dangi's avatar
      ENH: Changes/Adds the standard Copyright info for all files · 8259ffcc
      Shusil Dangi authored
      /*=========================================================================
      
         Library: iMSTK
      
         Copyright (c) Kitware, Inc. & Center for Modeling, Simulation,
         & Imaging in Medicine, Rensselaer Polytechnic Institute.
      
         Licensed under the Apache License, Version 2.0 (the "License");
         you may not use this file except in compliance with the License.
         You may obtain a copy of the License at
      
            http://www.apache.org/licenses/LICENSE-2.0.txt
      
         Unless required by applicable law or agreed to in writing, software
         distributed under the License is distributed on an "AS IS" BASIS,
         WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         See the License for the specific language governing permissions and
         limitations under the License.
      
      =========================================================================*/
      8259ffcc
  12. Apr 10, 2017
  13. Apr 05, 2017
  14. Apr 03, 2017
    • Hong Li's avatar
      BUG: Fixed bug with PBD collision · 3c1b3f76
      Hong Li authored
      - Velocity of particles should be updated only after collision being
        resolved.
      - Rename from integrateVelocity() to updateVelocity() for pbdObject and
        pbdModel.
      3c1b3f76
  15. Mar 27, 2017
  16. Mar 22, 2017
  17. Mar 15, 2017
  18. Mar 14, 2017
  19. Mar 13, 2017
  20. Mar 09, 2017
  21. Feb 27, 2017
  22. Feb 24, 2017
    • Mayeul Chassagnard's avatar
      ENH: Add ExternalData Management System · 267b7f72
      Mayeul Chassagnard authored
      Download Data from Girder according to data key files contained in iMSTK/Data
      
      This uses ExternalData.cmake (Requires CMake >= 2.8.11 release).
      
      Add TEST: Add ExternalDataTest to verify downloaded files from Girder
      * Be sure the data requiered for the test is not there (delete it)
      * Add the imstk_add_data(${target} ${data_list}) function in CMakeList.txt
      which calls ExternalData_expand_arguments().
      * It downloads the data provided by the data_list (relative path from
      iMSTK/Data)
      
      Add DOC: Add documentation on ExternalData Management
      * How to add data to iMSTK from Grider
      * Update data
      * Use data
      267b7f72
  23. Jan 31, 2017
    • Sreekanth Arikatla's avatar
      STYLE: Arrange examples by category · dd649aba
      Sreekanth Arikatla authored
      Also correct indentation in Pbd class.
      dd649aba
    • Sreekanth Arikatla's avatar
      ENH: Add LaparoscopicToolController · f040b9d9
      Sreekanth Arikatla authored
      Create a tool with two jaws and a shaft. The controller
      use its DeviceTracker to update the three objects
      f040b9d9
    • Sreekanth Arikatla's avatar
      ENH: Refactor Tracking Controller · 0ad9bb06
      Sreekanth Arikatla authored
      * Rename TrackingController to DeviceTracker
      * Have subclasses store a pointer to DeviceTracker instead
      of inheriting it. This allows:
      1. swapping the tracking controller at runtime
      2. having multiple controllers control for the same scene object (eg: laparoscopic tool jaw)
      * Add SceneObjectControllerBase to parent SceneObjectController
      and other future object controllers
      * Update tracking data only once per frame: if the same tracker
      is used for multiple objects, it is updated only once per frame.
      Each tracker is set to upToDate once the tracking data is updated
      and offsets computed once at each frame. At the end of the frame
      all the device trackers are set to be outOfDate.
      0ad9bb06
    • Sreekanth Arikatla's avatar
      ENH: Allow setting current scene with pointer · 6ec24adf
      Sreekanth Arikatla authored
      Scene can be set as current in the simulation manager using the scene
      pointer in addition to its name.
      6ec24adf
    • Sreekanth Arikatla's avatar
      ENH: Refactor scene object controller · ad04eaff
      Sreekanth Arikatla authored
      Scene object controllers are now part of the scene. They are looped through
      in the sceneManager to update the objects they contain.
      
      This will allow extension to the case where multiple scene objects are
      controlled by the same controller (eg: two-jawed laparoscopic tool).
      ad04eaff
  24. Jan 26, 2017
  25. Jan 05, 2017
  26. Dec 06, 2016
Loading