GL Studio C++ Runtime API
GlsMimicGroup Class Reference

#include <gls_mimic_group.h>

Inheritance diagram for GlsMimicGroup:
Group GlsPainter DisplayObject AttributeChangedNotifier WeakReferenceableMixin WeakReferenceable

Public Member Functions

 GlsMimicGroup (bool generateInstance=false)
 
virtual ~GlsMimicGroup ()
 
virtual void SetAvailableAttributes (unsigned int value)
 
virtual DisplayObjectCloneObject (bool generateNames=false)
 
virtual void CopyProperties (DisplayObject *src)
 
virtual InterfaceListTypeGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL)
 
virtual void GetCppInterfaceDescriptionFree (InterfaceListType *array)
 
virtual void Draw (void)
 
virtual void SetValue (int spec, va_list &args)
 
virtual unsigned int TextureWidth () const
 
virtual void TextureWidth (unsigned int textureWidth)
 
virtual unsigned int TextureHeight () const
 
virtual void TextureHeight (unsigned int textureHeight)
 
virtual bool HasDepthBuffer () const
 
virtual void HasDepthBuffer (bool hasDepthBuffer)
 
virtual bool GenerateMipMaps () const
 
virtual void GenerateMipMaps (bool generate)
 
virtual bool DrawMimicGroupPolygon () const
 
virtual void DrawMimicGroupPolygon (bool draw)
 
virtual unsigned char MimicGroupDepthTest () const
 
virtual void MimicGroupDepthTest (unsigned char depthSettings)
 
virtual bool AutoRedraw () const
 
virtual void AutoRedraw (bool autoRedrawSetting)
 
virtual GlsColor ClearColor () const
 
virtual void ClearColor (const GlsColor &color)
 
virtual int AttachedTextureIndex () const
 
virtual void AttachedTextureIndex (int textureIndex)
 
bool MimicGroupActive (void)
 
void MimicGroupActive (bool activate)
 
void BottomLeftCorner (const Vector &bottomLeftCorner)
 
Vector BottomLeftCorner (void)
 
void TopRightCorner (const Vector &topRightCorner)
 
Vector TopRightCorner (void) const
 
bool ShowOutline (void) const
 
void ShowOutline (bool showOutline)
 
bool Redraw (void) const
 
void Redraw (bool redraw)
 
bool UseOpaqueTexture (void) const
 
void UseOpaqueTexture (bool opaque)
 
void SetPainter (GlsPainter *painter) DISTI_METHOD_OVERRIDE
 
virtual void InsertObject (DisplayObject *obj, bool reparent=true, bool recalculateBoundingbox=true, int loc=-1) DISTI_METHOD_OVERRIDE
 
virtual void PushObject (DisplayObject *obj) DISTI_METHOD_OVERRIDE
 
void Invalidate () DISTI_METHOD_OVERRIDE
 
bool IsInvalidated () const DISTI_METHOD_OVERRIDE
 
- Public Member Functions inherited from Group
DisplayObjectFindByName (const char *name)
 
virtual DisplayObjectFindByNameSameFrame (const char *name)
 
DisplayObjectFindByName (DisplayObject *obj)
 
DisplayObjectFindByQualifiedName (const char *name)
 
DisplayObjectFindNonRecursive (DisplayObject *obj)
 
DisplayObjectArrayObjects ()
 
const DisplayObjectArrayObjects () const
 
DisplayObjectItem (unsigned int index)
 
bool PerformGroupCullCheck (void) const
 
void PerformGroupCullCheck (bool mode)
 
bool CullTestChildren (void) const
 
void CullTestChildren (bool mode)
 
unsigned int Count (void) const
 
DisplayObjectPtr operator[] (unsigned int index)
 
const DisplayObjectoperator[] (unsigned int index) const
 
DisplayObjectFirstObject ()
 
DisplayObjectLastObject (void)
 
bool IsEmpty () const
 
int Position (const DisplayObject *obj) const
 
 Group (int generateInstance=0)
 
 Group (const Group &group, bool generateNames)
 
void InitialGroupCount (unsigned int cnt)
 
virtual ~Group ()
 
virtual void DeleteAllChildren ()
 
virtual void CopyGeometry (DisplayObject *src)
 
