GithubHelp home page GithubHelp logo

qcring / quickvtk Goto Github PK

View Code? Open in Web Editor NEW
334.0 24.0 65.0 55.08 MB

A VTK prototyping application based on QtQuick/QML

License: BSD 3-Clause "New" or "Revised" License

CMake 2.13% C++ 72.68% QML 20.97% JavaScript 4.22%
vtk qml visualization qt

quickvtk's People

Contributors

haampie avatar maidamai0 avatar qcring avatar ruisebastiao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quickvtk's Issues

Code Editor Formatting

I still haven't figured out the best way of implementing a decent Code Editor in QML...

The QML TextEdit object provides access to a QQuickTextDocument instance, but the docs say that You are not allowed to modify the document.... So my guess is that the QTextCursor API can't be used for text processing. So there's still some research to do..

Broken with VTK 8.2.0 on Linux

I just rebuild the project with VTK 8.2.0 and Qt 5.12.3 on Ubuntu 18.04, and it seems the vtk windows is just 1 white pixel. When I resize it is sometimes shows some weird colored blocks. Do you experience the same on Linux?

quickVtkFboOffscreenWindow.cpp:77 no member named TextureObjects

src/Core/Vtk/Internal/quickVtkFboOffscreenWindow.cpp:77:19: error: ‘class quick::Vtk::FboOffscreenWindow’ has no member named ‘TextureObjects’; did you mean ‘NoiseTextureObject’

My environment:
Debian 10
g++ 8.3.0-6. I
VTK-8.20

Are these member variables of the parents class (perhaps only using iOS?)

Add qml examples to menu

Having all examples available from the application menu is more convenient than loading them from the res directory.

Rendering issue Qt 5.12.1 + VTK 8.2.0 on macOS 10.14

  • Qt 5.12.1 + VTK 8.2.0 builds are broken on macOS 10.14
  • might be interesting to check out if this error is caused by the updated dependencies (API changes maybe) or the latest macOS version...
  • needs some research and might take a while

Reusing elements

How would one reuse a single actor in multiple render windows?

Row {
  Vtk.Viewer {
    Vtk.Actor { id: actor }
  }
  Vtk.Viewer {
    // same actor
  }
}

Of course you could instantiate the same actor twice, but I'd like to load it only once.

Maybe something like this?

Vtk.Actor {
  id: actor
  ...
}

Row {
  Vtk.Viewer {
    Vtk.ActorReference {
      actor: actor
    }
  }
  Vtk.Viewer {
    Vtk.ActorReference {
      actor: actor
    }
  }
} 

Resizing window on Windows leads to lockup

I compiled and ran QuickVtk on Windows using MSVC17 and Qt5.13 and Vtk8.2 with external module built.
I tried to resize the window which lead to the program locking up. It goes into an infinite loop doing re-layouts.

Editor - auto-adjust scroll position to text cursor

The editor text cursor can be moved outside of the visible area. The TextEdit component should automatically adjust the scroll position so that the cursor remains visible to the user.

This happens when:

  • navigating lines via arrow keys
  • jump to top (CMD + Up)
  • jump to end (CMD + Down)
  • copy/paste

Builds but doesn't run

I've followed the build instructions but when I try to build and run in xcode the build succeeds but when it tries to run it appears to fail on line 72 in quickAppEngine.cpp:

auto rootObject = engine->rootObjects().at(0);
"index out of range"

I've tried with a Qt 12, 13 and the latest 14 with the same result. Happy to help you debug this as good as I can but I have limited experience with c++. If you point me in the right direction I might be able to get somewhere.

vtkquick_stacktrace.txt

QML errors and broken UI on Qt 5.9.1

Seems like Qt 5.9.1 broke some things in QuickVtk... UI is broken and references to some C++ controllers are missing from the QML side. I'm on it.

Building on Linux

On Linux, the cmake files because the QuickVTK target isn't defined. I commented out the if condition on line 130 and it got it to work.

Also, anyone building on Linux needs to define -DCMAKE_CXX_FLAGS="--std=c++11"

Release vtk integration in qml as standalone library

Hi, great work!
QuickVtk is one of the few programs I found allowing to embed vtk into a qml application.

It would be interesting to have a standalone library with only the classes needed to embed vtk inside qt/qml. Do you think it would be possible to separate that part from the core of the application?

Thanks!

Some DLLs not found

When click on QuickVtk.exe, message boxes pop out saying that some dlls are not found, like vtkRenderingExternal-7.1.dll, vtkFiltersTexture-7.1.dll
But I'm sure I have had these DLLs and I have added the path to them to debugging->environment
I build QuickVtk under Windows

fix QML_BAD_GUI_RENDER_LOOP

Atm "QML_BAD_GUI_RENDER_LOOP" forces the application to run the UI on the main thread because forwarding QML events to VTK crashes the application.

Picking objects

Hi Q

I am trying to extend your project by introducing pickers. I am thinking something in the line of

Vtk.Viewer {
  Vtk.CellPicker {
    id: picker
    // automatically registered to parent object
  }

  Vtk.AxesActor }
    id: axes
    Component.onCompleted: {
      picker.addPicker(axes) // The actor is assigned to the list of pickable objects
    }
  }
}

How would you recommend distributing the functionality for picking objects between Viewer, Interactor, Renderer?

If you have any input, let me know.

Thanks in advance

AddApplicationSources

I use CMake 3.16.12.
During configure project, CMake Error at CMakeLists.txt:107 (AddApplicationSources):
Unknown CMake command "AddApplicationSources". error occurred.

code formater tool

I have to disable auto-format function of my code editor when I modify code to keep the code style, a code formatter may help with this.

Clang-tidy is a good choice.

make Core a QML module

I noticed all QML types like vtk.actor are registered to qmlengine by qmlRegisterType family functions in c++ code.Have you cansidered to make them a standalone QML module use qmldir so everyone can use it in QML like the native QML types without register it in c++ code.?

QML resources not found on Linux

After I installed, the QuickVTK couldn't find file:///home/matt/workspace/QuickVtk/Resources/qml/App/window.qml: File not found

I found this file in QuickVtk/res/qml/App/window.qml, so I made a simlink to get around this for now.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.