GL Studio C++ Runtime API
GlsEyePoint Class Reference

#include <gls_eyepoint.h>

Inheritance diagram for GlsEyePoint:
DisplayObject AttributeChangedNotifier WeakReferenceableMixin WeakReferenceable GlsMovingEye

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 DisplayObjectCloneObject (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 DrawFrustum (bool selected, bool orthographic, bool fovIsHorizontal, double orthoSize, double otherOrthoSize, double fov, double otherFov, FovConstraintType horizontalConstraint, FovConstraintType verticalConstraint, double farClip, double nearClip)
 
virtual void CopyGeometry (DisplayObject *src) override
 
virtual void CopyProperties (DisplayObject *src) override
 
virtual InterfaceListTypeGetCppInterfaceDescription (InterfaceListType *addToThisList) override
 
virtual void GetCppInterfaceDescriptionFree (InterfaceListType *list) 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 ()
 
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)
 
DistiAttribDictAttributes ()
 
const DistiAttribDictAttributes () 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 VectorBoundingVolumeCenter () 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)
 
CallbackMethodCallerBaseCallbackCaller () const
 
void CallbackCaller (CallbackMethodCallerBase *cb)
 
virtual void GetCenter (Vector &center)
 
virtual DisplayObjectCloneObject (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 InterfaceListTypeGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL)
 
virtual void GetCppInterfaceDescriptionFree (InterfaceListType *array)
 
virtual void CullBackFace (const bool val)
 
virtual bool CullBackFace ()
 
bool Culled () const
 
void Culled (bool val)
 
bool CullTest (const GlsMatrixType *matrix, const Culler &culler)
 
GlsMatrixTypeDcsMatrix ()
 
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 GlsMatrixTypeDrawMatrix ()
 
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 DynamicTranslate (float amount, int axis, bool relative=false)
 
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 DisplayObjecthandle (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 VertexLocation () 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)
 
GlsMatrixTypeModelMatrix ()
 
bool NeedCalculate ()
 
VectorNormals ()
 
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)
 
DisplayFrameParent () const
 
virtual void ParentGroup (Group *group)
 
GroupParentGroup () const
 
virtual DisplayObjectPick3D (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)
 
GlsMatrixTypeProjMatrix ()
 
virtual void ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld)
 
virtual float RelativeAngle (const float x, const float y)
 
virtual DistiAttributeBaseResource (const char *name)
 
virtual void GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
 
void RestoreAlpha ()
 
void RestoreAntiAlias ()
 
void RestoreLighting ()
 
void RestoreLineStyle ()
 
const VertexRotationPoint () 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 ()
 
bool SetupAntiAlias ()
 
void SetupDepthTest ()
 
void SetupLighting ()
 
bool SetupLineStyle ()
 
void SetupPolyDrawStyle ()
 
void SetupShading ()
 
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,...)
 
VectorTextureCoordinates ()
 
VectorGetTextureCoordinates ()
 
virtual int TextureIndex ()
 
virtual void TextureIndex (int textureIndex)
 
virtual VectorGetTexturePoints ()
 
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 VertexVertices ()
 
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)
 
virtual bool GetPlaneVectorPoints (Vertex &p1, Vertex &p2, Vertex &p3, Vertex &planeVector)
 
void NotifyAttributeChanged (const AttributeName &name) override
 
virtual void SetPainter (GlsPainter *painter)
 
virtual GlsPainterGetPainter ()
 
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 InterfaceListTypeStaticGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL)
 
static void UseManualBlinkElapsedTime (bool useManualTime)
 
static void SetManualBlinkElapsedTime (double elapsedTime)
 

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
int _alphaMode
 
bool _antiAlias
 
bool _attributesAdded
 
bool _blinking
 
float _blinkRate
 
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
 
- Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * _weakRefs
 

Friends

class GlsEyePointEditor
 

Additional Inherited Members

- 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)
 
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 VertexLastDrawMatrixLocation ()
 
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 SetValue (int spec, va_list &args)
 
int GetApplicableTextureIndex ()
 
int GetApplicableTextureRepeat ()
 
- Protected Member Functions inherited from WeakReferenceableMixin
 WeakReferenceableMixin ()
 
virtual ~WeakReferenceableMixin ()
 

Detailed Description

The GlsEyePoint class. Implements Eyepoints

Constructor & Destructor Documentation

◆ GlsEyePoint() [1/2]

Allocate a (blank) EyePoint object

◆ GlsEyePoint() [2/2]

GlsEyePoint ( const GlsEyePoint that,
const bool  generateNames 
)

The copy constructor for GlsEyePoint

Parameters
thatThe GlsEyePoint object that is being copied
generateNamesWhether or not to generate a new instance name

◆ ~GlsEyePoint()

virtual ~GlsEyePoint ( )
virtual

Destroy an Eyepoint object

Member Function Documentation

◆ ApplyViewMatrices()

virtual void ApplyViewMatrices ( )
virtual

Calculates and applies the projection and modelview matrices for this eyepoint

◆ CalcOrthographicView()

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

Called by ApplyViewMatrices() to do the sizing logic.

