+ auto p = it->second.begin( );
+ vtkActor* a = NULL;
+ while( a == NULL && p != it->second.end( ) )
+ {
+ a = dynamic_cast< vtkActor* >( p->GetPointer( ) );
+ p++;
+
+ } // elihw
+ if( a != NULL )
+ return( a->GetProperty( )->GetColor( r, g, b ) );
+
+ } // fi
+}
+
+// -------------------------------------------------------------------------
+double cpExtensions::QT::RendererWidget::
+GetOpacity( const std::string& name ) const
+{
+ auto it = this->m_ViewProps.find( name );
+ if( it != this->m_ViewProps.end( ) )
+ {
+ auto p = it->second.begin( );
+ vtkActor* a = NULL;
+ vtkImageSlice* s = NULL;
+ while( a == NULL && s == NULL && p != it->second.end( ) )
+ {
+ a = dynamic_cast< vtkActor* >( p->GetPointer( ) );
+ s = dynamic_cast< vtkImageSlice* >( p->GetPointer( ) );
+ p++;
+
+ } // elihw
+ if( a != NULL )
+ return( a->GetProperty( )->GetOpacity( ) );
+ else if( s != NULL )
+ return( s->GetProperty( )->GetOpacity( ) );
+ else
+ return( 0 );
+ }
+ return( 0 );
+}
+
+// -------------------------------------------------------------------------
+double cpExtensions::QT::RendererWidget::
+GetPointSize( const std::string& name ) const
+{
+ auto it = this->m_ViewProps.find( name );
+ if( it != this->m_ViewProps.end( ) )
+ {
+ auto p = it->second.begin( );
+ vtkActor* a = NULL;
+ while( a == NULL && p != it->second.end( ) )
+ {
+ a = dynamic_cast< vtkActor* >( p->GetPointer( ) );
+ p++;
+
+ } // elihw
+ if( a != NULL )
+ return( a->GetProperty( )->GetPointSize( ) );
+ else
+ return( 0 );
+ }
+ return( 0 );
+}
+
+// -------------------------------------------------------------------------
+double cpExtensions::QT::RendererWidget::
+GetLineWidth( const std::string& name ) const
+{
+ auto it = this->m_ViewProps.find( name );
+ if( it != this->m_ViewProps.end( ) )
+ {
+ auto p = it->second.begin( );
+ vtkActor* a = NULL;
+ while( a == NULL && p != it->second.end( ) )
+ {
+ a = dynamic_cast< vtkActor* >( p->GetPointer( ) );
+ p++;
+
+ } // elihw
+ if( a != NULL )
+ return( a->GetProperty( )->GetLineWidth( ) );
+ else
+ return( 0 );
+ }
+ return( 0 );
+}
+
+// -------------------------------------------------------------------------
+int cpExtensions::QT::RendererWidget::
+GetRepresentation( const std::string& name ) const
+{
+ auto it = this->m_ViewProps.find( name );
+ if( it != this->m_ViewProps.end( ) )
+ {
+ auto p = it->second.begin( );
+ vtkActor* a = NULL;
+ while( a == NULL && p != it->second.end( ) )
+ {
+ a = dynamic_cast< vtkActor* >( p->GetPointer( ) );
+ p++;
+
+ } // elihw
+ if( a != NULL )
+ return( a->GetProperty( )->GetRepresentation( ) );
+ else
+ return( -1 );
+ }
+ return( -1 );
+}
+
+// -------------------------------------------------------------------------
+void cpExtensions::QT::RendererWidget::
+SetScalarRange( const std::string& name, double r[ 2 ] )
+{
+ this->SetScalarRange( name, r[ 0 ], r[ 1 ] );
+}
+
+// -------------------------------------------------------------------------
+void cpExtensions::QT::RendererWidget::
+SetScalarRange( const std::string& name, double min, double max )
+{
+ auto it = this->m_ViewProps.find( name );
+ if( it != this->m_ViewProps.end( ) )
+ {
+ bool render = false;
+ for( auto p = it->second.begin( ); p != it->second.end( ); ++p )
+ {
+ TWLActor* a = dynamic_cast< TWLActor* >( p->GetPointer( ) );
+ if( a != NULL )
+ {
+ render = true;
+ a->SetRange( min, max );
+
+ } // fi
+
+ } // rof
+ if( render )
+ this->Render( );