5 #include <cpPlugins/Extensions/DataStructures/QuadEdgeMesh.h>
6 #include <cpPlugins/Extensions/IO/MeshReader.h>
7 #include <cpPlugins/Extensions/Visualization/OpenGLMeshMapper.h>
10 #include <vtkCallbackCommand.h>
11 #include <vtkProperty.h>
12 #include <vtkRenderer.h>
13 #include <vtkRenderWindow.h>
14 #include <vtkRenderWindowInteractor.h>
15 #include <vtkSmartPointer.h>
17 // -------------------------------------------------------------------------
18 const unsigned int Dimension = 3;
19 typedef float TScalar;
20 using namespace cpPlugins::Extensions;
21 typedef DataStructures::QuadEdgeMesh< TScalar, Dimension > TMesh;
22 typedef Visualization::OpenGLMeshMapper< TMesh > TMeshMapper;
24 // -------------------------------------------------------------------------
25 int main( int argc, char* argv[] )
30 << "Usage: " << argv[ 0 ]
37 typedef IO::MeshReader< TMesh > TReader;
38 TReader::Pointer reader = TReader::New( );
39 reader->SetFileName( argv[ 1 ] );
43 vtkSmartPointer< TMeshMapper > mapper =
44 vtkSmartPointer< TMeshMapper >::New( );
45 mapper->SetInputData( reader->GetOutput( ) );
48 vtkSmartPointer< vtkActor > actor =
49 vtkSmartPointer< vtkActor >::New( );
50 actor->SetMapper( mapper );
51 actor->GetProperty( )->SetColor( 1, 1, 0 );
52 actor->GetProperty( )->SetOpacity( 0.5 );
54 // Configure visualization objects
55 vtkSmartPointer< vtkRenderer > renderer =
56 vtkSmartPointer< vtkRenderer >::New( );
57 renderer->SetBackground( 0.1, 0.3, 0.5 );
59 vtkSmartPointer< vtkRenderWindow > window =
60 vtkSmartPointer< vtkRenderWindow >::New( );
61 window->AddRenderer( renderer );
62 window->SetSize( 800, 800 );
64 // Set up the interaction
65 vtkSmartPointer< vtkRenderWindowInteractor > interactor =
66 vtkSmartPointer< vtkRenderWindowInteractor >::New( );
67 window->SetInteractor( interactor );
70 renderer->AddActor( actor );