<div dir="ltr"><div style="text-align:left">Hi every one</div><div style="text-align:left"><br></div><div style="text-align:left">I am visualizing some surface integral equation solution in VTK using unstructured grid.</div>
<div style="text-align:left">The color/scalars are associated with points but since I do not want</div><div style="text-align:left">to have any averaging between adjacent polygons I assign duplicate points ( and scalars ) </div>
<div style="text-align:left">in my unstructured grid. Despite that, I see clear averaging between the scalars near the</div><div style="text-align:left">common edges. How can I stop that ???</div><div style="text-align:left">
Attached is the simplified code</div><div style="text-align:left"><br></div><div style="text-align:left">Thanks in advance</div><div style="text-align:left"><br></div><div style="text-align:left"><div><br></div><div><br></div>
<div>void arrayIEFFT::arrayIEFFT::visFaces(vtkUnstructuredGrid* faceGrid, vtkPoints* facePoints)</div><div>{</div><div> pointMap myPointMap; </div><div> myPointMap.clear(); </div><div> </div><div> std::vector<myReal> visScalarsTmp;</div>
<div> std::vector<char> visScalarsTmpCounter;</div><div> VTK_CREATE(vtkDoubleArray, visScalars) ;// This shall contain the scalar data</div><div> visScalars->SetName("_visScalars") ;</div><div> visScalars->SetNumberOfComponents(1);</div>
<div><br></div><div><br></div><div> VTK_CREATE(vtkDoubleArray, visVector) ;// This shall contain the vector field plot data</div><div> visVector->SetNumberOfComponents(3) ;</div><div> visVector->SetName("_visVector");</div>
<div> </div><div> </div><div> int faceGridPointCounter = 0;</div><div> VTK_CREATE(vtkIdList, facePointIds);</div><div> facePointIds->Allocate(9);</div><div> facePointIds->SetNumberOfIds(9);</div><div> .</div>
<div> .</div><div> .</div><div> .</div><div> </div><div> faceGrid->SetPoints(facePoints);</div><div> faceGrid->GetPointData()->SetScalars(visScalars);</div><div> faceGrid->GetPointData()->AddArray(visVector) ;</div>
<div> </div><div> std::cout << "\nTotal number of visulization nodess: " << faceGrid->GetNumberOfPoints();</div><div> std::cout << "\nTotal number of visulized cells: " << cellCount;</div>
<div> std::cout.flush(); </div><div>}</div><div><br></div><div>void arrayIEFFT::arrayIEFFT::visualize()</div><div>{</div><div> VTK_CREATE(vtkUnstructuredGrid, faceGrid);</div><div> VTK_CREATE(vtkPoints, facePoints);</div>
<div><br></div><div> visFaces(vtkUnstructuredGrid* faceGrid, vtkPoints* facePoints)</div><div><br></div><div> VTK_CREATE(vtkDataSetMapper,faceMapper);</div><div> faceMapper->SetInput(faceGrid);</div><div> faceMapper->SetScalarVisibility(1);</div>
<div><br></div><div><br></div><div> vtkActor *faceActor = vtkActor::New();</div><div> faceActor->SetMapper( faceMapper );</div><div> faceActor->GetProperty()->SetOpacity(1.);</div><div><br></div><div> vtkRenderer *rederer= vtkRenderer::New();</div>
<div> rederer->AddActor( faceActor );</div><div> </div><div> vtkCamera* cam = rederer->GetActiveCamera();</div><div> cam->SetPosition(myConf.cameraPosition[0], myConf.cameraPosition[1], myConf.cameraPosition[2]);</div>
<div> cam->SetFocalPoint(myConf.camFocalX,myConf.camFocalY,myConf.camFocalZ);</div><div><br></div><div> vtkRenderWindow *renWin = vtkRenderWindow::New();</div><div> renWin->AddRenderer( rederer );</div><div>
renWin->SetSize( myConf.winX, myConf.winY );</div><div> //renWin->SetOffScreenRendering(1.); </div><div> renWin->SetWindowName(strm.c_str());</div><div> vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();</div>
<div> renWin->Start();</div><div> renWin->Render();</div><div>}</div><div><br></div></div><div style="text-align:left"><br></div><div style="text-align:left"><br></div><div style="text-align:left"><br></div>
</div>