1#ifndef _GLS_DISPLAY_OBJECT_H
2#define _GLS_DISPLAY_OBJECT_H
75 #if defined( GLS_DEBUG )
88 #if defined( GLS_DEBUG )
99 #if defined( GLS_DEBUG )
127 #if defined( GLS_DEBUG )
249 #if defined( GLS_UNIT_TEST )
256 static const void* OffsetOfObjectType(
void );
360#if defined( GLS_DEBUG )
361#pragma BullseyeCoverage save off
374#pragma BullseyeCoverage restore
377#if defined( GLS_DEBUG )
378#pragma BullseyeCoverage save off
391#pragma BullseyeCoverage restore
394#if defined( GLS_UNIT_TEST )
395#pragma BullseyeCoverage save off
402inline const void* GlsDisplayObject::OffsetOfObjectType(
void )
406#pragma BullseyeCoverage restore
Definition: gls_display_object.h:65
GlsBool _dynamicScaleIsUnity
Definition: gls_display_object.h:288
const GlsMatrixAffineD _dcsMatrixInverse
Definition: gls_display_object.h:263
ObjectType
Definition: gls_display_object.h:71
@ OBJECT_TYPE_COMPOSITE
Definition: gls_display_object.h:72
@ OBJECT_TYPE_RENDERABLE
Definition: gls_display_object.h:73
GlsDisplayObject * HandleEvent(GlsEvent &event)
GlsVector3D _dynamicRotation
Definition: gls_display_object.h:285
void SetParent(GlsDisplayObject *const parent)
virtual GlsDisplayObject * PickTest(const GlsVector2D &windowCoord, GlsInputManager &inputManager, const GlsMatrixAffineD::GLMatrixAffineF &parentDrawMatrix)
void InvalidatePickCache(void)
const GlsVector3D _rotationPoint
Definition: gls_display_object.h:272
GlsFloat32 _blinkRate
Definition: gls_display_object.h:280
GlsMatrixAffineD::GLMatrixAffineF _drawMatrix
Definition: gls_display_object.h:281
PickMode _pickMode
Definition: gls_display_object.h:294
void SetDynamicRotation(const GlsVector3D &dynamicRotation)
GlsBool _visible
Definition: gls_display_object.h:293
void SetVisibility(const GlsBool visible)
const GlsMatrixAffineD _dcsMatrix
Definition: gls_display_object.h:260
void SetDynamicTranslation(const GlsVector3D &dynamicTranslation)
void SetDynamicScale(const GlsVector3D &dynamicScale)
void SetBlinking(const GlsBool blinking)
const GlsBool _dcsMatrixIsIdentity
Definition: gls_display_object.h:264
void SetBlinkRate(const GlsFloat32 blinkRate)
PickMode
Definition: gls_display_object.h:82
@ PICK_MODE_NEVER
Definition: gls_display_object.h:83
@ PICK_MODE_ALWAYS
Definition: gls_display_object.h:85
@ PICK_MODE_FIRST
Definition: gls_display_object.h:84
GlsBool NeedCalculate(void) const
const PickRegion _pickRegion
Definition: gls_display_object.h:270
GlsMatrixAffineD::GLMatrixAffineF _pickMatrix
Definition: gls_display_object.h:304
const GlsVector3D _location
Definition: gls_display_object.h:265
void SetPickMode(const PickMode pickMode)
GlsBool CalcDrawMatrix(const GlsMatrixAffineD *const additionalTransform, const GlsBool includeLocation)
virtual void Draw(GlsStateManager &gl, const GlsFloat64 time)=0
GlsVector2D _windowPickLowerLeft
Definition: gls_display_object.h:296
GlsBool IsBlinkedOff(const GlsFloat64 time) const
GlsBool _windowPickRegionValid
Definition: gls_display_object.h:295
GlsBool _needCalcDrawMatrix
Definition: gls_display_object.h:291
GlsDisplayObject * _parent
Definition: gls_display_object.h:306
virtual void Calculate(const GlsFloat64 time)
const ObjectType _objectType
Definition: gls_display_object.h:269
const GlsBool _needCalculate
Definition: gls_display_object.h:267
GlsDisplayObject(const InitParameters &initParameters, const ObjectType objectType, GlsEventDispatcher *const eventDispatcher)
GlsVector3D _dynamicScale
Definition: gls_display_object.h:287
GlsEventDispatcher *const _eventDispatcher
Definition: gls_display_object.h:271
virtual ~GlsDisplayObject()
GlsVector2D _windowPickLowerRight
Definition: gls_display_object.h:302
ObjectType GetObjectType(void) const
GlsBool _blinking
Definition: gls_display_object.h:279
virtual void CalcWindowPickRegion(GlsInputManager &inputManager, const GlsMatrixAffineD::GLMatrixAffineF &parentDrawMatrix)
GlsVector2D _windowPickUpperRight
Definition: gls_display_object.h:298
GlsVector3D _dynamicTranslation
Definition: gls_display_object.h:289
GlsVector2D _windowPickUpperLeft
Definition: gls_display_object.h:300
Definition: gls_event.h:305
Definition: gls_matrix_affine_double.h:55
GlsFloat64 CStyleMatrix[DIMENSION][DIMENSION]
Definition: gls_matrix_affine_double.h:60
GLfloat GLMatrixAffineF[DIMENSION *DIMENSION]
Definition: gls_matrix_affine_double.h:63
Definition: gls_state_manager.h:64
This header defines the runtime assert checking macros for the GL Studio DO-178B Runtime Library.
#define GLS_CLASS_INVARIANT_DECLARATION(ClassName)
Definition: gls_class_invariant.h:80
This header the GlsEvent structure and related classes in the GL Studio DO-178B Runtime Library.
This header includes the API for the OpenGL provider used in the GL Studio DO-178B Runtime Library.
This header defines any preprocessor defines needed to configure the GL Studio DO-178B Runtime Librar...
This header defines The GlsMatrixAffineD class for use in the GL Studio DO-178B Runtime Library.
This header defines the basic types used by the GL Studio DO-178B Runtime Library.
bool GlsBool
Definition: gls_types.h:96
double GlsFloat64
Definition: gls_types.h:87
float GlsFloat32
Definition: gls_types.h:78
This header defines classes for working with 2D and 3D vectors, vertices and textured vertices in the...
Definition: gls_display_object.h:111
const GlsMatrixAffineD::CStyleMatrix dcsMatrixInverse
Definition: gls_display_object.h:116
const GlsBool needCalculate
Definition: gls_display_object.h:118
const GlsVector3D location
Definition: gls_display_object.h:117
const GlsMatrixAffineD::CStyleMatrix dcsMatrix
Definition: gls_display_object.h:115
const GlsVector3D rotationPoint
Definition: gls_display_object.h:122
const PickMode pickMode
Definition: gls_display_object.h:120
const GlsBool visible
Definition: gls_display_object.h:124
const GlsFloat32 blinkRate
Definition: gls_display_object.h:114
const PickRegion pickRegion
Definition: gls_display_object.h:121
const GlsBool blinking
Definition: gls_display_object.h:112
Definition: gls_display_object.h:95
GlsVector3D lowerNearLeft
Definition: gls_display_object.h:96
GlsVector3D upperFarRight
Definition: gls_display_object.h:97
Definition: gls_event.h:53
Definition: gls_vertex.h:50
Definition: gls_vertex.h:66