<P>
hi everone,<BR>
i was working on contour plot, and iam sending the code below.<BR>
iam encountering crashes for reasons, iam not sure.<BR>
it happens only on some kinds of data.i have even put for what data it crashes<BR>
please help me.<BR>
thank you,<BR>
david michell<BR>
<BR>
#define VTK_USE_ANSI_STDLIB<BR>
<BR>
#include &quot;vtk/vtkUnstructuredGrid.h&quot;<BR>
<BR>
#include &quot;vtk/vtkPolyDataMapper.h&quot;<BR>
<BR>
#include &quot;vtk/vtkActor.h&quot;<BR>
<BR>
#include &quot;vtk/vtkRenderer.h&quot;<BR>
<BR>
#include &quot;vtk/vtkRenderWindow.h&quot;<BR>
<BR>
#include &quot;vtk/vtkRenderWindowInteractor.h&quot;<BR>
<BR>
#include &quot;vtk/vtkIdType.h&quot;<BR>
<BR>
#include &quot;vtk/vtkCellArray.h&quot;<BR>
<BR>
#include &quot;vtk/vtkPoints.h&quot;<BR>
<BR>
#include &quot;vtk/vtkDoubleArray.h&quot;<BR>
<BR>
#include &quot;vtk/vtkFloatArray.h&quot;<BR>
<BR>
#include &quot;vtk/vtkProperty.h&quot;<BR>
<BR>
#include &quot;vtk/vtkContourFilter.h&quot;<BR>
<BR>
#include &quot;vtk/vtkContourGrid.h&quot;<BR>
<BR>
#include &quot;vtk/vtkExtractVOI.h&quot;<BR>
<BR>
#include &quot;vtk/vtkGaussianSplatter.h&quot;<BR>
<BR>
#include &quot;vtk/vtkPointData.h&quot;<BR>
<BR>
#include &quot;vtk/vtkPixel.h&quot;<BR>
<BR>
#include &quot;vtk/vtkPolyVertex.h&quot;<BR>
<BR>
#include &quot;vtk/vtkShepardMethod.h&quot;<BR>
<BR>
#include &quot;vtk/vtkLookupTable.h&quot;<BR>
<BR>
#include &quot;vtk/vtkDelaunay2D.h&quot;<BR>
<BR>
#include &quot;vtk/vtkDelaunay3D.h&quot;<BR>
<BR>
#include &quot;vtk/vtkPolyData.h&quot;<BR>
<BR>
#include &quot;vtk/vtkDataSetMapper.h&quot;<BR>
<BR>
#include &quot;vtk/vtkPolyDataNormals.h&quot;<BR>
<BR>
#include &quot;vtk/vtkButterflySubdivisionFilter.h&quot;<BR>
<BR>
#include &quot;vtk/vtkReverseSense.h&quot;<BR>
<BR>
#include &quot;vtk/vtkSurfaceReconstructionFilter.h&quot;<BR>
<BR>
#include &quot;vtk/vtkContourFilter.h&quot;<BR>
<BR>
#include &quot;vtk/vtkDataSetToImageFilter.h&quot;<BR>
<BR>
#include &quot;vtk/vtkPolyDataToImageStencil.h&quot;<BR>
<BR>
#include &quot;vtk/vtkGeometryFilter.h&quot;<BR>
<BR>
#include &quot;vtk/vtkStripper.h&quot;<BR>
<BR>
#include &quot;vtk/vtkLinkEdgels.h&quot;<BR>
<BR>
#include &quot;vtk/vtkThreshold.h&quot;<BR>
<BR>
#include &quot;vtk/vtkMarchingContourFilter.h&quot;<BR>
<BR>
#include &quot;vtk/vtkMarchingSquares.h&quot;<BR>
<BR>
#include &quot;vtk/vtkImageData.h&quot;<BR>
<BR>
#include &quot;stdio.h&quot;<BR>
<BR>
#include &quot;vtk/vtkCardinalSpline.h&quot;<BR>
<BR>
#include &quot;vtk/vtkIdType.h&quot;<BR>
<BR>
int main(int argc,char* argv[])<BR>
<BR>
{<BR>
<BR>
vtkRenderer *ren=vtkRenderer::New();<BR>
<BR>
vtkRenderWindow *win=vtkRenderWindow::New();<BR>
<BR>
win-&gt;AddRenderer(ren);<BR>
<BR>
vtkRenderWindowInteractor *iren=vtkRenderWindowInteractor::New();<BR>
<BR>
win-&gt;SetInteractor(iren);<BR>
<BR>
iren-&gt;Initialize();<BR>
<BR>
 <BR>
<BR>
 <BR>
<BR>
vtkPoints *points=vtkPoints::New();<BR>
<BR>
<BR>
<BR>
vtkDoubleArray *scalar=vtkDoubleArray::New();<BR>
<BR>
<BR>
int i,counter;<BR>
<BR>
double temp;<BR>
<BR>
double *data;<BR>
<BR>
<BR>
int npts=10000;<BR>
<BR>
<BR>
points-&gt;SetNumberOfPoints(npts);<BR>
<BR>
scalar-&gt;SetNumberOfTuples(npts);<BR>
<BR>
data=new double[npts*3];<BR>
<BR>
 <BR>
<BR>
for (i=0;i&lt;npts;i++)<BR>
<BR>
{<BR>
<BR>
data[i*3]=sin(i*22.0/7); <BR>
data[i*3+1]=cos(i/1.0)*sin(i/1.0); <BR>
<BR>
//uncomment the two following lines to reproduce crash<BR>
//data[i*3]=i/1000.0;<BR>
//data[i*3+1]=cos(i/1000.0);<BR>
<BR>
data[i*3+2]=0.0;//leave this as 0.0<BR>
<BR>
points-&gt;InsertPoint(i,data[i*3],data[i*3+1],data[i*3+2]);<BR>
<BR>
double temp=i%1000;<BR>
<BR>
scalar-&gt;InsertValue(i,temp);<BR>
<BR>
}<BR>
<BR>
vtkPolyData *m_spData=vtkPolyData::New();<BR>
<BR>
m_spData-&gt;Allocate(npts*3);<BR>
<BR>
m_spData-&gt;SetPoints(points);<BR>
<BR>
m_spData-&gt;GetPointData()-&gt;SetScalars(scalar);<BR>
<BR>
m_spData-&gt;Modified();<BR>
<BR>
m_spData-&gt;Update();<BR>
<BR>
 <BR>
<BR>
vtkDelaunay2D *del=vtkDelaunay2D::New();<BR>
<BR>
del-&gt;SetInput(m_spData);<BR>
<BR>
del-&gt;SetTolerance(0.000001);<BR>
<BR>
del-&gt;Update();<BR>
<BR>
vtkPolyData *temp1=del-&gt;GetOutput();<BR>
<BR>
/* i want the contour lines to be curved, so iam doing this */ <BR>
<BR>
/* but what happens to the scalars during subdivision??? */<BR>
<BR>
/* IS THERE SOME OTHER WAY TO GET CURVY LINES */<BR>
<BR>
/* sometimes it even crashes depending on the input data, is there some way to avoid this filter<BR>
<BR>
and pass the output of delaunay2D to marchingcontourfilter <BR>
<BR>
and then do something to the output of marchingcontourfilter <BR>
<BR>
to get curvy lines */<BR>
<BR>
vtkButterflySubdivisionFilter *butr=vtkButterflySubdivisionFilter::New();<BR>
<BR>
butr-&gt;SetInput(temp1);<BR>
<BR>
butr-&gt;SetNumberOfSubdivisions(3);<BR>
<BR>
butr-&gt;Update();<BR>
<BR>
<BR>
vtkPolyData *temp2=butr-&gt;GetOutput();<BR>
<BR>
vtkMarchingContourFilter *contour2D=vtkMarchingContourFilter::New();<BR>
<BR>
contour2D-&gt;SetInput(temp2);<BR>
<BR>
contour2D-&gt;GenerateValues(10,0.0,10.0);<BR>
<BR>
contour2D-&gt;Update();<BR>
<BR>
 <BR>
<BR>
vtkPolyDataMapper *mapper=vtkPolyDataMapper::New();<BR>
<BR>
mapper-&gt;SetInput(contour2D-&gt;GetOutput());<BR>
<BR>
<BR>
vtkActor *surface=vtkActor::New();<BR>
<BR>
surface-&gt;SetMapper(mapper);<BR>
<BR>
ren-&gt;AddActor(surface);<BR>
<BR>
 <BR>
<BR>
iren-&gt;Start();<BR>
<BR>
return 1;<BR>
<BR>
}<BR>
<BR>

</P>
<br><br>
<A target="_blank" HREF="http://clients.rediff.com/signature/track_sig.asp"><IMG SRC="http://ads.rediff.com/RealMedia/ads/adstream_nx.cgi/www.rediffmail.com/inbox.htm@Bottom" BORDER=0 VSPACE=0 HSPACE=0></a>