GL Studio C++ Runtime API
GlsClippingGroup Class Reference

#include <gls_clipping_group.h>

Inheritance diagram for GlsClippingGroup:
Group DisplayObject AttributeChangedNotifier WeakReferenceableMixin WeakReferenceable

Public Member Functions

 GlsClippingGroup (bool generateInstance=false)
 GlsClippingGroup (const GlsClippingGroup &clippingGroup, bool generateInstance)
virtual ~GlsClippingGroup ()
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 DisplayObjectPick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
virtual void SetValue (int spec, va_list &args)
bool ClippingActive (void)
void ClippingActive (bool value)
Vector Blc (void)
void Blc (const Vector &value)
Vector Trc (void)
void Trc (const Vector &value)
bool ShowOutline (void)
void ShowOutline (bool value)
- 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 void Parent (DisplayFrame *par)
void SetPainter (GlsPainter *painter) override
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 void InsertObject (DisplayObject *obj, bool reparent=true, bool recalculateBoundingbox=true, int loc=-1)
virtual bool DeleteObject (DisplayObject *obj, bool recalculateBoundingbox=true)
virtual void ReorderObject (unsigned int oldIndex, unsigned int newIndex)
virtual void PushObject (DisplayObject *obj)
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 FinishObject ()
virtual void GenerateInstanceName (void)
virtual DisplayObjecthandle (DisplayEvent *ev)
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

Protected Member Functions

void GetClipRegionCorners (Vector &tlc, Vector &trc, Vector &brc, Vector &blc)
- 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 ()

Additional Inherited Members

- Public Types inherited from DisplayObject
enum  AvailableAttributesEnum
- Static Public Member Functions inherited from DisplayObject
static void UseManualBlinkElapsedTime (bool useManualTime)
static void SetManualBlinkElapsedTime (double elapsedTime)
- Protected Attributes inherited from DisplayObject
int _alphaMode
bool _antiAlias
bool _attributesAdded
bool _blinking
float _blinkRate
GlsColor _color
bool _cullBackFace
GlsMatrixType _dcsMatrix
unsigned char _depthTest
unsigned char _lineStippleMultiplier
unsigned short _lineStipplePattern
float _lineWidth
Vertex _location
unsigned int _nTex_vertices
unsigned int _nVertices
unsigned char _polygonEnd
unsigned char _polygonMode
int _polygonOffset
unsigned char _shading
GlsColor _textureBlendColor
int _textureIndex
unsigned char _textureMagFilter
unsigned char _textureMinFilter
unsigned char _textureMap
Vector _texturePoints [4]
unsigned char _textureRepeat
void * _userData
int * _viewMatrix
bool _visible
- Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * _weakRefs

Detailed Description

Runtime implementation of a GlsClippingGroup

Constructor & Destructor Documentation

GlsClippingGroup ( bool  generateInstance = false)

Construct a new GlsClippingGroup.

generateInstanceWhether or not to generate an instance name for this clipping group
GlsClippingGroup ( const GlsClippingGroup clippingGroup,
bool  generateInstance 

Copy an existing clipping group's properties and clone its children to construct a new clipping group.

clippingGroupThe clipping group whose properties to copy and whose children to clone.
generateInstanceWhether or not to generate an instance name for this clipping group
virtual ~GlsClippingGroup ( )

Destructs a GlsClippingGroup object

Member Function Documentation

Vector Blc ( void  )
Gets bottom left corner of clip region
void Blc ( const Vector value)

Sets new bottom left corner for the clip region

valueThe new blc
bool ClippingActive ( void  )
If clipping is active for this group
void ClippingActive ( bool  value)

Sets if clipping is active for this group

valueThe new clipping value
virtual DisplayObject* CloneObject ( bool  generateNames = false)

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.

generateNamesWhether or not to generate new names for cloned objects
A new object, identical to the original, except for the instance name

Reimplemented from Group.

virtual void CopyProperties ( DisplayObject src)

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

srcThe object to copy properties from

Reimplemented from Group.

virtual void Draw ( void  )

Draws this object on the current display frame (_parent member). Pure virtual method

Reimplemented from Group.

void GetClipRegionCorners ( Vector tlc,
Vector trc,
Vector brc,
Vector blc 

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

tlc[out] receives top left corner
trc[out] receives top right corner
brc[out] receives bottom right corner
blc[out] receives bottom left corner
virtual InterfaceListType* GetCppInterfaceDescription ( InterfaceListType addToThisList = NULL)

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

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

Reimplemented from Group.

virtual void GetCppInterfaceDescriptionFree ( InterfaceListType array)

Frees the memory allocated by a previous call to GetCppInterfaceDescription

arrayMemory allocated by a previous call to GetCppInterfaceDescription

Reimplemented from Group.

virtual DisplayObject* Pick3D ( const Vector winLoc,
const Vector logicalCoords,
float  scale,
const Vector directionVector,
Vector collisionWinLoc,
const OpenGLMatrices drawnMatrices 

Attempts to pick an object in 3D and accounting for dynamic rotations and translations of this object or parent objects. It also looks at the pickable status and attempts to return the "Best" pick if that is what is desired.

Note: This method will pick objects in the scene based on a pick ray starting at winLoc and pointing into the screen. It will not pick objects behind the depth specified by winLoc.z. Typically winLoc.z should be set to 0 to ensure that the pick ray starts at near clip plane.

winLocDevice coordinates for the mouse click. Z value should be set to 0 to ensure pick ray starts at near clip plane.
logicalCoordsThe start of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector).
scaleCurrent window scale. Affects picking radius of outlines. Initial value should typically be 1.0.
directionVectorThe direction of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector).
collisionWinLocReturns where the pick vector intersects the object that is hit in device coordinates.
drawnMatricesThe matrices used to draw the object, including matrices set by parents that may have dynamically rotated, translated or scaled this object. Initial value should typically be a default OpenGLMatrices() object.
The object that was hit, or NULL if no object hit

Reimplemented from Group.

virtual void SetAvailableAttributes ( unsigned int  value)

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

valueA bitfield specifying which types of attributes to make available.
See also

Reimplemented from Group.

virtual void SetValue ( int  spec,
va_list &  args 

Sets an attribute of this object using variable arguments

specA GLS_Initializer tag
argsA variable argument list

Reimplemented from DisplayObject.

bool ShowOutline ( void  )
If clip region should always be drawn in the editor
void ShowOutline ( bool  value)

Sets if clip region should always be drawn in the editor

valueThe new show value
Vector Trc ( void  )
Gets top right corner of clip region
void Trc ( const Vector value)

Sets new top right corner for the clip region

valueThe new trc

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