virtual void PreDraw (const OpenGLMatrices &current, Culler &culler)
 
virtual bool Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
 
virtual DisplayObjectPick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
 
virtual void Parent (DisplayFrame *par)
 
virtual void Location (const Vertex &v) override
 
virtual void Location (float x, float y, float z)
 
virtual void Translate (float x, float y, float z)
 
virtual void Translate (float transAmount[])
 
virtual void TranslateVertices (float x, float y, float z)
 
virtual void GetExtents (float &x, float &y, float &z, float &x1, float &y1, float &z1)
 
virtual void GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true)
 
virtual void Rotate (const Vector &orig, float angle, const Vector &axis)
 
void Scale (float scale_x, float scale_y, float scale_z, Vertex *anchor=NULL, int handle=0) override
 
virtual bool DeleteObject (DisplayObject *obj, bool recalculateBoundingbox=true)
 
virtual void ReorderObject (unsigned int oldIndex, unsigned int newIndex)
 
void DeleteVertexAt (unsigned) override
 
void InsertVertexAt (unsigned) override
 
virtual void SetGroupLocation (const Vertex &v)
 
virtual void GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL) override
 
virtual void CalculateTextureCoordinates (void) override
 
virtual void LineWidth (float width) override
 
virtual float LineWidth (void) override
 
virtual void LineStipplePattern (int pattern) override
 
virtual int LineStipplePattern (void) override
 
virtual void LineStippleMultiplier (int mult) override
 
virtual int LineStippleMultiplier (void) override
 
virtual int PolygonMode (void) override
 
virtual void PolygonMode (int mode) override
 
virtual void PolygonEnd (const int mode) override
 
virtual int PolygonEnd (void) override
 
virtual void Shading (const int mode) override
 
virtual int Shading (void) override
 
virtual void DepthTest (unsigned char mode) override
 
virtual int DepthTest (void) override
 
virtual void AntiAlias (bool mode) override
 
virtual bool AntiAlias (void) override
 
virtual void AlphaMode (int mode) override
 
virtual int AlphaMode (void) override
 
virtual void CullBackFace (const bool mode) override
 
virtual bool CullBackFace (void) override
 
virtual bool LightingEnabled () override
 
virtual void LightingEnabled (bool lighting) override
 
virtual void SetBlendColor (const GlsColor &color)
 
virtual GlsColor GetBlendColor (void)
 
virtual void SetColor (const GlsColor &color)
 
virtual GlsColor GetColor (void)
 
virtual void SetFillColor (const GlsColor &color)
 
virtual GlsColor GetFillColor (void)
 
virtual void TextureRepeat (const int rep)
 
virtual void TextureMappingTechnique (const int map)
 
virtual int TextureMappingTechnique (void)
 
virtual void TextureMinificationFilter (const int filter)
 
virtual int TextureMinificationFilter (void)
 
virtual void TextureMagnificationFilter (const int filter)
 
virtual int TextureMagnificationFilter (void)
 
virtual void Calculate (double time)
 
CompatabilityListItemFirst ()
 
CompatabilityListItemLast ()
 
- Public Member Functions inherited from DisplayObject
 DisplayObject (float x, float y, float z)
 
 DisplayObject (const DisplayObject &object, const bool generateNames)
 
virtual ~DisplayObject (void)
 
void Destroy ()
 
void ApplyTextureSettings (int textureIndex=-1)
 
DistiAttribDictAttributes ()
 
void GetBlendColor (unsigned char color[])
 
void GetBlendColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
 
void SetBlendColor (unsigned char color[])
 
void SetBlendColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
bool BlinkedOff (void)
 
virtual bool Blinking (void)
 
virtual void Blinking (const bool blink)
 
virtual float BlinkRate (void)
 
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)
 
void CalculateCollisionPoint (const Vector &pickLoc, const Vector &directionVector, Vector *collisionPoint)
 
virtual void CalculateParentBoundingBox (void)
 
bool GetTexturePointTransformationMatrix (GlsMatrixType &world2tex)
 
CallbackMethodCallerBaseCallbackCaller () const
 
void CallbackCaller (CallbackMethodCallerBase *cb)
 
