Source Code

 

 

 

// ----------------------------------------------------------------------------

//

//          Definition of the Class SliceO_Window

//

// ----------------------------------------------------------------------------

 

class    SLICEO_DB          SliceO_Window {

 

private:

          unsigned short          m_class_id ;

 

public:

          unsigned short          Class_Id_Get( void ) ;

          unsigned short          Class_Class_Get( void ) ;

 

public:

          // --------------- Constructors -------------------------------

          SliceO_Window( void) ;

          ~SliceO_Window( void ) ;

 

private:

          unsigned short          m_index ;                    // index of this window (0...MAX_WINDOW-1)

          unsigned char          m_display_mode ;          // MODE_ALL / MODE_ONE / MODE_3D

          unsigned int          m_module ;

public:

          unsigned int          m_module_2D ;

          unsigned int          m_module_3D ;

 

          unsigned short          Id_Get( void ) ;

          void          Id_Set( unsigned short ) ;

          unsigned char          Mode_Get( void ) ;

          void          Mode_Set( unsigned char mode ) ;

          unsigned int          Module_Get( void ) ;

          void          Module_Set( unsigned int mode ) ;

 

public:

          unsigned char          m_on_off ;                    // 0 if off

          unsigned char          m_visible ;                    // 1 if displayed

          UInt64          m_flag_update_a ;

          UInt64          m_flag_update_b ;

          UInt64          m_flag_redraw ;

 

          unsigned short          m_dim_x ;          // --- window's dimensions ---

          unsigned short          m_dim_y ;

 

          Color          m_color ;

 

//private:

          Boxs          box_box ;          // - outside box (include the decoration)

 

          // --- tools for the 2D windows ---

          Valuators          val_x ;                    // - horizontal slider under the image

          Valuators          val_y ;                    // - vertical slider on the right side

          Boxs          box_inside ;          // - inside box (only the OpenGL graphic)

 

          // --- tools for the 3D windows ---

          Matrix          m_3D_transfo ;

          Matrix          m_3D_modelview_clip ;

          Matrix          m_3D_projection_clip ;

          float          m_3D_FOV ;

          Vect          m_3D_camera ;

          Vect          m_3D_up ;

          Vect          m_3D_viewport_org ;

          Vect          m_3D_viewport_dim ;

 

          float          m_3D_scale ;

          Point_3D          m_3D_center ;

 

          // --- associated Windows window ---

          HWND          m_wind_border ;                    // - window: including outside decoration

          HWND          m_wind_draw ;                    // - window: only the internal graphic region

 

public:

          // ====================================================================

          // ===    System transformations (Wnd to Inf)                                  ===

          // ====================================================================

          Point_2D          Inf_2_Wnd( Point_2D ) ;

          Point_2D          Wnd_2_Inf( Point_2D ) ;

 

          Region_2D          Inf_2_Wnd( Region_2D ) ;

          Region_2D          Wnd_2_Inf( Region_2D ) ;

} ;