| GL Studio C++ Runtime API

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

`#include <gls_moving_eye.h>`

Inheritance diagram for GlsMovingEye:

## Classes
struct | EyeState_t
| Type to store eyepoint state information. More...
struct | MoveParms_t
| Type to store eyepoint movement parameters. More...

## Public Types
enum | Movement_t { CONSTANT = 0 , SINUSOIDAL = 1 }
| This specifies the type of route taken from one eyepoint to another.
enum | Route_t { DIRECT = 0 , ARC = 1 }
| This specifies the type of route taken from one eyepoint to another.
typedef GlsEyePoint | _BaseClass
| Deprecated typedef for the base class.
typedef GlsEyePoint | BaseClass
| Typedef for the base class.
Public Types inherited from GlsEyePoint
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
| GlsMovingEye ()
| GlsMovingEye (const GlsMovingEye &that, const bool generateNames)
virtual | ~GlsMovingEye ()
bool | AtStartOfHistory () const
bool | AtEndOfHistory () const
void | AbortMove ()
virtual void | SetAvailableAttributes (unsigned int value) DISTI_METHOD_OVERRIDE
virtual void | Calculate (double time) DISTI_METHOD_OVERRIDE
virtual DisplayObject * | CloneObject (bool generateNames=false) DISTI_METHOD_OVERRIDE
virtual void | CopyProperties (DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual void | Draw () DISTI_METHOD_OVERRIDE
bool | EmitEvent () const
void | EmitEvent (bool emitEvent)
bool | DisableMoveHistory () const
void | DisableMoveHistory (bool his)
virtual void | GenerateInstanceName () DISTI_METHOD_OVERRIDE
const std::string & | LookAtObject () const
void | LookAtObject (const std::string &name)
float | MaxSpeed () const
void | MaxSpeed (float speed)
Movement_t | Movement () const
void | Movement (Movement_t movementType)
void | MoveBack ()
void | MoveForward ()
void | MoveToEye (GlsEyePoint *eye, float moveTime=2.0f)
void | MoveToEye (Group *eyeGroup, float moveTime=2.0f)
void | MoveToEyeAdd (GlsEyePoint *eye, float moveTime=2.0f)
void | MoveToEyeAdd (Group *eyeGroup, float moveTime=2.0f)
void | MoveToLocation (const Vector &location, float moveTime=2.0f)
void | MoveRelative (const Vector &moveAmount, const Vector &rotation)
Route_t | Route () const
void | Route (Route_t routeType)
virtual void | SetValue (int spec, va_list &args) DISTI_METHOD_OVERRIDE
Public Member Functions inherited from GlsEyePoint
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 DisplayObject * | CreateInstance ()
Static Public Member Functions inherited from GlsEyePoint
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)

## Static Public Attributes
static const char * | MOVE_COMPLETE_EVENT_NAME
| Name of the event emitted when a move is completed.

## Protected Member Functions
virtual void | SetFromGloData (GlsGloFileAttribute &data) DISTI_METHOD_OVERRIDE
Vector | DirectionToObj (const std::string &qualifiedObjName) const
void | ExtractEyepoints (Group *group, std::vector< GlsEyePoint * > &eyes)
void | FinishMoving ()
void | Initialize ()
float | MoveTime (float distance, float desiredTime) const
float | RouteDistance (std::vector< GlsEyePoint * > &eyes) const
void | StartMoving (const MoveParms_t &moveParms)
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
bool | _emitEvent
| Whether or not to emit an event when the move has completed.
bool | _firstSegment
std::size_t | _historyPos
| Current position into the history list.
bool | _initialized
| Flag to keep track of when the object gets initialized.
std::string | _lookAtObject
Vector | _lookAtReferenceUpVector
Vector | _lookAtCalculatedUpVector
| The last up vector calculated by the lookAt algorithm.
std::vector< MoveParms_t > | _moveHistory
| Stores a history of visited eyepoints for moving back and forth.
bool | _disableMoveHistory
| If true, move history will not be saved.
float | _maxSpeed
Movement_t | _movement
| Type of movement algorithm to use when moving to another eyepoint.
std::queue< MoveParms_t > | _moveQ
Route_t | _route
| Type of route to take when moving to another eyepoint.
EyeState_t | _start
double | _simTime
| Latest known simulation time.
double | _startTime
| Simulation time that a move starts.
Vector | _upVector
float | _bufferAngle
Protected Attributes inherited from GlsEyePoint
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 | GlsMovingEyeEditor