virtual void GetCenter (Vector &center)
 
void GetColor (unsigned char c4[])
 
void GetColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
 
void SetColor (unsigned char c4[])
 
void SetColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
virtual void CopyHierarchyProperties (DisplayObject *src, bool copyName)
 
bool Culled () const
 
bool CullTest (const GlsMatrixType *matrix, const Culler &culler)
 
GlsMatrixTypeDcsMatrix ()
 
void DcsMatrix (const GlsMatrixType &matrix)
 
virtual void DeleteVertexAt (unsigned int index)
 
virtual void DeleteVertex (unsigned int indexAfter) final
 
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 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)
 
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[])
 
void SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
void SetFillColor (unsigned char c4[])
 
virtual void GenerateInstanceName (void)
 
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 (void)
 
void InstanceName (const char *name)
 
virtual const VertexLocation (void) const
 
virtual void GetLocation (Vertex &v)
 
virtual void GetLocation (float &x, float &y, float &z)
 
float X (void) const
 
float Y (void) const
 
float Z (void) 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 (void)
 
virtual float ObjectHeight (void)
 
virtual float ObjectWidth (void)
 
virtual void SetOrigin (const Vertex &vert)
 
DisplayFrameParent (void) const
 
virtual void ParentGroup (Group *group)
 
GroupParentGroup (void) const
 
unsigned char Pickable ()
 
virtual void Pickable (unsigned char pick)
 
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)
 
void RestoreAlpha (void)
 
void RestoreAntiAlias (void)
 
void RestoreLighting (void)
 
void RestoreLineStyle (void)
 
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)
 
void SaveMatrices ()
 
void Set (int spec,...)
 
bool SetupAlpha (void)
 
bool SetupAntiAlias (void)
 
void SetupDepthTest (void)
 
void SetupLighting (void)
 
bool SetupLineStyle (void)
 
void SetupPolyDrawStyle (void)
 
void SetupShading (void)
 
bool SetupTexture (void)
 
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 (void)
 
VectorGetTextureCoordinates (void)
 
virtual int TextureIndex (void)
 
virtual void TextureIndex (int textureIndex)
 
virtual VectorGetTexturePoints (void)
 
virtual bool TextureRepeat (void)
 
virtual void UpdateBoundingVolume (void)
 
void * UserData (void) 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 (void) const
 
bool Visibility (void) const
 
virtual void Visibility (const bool vis)
 
virtual Vector WorldRotationPoint (void)
 
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 GlsPainterGetPainter ()
 
void InvalidatePainter ()
 
virtual bool IsVisibleInScene (const DisplayObject *obj=NULL) const
 
- Public Member Functions inherited from AttributeChangedNotifier
virtual ~AttributeChangedNotifier ()
 
- Public Member Functions inherited from WeakReferenceableMixin
void AddWeakReference (WeakReference *weakRef) override
 
void NotifyWeakReferenceDestroyed (WeakReference *ref) override
 

Static Public Member Functions

static DisplayObjectCreateInstance ()
 
- Static Public Member Functions inherited from DisplayObject
static void UseManualBlinkElapsedTime (bool useManualTime)
 
static void SetManualBlinkElapsedTime (double elapsedTime)
 

Protected Member Functions

virtual void SetMatrices ()
 
virtual void PreDrawMimicGroupChildren (const OpenGLMatrices &parentMatrices, Culler &culler)
 
void SetupMimicGroupDepthTest ()
 
void GetRegionCorners (Vector &topLeftCorner, Vector &topRightCorner, Vector &bottomRightCorner, Vector &bottomLeftCorner)
 
void ApplyMimicGroupTextureSettings ()
 
void CreateDiffuseTexture ()
 
void CreateDepthTexture ()
 
void CreateMimicGroupQuad ()
 
void CreateFrameBuffer ()
 
void DeleteFrameBuffer ()
 
void RedrawScene ()
 
void DrawPolygon ()
 
void RegenerateMipMaps ()
 
DisplayObjecthandle (DisplayEvent *displayEvent)
 
bool RequiredGlFeaturesSupported ()
 
void LogUnsupportedFeatures ()
 
bool VertexBuffersAreSupported ()
 
void DrawMimicGroup ()
 
