#include <RenderWindow.h>
Public Types | |
IDD = IDD_DIALOG3 | |
enum | { IDD = IDD_DIALOG3 } |
Public Member Functions | |
RenderWindow (CWnd *pParent=NULL) | |
virtual | ~RenderWindow () |
virtual void | renderScene () |
virtual BOOL | initOpenGL () |
void | setContext () |
void | OnMouseMove (UINT flags, CPoint point) |
void | OnPaint () |
void | redraw () |
void | recalc () |
void | setVolumeLoader (VolumeLoader *vol_load) |
void | setInvViewMatrix (matrix44 matr) |
Public Attributes | |
CDC * | device_context_ |
The device context. | |
CWnd * | theParent |
the parent cchildframe. | |
OpaqueCubes * | opaque_cubes_ |
This holds the opaque cube algorithm. | |
bool | are_opaque_cubes_already_created_ |
This holds the opaque cube creation flag. | |
Protected Member Functions | |
virtual void | DoDataExchange (CDataExchange *pDX) |
virtual BOOL | createViewGLContext () |
BOOL | setupPixelFormat () |
void | swapGLBuffers () |
virtual void | OnDraw (CDC *device_context) |
virtual BOOL | PreCreateWindow (CREATESTRUCT &create_struct) |
afx_msg int | OnCreate (LPCREATESTRUCT create_struct) |
afx_msg void | OnDestroy () |
afx_msg BOOL | OnEraseBkgnd (CDC *device_context) |
afx_msg void | OnTimer (UINT event_id) |
afx_msg void | OnSize (UINT type, int new_width, int new_height) |
Protected Attributes | |
Volume * | volume_ |
The volume. | |
VolumeLoader * | volume_loader_ |
The volume loader. | |
HGLRC | rendering_context_ |
The rendering context handle. | |
Raycaster * | raycaster_ |
This holds the raycaster. | |
float | zoom_ |
This holds the value of the zoom. | |
float | x_pos_ |
This holds the x position of the camera. | |
float | y_pos_ |
This holds the y position of the camera. | |
matrix44 | view_matrix_ |
The view matrix of the volume. | |
matrix44 | inv_view_matrix_ |
The inverse view matrix of the volume. | |
float | rotation_angle_ |
This holds the rotation angle adjusted by the mouse movements. | |
Vector3 | rotation_axis_ |
This holds the rotation axis adjusted by the mouse movements. | |
int | last_mouse_x_ |
This holds the last x mouse position. | |
int | last_mouse_y_ |
This holds the last y mouse position. | |
float | x_rot_ |
float | y_rot_ |
This holds the y rotation angle. | |
double | view_width_height_ratio_ |
RenderWindow::RenderWindow | ( | CWnd * | pParent = NULL |
) |
RenderWindow::~RenderWindow | ( | ) | [virtual] |
BOOL RenderWindow::createViewGLContext | ( | ) | [protected, virtual] |
Creates the OpenGL context for drawing on the view.
void RenderWindow::DoDataExchange | ( | CDataExchange * | pDX | ) | [protected, virtual] |
BOOL RenderWindow::initOpenGL | ( | ) | [virtual] |
This initializes all stuff needed for the OpenGL rendering.
int RenderWindow::OnCreate | ( | LPCREATESTRUCT | create_struct | ) | [protected] |
The MFC framework calls this member function when an application requests that the Windows window be created by calling the Create or CreateEx member function.
create_struct | Points to a CREATESTRUCT structure that contains information about the CWnd object being created. |
void RenderWindow::OnDestroy | ( | ) | [protected] |
The framework calls this member function to inform the CWnd object that it is being destroyed.
void RenderWindow::OnDraw | ( | CDC * | device_context | ) | [protected, virtual] |
This overrided method is resonsible for rendering of an image of the document.
device_context | This is used to render an image of the document. |
BOOL RenderWindow::OnEraseBkgnd | ( | CDC * | device_context | ) | [protected] |
The MFC framework calls this member function when the CWnd object background needs erasing (for example, when resized).
device_context | Specifies the device-context object. |
void RenderWindow::OnMouseMove | ( | UINT | flags, | |
CPoint | point | |||
) |
The MFC framework calls this member function when the mouse cursor moves.
flags | Indicates whether various virtual keys are down. | |
point | Specifies the x- and y-coordinate of the cursor. These coordinates are always relative to the upper-left corner of the window. |
void RenderWindow::OnPaint | ( | ) |
void RenderWindow::OnSize | ( | UINT | type, | |
int | new_width, | |||
int | new_height | |||
) | [protected] |
The framework calls this member function after the window's size has changed. Here we adjust the viewport after sizing the window.
type | Specifies the type of resizing requested. | |
new_width | Specifies the new width of the client area. | |
new_height | Specifies the new height of the client area. information about the CWnd object being created. |
void RenderWindow::OnTimer | ( | UINT | event_id | ) | [protected] |
The framework calls this member function after each interval specified in the SetTimer member function used to install a timer.
event_id | Specifies the identifier of the timer. |
BOOL RenderWindow::PreCreateWindow | ( | CREATESTRUCT & | create_struct | ) | [protected, virtual] |
Called before the creation of the Windows window attached to this CWnd object.
create_struct | This structure defines the initialization parameters passed to the window procedure of an application. |
void RenderWindow::recalc | ( | ) |
void RenderWindow::redraw | ( | ) |
void RenderWindow::renderScene | ( | ) | [virtual] |
Renders the scene of the current OpenGL view.
void RenderWindow::setContext | ( | ) |
Sets the rendering context.
void RenderWindow::setInvViewMatrix | ( | matrix44 | matr | ) |
BOOL RenderWindow::setupPixelFormat | ( | ) | [protected] |
Sets the format of the pixels to draw.
void RenderWindow::setVolumeLoader | ( | VolumeLoader * | vol_load | ) |
void RenderWindow::swapGLBuffers | ( | ) | [protected] |
Sets the device context.
This holds the opaque cube creation flag.
The device context.
matrix44 RenderWindow::inv_view_matrix_ [protected] |
The inverse view matrix of the volume.
int RenderWindow::last_mouse_x_ [protected] |
This holds the last x mouse position.
int RenderWindow::last_mouse_y_ [protected] |
This holds the last y mouse position.
This holds the opaque cube algorithm.
Raycaster* RenderWindow::raycaster_ [protected] |
This holds the raycaster.
HGLRC RenderWindow::rendering_context_ [protected] |
The rendering context handle.
float RenderWindow::rotation_angle_ [protected] |
This holds the rotation angle adjusted by the mouse movements.
Vector3 RenderWindow::rotation_axis_ [protected] |
This holds the rotation axis adjusted by the mouse movements.
CWnd* RenderWindow::theParent |
the parent cchildframe.
matrix44 RenderWindow::view_matrix_ [protected] |
The view matrix of the volume.
double RenderWindow::view_width_height_ratio_ [protected] |
The ratio between the width of the view and the height of the view.
Volume* RenderWindow::volume_ [protected] |
The volume.
VolumeLoader* RenderWindow::volume_loader_ [protected] |
The volume loader.
float RenderWindow::x_pos_ [protected] |
This holds the x position of the camera.
float RenderWindow::x_rot_ [protected] |
float RenderWindow::y_pos_ [protected] |
This holds the y position of the camera.
float RenderWindow::y_rot_ [protected] |
This holds the y rotation angle.
float RenderWindow::zoom_ [protected] |
This holds the value of the zoom.