[vtkusers] runtime error in vtkButterflySubdivisionFilter

david michell davidmichell at rediffmail.com
Mon Apr 26 01:43:14 EDT 2004


An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20040426/ac4ee447/attachment.htm>
-------------- next part --------------
Hi everyone,
When I run the following code Iam getting a runtime error, the error message says 

"Unhandled exception at 0x006b146a(vtkCommon.dll) in Contour3D.exe
0xC0000005: Access violation writing location 0xde9261d8"

The debugger points to line 149 in vtkcelllinks.cxx

Iam using vtk4.2 and vc++ 7.1 .net enabled.
I have put the code below.
Is there something wrong with my code?
Kindly help me out.
David Michell

void main()
{
int npts=100;

vtkPoints * points=vtkPoints::New();
points->SetNumberOfPoints(npts);

vtkPolyVertex *pv=vtkPolyVertex::New();
pv->GetPointIds()->SetNumberOfIds(npts);

vtkDoubleArray *scalar=vtkDoubleArray::New();
scalar->SetNumberOfTuples(npts);

double *data=new double[npts];
for (int i=0;i<npts;i++)
{
data[i*3+0]=sin((double)i);
data[i*3+0]=(double)(i+100)/npts;
data[i*3+0]=tan((double(i));

if (i<25) scalar->InsertValue(i,0.0);
if ((i>=25)&&(i<50)) scalar->InsertValue(i,1.0);
if ((i>=50)&&(i<75)) scalar->InsertValue(i,2.0);
if ((i>=75)&&(i<100)) scalar->InsertValue(i,3.0);
}

vtkUnstructuredGrid *grid=vtkUnstructuredGrid::New();
grid->Allocate(npts*3);
grid->SetPoints(points);
grid->InsertNextCell(pv->GetCellType(),pv->GetPointIds);
grid->GetPointData()->SetScalars(scalar);
grid->Modified();
grid->Update();

vtkDelaunay3D *del=vtkDelaunay3D::New();
del->SetInput(grid);
del->SetTolerance(0.00001);
del->BoundingTriangulationOff();

vtkMarchingContourFilter *contour3D=vtkMarchingContourFilter::New();
contour3D->SetInput(rev->GetOutput());
contour3D->GenerateValues(4,0.0,3.0);
contour3D->Update();

vtkButterflySubdivisionFilter *butr=vtkButterflySubdivisionFilter::New();
butr->SetInput(del->GetOutput());
butr->SetNumberOfSubdivisions(3);


vtkLookupTable *lut=vtkLookupTable::New();
lut->SetHueRange(0.6,0);
lut->SetSaturationRange(1.0,0);
lut->SetValueRange(0.5,1.0);

vtkPolyDataMapper *mapper=vtkPolyDataMapper::New();
mapper->SetInput(butr->GetOutput());
mapper->SetLookupTable(lut);
mapper->SetScalarRange(0.0,5.0);

vtkActor *surface=vtkActor::New();
surface->SetMapper(mapper);

vtkRenderer *ren=vtkRenderer::New();

vtkRenderWindow *win=vtkRenderWindow::New();
win->AddRenderer(ren);

vtkRenderWindowInteractor *iren=vtkRenderWindowInteractor::New();
win->SetInteractor(iren);
iren->Initialize();

ren->AddActor(surface);

iren->Start();

} 






More information about the vtkusers mailing list