| GL Studio C++ Runtime API

Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
GlsNinePatch Class Reference

`#include <gls_nine_patch.h>`

Inheritance diagram for GlsNinePatch:

## Classes
class | Rect3D

## Public Types
enum | Edge { FIRST = 0 , LEFT = 0 , RIGHT = 1 , TOP = 2 , BOTTOM = 3 , COUNT = 4 }
typedef GLPolygon | _BaseClass
| Deprecated typedef for the base class.
typedef GLPolygon | BaseClass
| Typedef for the base class.
Public Types inherited from GLPolygon
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
| GlsNinePatch (bool generateInstance=false)
| GlsNinePatch (const GlsNinePatch &that, const bool generateNames)
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar) DISTI_METHOD_OVERRIDE
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis) DISTI_METHOD_OVERRIDE
virtual bool | Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) DISTI_METHOD_OVERRIDE
virtual Vertex * | Vertices () DISTI_METHOD_OVERRIDE
virtual void | GetExtents (float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz) DISTI_METHOD_OVERRIDE
virtual void | GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax) DISTI_METHOD_OVERRIDE
virtual void | UpdateBoundingVolume () DISTI_METHOD_OVERRIDE
virtual void | SetValue (int spec, va_list &args) DISTI_METHOD_OVERRIDE
virtual void | SetAvailableAttributes (unsigned int value) DISTI_METHOD_OVERRIDE
virtual DisplayObject * | CloneObject (bool generateNames=false) DISTI_METHOD_OVERRIDE
virtual void | CopyProperties (DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual void | CopyGeometry (DisplayObject *srcArg) DISTI_METHOD_OVERRIDE
virtual void | Calculate (double time) DISTI_METHOD_OVERRIDE
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler) DISTI_METHOD_OVERRIDE
virtual void | Draw () DISTI_METHOD_OVERRIDE
virtual void | SetFillColor (const GlsColor &color) DISTI_METHOD_OVERRIDE
virtual GlsColor | GetFillColor () DISTI_METHOD_OVERRIDE
virtual int | PolygonMode () DISTI_METHOD_OVERRIDE
virtual void | PolygonMode (int mode) DISTI_METHOD_OVERRIDE
void | TextureEdge (Edge index, float value)
void | LeftTextureEdge (float value)
void | RightTextureEdge (float value)
void | TopTextureEdge (float value)
void | BottomTextureEdge (float value)
void | VertexEdge (Edge index, float value)
void | LeftVertexEdge (float value)
void | RightVertexEdge (float value)
void | TopVertexEdge (float value)
void | BottomVertexEdge (float value)
virtual float | TextureEdge (Edge index)
float | LeftTextureEdge ()
float | RightTextureEdge ()
float | TopTextureEdge ()
float | BottomTextureEdge ()
virtual float | VertexEdge (Edge index)
float | LeftVertexEdge ()
float | RightVertexEdge ()
float | TopVertexEdge ()
float | BottomVertexEdge ()
bool | CenterVisible ()
void | CenterVisible (bool value)
void | WidthVector (const Vector &v)
void | HeightVector (const Vector &v)
const Vector | WidthVector () const
const Vector | HeightVector () const
void | TextureBLC (const float x, const float y)
void | TextureBLC (const Vector &value)
void | TextureTRC (const float x, const float y)
void | TextureTRC (const Vector &value)
Vector | TextureBLC () const
Vector | TextureTRC () const
void | Height (const float &value)
void | Width (const float &value)
float | Height () const
float | Width () const
virtual const Vertex * | GetPatchVerts ()
virtual const Vector * | GetPatchTex ()
Rect3D | GetChildRect ()
void | ReferenceTextureWidth (const unsigned int &value)
void | ReferenceTextureHeight (const unsigned int &value)
unsigned int | ReferenceTextureWidth ()
unsigned int | ReferenceTextureHeight ()
void | ForceRecalculate ()
Public Member Functions inherited from GLPolygon
| GLPolygon (unsigned int nPoints, const Vertex *vertices)
| GLPolygon (unsigned int nPoints, const Vertex *vertices, const Vertex &location)
| GLPolygon ()
| GLPolygon (const GLPolygon &polygon, const bool generateNames)
virtual | ~GLPolygon ()
void | ConfigureMetaData ()
virtual DisplayObject * | CloneObject (bool generateNames=false)
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler) override
virtual void | Draw () override
virtual void | CalculateTextureCoordinates ()
virtual void | CalcNormals (int windingOrder=1)
virtual void | SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual void | SetFillColor (const GlsColor &color)
virtual void | DeleteVertexAt (unsigned int index)
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices) override
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)
DistiAttribDict & | Attributes ()
const DistiAttribDict & | Attributes () 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 Vector & | BoundingVolumeCenter () 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)
CallbackMethodCallerBase * | CallbackCaller () const
void | CallbackCaller (CallbackMethodCallerBase *cb)
virtual void | GetCenter (Vector &center)
virtual DisplayObject * | CloneObject (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 void | CullBackFace (const bool val)
virtual bool | CullBackFace ()
bool | Culled () const
void | Culled (bool val)
bool | CullTest (const GlsMatrixType *matrix, const Culler &culler)
GlsMatrixType & | DcsMatrix ()
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 GlsMatrixType * | DrawMatrix ()
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 | DynamicTranslateAxis (float amount, int axis, bool relative)
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 DisplayObject * | handle (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 Vertex & | Location () 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)
GlsMatrixType * | ModelMatrix ()
bool | NeedCalculate ()
Vector * | Normals ()
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)
DisplayFrame * | Parent () const
virtual void | ParentGroup (Group *group)
Group * | ParentGroup () const
virtual DisplayObject * | Pick3D (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)
GlsMatrixType * | ProjMatrix ()
virtual void | ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld)
virtual float | RelativeAngle (const float x, const float y)
virtual DistiAttributeBase & | Resource (const char *name)
virtual void | GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
const Vertex & | RotationPoint () 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 ()
void | SetupDepthTest ()
void | SetupLighting ()
bool | SetupLineStyle ()
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,...)
Vector * | TextureCoordinates ()
Vector * | GetTextureCoordinates ()
virtual int | TextureIndex ()
virtual void | TextureIndex (int textureIndex)
virtual Vector * | GetTexturePoints ()
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 Vertex * | Vertices ()
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)
bool | Create (GlsGloFile &dataStream, Group *parent)
void | GeometryRefresh ()
| Invalidates the painter and refreshes the geometry on the next paint cycle.
virtual bool | GetPlaneVectorPoints (Vertex &p1, Vertex &p2, Vertex &p3, Vertex &planeVector)
void | NotifyAttributeChanged (const AttributeName &name) override
virtual void | SetPainter (GlsPainter *painter)
virtual GlsPainter * | GetPainter ()
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 DisplayObject * | CreateInstance ()
Static Public Member Functions inherited from GLPolygon
static DisplayObject * | CreateInstance ()
Static Public Member Functions inherited from DisplayObject
static void | UseManualBlinkElapsedTime (bool useManualTime)
static void | SetManualBlinkElapsedTime (double elapsedTime)

