<div>Hi, I'm new on this website, and I also have a little problem.</div>
<div>I try to take data from 3 structuredPoints and put it into 3 vtkDoubleArray and put those into another vtkDoubleArray which contains data from the 3 StructuredPoints. All this to create a visualisation of the data of the structuredPoints.</div>
<div>This is my code to that.</div>
<div>Thanks for every help ;)</div>
<div><font color="#0000ff"><font color="#0000ff">
<p>void</p></font></font><font> ReaderVolume(vector < </font><font color="#0000ff"><font color="#0000ff">const</font></font><font> </font><font color="#0000ff"><font color="#0000ff">char</font></font><font> *> TabVolumeFlux) </font>
<p><font>{</font></p><font color="#008000"><font color="#008000">
<p></p></font></font><font>
<p></p></font>
<p><font>reader01->SetFileName(TabVolumeFlux[0]);</font></p>
<p>reader01->Update();</p>
<p>reader01->GetOutput()->ReleaseDataFlagOn();</p><font>
<p>reader02->SetFileName(TabVolumeFlux[1]);</p>
<p>reader02->Update();</p>
<p>reader02->GetOutput()->ReleaseDataFlagOn();</p>
<p></p></font><font>
<p>reader03->SetFileName(TabVolumeFlux[2]);</p>
<p>reader03->Update();</p>
<p>reader03->GetOutput()->ReleaseDataFlagOn();</p>
<p></p></font><font>
<p>sp1 = reader01->GetOutput();</p>
<p>sp2 = reader02->GetOutput();</p>
<p>sp3 = reader03->GetOutput();</p>
<p>sp1->Update();</p>
<p>sp2->Update();</p>
<p>sp3->Update();</p>
<p>string vol1, vol2, vol3;</p>
<p>vol1 = </p></font><font color="#0000ff"><font color="#0000ff">this</font></font><font>->getStringTag((numflux-1), 1, 0x0018, 0x1030 );
<p>vol2 = </p></font><font color="#0000ff"><font color="#0000ff">this</font></font><font>->getStringTag((numflux-1)+getFluxNumber(), 1, 0x0018, 0x1030 );
<p>vol3 = </p></font><font color="#0000ff"><font color="#0000ff">this</font></font><font>->getStringTag((numflux-1)+getFluxNumber()*2, 1, 0x0018, 0x1030 );</font><font>
<p></p></font><font color="#0000ff"><font color="#0000ff">if</font></font><font> ( vol1.find(</font><font color="#a31515"><font color="#a31515">"AP"</font></font><font>) != string::npos )
<p>sp1->GetPointData()->GetScalars()->SetName(</p></font><font color="#a31515"><font color="#a31515">"Y"</font></font><font>);
<p></p></font><font color="#0000ff"><font color="#0000ff">else</font></font><font> </font><font color="#0000ff"><font color="#0000ff">if</font></font><font> ( vol1.find(</font><font color="#a31515"><font color="#a31515">"RL"</font></font><font>) != string::npos )
<p>sp1->GetPointData()->GetScalars()->SetName(</p></font><font color="#a31515"><font color="#a31515">"X"</font></font><font>);
<p></p></font><font color="#0000ff"><font color="#0000ff">else</font></font><font> </font><font color="#0000ff"><font color="#0000ff">if</font></font><font> ( vol1.find(</font><font color="#a31515"><font color="#a31515">"FH"</font></font><font>) != string::npos )
<p>sp1->GetPointData()->GetScalars()->SetName(</p></font><font color="#a31515"><font color="#a31515">"Z"</font></font><font>);</font><font>
<p></p></font><font color="#0000ff"><font color="#0000ff">if</font></font><font> ( vol2.find(</font><font color="#a31515"><font color="#a31515">"AP"</font></font><font>) != string::npos )
<p>sp2->GetPointData()->GetScalars()->SetName(</p></font><font color="#a31515"><font color="#a31515">"Y"</font></font><font>);
<p></p></font><font color="#0000ff"><font color="#0000ff">else</font></font><font> </font><font color="#0000ff"><font color="#0000ff">if</font></font><font> ( vol2.find(</font><font color="#a31515"><font color="#a31515">"RL"</font></font><font>) != string::npos )
<p>sp2->GetPointData()->GetScalars()->SetName(</p></font><font color="#a31515"><font color="#a31515">"X"</font></font><font>);
<p></p></font><font color="#0000ff"><font color="#0000ff">else</font></font><font> </font><font color="#0000ff"><font color="#0000ff">if</font></font><font> ( vol2.find(</font><font color="#a31515"><font color="#a31515">"FH"</font></font><font>) != string::npos )
<p>sp2->GetPointData()->GetScalars()->SetName(</p></font><font color="#a31515"><font color="#a31515">"Z"</font></font><font>);</font><font>
<p></p></font><font color="#0000ff"><font color="#0000ff">if</font></font><font> ( vol3.find(</font><font color="#a31515"><font color="#a31515">"AP"</font></font><font>) != string::npos )
<p>sp3->GetPointData()->GetScalars()->SetName(</p></font><font color="#a31515"><font color="#a31515">"Y"</font></font><font>);
<p></p></font><font color="#0000ff"><font color="#0000ff">else</font></font><font> </font><font color="#0000ff"><font color="#0000ff">if</font></font><font> ( vol3.find(</font><font color="#a31515"><font color="#a31515">"RL"</font></font><font>) != string::npos )
<p>sp3->GetPointData()->GetScalars()->SetName(</p></font><font color="#a31515"><font color="#a31515">"X"</font></font><font>);
<p></p></font><font color="#0000ff"><font color="#0000ff">else</font></font><font> </font><font color="#0000ff"><font color="#0000ff">if</font></font><font> ( vol3.find(</font><font color="#a31515"><font color="#a31515">"FH"</font></font><font>) != string::npos )
<p>sp3->GetPointData()->GetScalars()->SetName(</p></font><font color="#a31515"><font color="#a31515">"Z"</font></font><font>);
<p></p>
<p></p>
<p></p></font><font color="#008000"><font color="#008000">//Insert the 3StructuredPoints into one which name is sp1</font></font>
<p><font>sp1->GetPointData()->AddArray(sp2->GetPointData()->GetScalars());</font></p>
<p>sp1->GetPointData()->AddArray(sp3->GetPointData()->GetScalars());</p>
<p>sp1->Update();</p><font>
<p></p></font><font color="#008000"><font color="#008000">
<p>polyVectors0=vtkDoubleArray::New();</p>
<p>polyVectors1=vtkDoubleArray::New();</p>
<p>polyVectors2=vtkDoubleArray::New();</p>
<p>polyVectors3=vtkDoubleArray::New();</p>
<p>polyScalars=vtkDoubleArray::New();</p></font></font><font>
<p></p>
<p></p></font><font color="#0000ff"><font color="#0000ff">int</font></font><font> tailleTotale=sp1->GetNumberOfPoints()*3;
<p></p></font><font>
<p>polyVectors0->SetNumberOfComponents(3);</p>
<p>polyVectors1->SetNumberOfComponents(3); </p>
<p>polyVectors2->SetNumberOfComponents(3); </p>
<p>polyVectors3->SetNumberOfComponents(3); </p>
<p>polyScalars->SetNumberOfComponents(1);</p></font><font>
<p></p></font><font>
<p>polyVectors0->SetNumberOfTuples(tailleTotale); </p>
<p>polyVectors1->SetNumberOfTuples(tailleTotale); </p>
<p>polyVectors2->SetNumberOfTuples(tailleTotale); </p>
<p>polyVectors3->SetNumberOfTuples(tailleTotale);</p>
<p>polyScalars->SetNumberOfTuples(tailleTotale/3);</p></font><font>
<p>polyVectors0->Allocate(1); </p>
<p>polyVectors1->Allocate(1);</p>
<p>polyVectors2->Allocate(1);</p>
<p>polyVectors3->Allocate(1);</p>
<p>polyScalars->Allocate(1);</p></font><font color="#008000"><font color="#008000"></font></font><font>
<p>polyVectors1->DeepCopy(sp1->GetPointData()->GetArray(</p></font><font color="#a31515"><font color="#a31515">"X"</font></font><font>));
<p>polyVectors2->DeepCopy(sp1->GetPointData()->GetArray(</p></font><font color="#a31515"><font color="#a31515">"Y"</font></font><font>));
<p>polyVectors3->DeepCopy(sp1->GetPointData()->GetArray(</p></font><font color="#a31515"><font color="#a31515">"Z"</font></font><font>));
<p></p></font><font>
<p></p></font><font color="#0000ff"><font color="#0000ff">double</font></font><font> racine;
<p></p></font><font color="#0000ff"><font color="#0000ff">for</font></font><font>(</font><font color="#0000ff"><font color="#0000ff">int</font></font><font> i=0;i<tailleTotale/3;i++)
<p>{</p>
<p>polyVectors0->InsertNextTuple3(polyVectors1->GetTuple1(i),polyVectors2->GetTuple1(i),polyVectors3->GetTuple1(i));</p>
<p>racine=(polyVectors1->GetTuple1(i)*polyVectors1->GetTuple1(i))+(polyVectors2->GetTuple1(i)*polyVectors2->GetTuple1(i))+(polyVectors3->GetTuple1(i)*polyVectors3->GetTuple1(i));</p>
<p>racine=sqrt(racine);</p>
<p>polyScalars->InsertNextTuple1(racine);</p>
<p></p>
<p>}</p></font><font>
<p></p></font><font color="#0000ff"><font color="#0000ff">int</font></font><font> dimensions_v[3];
<p>sp1->GetDimensions(dimensions_v);</p></font><font>
<p></p></font><font color="#0000ff"><font color="#0000ff">double</font></font><font> origines_v[3];
<p>sp1->GetOrigin(origines_v);</p></font><font>
<p></p></font><font color="#0000ff"><font color="#0000ff">double</font></font><font> spacing_v[3];
<p>sp1->GetSpacing(spacing_v);</p>
<p></p>
<p></p></font><font>
<p>vtkStructuredPoints *v=vtkStructuredPoints::New();</p>
<p>v->SetNumberOfScalarComponents(1);</p></font><font>
<p>v->SetDimensions(dimensions_v[0],dimensions_v[1],dimensions_v[2]);</p>
<p>v->SetOrigin(origines_v[0],origines_v[1],origines_v[2]);</p>
<p>v->SetScalarTypeToFloat();</p>
<p>v->SetSpacing(spacing_v[0],spacing_v[1],spacing_v[2]);</p>
<p>v->GetPointData()->SetVectors(polyVectors01);</p>
<p>v->GetPointData()->SetVectors(polyVectors0);</p>
<p>v->GetPointData()->SetScalars(polyScalars); </p>
<p></p>
<p>v->Update();</p>
<p>vtkStructuredPointsWriter *writer= vtkStructuredPointsWriter::New();</p>
<p></p></font><font>
<p>writer->SetInput(v);</p></font><font>
<p></p></font><font color="#0000ff"><font color="#0000ff">this</font></font><font>->readerMerge->SetFileName(</font><font color="#a31515"><font color="#a31515">"merge.vtk"</font></font><font>);
<p>readerMerge->Update();</p>
<p>writer->SetFileName(</p></font><font color="#0000ff"><font color="#0000ff">this</font></font><font>->readerMerge->GetFileName());
<p>writer->Update();</p>
<p>writer->SetScalarsName(</p></font><font color="#a31515"><font color="#a31515">"scalars"</font></font><font>);
<p>writer->SetFileTypeToASCII();</p>
<p>writer->SetVectorsName(</p></font><font color="#a31515"><font color="#a31515">"vectors"</font></font><font>);</font><font>
<p>writer->Write();</p>
<p>writer->Update();</p>
<p>v->Delete();</p>
<p></p></font><font color="#008000"><font color="#008000">polyVectors1->Delete();
<p>polyVectors2->Delete();</p>
<p>polyVectors3->Delete();</p>
<p>polyVectors0->Delete();</p>
<p>polyScalars->Delete();</p></font></font><font>
<p>writer->Delete();</p>
<p>}</p></font></div>