iMSTK issueshttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues2023-11-20T08:11:05-05:00https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/499Can't use cutting with object that have other constraints2023-11-20T08:11:05-05:00Harald ScheirichCan't use cutting with object that have other constraintsCurrently the cutting algorithm removes _all_ constraints on any vertices involved in the cutting, that means that objects that are constrained to other vertices (e.g. other objects) may have those constraints removed as well.Currently the cutting algorithm removes _all_ constraints on any vertices involved in the cutting, that means that objects that are constrained to other vertices (e.g. other objects) may have those constraints removed as well.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/498How to compile to Android for Meta Quest 3?2023-11-06T09:01:23-05:00manuel GBTHow to compile to Android for Meta Quest 3?I saw previous issues regarding the compilation of the DLLs to Android but it is not mentioned anywhere else. Any idea?I saw previous issues regarding the compilation of the DLLs to Android but it is not mentioned anywhere else. Any idea?https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/497CMake compiling errors2023-11-06T08:59:12-05:00manuel GBTCMake compiling errorsiMSTK_BUILD_VISUAL_TESTING is not compatible with BUILD_FOR_UNITY if iMSTK_USE_RENDERING_VTK is toggled. It's not stated anywhere. When compiling with USE_OpenHaptics, 10 projects compile to DLL but 2 fail. Disabling OpenHaptics work. Bu...iMSTK_BUILD_VISUAL_TESTING is not compatible with BUILD_FOR_UNITY if iMSTK_USE_RENDERING_VTK is toggled. It's not stated anywhere. When compiling with USE_OpenHaptics, 10 projects compile to DLL but 2 fail. Disabling OpenHaptics work. But OpenHaptics is properly installed and can be used with Touch and Touch X devices.
Any idea?https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/496Warning MSB8065 and warning MSB80642023-11-13T09:10:13-05:00Elisa CornazzaniWarning MSB8065 and warning MSB8064I selected Microsoft Visual Studio 2022 and CMake 3.28.0
I'm having trouble getting started with iMSTK: "CMake will generate a `iMSTK.sln` solution file for Visual Studio at the top level for what is called the Superbuild". CMake genera...I selected Microsoft Visual Studio 2022 and CMake 3.28.0
I'm having trouble getting started with iMSTK: "CMake will generate a `iMSTK.sln` solution file for Visual Studio at the top level for what is called the Superbuild". CMake generates 'iMSTK.sln' solution file in 'Innerbuild', I don't have any 'Superbuild'.
"Open this file and build all targets, which will checkout, build and link all iMSTK dependencies". In Visual Studio I find this warning: warning MSB8065: Custom build for item "C:\\Users\\elisa\\iMSTK_build\\CMakeFiles\\501df03c7e50b6a607f2af337a2d915e\\iMSTK-configure.rule" succeeded, but specified output "c:\\users\\elisa\\imstk_build\\cmake\\ external\\imstk-prefix\\src\\imstk-stamp\\release\\imstk-configure" was not created. Incremental compilation may not work correctly. I am not able to run the program.
After this, the build is anyway completed but a pop-up communicates the interruption of the program because a folder called "ALL_BUILD" is not **found** at path "iMSTK_build\\x64\\Release\\ALL_BUILD".
Then I noticed the same folder was contained in another directory at path "iMSTK_build\\**Innerbuild**\\x64\\Release\\ALL_BUILD", so I copied and pasted it in the folder the program was looking for it and now the problem is just access. I tried to change the access properties of the folder but nothing changed.
If anyone found the same type of issue can please give any advice?
Thanks for your attention!https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/495Creating Multiple Pbd objects with the same constraint type may overwrite per...2024-03-11T09:08:03-04:00Harald ScheirichCreating Multiple Pbd objects with the same constraint type may overwrite per body constraint valuesCertain constraints e.g. `BendConstraint` in `enableBendConstraint` don't distinguish on the body in the creation of the constraint functor. This means that having two bodies with different stiffnesses but the same constraint may not workCertain constraints e.g. `BendConstraint` in `enableBendConstraint` don't distinguish on the body in the creation of the constraint functor. This means that having two bodies with different stiffnesses but the same constraint may not workhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/494NeedlePbdCH assumes needle tip is the end of the mesh2023-05-16T10:19:25-04:00Harald ScheirichNeedlePbdCH assumes needle tip is the end of the meshThere is an assumption built into the needle architecture that the tip of the needle is at the back end of the meshThere is an assumption built into the needle architecture that the tip of the needle is at the back end of the meshhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/493Modifying the thread head2023-04-20T10:38:07-04:00lNatxiiModifying the thread headIs there any variable or any way to set the thread head position and orientation? Do I explain?Is there any variable or any way to set the thread head position and orientation? Do I explain?https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/492Downloading oneTBB error2023-04-19T16:28:50-04:00HaloSunDownloading oneTBB errorWhen I build iMSTK I get the following error:
downloading 'https://hub.fastgit.xyz/oneapi-src/oneTBB/archive/46fb877ef1618d9de9a9ba10cee107592b7cdb2d.zip' failed TBB B:\iMSTK\build\CMake\External\CUSTOMBUILD 1
I've tried reconfiguring a...When I build iMSTK I get the following error:
downloading 'https://hub.fastgit.xyz/oneapi-src/oneTBB/archive/46fb877ef1618d9de9a9ba10cee107592b7cdb2d.zip' failed TBB B:\iMSTK\build\CMake\External\CUSTOMBUILD 1
I've tried reconfiguring and generating many times, also tried downloading oneTBB,it doesn't fix this error.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/491Max distance in distance constraint?2023-04-21T10:27:15-04:00lNatxiiMax distance in distance constraint?Is it a good idea to modify imstkPbdDistanceConstraint.cpp to set a maximum distance, and break/destroy the constraint like if it has been torn when the distance is bigger than the setted maxDistance?
Like this: https://youtu.be/c-fJcn...Is it a good idea to modify imstkPbdDistanceConstraint.cpp to set a maximum distance, and break/destroy the constraint like if it has been torn when the distance is bigger than the setted maxDistance?
Like this: https://youtu.be/c-fJcneHQXQ?t=9 (This is not PBD, but is the effect I want to achieve).
How will it affect to the mesh and the UV? I'm asking before trying, but I can try to do it with any problem if you think it is a good idea. (I'm using iMSTK for Unity but the code modification would be inside the.cpp so I'm posting here the issue).https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/490Remove bool parameter from constructor TestBehaviour(const bool useTaskGraph)2023-03-07T18:08:45-05:00Shreeraj JadhavRemove bool parameter from constructor TestBehaviour(const bool useTaskGraph)Remove bool parameter from constructor `TestBehaviour(const bool useTaskGraph)` as it is not very useful.
Refer to discussion here:
https://gitlab.kitware.com/iMSTK/iMSTK/-/merge_requests/963#note_1328994Remove bool parameter from constructor `TestBehaviour(const bool useTaskGraph)` as it is not very useful.
Refer to discussion here:
https://gitlab.kitware.com/iMSTK/iMSTK/-/merge_requests/963#note_1328994https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/489PbdObject initialize orientations error2023-01-11T13:45:43-05:00bds-jamesPbdObject initialize orientations errorPbdObject::setDeformBodyFromGeometry line207, 211, 213
```cpp
std::shared_ptr<AbstractDataArray> orientations = geom->getVertexAttribute("Orientations");
if (orientations != nullptr && orientations->getNumberOfCo...PbdObject::setDeformBodyFromGeometry line207, 211, 213
```cpp
std::shared_ptr<AbstractDataArray> orientations = geom->getVertexAttribute("Orientations");
if (orientations != nullptr && orientations->getNumberOfComponents() == 4 && orientations->getScalarType() == IMSTK_DOUBLE
//[- && std::dynamic_pointer_cast<VecDataArray<double, 3>>(orientations)->size() == numParticles) -]
[+ && std::dynamic_pointer_cast<VecDataArray<double, 4>>(orientations)->size() == numParticles) +]
{
auto vec = std::dynamic_pointer_cast<VecDataArray<double, 4>>(orientations);
body.orientations = std::make_shared<StdVectorOfQuatd>(numParticles);
//[- for (int i = 0; i < orientations->size(); i++) -]
[+ for (int i = 0; i < vec->size(); i++) +]
{
//[- (*body.orientations)[i] = Quatd((*vec)[i][3], (*vec)[i][1], (*vec)[i][2], (*vec)[i][0]); -]
[+ (*body.orientations)[i] = Quatd((*vec)[i][3], (*vec)[i][0], (*vec)[i][1], (*vec)[i][2]); +]
}
}
```Harald ScheirichHarald Scheirichhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/488Update build instructions for CSharp wrappers2022-12-15T09:20:02-05:00Shreeraj JadhavUpdate build instructions for CSharp wrappersBuilding with CSharp Wrappers enabled may not be trivial for new developers. Update build instructions to include instructions to install swig, installation of .NET framework and SDK.
Additionally, it appears that the build specifically...Building with CSharp Wrappers enabled may not be trivial for new developers. Update build instructions to include instructions to install swig, installation of .NET framework and SDK.
Additionally, it appears that the build specifically requires .NET framework 4.6.1 which is out of support now. Is this something that is governed by Unity or can we bump the required framework to the latest one or at least one that is under support. See this page for support info from Microsoft:\
https://dotnet.microsoft.com/en-us/download/visual-studio-sdkshttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/487Redundant classes / files between Examples2022-12-05T16:31:27-05:00Shreeraj JadhavRedundant classes / files between ExamplesThere are certain classes and files that are duplicates of each other in the Examples (particularly related to Needles).
For e.g.:
1. NeedleInteraction.cpp
1. NeedleInteraction.h
1. NeedlePbdCH.h
1. NeedleRigidBodyCH.cpp
1. NeedleRigidBo...There are certain classes and files that are duplicates of each other in the Examples (particularly related to Needles).
For e.g.:
1. NeedleInteraction.cpp
1. NeedleInteraction.h
1. NeedlePbdCH.h
1. NeedleRigidBodyCH.cpp
1. NeedleRigidBodyCH.h
There maybe small differences between them. These files/classes should be refactored to remove duplication.
![image](/uploads/b34c9ed0a48caf1f14144b6141ece38f/image.png)https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/486Deformable Surface to Capsule/Sphere Collisions generates nans2022-11-28T08:41:03-05:00Jacob MooreDeformable Surface to Capsule/Sphere Collisions generates nansAn issue occurs when collisions happen between spheres/capsules on deformable surface meshes for some applications. See: https://discourse.kitware.com/t/deformable-surface-mesh-to-capsule-sphere-collisions/928An issue occurs when collisions happen between spheres/capsules on deformable surface meshes for some applications. See: https://discourse.kitware.com/t/deformable-surface-mesh-to-capsule-sphere-collisions/928https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/485cmake: error in configuration process, project files may be invalid2022-11-01T02:22:23-04:00OOFYFIcmake: error in configuration process, project files may be invalidHi I am OOFYFI so when I was compiling Torque3D Game engine source code I got an error called: "error in configuration process, project files may be invalid"
I think missed installing something, I need help with this error please help me...Hi I am OOFYFI so when I was compiling Torque3D Game engine source code I got an error called: "error in configuration process, project files may be invalid"
I think missed installing something, I need help with this error please help me asap thank you.
![image](/uploads/fa7fb2841a678f052d14472032c835bf/image.png)
[CMakeOutput.log](/uploads/92f72e6e79665f9fcd1f396670df75d7/CMakeOutput.log)
[CMakeError.log](/uploads/ec8dc4d42573b44ba9c750f7f25aaf75/CMakeError.log)https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/484Enable VRPN in CI Dashboard for Testing Haptics Examples2022-11-01T02:22:47-04:00Andrew WilsonEnable VRPN in CI Dashboard for Testing Haptics ExamplesVRPN should be able to test haptics examples on windows, it doesn't require a downloading step since its downloaded through the superbuild so we should tick this on once the windows CI is back online.VRPN should be able to test haptics examples on windows, it doesn't require a downloading step since its downloaded through the superbuild so we should tick this on once the windows CI is back online.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/483EventObject::postEvent bug or intended?2022-11-17T14:43:17-05:00AinrayEventObject::postEvent bug or intended?In EventObject::postEvent, there is a small piece of code as following
`// For every direct observer
// Directly call its function
for (auto i = directObservers.begin(); i != directObservers.end(); i++)
{
...In EventObject::postEvent, there is a small piece of code as following
`// For every direct observer
// Directly call its function
for (auto i = directObservers.begin(); i != directObservers.end(); i++)
{
if (i->first == e.m_type)
{
std::vector<Observer>& observers = i->second;
** for (std::vector<Observer>::iterator j = observers.begin(); j != observers.end(); j++)
{
// If function of observer does not exist, remove observer
if (j->second != nullptr)
{
// Call the function
j->second(ePtr.get());
}
else
{
j = i->second.erase(j);
}
}**
}
} `
As marked by bold fonts, if the iterator j has null function, it will be erased. The potential problem is that: "j++" in the for statement, which is
run regardless of whether function of j is null or not. When j's function happens to be null, the 'erase' will move j to the next iterator just after
the erased one, whose function will not be called because j will further be moved to the next position by "j++" statement. So if there is a 'observer'
whose function is null, its next 'observer' will be ignored in any way.
Is it intended for any reason? Or it is a bug? EventObject is the basic class of iMSTK. So I think I should report it here.
Yours,
Ainray
wwzhang0421@163.comhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/482shared_from_this and Capture Lists2022-10-20T17:49:01-04:00Andrew Wilsonshared_from_this and Capture ListsIn many locations lambdas are used that capture `this`
```
MyClass::MyClass()
{
auto func = [&]()
{
this->doSomething();
};
}
```
The above is fine but if this function ptr is to be passed around it could exist longer th...In many locations lambdas are used that capture `this`
```
MyClass::MyClass()
{
auto func = [&]()
{
this->doSomething();
};
}
```
The above is fine but if this function ptr is to be passed around it could exist longer then the duration of the class, for which any reference to anything to `this` in that function would fail, likely a read access violation.
With shared_from_this in Components we can make this safer.
```
MyClass::MyClass()
{
auto strongThis = shared_from_this();
auto func = [strongThis]()
{
strongThis->doSomething();
};
}
```
This however, won't work because we cannot use shared_from_this in a constructor. For this reason it may be appropriate in Behaviours to have a separate function to initialize internal state. Particularly in a Behaviour that uses TaskNode's which rely on function ptrs.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/481Haply Issues2022-10-19T04:04:11-04:00Andrew WilsonHaply IssuesRemaining Haply issues here:
- [ ] Haply Pen Blocks at 50hz. Stalling the haptics thread. Call every 20ms.
- [ ] Construct Haply device without pen. Currently no way to do this. Meaning it looks via bluetooth for the pen everytime whic...Remaining Haply issues here:
- [ ] Haply Pen Blocks at 50hz. Stalling the haptics thread. Call every 20ms.
- [ ] Construct Haply device without pen. Currently no way to do this. Meaning it looks via bluetooth for the pen everytime which is a 5s or so stall. When using VR controllers or testing with linear tracking only this is undesirable. Also not verified what this does on a computer without wireless capabilities.
- [ ] Haply static libraries do not work on vs2019. Only on vs2022. There was a fix in vs2019, but I have not yet pinpoint'd the exact vs version. Currently an error is thrown if you use any vs2019.Harald ScheirichHarald Scheirichhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/480Haply Pen Blocking2022-10-16T15:29:39-04:00Andrew WilsonHaply Pen BlockingThe Haply pen blocks at 50hz. You can choose not to use the pen to get 1000hz.The Haply pen blocks at 50hz. You can choose not to use the pen to get 1000hz.