// Class definition include
//----------------------------------------------------------------------------------------------------------------
#include "wxVtkBaseView_SceneManager.h"
+#include "wxVtk2DBaseView.h"
//----------------------------------------------------------------------------------------------------------------
// Class implementation
wxVtkBaseView_SceneManager :: wxVtkBaseView_SceneManager( wxVtkBaseView * theWxBaseViewToManage, wxEvtHandler * theEventHandler, double * spc )
{
- _widthOfContour = 1.0;
+ SetWidthContour(1.0);
_lastInteraction = NULL;
- _lastInteractionName = "";
+ _lastInteractionName = "";
_eventHandler = theEventHandler;
_leftClickCount = 0;
_rigthClickCount = 0;
- _contours_ViewControl = new std::map< std::string, ContourWrap_ViewControl * >();
- _sceneContours_ViewControl = new std::map< std::string, ContourWrap_ViewControl * >();
+ _contours_ViewControl = new std::map< std::string, ContourWrap_ViewControl * >();
+ _sceneContours_ViewControl = new std::map< std::string, ContourWrap_ViewControl * >();
_workingGroup = new std::map< std::string, ContourWrap_ViewControl * >();
_creatingMULT_ROI = false;
- _editingROI = false;
- _toIncludeAtInteractionGroup = false;
- _waiting = false;
+ _editingROI = false;
+ _toIncludeAtInteractionGroup = false;
+ _waiting = false;
_creatingROI = false;
- _drawingSelectionROI = 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;
}
//------------------------------------------------------------------------------------------------------------
return _wxVtk_BaseView;
}
//------------------------------------------------------------------------------------------------------------
- void wxVtkBaseView_SceneManager :: configureViewControlTo( std::string theKeyName, manualContourModel * manModelContour, double * spc,int typeContour)
+ void wxVtkBaseView_SceneManager :: configureViewControlTo( std::string theKeyName, manualBaseModel * manModelContour, double * spc,int typeContour)
{
//setControlActiveStateOfALL( false );
_creatingROI = true;
manualViewBaseContour *manViewerContour;
// Creating the view manualViewContour and the manualContourControler
+ // NOTE: The model is created in the KernelManagerContour class, factoryManualContourModel method
if (typeContour==1)
{
manContourControl = new manualContourControler();
manViewerContour = new manualViewLine();
}
+ //Points
+ if (typeContour==7)
+ {
+ manContourControl = new manualContourControler();
+ manViewerContour = new manualViewPoints();
+ }
+
+ //Polygon
+ if (typeContour==10)
+ {
+ manContourControl = new manualContourControler();
+ manViewerContour = new manualViewContour();
+ }
-//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( _widthOfControlPoint );
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);
}
// Other functional methods
//------------------------------------------------------------------------------------------------------------
- void wxVtkBaseView_SceneManager :: createCopyContourOf( std::string anExistingKName, std::string cloneName, manualContourModel * manualModel, bool append )
+ void wxVtkBaseView_SceneManager :: createCopyContourOf( std::string anExistingKName, std::string cloneName, manualBaseModel * manualModel, bool append )
{
if ( !append )
{
}
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 );
- manualContourModel *cModule = manualModel;
+ manualBaseModel *cModule = manualModel;
manualViewBaseContour *cViewer = iter->second->getViewer()->Clone();
manualContourBaseControler *cControl = iter->second->getControler()->Clone( );
_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 );
{
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;
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();
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 )
{
int tmpPx,tmpPy;
wxVTKRenderWindowInteractor *wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
wxVTKiren->GetEventPosition( tmpPx , tmpPy );
- fprintf(ff,"::%s (x,y) = (%i, %i) t(sg): \n \n",method.c_str(), tmpPx, tmpPy, sg);
+ fprintf(ff,"::%s (x,y) = (%i, %i) t(sg): %f\n \n",method.c_str(), tmpPx, tmpPy, sg);
fclose(ff);
}
if (currentSelection.size()>=1){
manualContourBaseControler *cControler = this->getControlerOf( currentSelection[0] );
- manualContourModel *cModel = cControler->GetManualContourModel();
+ manualBaseModel *cModel = cControler->GetManualContourModel();
int i,size = cModel->GetNumberOfPointsSpline();
double x,y,z;
for (i=0; i<size; i++)
//------------------------------------------------------------------------------------------------------------
void wxVtkBaseView_SceneManager::SetWidthContour(double width)
{
- _widthOfContour = width;
+ _widthOfContour = width;
+ _widthOfControlPoint = _widthOfContour*_widthOfContour/2;
manualViewBaseContour *cViewer;
ContourWrap_ViewControl *conwraviwcont;
- std::map <std::string, ContourWrap_ViewControl *>::iterator iter;;
+ std::map <std::string, ContourWrap_ViewControl *>::iterator iter;
- for (iter=_contours_ViewControl->begin(); iter!=_contours_ViewControl->end(); iter++ )
+ if (_contours_ViewControl!=NULL)
{
- conwraviwcont = iter->second;
- cViewer = conwraviwcont->getViewer();
- cViewer->SetWidthLine(_widthOfContour);
- }
+ for (iter=_contours_ViewControl->begin(); iter!=_contours_ViewControl->end(); iter++ )
+ {
+ conwraviwcont = iter->second;
+ cViewer = conwraviwcont->getViewer();
+ cViewer->SetWidthLine( _widthOfContour );
+ cViewer->SetRange( _widthOfControlPoint );
+ } // for
+ } // if
}
bool wxVtkBaseView_SceneManager::isEditableCControler(std::string theKeyName){
ContourWrap_ViewControl* ccon = getContourWrap_ViewControlOf(theKeyName);
- manualViewBaseContour * cViewer = ccon->getViewer();
- manualContourBaseControler * cControler = ccon->getControler();
+ manualViewBaseContour * cViewer = ccon->getViewer();
+ manualContourBaseControler * cControler = ccon->getControler();
removeFromScene(theKeyName);
removeWrap(theKeyName);
delete cViewer;
delete cControler;
}
-
\ No newline at end of file
+
+
+