+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------
+*/
+
/*=========================================================================
Program: bbtk
Module: $RCSfile$
}
//=========================================================================
+
manualConnectorContourController::~manualConnectorContourController()
{
}
+
+ //=========================================================================
+
+ void manualConnectorContourController::MouseMove(int x, int y) // virtual
+ {
+
+ int z=GetZ();
+
+ GetManualViewBaseContour()->SelectPosiblePoint(x,y,z);
+ GetManualViewBaseContour()->SelectPosibleContour(x,y,z);
+ if (GetState()==1){ SetPoint( _bakIdPoint , x , y ,z); }
+ if (GetState()==5){ SetPoint( _bakIdPoint , x , y ,z); }
+ if ( GetState()==6 && !IsEditable() && GetPosibleToMove() &&IsMoving() )
+ {
+ //GetManualViewBaseContour()->MoveContour(x,y,z);
+ }
+ if (GetState()!=7 || GetManualViewBaseContour()->GetPosibleSelected() ){
+ GetManualViewBaseContour()->Refresh();
+ this->_vtkInteractorStyleBaseView->SetRefresh_waiting();
+ }
+ if (!IsEditable())
+ {
+ GetManualViewBaseContour()->RemoveControlPoints();
+ GetManualViewBaseContour()->Refresh();
+ this->_vtkInteractorStyleBaseView->SetRefresh_waiting();
+ }
+
+ }
+
//=========================================================================
void manualConnectorContourController::MouseClickRight(int x, int y)
SetEditable( false );
SetPosibleToMove( false );
SetState(0);
-
- if(!_created)
- {
- //DeleteContour();
- }
+
}
//=========================================================================
- void manualConnectorContourController::MouseClickLeft(int x, int y){
+
+ void manualConnectorContourController::MouseClickLeft(int x, int y)
+ {
bool ok = false;
- int z = GetZ();
+ int z=GetZ();
int size= GetManualViewBaseContour()->GetNumberOfPoints();
+
// Insert a Control Point with shift+ClickLeft
vtkRenderWindowInteractor *vtkrenderwindowinteractor = _vtkInteractorStyleBaseView->GetInteractor();
if( IsEditable() )
if ((GetState()==1) && (_easyCreation==true) && GetNumberOfPointsManualContour()==2)
{
ok=true;
-
- SetCompleteCreation( true );
- SetKeyBoardMoving( false );
- GetManualContourModel()->SetCloseContour(false);
-
- SetEditable( false );
- SetPosibleToMove( false );
- SetState(0);
+ endContourCreation();
}
// Continue to Insert Control Points with ClickLeft (After being empty the contour)
{
ok=true;
_bakIdPoint = GetManualViewBaseContour()->GetIdPoint(x,y,z);
- SetState(5);
+ if(_bakIdPoint!=0 && _bakIdPoint!=GetManualViewBaseContour()->GetNumberOfPoints()-1)
+ {
+ SetState(5);
+ }
}
// If nothing selected _state=7
if ( (GetState()==0) && (GetManualViewBaseContour()->GetIdPoint(x,y,z)==-1 ) )
GetManualViewBaseContour()->InitMove(x,y,z);
SetState(6);
}
+
if (ok==true)
{
GetManualViewBaseContour()->Refresh();
- }
+ }// ok
+
}
+
+ //=========================================================================
+
+ void manualConnectorContourController::endContourCreation()
+ {
+ SetCompleteCreation( true );
+ SetKeyBoardMoving( false );
+ GetManualContourModel()->SetCloseContour(false);
+
+ SetEditable( false );
+ SetPosibleToMove( false );
+ SetState(0);
+ }
+
+
//=========================================================================
} // EO namespace bbtk