## Protected Member Functions
void | CalculatePatchVerts ()
void | CalculateTextureVerts ()
void | CalculateTextureResize (const int tw, const int th)
void | CalculateRadiiUnit ()
void | SetNeedsRecalculate ()
void | SetNeedsTextureRecalculate ()
void | DrawGuides ()
virtual GLS_EXPORT void | SetFromGloData (GlsGloFileAttribute &data) DISTI_METHOD_OVERRIDE
Protected Member Functions inherited from GLPolygon
void | DrawSolidGeometry (bool textureObject, bool gouraudShading, bool normal)
void | DrawOutlineGeometry ()
| Draws lines that form this polygon's outline.
void | DrawPoints ()
| Draws a point for each vertex of this polygon.
void | BakeVBO (bool hasT, bool hasC, bool hasN)
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 | ApplyTextureMinMagSettings ()
| Updates the state manager's texture minification and magnification filter based on this display's configuration.
void | ApplyTextureEnvModeSettings ()
| Updates the state manager's texture environment based on this object configuration.
bool | SetupTextureIsNeeded ()
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 Vertex & | LastDrawMatrixLocation ()
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 | SetFromGloData (GlsGloFileAttribute &data)
virtual void | SetValue (int spec, va_list &args)
int | GetApplicableTextureIndex ()
int | GetApplicableTextureRepeat ()
Protected Member Functions inherited from WeakReferenceableMixin
| WeakReferenceableMixin ()
virtual | ~WeakReferenceableMixin ()