- Protected Member Functions inherited from Group
virtual void AddAvailableAttributes (unsigned int availableAttributes)
 
virtual void GrowBoundingBox (DisplayObject *obj)
 
- 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 AllocateModelMatrix ()
 
bool ApplyDynamicRotation (void)
 
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 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)
 
int GetApplicableTextureIndex ()
 
int GetApplicableTextureRepeat ()
 
- Protected Member Functions inherited from WeakReferenceableMixin
 WeakReferenceableMixin (void)
 
virtual ~WeakReferenceableMixin ()
 

Protected Attributes

bool _frameBuffersEnabledAndAttached
 
bool _overrideMimicGroupActive
 
- 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
 
unsigned char _lineStippleMultiplier
 
unsigned short _lineStipplePattern
 
float _lineWidth
 
Vertex _location
 
GlsMatrixType_modelMatrix
 
Vector_normals
 
unsigned int _nTex_vertices
 
unsigned int _nVertices
 
unsigned char _polygonEnd
 
unsigned char _polygonMode
 
int _polygonOffset
 
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
 

Static Protected Attributes

static bool _unsupportedLogged
 

Additional Inherited Members

- Public Types inherited from DisplayObject
enum  AvailableAttributesEnum
 

Detailed Description

The GlsMimicGroup class provides a way to group objects that change infrequently into a single textured polygon such that performance is increased due to not having to render the objects every frame. Instead, since all of the objects in the group are replaced with a single texture, performance is saved by updating the texture ONLY through handling a display event of name "MimicGroupUpdate". Whenever an object placed in this group is modified, you must write code to emit a "MimicGroupUpdate" ObjectEvent so that any changes made to its appearance will be reflected in the rendered texture.

For example: EmitObjectEvent( objectThatChanged, "MimicGroupUpdate" );

Picking and event handling for objects within the GlsMimicGroup work the same as for a regular Group, so it can contain interactive objects such as buttons, switches, etc. The GlsMimicGroup will only redraw the texture when it receives a "MimicGroupUpdate" ObjectEvent so you must write code to emit these events whenever a press, toggle, etc. affect the appearance of the object.

The GlsMimicGroup can contain 2D or 3D objects. All of these objects will be replaced with a 2D texture polygon so the GlsMimicGroup is best suited for use with panels that are mostly 2D. The GlsMimicGroup can also be useful with a collection of 3D objects as long as the GlsMimicGroup remains screen-aligned.

On older hardware that does not support the render-to-texture capabilities required by the GlsMimicGroup, the GlsMimicGroup will fall-back to rendering like a regular Group.

Constructor & Destructor Documentation

GlsMimicGroup ( bool  generateInstance = false)

Constructor.

Parameters
generateInstanceWhether or not to generate an instance name for this mimic group
virtual ~GlsMimicGroup ( )
virtual

Destructs a GlsMimicGroup object

Member Function Documentation

void ApplyMimicGroupTextureSettings ( )
protected

Apply texture settings for mimic polygon

virtual int AttachedTextureIndex ( ) const
inlinevirtual

Accessor for the GL Studio texture index the mimic will generate into.

Returns
the GL Studio texture index the mimic will generate into. If -1, then mimic will generate its own texture.
virtual void AttachedTextureIndex ( int  textureIndex)
virtual

Set the GL Studio texture index the mimic will generate into.

Parameters
textureIndexthe GL Studio texture index to generate mimic into. If -1, then mimic will generate its own texture.
virtual bool AutoRedraw ( ) const
inlinevirtual

Accessor for the mimic auto-redraw for conditional rendering settings.

Returns
the depth settings
virtual void AutoRedraw ( bool  autoRedrawSetting)
virtual

Set the mimic auto-redraw for conditional rendering.

Parameters
autoRedrawSettingthe enable to automatically update.
void BottomLeftCorner ( const Vector bottomLeftCorner)

Set the bottom left corner of mimic scene region

Parameters
bottomLeftCorner(in object coordinates)
Vector BottomLeftCorner ( void  )
inline

Accessor for the bottom left corner coordinate of the mimic scene region.

Returns
the bottom left corner of mimic scene region (in object coordinates)
virtual GlsColor ClearColor ( ) const
inlinevirtual

