[vtkusers] Extract Normals
andon
antoniod987 at gmail.com
Tue Oct 18 10:40:07 EDT 2011
Well, the code is quite standard:
-
-
-
std::string inputFilename = "../data/bunny.ply";
vtkSmartPointer<vtkPLYReader> reader1 =
vtkSmartPointer<vtkPLYReader>::New();
reader1->SetFileName ( inputFilename.c_str() );
// Visualize
vtkSmartPointer<vtkPolyDataMapper> mapper1 =
vtkSmartPointer<vtkPolyDataMapper>::New();
mapper1->SetInputConnection(reader1->GetOutputPort());
vtkSmartPointer<vtkPolyData> polydata =
vtkSmartPointer<vtkPolyData>::New();
polydata->DeepCopy(reader1->GetOutput());
vtkDoubleArray* normalDataDouble =
vtkDoubleArray::SafeDownCast(polydata->GetPointData()->GetArray("Normals"));
vtkSmartPointer<vtkActor> actor1 =
vtkSmartPointer<vtkActor>::New();
actor1->SetMapper(mapper1);
//bunny2
std::string inputFilename2 = "../data/bunny.ply";
vtkSmartPointer<vtkPLYReader> reader2 =
vtkSmartPointer<vtkPLYReader>::New();
reader2->SetFileName ( inputFilename2.c_str() );
// Visualize
vtkSmartPointer<vtkPolyDataMapper> mapper2 =
vtkSmartPointer<vtkPolyDataMapper>::New();
mapper2->SetInputConnection(reader2->GetOutputPort());
vtkSmartPointer<vtkActor> actor2 =
vtkSmartPointer<vtkActor>::New();
actor2->SetMapper(mapper2);
// A renderer and render window
vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);
// An interactor
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(renderWindow);
actor1->SetPosition(1,0,0);
actor2->SetPosition(1.2,0,0);
renderer->AddActor(actor1);
renderer->AddActor(actor2);
renderer->SetBackground(1,1,1);
vtkSmartPointer<vtkInteractorStyleSwitch> style =
vtkSmartPointer<vtkInteractorStyleSwitch>::New();
renderWindowInteractor->SetInteractorStyle(style);
-
-
-
The rest of the code is not necessary....I'm trying than I'm using some ply
files from here: http://graphics.im.ntu.edu.tw/~robin/courses/cg03/model/
and i need to extract normals from the actor that i create from the ply
file, in particular in relation with some cells (that i will pick from
cellpicker) , because i have to make some consideration about cells
orientation.....can you help me??? i try to use "polydata" for extract
normals but the array normalsDataDouble that i obtain is not
initialized...if i try to use this array i throw in an exception....
--
View this message in context: http://vtk.1045678.n5.nabble.com/Extract-Normals-tp4905504p4913930.html
Sent from the VTK - Users mailing list archive at Nabble.com.
More information about the vtkusers
mailing list