## Protected Attributes
Vertex | _patchVerts [16]
Vector | _patchTex [16]
Vector | _radii [2]
Vector | _normal
Vector | _textureBLC
Vector | _textureTRC
float | _width
float | _height
float | _textureEdge [4]
float | _vertexEdge [4]
bool | _centerVisible
bool | _needsRecalculate
bool | _needsTextureRecalculate
bool | _guidesVisible
GlsColor | _objectColor
unsigned int | _texWidth
unsigned int | _texHeight
GlsVertexArray | _vertArray
| Defines the vertices that make up the triangles of this object.
GlsIndexArray | _indexArray
| Array containing indices to each triangle vertex.
unsigned int | _referenceTexWidth
unsigned int | _referenceTexHeight
Protected Attributes inherited from GLPolygon
GlsVertexArray | _vertArray
| A vertex array that makes up this mesh. Each vertex contains data such as position, normal, texture coordinates, and color.
bool | _pendingFillColor
| If true and gouraudShading is true during a paint cycle, then it'll bake the VBO.
Protected Attributes inherited from DisplayObject
bool | _geometryRefresh
| Whether or not the geometry (VBOs etc.) needs to be updated on the GPU.
int | _alphaMode
bool | _antiAlias
bool | _attributesAdded
bool | _blinking
float | _blinkRate
bool | _isBlinkedOff
| Stores whether the object is presently blinked on or off.
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
IGlsStateManager * | _stateManager
| The state manager that interfaces with OpenGL and maintains its render state.
Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * | _weakRefs

## Friends
class | GlsNinePatchEditor

## Detailed Description

Runtime implementation of a GlsNinePatch

## Member Enumeration Documentation

## ◆ Edge

enum Edge

The enumeration defining which edge textures and vertices refer to

## Constructor & Destructor Documentation

## ◆ GlsNinePatch() [1/2]

GlsNinePatch | ( | bool | generateInstance = `false` | ) |

Constructor

Parameters

  generateInstance | Whether or not to generate an instance name for this object.

## ◆ GlsNinePatch() [2/2]

GlsNinePatch | ( | const GlsNinePatch & | that,
|  | const bool | generateNames
| ) |  |

Copy constructor

Parameters

  that | The object to copy from.
  generateNames | Whether or not to generate an instance name for this object.

## Member Function Documentation

## ◆ BottomTextureEdge() [1/2]

float BottomTextureEdge | ( |  | ) |
| inline

Returns
  The bottom texture edge value in pixels.

## ◆ BottomTextureEdge() [2/2]

void BottomTextureEdge | ( | float | value | ) |
| inline

Shortcut to set the nine patch's bottom texture edge.

Parameters

  value | The new texture edge value in pixels.

## ◆ BottomVertexEdge() [1/2]

float BottomVertexEdge | ( |  | ) |
| inline

Returns
  The bottom vertex edge value in logical units.

## ◆ BottomVertexEdge() [2/2]

void BottomVertexEdge | ( | float | value | ) |
| inline

Shortcut to set the nine patch's bottom vertex edge.

Parameters

  value | The new vertex edge value in logical units.

## ◆ Calculate()

virtual void Calculate | ( | double | time | ) |
| virtual

Provides a mechanism for performing regular calculations, seperate from drawing. In a standalone applicaton Calculate is recursively called by the main loop before the objects are drawn.

Parameters

  time | The elaspsed time in seconds since program start

Reimplemented from DisplayObject.

## ◆ CalculatePatchVerts()

void CalculatePatchVerts | ( |  | ) |
| protected

Calculate the vertices for the nine patches

## ◆ CalculateRadiiUnit()

