- Jan 26, 2017
-
-
Alexis Girault authored
The main bottleneck with real-time VTK rendering so far appeared to be the normals computation. This commit addresses that issue by making use of the latest normals computation filter in VTK: vtkTriangleMeshPointNormals. While this filter is much (5 to 16 times) faster than vtkPolyDataNormals, it does not check for consistency in the cell orientations that could cause inverted normals, which is why the vtkPolyDataNormals is called once in the surfacemesh renderdelegate to retrieve consistent cells for the input mesh. See VTK merge request for more information : vtk/vtk!2271 PS: That MR requires the latest commits from VTK master, which does not include work made on texture wrap mode nor on multi texture attributes yet: - iMSTK/vtk@62a7ecd8 - iMSTK/vtk@ae373026
-
- Jan 24, 2017
-
-
Alexis Girault authored
COMP: Fix return error in MeshIO::write See merge request !123
-
Mayeul Chassagnard authored
System: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 error: converting to ‘bool’ from ‘std::nullptr_t’ requires direct-initialization
-
- Jan 06, 2017
-
-
Alexis Girault authored
COMP: Fix function is not a member of std (Win) The merge request !117 to add custom event handlers for vtk interaction introduced a bug on Windows, where the <functional> header needs to be included to be able to use `std::function`. This fixes the 50 errors listed on cdash (due to those `std::function` members being used frequently): http://my.cdash.org/viewBuildError.php?buildid=1111691 PS: The experimental build for this MR did not show any issues on CDash [1], but they appeared once merged in the master branch (continuous). There seem to be an issue with how buildbot runs those builds on Windows, since a similar issue happened on windows 32 bits with Eigen aligned data structures in stl containers. [1] http://my.cdash.org/buildSummary.php?buildid=1111615 See merge request !122
-
Alexis Girault authored
The merge request !117 to add custom event handlers for vtk interaction introduced a bug on Windows, where the <functional> header needs to be included to be able to use `std::function`. This fixes the 50 errors listed on cdash (due to those `std::function` members being used frequently): http://my.cdash.org/viewBuildError.php?buildid=1111691 PS: The experimental build for this MR did not show any issues on CDash [1], but they appeared once merged in the master branch (continuous). There seem to be an issue with how buildbot runs those builds on Windows, since a similar issue happened on windows 32 bits with Eigen aligned data structures in stl containers. [1] http://my.cdash.org/buildSummary.php?buildid=1111615
-
Alexis Girault authored
ENH: Add custom event handlers for vtk interaction 1. Allow to set up lambda functions from `VTKViewer` as custom behavior to run in the interactor Style in event callbacks. 2. Simplify `VTKInteractorStyle::OnChar()` to only have simple default behaviors (start, stop, pause, play, quit) 3. Move the implementation of `getTargetFrameRate()`, `setTargetFrameRate()` and `setSimulationManager()` from `VTKInteractorStyle` to `VTKViewer`, which becomes friend class of the private members of `VTKInteractorStyle` to avoid repeatedly wrapping around the interactor style methods. Co-authored-by: Hina Shah <hina.shah@kitware.com> (@hina), adapted from iMSTK/iMSTK!113 See merge request !117
-
- Jan 05, 2017
-
-
Alexis Girault authored
Fix finite element deformation models and non-linear solvers This MR does the following: * Fixes internal force calculation for both semi-implicit and full implicit Newton iteration * Fixes initialization of linear and StVK material models * Adds a modified conjugate gradient solver to handle fixed boundary conditions * Enables damping if provided in the config files * Enforcing code guidelines and other clean up in the related files These fixes concludes the refactoring and bug fixes for physics module. Once these changes are merged, one should be able to create any material model with choice of semi-implicit and full implicit Newton solvers while applying Dirichlet boundary conditions. In other words, all the vega functionality (barring reduced order models) can be reproduced in iMSTK. See merge request !118
-
Alexis Girault authored
-
Alexis Girault authored
-
Alexis Girault authored
Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
-
Alexis Girault authored
- default LinearSolver tolerance = 1.0e-4 - default IterativeLinearSolver maxIterations = 100 - remove those default values in ConjugateGradient constructor as they are initialized in the parent constructors - consistent use of this pointer Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
1. Implemented Homogeneous Dirichlet BC 2. changed `filter` lambda to normal method 3. simple cg solver implementation 4. return b.dot(b) instead of b.norm() within NewtonSolver::updateJacobian Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com> Written-by:
Mohit Tyagi <mohit.tyagi@kitware.com>
-
Alexis Girault authored
Makes the update of LHS and RHS updateType dependent. For now only deltaVelocity type update is supported. Clean up and renaming Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
1. Fixs the fully implicit nonlinear Newton solver 2. Completes implementation of Newton solver that can be either semi implicit (SI) or fully implicit (FI) 3. Adds options to set the solver to either SI or FI 4. Default is SI 5. Now the lamda function computing the internal forces needs to know if it is SI or FI 6. Prints warning if the FI Newton solver does not converge within max iterations set Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
Get rid of m_tmpStorage Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
- use m_vegaPhysicsMesh within initializeDampingMatrix - consider all damping coefficients Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
- Invert parameters order in getInternalForce - Only multiply by dT at the end Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
In FEMForceModel and StVKForceModel Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
Alexis Girault authored
Its name should be "CLFEM" and not "Corotational" to return the correct type. Written-by:
Sreekanth Arikatla <sreekanth.arikatla@kitware.com>
-
- Jan 03, 2017
-
-
Alexis Girault authored
Skip compute bounds in vtk Apply changes referenced [here](vtk/vtk!2271) to speed up VTK rendering by avoiding calling `GetBounds()` which requires recomputing the bounding box at every frame for deformable objects: 1. RemoveCuller 2. Disable VBO Shift&Scale check Also use `setUpMapper` (previously setActorMapper) more consistently along the vtk render delegates. See merge request !115
-
Alexis Girault authored
Correct some warnings Mostly due to lack of `override` where needed. See merge request !116
-
- Dec 20, 2016
-
-
Alexis Girault authored
1) Allow to set up lambda functions from VTKViewer as custom behavior to run in the interactor Style in event callbacks. 2) Simplify VTKInteractorStyle::OnChar() to only have simple default behaviors (start, stop, pause, play, quit) 3) Move the implemenation of getTargetFrameRate(), setTargetFrameRate() and setSimulationManager() from VTKInteractorStyle to VTKViewer, which becomes friend class of the private members of VTKInteractorStyle to avoid repeatedly wrapping around the interactor style methods. Co-authored-by:
Hina Shah <hina.shah@kitware.com>
-
Alexis Girault authored
1) RemoveCuller 2) Disable VBO Shift&Scale check Also use `setUpMapper` (previously setActorMapper) more consistently.
-
Alexis Girault authored
-
- Dec 08, 2016
-
-
Alexis Girault authored
MeshIO (input, output, convert) for (volumetric) meshes in .msh and .veg file format New addition(s): 1. Added `MSHMeshIO` to read a mesh in .msh file format, and instantiate `imstk::VolumetricMesh` 2. Added a method in `VegaMeshIO` to convert `imstk::VolumetricMesh` to `vega::VolumetricMesh` 3. Added a method in `VegaMeshIO` to write `imstk::Mesh` in .veg file format. 4. Added an example `testMshandVegaIO` in `Sandbox` to test these implementations (Attached is the output with this merge request). See merge request !112
-
- Dec 06, 2016
-
-
mohitTyagi authored
-
mohitTyagi authored
-
mohitTyagi authored
-
mohitTyagi authored
-
mohitTyagi authored
-
- Nov 30, 2016
-
-
Alexis Girault authored
Improve render clock `VTKInteractorStyle::CreateRepeatingTimer` would call `VTKInteractorStyle::OnTimer` then sleep for the period given in ms after calling `OnTimer` again. This isn't adapted for rendering at a uniform frame rate, because the time spent within the `OnTimer` function is not taken into account in the sleep time. By using `OneShotTimer`, we can manipulate when to render the next frame: in (period - time spent) ms if the time spent in `OnTimer` is smaller than the period time, or right away (period of 0 ms) if the time spent is over the target period (late frame). An interface is added in the `VTKInteractorStyle`, wrapped in the `VTKViewer`, to set the target frame rate. Also added a commit to use `DATA_DIR` defined in the Sandbox example to easily change the data directory for each user on their own machine. Any local change to the `DATA_DIR` value should not be committed in the future. See merge request !114
-
- Nov 29, 2016
-
-
Alexis Girault authored
-
Alexis Girault authored
vtkInteractor::CreateRepeatingTimer would call vtkInteractorStyle::OnTimer then sleep for the period given in ms after calling OnTimer again. This isn't adapted for rendering at a regular framerate, because the time taken withing the OnTimer function is not taken into account in the sleep time. By using OneShotTimer, we can manipulate when to render the next frame: in (period - time spent) ms if the time spent in OnTimer is smaller than the period time, or right away (period of 0 ms) if the time spent is over the target period (late frame). An interface is added in the VTKInteractorStyle, wrapped in the VTKViewer, to set the target framerate. Default value is 0ms to render as fast as possible. See: : http://gaming.stackexchange.com/questions/221423/is-there-any-reason-to-limit-my-fps
-
- Nov 23, 2016
-
-
Alexis Girault authored
Current default to ".". Needs to be modified for each user on their on system (do not commit changes to this line).
-
- Nov 19, 2016
-
-
Alexis Girault authored
BUG: Fixes wrong default value for pbd tolerance Fixes wrong default value for pbd tolerance in PbdConstraint class See merge request !110
-
- Nov 17, 2016
-
-
Sreekanth Arikatla authored
Fixes wrong default value for pbd tolerance in PbdConstraint class
-