Parameters
viewWidthThe width of the view in pixels.
viewHeightThe height of the view in pixels.
thisEyeThe associated eyepoint (this).
fovYThe vertical field of view in degrees.
aspectThe 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
viewWidthThe width of the view in pixels.
viewHeightThe height of the view in pixels.
thisEyeThe associated eyepoint (this).
fovYThe vertical field of view in degrees.
aspectThe aspect ratio width / height.

◆ CloneObject()

virtual DisplayObject * CloneObject ( bool  generateNames = false)
overridevirtual

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
generateNamesWhether 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)
overridevirtual

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

Parameters
srcThe object to copy geometry from

Reimplemented from DisplayObject.

◆ CopyProperties()

virtual void CopyProperties ( DisplayObject src)
overridevirtual

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

Parameters
srcThe 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 ( )
overridevirtual

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)
inlinestatic

Alternate callback for calculating the perspective view Set DrawDebugGeometry to true to cause eyepoints to draw at runtime.

Note
This affects all eyepoint instances.
Parameters
drawThe new debug state to set.

◆ DrawFrustum()

virtual void DrawFrustum ( bool  selected,
bool  orthographic,
bool  fovIsHorizontal,
double  orthoSize,
double  otherOrthoSize,
double  fov,
double  otherFov,
FovConstraintType  horizontalConstraint,
FovConstraintType  verticalConstraint,
double  farClip,
double  nearClip 
)
virtual

Draws a representation of the frustum. This is done primarily for the editor. but is available at runtime. The specific values can be specified to avoid making the editor set them and set them back.

Parameters
selectedIf true, this object is currently selected.
orthographicIf true, this eyepoint is orthographic, otherwise it is perspective.
fovIsHorizontalIf true the field of view is horizontal, otherwise it is vertical.
orthoSizeThe width of the orthographic view in pixels.
otherOrthoSizeThe height of the orthographic view in pixels.
fovThe width of the view in degrees, height if fovIsHorizontal is true.
otherFovThe height of the view in degrees, width if fovIsHorizontal is true.
horizontalConstraintThe horizontal constraint behavior.
verticalConstraintThe vertical constraint behavior.
farClipThe far clip distance.
nearClipThe near clip distance.

◆ 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
valDistance 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
fovDegThe 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
valTrue if FOV measurement is along horizonal axis of eyepoint

◆ GetCppInterfaceDescription()

virtual InterfaceListType * GetCppInterfaceDescription ( InterfaceListType addToThisList)
overridevirtual

Get the details of the Cpp Interface The actual interface is exposed in compiled code.

Parameters
addToThisListIf not NULL this list will be added to then returned. If NULL a new list will be created.
Returns
A templated list.
The caller must call the corresponding free method to safely free the memory.

Reimplemented from DisplayObject.

Reimplemented in GlsMovingEye.

◆ GetCppInterfaceDescriptionFree()

virtual void GetCppInterfaceDescriptionFree ( InterfaceListType array)
overridevirtual

Frees the memory allocated by a previous call to GetCppInterfaceDescription

Parameters
arrayMemory allocated by a previous call to GetCppInterfaceDescription

Reimplemented from DisplayObject.

Reimplemented in GlsMovingEye.

◆ GetModelViewMatrix()

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

Returns the modelview matrix for this eyepoint.

Parameters
modelviewOutput
includeEyeToWorldIf 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
projThe requested projection matrix
viewWThe width of the view in pixels
viewHThe height of the view in pixels

◆ GetViewVectors()

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

Returns the current view vectors.

Parameters
xThe returned X view vector.
yThe returned Y view vector.
zThe 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
valThe 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
valDistance 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
directionA direction vector
rollA roll value about the direction vector, in degrees
upVectordefines 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
valTrue 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
valThe 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
fovDegThe 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
valThe 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
upVectorThe "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
origThe point to rotate around
angleThe angle to rotate by, in degrees
axisThe arbitrary axis to rotate the object around

Reimplemented from DisplayObject.

◆ Rotate() [2/4]

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

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

Parameters
origThe point to rotate around
angleThe angle to rotate by, in degrees
axisThe 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
originThe point to rotate around
angleThe angle to rotate by, in degrees
axisThe 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
angleThe angle to rotate by, in degrees
axisThe axis to rotate the object around.

Reimplemented from DisplayObject.

◆ SetAlternateCalcOrthographicView()

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

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

Parameters
eyeThe associated eyepoint.
containerThe object containing the callback method.
methodThe callback function pointer to call.

◆ SetAlternateCalcPerspectiveView()

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

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

Parameters
eyeThe associated eyepoint.
containerThe object containing the callback method.
methodThe callback function pointer to call.

◆ SetAvailableAttributes()

virtual void SetAvailableAttributes ( unsigned int  value)
overridevirtual

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
valueA bitfield specifying which types of attributes to make available.
See also
AvailableAttributesEnum

Reimplemented from DisplayObject.

Reimplemented in GlsMovingEye.

◆ SetValue()

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

Sets an attribute of this object using variable arguments

Parameters
specA GLS_Initializer tag
argsA 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
xThe new X view vector to set.
yThe new Y view vector to set.
zThe 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
valThe 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: