I cannot find some config file while running SlicerVirtualReality tests

#1

I want to run qSlicerVirtualRealityModuleCxxTests but it says

I already build Slicer and SlicerVirtualReality successfully.
I cannot find qSlicerVirtualRealityModuleGenericCxxTestsLauncherSettings.ini in the SlicerVirtualReality source directory nor SlicerVirtualReality build directory.
And the python error is annoying too.

(Andras Lasso) #2

Do all the tests pass if you build the “RUN_TESTS” project?

Please run Slicer using a Python debugger (as explained here) to find what causes the error and send us a pull request with a proposed fix. We’ll review and integrate it quickly.

(Csaba Pinter) #3

You need to start Visual Studio like this:

Path\to\debug\build\Slicer-build\Slicer.exe --VisualStudio --launcher-no-splash --launcher-additional-settings ./SlicerVirtualReality_D/inner-build/AdditionalLauncherSettings.ini c:\d\_Extensions\SlicerVirtualReality_D\inner-build\SlicerVirtualReality.sln

#4

Um,No tests were found…

(Andras Lasso) #5

There are no tests at the superbuild solution (that builds all dependencies). Open the inner-build solution (…\inner-build\SlicerVirtualReality.sln) instead.

#6

All tests passed.But I still cannot find the config files.

#7

I download the lastest source code of SlicerDebuggingTools and build it with VS2015x64.
Then I launch the SlicerWithDebuggingTools.exe but it occurred an error which said “Slicer must be restarted after switching between VisualStudio debugger versions.”
I restarted the Slicer(generated from source code) many times but it still not work.

But the pythonDebuggingTools(installed in the Slicer by extension manager) works successfully in the Slicer which is installed from an executable binary file.

(Csaba Pinter) #8

It would help if you described what your overall goal is.

#9

We are going to implement some functions which can let doctors manipulate organ models using mouse in Slicer at the same time the 3D view of SlicerVirtualReality will update synchronously and the patients can observe the same view with HTC VIVE equipped.
But now I cannot use extension manager maybe due to openssl problem?(I’m not sure).And compiling openssl source code is complicated So I install SlicerDebuggingTool from source code(but it can’t work) aiming to solve the python error while running SlicerVirtualReality tests.

(Csaba Pinter) #10

Thanks for the explanation.

This is the part I do not understand. If the build was successful and you can use SlicerVR, then why bother with the tests? Also if the build failed, or SlicerVR doesn’t work in some way then that should be addressed, not the tests.

#11

Thank you very much for the suggestions.Now I start to search the frame redraw function in Slicer source code and I want to add the SlicerVR updateViewFromReferenceViewCamera code into it.Could you give some advices one more time?

(Csaba Pinter) #12

Not sure what this is.

Sorry but again I don’t understand what you’d like to achieve. Please give us a bit more info so that we don’t have to do guesswork.
To reset the VR view you just need to call this function: https://github.com/KitwareMedical/SlicerVirtualReality/blob/master/VirtualReality/Widgets/qMRMLVirtualRealityView.h#L98

#13

I want to complete this:
When I rotate the model(or scene) by left button click or move it by wheel click or zoom it by scrolling the wheel ,Slicer can automatically call the “Set virtual reality view to match reference view”（match view for short） function instead of I clicking the virtualReality toolbar button.
I guess the scene will rerender when it is changed.So I want to add the match view code into the scene rerender function.

Thanks again for your attention! I just return from the holiday.

#14

We have found the functions that we are going to modify.

What we are going to do is this:
Adding function “updateViewFromReferenceViewCamera” into function “ProcessMRMLEvents” so that every time I click and drag mouse in the Slicer 3D View, the code in the “ProcessMRMLEvents” function will execute and then the view in HTC VIVE will update immediately.
So the problem we are facing is this:
Integrating the SlicerVirtualReality into Slicer so that we can call function “updateViewFromReferenceViewCamera” in function “ProcessMRMLEvents”.But how can we do that?