Accessor for the mimic scene background clear color.

Returns
the RGBA color that the mimic will use to clear mimic scene background with
virtual void ClearColor ( const GlsColor color)
virtual

Set the mimic scene background clear color.

Parameters
colorthe RGBA color that the mimic will use to clear mimic scene background with
virtual DisplayObject* CloneObject ( bool  generateNames = false)
virtual
See also
DisplayObject

Reimplemented from Group.

virtual void CopyProperties ( DisplayObject src)
virtual
See also
DisplayObject

Reimplemented from Group.

void CreateDepthTexture ( )
protected

Allocate and create the depth texture map

void CreateDiffuseTexture ( )
protected

Allocate and create the diffuse texture map

void CreateFrameBuffer ( )
protected

Allocate and create the frame buffer

static DisplayObject* CreateInstance ( )
static

Provides a way to statically create an instance of the GlsMimicGroup

Returns
an instance of a GlsMimicGroup
void CreateMimicGroupQuad ( )
protected

Allocate and create the mimic quad

void DeleteFrameBuffer ( )
protected

Delete the frame buffer (if it has been bound)

virtual void Draw ( void  )
virtual
See also
DisplayObject

Reimplemented from Group.

void DrawMimicGroup ( )
protected

Draw the mimic group. Care should be taken to call this method only when it is safe to draw the mimic group. The Draw() has the conditional structure necessary to make this decision.

virtual bool DrawMimicGroupPolygon ( ) const
inlinevirtual

Whether or not a mimic polygon will be drawn.

Returns
true if a mimic polygon will be drawn.
virtual void DrawMimicGroupPolygon ( bool  draw)
virtual

Set whether or not a mimic polygon will be drawn.

Parameters
drawtrue if a mimic polygon will be drawn.
void DrawPolygon ( )
protected

Draw the polygon for the mimic

virtual bool GenerateMipMaps ( ) const
inlinevirtual

Whether or not the mimic will generate mip maps.

Returns
true if the mimic will generate mip maps.
virtual void GenerateMipMaps ( bool  generate)
virtual

Set whether or not the mimic will generate mip maps.

Parameters
generatetrue if the mimic will generate mip maps.
virtual InterfaceListType* GetCppInterfaceDescription ( InterfaceListType addToThisList = NULL)
virtual
See also
DisplayObject

Reimplemented from Group.

virtual void GetCppInterfaceDescriptionFree ( InterfaceListType array)
virtual
See also
DisplayObject

Reimplemented from Group.

void GetRegionCorners ( Vector topLeftCorner,
Vector topRightCorner,
Vector bottomRightCorner,
Vector bottomLeftCorner 
)
protected

Get the four corners of the region transformed by the current DCS and offset by the group's location

Parameters
topLeftCorner[out] receives top left corner
topRightCorner[out] receives top right corner
bottomRightCorner[out] receives bottom right corner
bottomLeftCorner[out] receives bottom left corner
DisplayObject* handle ( DisplayEvent displayEvent)
protectedvirtual
See also
DisplayObject

Reimplemented from DisplayObject.

virtual bool HasDepthBuffer ( ) const
inlinevirtual

Whether or not the mimic will render a depth buffer.

Returns
true if the mimic will render a depth buffer.
virtual void HasDepthBuffer ( bool  hasDepthBuffer)
virtual

Set whether or not the mimic will render a depth buffer.

Parameters
hasDepthBuffertrue if the mimic will render a depth buffer.
virtual void InsertObject ( DisplayObject obj,
bool  reparent = true,
bool  recalculateBoundingbox = true,
int  loc = -1 
)
virtual
See also
Group

Reimplemented from Group.

void Invalidate ( )
virtual
See also
GlsPainter

Implements GlsPainter.

bool IsInvalidated ( ) const
virtual
See also
GlsPainter

Implements GlsPainter.

void LogUnsupportedFeatures ( )
protected

Logs the unsupported features that the GlsMimicGroup class requires to function properly.

bool MimicGroupActive ( void  )
inline

Whether or not the mimic is active for this group. If not active, mimic group behaves as a normal group

Returns
true if mimic is active for this group
void MimicGroupActive ( bool  activate)

