标签: vtk

C++ 流程图/GUI 设计器

我需要编写一个 C++ GUI,以便用户可以通过从工具栏中选择几个块并将它们放入窗口中并按他想要的顺序连接它们来制作流程图/管道,然后程序运行流程图。(为简单起见,只需考虑每个块的任务是打印一些数字。我的问题是 GUI)

有人尝试过类似的事情/有任何经历吗?

是否可以在 WxWidget 或任何其他图形/窗口形式库中制作这样的 GUI?

可以用VTK做GUI吗?

您知道任何类似的开源工作吗?

c++ user-interface wxwidgets flowchart vtk

4
推荐指数
1
解决办法
3648
查看次数

VTKCamera焦点和位置之间的区别

我正在使用vtkCamera,并试图将其移动并使其看到某一点.例如,如果我想将相机放在适当位置(x,y,z)并使其(0,0,0)在openGL 中查看例如gluLookAt,我们会将眼睛坐标设置为(x,y,z)和中心坐标(0,0,0)以及向上矢量(0,1,0).

然而,在VTK,采用vtkCamera我们有三个不同的方法,即setPosition,setFocalPointsetViewUp

我的问题是做什么 setPositonsetFocalPoint对应的?

谢谢

c++ opengl graphics vtk

4
推荐指数
1
解决办法
3406
查看次数

如何将网格转换为VTK格式?

我有自己格式的网格,我想将它导出到.vtk文件.我该怎么做呢?

原始网格采用以下格式:(伪代码)

class Mesh {

   List<Float[3]> _coordinates

   List<int[4]> _tetra //(elements, Faces, etc.)

}
Run Code Online (Sandbox Code Playgroud)

我希望这能澄清我的问题.我只想用Paraview加载它,所以我不在乎它是否是结构化的,聚合等.

mesh vtk

4
推荐指数
2
解决办法
4916
查看次数

vtkRenderWindowInteractor事件循环和线程

我在使用vtk进行交互和渲染的应用程序中尝试做的是有两个不同的部分:1 - 带渲染的线程和用于与鼠标交互的vtkRenderWindowInteractor.2 - 调用VTK线程中定义的数据的某些修饰函数的线程.

