[vtkusers] Extract Normals
Bill Lorensen
bill.lorensen at gmail.com
Tue Oct 18 16:11:37 EDT 2011
I just downloaded the bunny dataset. I modified this wiki example:
http://vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PolyDataExtractNormals to use
a vtkPLYReader.
The bunny data has no normals defined.
On Tue, Oct 18, 2011 at 2:36 PM, Bill Lorensen <bill.lorensen at gmail.com>wrote:
> After
>
> reader1->SetFileName ( inputFilename.c_str() );
> try
> reader1->Update();
>
>
> On Tue, Oct 18, 2011 at 10:40 AM, andon <antoniod987 at gmail.com> wrote:
>
>> 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.
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20111018/be0c1f7a/attachment.htm>
More information about the vtkusers
mailing list