void CalculateRadiiUnit | ( |  | ) |
| protected

Calculates _width, _height and _normal based on _radii

## ◆ CalculateTextureResize()

void CalculateTextureResize | ( | const int | tw,
|  | const int | th
| ) |  |
| protected

Calculates new values when a texture has been upsized or downsized.

Parameters

  tw | The new texture width in pixels.
  th | The new texture height in pixels.

## ◆ CalculateTextureVerts()

void CalculateTextureVerts | ( |  | ) |
| protected

Calculate the texture coordinates for the nine patches

## ◆ CenterVisible() [1/2]

bool CenterVisible | ( |  | ) |
| inline

Getter function to determine whether or not the center will be drawn.

Returns
  True being returned lets the user know that the Center of the NinePatch is visible.

## ◆ CenterVisible() [2/2]

void CenterVisible | ( | bool | value | ) |

Set whether or not the center quad will be drawn..

Parameters

  value | The new visibility flag for the center quad.

## ◆ CloneObject()

virtual DisplayObject * CloneObject | ( | bool | generateNames = `false` | ) |
| virtual

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

  generateNames | Whether or not to generate new names for cloned objects

Returns
  A new object, identical to the original, except for the instance name

Reimplemented from GLPolygon.

## ◆ CopyGeometry()

virtual void CopyGeometry | ( | DisplayObject * | src | ) |
| virtual

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

Parameters

  src | The object to copy geometry from

Reimplemented from DisplayObject.

## ◆ CopyProperties()

virtual void CopyProperties | ( | DisplayObject * | src | ) |
| virtual

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

Parameters

  src | The object to copy properties from

Reimplemented from DisplayObject.

## ◆ CreateInstance()

static DisplayObject * CreateInstance | ( |  | ) |
| static

Returns
  A pointer to a new GlsNinePatch object.

## ◆ Draw()

virtual void Draw | ( |  | ) |
| virtual

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

Reimplemented from GLPolygon.

## ◆ DrawGuides()

void DrawGuides | ( |  | ) |
| protected

Draws a grid displaying the 9 polygons on top of the image

## ◆ ForceRecalculate()

void ForceRecalculate | ( |  | ) |

Forces the nine patch to recalculate it's verts and it's texture verts.

See also
  ForceRecalculate()

## ◆ GetChildRect()

Rect3D GetChildRect | ( |  | ) |

Gets the "child" rectangle. The child rectangle refers to the inner rectangle of the nine patch, which is where normal content would be drawn.

Returns
  The bounding box of the child rectangle.

## ◆ GetExtents()

virtual void GetExtents | ( | float & | x,
|  | float & | y,
|  | float & | z,
|  | float & | x1,
|  | float & | y1,
|  | float & | z1
| ) |  |
| virtual

Figure out the static extents for the object. Used by the editor as part of the pick operation and for figuring out the size of groups.

Parameters

  x | Gets the minimum x extent
  y | Gets the minimum y extent
  z | Gets the minimum z extent
  x1 | Gets the maximum x extent
  y1 | Gets the maximum y extent
  z1 | Gets the maximum z extent

Reimplemented from DisplayObject.

## ◆ GetFillColor()

virtual GlsColor GetFillColor | ( |  | ) |
| virtual

Gets the fill color of the object

Returns
  The fill color

Reimplemented from DisplayObject.

## ◆ GetPatchTex()

virtual const Vector * GetPatchTex | ( |  | ) |
| virtual

Returns
  A pointer to the texture points.

## ◆ GetPatchVerts()

virtual const Vertex * GetPatchVerts | ( |  | ) |
| virtual

Returns
  A pointer to the patch vertices.

## ◆ GetTransformedExtents()

virtual void GetTransformedExtents | ( | Vector & | min,
|  | Vector & | max,
|  | const GlsMatrixType & | matrix,
|  | bool | resetMinMax
| ) |  |
| virtual

Determines the static extents of the geometry projected to the XY plane of an arbirary coordinate system.

Parameters

  min | Returns the minimum values found in the traversal
  max | Returns the maximum values found in the traversal
  matrix | Transformation matrix from logical coordinates to the coordinate system to determine the extents in.
  resetMinMax | Normally not specified by user. Should be true for the initial call.

