#ifndef __CPBASEQTAPPLICATION__ACTORPROPERTIES__H__ #define __CPBASEQTAPPLICATION__ACTORPROPERTIES__H__ #include #include #include #include #include #include #include // ------------------------------------------------------------------------- namespace cpBaseQtApplication { /** */ class cpBaseQtApplication_EXPORT ActorProperties : public QWidget { Q_OBJECT; public: template< class _TObj > struct TCmp { bool operator()( const vtkSmartPointer< _TObj >& a, const vtkSmartPointer< _TObj >& b ) const { return( a.GetPointer( ) < b.GetPointer( ) ); } }; typedef vtkSmartPointer< vtkProp > TActor; typedef vtkSmartPointer< vtkRenderWindow > TRenderWindow; typedef std::set< TActor, TCmp< vtkProp > > TActors; typedef std::set< TRenderWindow, TCmp< vtkRenderWindow > > TWindows; public: explicit ActorProperties( QWidget* parent = 0 ); virtual ~ActorProperties( ); virtual bool addActor( vtkProp* obj ) = 0; bool addRenderWindow( vtkRenderWindow* win ); void _render( ); protected: virtual void _updateWidgets( ) = 0; protected: TActors m_Actors; TWindows m_Windows; }; } // ecapseman #endif // __CPBASEQTAPPLICATION__ACTORPROPERTIES__H__ // eof - $RCSfile$