wxVtkClipping3DView::wxVtkClipping3DView(wxVtk3DBaseView* wxvtk3Dbaseview)
{
+
_wxvtk3Dbaseview = wxvtk3Dbaseview;
_vtkclipping3Ddataviewer = NULL;
_wxvtkclipping3DviewCntrlPanel = NULL;
}
}
//-------------------------------------------------------------------
-void wxVtkClipping3DView::SetVisibleBoxVolume(bool visible)
+void wxVtkClipping3DView::VisibleVolumeBoxActor(bool visible)
{
- if (_boxWidgetVolume!=NULL){
- if (visible==true){
- _boxWidgetVolume->On();
- } else {
- _boxWidgetVolume->Off();
- }
+ if (visible!=_vtkclipping3Ddataviewer->GetVisibleVolumeBox() ){
+ VisibleVolumeActor(!visible);
+ _vtkclipping3Ddataviewer->BoxActorChanged(visible);
+ _vtkclipping3Ddataviewer->SetVisibleVolumeBox(visible);
+ _vtkclipping3Ddataviewer->SetVisibleVolume(!visible);
}
}
//-------------------------------------------------------------------
}
_vtkclipping3Ddataviewer->SetVisibleVolume(visVolume);
}
+ else if(visVolume==false && _vtkclipping3Ddataviewer->GetVisibleVolumeBox() == true)
+ {
+ _vtkclipping3Ddataviewer->BoxActorChanged(false);
+ _vtkclipping3Ddataviewer->SetVisibleVolumeBox(false);
+ }
+
}
//-------------------------------------------------------------------
wxVtk3DBaseView* wxVtkClipping3DView::GetWxvtk3Dbaseview()throw(char*)
int i;
for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++)
{
- _boxWidgetS1->AddObserver( vtkCommand::InteractionEvent , _vtkclipping3Ddataviewer->GetObserverS(i) );
+ _boxWidgetS1->AddObserver( vtkCommand::InteractionEvent, _vtkclipping3Ddataviewer->GetObserverS(i) );
}
// clips out objects behind the plane. This way only what is drawn
// between the planes is actually rendered.
_wxvtk3Dbaseview->GetRenderer()->ResetCameraClippingRange();
+
+ cout<<"EED::JPRG::wxVtkClipping3DView::SetVtkClipping3DDataViewer::GetRenderer()::"<<this->GetWxvtk3Dbaseview()->GetRenderer()<<endl;
+ //cout<<"JPRG::wxVtkClipping3DView::SetVtkClipping3DDataViewer::GetWxVTKRenderWindowInteractor()::"<<this->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()<<endl;
+
+ _vtkclipping3Ddataviewer->SetRenderer(this->GetWxvtk3Dbaseview()->GetRenderer());
+ _vtkclipping3Ddataviewer->SetInteractor(this->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor());
+
}
//-------------------------------------------------------------------
void wxVtkClipping3DView::SetVtkClipping3DDataViewer(vtkClipping3DDataViewer *vtkclipping3Ddataviewer)
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();
+}
+
+void wxVtkClipping3DView::UpdateVolumeBox(vector<double> gf, vector<double> vf, vtkColorTransferFunction* ctfun)
+{
+ _vtkclipping3Ddataviewer->UpdateVolumeBox(gf, vf, ctfun);
}
+