Reimplemented from DisplayObject.

## ◆ Height() [1/2]

float Height | ( |  | ) | const
| inline

Getter function for the height of the GlsNinePatch in logical units.

Returns
  The height of the NinePatch.

## ◆ Height() [2/2]

void Height | ( | const float & | value | ) |

Setter function for the height of the GlsNinePatch in logical units.

Parameters

  value | Sets the height of the GlsNinePatch in the direction of _radii[1].

## ◆ HeightVector() [1/2]

const Vector HeightVector | ( |  | ) | const
| inline

Gets the radii of the height vector in logical units.

Returns
  The height of the NinePatch as a Vector.

## ◆ HeightVector() [2/2]

void HeightVector | ( | const Vector & | v | ) |

Sets the radii of the height vector in logical units.

Parameters

  v | Will set the radii's height row's logical values of the glsNinePatch object.

## ◆ Hit()

virtual bool Hit | ( | float | x,
|  | float | y,
|  | float | z,
|  | float | scale,
|  | const Vector & | directionVector,
|  | Vector * | collisionPoint
| ) |  |
| virtual

Determines if the object is hit by a pick ray starting at (x,y,z) and pointing towards directionVector in object logical coordinate system. If Pickable() == PICK_BEST it will return the closest point that was hit, otherwise it returns the first point that was hit. This method should not pick points behind the viewer.

Parameters

  x | X coordinate of pick ray start in logical coordinates.
  y | Y coordinate of pick ray start in logical coordinates.
  z | Z coordinate of pick ray start in logical coordinates.
  scale | The scale factor of the window. Affects picking of outlines. Standard value is 1.0.
  directionVector | The direction of the pick ray.
  collisionPoint | If this method returns true, this Vector will contain the location that was hit in logical coordinates.

Returns
  boolean indicating if the object was hit by the pick ray.

Reimplemented from DisplayObject.

## ◆ LeftTextureEdge() [1/2]

float LeftTextureEdge | ( |  | ) |
| inline

Returns
  The left texture edge value in pixels.

## ◆ LeftTextureEdge() [2/2]

void LeftTextureEdge | ( | float | value | ) |
| inline

Shortcut to set the nine patch's left texture edge.

Parameters

  value | The new texture edge value in pixels.

## ◆ LeftVertexEdge() [1/2]

float LeftVertexEdge | ( |  | ) |
| inline

Returns
  The left vertex edge value in logical units.

## ◆ LeftVertexEdge() [2/2]

void LeftVertexEdge | ( | float | value | ) |
| inline

Shortcut to set the nine patch's left vertex edge.

Parameters

  value | The new vertex edge value in logical units.

## ◆ PolygonMode() [1/2]

virtual int PolygonMode | ( |  | ) |
| inline virtual

Gets the polygon drawing mode for this object

Returns
  The polygon drawing mode for this object

See also
  PolygonMode_e

Reimplemented from DisplayObject.

## ◆ PolygonMode() [2/2]

virtual void PolygonMode | ( | int | mode | ) |
| inline virtual

Sets the polygon drawing mode for this object

Parameters

  mode | The new polygon drawing mode for this object

See also
  PolygonMode_e

Reimplemented from DisplayObject.

## ◆ PreDraw()

virtual void PreDraw | ( | const OpenGLMatrices & | current,
|  | Culler & | culler
| ) |  |
| virtual

Traverses the hierarchy calculating the _modelMatrix, _projMatrix, _viewMatrix as needed.

Parameters

  current | Current matrices inherited from parent
  culler | Object that possibly marks this object for culling

Reimplemented from GLPolygon.

## ◆ ReferenceTextureHeight() [1/2]

unsigned int ReferenceTextureHeight | ( |  | ) |

Gets the reference texture height, which allows the nine patch to respond to changes of texture size.

See also
  ReferenceTextureHeight()

Returns
  The height of the nine patch texture in pixels.

## ◆ ReferenceTextureHeight() [2/2]

void ReferenceTextureHeight | ( | const unsigned int & | value | ) |

