//-------------------------------------------------------------------
wxVtk3DBaseView::~wxVtk3DBaseView()
{
- if (_aCamera!=NULL) { _aCamera -> Delete(); }
- if (_aRenderer!=NULL) { _aRenderer -> Delete(); }
- if (_renWin!=NULL) { _renWin -> Delete(); }
+
+ if (_aCamera!=NULL) { _aCamera -> Delete(); _aCamera=NULL;}
+ if (_aRenderer!=NULL) { _aRenderer -> Delete(); _aRenderer=NULL;}
+ if (_renWin!=NULL) {
+ if(_renWin->GetReferenceCount()==0){
+ _renWin -> Delete(); _renWin=NULL;
+ }
+ }
}
//-------------------------------------------------------------------
vtkCamera* wxVtk3DBaseView::GetCamera()
//-------------------------------------------------------------------
void wxVtk3DBaseView::Configure()
{
+ //printf("EED wxVtk3DBaseView::Configure A\n");
if (_configure==false)
{
+ //printf("EED wxVtk3DBaseView::Configure B\n");
_configure=true;
//wxVtkBaseView::Configure();
_aRenderer = vtkRenderer::New();
GetWxVTKRenderWindowInteractor()->SetRenderWindow(_renWin);
-
-// EED Borrame
-// vtkInteractorStyle3DMaracas *interactorStyle3DMaracas = vtkInteractorStyle3DMaracas::New();
vtkInteractorStyleBaseView3D *interactorStyleBaseView3D = vtkInteractorStyleBaseView3D::New();
SetInteractorStyleBaseView( interactorStyleBaseView3D );
GetWxVTKRenderWindowInteractor()->SetInteractorStyle( interactorStyleBaseView3D );
interactorStyleBaseView3D->SetwxVtkBaseView(this);
-
-/* EED Borrame
- vtkInteractorStyleSwitch *iss = dynamic_cast<vtkInteractorStyleSwitch*>(_iren->GetInteractorStyle());
- iss->SetCurrentStyleToTrackballCamera();
-*/
-
// It is convenient to create an initial view of the data. The
// FocalPoint and Position form a vector direction. Later on
// (ResetCamera() method) this vector is used to position the camera