| GL Studio C++ Runtime API

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
GlsEyePoint Class Reference

`#include <gls_eyepoint.h>`

Inheritance diagram for GlsEyePoint:

## Public Types
enum | FovConstraintType { FOV_CONSTRAINT_NONE , FOV_CONSTRAINT_GREATER , FOV_CONSTRAINT_LESS , FOV_CONSTRAINT_EXACTLY }
| The FovConstraintType enum. Defines view constraint behavior.
typedef DisplayObject | _BaseClass
| Deprecated typedef for the base class.
typedef DisplayObject | BaseClass
| Typedef for the base class.
Public Types inherited from DisplayObject
enum | AvailableAttributesEnum { GLS_ATTRIBUTES_BASIC = 1 , GLS_ATTRIBUTES_DYNAMIC = 2 , GLS_ATTRIBUTES_APPEARANCE = 4 , GLS_ATTRIBUTES_GEOMETRY = 8 , GLS_ATTRIBUTES_SPECIALIZED = 16 , GLS_ATTRIBUTES_ALL = ~0 , GLS_ATTRIBUTES_NONE = 0 }

## Public Member Functions
virtual DisplayObject * | CloneObject (bool generateNames=false) override
| GlsEyePoint ()
| GlsEyePoint (const GlsEyePoint &that, const bool generateNames)
virtual | ~GlsEyePoint ()
virtual void | SetAvailableAttributes (unsigned int value) override
virtual void | Draw () override
virtual void | CopyGeometry (DisplayObject *src) override
virtual void | CopyProperties (DisplayObject *src) override
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis) override
virtual void | SetValue (int spec, va_list &args) override
void | FOV (double fovDeg)
void | OtherFOV (double fovDeg)
void | FovIsHorizontal (bool val)
void | Orthographic (bool val)
void | OrthoSize (double val)
void | OtherOrthoSize (double val)
void | NearClip (double val)
void | FarClip (double val)
void | HorizontalConstraint (FovConstraintType val)
void | VerticalConstraint (FovConstraintType val)
void | SetViewVectors (const Vector &x, const Vector &y, const Vector &z)
double | FOV ()
double | OtherFOV ()
bool | FovIsHorizontal ()
bool | Orthographic ()
double | OrthoSize ()
double | OtherOrthoSize ()
double | NearClip ()
double | FarClip ()
FovConstraintType | HorizontalConstraint ()
FovConstraintType | VerticalConstraint ()
void | GetViewVectors (Vector &x, Vector &y, Vector &z)
void | Orientation (const Vector &direction, float roll, const Vector &upVector=Vector(0, 1, 0))
Vector | Direction ()
float | Roll (const Vector upVector=Vector(0, 1, 0))
virtual void | CalcOrthographicView (int viewWidth, int viewHeight, GlsEyePoint *thisEye, double &fovY, double &aspect)
virtual void | CalcPerspectiveView (int viewWidth, int viewHeight, GlsEyePoint *thisEye, double &fovY, double &aspect)
virtual void | ApplyViewMatrices (GlsMatrixType &proj, GlsMatrixType &modelView, int width, int height)
virtual void | GetModelViewMatrix (GlsMatrixType &modelview, bool includeEyeToWorld=true)
virtual void | GetProjectionMatrix (GlsMatrixType &proj, int viewW, int viewH)
virtual void | Rotate (float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &origin, float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis)
Public Member Functions inherited from DisplayObject
| DisplayObject (float x, float y, float z)
| DisplayObject (const DisplayObject &object, const bool generateNames)
virtual | ~DisplayObject ()
void | Destroy ()
virtual void | SetAvailableAttributes (unsigned int value)
virtual void | AlphaMode (int mode)
virtual int | AlphaMode ()
virtual bool | AntiAlias ()
virtual void | AntiAlias (bool alias)
void | ApplyTextureSettings (int textureIndex=-1)
DistiAttribDict & | Attributes ()
const DistiAttribDict & | Attributes () const
virtual void | SetBlendColor (const GlsColor &color)
void | GetBlendColor (unsigned char color[])
void | GetBlendColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
virtual GlsColor | GetBlendColor ()
void | SetBlendColor (unsigned char color[])
void | SetBlendColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual bool | BlinkedOff ()
virtual bool | Blinking ()
virtual void | Blinking (const bool blink)
virtual float | BlinkRate ()
virtual void | BlinkRate (const float rate)
const Vector & | BoundingVolumeCenter () const
void | BoundingVolumeCenter (const Vector &center)
bool | BoundingVolumeHit (const Vector &start, const Vector &direction)
float | BoundingVolumeRadius () const
void | BoundingVolumeRadius (float radius)
virtual void | Calculate (double time)
void | CalculateCollisionPoint (const Vector &pickLoc, const Vector &directionVector, Vector *collisionPoint)
virtual void | CalculateParentBoundingBox ()
virtual void | CalculateTextureCoordinates ()
bool | GetTexturePointTransformationMatrix (GlsMatrixType &world2tex)
CallbackMethodCallerBase * | CallbackCaller () const
void | CallbackCaller (CallbackMethodCallerBase *cb)
virtual void | GetCenter (Vector &center)
virtual DisplayObject * | CloneObject (bool generateNames=false)=0
virtual GlsColor | GetColor ()
void | GetColor (unsigned char c4[])
void | GetColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
virtual void | SetColor (const GlsColor &color)
void | SetColor (unsigned char c4[])
void | SetColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual void | CopyGeometry (DisplayObject *src)
virtual void | CopyHierarchyProperties (DisplayObject *src, bool copyName)
virtual void | CopyProperties (DisplayObject *src)
virtual void | CullBackFace (const bool val)
virtual bool | CullBackFace ()
bool | Culled () const
void | Culled (bool val)
bool | CullTest (const GlsMatrixType *matrix, const Culler &culler)
GlsMatrixType & | DcsMatrix ()
GlsMatrixType | DcsMatrix () const
void | DcsMatrix (const GlsMatrixType &matrix)
virtual void | DeleteVertexAt (unsigned int index)
virtual void | DeleteVertex (unsigned int indexAfter) final
virtual int | DepthTest ()
virtual void | DepthTest (unsigned char zbuf)
virtual void | Draw ()=0
const GlsMatrixType * | DrawMatrix ()
bool | NeedCalcDrawMatrix ()
void | DynamicRotate (float angle, int axis)
void | DynamicRotate (const Vector &v)
void | DynamicRotate (float angle[])
virtual void | DynamicRotate (float x, float y, float z)
virtual void | DynamicRotateRelative (float angle, int axis)
virtual float | DynamicRotation (int axis)
virtual Vector | DynamicRotation ()
virtual Vector | DynamicScale ()
virtual void | DynamicScale (float x, float y, float z)
void | DynamicScale (const Vector &scale)
virtual void | DynamicTranslate (float x, float y, float z, bool relative=false)
void | DynamicTranslate (const Vertex &amount, bool relative)
void | DynamicTranslate (const Vector &amount)
virtual void | DynamicTranslateAxis (float amount, int axis, bool relative)
virtual float | DynamicTranslation (int axis)
virtual Vector | DynamicTranslation ()
DisplayObjectEditor * | Editor ()
const DisplayObjectEditor * | Editor () const
void | Editor (DisplayObjectEditor *editor)
virtual void | GetExtents (float &x, float &y, float &z, float &x1, float &y1, float &z1)
void | GetExtentsDCS (Vector &min, Vector &max)
void | GetFillColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
void | GetFillColor (unsigned char c4[])
virtual GlsColor | GetFillColor ()
void | SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
void | SetFillColor (unsigned char c4[])
virtual void | SetFillColor (const GlsColor &color)
virtual void | FinishObject ()
virtual void | GenerateInstanceName ()
virtual DisplayObject * | handle (DisplayEvent *ev)
virtual bool | Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
virtual bool | HitUtil (float x, float y, float z, float scale, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector, Vector *collisionPoint)
virtual void | InsertVertexAt (unsigned int index)
virtual void | InsertVertex (unsigned int indexAfter) final
char * | InstanceName ()
const char * | InstanceName () const
void | InstanceName (const char *name)
virtual bool | LightingEnabled ()
virtual void | LightingEnabled (bool lighting)
virtual int | LineStippleMultiplier ()
virtual void | LineStippleMultiplier (int mult)
virtual int | LineStipplePattern ()
virtual void | LineStipplePattern (int pattern)
virtual float | LineWidth ()
virtual void | LineWidth (float width)
virtual const Vertex & | Location () const
virtual void | Location (const Vertex &v)
virtual void | Location (float x, float y, float z)
virtual void | GetLocation (Vertex &v)
virtual void | GetLocation (float &x, float &y, float &z)
float | X () const
float | Y () const
float | Z () const
void | X (const float x)
void | Y (const float y)
void | Z (const float z)
virtual int | MaterialIndex ()
virtual void | MaterialIndex (int index)
virtual DynamicArray< int > & | MaterialIndices ()
virtual void | MaterialIndices (DynamicArray< int > indices)
GlsMatrixType * | ModelMatrix ()
bool | NeedCalculate ()
Vector * | Normals ()
virtual void | SetNormals (unsigned int nPoints, Vector *vertices)
void | VaSetNormals (unsigned int nPoints,...)
unsigned int | NumberOfVertices () const
virtual float | ObjectDepth ()
virtual float | ObjectHeight ()
virtual float | ObjectWidth ()
virtual void | SetOrigin (const Vertex &vert)
virtual void | Parent (DisplayFrame *par)
DisplayFrame * | Parent () const
virtual void | ParentGroup (Group *group)
Group * | ParentGroup () const
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
unsigned char | Pickable ()
virtual void | Pickable (unsigned char pick)
virtual int | PolygonEnd ()
virtual void | PolygonEnd (const int end)
virtual int | PolygonMode ()
virtual void | PolygonMode (int mode)
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler)
GlsMatrixType * | ProjMatrix ()
virtual void | ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld)
virtual float | RelativeAngle (const float x, const float y)
virtual DistiAttributeBase & | Resource (const char *name)
virtual void | GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
const Vertex & | RotationPoint () const
virtual void | RotationPoint (const Vertex &v)
virtual void | RotationPoint (float x, float y, float z)
virtual void | GetRotationPoint (Vertex &v)
virtual void | Rotate (float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &origin, float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis)
void | SaveMatrices ()
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar=0)
void | Set (int spec,...)
bool | SetupAlpha ()
void | SetupDepthTest ()
void | SetupLighting ()
bool | SetupLineStyle ()
bool | SetupTexture ()
virtual int | Shading ()
virtual void | Shading (const int shading)
virtual void | GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true)
virtual void | SetTexCoords (unsigned int nPoints, Vector *new_tex_coord, bool isVectorArray=true)
void | SetTexCoords (unsigned int nPoints, Vertex *new_tex_coord)
void | VaSetTexCoords (unsigned int nPoints,...)
Vector * | TextureCoordinates ()
Vector * | GetTextureCoordinates ()
virtual int | TextureIndex ()
virtual void | TextureIndex (int textureIndex)
virtual Vector * | GetTexturePoints ()
virtual bool | TextureRepeat ()
virtual void | TextureRepeat (const int rep)
virtual int | TextureMappingTechnique ()
virtual void | TextureMappingTechnique (const int map)
virtual int | TextureMagnificationFilter ()
virtual void | TextureMagnificationFilter (const int filter)
virtual int | TextureMinificationFilter ()
virtual void | TextureMinificationFilter (const int filter)
virtual void | Translate (float tr[])
virtual void | Translate (float x, float y, float z)
virtual void | TranslateVertices (float x, float y, float z)
virtual void | UpdateBoundingVolume ()
void * | UserData () const
void | UserData (void *data)
virtual void | SetVertexColor (unsigned int vertex, unsigned char CurrentFillColor[])
virtual Vertex * | Vertices ()
virtual void | SetVertices (unsigned int nPoints, Vertex *vertices)
void | VaSetVertices (unsigned int nPoints,...)
int * | ViewMatrix ()
bool | Visible () const
bool | Visibility () const
virtual void | Visibility (const bool vis)
virtual Vector | WorldRotationPoint ()
virtual void | WorldRotationPoint (const Vector &vert)
virtual Vertex | WorldVertex (unsigned int i)
virtual void | WorldVertex (unsigned int i, const Vertex &vert)
bool | LogicalToWindow (const Vector &logical, Vector &winLoc, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
bool | WindowToLogical (const Vector &winLoc, Vector &logical, Vector *directionVector=NULL, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
void | LogicalToDCS (Vector logicalPoint, Vector &objectLocal, const Vector *directionVector, const Vector &planeNormal=Vector(0, 0, 1), const Vector &planePoint=Vector(), const GlsMatrixType *dcsMatrix=NULL)
void | DCSToLogical (Vector dcsPoint, Vector &logicalPoint, const GlsMatrixType *dcsMatrix=NULL)
bool | Create (GlsGloFile &dataStream, Group *parent)
void | GeometryRefresh ()
| Invalidates the painter and refreshes the geometry on the next paint cycle.
virtual bool | GetPlaneVectorPoints (Vertex &p1, Vertex &p2, Vertex &p3, Vertex &planeVector)
void | NotifyAttributeChanged (const AttributeName &name) override
virtual void | SetPainter (GlsPainter *painter)
virtual GlsPainter * | GetPainter ()
void | InvalidatePainter ()
virtual bool | IsVisibleInScene (const DisplayObject *obj=NULL) const
Public Member Functions inherited from AttributeChangedNotifier
virtual void | NotifyAttributeChanged (const AttributeName &name)=0
virtual | ~AttributeChangedNotifier ()
Public Member Functions inherited from WeakReferenceableMixin
void | AddWeakReference (WeakReference *weakRef) override
void | NotifyWeakReferenceDestroyed (WeakReference *ref) override
virtual void | AddWeakReference (WeakReference *weakRef)=0
virtual void | NotifyWeakReferenceDestroyed (WeakReference *weakReference)=0

## Static Public Member Functions
static void | DrawDebugGeometry (bool draw)
template<class T >
static void | SetAlternateCalcOrthographicView (GlsEyePoint *eye, T *container, typename EyePointCalcViewCallback< T >::MethodType method)
template<class T >
static void | SetAlternateCalcPerspectiveView (GlsEyePoint *eye, T *container, typename EyePointCalcViewCallback< T >::MethodType method)
Static Public Member Functions inherited from DisplayObject
static void | UseManualBlinkElapsedTime (bool useManualTime)
static void | SetManualBlinkElapsedTime (double elapsedTime)

## Protected Member Functions
virtual void | SetFromGloData (GlsGloFileAttribute &data) override
Protected Member Functions inherited from DisplayObject
virtual void | VaListSetVertices (unsigned int nPoints, va_list args)
virtual void | VaListSetNormals (unsigned int nPoints, va_list args)
virtual void | VaListSetTexCoords (unsigned int nPoints, va_list args)
void | ApplyTextureMinMagSettings ()
| Updates the state manager's texture minification and magnification filter based on this display's configuration.
void | ApplyTextureEnvModeSettings ()
| Updates the state manager's texture environment based on this object configuration.
bool | SetupTextureIsNeeded ()
virtual int | ColorMaterialMode ()
void | AllocateModelMatrix ()
bool | ApplyDynamicRotation ()
virtual void | CalcDrawMatrix ()
void | CalcDrawMatrixIfExists ()
virtual void | CalculateMatrices (const OpenGLMatrices &newMatrices)
bool | InsideVertexExtents (float x, float y, unsigned int nVerts, Vertex *verts, float tolerance)
void | LastDrawMatrixLocation (const Vertex &loc)
const Vertex & | LastDrawMatrixLocation ()
void | NeedCalculate (bool val)
void | PickSetup (float x, float y, float z, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector)
void | PickCleanup (Vertex *vertices, unsigned int vertex_cnt)
virtual void | SetFromGloData (GlsGloFileAttribute &data)
virtual void | SetValue (int spec, va_list &args)
int | GetApplicableTextureIndex ()
int | GetApplicableTextureRepeat ()
Protected Member Functions inherited from WeakReferenceableMixin
| WeakReferenceableMixin ()
virtual | ~WeakReferenceableMixin ()

## Protected Attributes
double | _fov
double | _otherFov
bool | _orthographic
double | _orthoSize
double | _otherOrthoSize
bool | _fovIsHorizontal
FovConstraintType | _horizontalConstraint
FovConstraintType | _verticalConstraint
double | _nearClip
double | _farClip
Vector | _viewVectors [3]
EyePointCalcViewCallbackBase * | _alternateCalcOrthographicView
EyePointCalcViewCallbackBase * | _alternateCalcPerspectiveView
Protected Attributes inherited from DisplayObject
bool | _geometryRefresh
| Whether or not the geometry (VBOs etc.) needs to be updated on the GPU.
int | _alphaMode
bool | _antiAlias
bool | _attributesAdded
bool | _blinking
float | _blinkRate
bool | _isBlinkedOff
| Stores whether the object is presently blinked on or off.
GlsColor | _color
bool | _cullBackFace
GlsMatrixType | _dcsMatrix
unsigned char | _depthTest
GlsMatrixType * | _drawMatrix
bool | _needCalcDrawMatrix
| True if CalcDrawMatrix() needs to be called on this object.
unsigned char | _lineStippleMultiplier
unsigned short | _lineStipplePattern
float | _lineWidth
Vertex | _location
DynamicArray< int > | _materialIndices
| List of materials associated with this object.
GlsMatrixType * | _modelMatrix
Vector * | _normals
unsigned int | _nTex_vertices
unsigned int | _nVertices
unsigned char | _polygonEnd
unsigned char | _polygonMode
GlsMatrixType * | _projMatrix
unsigned char | _shading
Vector * | _texCoord
GlsColor | _textureBlendColor
int | _textureIndex
unsigned char | _textureMagFilter
unsigned char | _textureMinFilter
unsigned char | _textureMap
Vector | _texturePoints [4]
unsigned char | _textureRepeat
void * | _userData
Vertex * | _vertices
int * | _viewMatrix
bool | _visible
IGlsStateManager * | _stateManager
| The state manager that interfaces with OpenGL and maintains its render state.
Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * | _weakRefs

## Friends
class | GlsEyePointEditor

## Detailed Description

The GlsEyePoint class. Implements Eyepoints

## Constructor & Destructor Documentation

## ◆ GlsEyePoint() [1/2]

GlsEyePoint | ( |  | ) |

Allocate a (blank) EyePoint object

## ◆ GlsEyePoint() [2/2]

GlsEyePoint | ( | const GlsEyePoint & | that,
|  | const bool | generateNames
| ) |  |

The copy constructor for GlsEyePoint

Parameters

  that | The GlsEyePoint object that is being copied
  generateNames | Whether or not to generate a new instance name

## ◆ ~GlsEyePoint()

virtual ~GlsEyePoint | ( |  | ) |
| virtual

Destroy an Eyepoint object

## Member Function Documentation

## ◆ ApplyViewMatrices()

virtual void ApplyViewMatrices | ( | GlsMatrixType & | proj,
|  | GlsMatrixType & | modelView,
|  | int | width,
|  | int | height
| ) |  |
| virtual

Calculates and applies the projection and modelview matrices for this eyepoint

Parameters

  proj | The projection matrix (returned)
  modelView | The modelview matrix (returned)
  width | The current view width
  height | The current view height

## ◆ CalcOrthographicView()

virtual void CalcOrthographicView | ( | int | viewWidth,
|  | int | viewHeight,
|  | GlsEyePoint * | thisEye,
|  | double & | fovY,
|  | double & | aspect
| ) |  |
| virtual

Called by ApplyViewMatrices() to do the sizing logic.

Parameters

  viewWidth | The width of the view in pixels.
  viewHeight | The height of the view in pixels.
  thisEye | The associated eyepoint (this).
  fovY | The vertical field of view in degrees.
  aspect | The aspect ratio width / height.

## ◆ CalcPerspectiveView()

virtual void CalcPerspectiveView | ( | int | viewWidth,
|  | int | viewHeight,
|  | GlsEyePoint * | thisEye,
|  | double & | fovY,
|  | double & | aspect
| ) |  |
| virtual

Called by ApplyViewMatrices() to do the sizing logic.

Parameters

  viewWidth | The width of the view in pixels.
  viewHeight | The height of the view in pixels.
  thisEye | The associated eyepoint (this).
  fovY | The vertical field of view in degrees.
  aspect | The aspect ratio width / height.

## ◆ CloneObject()

virtual DisplayObject * CloneObject | ( | bool | generateNames = `false` | ) |
| override virtual

Copy+Create operation in one method. In derived classes, this method will create a new instance of the derived class and then copy the object into the new instance. The cut,copy,paste and undo operations use this method.

Parameters

  generateNames | Whether or not to generate new names for cloned objects

Returns
  A new object, identical to the original, except for the instance name

Implements DisplayObject.

Reimplemented in GlsMovingEye.

## ◆ CopyGeometry()

virtual void CopyGeometry | ( | DisplayObject * | src | ) |
| override virtual

Copies the geometry information from one object to another. Used by the undo mechanism to allow user to undo a geometry change.

Parameters

  src | The object to copy geometry from

Reimplemented from DisplayObject.

## ◆ CopyProperties()

virtual void CopyProperties | ( | DisplayObject * | src | ) |
| override virtual

Copies the attributes except for geometry attributes from one object to another. Used by the undo mechanism to undo most attribute change operations.

Parameters

  src | The object to copy properties from

Reimplemented from DisplayObject.

Reimplemented in GlsMovingEye.

## ◆ Direction()

Vector Direction | ( |  | ) |

Gets the current direction vector of the eyepoint

Returns
  The direction vector

## ◆ Draw()

virtual void Draw | ( |  | ) |
| override virtual

Draws does nothing because this object is not a visible object, unless DrawDebugGeometry() is true, then it draws the view frustum.

Implements DisplayObject.

Reimplemented in GlsMovingEye.

## ◆ DrawDebugGeometry()

static void DrawDebugGeometry | ( | bool | draw | ) |
| inline static

Set DrawDebugGeometry to true to cause eyepoints to draw at runtime.

Note
  This affects all eyepoint instances.

Parameters

  draw | The new debug state to set.

## ◆ FarClip() [1/2]

double FarClip | ( |  | ) |

Gets the distance to the far clipping plane from the eyepoint

Returns
  Distance to the far clipping plane from the eyepoint in logical units

## ◆ FarClip() [2/2]

void FarClip | ( | double | val | ) |

Sets the distance to the far clipping plane from the eyepoint

Parameters

  val | Distance to the far clipping plane from the eyepoint in logical units

## ◆ FOV() [1/2]

double FOV | ( |  | ) |

Gets the Field Of View for this eyepoint.
If FovIsHorizontal is true, this is the horizontal fov.

Returns
  The field of view, in degrees

## ◆ FOV() [2/2]

void FOV | ( | double | fovDeg | ) |

Sets the Field Of View for this eyepoint. If FovIsHorizontal, this is the horizontal fov.

Parameters

  fovDeg | The new field of view, in degrees

## ◆ FovIsHorizontal() [1/2]

bool FovIsHorizontal | ( |  | ) |

Gets whether or not the field of view measurement is along horizontal or vertical axis

Returns
  True if FOV measurement is along horizonal axis of eyepoint

## ◆ FovIsHorizontal() [2/2]

void FovIsHorizontal | ( | bool | val | ) |

Sets whether or not the field of view measurement is along horizontal or vertical axis

Parameters

  val | True if FOV measurement is along horizonal axis of eyepoint

## ◆ GetModelViewMatrix()

virtual void GetModelViewMatrix | ( | GlsMatrixType & | modelview,
|  | bool | includeEyeToWorld = `true`
| ) |  |
| virtual

Returns the modelview matrix for this eyepoint.

Parameters

  modelview | Output
  includeEyeToWorld | If true, will include all transforms up to the top of the hierarcy.

## ◆ GetProjectionMatrix()

virtual void GetProjectionMatrix | ( | GlsMatrixType & | proj,
|  | int | viewW,
|  | int | viewH
| ) |  |
| virtual

Returns the projection matrix for this eyepoint

Parameters

  proj | The requested projection matrix
  viewW | The width of the view in pixels
  viewH | The height of the view in pixels

## ◆ GetViewVectors()

void GetViewVectors | ( | Vector & | x,
|  | Vector & | y,
|  | Vector & | z
| ) |  |

Returns the current view vectors.

Parameters

  x | The returned X view vector.
  y | The returned Y view vector.
  z | The returned Z view vector.

## ◆ HorizontalConstraint() [1/2]

FovConstraintType HorizontalConstraint | ( |  | ) |

Returns
  the constraint for the horizontal direction

## ◆ HorizontalConstraint() [2/2]

void HorizontalConstraint | ( | FovConstraintType | val | ) |

Sets the constraint for the horizontal direction.

Parameters

  val | The new horizontal constraint behavior to set.

## ◆ NearClip() [1/2]

double NearClip | ( |  | ) |

Gets the distance to the near clipping plane from the eyepoint

Returns
  Distance to the near clipping plane from the eyepoint in logical units

## ◆ NearClip() [2/2]

void NearClip | ( | double | val | ) |

Sets the distance to the near clipping plane from the eyepoint

Parameters

  val | Distance to the near clipping plane from the eyepoint in logical units

## ◆ Orientation()

void Orientation | ( | const Vector & | direction,
|  | float | roll,
|  | const Vector & | upVector = `Vector(0, 1, 0)`
| ) |  |

Sets the orientation of the eyepoint

Parameters

  direction | A direction vector
  roll | A roll value about the direction vector, in degrees
  upVector | defines the "up" direction for the purposes of calculating roll.

## ◆ Orthographic() [1/2]

bool Orthographic | ( |  | ) |

Gets whether the eyepoint uses an orthographic projection or a perspective projection

Returns
  True if the eypoint uses an orthographic projection. False if it uses a perspective projection.

## ◆ Orthographic() [2/2]

void Orthographic | ( | bool | val | ) |

Sets whether the eyepoint uses an orthographic projection or a perspective projection

Parameters

  val | True if the eypoint uses an orthographic projection. False if it uses a perspective projection.

## ◆ OrthoSize() [1/2]

double OrthoSize | ( |  | ) |

The direction this returns is set by FovIsHorizontal. If true, it is horizontal.

Returns
  The size of the orthographic projection, in logical units.

## ◆ OrthoSize() [2/2]

void OrthoSize | ( | double | val | ) |

Sets the size of the orthographic projection, in logical units.
The direction this controls is set by FovIsHorizontal. If true, it is horizontal.

Parameters

  val | The size of the orthographic projection, in logical units

## ◆ OtherFOV() [1/2]

double OtherFOV | ( |  | ) |

Gets the Field Of View for this eyepoint.
If FovIsHorizontal is true, this is the vertical fov.

Returns
  The field of view, in degrees

## ◆ OtherFOV() [2/2]

void OtherFOV | ( | double | fovDeg | ) |

Sets the Field Of View for this eyepoint. If FovIsHorizontal, this is the vertical fov.

Parameters

  fovDeg | The new field of view, in degrees

## ◆ OtherOrthoSize() [1/2]

double OtherOrthoSize | ( |  | ) |

The direction this returns is set by FovIsHorizontal. If true, it is vertical.

Returns
  The size of the orthographic projection, in logical units.

## ◆ OtherOrthoSize() [2/2]

void OtherOrthoSize | ( | double | val | ) |

Sets the size of the orthographic projection, in logical units.
The direction this controls is set by FovIsHorizontal. If true, it is vertical.

Parameters

  val | The size of the orthographic projection, in logical units

## ◆ Roll()

float Roll | ( | const Vector | upVector = `Vector(0, 1, 0)` | ) |

Gets the current roll angle of the eyepoint

Returns
  The current roll

Parameters

  upVector | The "up" direction used for determining roll.

## ◆ Rotate() [1/4]

virtual void Rotate | ( | const Vector & | orig,
|  | float | angle,
|  | const Vector & | axis
| ) |  |
| virtual

Rotates the object (around the specified axis) by the angle indicated, at the point specified. Recalculates the vertex data.

Parameters

  orig | The point to rotate around
  angle | The angle to rotate by, in degrees
  axis | The arbitrary axis to rotate the object around

Reimplemented from DisplayObject.

## ◆ Rotate() [2/4]

virtual void Rotate | ( | const Vector & | orig,
|  | float | angle,
|  | const Vector & | axis
| ) |  |
| override virtual

Rotates the object (around the specified axis) by the angle indicated, at the point specified. Recalculates the vertex data.

Parameters

  orig | The point to rotate around
  angle | The angle to rotate by, in degrees
  axis | The arbitrary axis to rotate the object around

Reimplemented from DisplayObject.

## ◆ Rotate() [3/4]

virtual void Rotate | ( | const Vector & | origin,
|  | float | angle,
|  | int | axis = `Z_AXIS`
| ) |  |
| virtual

Rotates the object (around the specified axis) by the angle indicated, at the point specified. Recalculates the vertex data.

Parameters

  origin | The point to rotate around
  angle | The angle to rotate by, in degrees
  axis | The axis to rotate the object around

Reimplemented from DisplayObject.

## ◆ Rotate() [4/4]

virtual void Rotate | ( | float | angle,
|  | int | axis = `Z_AXIS`
| ) |  |
| virtual

Rotates the object (around the specified axis) by the angle indicated, at the object's rotation point. Recalculates the vertex data.

Parameters

  angle | The angle to rotate by, in degrees
  axis | The axis to rotate the object around.

Reimplemented from DisplayObject.

## ◆ SetAlternateCalcOrthographicView()

static void SetAlternateCalcOrthographicView | ( | GlsEyePoint * | eye,
|  | T * | container,
|  | typename EyePointCalcViewCallback< T >::MethodType | method
| ) |  |
| inline static

Assigns a custom user defined callback to be called to configure the orthographic view instead of GlsEyePoint's default behavior.

Parameters

  eye | The associated eyepoint.
  container | The object containing the callback method.
  method | The callback function pointer to call.

## ◆ SetAlternateCalcPerspectiveView()

static void SetAlternateCalcPerspectiveView | ( | GlsEyePoint * | eye,
|  | T * | container,
|  | typename EyePointCalcViewCallback< T >::MethodType | method
| ) |  |
| inline static

Assigns a custom user defined callback to be called to configure the perspective view instead of GlsEyePoint's default behavior.

Parameters

  eye | The associated eyepoint.
  container | The object containing the callback method.
  method | The callback function pointer to call.

## ◆ SetAvailableAttributes()

virtual void SetAvailableAttributes | ( | unsigned int | value | ) |
| override virtual

Specifies which attributes are available for the object. Currently the available attributes cannot be changed after they have been set. (Only the first call has an effect.)

Parameters

  value | A bitfield specifying which types of attributes to make available.

See also
  AvailableAttributesEnum

Reimplemented from DisplayObject.

Reimplemented in GlsMovingEye.

## ◆ SetFromGloData()

virtual void SetFromGloData | ( | GlsGloFileAttribute & | data | ) |
| override protected virtual

Alternate callback for calculating the perspective view Set a single attribute from the GLO file.

Parameters

  data | The attribute to set and its associated data.

Reimplemented from DisplayObject.

Reimplemented in GlsMovingEye.

## ◆ SetValue()

virtual void SetValue | ( | int | spec,
|  | va_list & | args
| ) |  |
| override virtual

Sets an attribute of this object using variable arguments

Parameters

  spec | A GLS_Initializer tag
  args | A variable argument list

Reimplemented from DisplayObject.

Reimplemented in GlsMovingEye.

## ◆ SetViewVectors()

void SetViewVectors | ( | const Vector & | x,
|  | const Vector & | y,
|  | const Vector & | z
| ) |  |

Allows the view vectors to be set directly.

Note
  These are normally controlled by the Orientation call.

Parameters

  x | The new X view vector to set.
  y | The new Y view vector to set.
  z | The new Z view vector to set.

## ◆ VerticalConstraint() [1/2]

FovConstraintType VerticalConstraint | ( |  | ) |

Returns
  the constraint for the vertical direction

## ◆ VerticalConstraint() [2/2]

void VerticalConstraint | ( | FovConstraintType | val | ) |

Sets the constraint for the vertical direction.

Parameters

  val | The new vertical constraint behavior to set.

## Member Data Documentation

## ◆ _alternateCalcOrthographicView

EyePointCalcViewCallbackBase* _alternateCalcOrthographicView
| protected

3 vectors used to set the orientation of the eyepoint

## ◆ _alternateCalcPerspectiveView

EyePointCalcViewCallbackBase* _alternateCalcPerspectiveView
| protected

Alternate callback for calculating the orthographic view

## ◆ _farClip

double _farClip
| protected

Distance from eyepoint to near clipping plane

## ◆ _fov

double _fov
| protected

Causes eyepoints to draw debugging geometry. Defaults to false.

## ◆ _fovIsHorizontal

bool _fovIsHorizontal
| protected

Size of ortho projection for the other direction, based on _fovIsHorizontal

## ◆ _horizontalConstraint

FovConstraintType _horizontalConstraint
| protected

True if field of view measurement is along horizonal axis, else along vertical axis

## ◆ _nearClip

double _nearClip
| protected

The type of constraint in the vertical direction

## ◆ _orthographic

bool _orthographic
| protected

Field of view for the other direction, based on _fovIsHorizontal

## ◆ _orthoSize

double _orthoSize
| protected

True if orthographic projection, else perspective projection

## ◆ _otherFov

double _otherFov
| protected

Field of view of eyepoint in Degrees, if _fovIsHorizontal is true, this is horizontal

## ◆ _otherOrthoSize

double _otherOrthoSize
| protected

Size of ortho projection in logical units, if _fovIsHorizontal is true, this is horizontal

## ◆ _verticalConstraint

FovConstraintType _verticalConstraint
| protected

The type of constraint in the horizontal direction

## ◆ _viewVectors

Vector _viewVectors[3]
| protected

Distance from eyepoint to far clipping plane

The documentation for this class was generated from the following file:

- gls_eyepoint.h