<div>Tracy,</div>
<div>&nbsp;</div>
<div>You should be using:</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; colorArray-&gt;InsertTuple3(0,0,0,0);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorArray-&gt;InsertTuple3(1,0,0,0);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorArray-&gt;InsertTuple3(2,0,0,0);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorArray-&gt;InsertTuple3(3,0,0,0);<br><br>InsertNextTuple3 will add to the already allocated colorArray.
</div>
<div>&nbsp;</div>
<div>This does not explain the error message you get however.</div>
<div>&nbsp;</div>
<div>Bill<br></div>
<div class="gmail_quote">On Dec 28, 2007 8:28 PM, Tracy Hu &lt;<a href="mailto:tracy.hu@yahoo.com">tracy.hu@yahoo.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hello,<br><br>I&#39;m trying to write a image filter, but I got this error:<br><br>ERROR: In \vwdev\PC\Libraries\vtk44\src\Common\vtkDataSet.cxx, line 376
<br>vtkImageData (02476728): Point array color array with 3 components, only has 0<br>&nbsp;tuples but there are 4 points<br><br>do you have any idea?<br><br>Below are my code:<br><br>//------------main.cpp-------------------<br>
#include &quot;vtkRenderer.h&quot;<br>#include &quot;vtkRenderWindow.h&quot;<br>#include &quot;vtkRenderWindowInteractor.h&quot;<br>#include &quot;vtkInteractorStyleTrackballCamera.h&quot;<br>#include &quot;vtkPoints.h&quot;
<br>#include &quot;vtkDataSetMapper.h&quot;<br>#include &quot;vtkImageData.h&quot;<br>#include &quot;vtkPointData.h&quot;<br>#include &quot;CImageMerger.h&quot;<br><br>int main( int argc, char *argv[] )<br>{<br>&nbsp;&nbsp;&nbsp; CImageMerger *reader = CImageMerger::New();
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; reader-&gt;Update();<br>&nbsp;&nbsp;&nbsp; cout &lt;&lt;&quot;main: # of tuples in color array: &quot; &lt;&lt; reader-&gt;GetOutput()-&gt;GetPointData()-&gt;GetArray(0)-&gt;GetNumberOfTuples() &lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; vtkDataSetMapper *mapper = vtkDataSetMapper::New();
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mapper-&gt;SetInput(reader-&gt;GetOutput());<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; vtkActor *actor = vtkActor::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; actor-&gt;SetMapper(mapper);<br><br>&nbsp;&nbsp;&nbsp; vtkRenderer* ren = vtkRenderer::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ren-&gt;AddActor(actor);
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ren-&gt;SetBackground(1, 1, 1);<br><br>&nbsp;&nbsp;&nbsp; vtkRenderWindow* renWin = vtkRenderWindow::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renWin-&gt;AddRenderer(ren);<br><br>&nbsp;&nbsp;&nbsp; vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; iren-&gt;SetRenderWindow(renWin);<br>&nbsp;&nbsp;&nbsp; vtkInteractorStyleTrackballCamera *style = vtkInteractorStyleTrackballCamera::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; iren-&gt;SetInteractorStyle(style);<br>&nbsp;&nbsp;&nbsp; renWin-&gt;SetSize(600,600);<br>
&nbsp;&nbsp;&nbsp; renWin-&gt;Render();<br>&nbsp;&nbsp;&nbsp; iren-&gt;Start();<br><br>&nbsp;&nbsp;&nbsp; style-&gt;Delete();<br>&nbsp;&nbsp;&nbsp; iren-&gt;Delete();<br>&nbsp;&nbsp;&nbsp; ren-&gt;Delete();<br>&nbsp;&nbsp;&nbsp; renWin-&gt;Delete();<br>&nbsp;&nbsp;&nbsp; actor-&gt;Delete();<br>&nbsp;&nbsp;&nbsp; mapper-&gt;Delete();<br>&nbsp;&nbsp;&nbsp; reader-&gt;Delete();
<br>&nbsp;&nbsp;&nbsp; return 0;<br><br>}<br><br><br>//-------------CImageMerger.cpp--------------<br>#include &quot;vtkFloatArray.h&quot;<br>#include &quot;vtkPointData.h&quot;<br>#include &quot;vtkObjectFactory.h&quot;<br>#include &lt;vector&gt;
<br>#include &quot;vtkUnsignedCharArray.h&quot;<br>#include &quot;vtkImageData.h&quot;<br>#include &quot;CImageMerger.h&quot;<br><br>vtkCxxRevisionMacro(CImageMerger, &quot;$Revision: 1.30 $&quot;);<br>vtkStandardNewMacro(CImageMerger);
<br><br>CImageMerger::CImageMerger():vtkImageSource()<br>{}<br>CImageMerger::~CImageMerger()<br>{}<br><br>void CImageMerger::ExecuteData(vtkDataObject*)<br>{<br>&nbsp;&nbsp;&nbsp; this-&gt;GetOutput()-&gt;SetDimensions(2, 2, 1);<br>&nbsp;&nbsp;&nbsp; this-&gt;GetOutput()-&gt;SetSpacing(
1.0,1.0,1.0);<br>&nbsp;&nbsp;&nbsp; this-&gt;GetOutput()-&gt;SetOrigin(0.0,0.0,0.0);<br>&nbsp;&nbsp;&nbsp; this-&gt;GetOutput()-&gt;SetScalarType(VTK_UNSIGNED_CHAR);<br>&nbsp;&nbsp;&nbsp; vtkUnsignedCharArray *colorArray = vtkUnsignedCharArray::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorArray-&gt;SetNumberOfComponents(3);
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorArray-&gt;SetNumberOfTuples(4);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorArray-&gt;InsertNextTuple3(0,0,0);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorArray-&gt;InsertNextTuple3(0,0,0);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorArray-&gt;InsertNextTuple3(0,0,0);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorArray-&gt;InsertNextTuple3(0,0,0);
<br>&nbsp;&nbsp;&nbsp; colorArray-&gt;SetName(&quot;color array&quot;);<br>&nbsp;&nbsp;&nbsp; this-&gt;GetOutput()-&gt;GetPointData()-&gt;SetScalars(colorArray);<br>}<br><br>void CImageMerger::ExecuteInformation()<br>{<br>}<br><br>void CImageMerger::PrintSelf(ostream&amp; os, vtkIndent indent) 
<br>{<br>}<br><br>//--------CImageMerger.h-------------------<br>#include &quot;vtkImageSource.h&quot;<br><br>class CImageMerger : public vtkImageSource<br>{<br>public:<br>&nbsp;&nbsp;&nbsp; vtkTypeRevisionMacro(CImageMerger, vtkImageSource);
<br>&nbsp;&nbsp;&nbsp; void PrintSelf(ostream&amp; os, vtkIndent indent);<br>&nbsp;&nbsp;&nbsp; static CImageMerger *New();<br><br>&nbsp;&nbsp;&nbsp; CImageMerger();<br>&nbsp;&nbsp;&nbsp; ~CImageMerger();<br>&nbsp;&nbsp;&nbsp; <br>protected:<br>&nbsp;&nbsp;&nbsp; void ExecuteInformation();<br>&nbsp;&nbsp;&nbsp; void ExecuteData(vtkDataObject*);
<br>&nbsp;&nbsp;&nbsp; <br>private:<br>&nbsp;&nbsp;&nbsp; CImageMerger(const CImageMerger&amp;);&nbsp; // Not implemented.<br>&nbsp;&nbsp;&nbsp; void operator=(const CImageMerger&amp;);&nbsp; // Not implemented.<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; <br>};<br><br><br>thanks<br><font color="#888888">
<br>tracy<br></font>
<div class="WgoR0d"><br><br><br>
<p>
<hr size="1">
Never miss a thing. <a href="http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs" target="_blank">Make Yahoo your homepage.</a> 
<p></p></p></div><br>_______________________________________________<br>This is the private VTK discussion list.<br>Please keep messages on-topic. Check the FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">
http://www.vtk.org/Wiki/VTK_FAQ</a><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br><br></blockquote>
</div><br>