<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>Error in Visualizing a Quadric Function</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2 FACE="Arial">Hi vtkusers,</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I copy-paste some code for&nbsp; Visualizing a Quadric Function from VTK.ORG website (</FONT><A HREF="http://www.vtk.org/example-code.php"><U><FONT COLOR="#0000FF" SIZE=2 FACE="Arial">http://www.vtk.org/example-code.php</FONT></U></A><FONT SIZE=2 FACE="Arial">) and got these errors while testing it under Borland C++ Builder 6 / WinXP / VTK4..2.1. Will someone please tell what is wrong here?</FONT></P>

<P><FONT SIZE=2 FACE="Arial">[C++ Error] Form_Test.cpp(90): E2034 Cannot convert 'vtkImageData *' to 'vtkDataSet *'</FONT>
<BR><FONT SIZE=2 FACE="Arial">[C++ Error] Form_Test.cpp(90): E2342 Type mismatch in parameter 'input' (wanted 'vtkDataSet *', got 'vtkImageData *')</FONT>
<BR><FONT SIZE=2 FACE="Arial">[C++ Error] Form_Test.cpp(106): E2034 Cannot convert 'vtkImageData *' to 'vtkDataSet *'</FONT>
<BR><FONT SIZE=2 FACE="Arial">[C++ Error] Form_Test.cpp(106): E2342 Type mismatch in parameter 'input' (wanted 'vtkDataSet *', got 'vtkImageData *')</FONT>
<BR><FONT SIZE=2 FACE="Arial">[C++ Error] Form_Test.cpp(115): E2315 'SetColor' is not a member of 'vtkProperty', because the type is not yet defined</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">=== Here is the C++ code from the vtk.org website === </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&nbsp; // -- create the quadric function object --</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; // create the quadric function definition</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; vtkQuadric *quadric = vtkQuadric::New();</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; quadric-&gt;SetCoefficients(.5,1,.2,0,.1,0,0,.2,0,0);</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&nbsp; // sample the quadric function</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; vtkSampleFunction *sample = vtkSampleFunction::New();</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; sample-&gt;SetSampleDimensions(50,50,50);</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; sample-&gt;SetImplicitFunction(quadric);</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&nbsp; // Create five surfaces F(x,y,z) = constant between range specified</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; vtkContourFilter *contours = vtkContourFilter::New();</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; contours-&gt;SetInput(sample-&gt;GetOutput());&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; ============= Line 90 ========</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; contours-&gt;GenerateValues(5, 0.0, 1.2);</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&nbsp; // map the contours to graphical primitives</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; vtkPolyDataMapper *contMapper = vtkPolyDataMapper::New();</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; contMapper-&gt;SetInput(contours-&gt;GetOutput());</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; contMapper-&gt;SetScalarRange(0.0, 1.2);</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&nbsp; // create an actor for the contours</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; vtkActor *contActor = vtkActor::New();</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; contActor-&gt;SetMapper(contMapper);</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&nbsp; // -- create a box around the function to indicate the sampling volume --</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&nbsp; // create outline</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; vtkOutlineFilter *outline = vtkOutlineFilter::New();</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; outline-&gt;SetInput(sample-&gt;GetOutput());&nbsp;&nbsp; // ============ Line 106 ======</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&nbsp; // map it to graphics primitives</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; vtkPolyDataMapper *outlineMapper = vtkPolyDataMapper::New();</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; outlineMapper-&gt;SetInput(outline-&gt;GetOutput());</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&nbsp; // create an actor for it</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; vtkActor *outlineActor = vtkActor::New();</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; outlineActor-&gt;SetMapper(outlineMapper);</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp; outlineActor-&gt;GetProperty()-&gt;SetColor(0,0,0);&nbsp;&nbsp;&nbsp; // ======== Line 115 =========</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">Thanks a lot</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Yang</FONT>
</P>

</BODY>
</HTML>