从我迄今为止在研究中得到的结果看起来相当复杂,VTK不是线程安全的.现在我在VTK邮件列表上偶然发现了这篇文章(http://vtk.1045678.n5.nabble.com/Multi-threaded-VTK-td4514620.html),建议使用Qt信号和插槽.第一个问题是,仍然是一个好的解决方案吗?

第二个问题仍与之相关,也与我之前遇到过的一个问题有关start(),那vtkRenderWindowInteractor就是阻塞问题.到目前为止,无论我尝试过什么,只要调用start()方法(因为我进入渲染循环),所有通过旋转或平移或缩放功能完成的修改都不会完成.我的问题是:如果我使用Qt信号和插槽将阻止我解决这个问题?

这是我到目前为止渲染和推出vtkRenderWindowInteractor的基本代码:

std::string filename = BUNNY;
// Read all the data from the file
vtkSmartPointer<vtkXMLPolyDataReader> reader =vtkSmartPointer<vtkXMLPolyDataReader>::New();
reader->SetFileName(filename.c_str());
reader->Update();
inputPolyData = reader->GetOutput();

cout << "File Found and Loaded : " << filename << endl ;

vtkSmartPointer<vtkTransform> translation = vtkSmartPointer<vtkTransform>::New();
translation->Translate(0.3, -0.05, 0);
transformFilter = vtkSmartPointer<vtkTransformPolyDataFilter>::New();
//transformFilter->SetInputConnection(reader->GetOutputPort());
transformFilter->SetInputData(inputPolyData);
transformFilter->SetTransform(translation);
//transformFilter->Update();

vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(transformFilter->GetOutputPort());

mainActor = vtkSmartPointer<vtkActor>::New();
mainActor->SetMapper(mapper);

ren->AddActor(mainActor);

vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
iren->SetRenderWindow(win);
vtkInteractorStyleMultiTouchCamera *style =
vtkInteractorStyleMultiTouchCamera::New(); …
Run Code Online (Sandbox Code Playgroud)

c++ qt multithreading vtk

4
推荐指数
1
解决办法
2284
查看次数

python中进行3D可视化的现代方法:讨论mayavi

Mayavi是使用python进行3D可视化脚本编写的“现代”方法吗?

现代,我的意思是一个有见识的人会在2015年选择使用Mayavi来满足各种项目要求。

我是大约一个月前首次发现它的,它在大多数时候都运行良好。它也基于vtk,我认为即使Mayavi不会,它也会停留一段时间。

有几件事与我有关,促使我发表了这篇文章。大部分活动(包括主要作者之一的博客中的提交和帖子)似乎都是2010-2011年。用户的邮件列表似乎已经死了,特别是与paraview相比。我也很不幸,在StackOverflow上得到了问题的解答。

那么我会以错误的方式处理吗?当然,有很多python用户,其中大约1%的用户需要以某种方式进行3D可视化。那么每个人都在哪里?

python vtk enthought mayavi

4
推荐指数
1
解决办法
2452
查看次数

vtk中顶点和点的区别

VTK 中顶点和点的主要区别是什么?

好吧,我正在为vtkPolyData输出分配一些计算点:

vtkPolyData* oput = vtkPolyData::SafeDownCast(out_info->Get(vtkDataObject::DATA_OBJECT()));
Run Code Online (Sandbox Code Playgroud)

我想知道是使用方法SetVerts(vtkCellArray *v)还是方法SetPoints(vtkPoints *)

vtk computational-geometry

4
推荐指数
1
解决办法
2245
查看次数

使用 vtkOrientationMarkerWidget 和 QVTKRenderWindowInteractor [PyQt4/PySide]

我使用QVTKRenderWindowInteractor小部件类处理PySide/vtk GUI 。该小部件运行良好,除非我尝试使用以下方法添加方向轴(见图片)vtkOrientationMarkerWidget

axesActor = vtk.vtkAxesActor();
axes = vtk.vtkOrientationMarkerWidget()
axes.SetOrientationMarker(axesActor)
axes.SetInteractor(self.iren)
self.ren.AddActor(axesActor)
axes.EnabledOn() # <== application freeze-crash
axes.InteractiveOn()
Run Code Online (Sandbox Code Playgroud)

已经为 ubuntu 报告了一个类似的错误,表明该错误仅在Qt 示例中重现,而没有 Qt的同一个示例运行良好。

这种行为的任何解决方案? 在此处输入图片说明

python pyqt4 vtk pyside qvtkwidget

4
推荐指数
1
解决办法
1220
查看次数

使用 cmake 将两种解决方案合二为一

我有两个单独的 Visual Studio 2013 解决方案,我想将它们迁移到一个解决方案中,因为第一个解决方案(使用 Qt)充当第二个解决方案的 GUI。

最后,我希望有一个结构如下的单一解决方案:

--Solution
-------All Build
-------Project 1
----------------External Dependencies
----------------header files
----------------Source files 
-------Project 2
----------------External Dependencies
----------------header files
----------------Source files 
Run Code Online (Sandbox Code Playgroud)

CMakeLists.txt一个项目是:

cmake_minimum_required(VERSION 2.8.5 FATAL_ERROR)
if(POLICY CMP0025)
  cmake_policy(SET CMP0025 NEW) # CMake 3.0
endif()
if(POLICY CMP0053)
  cmake_policy(SET CMP0053 NEW) # CMake 3.1
endif()

project (Project1)

set(CMAKE_MODULE_PATH 
    ${CMAKE_SOURCE_DIR}/CMake
)

find_package(VTK REQUIRED)
include(${VTK_USE_FILE})

find_package(OpenVR REQUIRED)
find_package(SDL2 REQUIRED)

include_directories(${OPENVR_INCLUDE_DIRS})
include_directories(${SDL2_INCLUDE_DIR})
include_directories(${CMAKE_SOURCE_DIR})

set(HEADER_FILES
    ...
)

set(CODE_FILES
    ...
)


# Copy the obj file to the build …
Run Code Online (Sandbox Code Playgroud)

c++ qt cmake vtk

4
推荐指数
1
解决办法
3057
查看次数

VTK 渲染在 PyQt 中无法按预期工作

我需要在 PyQt 应用程序中集成 VTK 可视化。但是,当我将模型放入 QVTKRenderWindowInteractor 时,显示会显示一些不需要的透明效果(见下图)。无论我尝试加载什么,这都会发生在表面或点云上。

有没有办法在 QVTKRenderWindowInteractor 中实现正确的表示?

第一张图片是来自 的锥体vtk.vtkConeSource()

锥体;  左:没有 QVTKRenderWindowInteractor。 右:使用 QVTKRenderWindowInteractor

第二张图片是来自 PCL 测试的cturtle.pcd 点云。

龟;  左:没有 QVTKRenderWindowInteractor。 右:使用 QVTKRenderWindowInteractor

左:没有 QVTKRenderWindowInteractor。右:使用 QVTKRenderWindowInteractor

我附上问题的示例代码以供复制。这是没有Qt的代码:

#!/usr/bin/env python

import vtk
from vtk.util.colors import tomato

"""This simple example shows how to do basic rendering and pipeline creation."""

cone = vtk.vtkConeSource()
cone.SetResolution(8)

coneMapper = vtk.vtkPolyDataMapper()
coneMapper.SetInputConnection(cone.GetOutputPort())

coneActor = vtk.vtkActor()
coneActor.SetMapper(coneMapper)
coneActor.GetProperty().SetColor(tomato)
coneActor.RotateX(30.0)
coneActor.RotateY(-45.0)

ren = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)


ren.AddActor(coneActor)
ren.SetBackground(0.1, 0.2, 0.4)

iren.Initialize()

ren.ResetCamera()
ren.GetActiveCamera().Zoom(1.5) …
Run Code Online (Sandbox Code Playgroud)

qt rendering vtk python-3.x pyqt5

4
推荐指数
1
解决办法
1474
查看次数

VTK删除()和数据删除

我正在浏览VTK 5.4.2代码,似乎无法理解Delete()函数是如何工作的.我的意思是,Delete()函数在vtkObjectBase中并且是虚拟的,但是,通过什么命令链是vtkDoubleArray类(例如)执行的析构函数?

最好的祝福,

mightydodol

c++ vtk

3
推荐指数
2
解决办法
1552
查看次数