Class Fox::FXGLViewer
In: FXGLViewer.rb
Parent: FXGLCanvas

Canvas, an area drawn by another object

Events

The following messages are sent by FXGLViewer to its message target:

FXGLViewer options

VIEWER_LOCKED:Mouse based view manipulation is locked
VIEWER_LIGHTING:Lighting is on
VIEWER_FOG:Fog mode on
VIEWER_DITHER:Dithering

Projection modes (class constants)

PARALLEL:Parallel projection
PERSPECTIVE:Perspective projection

Message identifiers

ID_PERSPECTIVE:x
ID_PARALLEL:x
ID_FRONT:x
ID_BACK:x
ID_LEFT:x
ID_RIGHT:x
ID_TOP:x
ID_BOTTOM:x
ID_RESETVIEW:x
ID_FITVIEW:x
ID_TIPTIMER:x
ID_BACK_COLOR:x
ID_AMBIENT_COLOR:x
ID_LIGHT_AMBIENT:x
ID_LIGHT_DIFFUSE:x
ID_LIGHT_SPECULAR:x
ID_LIGHTING:x
ID_TURBO:x
ID_FOG:x
ID_DITHER:x
ID_SCALE_X:x
ID_SCALE_Y:x
ID_SCALE_Z:x
ID_DIAL_X:x
ID_DIAL_Y:x
ID_DIAL_Z:x
ID_ROLL:x
ID_PITCH:x
ID_YAW:x
ID_FOV:x
ID_ZOOM:x
ID_LOCK:x
ID_CUT_SEL:x
ID_COPY_SEL:x
ID_PASTE_SEL:x
ID_DELETE_SEL:x
ID_PRINT_IMAGE:x
ID_PRINT_VECTOR:x
ID_LASSO_ZOOM:x
ID_LASSO_SELECT:x
Methods
doesTurbo?    eyeToScreen    eyeToWorld    fitToBounds    getBoreVector    lasso    locked?    new    new    objectType    objectTypeName    readFeedback    readPixels    screenToEye    screenToTarget    setBounds    translate    turboMode?    worldToEye    worldToEyeZ    worldVector   
Attributes
ambientColor  [RW] 

Global ambient light color [FXHVec]

backgroundColor  [RW] 

Window background color [FXHVec]

center  [RW] 

Object center [FXVec]

distance  [RW] 

Target point distance [Float]

eyePosition  [R] 

Eye position [FXVec]

eyeVector  [R] 

Eyesight vector [FXVec]

fieldOfView  [RW] 

Camera field of view angle (in degrees) [Float]

helpText  [RW] 

Status line help text [String]

invTransform  [R] 

The inverse of the current transformation matrix [FXHMat]

light  [RW] 

Light source settings [FXLight]

material  [RW] 

Default object material setting [FXMaterial]

maxHits  [RW] 

The maximum hits, i.e. the maximum size of the pick buffer [Integer]. When less than or equal to zero, picking is essentially turned off.

modelPix  [R] 

Size of pixel in model coordinates [Float]

offset  [RW] 

Line offset [Float]

orientation  [RW] 

Camera orientation [FXQuat]

projection  [RW] 

The projection mode (either FXGLViewer::PERSPECTIVE or FXGLViewer::PARALLEL)

scale  [RW] 

Current scaling factors [FXVec]

scene  [RW] 

The current scene object [FXGLObject]

selection  [RW] 

The selection [FXGLObject]

tipText  [RW] 

Tool tip text [String]

transform  [R] 

The current transformation matrix [FXHMat]

turboMode  [W] 

Set turbo mode [Boolean]

viewLock  [W] 

Indicates whether the viewer is locked (i.e. mouse-based viewing operations are prevented) [Boolean]

viewport  [R] 

The viewport for this viewer [FXViewport]

worldPix  [R] 

Size of pixel in world coordinates [Float]

zoom  [RW] 

Camera zoom factor [Float]

Public Class methods
objectType()

Returns the FXDragType for FXGLObject

objectTypeName()

Returns the drag type name

new(p, vis, tgt=nil, sel=0, opts=0, x=0, y=0, w=0, h=0) {|theGLViewer| ...}

Construct GL viewer widget

new(p, vis, sharegroup, tgt=nil, sel=0, opts=0, x=0, y=0, w=0, h=0) {|theGLViewer| ...}

Construct GL viewer widget sharing display list with another GL viewer

Public Instance methods
lasso(x1, y1, x2, y2)

Return an array of all objects in the given rectangle

setBounds(box)

Change the model bounding box; this adjusts the viewer

fitToBounds(box)

Fit viewer to the given bounding box

eyeToScreen(e)

Translate eye-coordinate to screen coordinate. Returns a 2-element array [sx, sy] containing the screen coordinate.

screenToEye(sx, sy, eyez=0.0)

Translate screen coordinate to eye coordinate at the given depth.

screenToTarget(sx, sy)

Translate screen coordinate to eye coordinate at the target point depth

worldToEye(w)

Translate world coordinate to eye coordinate

worldToEyeZ(w)

Translate world coordinate to eye coordinate depth

eyeToWorld(e)

Translate eye coordinate to eye coordinate

worldVector(fx, fy, tx, ty)

Calculate world coordinate vector from screen movement

translate(vec)

Translate object center

getBoreVector(sx, sy)

Return boresight vector (an array of two arrays)

locked?()

Returns true if the viewer is locked

readPixels(x, y, w, h)

Read the pixels off the screen as R,G,B tuples.

readFeedback(x, y, w, h)

Read the feedback buffer containing the current scene.

doesTurbo?()

When drawing a GL object, if doesTurbo? returns true, the object may choose to perform a reduced complexity drawing as the user is interactively manipulating; another update will be done later when the full complexity drawing can be performed again.

turboMode?()

Returns true if turbo mode is enabled