<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hello,<br><br>(I have corrected some things in my previous mail)<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,a1,b1,c1,&nbsp;&nbsp;&nbsp; 3,a2,b2,c2,&nbsp;&nbsp;
 3,a3,b3,c3,&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();<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, VerticesP[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>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>