I am trying to render a OpenCascade shape using VTK and while setting the Input Connection to Mapper in VTK I am getting vector subscript out of bounds error. However, this error is only happening in debug mode and not in Release mode. The assertion is triggering in the file vtkCommonExecutionModel-9.0d.dll. The code is as follows:
#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;
}
Please help me rectify it. I am using OpenCascade v7.5.0 and VTK v9.0.3.