+ struct BaseActor
+ {
+ vtkSmartPointer< vtkPolyData > Axes;
+ vtkSmartPointer< vtkPolyDataMapper > Mapper;
+ vtkSmartPointer< vtkActor > Actor;
+
+ void SetBase( vtkMatrix4x4* matrix )
+ {
+ this->Axes = vtkSmartPointer< vtkPolyData >::New( );
+ this->Mapper = vtkSmartPointer< vtkPolyDataMapper >::New( );
+ this->Actor = vtkSmartPointer< vtkActor >::New( );
+
+ vtkSmartPointer< vtkPoints > points = vtkSmartPointer< vtkPoints >::New( );
+ points->InsertNextPoint( 0, 0, 0 );
+ points->InsertNextPoint( 1, 0, 0 );
+ points->InsertNextPoint( 0, 1, 0 );
+ points->InsertNextPoint( 0, 0, 1 );
+ vtkSmartPointer< vtkCellArray > lines = vtkSmartPointer< vtkCellArray >::New( );
+ lines->InsertNextCell( 2 ); lines->InsertCellPoint( 0 ); lines->InsertCellPoint( 1 );
+ lines->InsertNextCell( 2 ); lines->InsertCellPoint( 0 ); lines->InsertCellPoint( 2 );
+ lines->InsertNextCell( 2 ); lines->InsertCellPoint( 0 ); lines->InsertCellPoint( 3 );
+ this->Axes->SetPoints( points );
+ this->Axes->SetLines( lines );
+
+ this->Mapper->SetInputData( this->Axes );
+ this->Actor->SetMapper( this->Mapper );
+ }
+ };
+