## Detailed Description

Runtime implementation of a GlsMovingEye

## Constructor & Destructor Documentation

## ◆ GlsMovingEye() [1/2]

GlsMovingEye | ( |  | ) |

Create a new GlsMovingEye.

## ◆ GlsMovingEye() [2/2]

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

Copy constructor

Parameters

  that | The object to copy from.
  generateNames | Whether or not to generate an instance name for this object.

## ◆ ~GlsMovingEye()

virtual ~GlsMovingEye | ( |  | ) |
| virtual

GlsMovingEyeEditor destructor

## Member Function Documentation

## ◆ AbortMove()

void AbortMove | ( |  | ) |

Aborts any move currently in progress.

## ◆ AtEndOfHistory()

bool AtEndOfHistory | ( |  | ) | const
| inline

Returns
  True if the we're at the end of the history of movements.

## ◆ AtStartOfHistory()

bool AtStartOfHistory | ( |  | ) | const
| inline

Returns
  True if the we're at the beginning of the history of movements.

## ◆ Calculate()

virtual void Calculate | ( | double | time | ) |
| virtual

Provides a mechanism for performing regular calculations, seperate from drawing. In a standalone applicaton Calculate is recursively called by the main loop before the objects are drawn.

Parameters

  time | The elaspsed time in seconds since program start

Reimplemented from DisplayObject.

## ◆ CloneObject()

virtual DisplayObject * CloneObject | ( | bool | generateNames = `false` | ) |
| 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

Reimplemented from GlsEyePoint.

## ◆ CopyProperties()

virtual void CopyProperties | ( | DisplayObject * | src | ) |
| 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 GlsEyePoint.

## ◆ CreateInstance()

static DisplayObject * CreateInstance | ( |  | ) |
| static

Returns
  A pointer to a new GlsMovingEye object.

## ◆ DirectionToObj()

Vector DirectionToObj | ( | const std::string & | qualifiedObjName | ) | const
| protected

Calculates the direction to the named object.

Parameters

  qualifiedObjName | The name of the object in question.

Returns
  A direction Vector pointing from this object to the target, 0,0,0 if not found.

## ◆ DisableMoveHistory() [1/2]

bool DisableMoveHistory | ( |  | ) | const
| inline

Returns
  Whether or not an the move history is disabled.

## ◆ DisableMoveHistory() [2/2]

void DisableMoveHistory | ( | bool | his | ) |

Sets whether or not the move history is disabled.

Parameters

  his | The new move history state.

## ◆ Draw()

virtual void Draw | ( |  | ) |
| virtual

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

Reimplemented from GlsEyePoint.

## ◆ EmitEvent() [1/2]

bool EmitEvent | ( |  | ) | const
| inline

Returns
  Whether or not an event is emitted upon completion of a commanded movement.

## ◆ EmitEvent() [2/2]

void EmitEvent | ( | bool | emitEvent | ) |

Sets whether or not an event is emitted upon completion of a commanded movement.

Parameters

  emitEvent | The new event emit state.

## ◆ ExtractEyepoints()

void ExtractEyepoints | ( | Group * | group,
|  | std::vector< GlsEyePoint * > & | eyes
| ) |  |
| protected

Extracts all eyepoint objects from the group hierarchy. The group can contain other groups and object types.

Parameters

  group | The group to search for eyepoints in recursively.
  eyes | The returned list of found eyepoints.

## ◆ FinishMoving()

void FinishMoving | ( |  | ) |
| protected

Called when the destination eyepoint is reached to perform actions necessary to complete the movement.

