<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hello,<br><br>I 'm creating a 3D animation, visualizing a 3D surface per frame (the data get loaded from <br>files) and I 've tried to improve it's speed. I give you my code below. I 've tried to speed up<br>the setting of vertex and cell data by using "SetArray" instead of looping through the <br>whole array. Setting the vertex data works fine, causing no trouble, but when I try to set the <br>cell data I get crashes. The code for setting the vertex and the cell data is quite similar, so<br>I can't understand why the 1st works while the other fails... :(<br>I am a beginner in VTK. Any kind of help would be highly appreciated.<br><br>The "(int*)TPoints" variable is a pointer to integer data that defines triangles like the <br>following:<br>{3,x1,y1,z1,&nbsp;&nbsp;&nbsp; 3,x2,y2,z2,&nbsp;&nbsp; 3,x3,y3,z3,&nbsp;&nbsp;&nbsp; ...............}&nbsp;&nbsp;&nbsp;
 repeated "m_NumOfTriangles" <br>times.<br><br>#define FAST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Enable fast vertex data set.<br>#define FAST_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Enable fast cell data set.<br>.....<br>.....<br><br>&nbsp;&nbsp;&nbsp; if( !LoadTrianglesFromFile(lpStr,false) ) return;<br>&nbsp;&nbsp;&nbsp; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>&nbsp;&nbsp;&nbsp; vtkPoints *points = vtkPoints::New();<br>#ifdef FAST<br>&nbsp;&nbsp;&nbsp;&nbsp; points-&gt;SetDataTypeToFloat(); &nbsp; &nbsp; &nbsp;&nbsp; // I'm not sure if this is needed and what it does.<br>&nbsp;&nbsp;&nbsp; vtkFloatArray* da = vtkFloatArray::New();<br>&nbsp;&nbsp;&nbsp; da-&gt;SetNumberOfComponents(3);<br>&nbsp;&nbsp;&nbsp; da-&gt;SetArray((float*)VerticesP, m_NumOfVertices*3*sizeof(float), 1);<br>&nbsp;&nbsp;&nbsp; points-&gt;SetData(da);<br>&nbsp;&nbsp;&nbsp; da-&gt;Delete();<br>#else<br>&nbsp;&nbsp;&nbsp; for(int k=0;
 k&lt;m_NumOfVertices; k++)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; points-&gt;SetPoint(k, Vertices[k].coords);<br>&nbsp;&nbsp;&nbsp; }<br>#endif<br>&nbsp;&nbsp;&nbsp; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>&nbsp;&nbsp;&nbsp; vtkCellArray *cellArray = vtkCellArray::New();<br>#ifdef FAST_2<br>&nbsp;&nbsp;&nbsp; cellArray-&gt;SetNumberOfCells(m_NumOfTriangles);<br>&nbsp;&nbsp;&nbsp; vtkIdTypeArray *ita = vtkIdTypeArray::New();<br>&nbsp;&nbsp;&nbsp; ita-&gt;SetNumberOfComponents(4);<br>&nbsp;&nbsp;&nbsp; ita-&gt;SetArray((int*)TPoints, m_NumOfTriangles*4*sizeof(int), 1);<br>&nbsp;&nbsp;&nbsp;&nbsp; cellArray-&gt;SetCells(m_NumOfTriangles, ita);<br>&nbsp;&nbsp;&nbsp; ita-&gt;Delete();<br>#else<br>&nbsp;&nbsp;&nbsp; for(int k=0; k&lt;m_NumOfTriangles; k++)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cellArray-&gt;InsertNextCell(3, TPoints[k].corners);<br>&nbsp;&nbsp;&nbsp;
 }<br>#endif<br><br><br><br><br><br><br>Thanks.<br><br></td></tr></table><br>



      <hr size=1><font size=-1 face=Arial> 
Χρησιμοποιείτε Yahoo!<br> 
Βαρεθήκατε Ï„α ÎµÎ½Î¿Ï‡Î»Î·Ï„ικά Î¼Î·Î½Ï Î¼Î±Ï„α (spam); Î¤Î¿ Yahoo! Mail Î´Î¹Î±Î¸Î­Ï„ει Ï„ην ÎºÎ±Î»ÏÏ„ερη Î´Ï…νατή Ï€ÏÎ¿ÏƒÏ„ασία ÎºÎ±Ï„ά Ï„ων ÎµÎ½Î¿Ï‡Î»Î·Ï„ικών Î¼Î·Î½Ï…μάτων <br> 
<a href="http://login.yahoo.com/config/mail?.intl=gr">http://login.yahoo.com/config/mail?.intl=gr</a> </font>