GL Studio SCECpp Runtime Library
|
#include <gls_component_base.h>
Classes | |
struct | InitParameters |
Public Member Functions | |
virtual void | Initialize (void)=0 |
void | SetClipPlanes (const GlsVector3D &lowerFarLeft, const GlsVector3D &upperNearRight) |
virtual void | Draw (GlsStateManager &gl, const GlsFloat64 time) |
virtual void | Calculate (const GlsFloat64 time) |
virtual GlsDisplayObject * | PickTest (const GlsVector2D &windowCoord, GlsInputManager &inputManager, const GlsMatrixAffineD::GLMatrixAffineF &parentDrawMatrix) |
virtual void | SetChildrenAlphaMode (const GlsAlphaMode alphaMode) |
virtual void | SetChildrenFillColor (const GlsColor &fillColor) |
virtual void | SetChildrenLineColor (const GlsColor &lineColor) |
virtual void | SetChildrenLineWidth (const GlsFloat32 lineWidth) |
virtual void | SetChildrenPolygonMode (const GlsPolygonMode polygonMode) |
Public Member Functions inherited from GlsDisplayObject | |
GlsDisplayObject * | HandleEvent (GlsEvent &event) |
ObjectType | GetObjectType (void) const |
void | SetBlinking (const GlsBool blinking) |
void | SetBlinkRate (const GlsFloat32 blinkRate) |
void | SetDynamicRotation (const GlsVector3D &dynamicRotation) |
void | SetDynamicScale (const GlsVector3D &dynamicScale) |
void | SetDynamicTranslation (const GlsVector3D &dynamicTranslation) |
void | SetVisibility (const GlsBool visible) |
void | SetParent (GlsDisplayObject *const parent) |
void | SetPickMode (const PickMode pickMode) |
GlsBool | NeedCalculate (void) const |
void | InvalidatePickCache (void) |
Protected Types | |
enum | { CLIP_PLANE_LEFT = 0u, CLIP_PLANE_RIGHT, CLIP_PLANE_TOP, CLIP_PLANE_BOTTOM, CLIP_PLANE_FRONT, CLIP_PLANE_BACK, NUM_CLIP_PLANES } |
enum | { PLANE_EQN_COEFF_A = 0u, PLANE_EQN_COEFF_B, PLANE_EQN_COEFF_C, PLANE_EQN_COEFF_D, NUM_PLANE_COEFF } |
Protected Member Functions | |
GlsComponentBase (const InitParameters &initParameters, GlsEventDispatcher *const eventDispatcher) | |
void | ActivateClipPlanes (void) const |
void | DeactivateClipPlanes (void) const |
virtual GlsDisplayObjectArray & | GetObjects (void)=0 |
virtual | ~GlsComponentBase () |
Protected Member Functions inherited from GlsCompositeObject | |
GlsCompositeObject (const InitParameters &initParameters, GlsEventDispatcher *const eventDispatcher) | |
virtual | ~GlsCompositeObject () |
Protected Member Functions inherited from GlsDisplayObject | |
GlsDisplayObject (const InitParameters &initParameters, const ObjectType objectType, GlsEventDispatcher *const eventDispatcher) | |
virtual | ~GlsDisplayObject () |
GlsBool | CalcDrawMatrix (const GlsMatrixAffineD *const additionalTransform, const GlsBool includeLocation) |
virtual void | CalcWindowPickRegion (GlsInputManager &inputManager, const GlsMatrixAffineD::GLMatrixAffineF &parentDrawMatrix) |
GlsBool | IsBlinkedOff (const GlsFloat64 time) const |
Additional Inherited Members | |
Public Types inherited from GlsDisplayObject | |
enum | ObjectType { OBJECT_TYPE_COMPOSITE, OBJECT_TYPE_RENDERABLE } |
enum | PickMode { PICK_MODE_NEVER, PICK_MODE_FIRST, PICK_MODE_ALWAYS } |
This class serves as an abstract base class for all user derived display components.
|
protected |
|
protected |
|
protected |
Constructor - create an instance, can only be called by a derived class
initParameters | initialization parameters |
eventDispatcher | event dispatcher for this object else GLS_NULL |
|
protectedvirtual |
Destructor - shall never be called
|
protected |
Activate the GL clip planes described by _clipPlanes
|
virtual |
Provides a mechanism for performing regular calculations, separate from drawing.
time | The elaspsed time in seconds since program start |
Reimplemented from GlsDisplayObject.
|
protected |
Deactivate the GL clip planes
|
virtual |
Draws the component
gl | GL State manager for OpenGL into which object is drawn |
time | the elaspsed time in seconds since program start |
Implements GlsDisplayObject.
|
protectedpure virtual |
Get the object array that contains all of the objects in the component
|
pure virtual |
Called after objects in the component are created. This allows a derived class to have custom initialization code.
|
virtual |
Perform a pick test of the given point in window coordinates against this object
windowCoord | point in question |
inputManager | input manager managing input for this object |
parentDrawMatrix | draw matrix used when rendering parent object |
Reimplemented from GlsDisplayObject.
|
virtual |
Set the alpha mode of the contained objects
alphaMode | desired alpha mode |
Implements GlsCompositeObject.
|
virtual |
Set the fill color of the contained objects
fillColor | desired fill color |
Implements GlsCompositeObject.
|
virtual |
Set the line color of the contained objects
lineColor | desired line color |
Implements GlsCompositeObject.
|
virtual |
Set the line width of the contained objects
lineWidth | new line width, GlsRenderObject::LINE_WIDTH_MIN <= lineWidth <= GlsRenderObject::LINE_WIDTH_MAX |
Implements GlsCompositeObject.
|
virtual |
Set the polygon mode of the contained objects
polygonMode | new polygon mode |
Implements GlsCompositeObject.
void GlsComponentBase::SetClipPlanes | ( | const GlsVector3D & | lowerFarLeft, |
const GlsVector3D & | upperNearRight | ||
) |
Enable and configure the six clipping planes ( left, right, top, bottom, front, back ) against which the component will be clipped when rendered. The clipping planes are defined by the 3D box described by the given points.
lowerFarLeft | lower far left side point of 3D box describing clip planes |
upperNearRight | upper near right side point of 3D box describing clip planes |
|
protected |
GLS_TRUE if clipping is enabled when drawing else GLS_FALSE
|
protected |
plane equation coefficients for each plane
|
protected |
The static transformation from the internal component coordinates to the parent's coordinate system. the rotation, and scaling that the parent did to this component, including translation for _location