## ◆ GenerateInstanceName()

virtual void GenerateInstanceName | ( |  | ) |
| virtual

Dynamically generate a name for the object, based on the current time

Reimplemented from DisplayObject.

## ◆ Initialize()

void Initialize | ( |  | ) |
| protected

Initializes the movement history with the initial state of the eyepoint.

## ◆ LookAtObject() [1/2]

const std::string & LookAtObject | ( |  | ) | const
| inline

Returns
  The name of the object that the eyepoint should be always looking at. Lifetime is guaranteed to coincide with the GlsMovingEye's lifetime or until LookAtObject is changed.

## ◆ LookAtObject() [2/2]

void LookAtObject | ( | const std::string & | name | ) |

Sets the name of the object that the eyepoint should be always looking at.

Parameters

  name | The name of the object in question.

## ◆ MaxSpeed() [1/2]

float MaxSpeed | ( |  | ) | const
| inline

Returns
  The maximum speed in logical units/second which will be used to achive the transition between eyepoints.

## ◆ MaxSpeed() [2/2]

void MaxSpeed | ( | float | speed | ) |

Sets the maximum speed in logical units/second which will be used to achive the transition between eyepoints.

Parameters

  speed | The new speed to set in logical units/second.

## ◆ MoveBack()

void MoveBack | ( |  | ) |

Moves this eyepoint to the previously set eyepoint. If a move is already in progress, it will be immediately stopped, and this move will start.

## ◆ MoveForward()

void MoveForward | ( |  | ) |

Moves this eyepoint to the eyepoint which was last achieved from a MoveBack(). If a move is already in progress, it will be immediately stopped, and this move will start.

## ◆ Movement() [1/2]

Movement_t Movement | ( |  | ) | const
| inline

Returns
  The type of movement algorithm to use when moving to another eyepoint.

## ◆ Movement() [2/2]

void Movement | ( | Movement_t | movementType | ) |

Sets the type of movement algorithm to use when moving to another eyepoint.

Parameters

  movementType | The new movement algorithm to use.

## ◆ MoveRelative()

void MoveRelative | ( | const Vector & | moveAmount,
|  | const Vector & | rotation
| ) |  |

Moves the eyepoint in view-relative coordinates by the specified amount. The units are in relative screen coordinates: X and Y are pixels, Z is 0->1. See WindowToLogical() or LogicalToWindow().

Parameters

  moveAmount | The amount to move on each axis.
  rotation | The amount to rotate on each axis in degrees.

## ◆ MoveTime()

float MoveTime | ( | float | distance,
|  | float | desiredTime
| ) |  | const
| protected

Returns an adjusted move time based on the maximum speed setting. If the speed of moving over distance in desiredTime is greater than the maximum speed setting, the move time will be lengthened.

Parameters

  distance | Distance in logical units that will be moved.
  desiredTime | Time in which we wish to cover the specified distance.

Returns
  The adjusted move time in seconds.

## ◆ MoveToEye() [1/2]

void MoveToEye | ( | GlsEyePoint * | eye,
|  | float | moveTime = `2.0f`
| ) |  |

Causes this eye to move from its current state to the state specified by the targetEye. It will take moveTime to get there. If a move is already in progress, it will be immediately stopped, and this move will start.

Parameters

  eye | The eyepoint to move to.
  moveTime | The time to take in seconds.

## ◆ MoveToEye() [2/2]

void MoveToEye | ( | Group * | eyeGroup,
|  | float | moveTime = `2.0f`
| ) |  |

Causes the eye to move from its current state to each eyepoint in the specified group ending with the last eye in the group. If a move is already in progress, it will be immediately stopped, and this move will start.

Parameters

  eyeGroup | The group to search recursively for GlsEyepoint objects.
  moveTime | The time to take for each move in seconds.

## ◆ MoveToEyeAdd() [1/2]

void MoveToEyeAdd | ( | GlsEyePoint * | eye,
|  | float | moveTime = `2.0f`
| ) |  |

