Skip to content
Snippets Groups Projects
  1. Oct 20, 2021
  2. Aug 03, 2021
  3. Aug 01, 2021
  4. May 26, 2021
  5. Apr 05, 2021
  6. Apr 04, 2021
  7. Mar 30, 2021
  8. Mar 17, 2021
  9. Dec 11, 2020
  10. Nov 23, 2020
  11. Sep 04, 2020
  12. Aug 17, 2020
  13. Jul 10, 2020
  14. Jul 09, 2020
  15. Jun 20, 2020
  16. Jun 16, 2020
  17. Apr 19, 2020
  18. Mar 27, 2020
  19. Jun 24, 2019
  20. Dec 04, 2018
  21. Nov 09, 2018
  22. Sep 07, 2017
  23. Aug 24, 2017
  24. Aug 07, 2017
  25. May 03, 2017
  26. Apr 21, 2017
    • 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
  27. Apr 19, 2017
  28. 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
  29. Dec 20, 2016
  30. Nov 15, 2016
    • Alexis Girault's avatar
      ENH: Use no copy data array to map vertices to VTK · 400c0987
      Alexis Girault authored
      Update VTK mesh render delegates (SurfaceMesh,
      LineMesh, TetrahedralMesh) to directly map the vertices
      from the eigen and stl structures in iMSTK, and get rid
      of VTKMappedVertexArray. This should considerably reduce
      overhead calls and improve performances thanks to the
      no-copy operation.
      
      See http://www.vtk.org/Wiki/VTK/Tutorials/DataArrays
      
      Add back normals generationin the SurfaceMesh render delegate.
      
      Also updates testPbdCloth to add another row of points
      to the cloth (made it easier to debug the initial
      vertex positions), as well as add lights to better
      debug normals.
      400c0987
  31. Nov 11, 2016
  32. Oct 18, 2016
  33. Aug 08, 2016
  34. Jul 25, 2016
  35. Jul 13, 2016
  36. Apr 29, 2016
  37. Apr 15, 2016
  38. Mar 29, 2016
Loading