wxVtkMPR3DView Class Reference

#include <wxVtkMPR3DView.h>

Collaboration diagram for wxVtkMPR3DView:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 wxVtkMPR3DView (wxVtk3DBaseView *wxvtk3Dbaseview)
virtual ~wxVtkMPR3DView ()
void VisibleImageActor (int idPosition, bool visible)
void VisiblePointWidget (bool visible)
void VisiblePlaneWidget (bool visible)
void SetVisibleTissue (int idTissue, bool visible)
bool GetVisibleTissue (int idTissue)
virtual void Refresh ()
virtual void RefreshView ()
virtual void Configure ()
void SetVtkMPR3DDataViewer (vtkMPR3DDataViewer *vtkmpr3Ddataviewer)
wxPanel * CreateControlPanel (wxWindow *parent)
vtkMPR3DDataViewerGetVtkMPR3DDataViewer ()
wxVtk3DBaseViewGetWxvtk3Dbaseview () throw (char*)
void InitOrientationPointWidget ()
void TestLoic1 ()
void TestLoic2 ()
void RemoveActor (vtkActor *actor)
void ResetCamera (int *ext=NULL, double *origin=NULL, double *spc=NULL)

Private Attributes

wxVtk3DBaseView_wxvtk3Dbaseview
vtkMPR3DDataViewer_vtkmpr3Ddataviewer
wxVtkMPR3DViewCntrlPanel_wxvtkmpr3DviewCntrlPanel
vtkPolyData * _vtkplane
vtkActor * _contourPlaneActor
vtkPlaneWidget * _planeWidget
vtkPointWidget * _pointWidget
vtkProbeFilter * _probe
vtkPolyDataMapper * _contourMapper


Detailed Description

Definition at line 16 of file wxVtkMPR3DView.h.


Constructor & Destructor Documentation

wxVtkMPR3DView::wxVtkMPR3DView ( wxVtk3DBaseView wxvtk3Dbaseview  ) 

Definition at line 17 of file wxVtkMPR3DView.cxx.

References _contourMapper, _planeWidget, _pointWidget, _probe, _vtkmpr3Ddataviewer, _vtkplane, _wxvtk3Dbaseview, and _wxvtkmpr3DviewCntrlPanel.

00018 {
00019         _wxvtk3Dbaseview                        =       wxvtk3Dbaseview;
00020         _vtkmpr3Ddataviewer                     =       NULL;
00021         _wxvtkmpr3DviewCntrlPanel       =       NULL;   
00022         //_myCallback=NULL;
00023         _pointWidget=NULL;
00024         _planeWidget=NULL;
00025         _vtkplane=NULL;
00026         _probe=NULL;
00027         _contourMapper=NULL;
00028 }

wxVtkMPR3DView::~wxVtkMPR3DView (  )  [virtual]

Definition at line 184 of file wxVtkMPR3DView.cxx.

References _contourMapper, _contourPlaneActor, _planeWidget, _pointWidget, _probe, and _vtkplane.

00185 {
00186         if(_pointWidget!=NULL){
00187                 _pointWidget->Delete();
00188         }
00189         if(_planeWidget!=NULL){
00190                 _planeWidget->Delete();
00191         }
00192 
00193         if(_vtkplane!=NULL){
00194                 _vtkplane->Delete();            
00195                 _probe->Delete();
00196                 _contourMapper->Delete();                       
00197                 _contourPlaneActor->Delete();           
00198         }
00199 
00200 }


Member Function Documentation

void wxVtkMPR3DView::Configure (  )  [virtual]

Definition at line 62 of file wxVtkMPR3DView.cxx.