Causes the specified eye to be added to the end of the list of eyes which should be moved through.

Parameters

  eye | The eyepoint to add to the list.
  moveTime | The time to take in seconds.

## ◆ MoveToEyeAdd() [2/2]

void MoveToEyeAdd | ( | Group * | eyeGroup,
|  | float | moveTime = `2.0f`
| ) |  |

Causes the specified eyes to be added to the end of the list of eyes which should be moved through.

Parameters

  eyeGroup | The group to search recursively for GlsEyepoint objects.
  moveTime | The time to take for each move in seconds.

## ◆ MoveToLocation()

void MoveToLocation | ( | const Vector & | location,
|  | float | moveTime = `2.0f`
| ) |  |

Causes this eye to move to the specified location in the scene without modifying the view direction or any other eye specific information.

Parameters

  location | The location to move to.
  moveTime | The time to take in seconds.

## ◆ Route() [1/2]

Route_t Route | ( |  | ) | const
| inline

Returns
  The type of route to use when moving to another eyepoint.

## ◆ Route() [2/2]

void Route | ( | Route_t | routeType | ) |

Sets the type of route to use when moving to another eyepoint.

Parameters

  routeType | The new route type to set.

## ◆ RouteDistance()

float RouteDistance | ( | std::vector< GlsEyePoint * > & | eyes | ) | const
| protected

Calculates the distance over the entire route if moving between all eyepoints in the list.

Parameters

  eyes | The list of eyes to calculate the total route distance.

Returns
  The total distance of the route in logical units.

## ◆ SetAvailableAttributes()

virtual void SetAvailableAttributes | ( | unsigned int | value | ) |
| 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 GlsEyePoint.

## ◆ SetFromGloData()

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

Set a single attribute from the GLO file.

Parameters

  data | The attribute to set and its associated data.

Reimplemented from GlsEyePoint.

## ◆ SetValue()

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

Sets an attribute of this object using variable arguments

Parameters

  spec | A GLS_Initializer tag
  args | A variable argument list

Reimplemented from GlsEyePoint.

## ◆ StartMoving()

void StartMoving | ( | const MoveParms_t & | moveParms | ) |
| protected

Queues the move using the passed in movement parameters and sets up the start time and starting state of the move.

Parameters

  moveParms | The move parameters for this move.

## Member Data Documentation

## ◆ _bufferAngle

float _bufferAngle
| protected

This specifies a buffer area around _upVector and -_upVector which the moving eye will try to avoid. Setting this to non-zero avoids flipping problems when orientation passes through _upVector or -_upVector during moves.

## ◆ _firstSegment

bool _firstSegment
| protected

This is true when a move is occurring and the route segment being moved along is the very first one in the queue. This is used during sinusoidal movement to smoothly speed up when starting.

## ◆ _lookAtObject

std::string _lookAtObject
| protected

Automatically adjust the view direction to point at the specified targetObject. This is inactivated when the string is blank. While this is active, the move methods will not control the view direction. They can still control the position and other eye information.

## ◆ _lookAtReferenceUpVector

Vector _lookAtReferenceUpVector
| protected

The last up vector provided by the user or the move code. Used by the 'look at' algorithm to orient the eyepoint

## ◆ _maxSpeed

float _maxSpeed
| protected

This specifies the maximum speed in logical units / second which will be used to achive the transition. If the requested transition cannot occur within the requested move time without exceeding the max speed, the move time will be longer than requested. In other words, this limit has priority over any requested moveTime. A MaxSpeed value of < 0.0 means the speed limit is disabled.

## ◆ _moveQ

std::queue<MoveParms_t> _moveQ
| protected

Contains movement parameters for each move that should be performed. The last one contains the final eyepoint to stop at.

## ◆ _start

EyeState_t _start
| protected

Stores this eyepoint's current state at the start of a move and is used in calculating movement during each execution frame.

## ◆ _upVector

Vector _upVector
| protected

This specifies the up direction and is used when interpolating movement to keep the view oriented 'correctly'.

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

- gls_moving_eye.h