]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/BaseMPRWidget.cxx
XML IO added. Workspace singleton added to simplify pipeline definition and execution.
[cpPlugins.git] / lib / cpPlugins / Interface / BaseMPRWidget.cxx
index ee6e5869075359e551bb07fdd31df17dcef3b850..052e374f51c879794a222e1cf336e59eecca1a66 100644 (file)
@@ -9,6 +9,19 @@
 #include <QTreeWidgetItem>
 #include <vtkRendererCollection.h>
 
+double cpPlugins::Interface::BaseMPRWidget::
+cm_Colors[ 8 ][ 3 ] =
+{
+  { 1.0, 0.0, 0.0 },
+  { 0.0, 1.0, 0.0 },
+  { 0.0, 0.0, 1.0 },
+  { 0.0, 1.0, 1.0 },
+  { 1.0, 0.0, 1.0 },
+  { 1.0, 1.0, 0.0 },
+  { 1.0, 0.5, 0.0 },
+  { 1.0, 0.0, 0.5 }
+};
+
 // -------------------------------------------------------------------------
 cpPlugins::Interface::BaseMPRWidget::
 BaseMPRWidget( QWidget* parent )
@@ -82,6 +95,13 @@ AddData(
     return( false );
 }
 
+// -------------------------------------------------------------------------
+const std::string& cpPlugins::Interface::BaseMPRWidget::
+GetMainImage( ) const
+{
+  return( this->m_MainImage );
+}
+
 // -------------------------------------------------------------------------
 bool cpPlugins::Interface::BaseMPRWidget::
 SetMainImage( const std::string& name )
@@ -180,8 +200,19 @@ ShowData( const std::string& name )
 
   if( iIt->second.Tag == Data::IMAGE )
   {
-    // TODO: this->m_MPRObjects->AddImage( iIt->second.Image );
-#error ACA VOY
+    if( name == this->m_MainImage )
+      this->m_MPRObjects->SetInputImage( iIt->second.Image );
+    else
+    {
+      unsigned int i = ( this->m_MPRObjects->GetNumberOfImages( ) - 1 ) % 8;
+      this->m_MPRObjects->AddBinaryImage(
+        iIt->second.Image,
+        Self::cm_Colors[ i ][ 0 ],
+        Self::cm_Colors[ i ][ 1 ],
+        Self::cm_Colors[ i ][ 2 ]
+        );
+    }
+    this->m_MPRObjects->Show( );
   }
   else if( iIt->second.Tag == Data::MESH )
   {
@@ -324,7 +355,9 @@ QTreeWidgetItem* cpPlugins::Interface::BaseMPRWidget::
 _FindItemInTree( const std::string& name ) const
 {
   QList< QTreeWidgetItem* > items =
-    this->m_UI->LoadedData->findItems( name.c_str( ), Qt::MatchExactly );
+    this->m_UI->LoadedData->findItems(
+      name.c_str( ), Qt::MatchExactly | Qt::MatchRecursive
+      );
   if( items.size( ) > 0 )
     return( items[ 0 ] );
   else