Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1141
ReadPLY.cxx
Public
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
•
kilgus
Jun 17 2015, 4:13 PM
2015-06-17 16:13:31 (UTC+2)
Size
2 KB
Referenced Files
None
Subscribers
None
ReadPLY.cxx
View Options
#include <vtkPolyData.h>
#include <vtkPLYReader.h>
#include <vtkSmartPointer.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkTexture.h>
#include <vtkJPEGReader.h>
#include <vtkOBJReader.h>
#include <vtkProperty.h>
#include <vtkSTLReader.h>
#include <vtkPointData.h>
int
main
(
int
argc
,
char
*
argv
[]
)
{
std
::
string
inputFilename
=
"/media/tommy/hdd/thomasHdd/Pictures/ItSeezMeshes/Pitt/model_mesh.obj"
;
// std::string inputFilename = "/media/tommy/hdd/thomasHdd/Pictures/ItSeezMeshes/Pitt/model_mesh.ply";
// vtkSmartPointer<vtkPLYReader> reader =
// vtkSmartPointer<vtkPLYReader>::New();
// reader->SetFileName ( inputFilename.c_str() );
// vtkSmartPointer<vtkSTLReader> reader =
// vtkSmartPointer<vtkSTLReader>::New();
// reader->SetFileName ( inputFilename.c_str() );
vtkSmartPointer
<
vtkOBJReader
>
reader
=
vtkSmartPointer
<
vtkOBJReader
>::
New
();
reader
->
SetFileName
(
inputFilename
.
c_str
()
);
reader
->
Update
();
std
::
cout
<<
"#Points:"
<<
reader
->
GetOutput
()
->
GetNumberOfPoints
()
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
reader
->
GetOutput
()
->
GetNumberOfPoints
();
++
i
)
std
::
cout
<<
setprecision
(
12
)
<<
reader
->
GetOutput
()
->
GetPointData
()
->
GetTCoords
()
->
GetTuple2
(
i
)[
0
]
<<
" "
<<
reader
->
GetOutput
()
->
GetPointData
()
->
GetTCoords
()
->
GetTuple2
(
i
)[
1
]
<<
std
::
endl
;
vtkSmartPointer
<
vtkJPEGReader
>
jPEGReader
=
vtkSmartPointer
<
vtkJPEGReader
>::
New
();
jPEGReader
->
SetFileName
(
"/media/tommy/hdd/thomasHdd/Pictures/ItSeezMeshes/Pitt/model_texture.jpg"
);
jPEGReader
->
Update
();
vtkSmartPointer
<
vtkTexture
>
texture
=
vtkSmartPointer
<
vtkTexture
>::
New
();
texture
->
SetInputConnection
(
jPEGReader
->
GetOutputPort
());
// Visualize
vtkSmartPointer
<
vtkPolyDataMapper
>
mapper
=
vtkSmartPointer
<
vtkPolyDataMapper
>::
New
();
mapper
->
SetInputConnection
(
reader
->
GetOutputPort
());
vtkSmartPointer
<
vtkActor
>
actor
=
vtkSmartPointer
<
vtkActor
>::
New
();
actor
->
SetMapper
(
mapper
);
actor
->
SetTexture
(
texture
);
// actor->GetProperty()->SetRepresentationToWireframe();
vtkSmartPointer
<
vtkRenderer
>
renderer
=
vtkSmartPointer
<
vtkRenderer
>::
New
();
vtkSmartPointer
<
vtkRenderWindow
>
renderWindow
=
vtkSmartPointer
<
vtkRenderWindow
>::
New
();
renderWindow
->
AddRenderer
(
renderer
);
// renderWindow->SetLineSmoothing(1);
// renderWindow->SetPolygonSmoothing(1);
// renderWindow->SetMultiSamples(8);
vtkSmartPointer
<
vtkRenderWindowInteractor
>
renderWindowInteractor
=
vtkSmartPointer
<
vtkRenderWindowInteractor
>::
New
();
renderWindowInteractor
->
SetRenderWindow
(
renderWindow
);
renderer
->
AddActor
(
actor
);
// renderer->SetBackground(0.1804,0.5451,0.3412); // Sea green
renderWindow
->
Render
();
renderWindowInteractor
->
Start
();
return
EXIT_SUCCESS
;
}
File Metadata
Details
Attached
Mime Type
text/x-c++src
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1104
Default Alt Text
ReadPLY.cxx (2 KB)
Attached To
Mode
T18109: Enable loading of textures with ply surfaces
Attached
Detach File
Event Timeline
•
kilgus
added a comment.
Jun 17 2015, 4:13 PM
2015-06-17 16:13:31 (UTC+2)
Comment Actions
VTK example to load a textured surface
Log In to Comment