References _contourMapper, _contourPlaneActor, _planeWidget, _pointWidget, _probe, _vtkmpr3Ddataviewer, _vtkplane, _wxvtk3Dbaseview, _wxvtkmpr3DviewCntrlPanel, wxVtk3DBaseView::Configure(), wxVtk3DBaseView::GetCamera(), vtkBaseData::GetImageData(), vtkMPR3DDataViewer::GetOutlineActor(), wxVtk3DBaseView::GetRenderer(), wxVtk3DBaseView::GetRenWin(), GetVtkMPR3DDataViewer(), vtkMPR3DDataViewer::GetVtkMPRBaseData(), GetWxvtk3Dbaseview(), vtkmyPWCallback_3DPointWidget::New(), ResetCamera(), vtkmyPWCallback_3DPointWidget::SetVtkPlaneWidget(), vtkmyPWCallback_3DPointWidget::SetVtkPointWidget(), vtkmyPWCallback_3DPointWidget::SetWxVtkMPR3DView(), and wxVtkMPR3DViewCntrlPanel::UpdateControlPanel().

00062                               {
00063 
00064 
00065         _wxvtk3Dbaseview->Configure();
00066         _wxvtkmpr3DviewCntrlPanel->UpdateControlPanel();
00067         
00068 //EED 27 Mai 2009 
00069 //      _wxvtk3Dbaseview->GetRenderer()->Clear();    
00070         
00071         // Actors are added to the renderer. 
00072         vtkActor* _outlineActor = _vtkmpr3Ddataviewer->GetOutlineActor();
00073         _wxvtk3Dbaseview->GetRenderer()->AddActor( _outlineActor );                     
00074 //      _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(0)  );    // _saggital
00075 //      _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(1)  );    // _axial
00076 //      _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(2)  );    // _coronal
00077 
00078 
00079         // An initial camera view is created.  The Dolly() method moves 
00080         // the camera towards the FocalPoint, thereby enlarging the image.      
00081         _wxvtk3Dbaseview->GetRenderer()->SetActiveCamera(_wxvtk3Dbaseview->GetCamera());
00082         this->ResetCamera();
00083         
00084 
00085         // Set a background color for the renderer and set the size of the
00086         // render window (expressed in pixels).
00087         _wxvtk3Dbaseview->GetRenderer()->SetBackground( 0.36 , 0.36 , 0.36 );
00088         _wxvtk3Dbaseview->GetRenWin()->SetSize(400, 400);
00089 
00090         // Note that when camera movement occurs (as it does in the Dolly()
00091         // method), the clipping planes often need adjusting. Clipping planes
00092         // consist of two planes: near and far along the view direction. The 
00093         // near plane clips out objects in front of the plane; the far plane
00094         // clips out objects behind the plane. This way only what is drawn
00095         // between the planes is actually rendered.
00096         _wxvtk3Dbaseview->GetRenderer()->ResetCameraClippingRange();
00097 
00098 
00099         // vtkPointWidget
00100         //if(_myCallback!=NULL){
00101                 //_myCallback->Delete();
00102 
00103         //}
00104         vtkmyPWCallback_3DPointWidget *_myCallback = vtkmyPWCallback_3DPointWidget::New();
00105         _myCallback->SetWxVtkMPR3DView(this);
00106  
00107         if(_pointWidget!=NULL){
00108                 _pointWidget->Delete();
00109         }
00110         _pointWidget = vtkPointWidget::New();
00111         _myCallback->SetVtkPointWidget(_pointWidget);
00112         _pointWidget->SetInteractor( GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor() ); 
00113         _pointWidget->SetInput( GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData() );
00114         
00115         _pointWidget->AllOff();
00116         
00117         _pointWidget->PlaceWidget();
00118 //      _pointWidget->SetPosition( x,y,z ); 
00119         
00120 //EED01 29Mars2009
00121 // MACOS probleme vtk-window out of wx-window   
00122 //      _pointWidget->On();
00123         
00124         _pointWidget->AddObserver(vtkCommand::InteractionEvent,_myCallback);
00125 
00126 
00127 // PlaneWidget
00128         if(_planeWidget!=NULL){
00129                 _planeWidget->Delete();
00130         }
00131         _planeWidget = vtkPlaneWidget::New();
00132         _myCallback->SetVtkPlaneWidget(_planeWidget);
00133         _planeWidget->SetInput( GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData() );
00134         _planeWidget->NormalToXAxisOn();
00135         _planeWidget->SetResolution(50);
00136         _planeWidget->SetRepresentationToOutline();
00137         int dim[3];
00138         GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData()->GetDimensions(dim);
00139         int px=(dim[0]/2);
00140         int py=(dim[1]/2);
00141         int pz=(dim[2]/2);
00142         int dd=20;
00143         _planeWidget->PlaceWidget( px-dd , px+dd , py-dd , py+dd , pz-dd , pz+dd );
00144 
00145 
00146         if(_vtkplane==NULL){
00147                 _vtkplane = vtkPolyData::New();
00148                 
00149                 _probe = vtkProbeFilter::New();
00150                 _probe->SetInput(_vtkplane);
00151 
00152                 _contourMapper = vtkPolyDataMapper::New();
00153                 
00154                 _contourMapper->SetInput( _probe->GetPolyDataOutput() );
00155 
00156                 _contourPlaneActor = vtkActor::New();
00157                 _contourPlaneActor->SetMapper(_contourMapper);
00158 
00159                 _contourPlaneActor->VisibilityOff();
00160 
00161                 _planeWidget->SetInteractor( GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor() );
00162                 _planeWidget->AddObserver(vtkCommand::InteractionEvent,_myCallback);
00163 
00164                 _planeWidget->Off();
00165                 _wxvtk3Dbaseview->GetRenderer()->AddActor( _contourPlaneActor );        
00166 
00167         }else{
00168                 
00169         }
00170         _planeWidget->GetPolyData(_vtkplane);
00171 
00172         
00173         vtkImageData *imageData = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData(); 
00174         _probe->SetSource( imageData );
00175 
00176         
00177         _contourMapper->SetScalarRange( imageData->GetScalarRange() );
00178     
00179         
00180 
00181                         
00182 }

