<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Hi,</span><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Using the C++ VTK library for writing an .vtr file, I&#39;m able to create the mesh, but not assign any skalars/vectors to the grid points. This is more or less given in the example file RGrid.cxx.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">But how do I assign values at the mesh-points?</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">Write the mesh:</div><div style="font-family:arial,sans-serif;font-size:13px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>#include &lt;stdio.h&gt;</div>
<div>#include &lt;vtkRectilinearGrid.h&gt;</div><div>#include &lt;vtkXMLRectilinearGridWriter.h&gt;</div><div>#include &lt;vtkDoubleArray.h&gt;</div><div>#include &lt;vtkIntArray.h&gt;</div><div>#include &lt;vtkSmartPointer.h&gt;</div>
<div><br></div><div>int main(){</div><div>  int nx = 3, ny = 3, nz = 3;</div><div><br></div><div>  // coordinates</div><div>  vtkDoubleArray *xCoords = vtkDoubleArray::New();</div><div>  for (int i=0; i&lt;nx; i++) xCoords-&gt;InsertNextValue(i);</div>
<div>  vtkDoubleArray *yCoords = vtkDoubleArray::New();</div><div>  for (int i=0; i&lt;ny; i++) yCoords-&gt;InsertNextValue(i);</div><div>  vtkDoubleArray *zCoords = vtkDoubleArray::New();</div><div>  for (int i=0; i&lt;nz; i++) zCoords-&gt;InsertNextValue(i);</div>
<div><br></div><div>  // The coordinates are assigned to the rectilinear grid.</div><div>  vtkRectilinearGrid *rgrid = vtkRectilinearGrid::New();</div><div>  rgrid-&gt;SetDimensions(nx,ny,nz);</div><div>  rgrid-&gt;SetXCoordinates(xCoords);</div>
<div>  rgrid-&gt;SetYCoordinates(yCoords);</div><div>  rgrid-&gt;SetZCoordinates(zCoords);</div><div><br></div><div>  /* Write to file */</div><div>  vtkSmartPointer&lt;vtkXMLRectilinearGridWriter&gt;</div><div>  Â  writer = vtkSmartPointer&lt;vtkXMLRectilinearGridWriter&gt;::New();</div>
<div>  writer-&gt;SetFileName(&quot;test.vtr&quot;);</div><div><br></div><div>#if VTK_MAJOR_VERSION &lt;= 5</div><div>  writer-&gt;SetInput(rgrid);</div><div>#else</div><div>  writer-&gt;SetInputData(rgrid);</div><div>#endif</div>
<div>  writer-&gt;Write();</div><div><br></div><div>  /* clean up */</div><div>  xCoords-&gt;Delete();</div><div>  yCoords-&gt;Delete();</div><div>  zCoords-&gt;Delete();</div><div>  rgrid-&gt;Delete();</div><div><br></div>
<div>  printf(&quot;DONE printing\n&quot;);</div><div>}</div><div><br></div></blockquote>For setting values at the mesh-points, I assumed something like:</div><div style="font-family:arial,sans-serif;font-size:13px"><div>
  Â  vtkIntArray* temperature = vtkIntArray::New();</div><div>  Â  temperature-&gt;SetName(&quot;Temperature&quot;);</div><div>  Â  temperature-&gt;SetNumberOfComponents(1);</div><div>  Â  temperature-&gt;SetNumberOfTuples(nx*ny*nz);</div>
<div>  Â  for(int i=0;i&lt;mesh.nn;i++){</div><div>  Â  Â  Â temperature-&gt;SetValue(i,10); // set everything to 10</div><div>  Â  }</div></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
  Â rgrid-&gt;GetPointData()-&gt;SetScalars(temperature);</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">But that doesn&#39;t work. As expected, when looking at <a href="http://www.vtk.org/doc/nightly/html/classvtkRectilinearGrid.html" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkRectilinearGrid.html</a></div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">So how do I set values/vectors for all the points in the mesh.</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">Regards,</div><div style="font-family:arial,sans-serif;font-size:13px">Paw</div></div>