Skip to content

Conversation

@Medyan-Naser
Copy link
Contributor

Describe your changes

Create prototype of scene hierarchy display and control using the vtkGLTFImporter

Issue ticket number and link if any

#2491

Checklist for finalizing the PR

  • I have performed a self-review of my code
  • I have added tests for new features and bugfixes
  • I have added documentation for new features
  • If it is a modifying the libf3d API, I have updated bindings
  • If it is a modifying the .github/workflows/versions.json, I have updated timestamp

Continuous integration

Please write a comment to run CI, eg: \ci fast.
See here for more info.

@github-actions
Copy link

You are modifying libf3d public API! ⚠️Please update bindings accordingly⚠️!
You can find them in their respective directories: python, java, webassembly.

/**
* Set a callback to request a render safely from within the render loop
*/
void SetRenderRequestCallback(std::function<void()> callback);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need this ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is needed. Without this callback, ImGui UI interactions wouldn't properly trigger re-renders. The callback is set up in window_impl.cxxband passed through vtkF3DRenderer → vtkF3DUIActor → vtkF3DImguiActor to enable safe render requests during the render loop.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

im quite sure these is already a way to ImGui to trigger a safe render

@Medyan-Naser Medyan-Naser force-pushed the feature/scene-hierarchy-prototype-2491 branch from 37cdf50 to 979aaf2 Compare November 28, 2025 00:26
@mwestphal
Copy link
Member

Please ask for a review when needed @Medyan-Naser :)

@Medyan-Naser Medyan-Naser force-pushed the feature/scene-hierarchy-prototype-2491 branch from 979aaf2 to 14d6e13 Compare December 13, 2025 17:52
@Medyan-Naser
Copy link
Contributor Author

@mwestphal
I’m back to working on this PR. I’ve rebased it to master and addressed the comments you mentioned earlier. Please review when you have a chance.

)

vtk_module_autoinit(TARGETS libf3d MODULES ${F3D_VTK_MODULES})
vtk_module_autoinit(TARGETS libf3d MODULES ${F3D_VTK_MODULES} f3d::vtkextPrivate)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

def should not be needed

vtkTypeMacro(vtkF3DImguiActor, vtkF3DUIActor);

// Information key to track user-controlled visibility
static vtkInformationIntegerKey* USER_VISIBILITY();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is this for ?

{
std::vector<NodeInfo> nodes;

// Get scene hierarchy for GLTF files (where names are stored)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please note this will need to work with everything at the end, not gltf only

#include "vtkF3DUserRenderPass.h"

#if F3D_MODULE_UI
#include "vtkF3DImguiActor.h"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use F3DUIActor instead

Copy link
Member

@mwestphal mwestphal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes needed

@mwestphal
Copy link
Member

Hi @Medyan-Naser

Still working on this ? :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants