]> Creatis software - creaContours.git/blobdiff - lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx
*** empty log message ***
[creaContours.git] / lib / Interface_ManagerContour_NDimensions / wxContourMainFrame.cxx
index 4cfa08134be989b9946325c498bb01b7ab4ca905..34182bdfeca0d59f525d589d6bfb145e2f30dcd4 100644 (file)
@@ -87,17 +87,16 @@ char wxContourMainFrame::COPY = 'C';
                _datadir = datadir;
 
        
-       inredo = 0;
-       inundo = 0;
+               inredo = 0;
+               inundo = 0;
 
-       interfMainPanel* pannew = interfMainPanel::getInstance(parent,datadir+"/data/Icons");//, eventHandler);
-       _performingOperation                    = new PerformingOperation();
+               _pannew = interfMainPanel::getInstance(this,datadir+"/data/Icons");//, eventHandler);
+               _performingOperation = new PerformingOperation();
 
-
-
-       if(images.size() > 0){
-               this->setVectImages(images);
-       }
+               if(images.size() > 0)
+               {
+                       this->setVectImages(images);
+               }
 
 }
 
@@ -146,25 +145,41 @@ void wxContourMainFrame::setVectImages( std::vector<vtkImageData*> images ){
                return instance;
        }
 
-       std::vector<vtkImageData*> wxContourMainFrame ::getVectImages(){
+       std::vector<vtkImageData*> wxContourMainFrame ::getVectImages()
+       {
                return kernelManager->getVectImages();
        }
-       wxContourMainFrame* wxContourMainFrame :: getInstance(){
-               return instance;
-               
+
+       wxContourMainFrame* wxContourMainFrame :: getInstance()
+       {
+               return instance;        
+       }
+
+       void wxContourMainFrame :: resetInstance()
+       {
+               delete instance;
+               instance = NULL;
        }
 
        wxContourMainFrame :: ~wxContourMainFrame()
        {
-                 m_mgr.UnInit();
-                 //El problema al cerrar la aplicacion puede estar asociado 
-                 //a que  wxAUINotebook esta en la aplicacion 
-                 //principal (wxContourGUIExample)tambien
-//EED????              delete _theViewPanel;             
-//EED????              delete _instantPanel;
-//EED????              delete _buttonsBar;
-//EED????              delete _actualInstant;           
-//EED????              delete _sceneManager;
+
+               _pannew->Close();
+               interfMainPanel::resetInstance();
+               //_pannew->Destroy();
+               //delete _pannew;
+
+               m_mgr.UnInit();
+               //delete m_mgr;
+
+               //El problema al cerrar la aplicacion puede estar asociado 
+               //a que  wxAUINotebook esta en la aplicacion 
+               //principal (wxContourGUIExample)tambien
+               //EED????               delete _theViewPanel;             
+               //EED????               delete _instantPanel;
+               //EED????               delete _buttonsBar;
+               //EED????               delete _actualInstant;           
+               //EED????               delete _sceneManager;
        }
 
 
@@ -563,7 +578,8 @@ bool wxContourMainFrame::getIfConceptCheckedAt( std::string name, int pos ){
        return _instantPanel->getIfConceptCheckedAt( name, pos );
 }
 
-void wxContourMainFrame::changeInstant(){
+void wxContourMainFrame::changeInstant()
+{
                std::vector<int> instantVect;
                _instantPanel->getInstant( instantVect );
 //             Instant * theInstant = new Instant ( &instantVect );
@@ -611,6 +627,7 @@ void wxContourMainFrame::updateInstantImageData(){
                _theViewPanel->setImageSlice(z);
        }
 }
+
 void wxContourMainFrame::updateInstantAxes(){
 }
 
@@ -1524,7 +1541,6 @@ myfile.close();
                }       // if addedModel
        } // if sizeCtrPt
 }
-
 int wxContourMainFrame::GetImageDataSizeZ(){
        return _theViewPanel->GetImageDataSizeZ();
 }
@@ -1637,6 +1653,15 @@ void wxContourMainFrame::refLineShow()
        }
 }
 
+void wxContourMainFrame::refLineChangeWidth(int width)
+{
+       _refLineView->SetWidthLine(width);
+       _refLineView->RefreshContour();
+
+       RefreshInterface();
+}
+
+
 void wxContourMainFrame::onMirror()
 {
        //AD:02-09
@@ -1671,7 +1696,63 @@ void wxContourMainFrame::onMirror()
        //_refName = "";
 }
 
-void wxContourMainFrame::showAxis(bool show){
+void wxContourMainFrame::onThreshold(int minVal, int maxVal)
+{
+       
+       vtkImageData * img = _theViewPanel->getImageData();
+       
+       double range[2];
+       img->GetScalarRange(range);
+
+       //vtkImageData * fakeImage = new vtkImageData();
+
+       //Lookup Table
+       vtkLookupTable *lookup = vtkLookupTable::New();
+       lookup->SetNumberOfTableValues(range[1]);
+       lookup->SetTableRange(range); 
+       lookup->SetAlphaRange(0, 1);
+       lookup->SetValueRange(0, 1);
+       lookup->SetSaturationRange(0, 0); 
+       lookup->SetRampToLinear( );
+
+
+       //Assign a fake color for the upper image, and set the white as transparent
+       for(int i = range[0]; i < range[1]; i++)
+       {
+               if( i >= minVal && i <= maxVal )
+               {
+                       lookup->SetTableValue(i, 1.0, 0.0, 0.0, 1);
+               }
+               else if( i >= range[0] && i < minVal )
+               {
+                       lookup->SetTableValue(i, 0.0, 0.0, 0.0, 0); //transparent
+               }
+               else if( i > maxVal && i < range[1] )
+               {
+                       lookup->SetTableValue(i, 0.0, 0.0, 0.0, 0); //transparent
+               }
+       }
+               
+               lookup->Build( );
+
+               vtkImageMapToColors *mapperImage = vtkImageMapToColors::New( );
+               mapperImage->SetInput( img );
+               mapperImage->SetLookupTable( lookup );
+
+               vtkImageActor * upperImageActor = vtkImageActor::New( );
+               upperImageActor->SetInput( mapperImage->GetOutput() );
+               upperImageActor->SetOpacity( 1 );
+
+               //viewer->SetInput( myImage ); viewer->GetRenderer()->AddActor( myActor );ACTOR!!!
+
+               //baseImageActor = vtkImageActor::New( );
+               //baseImageActor->SetInput( mBox->bbGetInputImage1() );
+
+               RefreshInterface();
+}
+
+void wxContourMainFrame::showAxis(bool show)
+{
        _theViewPanel->SetVisibleAxis(show);
        _theViewPanel->Refresh();
 }