Sets the reference texture height, which allows the nine patch to respond to changes of texture size.

Parameters

  value | The reference height of the texture in pixel units

Note
  Setting this value is optional, but if it is not set and the physical texture size changes, the nine patch will not display will need to be reconfigured by hand. The reference height should generally be the height of the original texture. It will be automatically updated when image changes are detected.

See also
  ReferenceTextureHeight()

## ◆ ReferenceTextureWidth() [1/2]

unsigned int ReferenceTextureWidth | ( |  | ) |

Gets the reference texture width, which allows the nine patch to respond to changes of texture size.

See also
  ReferenceTextureWidth()

Returns
  The width of the nine patch texture in pixels.

## ◆ ReferenceTextureWidth() [2/2]

void ReferenceTextureWidth | ( | const unsigned int & | value | ) |

Sets the reference texture width, which allows the nine patch to respond to changes of texture size.

Parameters

  value | The reference width of the texture in pixel units

Note
  Setting this value is optional, but if it is not set and the physical texture size changes, the nine patch will not display will need to be reconfigured by hand. The reference width should generally be the width of the original texture. It will be automatically updated when image changes are detected.

See also
  ReferenceTextureWidth()

## ◆ RightTextureEdge() [1/2]

float RightTextureEdge | ( |  | ) |
| inline

Returns
  The right texture edge value in pixels.

## ◆ RightTextureEdge() [2/2]

void RightTextureEdge | ( | float | value | ) |
| inline

Shortcut to set the nine patch's right texture edge.

Parameters

  value | The new texture edge value in pixels.

## ◆ RightVertexEdge() [1/2]

float RightVertexEdge | ( |  | ) |
| inline

Returns
  The right vertex edge value in logical units.

## ◆ RightVertexEdge() [2/2]

void RightVertexEdge | ( | float | value | ) |
| inline

Shortcut to set the nine patch's right vertex edge.

Parameters

  value | The new vertex edge value in logical units.

## ◆ Rotate()

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

  orig | The point to rotate around
  angle | The angle to rotate by, in degrees
  axis | The arbitrary axis to rotate the object around

Reimplemented from DisplayObject.

## ◆ Scale()

virtual void Scale | ( | float | px,
|  | float | py,
|  | float | pz,
|  | Vertex * | anchor,
|  | int | handleBar
| ) |  |
| virtual

Scales the object, either the handleBar, or the Anchor is used to translate the object, not both. Anchor takes presidence, if it is set HandleBar is ignored. The footprint is different from the 2D scale so the compiler can destinguish the two.

Parameters

  px | Value of the percentage of scale in x-axis
  py | Value of the percentage of scale in y-axis
  pz | Value of the percentage of scale in z-axis
  anchor | Anchor from which to scale object relative to
  handleBar | Vertex that is being dragged

Reimplemented from DisplayObject.

## ◆ SetAvailableAttributes()

virtual void SetAvailableAttributes | ( | unsigned int | value | ) |
| virtual

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

  value | A bitfield specifying which types of attributes to make available.

See also
  AvailableAttributesEnum

Reimplemented from DisplayObject.

## ◆ SetFillColor()

virtual void SetFillColor | ( | const GlsColor & | color | ) |
| virtual

Sets the RGBA color for filling the object

Parameters

  color | The new RGBA fill color (0-255 range) for the object

Reimplemented from GLPolygon.

## ◆ SetFromGloData()

virtual GLS_EXPORT void SetFromGloData | ( | GlsGloFileAttribute & | data | ) |
| protected virtual

Set a single attribute from the GLO file.

Parameters

  data | The attribute to set and its associated data.

Reimplemented from DisplayObject.

## ◆ SetNeedsRecalculate()

void SetNeedsRecalculate | ( |  | ) |
| protected

callback called when the 9patch needs to be recalculated

## ◆ SetNeedsTextureRecalculate()

void SetNeedsTextureRecalculate | ( |  | ) |
| protected

callback called when the 9patch texture coordinates need to be recalculated

## ◆ SetValue()

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

Sets an attribute of this object using variable arguments

Parameters

  spec | A GLS_Initializer tag
  args | A variable argument list

