Skip to content
Snippets Groups Projects
  1. May 15, 2017
  2. May 03, 2017
  3. 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
  4. Apr 19, 2017
  5. 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
  6. Mar 27, 2017
  7. Nov 08, 2016
  8. Oct 18, 2016
  9. 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
  10. Jul 25, 2016
  11. Jul 12, 2016
  12. May 27, 2016
  13. Apr 27, 2016
    • Alexis Girault's avatar
      STYLE: Update functions order in geometry · f33f9825
      Alexis Girault authored
      1) Clean up print methods
      2) Put initialize, print, clear, getVolume on top
      3) Add missing overrides
      4) Replace extractSurfaceMesh by computeAttachedSurfaceMesh
      5) Define Mesh::print
      6) Use Mesh::clear in subclasses
      f33f9825
  14. Apr 24, 2016
  15. Apr 22, 2016
  16. Apr 12, 2016
  17. Apr 04, 2016
  18. Mar 29, 2016
  19. Mar 28, 2016
  20. Mar 24, 2016
  21. Mar 23, 2016
  22. Mar 15, 2016
  23. Mar 10, 2016
  24. Mar 09, 2016
  25. Mar 08, 2016
Loading