iMSTK issueshttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues2021-05-17T12:04:54-04:00https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/313Indeterministic Nan on Device Initialization When Using RigidBodyModel2 with ...2021-05-17T12:04:54-04:00Andrew WilsonIndeterministic Nan on Device Initialization When Using RigidBodyModel2 with RigidBodyControllerhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/312Forthcoming list of TaskGraph Changes2021-12-13T16:17:50-05:00Andrew WilsonForthcoming list of TaskGraph ChangesAgglomerating a list of minor TaskGraph changes we should make. Whilst it fits extremely well into imstk there's some changes needed.
- CollisionDetection should not have a TaskNode, it should be decoupled from this. Rather the "interac...Agglomerating a list of minor TaskGraph changes we should make. Whilst it fits extremely well into imstk there's some changes needed.
- CollisionDetection should not have a TaskNode, it should be decoupled from this. Rather the "interaction" that defines the permutation on the pipeline should provide this node.
- CollisionHandling should also not have a TaskNode for the same reason.
- Interactions should just be SceneObjects and should have a separable TaskGraph. Because all SceneObject TaskGraphs are summed. Currently the interaction nodes are inserted into each SceneObjects subgraph separately, then summed into the final scene task graph. If interactions defined their own graphs, as long as nodes from both objects interacting exist in this graph, they will join when summed into the final graph. This nicely decouples the interactions and SceneObjects.
- CollisionPair might be able to be removed
- A more atomic expression for permuting the task graph should be provided. Like a graph functor or something. Interactions could use these. For instance, I could technically make an "InsertableNode" which defines a preceding node->inserted node->succeeding node, just 3 nodes. Everything can be broken down sets of insertables. When summed they form a final graph.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/311Issue with building iMSTK for Unity2021-05-14T21:09:42-04:00Mohammed NatshaIssue with building iMSTK for UnityIm trying to build the following branch: https://gitlab.kitware.com/iMSTK/iMSTK/-/tree/UnityIntegration
But I get the following error:
```
Error MSB8066 Custom build for 'C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scal...Im trying to build the following branch: https://gitlab.kitware.com/iMSTK/iMSTK/-/tree/UnityIntegration
But I get the following error:
```
Error MSB8066 Custom build for 'C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Blade10.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Blade10_Hull.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Blade11.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Blade15.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Handle.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\armadillo\armadillo_volume.vtk.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.URendering.float.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.config.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.cub.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.veg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.ply.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.vtk.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.vtp.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\square.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cylinder\cylinder.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\decals\ReadMe.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\decals\blood_decal.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_AO.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_AO.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_AO.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_BaseColor.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_BaseColor.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_BaseColor.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_Normal.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_Normal.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_Roughness.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_Roughness.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_SSS.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_SSS.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\Infinite-Scan_License.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\ReadMe.md.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\head_revised.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\head_revised.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\human\human.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\human\human.config.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\human\human.msh.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\human\human.veg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_lower.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_lower.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_pivot.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_pivot.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_upper.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_upper.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\lower.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\lower.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\pivot.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\pivot.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\upper.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\upper.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\femoralArtery.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\femoralArteryCut.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\femurBone.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\femurBone_SDF.nii.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\legsBones.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\legsCutaway.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\liver\liver.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\liver\liver.config.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\liver\liver.msh.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\liver\liver.veg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\oneTet\oneTet.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\oneTet\oneTet.config.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\oneTet\oneTet.veg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\particles\License.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\particles\flare_01.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\particles\smoke_01.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\skullVolume.nrrd.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\sound\canary.wav.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\sound\orchestral.ogg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\ReadMe.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart.blend.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart.dae.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart_volume.vtk.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\lung.blend.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\lung.dae.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\lung.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\lung.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\diffuse.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\emissive.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\height.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\normal.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\preview.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\readme.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\specular.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_2\cavity.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_2\diffuse.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_2\normal.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\ReadMe.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_negx.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_negy.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_negz.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_posx.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_posy.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_posz.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\Innerbuild\CMakeFiles\b0de7462abb7ffd66907c3ccc4529150\iMSTKExternalData.rule' exited with code 1. [C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\Innerbuild\iMSTKExternalData.vcxproj] iMSTK (iMSTK\iMSTK) C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets 240
```
and I got the following output file which indicates that some files (3d objects) can't be found
```
...
1>Performing build step for 'iMSTK'
1>Microsoft (R) Build Engine version 16.9.0+5e4b48a27 for .NET Framework
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>
1> Generating C:/Users/MSE/Desktop/fIMSTK/iMSTK-bin/install/data//Surgical Instruments/Scalpel/Scalpel_Blade10.obj
1> -- Fetching "https://data.kitware.com:443/api/v1/file/hashsum/SHA512/b3020f808f1589756d438d689bfde4ef673a3ab51f93f699bb7c16dbefc21fd48bdd5660810c509f5bfa4256bb4fa2aa8955c3b59ca011e24c72414890291616/download"
1> -- [download 0% complete]
1> CMake Error at C:/Program Files/CMake/share/cmake-3.20/Modules/ExternalData.cmake:1173 (message):
1>
1>
1> Object
1> SHA512=b3020f808f1589756d438d689bfde4ef673a3ab51f93f699bb7c16dbefc21fd48bdd5660810c509f5bfa4256bb4fa2aa8955c3b59ca011e24c72414890291616
1> not found at:
1>
1> https://data.kitware.com:443/api/v1/file/hashsum/SHA512/b3020f808f1589756d438d689bfde4ef673a3ab51f93f699bb7c16dbefc21fd48bdd5660810c509f5bfa4256bb4fa2aa8955c3b59ca011e24c72414890291616/download ("HTTP response code said error")
1>
1>
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(240,5): error MSB8066: Custom build for 'C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Blade10.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Blade10_Hull.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Blade11.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Blade15.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\Surgical Instruments\Scalpel\Scalpel_Handle.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\armadillo\armadillo_volume.vtk.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.URendering.float.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.config.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.cub.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\asianDragon\asianDragon.veg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.ply.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.vtk.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\cube.vtp.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cube\square.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\cylinder\cylinder.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\decals\ReadMe.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\decals\blood_decal.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_AO.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_AO.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_AO.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_BaseColor.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_BaseColor.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_BaseColor.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_Normal.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_Normal.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_Roughness.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_Roughness.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_SSS.dds.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\HeadTexture_SSS.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\Infinite-Scan_License.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\ReadMe.md.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\head_revised.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\head\head_revised.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\human\human.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\human\human.config.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\human\human.msh.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\human\human.veg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_lower.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_lower.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_pivot.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_pivot.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_upper.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\curved_upper.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\lower.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\lower.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\pivot.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\pivot.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\upper.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\laptool\upper.obj.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\femoralArtery.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\femoralArteryCut.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\femurBone.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\femurBone_SDF.nii.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\legsBones.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\legs\legsCutaway.stl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\liver\liver.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\liver\liver.config.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\liver\liver.msh.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\liver\liver.veg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\oneTet\oneTet.bou.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\oneTet\oneTet.config.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\oneTet\oneTet.veg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\particles\License.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\particles\flare_01.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\particles\smoke_01.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\skullVolume.nrrd.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\sound\canary.wav.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\sound\orchestral.ogg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\ReadMe.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart.blend.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart.dae.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\heart_volume.vtk.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\lung.blend.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\lung.dae.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\lung.mtl.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\lung.obj.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\diffuse.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\emissive.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\height.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\normal.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\preview.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\readme.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_1\specular.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_2\cavity.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_2\diffuse.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textured_organs\texture_set_2\normal.png.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\ReadMe.txt.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_negx.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_negy.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_negz.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_posx.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_posy.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK\Data\textures\cubemaps\clouds1_posz.jpg.sha512;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\Innerbuild\CMakeFiles\b0de7462abb7ffd66907c3ccc4529150\iMSTKExternalData.rule' exited with code 1. [C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\Innerbuild\iMSTKExternalData.vcxproj]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(240,5): error MSB8066: Custom build for 'C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\CMakeFiles\7efa7ed5019f5059b49feb9c5f51f699\iMSTK-mkdir.rule;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\CMakeFiles\7efa7ed5019f5059b49feb9c5f51f699\iMSTK-download.rule;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\CMakeFiles\7efa7ed5019f5059b49feb9c5f51f699\iMSTK-update.rule;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\CMakeFiles\7efa7ed5019f5059b49feb9c5f51f699\iMSTK-patch.rule;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\CMakeFiles\7efa7ed5019f5059b49feb9c5f51f699\iMSTK-configure.rule;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\CMakeFiles\7efa7ed5019f5059b49feb9c5f51f699\iMSTK-build.rule;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\CMakeFiles\7efa7ed5019f5059b49feb9c5f51f699\iMSTK-install.rule;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\CMakeFiles\fc8b4542839db8379f7d5ac00dfe5764\iMSTK-complete.rule;C:\Users\MSE\Desktop\fIMSTK\iMSTK-bin\CMakeFiles\507f9da98fd7afaab6903c41bf7baf79\iMSTK.rule' exited with code 1.
1>Done building project "iMSTK.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
```https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/310Cube and Sphere behave differently when used inside `CompositeImplicitGeometry`2021-05-17T16:30:56-04:00Harald ScheirichCube and Sphere behave differently when used inside `CompositeImplicitGeometry`For example in the `RigidBodyDynamics2` example replacing the the `Sphere` with a `Cube` in line 79 (https://gitlab.kitware.com/iMSTK/iMSTK/-/blob/master/Examples/RigidBodyDynamics2/RigidBodyDynamicsExample2.cpp#L79), the sphere behaves ...For example in the `RigidBodyDynamics2` example replacing the the `Sphere` with a `Cube` in line 79 (https://gitlab.kitware.com/iMSTK/iMSTK/-/blob/master/Examples/RigidBodyDynamics2/RigidBodyDynamicsExample2.cpp#L79), the sphere behaves as ecpected when `setRadius()` is called, the cube does seem change its size after a call to `setWidth()`https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/309Boundary Value Testing for CD2022-05-12T22:29:50-04:00Andrew WilsonBoundary Value Testing for CDMany intersection methods may be inclusive or exclusive. To keep them consistent we should add boundary value tests for them.
A list of all CDs with boundary value testing:
- [ ] BidirectionalPlaneToSphereCD
- [ ] ImplicitGeometryToPoi...Many intersection methods may be inclusive or exclusive. To keep them consistent we should add boundary value tests for them.
A list of all CDs with boundary value testing:
- [ ] BidirectionalPlaneToSphereCD
- [ ] ImplicitGeometryToPointSetCCD
- [ ] ImplicitGeometryToPointSetCD
- [ ] MeshToMeshBruteForceCD
- [ ] PointSetToCapsuleCD
- [ ] PointSetToOrientedBoxCD
- [ ] PointSetToPlaneCD
- [ ] PointSetToSphereCD
- [ ] SphereToCylinderCD
- [ ] SphereToSphereCD
- [ ] SurfaceMeshToCapsuleCD
- [ ] SurfaecMeshToSphereCD
- [ ] SurfaceMeshToSurfaceMeshCD
- [ ] TetraToLineMeshCD
- [ ] TetraToPointSetCD
- [ ] UnidirectionalPlaneToSphereCDhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/308Keyboard Controls with VR2021-05-02T00:38:30-04:00Andrew WilsonKeyboard Controls with VRNot sure if this constitutes as a bug. A not implemented feature that many would assume would be there. As the title says you do not have keyboard controls when using VR, mostly due to how VTK deals with devices/interactor styles. I beli...Not sure if this constitutes as a bug. A not implemented feature that many would assume would be there. As the title says you do not have keyboard controls when using VR, mostly due to how VTK deals with devices/interactor styles. I believe there is a workaround though.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/307SceneManager has to be running to reset2021-04-30T16:36:56-04:00Andrew WilsonSceneManager has to be running to resetThe SceneManager implements a flag for reset. You call reset, it sets the flag to indicate that it should reset. Then on the next iteration of the scene, if the reset flag is on, it resets.
I assume this is done so other threads can ask...The SceneManager implements a flag for reset. You call reset, it sets the flag to indicate that it should reset. Then on the next iteration of the scene, if the reset flag is on, it resets.
I assume this is done so other threads can ask it to reset.
The issue is, if reset is called while the scene is not running, the flag will never be hit and reset won't happen until you resume.
We need to check if the scene is paused, if so, it is safe to directly reset without the flag.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/306VRPN server inactive2021-10-04T08:24:07-04:00Harald ScheirichVRPN server inactiveHarald ScheirichHarald Scheirichhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/305Reading normals doesn't work correctly with certain file formats2021-05-14T11:03:18-04:00Harald ScheirichReading normals doesn't work correctly with certain file formatsWhen reading a file via `MeshIO::read()` that has vertex normals or other data attached to it, the normals may not be useeable in the render delegate. See https://gitlab.kitware.com/iMSTK/iMSTK/-/blob/master/Source/Geometry/imstkGeometry...When reading a file via `MeshIO::read()` that has vertex normals or other data attached to it, the normals may not be useeable in the render delegate. See https://gitlab.kitware.com/iMSTK/iMSTK/-/blob/master/Source/Geometry/imstkGeometryUtilities.cpp#L268 for where this probably needs to be fixed
- normals are expected to be double
- tangents are expected to be double
- tcoords are expected to be floathttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/304Reading dicom files won't work2021-06-01T15:20:55-04:00Harald ScheirichReading dicom files won't workSee https://gitlab.kitware.com/iMSTK/iMSTK/-/blob/master/Source/MeshIO/imstkMeshIO.cpp#L63
the first few lines say
```
bool isDir = false;
if (isDir)
{
// Assume that the directory is a collection of DICOM files
...See https://gitlab.kitware.com/iMSTK/iMSTK/-/blob/master/Source/MeshIO/imstkMeshIO.cpp#L63
the first few lines say
```
bool isDir = false;
if (isDir)
{
// Assume that the directory is a collection of DICOM files
return VTKMeshIO::read(filePath, MeshFileType::DCM);
}
```
Dicom files will never be read this wayhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/303File operations error messages2021-05-14T11:00:57-04:00Harald ScheirichFile operations error messagesWhile most file operations, through `MeshIO::read()` seem to check for issues, none of them report the actual file that caused the error, e.g.
```
2021/04/21 09:12:05 7749552 FATAL [imstkMeshIO.cpp->imstk::MeshIO::getFileType:144]
...While most file operations, through `MeshIO::read()` seem to check for issues, none of them report the actual file that caused the error, e.g.
```
2021/04/21 09:12:05 7749552 FATAL [imstkMeshIO.cpp->imstk::MeshIO::getFileType:144]
******* EXIT trigger caused by LOG(FATAL) entry:
"MeshIO::getFileType error: unknown file extension
******* STACKDUMP *******
...
```
this makes debugging issues harder than necessary. Each file related check should report the file that triggered the check.
I'll try and add some but these functions are pretty spread out. In general any check that knows about things like filenames of `SceneObject` or `VisualModel` names should print those out.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/302Assimp Upgrade & Importer PBR2022-06-01T17:41:40-04:00Andrew WilsonAssimp Upgrade & Importer PBROur version of assimp does not support PBR materials and needs to be upgraded. This isn't a big deal for single objects but for objects imported with multiple materials and pieces via VisualObjectImporter it becomes a problem as the only...Our version of assimp does not support PBR materials and needs to be upgraded. This isn't a big deal for single objects but for objects imported with multiple materials and pieces via VisualObjectImporter it becomes a problem as the only solution is to go through all the materials and look them up by name to set their PBR parameters in code or through another file.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/301postEvent cause thread safe problem when remove or add objects from another t...2021-04-13T14:43:14-04:00huiqiTian222postEvent cause thread safe problem when remove or add objects from another thread| befor | now |
| ------ | ------ |
| m_sceneObjectsMap.erase(sceneObjectName); | m_sceneObjects.erase(sceneObject); `this->postEvent(Event(modified()));`|
| m_sceneObjectsMap[newSceneObjectName] = newSceneObject; | m_sceneObjects.insert...| befor | now |
| ------ | ------ |
| m_sceneObjectsMap.erase(sceneObjectName); | m_sceneObjects.erase(sceneObject); `this->postEvent(Event(modified()));`|
| m_sceneObjectsMap[newSceneObjectName] = newSceneObject; | m_sceneObjects.insert(newSceneObject); `this->postEvent(Event(modified()));` |
now, i can't remove or add sceneObjects from another thread. crash happen
error:
> vtkWin32OpenGLRenderWindow (000001A37A428950): wglMakeCurrent failed in MakeCurrent(), error: The requested resource is in use.
I'm not sure if it is the problem of imstk or my code. please enlighten me.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/300texture swaped in runtime ?2021-04-05T20:57:31-04:00huiqiTian222texture swaped in runtime ?i just noticed there is bug fixed iMSTK/iMSTK!553.
but still i can not change texture or set Color in the runtime, here is my core code.
curSliceIndex is changed, but texture has no effort.
```
imstk::connect<MouseEvent>(viewer->getMo...i just noticed there is bug fixed iMSTK/iMSTK!553.
but still i can not change texture or set Color in the runtime, here is my core code.
curSliceIndex is changed, but texture has no effort.
```
imstk::connect<MouseEvent>(viewer->getMouseDevice(), &MouseDeviceClient::mouseScroll,
[&](MouseEvent* e) {
if (e->m_scrollDx > 0.0) {
if (curSliceIndex < 22) {
curSliceIndex++;
Scene->getSceneObject("slice")->getVisualModel(0)->getRenderMaterial()->addTexture(texture[curSliceIndex]);
}
}
if (e->m_scrollDx < 0.0) {
if (curSliceIndex > 0) {
curSliceIndex--;
Scene->getSceneObject("slice")->getVisualModel(0)->getRenderMaterial()->addTexture(texture[curSliceIndex]);
}
}
std::cout << "sliceIndex:" << curSliceIndex << std::endl;
});
```
thans for your patience.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/299imstkLocalMarchingCubes copying a lot of data2021-06-04T14:40:44-04:00Harald ScheirichimstkLocalMarchingCubes copying a lot of dataIn [`mcSubImage`](https://gitlab.kitware.com/iMSTK/iMSTK/-/blob/master/Source/Filtering/imstkLocalMarchingCubes.cpp#L402) new data gets stored in a local `std::list` then a new `imstkVecData` structure gets created, the data from the lis...In [`mcSubImage`](https://gitlab.kitware.com/iMSTK/iMSTK/-/blob/master/Source/Filtering/imstkLocalMarchingCubes.cpp#L402) new data gets stored in a local `std::list` then a new `imstkVecData` structure gets created, the data from the lists copied into the `imstkVecData` and then set in the mesh via `initialize`.
What i'd expect to see would be us to be able to rebuild the mesh data throught the `shared_ptr` handle the the mesh provides to its points and triangle structures, it seems that the current implementation works around issue #297. If we can just modify the meshes data structure (and fix #298) the allocations would stop or at least occur at a different frequency.
The use of a local list means that every new point in every new iteration will incur an allocation, even a move to a member local intermediary `std::vector` would allow that system to amortize these allocations over time and eventual once a maximum is reached not allocate per frame (at the cost of local storage in thehttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/298DataArray and VecDataArray are doing too many heap allocations2022-01-07T01:07:53-05:00Harald ScheirichDataArray and VecDataArray are doing too many heap allocationsBoth DataArray and VecDataArray are doing allocations/deletions in cases where its not necessary.
- `clear()` is implemented as `resize(0)` which not only deletes the current memory but additionally also allocates new memory of size 1
...Both DataArray and VecDataArray are doing allocations/deletions in cases where its not necessary.
- `clear()` is implemented as `resize(0)` which not only deletes the current memory but additionally also allocates new memory of size 1
This should probably be implemented as a constant time `m_size=0` without allocations
- `resize()` for any case where the new capacity is smaller than the existing capacity also allocates new memory, this should probably be implemented as just a simple change to `m_size`
A change here though would impact #297 maybe other systems that rely on the internal data pointer.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/297'`VTKSurfaceMeshRenderDelegate` doesn't deal with data size changes2021-07-09T14:06:30-04:00Harald Scheirich'`VTKSurfaceMeshRenderDelegate` doesn't deal with data size changesAny call that reallocates the underlying datastructure of `points` or `tris` will cause problems, any call to `resize()` or `clear()` to `imstkDataArray` and `imstkVecDataArray` will cause the internal storage reallocated. But in [`updat...Any call that reallocates the underlying datastructure of `points` or `tris` will cause problems, any call to `resize()` or `clear()` to `imstkDataArray` and `imstkVecDataArray` will cause the internal storage reallocated. But in [`updateGeometry` line 225](https://gitlab.kitware.com/iMSTK/iMSTK/-/blob/master/Source/Rendering/VTKRenderer/RenderDelegate/imstkVTKSurfaceMeshRenderDelegate.cpp#L225) the delegate only checks for equality of the wrapping shared pointer, to update its internals. In contrast the vtk data is bound to the internal pointer of the `imstkData/VecDataArray` (see GeometryUtils::coupleVtkDataArray`) so if the user _doesn't_ set new data in the mesh via `mesh.initialize` or `mesh.setVertexPositions` this check will fall through.
The check in line 225 could be made against the underlying structure that might fix some of the problems but i am not sure all cases are covered then. This is probably an issue with other delegates as well
If a structure takes a shared pointer and gives access to that shared pointer (i.e. the mesh taking the point data as a shared_ptr) then the assumption is that modifying this structure will result in the correct behavior of the rest of the system, otherwise the data should be taken by copy or other ways indicating to the user that this data cannot just be modified.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/296`VTKSurfaceMeshRenderDelegate` doesn't correctly update scalars2021-07-07T08:13:52-04:00Harald Scheirich`VTKSurfaceMeshRenderDelegate` doesn't correctly update scalarsWhen the mesh gets updated the delegate needs to react update scalars as well
For example this happens when localMarchingCubes updates its submesh, scalars that are attached to this submesh can't not be processed after the first frame....When the mesh gets updated the delegate needs to react update scalars as well
For example this happens when localMarchingCubes updates its submesh, scalars that are attached to this submesh can't not be processed after the first frame. this can be fixed by adding for example by adding
```
// Map vertex scalars if it has them
if (m_geometry->getVertexScalars() != nullptr)
{
m_mappedVertexScalarArray = GeometryUtils::coupleVtkDataArray(m_geometry->getVertexScalars());
m_polydata->GetPointData()->SetScalars(m_mappedVertexScalarArray);
}
```
to the body of the `geometryUpdate()` function but i am asuming cellScalars need to be updated here as well. But the delegate handles points and triangles in two different manners (sharing data vs copying), this might also be an issue in some of the other delegates as well.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/295no response to keyboard control2021-04-02T12:53:33-04:00Jianfeng Yanno response to keyboard controlThe master branch compiled successfully on linux, and the examples (for example Example-PBDVolume) can start without issue, but they do not response at all to the keyboard control (space, q, r, etc). The issue was introduced in MR/commit...The master branch compiled successfully on linux, and the examples (for example Example-PBDVolume) can start without issue, but they do not response at all to the keyboard control (space, q, r, etc). The issue was introduced in MR/commit 266ffa21.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/294Examples not working due to relative path issue of shared library libopenvr_...2021-04-07T11:43:38-04:00reneXreneczechdev@gmail.comExamples not working due to relative path issue of shared library libopenvr_api (LNX)I'm getting an error with openvr when running any of the examples.
`error while loading shared libraries: ../../../../install/lib/libopenvr_api.so: cannot open shared object file: No such file or directory`
Maybe, owing to VTK depends...I'm getting an error with openvr when running any of the examples.
`error while loading shared libraries: ../../../../install/lib/libopenvr_api.so: cannot open shared object file: No such file or directory`
Maybe, owing to VTK depends on openvr the library is pointing to an incorrect relative path...
I'm using `09299da9ad1b8ddb4b0b0cd323532eb29b4e81b1` version. OS Debian 9.
Thanks in advance for any help.