Reimplemented from DisplayObject.

## ◆ TextureBLC() [1/3]

Vector TextureBLC | ( |  | ) | const
| inline

Getter function for the bottom left corner of the texture in the GlsNinePatch.

Returns
  The vector in pixel units for the value of the 'Bottom Left Corner'.

## ◆ TextureBLC() [2/3]

void TextureBLC | ( | const float | x,
|  | const float | y
| ) |  |

Setter function for the bottom left corner of the texture in the GlsNinePatch.

Parameters

  x | A pixel unit value that is applied to the GlsNinePatch's first field in the 'Bottom Left Corner' vector.
  y | A pixel unit value that is applied to the GlsNinePatch's second field in the 'Bottom Left Corner' vector.

## ◆ TextureBLC() [3/3]

void TextureBLC | ( | const Vector & | value | ) |
| inline

Setter function for the bottom left corner of the texture in the GlsNinePatch.

Parameters

  value | A vector containing x and y pixel unit values to apply to the texture bottom left corner.

## ◆ TextureEdge() [1/2]

virtual float TextureEdge | ( | Edge | index | ) |
| virtual

Return the value in pixel units of the TextureEdge given at enumeration specified by index.

Parameters

  index | Refers to the edge enumeration that the value will be gotten from.

Returns
  A float value in pixel units that corresponds with the respective VertexEdge index/enum.

## ◆ TextureEdge() [2/2]

void TextureEdge | ( | Edge | index,
|  | float | value
| ) |  |

Set's the texture edge at enum specified by index to the value specified as pixel units.

Parameters

  index | Refers to the texture edge enumeration that will be modified.
  value | The pixel unit(s) assigned to the specificed texture edge enumeration.

## ◆ TextureTRC() [1/3]

Vector TextureTRC | ( |  | ) | const
| inline

Getter function for the top right corner of the texture in the GLSNinePatch.

Returns
  The vector in pixel units for the value of the 'Top Right Corner'.

## ◆ TextureTRC() [2/3]

void TextureTRC | ( | const float | x,
|  | const float | y
| ) |  |

Setter function for the top right corner of the texture in the GlsNinePatch.

Parameters

  x | A pixel unit value that is applied to the GlsNinePatch's first field in the 'Top Right Corner' vector.
  y | A pixel unit value that is applied to the GlsNinePatch's second field in the 'Top Right Corner' vector.

## ◆ TextureTRC() [3/3]

void TextureTRC | ( | const Vector & | value | ) |
| inline

Setter function for the top right corner of the texture in the GlsNinePatch.

Parameters

  value | A vector containing x and y pixel unit values to apply to the texture top right corner.

## ◆ TopTextureEdge() [1/2]

float TopTextureEdge | ( |  | ) |
| inline

Returns
  The top texture edge value in pixels.

## ◆ TopTextureEdge() [2/2]

void TopTextureEdge | ( | float | value | ) |
| inline

Shortcut to set the nine patch's top texture edge.

Parameters

  value | The new texture edge value in pixels.

## ◆ TopVertexEdge() [1/2]

float TopVertexEdge | ( |  | ) |
| inline

Returns
  The top vertex edge value in logical units.

## ◆ TopVertexEdge() [2/2]

void TopVertexEdge | ( | float | value | ) |
| inline

Shortcut to set the nine patch's top vertex edge.

Parameters

  value | The new vertex edge value in logical units.

## ◆ UpdateBoundingVolume()

virtual void UpdateBoundingVolume | ( |  | ) |
| virtual

Updates the bounding volume of this object This method should be called if the vertices change for picking and culling to work correctly. This will only update this object. If PerformGroupCullCheck is enabled for one of the objects parents, you may also need to call CalculateParentBoundingBox() to update all of the objects parents.

Reimplemented from DisplayObject.

## ◆ VertexEdge() [1/2]

virtual float VertexEdge | ( | Edge | index | ) |
| virtual

Return the value in logical units at the edge enumeration specified by index.

Parameters

  index | Refers to the edge enumeration.

Returns
  A float value in logical units that corresponds with the respective TextureEdge index/enum.

