// Class definition include
//----------------------------------------------------------------------------------------------------------------
#include "wxVtkBaseView_SceneManager.h"
+#include "wxVtk2DBaseView.h"
//----------------------------------------------------------------------------------------------------------------
// Class implementation
_creatingROI = false;
_drawingSelectionROI = false;
+
_wxVtk_BaseView = theWxBaseViewToManage;
if( _wxVtk_BaseView!=NULL )
{
- vtkInteractorStyleBaseView* theInteractorStyleBaseView = _wxVtk_BaseView->GetInteractorStyleBaseView();
+ vtkInteractorStyleBaseView* theInteractorStyleBaseView = (vtkInteractorStyleBaseView*)_wxVtk_BaseView->GetInteractorStyleBaseView();
theInteractorStyleBaseView->AddInteractorStyleMaracas( this );
SetVtkInteractorStyleBaseView( theInteractorStyleBaseView );
}
_contours_ViewControl->erase( iter );
i++;
}
- delete _contours_ViewControl;
_contours_ViewControl->clear();
+ delete _contours_ViewControl;
_workingGroup->clear();
delete _lastInteraction;
delete _workingGroup;
- delete _contours_ViewControl;
+ //delete _contours_ViewControl;
}
//------------------------------------------------------------------------------------------------------------
{
manContourControl = new manualContourControler();
manViewerContour = new manualViewContour();
+ manModelContour->SetCloseContour(false);
}
if (typeContour==2)
manViewerContour = new manualViewBullEye();
}
+ if (typeContour==6)
+ {
+ manContourControl = new manualLineControler();
+ manViewerContour = new manualViewLine();
+ }
-//EED Borrame
-//FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-//fprintf(ff,"EED wxVtkBaseView_SceneManager :: configureViewControlTo \n" );
-//fprintf(ff," %s %p \n",theKeyName.c_str() , manContourControl );
-//fclose(ff);
_lastInteraction = insertWrap( theKeyName, manContourControl, manViewerContour );
//Configuring the relations between the contour members representation
manViewerContour->SetModel( manModelContour );
manViewerContour->SetWxVtkBaseView( _wxVtk_BaseView );
- manViewerContour->SetRange( 2 );
+ manViewerContour->SetRange( 0.5 );
manViewerContour->SetZ( 1000 );
manViewerContour->SetSpacing(spc);
_viewerSelectionROI->SetSpacing( spc );
_controlerSelectionROI->SetModelView( _modelSelectionROI , _viewerSelectionROI );
- _wxVtk_BaseView->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( _controlerSelectionROI );
+ ((vtkInteractorStyleBaseView*)_wxVtk_BaseView->GetInteractorStyleBaseView())->AddInteractorStyleMaracas( _controlerSelectionROI );
_controlerSelectionROI->SetActive(false);
}
std::map<std::string, ContourWrap_ViewControl *> :: iterator iter;
iter = _contours_ViewControl->find( theName );
return iter->second;
+ //return iter->first;
}
//------------------------------------------------------------------------------------------------------------
ContourWrap_ViewControl * wxVtkBaseView_SceneManager :: getContourWrap_ViewControlOf ( std::string theName, std::map<std::string, ContourWrap_ViewControl *> * theMap )
setControlActiveStateOf( _workingGroup, false );
_workingGroup->clear();
}
- std::map <std::string, ContourWrap_ViewControl *>::iterator iter; // = NULL;
+ std::map <std::string, ContourWrap_ViewControl *>::iterator iter;
-//EED Borrame
-// FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-// fprintf(ff,"EED wxVtkBaseView_SceneManager::createCopyContourOf() \n" );
-// int ii,size = _contours_ViewControl->size();
-// iter = _contours_ViewControl->begin();
-// for (ii=0;ii<size;ii++)
-// {
-// fprintf(ff," %d %s\n ", ii ,iter->first.c_str() );
-// iter++;
-// }
-//fclose(ff);
iter = _contours_ViewControl->find( anExistingKName );
_lastInteractionName = "";
}
-//EED Borrame
-//FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-//fprintf(ff,"EED wxVtkBaseView_SceneManager :: removeFromScene \n" );
-//fprintf(ff," %p \n", contourWRP->getControler() );
-//fclose(ff);
- _wxVtk_BaseView->GetInteractorStyleBaseView()->RemoveInteractorStyleMaracas( contourWRP->getControler() );
+ ((vtkInteractorStyleBaseView*)_wxVtk_BaseView->GetInteractorStyleBaseView())->RemoveInteractorStyleMaracas( contourWRP->getControler() );
contourWRP->getControler()->SetActive( control );
contourWRP->getControler()->SetEditable( false );
std::map<std::string, ContourWrap_ViewControl *> :: iterator iter;
iter = _sceneContours_ViewControl->find( theKeyName );
- if (iter != _sceneContours_ViewControl->end()){
+ if (iter != _sceneContours_ViewControl->end())
+ {
ContourWrap_ViewControl * contourWRP = iter->second;
removeFromScene( contourWRP );
-//EED Borrame
-//FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-//fprintf(ff,"EED wxVtkBaseView_SceneManager :: removeFromScene Bbbbb \n" );
-//fprintf(ff," %d \n", _sceneContours_ViewControl->size() );
_sceneContours_ViewControl->erase(iter);
- }
-//EED Borrame
-//fprintf(ff," %d \n", _sceneContours_ViewControl->size() );
-//fclose(ff);
+ }
}
//------------------------------------------------------------------------------------------------------------
void wxVtkBaseView_SceneManager :: removeSceneContours( )
{
-//EED Borrame
-//FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-//fprintf(ff,"EED wxVtkBaseView_SceneManager :: removeSceneContours \n" );
-//fprintf(ff," %d \n", _sceneContours_ViewControl->size() );
std::map <std::string, ContourWrap_ViewControl *>::iterator iter = _sceneContours_ViewControl->begin();
int size = _sceneContours_ViewControl->size();
for ( int i = 0; i<size; i++ )
}
_sceneContours_ViewControl->clear();
-//EED Borrame
-//fprintf(ff," %d \n", _sceneContours_ViewControl->size() );
-//fclose(ff);
//Removing the selection rectangle to avoid showing when it's innecesary
_controlerSelectionROI->SetActive( false );
if( control )
{
- _wxVtk_BaseView->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( contourWRP->getControler() );
+ ((vtkInteractorStyleBaseView*)_wxVtk_BaseView->GetInteractorStyleBaseView())->AddInteractorStyleMaracas( contourWRP->getControler() );
}
if( ifActive )
{
int size = _workingGroup->size();
for ( int i = 0; i<size; i++ )
{
- manualViewBaseContour * viewer = iter->second->getViewer();
+//EED??? manualViewBaseContour * viewer = iter->second->getViewer();
selectedObjects.push_back( iter->first);
iter++;
void wxVtkBaseView_SceneManager :: selectObjects( std::vector< std::string > theExistingObjectsToSelect )
{
std::map <std::string, ContourWrap_ViewControl *>::iterator iter = _contours_ViewControl->begin();
- int size = _contours_ViewControl->size();
- bool selected;
+//EED??? int size = _contours_ViewControl->size();
+//EED??? bool selected;
/*for ( int i = 0; i<size; i++ )
{
selected = false;
// Inherited Methods
//------------------------------------------------------------------------------------------------------------
+ bool wxVtkBaseView_SceneManager :: isCtrlPressed()
+ {
+ return _ctrlKey;
+ }
+ bool wxVtkBaseView_SceneManager :: isShiftPressed()
+ {
+ return _shiftKey;
+ }
+ char wxVtkBaseView_SceneManager :: getLastKeyCode()
+ {
+ return _lastKeyCode;
+ }
bool wxVtkBaseView_SceneManager :: OnChar()
{
- bool ctrlKey = _vtkInteractorStyleBaseView->GetInteractor()->GetControlKey() == 1;
- bool shiftKey = _vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey() == 1;
+ _ctrlKey = _vtkInteractorStyleBaseView->GetInteractor()->GetControlKey() == 1;
+ _shiftKey = _vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey() == 1;
_lastKeyCode = _vtkInteractorStyleBaseView->GetInteractor()-> GetKeyCode();
+
+ wxCommandEvent cevent( wxEVT_COMMAND_BUTTON_CLICKED );
+ _eventHandler->ProcessEvent( cevent );
-
- if( _eventHandler!=NULL )
+
+ /*if( _eventHandler!=NULL )
{
- const char * toolCommand = NULL;
+ char * toolCommand = NULL;
if ( _lastKeyCode == 3 && ctrlKey ) //'C' || 'c'
{
- toolCommand = &(wxContour_ActionCommandsID::COPY_TOOL);
+ toolCommand = &(COPY_TOOL);
}
else if( _lastKeyCode == 22 && ctrlKey ) //'V' || 'v'
{
- toolCommand = &(wxContour_ActionCommandsID::PASTE_TOOL);
+ toolCommand = &(PASTE_TOOL);
}
else if( _lastKeyCode == 8 || (_lastKeyCode==127) ) // Delete
{
- toolCommand = &(wxContour_ActionCommandsID::DELETE_KEY);
+ toolCommand = &(DELETE_KEY);
}
else if( _lastKeyCode == 14 && ctrlKey ) //'N' || 'n'
{
- toolCommand = &(wxContour_ActionCommandsID::CREATE_CONTOUR_KEY);
+ toolCommand = &(CREATE_CONTOUR_KEY);
}
else if( _lastKeyCode == 15 && ctrlKey ) //'O' || 'o'
{
- toolCommand = &(wxContour_ActionCommandsID::OPEN_TOOL);
+ toolCommand = &(OPEN_TOOL);
}
else if( _lastKeyCode == 19 && ctrlKey ) //'S' || 's'
{
- toolCommand = &(wxContour_ActionCommandsID::SAVE_KEY);
+ toolCommand = &(SAVE_KEY);
}
if ( toolCommand!=NULL )
{
+ currentkey = toolCommand;
wxCommandEvent cevent( wxEVT_COMMAND_BUTTON_CLICKED );
cevent.SetClientData( (void *) toolCommand);
_eventHandler->ProcessEvent( cevent );
}
- }
+ }*/
// long int endtime = clock();
bool wxVtkBaseView_SceneManager :: OnMouseMove()
{
-//EED Borrame
-// FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-// fprintf(ff,"EED wxVtkBaseView_SceneManager::OnMouseMove() \n" );
-// fclose(ff);
bool condition = true;
int X,Y;
_wxVTKiren->GetEventPosition( X , Y );
bool ctrlKey = _vtkInteractorStyleBaseView->GetInteractor()->GetControlKey() == 1;
- bool shiftKey = _vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey() == 1;
+//??? bool shiftKey = _vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey() == 1;
if( _waiting && !ctrlKey )
{
{
//Multiple moving
- bool ckecking = false;
+//EED??? bool ckecking = false;
for( i =0; i<size ; i++ )
{
control = iter->second->getControler();
if( ((_lastInteraction != NULL && !control->IsEditable() && !control->IsMoving() ) || _lastInteraction==NULL ))
{
-//EED Borrame
-// FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-// fprintf(ff,"EED wxVtkBaseView_SceneManager::OnMouseMove() 00222\n" );
-// fclose(ff);
- _lastInteraction=NULL;
+
+ _lastInteraction=NULL;
for( i =0; i<size ; i++ )
{
control = iter->second->getControler();
_lastInteractionName = iter->first;
viewer->UpdateColorActor();
- control->SetPosibleToMove( true );
+ control->SetPosibleToMove( true );
// viewer->AddCompleteContourActor();
}
iter++;
bool wxVtkBaseView_SceneManager :: OnLeftButtonDown()
{
- /*FILE *ff;
- ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
- long int endtime = clock();
-// double sg = (double)(endtime-startTimeAE) / (double)CLK_TCK;
- fprintf(ff,"wxVtkBaseView_SceneManager :: OnLeftButtonDown() tLBDown = %i \n \n",endtime);
- fclose(ff);*/
- char aa = _vtkInteractorStyleBaseView->GetInteractor()->GetKeyCode();
+//EED??? char aa = _vtkInteractorStyleBaseView->GetInteractor()->GetKeyCode();
bool condition = false;
//vtkCommand * theComand = _wxVtk_BaseView ->GetInteractorStyleBaseView()->GetCommand(
- vtkRenderWindowInteractor * vtkRWInteractor1 = _wxVtk_BaseView ->GetWxVTKRenderWindowInteractor();
- wxVTKRenderWindowInteractor * vtkRWInteractor2 = _wxVtk_BaseView ->GetWxVTKRenderWindowInteractor();//GetInteractorStyleBaseView()->GetInteractor();
- wxVTKRenderWindowInteractorPlus * vtkRWInteractor3 = (wxVTKRenderWindowInteractorPlus*)_wxVtk_BaseView ->GetWxVTKRenderWindowInteractor();//GetInteractorStyleBaseView()->GetInteractor();
+//EED??? vtkRenderWindowInteractor * vtkRWInteractor1 = _wxVtk_BaseView ->GetWxVTKRenderWindowInteractor();
+//EED??? wxVTKRenderWindowInteractor * vtkRWInteractor2 = _wxVtk_BaseView ->GetWxVTKRenderWindowInteractor();//GetInteractorStyleBaseView()->GetInteractor();
+//EED?? wxVTKRenderWindowInteractorPlus * vtkRWInteractor3 = (wxVTKRenderWindowInteractorPlus*)_wxVtk_BaseView ->GetWxVTKRenderWindowInteractor();//GetInteractorStyleBaseView()->GetInteractor();
vtkRenderWindowInteractor * vtkRWInteractor = _vtkInteractorStyleBaseView->GetInteractor();
bool ctrlKey = vtkRWInteractor->GetControlKey() == 1;
bool wxVtkBaseView_SceneManager :: OnRightButtonDown()
{
bool condition = false;
- vtkRenderWindowInteractor * vtkRWInteractor = _vtkInteractorStyleBaseView->GetInteractor();
- bool ctrlKey = vtkRWInteractor->GetControlKey() == 1;
+//EED??? vtkRenderWindowInteractor * vtkRWInteractor = _vtkInteractorStyleBaseView->GetInteractor();
+//EED??? bool ctrlKey = vtkRWInteractor->GetControlKey() == 1;
_waiting = true;
condition = true;
//_lastInteraction->getControler()->SetPosibleToMove( false );
control->SetActive( false );
control->SetEditable( false );
- _wxVtk_BaseView->GetInteractorStyleBaseView()->RemoveInteractorStyleMaracas( control );
+ control->SetPosibleToMove( false );
+// _wxVtk_BaseView->GetInteractorStyleBaseView()->RemoveInteractorStyleMaracas( control );
_lastInteraction->getViewer()->Refresh();
this->_vtkInteractorStyleBaseView->SetRefresh_waiting();
}
bool wxVtkBaseView_SceneManager :: OnRightDClick()
{
bool condition = false; condition = true;
- vtkRenderWindowInteractor * vtkRWInteractor = _vtkInteractorStyleBaseView->GetInteractor();
+//EED??? vtkRenderWindowInteractor * vtkRWInteractor = _vtkInteractorStyleBaseView->GetInteractor();
/*vtkRenderWindowInteractor * vtkRWInteractor1 =*/ _vtkInteractorStyleBaseView->OnChar();
- wxVTKRenderWindowInteractor * wxVtkRWInterator = _wxVtk_BaseView ->GetWxVTKRenderWindowInteractor();
+//EED??? wxVTKRenderWindowInteractor * wxVtkRWInterator = _wxVtk_BaseView ->GetWxVTKRenderWindowInteractor();
/*if( _waiting )
{
{
FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
long int start = clock();
- //double sg = (double)(start) / (double)CLK_TCK; // CLK_TCK not ANSI C.
- double sg = (double)(start) / (double)CLOCKS_PER_SEC;
+#if(WIN32)
+ double sg = (double)(start) / (double)CLK_TCK;
+#else
+ double sg = (double)(start) / CLOCKS_PER_SEC;
+#endif
int tmpPx,tmpPy;
wxVTKRenderWindowInteractor *wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
wxVTKiren->GetEventPosition( tmpPx , tmpPy );
- fprintf(ff,"::%s (x,y) = (%i, %i) t(sg): \n \n",method, tmpPx, tmpPy, sg);
+ fprintf(ff,"::%s (x,y) = (%i, %i) t(sg): %f\n \n",method.c_str(), tmpPx, tmpPy, sg);
fclose(ff);
}
cViewer->SetWidthLine(_widthOfContour);
}
}
+
+ bool wxVtkBaseView_SceneManager::isEditableCControler(std::string theKeyName){
+
+ ContourWrap_ViewControl* ccon = getContourWrap_ViewControlOf(theKeyName);
+ if(ccon != NULL ){
+ manualContourBaseControler* cControler = ccon->getControler();
+ if(cControler != NULL && cControler->IsEditable() == false){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ void wxVtkBaseView_SceneManager::deleteCViewerCControler(std::string theKeyName){
+
+
+ ContourWrap_ViewControl* ccon = getContourWrap_ViewControlOf(theKeyName);
+
+ manualViewBaseContour * cViewer = ccon->getViewer();
+ manualContourBaseControler * cControler = ccon->getControler();
+
+ removeFromScene(theKeyName);
+ removeWrap(theKeyName);
+
+ delete cViewer;
+ delete cControler;
+ }
+
\ No newline at end of file