Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在没有ActiViz.Net的情况下结合C#.Net和VTK_C#_C++_Wpf_Visual Studio_Vtk - Fatal编程技术网

在没有ActiViz.Net的情况下结合C#.Net和VTK

在没有ActiViz.Net的情况下结合C#.Net和VTK,c#,c++,wpf,visual-studio,vtk,C#,C++,Wpf,Visual Studio,Vtk,我有一项任务,如果我能以我想要的任何方式执行,那将相对容易。唉,在实施上有许多限制。我需要创建一个VisualStudio项目,它使用C++的.NET窗口呈现表单(WPF),用于GUI和可视化工具包(VTK),用C++进行3D渲染。如果你在网上查一下,你很快就会发现一些专门为此而设计的东西--ActiViz.Net。不幸的是,使用ActiViz.Net是被明确禁止的 我已经能够在VisualStudio中构建VTK和示例项目。我仍然不能完全适应它,但我至少知道如何进行一些基本的渲染。WPF本身似

我有一项任务,如果我能以我想要的任何方式执行,那将相对容易。唉,在实施上有许多限制。我需要创建一个VisualStudio项目,它使用C++的.NET窗口呈现表单(WPF),用于GUI和可视化工具包(VTK),用C++进行3D渲染。如果你在网上查一下,你很快就会发现一些专门为此而设计的东西--ActiViz.Net。不幸的是,使用ActiViz.Net是被明确禁止的

我已经能够在VisualStudio中构建VTK和示例项目。我仍然不能完全适应它,但我至少知道如何进行一些基本的渲染。WPF本身似乎并不太糟糕。但是,如何将它们组合到一个项目中,而GUI会影响渲染?例如,我用WPF制作一个按钮,上面写着“放大球体”。我会使用VTK渲染一个球体,或者在有按钮的同一窗口中,或者在单独的窗口中。当用户单击该按钮时,它将在C#中运行一个事件方法。这种方法会用某种方式告诉C++代码使用VTK使球变大。
目前,我甚至不知道如何用这两个部分来完成一个项目,更不用说如何在它们之间进行沟通了。实际上,我现在能想到的最好的方法是两个独立的程序,GUI程序启动3D程序,并通过编写渲染程序读取的文件来影响渲染。我知道不是很优雅。有更好的主意吗?

WPF已经内置了3D(包括着色器),那么为什么要使用“ActiViz.Net”?这里有很多关于如何从c#调用c/c++的文章。寻找“p-invoke”,我很想这样做,但任务特别说明使用VTK进行3D渲染,而不是WPF中内置的内容。无法使用VTK制造商为.Net集成而开发的ActiViz.Net,这让它变得更加困难。