Sets if mimic is active for this group If not active, mimic group behaves as a normal group

Parameters
activatewhether or not to activate the mimic
virtual unsigned char MimicGroupDepthTest ( ) const
inlinevirtual

Accessor for the mimic depth test settings.

Returns
the depth settings
virtual void MimicGroupDepthTest ( unsigned char  depthSettings)
virtual

Set the mimic depth test settings.

Parameters
depthSettingsthe depth settings
virtual void PreDrawMimicGroupChildren ( const OpenGLMatrices parentMatrices,
Culler culler 
)
protectedvirtual

Predraw case for when the mimic scene redraws

virtual void PushObject ( DisplayObject obj)
virtual
See also
Group

Reimplemented from Group.

bool Redraw ( void  ) const
inline

Whether or not the mimic group needs to redraw.

Returns
true if the mimic group needs to redraw.
void Redraw ( bool  redraw)

Set whether or not the mimic group needs to redraw

Parameters
redrawthe new redraw value
void RedrawScene ( )
protected

Redraw the scene

void RegenerateMipMaps ( )
protected

Regenerate the mip maps

bool RequiredGlFeaturesSupported ( )
protected

The GlsMimicGroup requres specific extensions of OpenGL which are not required elsewhere in GL Studio. This method will check that those features are supported.

Returns
True if the required features are supported.
virtual void SetAvailableAttributes ( unsigned int  value)
virtual
See also
DisplayObject

Reimplemented from Group.

virtual void SetMatrices ( )
protectedvirtual

Set up the matrices for the root of the mimic scene. The mimic scene is drawn without regard to any parent matrices of the mimic group.

void SetPainter ( GlsPainter painter)
virtual
See also
DisplayObject

Reimplemented from Group.

void SetupMimicGroupDepthTest ( )
protected

Set depth buffer settings when rendering the mimic polygon

virtual void SetValue ( int  spec,
va_list &  args 
)
virtual
See also
DisplayObject

Reimplemented from DisplayObject.

bool ShowOutline ( void  ) const
inline

Whether or not the outline of the mimic polygon region should be shown in the editor.

Returns
true if region should always be drawn in the editor
void ShowOutline ( bool  showOutline)

Set whether or not the mimic polygon region should always be drawn in the editor.

Parameters
showOutlinetrue if outline should always be drawn in editor
virtual unsigned int TextureHeight ( void  ) const
inlinevirtual

Accessor for the mimic texture height.

Returns
the height, in pixels, of the mimic texture.
virtual void TextureHeight ( unsigned int  textureHeight)
virtual

Set the mimic texture height.

Parameters
textureHeightthe height, in pixels, of the mimic texture.
virtual unsigned int TextureWidth ( void  ) const
inlinevirtual

Accessor for the mimic texture width.

Returns
the width, in pixels, of the mimic texture.
virtual void TextureWidth ( unsigned int  textureWidth)
virtual

Set the mimic texture width.

Parameters
textureWidththe width, in pixels, of the mimic texture.
void TopRightCorner ( const Vector topRightCorner)

Set the top right corner of mimic scene region

Parameters
topRightCorner(in object coordinates)
Vector TopRightCorner ( void  ) const
inline

Accessor for the top right corner coordinate of the mimic scene region.

Returns
the top right corner of mimic scene region (in object coordinates)
bool UseOpaqueTexture ( void  ) const
inline

Whether or not the mimic group texture is RGB.

Returns
true if the mimic group texture is RGB.
void UseOpaqueTexture ( bool  opaque)

Set whether the mimic group texture is RGB or RGBA

Parameters
opaquetrue for RGB, false for RGBA
bool VertexBuffersAreSupported ( )
protected

Determines if vertex buffer objects are supported on this platform.

Returns
True if vertex buffer objects are supported on this platform.

Member Data Documentation

bool _frameBuffersEnabledAndAttached
protected

True when frame buffer support is detected and frame buffers were attached successfully

bool _overrideMimicGroupActive
protected

True if the mimic group is not allowed to be activated due to platform restrictions.

bool _unsupportedLogged
staticprotected

True if a warning has been logged to users that the mimic group feature is not supported. This keeps us from spamming the user about not being supported.


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