From 22b3a32e023370c44f812976adc4b45b88401c2f Mon Sep 17 00:00:00 2001 From: reyes Date: Fri, 18 Mar 2011 17:20:23 +0000 Subject: [PATCH] *** empty log message *** --- .../widgets/vtkClipping3DDataViewer.cxx | 69 +++++++++++-------- .../widgets/vtkClipping3DDataViewer.h | 6 +- .../wxWindows/widgets/wxVtkClipping3DView.cxx | 8 +-- 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx index 800f8be..80a39b6 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx @@ -19,6 +19,9 @@ vtkClipping3DDataViewer::vtkClipping3DDataViewer() _volumeMapper = vtkVolumeRayCastMapper::New(); _newvol = vtkVolume::New(); _volumeProperty = vtkVolumeProperty::New(); + _compositeFunction = vtkVolumeRayCastCompositeFunction::New(); + _compositeFunctionMIP = vtkVolumeRayCastMIPFunction::New(); + } //------------------------------------------------------------------- vtkClipping3DDataViewer::~vtkClipping3DDataViewer() @@ -313,30 +316,24 @@ void vtkClipping3DDataViewer::Configure_Volume() // EED 13/03/2011 - _compositeFunction = vtkVolumeRayCastCompositeFunction::New(); - vtkVolumeRayCastMIPFunction* _compositeFunctionMIP = vtkVolumeRayCastMIPFunction::New(); // _volumeMapper = vtkVolumeRayCastMapper::New(); _volumeMapper->SetInput( this->GetVtkMPRBaseData()->GetImageData() ); -if(_isRayCasting) -{ - cout<<"JPRG::vtkClipping3DDataViewer::Configure_Volume::isRayCasting"<SetVolumeRayCastFunction(_compositeFunction); -} -else if(_isMIP) -{ - cout<<"JPRG::vtkClipping3DDataViewer::Configure_Volume::isMIP"<SetVolumeRayCastFunction(_compositeFunctionMIP); -} + + // _volumeMapper->SetVolumeRayCastFunction(_compositeFunctionMIP); // _volumeMapper->SetClippingPlanes( _volumePlanes ); _volumeMapper->AutoAdjustSampleDistancesOn(); + _volumeProperty->SetInterpolationTypeToNearest(); //_volumeProperty = vtkVolumeProperty::New(); _volumeProperty->SetColor(_ctfun); _volumeProperty->SetScalarOpacity( _tfun ); @@ -345,23 +342,7 @@ else if(_isMIP) _volumeProperty->DisableGradientOpacityOn(); -if(_interpolation) -{ - _volumeProperty->SetInterpolationTypeToLinear(); -} -else -{ - _volumeProperty->SetInterpolationTypeToNearest(); -} -if(_shade) -{ - _volumeProperty->ShadeOn(); -} -else -{ - _volumeProperty->ShadeOff(); -} // _ @@ -386,6 +367,40 @@ else _observerV->SetvtkVolumeRayCastMapper( _volumeMapper ); } +void vtkClipping3DDataViewer::updateVolume() +{ + + if(_isRayCasting) + { + cout<<"JPRG::vtkClipping3DDataViewer::Configure_Volume::isRayCasting"<SetVolumeRayCastFunction(_compositeFunction); + } + else if(_isMIP) + { + cout<<"JPRG::vtkClipping3DDataViewer::Configure_Volume::isMIP"<SetVolumeRayCastFunction(_compositeFunctionMIP); + } + + if(_interpolation) + { + _volumeProperty->SetInterpolationTypeToLinear(); + } + else + { + _volumeProperty->SetInterpolationTypeToNearest(); + } + + if(_shade) + { + _volumeProperty->ShadeOn(); + } + else + { + _volumeProperty->ShadeOff(); + } + +} //------------------------------------------------------------------- void vtkClipping3DDataViewer::Configure() diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h index 444b972..3fa2c0d 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h @@ -97,6 +97,7 @@ public: void SetMIPActive(bool active); void SetInterpolation(bool active); void SetShade(bool active); + void updateVolume(); @@ -116,7 +117,7 @@ private: /// Volume vtkPiecewiseFunction *_tfun; vtkColorTransferFunction *_ctfun; - vtkVolumeRayCastCompositeFunction *_compositeFunction; +// vtkVolumeRayCastCompositeFunction *_compositeFunction; vtkPlanes *_volumePlanes; vtkVolumeRayCastMapper *_volumeMapper; vtkVolumeProperty *_volumeProperty; @@ -138,6 +139,9 @@ private: std::vector blueColorsOfColorTransferenceFVector; std::vector greyValueColorsOfColorTransferenceFVector; + vtkVolumeRayCastCompositeFunction *_compositeFunction; + vtkVolumeRayCastMIPFunction *_compositeFunctionMIP ; + bool _isRayCasting; bool _isMIP; bool _interpolation; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DView.cxx index 9a984c5..db0a469 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DView.cxx @@ -221,25 +221,25 @@ void wxVtkClipping3DView::SetVtkClipping3DDataViewer(vtkClipping3DDataViewer *vt void wxVtkClipping3DView::SetRayCasting(bool active) { _vtkclipping3Ddataviewer->SetRayCasting(active); - _vtkclipping3Ddataviewer->Configure(); + _vtkclipping3Ddataviewer->updateVolume(); } void wxVtkClipping3DView::SetMIPActive(bool active) { _vtkclipping3Ddataviewer->SetMIPActive(active); - _vtkclipping3Ddataviewer->Configure(); + _vtkclipping3Ddataviewer->updateVolume(); } void wxVtkClipping3DView::SetInterpolation(bool active) { _vtkclipping3Ddataviewer->SetInterpolation(active); - _vtkclipping3Ddataviewer->Configure(); + _vtkclipping3Ddataviewer->updateVolume(); } void wxVtkClipping3DView::SetShade(bool active) { _vtkclipping3Ddataviewer->SetShade(active); - _vtkclipping3Ddataviewer->Configure(); + _vtkclipping3Ddataviewer->updateVolume(); } -- 2.45.2