Here is the call graph for this function:

wxPanel * wxVtkMPR3DView::CreateControlPanel ( wxWindow *  parent  ) 

bool wxVtkMPR3DView::GetVisibleTissue ( int  idTissue  ) 

vtkMPR3DDataViewer * wxVtkMPR3DView::GetVtkMPR3DDataViewer (  ) 

wxVtk3DBaseView * wxVtkMPR3DView::GetWxvtk3Dbaseview (  )  throw (char*)

void wxVtkMPR3DView::InitOrientationPointWidget (  ) 

Definition at line 309 of file wxVtkMPR3DView.cxx.

References _planeWidget.

Referenced by wxManualRegistration3D::OnTracking().

00310 {
00311         this->_planeWidget->SetNormal(1,0,0);           
00312 }

Here is the caller graph for this function:

void wxVtkMPR3DView::Refresh (  )  [virtual]

Definition at line 203 of file wxVtkMPR3DView.cxx.

References _vtkmpr3Ddataviewer, _wxvtkmpr3DviewCntrlPanel, and wxVtkMPR3DViewCntrlPanel::Refresh().

Referenced by HistogramDialog::OnRefreshBtn(), wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(), wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY(), wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ(), and RefreshView().

00204 {
00205         _vtkmpr3Ddataviewer     ->      Refresh();
00206         if (_wxvtkmpr3DviewCntrlPanel!=NULL)
00207         {
00208                 _wxvtkmpr3DviewCntrlPanel->Refresh();
00209         }
00210 
00211 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxVtkMPR3DView::RefreshView (  )  [virtual]

Definition at line 213 of file wxVtkMPR3DView.cxx.

References _planeWidget, _pointWidget, _vtkplane, vtkBaseData::GetImageData(), vtkMPRBaseData::GetTransformOrientation(), GetVtkMPR3DDataViewer(), vtkMPR3DDataViewer::GetVtkMPRBaseData(), vtkMPRBaseData::GetX(), vtkMPRBaseData::GetY(), vtkBaseData::GetZ(), and Refresh().

Referenced by wxVtkMPR3DViewCntrlPanel::OnPositionX(), wxVtkMPR3DViewCntrlPanel::OnPositionY(), and wxVtkMPR3DViewCntrlPanel::OnPositionZ().

00214 {
00215         double spc[3];
00216         this->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData()->GetSpacing(spc);
00217 
00218         //double nx=1,ny=0,nz=0; // JPRx
00219         Refresh();
00220         double x=GetVtkMPR3DDataViewer ()->GetVtkMPRBaseData()->GetX();
00221         double y=GetVtkMPR3DDataViewer ()->GetVtkMPRBaseData()->GetY();
00222         double z=GetVtkMPR3DDataViewer ()->GetVtkMPRBaseData()->GetZ();
00223 
00224         x=x*spc[0];
00225         y=y*spc[1];
00226         z=z*spc[2];
00227 
00228         _pointWidget->SetPosition( x,y,z ); 
00229 
00230 
00231         double in[3]; 
00232         double normal[3];
00233         vtkTransform *transform = GetVtkMPR3DDataViewer ()->GetVtkMPRBaseData()->GetTransformOrientation();
00234         in[0]=1;                in[1]=0;                        in[2]=0;
00235         transform->TransformPoint(in,normal);
00236         _planeWidget->SetNormal( normal[0],normal[1],normal[2] );
00237 
00238 
00239         _planeWidget->SetCenter( x,y,z );
00240         _planeWidget->UpdatePlacement();
00241         _planeWidget->GetPolyData(_vtkplane);
00242 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxVtkMPR3DView::RemoveActor ( vtkActor *  actor  ) 

Definition at line 29 of file wxVtkMPR3DView.cxx.

References _wxvtk3Dbaseview, and wxVtk3DBaseView::GetRenderer().

00029                                                {        
00030 
00031         _wxvtk3Dbaseview->GetRenderer()->RemoveActor(actor);    
00032 
00033 
00034 }

Here is the call graph for this function:

void wxVtkMPR3DView::ResetCamera ( int *  ext = NULL,
double *  origin = NULL,
double *  spc = NULL 
)

Definition at line 35 of file wxVtkMPR3DView.cxx.

References _wxvtk3Dbaseview, wxVtk3DBaseView::GetCamera(), and wxVtk3DBaseView::GetRenderer().

Referenced by Configure(), and wxMaracas_ViewerWidget::ConfigureVTK().

00035                                                                     {
00036         if(ext == NULL){
00037 
00038                 _wxvtk3Dbaseview->GetRenderer()->ResetCamera ();        
00039                 _wxvtk3Dbaseview->GetCamera()->Dolly(1.5);      
00040         }else{
00041                 /*double x = (spc[0])*(origin[0]+(((double)ext[1]-(double)ext[0])/2.0));                
00042                 double y = (spc[1])*(origin[1]+(double)ext[3]);
00043                 double z = (spc[2])*(origin[2]+(((double)ext[5]-(double)ext[4])/2.0));*/
00044                 /*double x0=(spc[0])*((double)ext[0]+origin[0]);
00045                 double x1=(spc[0])*((double)ext[1]+origin[0]);
00046                 double y0=(spc[1])*((double)ext[2]+origin[1]);
00047                 double y1=(spc[1])*((double)ext[3]+origin[1]);
00048                 double z0=(spc[2])*((double)ext[4]+origin[2]);
00049                 double z1=(spc[2])*((double)ext[5]+origin[2]);*/
00050                 double x0=(spc[0])*((double)ext[0]);
00051                 double x1=(spc[0])*((double)ext[1]);
00052                 double y0=(spc[1])*((double)ext[2]);
00053                 double y1=(spc[1])*((double)ext[3]);
00054                 double z0=(spc[2])*((double)ext[4]);
00055                 double z1=(spc[2])*((double)ext[5]);
00056                 
00057                 _wxvtk3Dbaseview->GetRenderer()->ResetCamera(x0,x1,y0,y1,z0,z1);
00058                 //_wxvtk3Dbaseview->GetCamera()->SetPosition(x,y,z);
00059                 _wxvtk3Dbaseview->GetCamera()->Dolly(1.5);      
00060         }
00061 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxVtkMPR3DView::SetVisibleTissue ( int  idTissue,
bool  visible 
)

void wxVtkMPR3DView::SetVtkMPR3DDataViewer ( vtkMPR3DDataViewer vtkmpr3Ddataviewer  ) 

void wxVtkMPR3DView::TestLoic1 (  ) 

Definition at line 319 of file wxVtkMPR3DView.cxx.

References _planeWidget, vtkBaseData::GetImageData(), GetVtkMPR3DDataViewer(), and vtkMPR3DDataViewer::GetVtkMPRBaseData().

Referenced by wxManualRegistration3D::OnTracking().

00320 {
00321 
00322         int sizeIma     = 128;
00323   double dimIma = sizeIma*2;
00324 
00325         vtkImageData *vtkimagedata =  this->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
00326 
00327         double spc[3];
00328         vtkimagedata->GetSpacing(spc);
00329 
00330         vtkimagedata->Update();
00331 
00332 
00333          double p[3], n[3];
00334      this->_planeWidget->GetOrigin(p);
00335      this->_planeWidget->GetNormal(n);
00336 
00337 
00338 
00339     vtkPlaneSource* pSource = vtkPlaneSource::New( );
00340     pSource->SetResolution( sizeIma - 1, sizeIma - 1 );
00341     pSource->SetOrigin( p[ 0 ], p[ 1 ], p[ 2 ] );
00342     pSource->SetPoint1( p[ 0 ] + dimIma - 1.0, p[ 1 ], p[ 2 ] );
00343     pSource->SetPoint2( p[ 0 ], p[ 1 ]+ dimIma - 1.0 , p[ 2 ] );
00344     pSource->Update( );
00345     pSource->SetCenter( p[ 0 ], p[ 1 ], p[ 2 ] );
00346     pSource->SetNormal( n[ 0 ], n[ 1 ], n[ 2 ] );
00347     pSource->Update( );
00348 
00349     vtkProbeFilter* slices = vtkProbeFilter::New();
00350     slices->SetInput( ( vtkDataSet* )pSource->GetOutput( ) );
00351     slices->SetSource( vtkimagedata );
00352     slices->Update( );
00353     pSource->Delete( );
00354 
00355         vtkStructuredPoints   *stPoints = vtkStructuredPoints::New();
00356         stPoints -> GetPointData( )->SetScalars(  slices->GetOutput()->GetPointData()->GetScalars()  );
00357         stPoints -> SetDimensions( sizeIma, sizeIma, 1 );
00358         stPoints -> SetScalarType( vtkimagedata->GetScalarType() );
00359         stPoints -> SetScalarTypeToShort();
00360         stPoints -> Update();
00361 
00362         vtkImageChangeInformation  *change = vtkImageChangeInformation ::New();
00363         change    -> SetInput( stPoints );  
00364         change    -> Update();    //important
00365 
00366         double _range[2];
00367         vtkimagedata->GetScalarRange(_range);
00368    vtkWindowLevelLookupTable *_bwlookup = vtkWindowLevelLookupTable::New( );
00369    _bwlookup->SetHueRange( 0 , 1 );
00370    _bwlookup->SetNumberOfColors( (int)(_range[1] - _range[0] + 1) );
00371    _bwlookup->SetTableRange( _range[0] , _range[1] );
00372    _bwlookup->SetSaturationRange( 0 , 0 );
00373    _bwlookup->SetValueRange( 0 , 1 );
00374    _bwlookup->SetAlphaRange( 1 , 1 );
00375    _bwlookup->Build( );
00376  
00377    vtkLookupTable * _collookup = vtkLookupTable::New( );
00378    _collookup->SetNumberOfColors( 256 );
00379    _collookup->SetTableRange( 0 , 255 );
00380    _collookup->Build( );
00381    _collookup->SetTableValue( 0  , 1 , 0 , 0 , 1 );
00382    _collookup->SetTableValue(128 , 0 , 0 , 1 , 1 );
00383    _collookup->SetTableValue(255 , 0 , 1 , 0 , 1 );
00384 
00385 
00386         vtkMetaImageWriter *writer = vtkMetaImageWriter::New( );
00387         writer->SetInput( stPoints );
00388         writer->SetFileName( "C:/Users/Images/temp_EED/image.mhd" );
00389         writer->SetFileDimensionality( 2 );
00390         writer->Write( );
00391 
00392 
00393 
00394         vtkDataSetMapper *_3DSliceMapper = vtkDataSetMapper::New( );
00395         _3DSliceMapper->SetInput(change->GetOutput( ) );
00396         _3DSliceMapper->SetLookupTable( _bwlookup );
00397         _3DSliceMapper->SetScalarRange( _range );
00398         _3DSliceMapper->ImmediateModeRenderingOn( );
00399 
00400         vtkActor *_3DSliceActor = vtkActor::New( );
00401         _3DSliceActor->SetMapper( _3DSliceMapper );
00402 
00403  // The usual rendering stuff.
00404   vtkCamera *camera = vtkCamera::New();
00405       camera->SetPosition(1,1,1);
00406       camera->SetFocalPoint(0,0,0);
00407 
00408   vtkRenderer *renderer = vtkRenderer::New();
00409   vtkRenderWindow *renWin = vtkRenderWindow::New();
00410     renWin->AddRenderer(renderer);
00411 
00412   vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
00413     iren->SetRenderWindow(renWin);
00414 
00415   renderer->AddActor( _3DSliceActor );
00416       renderer->SetActiveCamera(camera);
00417       renderer->ResetCamera();
00418       renderer->SetBackground(1,1,1);
00419   
00420   renWin->SetSize(300,300);
00421 
00422   // interact with data
00423   renWin->Render();
00424   iren->Start();
00425 
00426 
00427 
00428 
00429 
00430 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxVtkMPR3DView::TestLoic2 (  ) 

Definition at line 434 of file wxVtkMPR3DView.cxx.

References _planeWidget, vtkBaseData::GetImageData(), GetVtkMPR3DDataViewer(), and vtkMPR3DDataViewer::GetVtkMPRBaseData().

00435 {
00436 /*
00437  vtkVectorNorm *vecMagnitude = vtkVectorNorm::New();
00438                 vecMagnitude->SetInput(VtkMainGrid);
00439                 vecMagnitude->NormalizeOff();
00440                 vecMagnitude->Update();
00441 */
00442 
00443         vtkPlane *slicePlane = vtkPlane::New();
00444                                 this->_planeWidget->GetPlane( slicePlane );
00445 
00446                 
00447         vtkCutter* sliceCutter = vtkCutter::New();
00448                 vtkImageData *vtkimagedata =  this->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
00449                 sliceCutter->SetInput( vtkimagedata );
00450                 sliceCutter->SetCutFunction( slicePlane );
00451 
00452 //EED
00453 //        vtkLookupTable *lut = BuildHueWeightBaseMap();
00454 
00455 
00456         vtkPolyDataMapper *slice = vtkPolyDataMapper::New();
00457                 slice->SetInput( sliceCutter->GetOutput() );
00458         double range[2];
00459 // EED
00460 //                slice->Update();
00461                                   vtkimagedata->GetScalarRange(range);
00462 //                vecMagnitude->GetOutput()->GetScalarRange( range );
00463 //                range[1] *= 0.7; // reduce the upper range by 30%
00464 //                slice->SetScalarRange( range );
00465 //                slice->SetLookupTable( lut );
00466 
00467 //       vtkActor *sliceActor = vtkActor::New();
00468 //                sliceActor->SetMapper( slice );
00469 
00470         vtkPolyDataMapper *contourMapper = vtkPolyDataMapper::New();
00471                 contourMapper->SetInput( sliceCutter->GetOutput() );
00472                 contourMapper->SetScalarRange( range );
00473   //              contourMapper->SetLookupTable( lut );
00474 
00475                 
00476         vtkActor *contourActor = vtkActor::New();
00477                 contourActor->SetMapper( contourMapper );
00478 
00479 
00480 
00481  // The usual rendering stuff.
00482   vtkCamera *camera = vtkCamera::New();
00483       camera->SetPosition(1,1,1);
00484       camera->SetFocalPoint(0,0,0);
00485 
00486   vtkRenderer *renderer = vtkRenderer::New();
00487   vtkRenderWindow *renWin = vtkRenderWindow::New();
00488     renWin->AddRenderer(renderer);
00489 
00490   vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
00491     iren->SetRenderWindow(renWin);
00492 
00493   renderer->AddActor( contourActor );
00494 //  renderer->AddActor(cubeActor);
00495       renderer->SetActiveCamera(camera);
00496       renderer->ResetCamera();
00497       renderer->SetBackground(1,1,1);
00498   
00499   renWin->SetSize(300,300);
00500 
00501   // interact with data
00502   renWin->Render();
00503   iren->Start();
00504 
00505 
00506 }

Here is the call graph for this function:

void wxVtkMPR3DView::VisibleImageActor ( int  idPosition,
bool  visible 
)

Definition at line 265 of file wxVtkMPR3DView.cxx.

References _vtkmpr3Ddataviewer, _wxvtk3Dbaseview, vtkMPR3DDataViewer::GetImageActor(), wxVtk3DBaseView::GetRenderer(), vtkMPR3DDataViewer::GetVisiblePosition(), and vtkMPR3DDataViewer::SetVisiblePosition().

Referenced by wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(), wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY(), and wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ().

00265                                                                   {
00266         if (visible!=_vtkmpr3Ddataviewer->GetVisiblePosition(idPosition)){
00267                 if (visible==false){
00268                         _wxvtk3Dbaseview->GetRenderer()->RemoveActor( _vtkmpr3Ddataviewer->GetImageActor(idPosition)  );        
00269                 } else {
00270                         _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(idPosition)  );   
00271                 }
00272                 _vtkmpr3Ddataviewer->SetVisiblePosition(idPosition,visible);
00273         }
00274 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxVtkMPR3DView::VisiblePlaneWidget ( bool  visible  ) 

Definition at line 289 of file wxVtkMPR3DView.cxx.

References _contourPlaneActor, and _planeWidget.

Referenced by wxVtkMPR3DViewCntrlPanel::OnVisiblePlane().

00290 {
00291         if (visible==true)
00292         {
00293                 _planeWidget->On();
00294                 _contourPlaneActor->VisibilityOn();
00295 
00296         } else {
00297                 _planeWidget->Off();
00298                 _contourPlaneActor->VisibilityOff();
00299         }
00300 }

Here is the caller graph for this function:

void wxVtkMPR3DView::VisiblePointWidget ( bool  visible  ) 

Definition at line 278 of file wxVtkMPR3DView.cxx.

References _pointWidget.

Referenced by wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ().

00279 {
00280         if (visible==true)
00281         {
00282                 _pointWidget->On();
00283         } else {
00284                 _pointWidget->Off();
00285         }
00286 }

Here is the caller graph for this function:


Member Data Documentation

vtkPolyDataMapper* wxVtkMPR3DView::_contourMapper [private]

Definition at line 59 of file wxVtkMPR3DView.h.

Referenced by Configure(), wxVtkMPR3DView(), and ~wxVtkMPR3DView().

Definition at line 52 of file wxVtkMPR3DView.h.

Referenced by Configure(), VisiblePlaneWidget(), and ~wxVtkMPR3DView().

vtkPlaneWidget* wxVtkMPR3DView::_planeWidget [private]

vtkPointWidget* wxVtkMPR3DView::_pointWidget [private]

vtkProbeFilter* wxVtkMPR3DView::_probe [private]

Definition at line 58 of file wxVtkMPR3DView.h.

Referenced by Configure(), wxVtkMPR3DView(), and ~wxVtkMPR3DView().

vtkPolyData* wxVtkMPR3DView::_vtkplane [private]

Definition at line 51 of file wxVtkMPR3DView.h.

Referenced by Configure(), RefreshView(), wxVtkMPR3DView(), and ~wxVtkMPR3DView().

Definition at line 48 of file wxVtkMPR3DView.h.

Referenced by Configure(), CreateControlPanel(), Refresh(), and wxVtkMPR3DView().


The documentation for this class was generated from the following files:

Generated on Fri Jun 12 00:08:59 2009 for creaMaracasVisu by  doxygen 1.5.7.1