-
Notifications
You must be signed in to change notification settings - Fork 311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SofaGraphComponent] Run SceneChecker at each load #938
[SofaGraphComponent] Run SceneChecker at each load #938
Conversation
[ci-build][with-scene-tests] |
Will try to make it run with any GUI (currently only with RealGUI). |
SceneLoaders (derived from SceneLoaderFactory) must now override "doLoad" as they used to override "load". -> Calling load will call notifyLoadingSceneBefore + doLoad + notifyLoadingSceneAfter This permits to better customize pre/post scene loading with SceneLoader::Listener
SceneCheckerListener is a SceneLoader::Listener that will call SceneCheckVisitor::validate on every notifyLoadingSceneAfter event. This permits to have SceneChecking working with any GUI (classic, batch) and any SceneLoader (XML, Python).
So I think I found a clean way to run the SceneChecks by using SceneLoader::Listener. What do you guys think? |
So apparently SceneLoaderPY (Python scene loader) needs to call notifyLoadingScene at a specific moment because using my new @damienmarchal Could you tell me if you see a fix to that? We still can stick to the old |
7f4a595
to
229d05d
Compare
Actually the SceneListener was specifically designed for the python modules/scripts to be cleaned/reloaded when a new scene is loaded. This that few years ago so I forgot a bit how it work. But I'm sure it is important not to break it :) |
+ add runSofa option to disable scene checking: noscenecheck
loadSceneWithArguments did not call notifyLoadingSceneBefore and notifyLoadingSceneAfter
@damienmarchal I fixed the problem with SceneLoaderPY :-) |
As discussed in latest dev meeting, we need SceneChecker output even at first load.
This PR:
Reviewers will merge only if all these checks are true.