]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewPoint.cpp
Feature #1606 Add a new entry to ColorLayerImageView to select the fitting mode betwe...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualContour / manualViewPoint.cpp
index 61067b7cabf7457eb165b605e89f278fac579169..bcac67f98503038e7a79ff5a54b5a228bf6b90b2 100644 (file)
@@ -1,13 +1,6 @@
 #include "manualViewPoint.h"
 
-
-// ---------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-
-//int manualViewPoint::range=1;
-
-
 manualViewPoint::manualViewPoint(wxVtkBaseView *wxvtkbaseview){
        _selected                = false;
        _posibleSelected = false;
@@ -19,8 +12,16 @@ manualViewPoint::manualViewPoint(wxVtkBaseView *wxvtkbaseview){
        _spc[0]                  = 1;
        _spc[1]                  = 1;
        _spc[2]                  = 1;
-
        _widthline               = 1;
+       
+       //Colors
+       _colorNormal_r = 1.0;
+       _colorNormal_g = 0.0;
+       _colorNormal_b = 0.0;
+
+       _colorPosibleSelected_r = 1.0;
+       _colorPosibleSelected_g = 1.0;
+       _colorPosibleSelected_b = 0.0;
 
 }
 // ----------------------------------------------------------------------------
@@ -28,6 +29,27 @@ manualViewPoint::~manualViewPoint(){
        DeleteVtkObjects();
 }
 
+
+// ----------------------------------------------------------------------------
+manualViewPoint * manualViewPoint :: Clone()
+{
+       manualViewPoint * clone = new manualViewPoint(_wxvtkbaseview);
+       CopyAttributesTo(clone);
+       return clone;
+}
+
+// ---------------------------------------------------------------------------
+
+void manualViewPoint::CopyAttributesTo( manualViewPoint * cloneObject)
+{
+       // Fathers object
+       cloneObject->SetPosibleSelected(_posibleSelected);
+       cloneObject->SetSelected(_selected);
+       cloneObject->SetSpacing(_spc);
+       cloneObject->SetWidthLine(_widthline);
+}
+
+
 // ----------------------------------------------------------------------------
 void manualViewPoint::SetWidthLine( double width)
 {
@@ -118,6 +140,8 @@ vtkActor* manualViewPoint::CreateVtkPointActor()
 
        return _pointVtkActor;
 }
+
+
 // ----------------------------------------------------------------------------
 vtkActor* manualViewPoint::GetVtkActor(){
        return _pointVtkActor;
@@ -125,9 +149,6 @@ vtkActor* manualViewPoint::GetVtkActor(){
 // ----------------------------------------------------------------------------
 void manualViewPoint::SetPositionXY(double x, double y,double i_range,double posZ)
 {
-//     double range=0.2; // i_range;
-//     double range=(double)manualViewPoint::range;
-
        double range=i_range;
 
 //EED 27 sep 2006
@@ -154,12 +175,22 @@ void manualViewPoint::UpdateColorActor()
        if (_pointVtkActor!=NULL){
 //EED03
                _pointVtkActor->GetProperty()->SetLineWidth( _widthline );
-               _pointVtkActor->GetProperty()->SetDiffuseColor(1,0,0);
+               _pointVtkActor->GetProperty()->SetDiffuseColor(_colorNormal_r,_colorNormal_g,_colorNormal_b);
                if (_posibleSelected==true){
-                       _pointVtkActor->GetProperty()->SetDiffuseColor(1,1,0);
+                       _pointVtkActor->GetProperty()->SetDiffuseColor(_colorPosibleSelected_r,_colorPosibleSelected_g,_colorPosibleSelected_b);
                }
        }
 }
+
+// ----------------------------------------------------------------------------
+void manualViewPoint::UpdateColorActor(double nR, double nG, double nB)
+{
+       _colorNormal_r = nR;
+       _colorNormal_g = nG;
+       _colorNormal_b = nB;
+       UpdateColorActor();
+}
+
 // ----------------------------------------------------------------------------
 void manualViewPoint::GetSpacing(double spc[3])
 {