问题描述
我正在尝试使用 VTK 渲染 OpenCascade 形状,并且在 VTK 中设置到 Mapper 的输入连接时,我遇到了矢量下标越界错误。但是,此错误仅在调试模式下发生,在发布模式下不会发生。断言在文件 vtkCommonExecutionModel-9.0d.dll 中触发。代码如下:
#include <BRepPrimAPI_MakeBox.hxx>
#include <IVtkTools_ShapeDataSource.hxx>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include<vtkInteractorStyletrackballCamera.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkAutoInit.h>
#include <vtkpolyDataMapper.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkInteractionStyle)
int main()
{
BRepPrimAPI_MakeBox mkBox(1.,2.,3.);
const TopoDS_Shape& Shape = mkBox.Shape();
vtkNew<vtkRenderWindow> Win;
vtkNew<vtkRenderer> Render;
Win->AddRenderer(Render);
vtkNew<vtkInteractorStyletrackballCamera> IStyle;
vtkNew<vtkRenderWindowInteractor> IRender;
IRender->SetRenderWindow(Win);
IRender->SetInteractorStyle(IStyle);
//Domain Data (TopoDS_Shape) to vtkpolyData
vtkNew<IVtkTools_ShapeDataSource> OCCSource;
OCCSource->SetShape(new IVtkOCC_Shape(Shape));
//vtkMapper -> vtkActor
vtkNew<vtkpolyDataMapper> Mapper;
Mapper->SetInputConnection(OCCSource->GetoutputPort());
vtkNew<vtkActor> Actor;
Actor->SetMapper(Mapper);
Render->AddActor(Actor);
Win->Render();
IRender->Start();
return 0;
}
请帮我改正。我使用的是 OpenCascade v7.5.0 和 VTK v9.0.3。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)