- May 16, 2017
-
-
Sreekanth Arikatla authored
-
- May 15, 2017
-
-
Sam Horvath authored
-
- May 03, 2017
-
-
Dženan Zukić authored
-
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.
-
- Apr 26, 2017
-
-
Sreekanth Arikatla authored
-
- Apr 25, 2017
-
-
Sreekanth Arikatla authored
-
Sreekanth Arikatla authored
Move the Linear Projection Constraints (LPC) from the nonlinear system to CG solver for simplicity. LPC are only used in CG.
-
- Apr 21, 2017
-
-
Sreekanth Arikatla authored
-
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:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com> Signed-off-by:
Alexis Girault <alexis.girault@kitware.com>
-
- Apr 19, 2017
-
-
Nicholas Milef authored
Co-Authored-by:
Alexis Girault <alexis.girault@kitware.com>
-
Nicholas Milef authored
Co-Authored-by:
Alexis Girault <alexis.girault@kitware.com>
-
- Apr 18, 2017
-
-
mohitTyagi authored
-
- Apr 13, 2017
-
-
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).
-
- Apr 12, 2017
-
-
Alexis Girault authored
Allows to set up custom behaviors in all subclasses of the Module class, at: - prior to initialization - after initialization - prior to update - after update - prior to clean up - after clean up Improve the testTwoFalcons example in Sandbox to quickly illustrate how to simply setup a logger for a deviceclient using those features.
-
Alexis Girault authored
* Remove camera controller from test since already shown in testCameraController, to be able to test with just two falcons * Update some initial geometry and camera positions * remove imstk namespace since using namespace imstk in sandbox
-
Dženan Zukić authored
-
- Apr 11, 2017
-
-
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. =========================================================================*/
-
- Apr 10, 2017
-
-
mohitTyagi authored
-
- Apr 05, 2017
-
-
Nicholas Milef authored
Co-Authored-by:
Alexis Girault <alexis.girault@kitware.com>
-
- Apr 03, 2017
-
-
Hong Li authored
- Velocity of particles should be updated only after collision being resolved. - Rename from integrateVelocity() to updateVelocity() for pbdObject and pbdModel.
-
- Mar 27, 2017
-
-
Sreekanth Arikatla authored
-
- Mar 22, 2017
-
-
mohitTyagi authored
-
- Mar 15, 2017
-
-
Sreekanth Arikatla authored
Co-Authored-by:
Alexis Girault <alexis.girault@kitware.com>
-
Sreekanth Arikatla authored
Adds utility functions for creating scene objects with commonly used call patterns Co-Authored-by:
Alexis Girault <alexis.girault@kitware.com>
-
- Mar 14, 2017
-
-
Sreekanth Arikatla authored
Generalizes linear projection constraints implementation. Modifies testDeformableBody example to test the changes.
-
- Mar 13, 2017
-
-
Alexis Girault authored
DATA_ROOT_PATH did not exist since the introduction of external data. Save screenshots in runtime directory instead. Correct warning: extra tokens at end of #else directive in testCameraController
-
- Mar 09, 2017
-
-
Hina Shah authored
-
- Feb 27, 2017
-
-
Mayeul Chassagnard authored
Mistakes following the addition of more ExternalData from merged PR: iMSTK/iMSTK!135 CDash: http://my.cdash.org/viewBuildError.php?buildid=1143408
-
Mayeul Chassagnard authored
* Add data needed for the examples inside Sandbox except ETI & textures * Remove condition on DATA_ROOT_PATH since the user doesn't have to specify it * Rename DATA_ROOT_PATH to iMSTK_DATA_ROOT according to 267b7f72
-
Sreekanth Arikatla authored
The device tracker stays up-of-date at all frames and is fixed by setting m_trackingDataUptoDate to false at the end of the frame
-
- Feb 24, 2017
-
-
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
-
- Jan 31, 2017
-
-
Sreekanth Arikatla authored
Also correct indentation in Pbd class.
-
Sreekanth Arikatla authored
Create a tool with two jaws and a shaft. The controller use its DeviceTracker to update the three objects
-
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.
-
Sreekanth Arikatla authored
Scene can be set as current in the simulation manager using the scene pointer in addition to its name.
-
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).
-
- Jan 26, 2017
-
-
Alexis Girault authored
DATA_ROOT_PATH is used to quickly define the root path for all your ressources in the Sandbox example. Its value will therefore vary for every user, which is why it should not be commited. This commit adds comments explaining not to commit changes to this line, as well as how to commit part of a file only, and displays an error when the path is not set locally.
-
Alexis Girault authored
-
- Jan 05, 2017
-
-
Alexis Girault authored
Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
- Dec 06, 2016
-
-
mohitTyagi authored
-