Class Tframe3DView

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type Tframe3DView = class(TFrame)

Description

Tframe3DView is used to encapsulate the interaction with the 3D view of the TPhastModel.

Hierarchy

Overview

Fields

Implicit glWidModelView: TGLWidget;
Private FPanning: boolean;
Private FTheBall: TArcBall;
Private FXOffset: integer;
Private FXPan: double;
Private FXPanStart: double;
Private FXStart: integer;
Private FYOffset: integer;
Private FYPan: double;
Private FYPanStart: double;
Private FYStart: integer;
Private FZoomFactor: double;
Private FZooming: boolean;
Private FZScale: double;
Private FZStart: double;
Private FListsCreated: Boolean;
Private FAxesGLIndex: GLuint;
Private FAxesCreated: Boolean;

Methods

Implicit procedure glWidModelViewMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Implicit procedure glWidModelViewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Implicit procedure glWidModelViewMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Implicit procedure glWidModelViewRender(Sender: TObject);
Implicit procedure glWidModelViewResize(Sender: TObject);
Private procedure RecordAxes;
Private procedure DrawAxes;
Private procedure DrawGrid;
Private procedure DrawMesh;
Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure SetDefaultOrientation;

Description

Fields

Implicit glWidModelView: TGLWidget;

glWidModelView is used to display a 3D view of the TPhastModel. See glWidModelViewMouseDown, glWidModelViewMouseMove, glWidModelViewMouseUp, glWidModelViewRender, and glWidModelViewResize.

Private FPanning: boolean;

FPanning is set to True during panning operations.

Private FTheBall: TArcBall;

FTheBall is used to handle rotation operations.

Private FXOffset: integer;

If the width of the glWidModelView is greater tha its height, FXOffset represents how far the center of the glWidModelView is offset in the X direction from where it would be if it were square.

Private FXPan: double;

FXPan represents how far the model has been panned in the X direction.

Private FXPanStart: double;

FXPanStart represents how far the model had been panned in the X direction at the beginning of a panning operations.

Private FXStart: integer;

FXStart is the X-coordinate of the position of the mouse in pixels at the beginning of an operation.

Private FYOffset: integer;

If the height of the glWidModelView is greater tha its width, FYOffset represents how far the center of the glWidModelView is offset in the Y direction from where it would be if it were square.

Private FYPan: double;

FYPan represents how far the model has been panned in the Y direction.

Private FYPanStart: double;

FYPanStart represents how far the model had been panned in the Y direction at the beginning of a panning operations.

Private FYStart: integer;

FYStart is the Y-coordinate of the position of the mouse in pixels at the beginning of an operation.

Private FZoomFactor: double;

FZoomFactor represents the factor by which the view of the model has been increased or decreased.

Private FZooming: boolean;

FZooming is set to true while zooming in or out.

Private FZScale: double;

FZScale represents the factor by which the view of the model has been increased or decreased when the model is first viewed.

Private FZStart: double;

FZStart stores FZoomFactor at the beginning of a zooming operation.

Private FListsCreated: Boolean;
 
Private FAxesGLIndex: GLuint;
 
Private FAxesCreated: Boolean;
 

Methods

Implicit procedure glWidModelViewMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

glWidModelViewMouseDown responds to OnMouseDown events in glWidModelView by starting a pan, rotate, or zoom operation.

Implicit procedure glWidModelViewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

glWidModelViewMouseMove responds to OnMouseMove events in glWidModelView by continuing a pan, rotate, or zoom operation.

Implicit procedure glWidModelViewMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

glWidModelViewMouseUp responds to OnMouseUp events in glWidModelView by finishing a pan, rotate, or zoom operation.

Implicit procedure glWidModelViewRender(Sender: TObject);

glWidModelViewRender responds to OnRender events in glWidModelView by drawing a 3D view of the model in glWidModelView.

Implicit procedure glWidModelViewResize(Sender: TObject);

glWidModelViewResize responds to OnResize events in glWidModelView by reinitializing some variables related to glWidModelView.

Private procedure RecordAxes;
 
Private procedure DrawAxes;
 
Private procedure DrawGrid;
 
Private procedure DrawMesh;
 
Public constructor Create(AOwner: TComponent); override;

Create creates an instance of Tframe3DView.

Public destructor Destroy; override;

Destroy destroys the current instance of Tframe3DView. Do not call Destroy directly. Call Free instead.

Public procedure SetDefaultOrientation;

SetDefaultOrientation sets the orientation of the 3D view of model so that it is seen from above with the magnification set up so the whole model can be seen.


Generated by PasDoc 0.12.1 on 2013-05-13 15:41:31