#ifdef _DEBUG
#define new DEBUG_NEW
#endif
-wxVtk3DBaseView::wxVtk3DBaseView(wxWindow *parent)
+wxVtk3DBaseView::wxVtk3DBaseView(wxWindow *parent, vtkBaseData* vtkbasedata)
:wxVtkBaseView( parent )
{
+ SetVtkBaseData( vtkbasedata );
_configure = false;
_aRenderer = NULL;
_renWin = NULL;
//-------------------------------------------------------------------
wxVtk3DBaseView::~wxVtk3DBaseView()
{
-
- if (_aCamera!=NULL) { _aCamera -> Delete(); _aCamera=NULL;}
+ 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;
+ if (_renWin!=NULL)
+ {
+ if(_renWin->GetReferenceCount()==0)
+ {
+ _renWin->Delete();
+ _renWin=NULL;
}
}
}
// EED 27/05/2013
void wxVtk3DBaseView::ResetCamera(int* ext, double* spc)
{
-
- GetRenderer()->ResetCameraClippingRange();
-
+ GetRenderer()->ResetCameraClippingRange();
if(ext == NULL)
{
-
GetRenderer()->ResetCamera ();
GetCamera()->Dolly(1.2);
- }else{
-
+ }else{
/*double x = (spc[0])*(origin[0]+(((double)ext[1]-(double)ext[0])/2.0));
double y = (spc[1])*(origin[1]+(double)ext[3]);
double z = (spc[2])*(origin[2]+(((double)ext[5]-(double)ext[4])/2.0));*/
double y1=(spc[1])*((double)ext[3]+origin[1]);
double z0=(spc[2])*((double)ext[4]+origin[2]);
double z1=(spc[2])*((double)ext[5]+origin[2]);*/
-
double x0=(spc[0])*((double)ext[0]);
double x1=(spc[0])*((double)ext[1]);
double y0=(spc[1])*((double)ext[2]);
double y1=(spc[1])*((double)ext[3]);
double z0=(spc[2])*((double)ext[4]);
double z1=(spc[2])*((double)ext[5]);
-
GetRenderer()->ResetCamera(x0,x1,y0,y1,z0,z1);
//_wxvtk3Dbaseview->GetCamera()->SetPosition(x,y,z);
GetCamera()->Dolly(1.5);
- }
+ }// if ext
}
//-------------------------------------------------------------------
void wxVtk3DBaseView::SetStereo(int type)
{
//EED 02/06/2012
-
if (_renWin!=NULL)
{
if (type==0)
// VTK_STEREO_ANAGLYPH 7
// VTK_STEREO_CHECKERBOARD 8
_renWin->SetStereoType(type);
-
} // if type
} // _renWin
}
//wxVtkBaseView::Configure();
_aRenderer = vtkRenderer::New();
_renWin = vtkRenderWindow::New();
+
+ int supportopengl=_renWin->SupportsOpenGL();
+ printf("EED wxVtk3DBaseView::Configure >>>>> vtkRenderWindow SupportsOpenGL %d\n", supportopengl );
+ printf("EED wxVtk3DBaseView::Configure >>>>> vtkRenderWindow IsDirect %d\n", _renWin->IsDirect() );
+ if (supportopengl==0)
+ {
+#if defined(_WIN32)
+ printf(" OpenGL 3 not detected.\n Try to install opengl drivers or use de opengl-mesa version.\n Copy from <ProgramsFiles>\\CreaTools\\crea_TPdlls-4.0.0\\bin\\opengl-mesa\n the file: opengl32.dll\n to <ProgramsFiles>\\CreaTools\\CreaTools-3.0.0\\bin \n");
+#else
+ printf(" OpenGL 3 not detected.\n Try to install opengl drivers or use de opengl-mesa version.\n");
+#endif
+ exit(0);
+ }
+
_renWin->AddRenderer(_aRenderer);
_aRenderer->GradientBackgroundOn();
_aRenderer->SetBackground( 0.33 , 0.33 , 0.33 );
_aRenderer->SetBackground2( 0.66 , 0.66 , 0.66 );
+
+
+
+// _aRenderer->GradientBackgroundOff();
+// _aRenderer->SetBackground(0,0,0 );
+
SetStereo(0);
GetCamera()->Roll(180);
GetCamera()->Yaw(180+30);
GetCamera()->Pitch(-22);
-
-
+
}
}
+
//-------------------------------------------------------------------
//EED 27 sep 2006
void wxVtk3DBaseView::GetSpacing(double spc[3])