please include the mailing list in your reply.<br><br><div class="gmail_quote">On Tue, Aug 14, 2012 at 11:26 AM, Agata Krasoń <span dir="ltr"><<a href="mailto:agatakrason@gmail.com" target="_blank">agatakrason@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Dear Bill,</div><div><br></div><div>Thank You for reply.</div>I have already resolve this problem. <div><br></div>
<div>It was here :</div><div><br></div><div><div class="im"> for (vtkIdType i = 0; i < number_of_triangles; i++)<br>
{<br> vtkIdType a, b, c;<br> infile >> a >> b >> c;<br> polys->InsertNextCell(3);<br></div> <font color="#ff0000"> polys->InsertCellPoint(a -1);<br> polys->InsertCellPoint(b - 1);<br>
polys->InsertCellPoint(c - 1);</font><br><br> } </div><div><br></div><div><br></div><div>But I have another problem with meshes. Sorry for very basic questions. I am beginig my adventure working </div><div>with meshes.</div>
<div>I don't have lots of knowledge in this area.</div><div>Now I need to display a mesh with attributes in VTK.</div><div>I have already display mesh in vtk, not with attributes.</div><div>Could You help me please ?</div>
<div><br></div><div>My code :</div><div><div>#include <vtkTable.h></div><div>#include "vtkPolyData.h"</div><div>#include <vtkPointData.h></div><div>#include "vtkPoints.h"</div><div>#include "vtkCellArray.h"</div>
<div>#include <vtkLine.h></div><div>#include <vtkFloatArray.h></div><div>#include <vtkLookupTable.h></div><div>#include <vtkUnstructuredGrid.h></div><div><br></div><div>#include <vtkGeometryFilter.h></div>
<div><br></div><div><br></div><div><br></div><div>#include <vtkParticleReader.h></div><div>#include <vtkPolyDataReader.h></div><div>#include <vtkPolyDataWriter.h></div><div>#include <vtkDelimitedTextReader.h></div>
<div>#include <vtkUnstructuredGridWriter.h></div><div>#include <vtkPolyDataWriter.h></div><div>#include <vtkProperty.h></div><div><br></div><div>#include <vtkPolyDataMapper.h></div><div>#include <vtkActor.h></div>
<div>#include <vtkRenderer.h></div><div>#include <vtkRenderWindow.h></div><div>#include <vtkRenderWindowInteractor.h></div><div class="im"><div><br></div><div>using namespace std;</div><div><br></div><div>
<br></div><div>
int main(int argc, char* argv[])</div><div>{</div><div><br></div></div><div><span style="white-space:pre-wrap">        </span>// file with mesh</div><div class="im"><div> const char* filename = "heartmesh.txt";</div>
<div>
<span style="white-space:pre-wrap">        </span>std::ifstream infile(filename);</div><div> vtkIdType number_of_points, number_of_triangles;</div><div> infile >> number_of_points >> number_of_triangles;</div>
<div> vtkPoints* points = vtkPoints::New();</div><div> points->SetNumberOfPoints(number_of_points);</div><div><br></div></div><div><span style="white-space:pre-wrap">        </span>//std::cout<<"number_of_points: "<<number_of_points<<std::endl;</div>
<div><span style="white-space:pre-wrap">        </span>//std::cout<<"number_of_triangles: " <<number_of_triangles<<std::endl;</div><div><br></div><div> for (vtkIdType i = 0; i < number_of_points; i++)</div>
<div class="im">
<div> {</div><div> double x, y, z;</div><div> infile >> x >> y >> z;</div></div><div> points->SetPoint(i,x, y, z);</div><div class="im"><div><span style="white-space:pre-wrap">        </span> </div>
<div> }</div><div> </div><div> vtkCellArray* polys = vtkCellArray::New();</div><div><br></div><div> for (vtkIdType i = 0; i < number_of_triangles; i++)</div><div> {</div><div> vtkIdType a, b, c;</div>
<div>
infile >> a >> b >> c;</div><div> polys->InsertNextCell(3);</div></div><div> polys->InsertCellPoint(a-1);</div><div> polys->InsertCellPoint(b-1);</div><div> polys->InsertCellPoint(c-1);</div>
<div><span style="white-space:pre-wrap">        </span> </div><div> }</div><div><br></div><div><br></div><div> vtkUnstructuredGrid* grid = vtkUnstructuredGrid::New();</div><div> grid->SetPoints(points);</div>
<div> grid->SetCells(5, polys);</div><div> grid->Update();</div><div> </div><div> // Here I read a file with attributes scalars</div><div> vtkDelimitedTextReader *dread = vtkDelimitedTextReader::New();</div>
<div> dread->SetFileName("CSVFile.csv");</div><div> dread->Update();</div><div> </div><div> vtkTable *tdata = dread->GetOutput();</div><div><br></div><div> vtkFloatArray *fd = vtkFloatArray::New();</div>
<div><br></div><div> vtkIdType nr = tdata->GetNumberOfRows();</div><div><br></div><div> fd->SetNumberOfTuples(nr);</div><div><br></div><div> for (vtkIdType i=0; i<nr; i++) {</div><div> std::cout << tdata->GetValue(i, 0).ToFloat() << "\n"; </div>
<div> fd->SetTuple1(i, tdata->GetValue(i, 0).ToFloat());</div><div> }</div><div><br></div><div> vtkPointData *pd = grid->GetPointData();</div><div> pd->SetScalars(fd);</div><div> pd->Update();</div>
<div><br></div><div> // Save in file mesh& attributes</div><div> vtkUnstructuredGridWriter *writer = vtkUnstructuredGridWriter::New();</div><div> writer->SetInput(grid);</div><div> writer->SetFileName("outputMeshWithAttributes.vtk");</div>
<div> writer->Write();</div><div><br></div><div> vtkGeometryFilter* geometryFilter = vtkGeometryFilter::New();</div><div> geometryFilter->SetInput(grid);</div><div> geometryFilter->Update();</div><div><br></div>
<div> vtkPolyData* polydata = geometryFilter->GetOutput();</div><div><br></div><div> // Here I need to display mesh with attributes !</div><div> // Visualization & Display </div><div class="im"><div> vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();</div>
</div><div> mapper->SetInput(polydata);</div><div><br></div><div> //mapper->SetLookupTable(lut);</div><div> mapper->SetColorModeToMapScalars();</div><div class="im"><div> vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();</div>
<div> actor->SetMapper(mapper);</div><div> </div><div><br></div><div> //Create a renderer, render window, and interactor</div><div> vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();</div>
<div> vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New();</div><div> renderWindow->AddRenderer(renderer);</div><div> vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();</div>
<div> renderWindowInteractor->SetRenderWindow(renderWindow);</div><div><br></div><div> renderer->AddActor(actor);</div><div> renderer->SetBackground(0, 0, 0); </div><div> renderWindow->Render();</div><div>
renderWindowInteractor->Start();</div><div><br></div><div><br></div></div><div> /*polydata->Delete();</div><div> geometryFilter->Delete();</div><div> writer->Delete();</div><div> pd->Delete();</div><div>
tdata->Delete();</div>
<div> fd->Delete();</div><div> dread->Delete();</div><div> polys->Delete();</div><div> points->Delete();*/</div><div> </div><div> </div><div> </div><div> return EXIT_SUCCESS;</div><div>}</div><div><br></div>
<div><br></div></div><div><br></div><div>I received display mesh&attributes only in paraview. I attach a screen.</div><div><br></div><div>agattte</div><div class="HOEnZb"><div class="h5"><div><br></div><div><br><br><div class="gmail_quote">
2012/8/14 Bill Lorensen <span dir="ltr"><<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Sorry, I cannot read the links to your files.<br><br><div class="gmail_quote">On Tue, Aug 14, 2012 at 8:08 AM, agatte <span dir="ltr"><<a href="mailto:agatakrason@gmail.com" target="_blank">agatakrason@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi ;)<br>
I have a question about a mesh.<br>
I read mesh data from txt file ( I attach this file.)<br>
But I can't receive good structure of mesh (polydata).<br>
I receive something like this : (I attach a photo screen )<br>
When I use vtkVertexGlyphFilter. I receive a point cloud with good shape of<br>
heart.<br>
But I need display mesh with triangles/triangleStrips.<br>
Could You look at this code and this file ?<br>
I would appreciate for any help please.<br>
I don't see an error. What is wrong with this code ?<br>
<br>
My code is here :<br>
#include <vtkVersion.h><br>
#include <vtkSmartPointer.h><br>
#include <vtkPolyDataMapper.h><br>
#include <vtkActor.h><br>
#include <vtkParticleReader.h><br>
#include <vtkRenderWindow.h><br>
#include <vtkRenderWindowInteractor.h><br>
#include <vtkRenderer.h><br>
#include <vtkVertexGlyphFilter.h><br>
#include <sstream><br>
#include "vtkPolyData.h"<br>
#include "vtkPoints.h"<br>
#include "vtkCellArray.h"<br>
#include <iostream><br>
#include <fstream><br>
#include <vtkTriangle.h><br>
#include <vtkTriangleFilter.h><br>
#include <vtkContourFilter.h><br>
#include <vtkDelaunay3D.h><br>
#include <vtkXMLPolyDataWriter.h><br>
#include <vtkXMLUnstructuredGridWriter.h><br>
#include <vtkXMLPolyDataWriter.h><br>
#include <vtkDataSetSurfaceFilter.h><br>
#include <vtkPolyDataWriter.h><br>
#include <vtkExtractEdges.h><br>
#include <vtkTriangleStrip.h><br>
#include <vtkLine.h><br>
#include <vtkXMLPolyDataReader.h><br>
#include <vtkGeometryFilter.h><br>
#include <vtkSurfaceReconstructionFilter.h><br>
#include <vtkDelaunay2D.h><br>
#include <vtkExtractEdges.h><br>
#include <vtkFloatArray.h><br>
#include <vtkLookupTable.h><br>
#include <vtkStripper.h><br>
#include <iostream><br>
#include <vector><br>
#include <string><br>
#include <fstream><br>
#include "vtkProperty.h"<br>
<br>
using namespace std;<br>
<br>
<br>
int main(int argc, char* argv[])<br>
{<br>
<br>
const char* filename = "heartmesh.txt";<br>
std::ifstream infile(filename);<br>
vtkIdType number_of_points, number_of_triangles;<br>
infile >> number_of_points >> number_of_triangles;<br>
vtkPoints* points = vtkPoints::New();<br>
points->SetNumberOfPoints(number_of_points);<br>
<br>
std::cout<<"number_of_points: "<<number_of_points&lt;&lt;std::endl;<br>
std::cout&lt;&lt;&quot;number_of_triangles: &quot;<br>
&lt;&lt;number_of_triangles&lt;&lt;std::endl;<br>
<br>
for (vtkIdType i = 0; i &lt; number_of_points; i++)<br>
{<br>
double x, y, z;<br>
infile >> x >> y >> z;<br>
points->SetPoint(i, x, y, z);<br>
<br>
}<br>
<br>
vtkCellArray* polys = vtkCellArray::New();<br>
<br>
for (vtkIdType i = 0; i < number_of_triangles; i++)<br>
{<br>
vtkIdType a, b, c;<br>
infile >> a >> b >> c;<br>
polys->InsertNextCell(3);<br>
polys->InsertCellPoint(a);<br>
polys->InsertCellPoint(b);<br>
polys->InsertCellPoint(c);<br>
<br>
}<br>
<br>
vtkPolyData* polydata = vtkPolyData::New();<br>
polydata->SetPoints(points);<br>
polydata->SetPolys(polys);<br>
polydata->Update();<br>
<br>
vtkVertexGlyphFilter* glyphFilter = vtkVertexGlyphFilter::New();<br>
glyphFilter->SetInputConnection(polydata->GetProducerPort());<br>
glyphFilter->Update();<br>
<br>
vtkDelaunay2D* delaunay = vtkDelaunay2D::New();<br>
delaunay->SetInputConnection(glyphFilter->GetOutputPort());<br>
delaunay->Update();<br>
<br>
vtkDataSetSurfaceFilter* surfaceFilter = vtkDataSetSurfaceFilter::New();<br>
surfaceFilter->SetInputConnection(delaunay->GetOutputPort());<br>
surfaceFilter->Update();<br>
<br>
vtkTriangleFilter* triangleFilter = vtkTriangleFilter::New();<br>
triangleFilter->SetInputConnection(surfaceFilter->GetOutputPort());<br>
triangleFilter->Update();<br>
<br>
// Visualization<br>
vtkSmartPointer<vtkPolyDataMapper> mapper =<br>
vtkSmartPointer<vtkPolyDataMapper>::New();<br>
// mapper->SetInput(polydata);<br>
mapper->SetInputConnection(triangleFilter->GetOutputPort());<br>
vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();<br>
actor->SetMapper(mapper);<br>
<br>
<br>
<br>
//Create a renderer, render window, and interactor<br>
vtkSmartPointer<vtkRenderer> renderer =<br>
vtkSmartPointer<vtkRenderer>::New();<br>
vtkSmartPointer<vtkRenderWindow> renderWindow =<br>
vtkSmartPointer<vtkRenderWindow>::New();<br>
renderWindow->AddRenderer(renderer);<br>
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =<br>
vtkSmartPointer<vtkRenderWindowInteractor>::New();<br>
renderWindowInteractor->SetRenderWindow(renderWindow);<br>
<br>
renderer->AddActor(actor);<br>
renderer->SetBackground(0, 0, 0);<br>
renderWindow->Render();<br>
renderWindowInteractor->Start();<br>
<br>
polydata->Delete();<br>
polys->Delete();<br>
points->Delete();<br>
glyphFilter->Delete();<br>
delaunay->Delete();<br>
triangleFilter->Delete();<br>
surfaceFilter->Delete();<br>
<br>
<br>
<br>
<br>
return EXIT_SUCCESS;<br>
}<br>
<br>
<br>
<br>
agatte<br>
<br>
<a href="http://vtk.1045678.n5.nabble.com/file/n5715236/heartmesh.txt" target="_blank">http://vtk.1045678.n5.nabble.com/file/n5715236/heartmesh.txt</a> heartmesh.txt<br>
<br>
<br>
<br>
<a href="http://vtk.1045678.n5.nabble.com/file/n5715236/Heart_as_Polydata.png" target="_blank">http://vtk.1045678.n5.nabble.com/file/n5715236/Heart_as_Polydata.png</a><br>
<a href="http://vtk.1045678.n5.nabble.com/file/n5715236/Heart_as_PointCloud.png" target="_blank">http://vtk.1045678.n5.nabble.com/file/n5715236/Heart_as_PointCloud.png</a><br>
<br>
<br>
<br><span><font color="#888888">
<br>
--<br>
View this message in context: <a href="http://vtk.1045678.n5.nabble.com/question-about-mesh-tp5715236.html" target="_blank">http://vtk.1045678.n5.nabble.com/question-about-mesh-tp5715236.html</a><br>
Sent from the VTK - Users mailing list archive at Nabble.com.<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
</font></span></blockquote></div><span><font color="#888888"><br><br clear="all"><br>-- <br>Unpaid intern in BillsBasement at noware dot com<br><br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Unpaid intern in BillsBasement at noware dot com<br><br>