## ◆ VertexEdge() [2/2]

void VertexEdge | ( | Edge | index,
|  | float | value
| ) |  |

Set's the vertex edge at enum specified by index to the value specified as logical units.

Parameters

  index | Refers to the vertex edge enumeration that will be modified.
  value | Is the logical unit(s) assigned to the specificed vertex edge enumeration.

## ◆ Vertices()

virtual Vertex * Vertices | ( |  | ) |
| virtual

Gets the object's vertices. You should call UpdateBoundingVolume after changing an object's extents.

See also
  UpdateBoundingVolume

Returns
  Pointer to the object's vertex array

Reimplemented from DisplayObject.

## ◆ Width() [1/2]

float Width | ( |  | ) | const
| inline

Getter function for the width of the GlsNinePatch in logical units.

Returns
  The width of the NinePatch.

## ◆ Width() [2/2]

void Width | ( | const float & | value | ) |

Setter function for the width of the GlsNinePatch in logical units.

Parameters

  value | Sets the width of the GlsNinePatch in the direction of _radii[0].

## ◆ WidthVector() [1/2]

const Vector WidthVector | ( |  | ) | const
| inline

Gets the radii of the width vector in logical units.

Returns
  The width of the NinePatch as a Vector.

## ◆ WidthVector() [2/2]

void WidthVector | ( | const Vector & | v | ) |

Sets the radii of the width vector in logical units.

Parameters

  v | Will set the radii's width row's logical values of the glsNinePatch object.

## Member Data Documentation

## ◆ _centerVisible

bool _centerVisible
| protected

Whether or not the center patch will be drawn

## ◆ _guidesVisible

bool _guidesVisible
| protected

If true, then "guides" will be drawn". Normally only set in the editor

## ◆ _height

float _height
| protected

Height of the NinePatch in the direction of _radii[1]

## ◆ _needsRecalculate

bool _needsRecalculate
| protected

True when the vertices need to be recalculated

## ◆ _needsTextureRecalculate

bool _needsTextureRecalculate
| protected

True when the texture coordinates need to be recalculated

## ◆ _normal

Vector _normal
| protected

Surface normal of the NinePatch. Computed from the _radii

## ◆ _objectColor

GlsColor _objectColor
| protected

Fill color is normally stored in vertices, but we're not using these in GlsNinePatch

## ◆ _patchTex

Vector _patchTex[ 16]
| protected

Array of texture coordinates, arranged the same way as _patchVerts

## ◆ _patchVerts

Vertex _patchVerts[ 16]
| protected

Array of vertices that defines the NinePatch, arranged as follows: 12–13—14—15 | | | | 8-—9—10—11 | | | | 4-—5-—6-—7 | | | | 0-—1-—2-—3

## ◆ _radii

Vector _radii[2]
| protected

Radius vectors that define the size of the NinePatch _radii[0] defines the width _radii[1] defines the height

## ◆ _referenceTexHeight

unsigned int _referenceTexHeight
| protected

Texture Height when the object was configured. Used to correctly adjust for new texture resolutions.

## ◆ _referenceTexWidth

unsigned int _referenceTexWidth
| protected

Texture Width when the object was configured. Used to correctly adjust for new texture resolutions.

## ◆ _texHeight

unsigned int _texHeight
| protected

Texture Height

## ◆ _textureBLC

Vector _textureBLC
| protected

Texture coordinate of bottom left corner of NinePatch

## ◆ _textureEdge

float _textureEdge[4]
| protected

Values representing the distance from the edge of the texture that makes up the NinePatch borders. Units are in pixels and are the distance IN from the edge of the texture.

## ◆ _textureTRC

Vector _textureTRC
| protected

Texture coordinate of top right corner of NinePatch

## ◆ _texWidth

unsigned int _texWidth
| protected

Texture Width

## ◆ _vertexEdge

float _vertexEdge[4]
| protected

Values representing the size of edges of the NinePatch. Units are in logical units measure going IN from the edge of the NinePatch

## ◆ _width

float _width
| protected

Width of the NinePatch in the direction of _radii[0]

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

- gls_nine_patch.h