Amanith Framework :: Reference

  • Main Page
  • Namespaces
  • Classes
  • Files
  • Directories
  • Related Pages
  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gaabox.h File Reference

Header file for axially aligned box classes. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GGenericAABox< DATA_TYPE, SIZE >
    An axially aligned box in N-dimensional space. More...

Typedefs

  • typedef GGenericAABox< GReal, 2 > Amanith::GAABox2
  • typedef GGenericAABox< GReal, 3 > Amanith::GAABox3

Functions

  • template<typename DATA_TYPE, GUInt32 SIZE> GBool Amanith::IsEqual (const GGenericAABox< DATA_TYPE, SIZE > &Box1, const GGenericAABox< DATA_TYPE, SIZE > &Box2, const DATA_TYPE &Epsilon)

Detailed Description

Header file for axially aligned box classes.


  • Files
  • Directories
  • Related Pages
  • File List
  • File Members
d: » Projects » libraries » amanith » src » geometry

gaffineparts.cpp File Reference

Affine parts decomposition implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

Affine parts decomposition implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gaffineparts.h File Reference

Affine parts decomposition header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GAffineParts
    Affine matrix polar decomposition. More...

Detailed Description

Affine parts decomposition header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

ganimtrsnode2d.cpp File Reference

Implementation of GAnimTRSNode2D class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of GAnimTRSNode2D class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

ganimtrsnode2d.h File Reference

Header file for GAnimTRSNode2D class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GAnimTRSNode2D
    This class implements a simple TRS (Translate-Rotation-Scale) transformation node, in a 2D space. More...
  • class Amanith::GAnimTRSNode2DProxy
    This class implements a GAnimTRSNode2D proxy (provider). More...

Enumerations

  • enum Amanith::GSpaceSystem { Amanith::G_LOCAL_SPACE =  0,
Amanith::G_WORLD_SPACE =  1
 }

Detailed Description

Header file for GAnimTRSNode2D class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

garea.h File Reference

Area calculation header file. More...

Namespaces

  • namespace Amanith

Functions

  • template<typename DATA_TYPE> DATA_TYPE Amanith::TwiceSignedArea (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3)
  • template<typename DATA_TYPE> DATA_TYPE Amanith::SignedArea (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3)
  • template<typename DATA_TYPE> GBool Amanith::IsInCircle (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const GVectBase< DATA_TYPE, 2 > &TestPoint)
  • template<typename DATA_TYPE> GBool Amanith::CounterClockWise (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GBool Amanith::CounterClockWiseOrAligned (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GBool Amanith::ClockWise (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GBool Amanith::ClockWiseOrAligned (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GBool Amanith::Aligned (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GUInt32 Amanith::CCWSmallerAngleSpan (const GPoint< DATA_TYPE, 2 > &Origin, const GPoint< DATA_TYPE, 2 > &Dest1, const GPoint< DATA_TYPE, 2 > &Dest2, const GPoint< DATA_TYPE, 2 > &Destination, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)

Detailed Description

Area calculation header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » support

gavltree.cpp File Reference

Implementation file for AVL (Adelson-Velskii and Landis) tree classes. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation file for AVL (Adelson-Velskii and Landis) tree classes.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » support

gavltree.h File Reference

Header file for AVL (Adelson-Velskii and Landis) tree classes. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GAVLNode
    This class implements a parented AVL node. More...
  • class Amanith::GAVLTree
    This class implements an AVL (Adelson-Velskii and Landis) tree. More...

Detailed Description

Header file for AVL (Adelson-Velskii and Landis) tree classes.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gaxisangle.h File Reference

GAxisAng class header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GAxisAng< DATA_TYPE >
    GAxisAng represents a "twist about an axis", it is used to specify a rotation in 3D-space. More...

Typedefs

  • typedef GAxisAng< GReal > Amanith::GAxisAngle

Detailed Description

GAxisAng class header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 1d

gbeziercurve1d.cpp File Reference

Implementation of 1D Bezier curve class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of 1D Bezier curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 1d

gbeziercurve1d.h File Reference

Header file for 1D Bezier curve class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GBezierCurve1D
    A generic degree 1D Bezier curve. More...
  • class Amanith::GBezierCurve1DProxy
    This class implements a GBezierCurve1D proxy (provider). More...

Detailed Description

Header file for 1D Bezier curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gbeziercurve2d.cpp File Reference

Implementation of 2D Bezier curve class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of 2D Bezier curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gbeziercurve2d.h File Reference

Header file for 2D Bezier curve class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GBezierCurve2D
    A generic degree 2D Bezier curve. More...
  • class Amanith::GBezierCurve2DProxy
    This class implements a GBezierCurve2D proxy (provider). More...

Detailed Description

Header file for 2D Bezier curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 1d

gbsplinecurve1d.cpp File Reference

Implementation of 1D BSpline curve class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of 1D BSpline curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 1d

gbsplinecurve1d.h File Reference

Header file for 1D BSpline curve class. More...

Namespaces

  • namespace Amanith

Classes

  • struct Amanith::GKnotMultiplicity
    A simple pair-like structure that describes a spline knot multiplicity. More...
  • class Amanith::GBSplineCurve1D
    A generic degree 1D B-spline curve. More...
  • class Amanith::GBSplineCurve1DProxy
    This class implements a GBSplineCurve1D proxy (provider). More...

Detailed Description

Header file for 1D BSpline curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gbsplinecurve2d.cpp File Reference

Implementation of 2D BSpline curve class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of 2D BSpline curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gbsplinecurve2d.h File Reference

Header file for 2D BSpline curve class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GBSplineCurve2D
    A generic degree 2D B-spline curve. More...
  • class Amanith::GBSplineCurve2DProxy
    This class implements a GBSplineCurve2D proxy (provider). More...

Detailed Description

Header file for 2D BSpline curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gclassid.h File Reference

Amanith class descriptor, used by the introspection system. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GClassID
    Amanith class descriptor, used by the introspection system. More...

Detailed Description

Amanith class descriptor, used by the introspection system.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 1d

gcurve1d.cpp File Reference

Implementation file for the base GCurve1D class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation file for the base GCurve1D class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 1d

gcurve1d.h File Reference

Header file for 1D curve class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GCurve1D
    This class represents a generic parametric continuous 1D curve. More...
  • class Amanith::GCurve1DProxy
    This class implements a GCurve1D proxy (provider). More...

Enumerations

  • enum Amanith::GDerivativeOrder { Amanith::G_FIRST_ORDER_DERIVATIVE =  1,
Amanith::G_SECOND_ORDER_DERIVATIVE =  2
 }

Detailed Description

Header file for 1D curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gcurve2d.cpp File Reference

Implementation file for the base GCurve2D class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation file for the base GCurve2D class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gcurve2d.h File Reference

Header file for 2D curve class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GCurve2D
    This class represents a generic parametric continuous 2D curve. More...
  • class Amanith::GCurve2DProxy
    This class implements a GCurve2D proxy (provider). More...

Detailed Description

Header file for 2D curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gdistance.h File Reference

Distance queries for all geometric entities (boxes, sphere and so on). More...

Namespaces

  • namespace Amanith

Detailed Description

Distance queries for all geometric entities (boxes, sphere and so on).


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gdrawboard.cpp File Reference

Abstract draw board implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

Abstract draw board implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » rendering

gdrawboard.h File Reference

Abstract draw board header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GCacheBank
    This virtual class represents a cache bank, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer). More...
  • class Amanith::GDrawBoard
    An abstract drawboard paint server. More...

Enumerations

  • enum Amanith::GRenderingQuality { Amanith::G_LOW_RENDERING_QUALITY,
Amanith::G_NORMAL_RENDERING_QUALITY,
Amanith::G_HIGH_RENDERING_QUALITY
 }
  • enum Amanith::GTargetMode {
Amanith::G_COLOR_MODE,
Amanith::G_CLIP_MODE,
Amanith::G_COLOR_AND_CACHE_MODE,
Amanith::G_CLIP_AND_CACHE_MODE,
Amanith::G_CACHE_MODE
}
  • enum Amanith::GClipOperation { Amanith::G_REPLACE_CLIP,
Amanith::G_INTERSECTION_CLIP
 }

Detailed Description

Abstract draw board header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gdrawstyle.cpp File Reference

Draw style implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

Draw style implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » rendering

gdrawstyle.h File Reference

Types and data structures that define render styles. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GGradientDesc
    This class maintains informations used to describe a gradient. More...
  • class Amanith::GPatternDesc
    This class maintains informations used to describe a graphic pattern. More...
  • class Amanith::GDrawStyle
    This class maintains informations used to describe a render style. More...

Enumerations

  • enum Amanith::GCapStyle { Amanith::G_BUTT_CAP,
Amanith::G_ROUND_CAP,
Amanith::G_SQUARE_CAP
 }
  • enum Amanith::GJoinStyle { Amanith::G_MITER_JOIN,
Amanith::G_ROUND_JOIN,
Amanith::G_BEVEL_JOIN
 }
  • enum Amanith::GStrokeStyle { Amanith::G_SOLID_STROKE,
Amanith::G_DASHED_STROKE
 }
  • enum Amanith::GFillRule { Amanith::G_ODD_EVEN_FILLRULE,
Amanith::G_EVEN_ODD_FILLRULE,
Amanith::G_NON_ZERO_FILLRULE,
Amanith::G_ANY_FILLRULE
 }
  • enum Amanith::GPaintType { Amanith::G_COLOR_PAINT_TYPE,
Amanith::G_GRADIENT_PAINT_TYPE,
Amanith::G_PATTERN_PAINT_TYPE
 }
  • enum Amanith::GGradientType { Amanith::G_LINEAR_GRADIENT,
Amanith::G_RADIAL_GRADIENT,
Amanith::G_CONICAL_GRADIENT
 }
  • enum Amanith::GColorRampSpreadMode { Amanith::G_PAD_COLOR_RAMP_SPREAD,
Amanith::G_REPEAT_COLOR_RAMP_SPREAD,
Amanith::G_REFLECT_COLOR_RAMP_SPREAD
 }
  • enum Amanith::GColorRampInterpolation { Amanith::G_CONSTANT_COLOR_INTERPOLATION,
Amanith::G_LINEAR_COLOR_INTERPOLATION,
Amanith::G_HERMITE_COLOR_INTERPOLATION
 }
  • enum Amanith::GTilingMode { Amanith::G_PAD_TILE,
Amanith::G_REPEAT_TILE,
Amanith::G_REFLECT_TILE
 }
  • enum Amanith::GImageQuality { Amanith::G_LOW_IMAGE_QUALITY,
Amanith::G_NORMAL_IMAGE_QUALITY,
Amanith::G_HIGH_IMAGE_QUALITY
 }
  • enum Amanith::GCompositingOperation {
Amanith::G_CLEAR_OP,
Amanith::G_SRC_OP,
Amanith::G_DST_OP,
Amanith::G_SRC_OVER_OP,
Amanith::G_DST_OVER_OP,
Amanith::G_SRC_IN_OP,
Amanith::G_DST_IN_OP,
Amanith::G_SRC_OUT_OP,
Amanith::G_DST_OUT_OP,
Amanith::G_SRC_ATOP_OP,
Amanith::G_DST_ATOP_OP,
Amanith::G_XOR_OP,
Amanith::G_PLUS_OP,
Amanith::G_MULTIPLY_OP,
Amanith::G_SCREEN_OP,
Amanith::G_OVERLAY_OP,
Amanith::G_DARKEN_OP,
Amanith::G_LIGHTEN_OP,
Amanith::G_COLOR_DODGE_OP,
Amanith::G_COLOR_BURN_OP,
Amanith::G_HARD_LIGHT_OP,
Amanith::G_SOFT_LIGHT_OP,
Amanith::G_DIFFERENCE_OP,
Amanith::G_EXCLUSION_OP
}

Detailed Description

Types and data structures that define render styles.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » numerics

geigen.cpp File Reference

Implementation of eigenvalues/eigenvectors solver class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of eigenvalues/eigenvectors solver class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » numerics

geigen.h File Reference

Header file for eigenvalues/eigenvectors solver class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GEigen
    This class implements an eigenvalues/eigenvectors solver for square matrices. More...

Detailed Description

Header file for eigenvalues/eigenvectors solver class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src

gelement.cpp File Reference

Implementation of GElement class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of GElement class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gelement.h File Reference

GElement header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GElement
    Minimum element class equipped with introspection and cloning system. More...
  • class Amanith::GElementProxy
    This class implements a GElement proxy (provider). More...
  • class Amanith::GKeyValue
    Generic key value. More...
  • class Amanith::GAnimElement
    This class implements an 'animated' element. More...
  • class Amanith::GAnimElementProxy
    This class implements a GAnimElement proxy (provider). More...
  • class Amanith::GProperty
    This class represents a generic animated property. More...
  • class Amanith::GPropertyProxy
    This class implements a GProperty proxy (provider). More...

Typedefs

  • typedef GInterval< GReal > Amanith::GTimeInterval

Enumerations

  • enum Amanith::GKeyType {
Amanith::G_UNDEFINED_KEY,
Amanith::G_BOOL_KEY,
Amanith::G_INT_KEY,
Amanith::G_REAL_KEY,
Amanith::G_VECTOR2_KEY,
Amanith::G_VECTOR3_KEY,
Amanith::G_VECTOR4_KEY
}
  • enum Amanith::GOORType { Amanith::G_CONSTANT_OOR,
Amanith::G_LOOP_OOR,
Amanith::G_PINGPONG_OOR
 }
  • enum Amanith::GValueMethod { Amanith::G_ABSOLUTE_VALUE,
Amanith::G_RELATIVE_VALUE
 }

Detailed Description

GElement header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gellipsecurve2d.cpp File Reference

Implementation of 2D ellipse arc/curve class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of 2D ellipse arc/curve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gellipsecurve2d.h File Reference

Header file for 2D ellipse curve/arc class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GEllipseCurve2D
    2D ellipse arc/curve. More...
  • class Amanith::GEllipseCurve2DProxy
    This class implements a GEllipseCurve2D proxy (provider). More...

Detailed Description

Header file for 2D ellipse curve/arc class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gerror.h File Reference

Global error codes used by Amanith classes and functions. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::ErrorUtils
    This class implements some error utilities. More...

Defines

  • #define G_NO_ERROR 0
  • #define G_UNKNOWN_ERROR -199
  • #define G_FILE_NOT_FOUND -101
  • #define G_FILE_ALREADY_EXISTS -102
  • #define G_INVALID_FORMAT -103
  • #define G_PERMISSION_DENIED -104
  • #define G_INVALID_PARAMETER -105
  • #define G_INVALID_NODE -106
  • #define G_UNSUPPORTED_CLASSID -107
  • #define G_OUT_OF_RANGE -108
  • #define G_READ_ERROR -109
  • #define G_WRITE_ERROR -110
  • #define G_MEMORY_ERROR -111
  • #define G_MISSING_KERNEL -112
  • #define G_MISSED_FEATURE -113
  • #define G_ENTRY_ALREADY_EXISTS -114
  • #define G_INVALID_OPERATION -115
  • #define G_PLUGIN_NOTLOADED -201
  • #define G_PLUGIN_NOTPRESENT -202
  • #define G_PLUGIN_SYMBOL_UNRESOLVED -203
  • #define G_PLUGIN_ALREADYLOADED -204
  • #define G_PLUGIN_ISTANCED -205
  • #define G_DRAWBOARD_INVALID_CACHEBANK -301
  • #define G_DRAWBOARD_CACHE_NOT_WRITTEN -302
  • #define G_SMTP_UNEXPECTEDANSWER -2000
  • #define G_SMTP_SERVICECLOSED -2001
  • #define G_SMTP_NOTIMPLEMENTED -2002
  • #define G_SMTP_MIMENOTSUPPORTED -2003
  • #define G_SMTP_SERVERCANTEXECUTE -2004
  • #define G_SMTP_CANTCONNECT -2005
  • #define G_SMTP_DATAERROR -2006
  • #define G_SMTP_SYNTAXERROR -2007
  • #define G_SMTP_STORAGEEXCEDED -2008
  • #define G_SMTP_UNKNOWNUSER -2009
  • #define G_SMTP_FORWARDED -2010
  • #define G_HTTP_BAD_URL -1000
  • #define G_HTTP_TCP_FAILED -1001
  • #define G_HTTP_HOST_UNKNOWN -1002
  • #define G_HTTP_TCP_CONNECT -1003
  • #define G_HTTP_FILE_ERROR -1004
  • #define G_HTTP_INSMEMORY -1005
  • #define G_HTTP_BAD_PARAM -1006
  • #define G_HTTP_OVERFLOW -1007
  • #define G_HTTP_CANCELLED -1008
  • #define G_HTTP_NO_CONTENT -1009
  • #define G_HTTP_MOVED -1010
  • #define G_HTTP_BAD_REQUEST -1011
  • #define G_HTTP_FORBIDDEN -1012
  • #define G_HTTP_NOT_FOUND -1013
  • #define G_HTTP_PROTOCOL_ERROR -1014
  • #define G_HTTP_UNDEFINED -1015
  • #define G_HTTP_TIMEOUT -1016

Detailed Description

Global error codes used by Amanith classes and functions.

Define Documentation

#define G_DRAWBOARD_CACHE_NOT_WRITTEN -302

Cache not written.

#define G_DRAWBOARD_INVALID_CACHEBANK -301

Invalid cache bank.

#define G_ENTRY_ALREADY_EXISTS -114

Entry already exists.

#define G_FILE_ALREADY_EXISTS -102

File already exist.

#define G_FILE_NOT_FOUND -101

File was not found.

#define G_HTTP_BAD_PARAM -1006

Bad parameters.

#define G_HTTP_BAD_REQUEST -1011

Bad request.

#define G_HTTP_BAD_URL -1000

Bad url.

#define G_HTTP_CANCELLED -1008

Canceled.

#define G_HTTP_FILE_ERROR -1004

File error.

#define G_HTTP_FORBIDDEN -1012

Forbidden.

#define G_HTTP_HOST_UNKNOWN -1002

Host unknown.

#define G_HTTP_INSMEMORY -1005

Insufficient memory.

#define G_HTTP_MOVED -1010

Moved.

#define G_HTTP_NO_CONTENT -1009

No content.

#define G_HTTP_NOT_FOUND -1013

Not found.

#define G_HTTP_OVERFLOW -1007

Overflow.

#define G_HTTP_PROTOCOL_ERROR -1014

Protocol error.

#define G_HTTP_TCP_CONNECT -1003

TCP connect.

#define G_HTTP_TCP_FAILED -1001

TCP failed.

#define G_HTTP_TIMEOUT -1016

Timeout.

#define G_HTTP_UNDEFINED -1015

Undefined.

#define G_INVALID_FORMAT -103

Invalid format (ex: unsupported image file).

#define G_INVALID_NODE -106

Invalid XML node.

#define G_INVALID_OPERATION -115

Invalid operation.

#define G_INVALID_PARAMETER -105

Invalid parameter (maybe a NULL pointer, or wrong number).

#define G_MEMORY_ERROR -111

Generic memory (allocation/deallocation) error.

#define G_MISSED_FEATURE -113

Missed feature.

#define G_MISSING_KERNEL -112

Class cannot do operation because a missing kernel owner.

#define G_NO_ERROR 0

No Error / Operation has been completed successfully.

#define G_OUT_OF_RANGE -108

Specified index is out of range.

#define G_PERMISSION_DENIED -104

Permission denied.

#define G_PLUGIN_ALREADYLOADED -204

Plugin is already loaded.

#define G_PLUGIN_ISTANCED -205

Plugin has created some instances, so it can't be unload.

#define G_PLUGIN_NOTLOADED -201

Plugin is not loaded.

#define G_PLUGIN_NOTPRESENT -202

Plugin not present.

#define G_PLUGIN_SYMBOL_UNRESOLVED -203

Plug symbol not resolved.

#define G_READ_ERROR -109

Generic stream read error.

#define G_SMTP_CANTCONNECT -2005

Can not connect to the server

#define G_SMTP_DATAERROR -2006

Error during communication

#define G_SMTP_FORWARDED -2010

Address OK, unknown on this server

#define G_SMTP_MIMENOTSUPPORTED -2003

Server doesn't support MIME ext.

#define G_SMTP_NOTIMPLEMENTED -2002

Host recognize but can't exec cmd

#define G_SMTP_SERVERCANTEXECUTE -2004

Refused by server

#define G_SMTP_SERVICECLOSED -2001

Service unavailable

#define G_SMTP_STORAGEEXCEDED -2008

Server limits exceeded

#define G_SMTP_SYNTAXERROR -2007

Bad parameters

#define G_SMTP_UNEXPECTEDANSWER -2000

Answer was not expected

#define G_SMTP_UNKNOWNUSER -2009

Unknown destinee

#define G_UNKNOWN_ERROR -199

Unknown and unexpected error.

#define G_UNSUPPORTED_CLASSID -107

Passed ClassID or GElement is not supported for the specified operation.

#define G_WRITE_ERROR -110

Generic stream write error.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » lang

gerror_en.h File Reference

English error code translations. More...

Namespaces

  • namespace Amanith

Defines

  • #define G_NO_ERROR_STR "No error / successfully operation"
  • #define G_UNKNOWN_ERROR_STR "Unknown error"
  • #define G_FILE_NOT_FOUND_STR "File not found"
  • #define G_FILE_ALREADY_EXISTS_STR "File already exists"
  • #define G_INVALID_FORMAT_STR "Invalid format"
  • #define G_PERMISSION_DENIED_STR "Permission denied"
  • #define G_INVALID_PARAMETER_STR "Invalid parameter"
  • #define G_INVALID_NODE_STR "Invalid node"
  • #define G_UNSUPPORTED_CLASSID_STR "Unsupported ClassID"
  • #define G_OUT_OF_RANGE_STR "Out of range"
  • #define G_READ_ERROR_STR "Read error"
  • #define G_WRITE_ERROR_STR "Write error"
  • #define G_MEMORY_ERROR_STR "Memory (allocation/deallocation) error"
  • #define G_MISSING_KERNEL_STR "Class cannot do operation because a missing kernel owner"
  • #define G_MISSED_FEATURE_STR "Feature is missed or not yet implemented"
  • #define G_ENTRY_ALREADY_EXISTS_STR "Entry/Element already exists"
  • #define G_INVALID_OPERATION_STR "Invalid/impossibile operation"
  • #define G_PLUGIN_NOTLOADED_STR "Plugin has not been loaded"
  • #define G_PLUGIN_NOTPRESENT_STR "Plugin not found/present"
  • #define G_PLUGIN_SYMBOL_UNRESOLVED_STR "Symbol was not resolved/found"
  • #define G_PLUGIN_ALREADYLOADED_STR "Plugin is already loaded/registered"
  • #define G_PLUGIN_ISTANCED_STR "Plugin has created some instances, so it can't be unload form memory"
  • #define G_SMTP_UNEXPECTEDANSWER_STR "Answer was not expected "
  • #define G_SMTP_SERVICECLOSED_STR "Service unavailable"
  • #define G_SMTP_NOTIMPLEMENTED_STR "Host recognize but can't exec cmd"
  • #define G_SMTP_MIMENOTSUPPORTED_STR "Server doesn't support MIME extension"
  • #define G_SMTP_SERVERCANTEXECUTE_STR "Refused by server"
  • #define G_SMTP_CANTCONNECT_STR "I cannot connect to the server"
  • #define G_SMTP_DATAERROR_STR "Error during communication"
  • #define G_SMTP_SYNTAXERROR_STR "Bad parameters / syntax error"
  • #define G_SMTP_STORAGEEXCEDED_STR "Server storage limits exceeded"
  • #define G_SMTP_UNKNOWNUSER_STR "Unknown destinee"
  • #define G_SMTP_FORWARDED_STR "Address OK, unknown on this server (forward)"

Detailed Description

English error code translations.

Define Documentation

#define G_ENTRY_ALREADY_EXISTS_STR "Entry/Element already exists"

Entry already exists.

#define G_FILE_ALREADY_EXISTS_STR "File already exists"

File already exist.

#define G_FILE_NOT_FOUND_STR "File not found"

File was not found.

#define G_INVALID_FORMAT_STR "Invalid format"

Invalid format (ex: unsupported image file).

#define G_INVALID_NODE_STR "Invalid node"

Invalid XML node.

#define G_INVALID_OPERATION_STR "Invalid/impossibile operation"

Invalid operation.

#define G_INVALID_PARAMETER_STR "Invalid parameter"

Invalid parameter (maybe a NULL pointer, or wrong number).

#define G_MEMORY_ERROR_STR "Memory (allocation/deallocation) error"

Generic memory (allocation/deallocation) error.

#define G_MISSED_FEATURE_STR "Feature is missed or not yet implemented"

Plugin missed feature.

#define G_MISSING_KERNEL_STR "Class cannot do operation because a missing kernel owner"

Class cannot do operation because a missing kernel owner.

#define G_NO_ERROR_STR "No error / successfully operation"

No Error / Operation has been completed successfully.

#define G_OUT_OF_RANGE_STR "Out of range"

Specified index is out of range.

#define G_PERMISSION_DENIED_STR "Permission denied"

Permission denied.

#define G_PLUGIN_ALREADYLOADED_STR "Plugin is already loaded/registered"

Plugin is already loaded.

#define G_PLUGIN_ISTANCED_STR "Plugin has created some instances, so it can't be unload form memory"

Plugin has created some instances, so it can't be unload.

#define G_PLUGIN_NOTLOADED_STR "Plugin has not been loaded"

Plugin is not loaded.

#define G_PLUGIN_NOTPRESENT_STR "Plugin not found/present"

Plugin not present.

#define G_PLUGIN_SYMBOL_UNRESOLVED_STR "Symbol was not resolved/found"

Plug symbol not resolved.

#define G_READ_ERROR_STR "Read error"

Generic stream read error.

#define G_SMTP_CANTCONNECT_STR "I cannot connect to the server"

Can not connect to the server

#define G_SMTP_DATAERROR_STR "Error during communication"

Error during communication

#define G_SMTP_FORWARDED_STR "Address OK, unknown on this server (forward)"

Address OK, unknown on this server

#define G_SMTP_MIMENOTSUPPORTED_STR "Server doesn't support MIME extension"

Server doesn't support MIME ext.

#define G_SMTP_NOTIMPLEMENTED_STR "Host recognize but can't exec cmd"

Host recognize but can't exec cmd

#define G_SMTP_SERVERCANTEXECUTE_STR "Refused by server"

Refused by server

#define G_SMTP_SERVICECLOSED_STR "Service unavailable"

Service unavailable

#define G_SMTP_STORAGEEXCEDED_STR "Server storage limits exceeded"

Server limits exceeded

#define G_SMTP_SYNTAXERROR_STR "Bad parameters / syntax error"

Bad parameters

#define G_SMTP_UNEXPECTEDANSWER_STR "Answer was not expected "

Answer was not expected

#define G_SMTP_UNKNOWNUSER_STR "Unknown destinee"

Unknown destinee

#define G_UNKNOWN_ERROR_STR "Unknown error"

Unknown and unespected error.

#define G_UNSUPPORTED_CLASSID_STR "Unsupported ClassID"

Passed ClassID or GElement is not supported for the specified operation.

#define G_WRITE_ERROR_STR "Write error"

Generic stream write error.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » lang

gerror_it.h File Reference

Italian error code translations. More...

Namespaces

  • namespace Amanith

Defines

  • #define G_NO_ERROR_STR "Nessun errore"
  • #define G_UNKNOWN_ERROR_STR "Error sconosciuto"
  • #define G_FILE_NOT_FOUND_STR "File non trovato"
  • #define G_FILE_ALREADY_EXISTS_STR "Il file è già esistente"
  • #define G_INVALID_FORMAT_STR "Formato non valido"
  • #define G_PERMISSION_DENIED_STR "Permesso negato"
  • #define G_INVALID_PARAMETER_STR "Parametro non valido"
  • #define G_INVALID_NODE_STR "Nodo non valido"
  • #define G_UNSUPPORTED_CLASSID_STR "ClassID non supportato"
  • #define G_OUT_OF_RANGE_STR "Intervallo violato"
  • #define G_READ_ERROR_STR "Errore di lettura"
  • #define G_WRITE_ERROR_STR "Errore di scrittura"
  • #define G_MEMORY_ERROR_STR "Errore di memoria (allocazione/deallocazione)"
  • #define G_MISSING_KERNEL_STR "L'operazione non può essere eseguita, kernel owner mancante"
  • #define G_MISSED_FEATURE_STR "La funzione richiesta è assente o non ancora implementata"
  • #define G_ENTRY_ALREADY_EXISTS_STR "Voce/Elemento già presente"
  • #define G_INVALID_OPERATION_STR "Operazione non valida/non possibile"
  • #define G_PLUGIN_NOTLOADED_STR "Plugin non caricato"
  • #define G_PLUGIN_NOTPRESENT_STR "Plugin non trovato/presente"
  • #define G_PLUGIN_SYMBOL_UNRESOLVED_STR "Simbolo non risolto/trovato"
  • #define G_PLUGIN_ALREADYLOADED_STR "Plugin già caricato/registrato"
  • #define G_PLUGIN_ISTANCED_STR "Il plugin ha creato delle istanze e non può essere scaricato dalla memoria"
  • #define G_SMTP_UNEXPECTEDANSWER_STR "Risposta inaspettata"
  • #define G_SMTP_SERVICECLOSED_STR "Servizio nond isponibile"
  • #define G_SMTP_NOTIMPLEMENTED_STR "Comando riconosciuto ma non implementato dall'host"
  • #define G_SMTP_MIMENOTSUPPORTED_STR "Estensione MIME non supportata"
  • #define G_SMTP_SERVERCANTEXECUTE_STR "Rifiuto di esecuzione"
  • #define G_SMTP_CANTCONNECT_STR "Impossibile connettersi"
  • #define G_SMTP_DATAERROR_STR "Errore dati durante la comunicazione"
  • #define G_SMTP_SYNTAXERROR_STR "Parametri non validi, sintassi sbagliata"
  • #define G_SMTP_STORAGEEXCEDED_STR "Limiti di immagazzinamento superati"
  • #define G_SMTP_UNKNOWNUSER_STR "Utente destinatario sconosciuto"
  • #define G_SMTP_FORWARDED_STR "Indirizzo corretto ma sconosciuto dal server (forward)"

Detailed Description

Italian error code translations.

Define Documentation

#define G_ENTRY_ALREADY_EXISTS_STR "Voce/Elemento già presente"

Entry already exists.

#define G_FILE_ALREADY_EXISTS_STR "Il file è già esistente"

File already exist.

#define G_FILE_NOT_FOUND_STR "File non trovato"

File was not found.

#define G_INVALID_FORMAT_STR "Formato non valido"

Invalid format (ex: unsupported image file).

#define G_INVALID_NODE_STR "Nodo non valido"

Invalid XML node.

#define G_INVALID_OPERATION_STR "Operazione non valida/non possibile"

Invalid operation.

#define G_INVALID_PARAMETER_STR "Parametro non valido"

Invalid parameter (maybe a NULL pointer, or wrong number).

#define G_MEMORY_ERROR_STR "Errore di memoria (allocazione/deallocazione)"

Generic memory (allocation/deallocation) error.

#define G_MISSED_FEATURE_STR "La funzione richiesta è assente o non ancora implementata"

Plugin missed feature.

#define G_MISSING_KERNEL_STR "L'operazione non può essere eseguita, kernel owner mancante"

Class cannot do operation because a missing kernel owner.

#define G_NO_ERROR_STR "Nessun errore"

No Error / Operation has been completed successfully.

#define G_OUT_OF_RANGE_STR "Intervallo violato"

Specified index is out of range.

#define G_PERMISSION_DENIED_STR "Permesso negato"

Permission denied.

#define G_PLUGIN_ALREADYLOADED_STR "Plugin già caricato/registrato"

Plugin is already loaded.

#define G_PLUGIN_ISTANCED_STR "Il plugin ha creato delle istanze e non può essere scaricato dalla memoria"

Plugin has created some instances, so it can't be unload.

#define G_PLUGIN_NOTLOADED_STR "Plugin non caricato"

Plugin is not loaded.

#define G_PLUGIN_NOTPRESENT_STR "Plugin non trovato/presente"

Plugin not present.

#define G_PLUGIN_SYMBOL_UNRESOLVED_STR "Simbolo non risolto/trovato"

Plug symbol not resolved.

#define G_READ_ERROR_STR "Errore di lettura"

Generic stream read error.

#define G_SMTP_CANTCONNECT_STR "Impossibile connettersi"

Can not connect to the server

#define G_SMTP_DATAERROR_STR "Errore dati durante la comunicazione"

Error during communication

#define G_SMTP_FORWARDED_STR "Indirizzo corretto ma sconosciuto dal server (forward)"

Address OK, unknown on this server

#define G_SMTP_MIMENOTSUPPORTED_STR "Estensione MIME non supportata"

Server doesn't support MIME ext.

#define G_SMTP_NOTIMPLEMENTED_STR "Comando riconosciuto ma non implementato dall'host"

Host recognize but can't exec cmd

#define G_SMTP_SERVERCANTEXECUTE_STR "Rifiuto di esecuzione"

Refused by server

#define G_SMTP_SERVICECLOSED_STR "Servizio nond isponibile"

Service unavailable

#define G_SMTP_STORAGEEXCEDED_STR "Limiti di immagazzinamento superati"

Server limits exceeded

#define G_SMTP_SYNTAXERROR_STR "Parametri non validi, sintassi sbagliata"

Bad parameters

#define G_SMTP_UNEXPECTEDANSWER_STR "Risposta inaspettata"

Answer was not expected

#define G_SMTP_UNKNOWNUSER_STR "Utente destinatario sconosciuto"

Unknown destinee

#define G_UNKNOWN_ERROR_STR "Error sconosciuto"

Unknown and unespected error.

#define G_UNSUPPORTED_CLASSID_STR "ClassID non supportato"

Passed ClassID or GElement is not supported for the specified operation.

#define G_WRITE_ERROR_STR "Errore di scrittura"

Generic stream write error.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » numerics

gfilter.h File Reference

Scalar filters definitions. More...

Namespaces

  • namespace Amanith

Classes

  • struct Amanith::GMitchellDataFloat
    Data structure for parameterized Mitchell filter. (float version). More...
  • struct Amanith::GMitchellDataDouble
    Data structure for parameterized Mitchell filter. (double version). More...
  • struct Amanith::GKaiserDataFloat
    Data structure for parameterized Kaiser window. (float version). More...
  • struct Amanith::GKaiserDataDouble
    Data structure for parameterized Kaiser window. (double version). More...

Functions

  • GDouble Amanith::BoxFilter (const GDouble x)
  • GFloat Amanith::BoxFilter (const GFloat x)
  • GDouble Amanith::TriangleFilter (const GDouble x)
  • GFloat Amanith::TriangleFilter (const GFloat x)
  • GDouble Amanith::QuadraticFilter (const GDouble x)
  • GFloat Amanith::QuadraticFilter (const GFloat x)
  • GDouble Amanith::CubicFilter (const GDouble x)
  • GFloat Amanith::CubicFilter (const GFloat x)
  • GDouble Amanith::CatmullRomFilter (const GDouble x)
  • GFloat Amanith::CatmullRomFilter (const GFloat x)
  • GDouble Amanith::GaussianFilter (const GDouble x)
  • GFloat Amanith::GaussianFilter (const GFloat x)
  • GDouble Amanith::SincFilter (const GDouble x)
  • GFloat Amanith::SincFilter (const GFloat x)
  • GDouble Amanith::BesselFilter (const GDouble x)
  • GFloat Amanith::BesselFilter (const GFloat x)
  • GDouble Amanith::BellFilter (const GDouble x)
  • GFloat Amanith::BellFilter (const GFloat x)
  • GDouble Amanith::MitchellFilter (const GDouble x, const GMitchellDataDouble *d)
  • GFloat Amanith::MitchellFilter (const GFloat x, const GMitchellDataFloat *d)
  • GDouble Amanith::HanningFilter (const GDouble x)
  • GFloat Amanith::HanningFilter (const GFloat x)
  • GDouble Amanith::HammingFilter (const GDouble x)
  • GFloat Amanith::HammingFilter (const GFloat x)
  • GDouble Amanith::BlackmanFilter (const GDouble x)
  • GFloat Amanith::BlackmanFilter (const GFloat x)
  • GDouble Amanith::KaiserFilter (const GDouble x, const GKaiserDataDouble *d)
  • GFloat Amanith::KaiserFilter (const GFloat x, const GKaiserDataFloat *d)
  • GDouble Amanith::NormalFilter (const GDouble x)
  • GFloat Amanith::NormalFilter (const GFloat x)

Detailed Description

Scalar filters definitions.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gfont2d.cpp File Reference

Font engine implementation. More...

Namespaces

  • namespace Amanith

Detailed Description

Font engine implementation.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gfont2d.h File Reference

Font engine header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GFontCharContour2D
    This class represents a character closed contour. More...
  • struct Amanith::GSubChar2D
    This structure describe a subchar used by multy-glyphs font character. More...
  • struct Amanith::GGlyphMetrics
    A structure used to model the metrics of a single glyph. More...
  • class Amanith::GFontChar2D
    This class represent a 2D font character. More...
  • struct Amanith::GEncodedChar
    An association between a char code to its glyph index (for a charsmap). More...
  • struct Amanith::GCharMap
    This structure describes a characters map. More...
  • struct Amanith::GKerningEntry
    Describes the kerning to be used for two characters. More...
  • class Amanith::GFont2D
    2D font class manager. More...
  • class Amanith::GFont2DProxy
    This class implements a GFont2DProxy proxy (provider). More...

Enumerations

  • enum Amanith::GCharMapEncoding {
Amanith::G_ENCODING_NONE,
Amanith::G_ENCODING_MS_SYMBOL,
Amanith::G_ENCODING_UNICODE,
Amanith::G_ENCODING_SJIS,
Amanith::G_ENCODING_GB2312,
Amanith::G_ENCODING_BIG5,
Amanith::G_ENCODING_WANSUNG,
Amanith::G_ENCODING_JOHAB,
Amanith::G_ENCODING_ADOBE_STANDARD,
Amanith::G_ENCODING_ADOBE_EXPERT,
Amanith::G_ENCODING_ADOBE_CUSTOM
, Amanith::G_ENCODING_OLD_LATIN_2,
Amanith::G_ENCODING_APPLE_ROMAN
}

Detailed Description

Font engine header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gglobal.h File Reference

Global Amanith types and constants defintion. More...

Namespaces

  • namespace Amanith

Classes

  • struct Amanith::GSystemInfo
    Structure used to store system informations. More...

Defines

  • #define G_ASSERT(val) ((void)0)
  • #define G_DEBUG(val) ((void)0)
  • #define G_LANG_EN 0
  • #define G_LANG_IT 1
  • #define G_LANG_DE 2
  • #define G_LANG_FR 3
  • #define G_LANG_ES 4
  • #define G_LANG_CN 5
  • #define G_LANG_JP 6
  • #define G_LANG_RU 7
  • #define G_LANG_FI 8
  • #define G_USED_LANG G_LANG_EN
  • #define GString std::string
  • #define GInt8 signed char
  • #define GInt16 short
  • #define GInt32 int
  • #define GUInt8 unsigned char
  • #define GUInt16 unsigned short
  • #define GUInt32 unsigned int
  • #define GULong unsigned long
  • #define GLong long
  • #define GInt64 long long
  • #define GUInt64 unsigned long long
  • #define GDynArray std::vector
  • #define GList std::list
  • #define GStringList std::list<GString>
  • #define GBool bool
  • #define GFloat float
  • #define GDouble double
  • #define GChar8 char
  • #define G_MAX_INT8 127
  • #define G_MIN_INT8 -128
  • #define G_MAX_INT16 32767
  • #define G_MIN_INT16 -32768
  • #define G_MAX_INT32 2147483647
  • #define G_MIN_INT32 -2147483648
  • #define G_MAX_LONG 2147483647
  • #define G_MIN_LONG -2147483648
  • #define G_MAX_INT64 9223372036854775807
  • #define G_MIN_INT64 -9223372036854775808
  • #define G_MAX_UINT8 255
  • #define G_MAX_UINT16 65535
  • #define G_MAX_UINT32 4294967295
  • #define G_MAX_ULONG 4294967295
  • #define G_MAX_UINT64 0xffffffffffffffff
  • #define G_MAX_FLOAT 3.4028234663852886e+38
  • #define G_MIN_FLOAT -3.4028234663852886e+38
  • #define G_MAX_DOUBLE 1.7976931348623157e+308
  • #define G_MIN_DOUBLE -1.7976931348623157e+308
  • #define G_TRUE true
  • #define G_FALSE false

Typedefs

  • typedef GInt64 Amanith::GLLong
  • typedef GUInt64 Amanith::GULLong
  • typedef GUInt8 Amanith::GUChar8
  • typedef GInt32 Amanith::GError
  • typedef GFloat Amanith::GReal
  • typedef GReal Amanith::GTimeValue

Enumerations

  • enum Amanith::GVectorIndex { Amanith::G_X =  0,
Amanith::G_Y =  1,
Amanith::G_Z =  2,
Amanith::G_W =  3
 }
  • enum Amanith::GEulerOrder
  • enum Amanith::GAnglesMeasureUnit {
Amanith::G_DEGREE_UNIT =  0,
Amanith::G_GRAD_UNIT =  1,
Amanith::G_MIL_UNIT =  2,
Amanith::G_MINUTE_UNIT =  3,
Amanith::G_OCTANT_UNIT =  4,
Amanith::G_QUADRANT_UNIT =  5,
Amanith::G_RADIAN_UNIT =  6,
Amanith::G_SECOND_UNIT =  7,
Amanith::G_SEXTANT_UNIT =  8,
Amanith::G_SIGN_UNIT =  9,
Amanith::G_CIRCLE_UNIT =  10,
Amanith::G_TURN_UNIT =  11,
Amanith::G_REVOLUTION_UNIT =  12,
Amanith::G_RIGHTANGLE_UNIT =  13
}
  • enum Amanith::GSortType { Amanith::G_NO_SORT,
Amanith::G_ASCENDING_SORT,
Amanith::G_DESCENDING_SORT
 }
  • enum Amanith::GSurfaceSide { Amanith::G_ONSURFACE,
Amanith::G_INSIDE,
Amanith::G_OUTSIDE
 }
  • enum Amanith::GBoxSide {
Amanith::G_LEFTSIDE,
Amanith::G_RIGHTSIDE,
Amanith::G_TOPSIDE,
Amanith::G_BOTTOMSIDE,
Amanith::G_FRONTSIDE,
Amanith::G_BACKSIDE
}
  • enum Amanith::GEndianType { Amanith::G_BIG_ENDIAN,
Amanith::G_LITTLE_ENDIAN
 }

Variables

  • const GReal Amanith::G_EPSILON = 1.1920928955078125e-07
  • const GReal Amanith::G_MAX_REAL = 3.4028234663852886e+38
  • const GReal Amanith::G_MIN_REAL = -3.4028234663852886e+38

Detailed Description

Global Amanith types and constants defintion.

Define Documentation

#define G_ASSERT ( val ) ((void)0)

Very simple assertion stuff.

#define G_DEBUG ( val ) ((void)0)

Very simple debugging stuff.

#define G_FALSE false

False boolean value used by GBool type.

#define G_LANG_CN 5

Chinese language option.

#define G_LANG_DE 2

German language option.

#define G_LANG_EN 0

English language option.

#define G_LANG_ES 4

Spanish language option.

#define G_LANG_FI 8

Suomi language option.

#define G_LANG_FR 3

French language option.

#define G_LANG_IT 1

Italian language option.

#define G_LANG_JP 6

Japanese language option.

#define G_LANG_RU 7

Russian language option.

#define G_MAX_DOUBLE 1.7976931348623157e+308

Maximum signed GDouble value.

#define G_MAX_FLOAT 3.4028234663852886e+38

Maximum signed GFloat value.

#define G_MAX_INT16 32767

Maximum signed GInt16 value.

#define G_MAX_INT32 2147483647

Maximum signed GInt32 value.

#define G_MAX_INT64 9223372036854775807

Maximum signed GInt64 value.

#define G_MAX_INT8 127

Maximum signed GInt8 value.

#define G_MAX_LONG 2147483647

Maximum signed GLong value.

#define G_MAX_UINT16 65535

Maximum unsigned GUInt16 value.

#define G_MAX_UINT32 4294967295

Maximum unsigned GUInt32 value.

#define G_MAX_UINT64 0xffffffffffffffff

Maximum unsigned GUInt64 value.

#define G_MAX_UINT8 255

Maximum unsigned GUInt8 value.

#define G_MAX_ULONG 4294967295

Maximum unsigned GULong value.

#define G_MIN_DOUBLE -1.7976931348623157e+308

Minimum signed GDouble value.

#define G_MIN_FLOAT -3.4028234663852886e+38

Minimum signed GFloat value.

#define G_MIN_INT16 -32768

Minimum signed GInt16 value.

#define G_MIN_INT32 -2147483648

Minimum signed GInt32 value.

#define G_MIN_INT64 -9223372036854775808

Minimum signed GInt64 value.

#define G_MIN_INT8 -128

Minimum signed GInt8 value.

#define G_MIN_LONG -2147483648

Minimum signed GLong value.

#define G_TRUE true

True boolean value used by GBool type.

#define G_USED_LANG G_LANG_EN

Used language for error codes and strings.

#define GBool bool

Boolean type.

#define GChar8 char

8-bit signed char type

#define GDouble double

Double precision type.

#define GDynArray std::vector

Dynamic vector container.

#define GFloat float

Float type.

#define GInt16 short

Integer type, 2 bytes size.

#define GInt32 int

Integer type, 4 bytes size.

#define GInt64 long long

Signed integer type, 8 bytes size.

#define GInt8 signed char

Integer type, 1 byte size.

#define GList std::list

List container.

#define GLong long

Signed long type.

#define GString std::string

String type.

#define GStringList std::list<GString>

String list (a list of strings).

#define GUInt16 unsigned short

Unsigned integer type, 2 bytes size.

#define GUInt32 unsigned int

Unsigned integer type, 4 bytes size.

#define GUInt64 unsigned long long

Unsigned integer type, 8 bytes size.

#define GUInt8 unsigned char

Unsigned integer type, 1 byte size.

#define GULong unsigned long

Unsigned long type.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 1d

ghermitecurve1d.cpp File Reference

Implementation of 1D Hermite multicurve class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of 1D Hermite multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 1d

ghermitecurve1d.h File Reference

Header file for 1D Hermite multicurve class. More...

Namespaces

  • namespace Amanith

Classes

  • struct Amanith::GHermiteKey1D
    1D Hermite key structure. More...
  • class Amanith::GHermiteCurve1D
    This class implements a 1D Hermite multicurve. More...
  • class Amanith::GHermiteCurve1DProxy
    This class implements a GHermiteCurve1D proxy (provider). More...

Detailed Description

Header file for 1D Hermite multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

ghermitecurve2d.cpp File Reference

Implementation of 2D Hermite multicurve class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of 2D Hermite multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

ghermitecurve2d.h File Reference

Header file for 2D Hermite multicurve class. More...

Namespaces

  • namespace Amanith

Classes

  • struct Amanith::GHermiteKey2D
    Hermite key structure. More...
  • class Amanith::GHermiteCurve2D
    This class implements a 2D Hermite multicurve. More...
  • class Amanith::GHermiteCurve2DProxy
    This class implements a GHermiteCurve2D proxy (provider). More...

Detailed Description

Header file for 2D Hermite multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gimpexp.h File Reference

Import/Export plugins interface class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GImpExpFeature
    Generic import/export feature descriptor. More...
  • class Amanith::GImpExp
    Import/Export plugin interface class. More...
  • class Amanith::GImpExpProxy
    This class implements a GImpExp proxy (provider). More...

Enumerations

  • enum Amanith::GReadWriteOp { Amanith::G_IMPEXP_READ,
Amanith::G_IMPEXP_WRITE,
Amanith::G_IMPEXP_READWRITE
 }

Detailed Description

Import/Export plugins interface class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » numerics

gintegration.cpp File Reference

Implementation of numerical integration class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of numerical integration class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » numerics

gintegration.h File Reference

Header file for numeric integration class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GIntegration
    This class implements numerical integration of scalar functions. More...

Detailed Description

Header file for numeric integration class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gintersect.h File Reference

Intersect queries for all geometric entities (boxes, sphere and so on). More...

Namespaces

  • namespace Amanith

Detailed Description

Intersect queries for all geometric entities (boxes, sphere and so on).


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

ginterval.h File Reference

Header file for GInterval class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GInterval< DATA_TYPE >
    GInterval represents a mono dimensional interval. More...

Detailed Description

Header file for GInterval class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src

gkernel.cpp File Reference

Implementation of GKernel class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of GKernel class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gkernel.h File Reference

GKernel class header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GProxyState
    Proxy state descriptor. More...
  • class Amanith::GKernel
    It's the core class that make introspection and plugins system possible and full working. More...
  • class Amanith::GKernelProxy
    This class implements a GKernel proxy (provider). More...

Detailed Description

GKernel class header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

glineseg.h File Reference

Header file GLineSeg class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GLineSeg< DATA_TYPE, SIZE >
    Describes a compact (finite) line segment. More...

Typedefs

  • typedef GLineSeg< GReal, 2 > Amanith::GLineSegment2
  • typedef GLineSeg< GReal, 3 > Amanith::GLineSegment3

Detailed Description

Header file GLineSeg class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gmath.h File Reference

Mathematics functions and utilities. More...

Namespaces

  • namespace Amanith
  • namespace Amanith::GMath

Defines

  • #define G_2PI 6.28318530717958647692
  • #define G_PI 3.14159265358979323846
  • #define G_PI_OVER2 1.57079632679489661923
  • #define G_PI_OVER4 0.78539816339744830962
  • #define G_SQRTHALF 0.7071067811865475244
  • #define G_EXP1 2.71828182845904523536
  • #define G_ONE_OVER_PI 0.31830988618379067154
  • #define G_ONE_OVER_2PI 0.159154943091895335768

Functions

  • GFloat Amanith::GMath::Abs (const GFloat Value)
  • GDouble Amanith::GMath::Abs (const GDouble Value)
  • template<typename T> T Amanith::GMath::Abs (const T Value)
  • template<typename T> T Amanith::GMath::Ceil (T fValue)
  • GFloat Amanith::GMath::Ceil (const GFloat Value)
  • GDouble Amanith::GMath::Ceil (const GDouble Value)
  • template<typename T> T Amanith::GMath::Floor (T Value)
  • GFloat Amanith::GMath::Floor (const GFloat Value)
  • GDouble Amanith::GMath::Floor (const GDouble fValue)
  • template<typename T> GInt32 Amanith::GMath::Sign (const T Value)
  • template<typename T> T Amanith::GMath::ZeroClamp (const T Value, const T Eps=T(0))
  • template<typename DATA_TYPE> DATA_TYPE Amanith::GMath::Factorial (const DATA_TYPE Value)
  • template<typename DATA_TYPE> DATA_TYPE Amanith::GMath::Binomial (DATA_TYPE N, DATA_TYPE I)
  • template<typename T> T Amanith::GMath::Acos (T Value)
  • GFloat Amanith::GMath::Acos (const GFloat Value)
  • GDouble Amanith::GMath::Acos (const GDouble Value)
  • template<typename T> T Amanith::GMath::Asin (T Value)
  • GFloat Amanith::GMath::Asin (const GFloat Value)
  • GDouble Amanith::GMath::Asin (const GDouble Value)
  • template<typename T> T Amanith::GMath::Atan (T Value)
  • GDouble Amanith::GMath::Atan (const GDouble Value)
  • GFloat Amanith::GMath::Atan (const GFloat Value)
  • template<typename T> T Amanith::GMath::Atan2 (const T Y, const T X)
  • GFloat Amanith::GMath::Atan2 (const GFloat Y, const GFloat X)
  • GDouble Amanith::GMath::Atan2 (const GDouble Y, const GDouble X)
  • template<typename T> T Amanith::GMath::Cos (const T Value)
  • GFloat Amanith::GMath::Cos (const GFloat Value)
  • GDouble Amanith::GMath::Cos (const GDouble Value)
  • template<typename T> T Amanith::GMath::Exp (const T Value)
  • GFloat Amanith::GMath::Exp (const GFloat Value)
  • GDouble Amanith::GMath::Exp (const GDouble Value)
  • template<typename T> T Amanith::GMath::Log (const T Value)
  • GDouble Amanith::GMath::Log (const GDouble Value)
  • GFloat Amanith::GMath::Log (const GFloat Value)
  • template<typename T> T Amanith::GMath::Log2 (const T Value)
  • GDouble Amanith::GMath::Log2 (const GDouble Value)
  • GFloat Amanith::GMath::Log2 (const GFloat Value)
  • template<typename T> T Amanith::GMath::Log10 (const T Value)
  • GDouble Amanith::GMath::Log10 (const GDouble Value)
  • GFloat Amanith::GMath::Log10 (const GFloat Value)
  • GUInt32 Amanith::GMath::LogStar (const GUInt32 Value)
  • GUInt32 Amanith::GMath::Log2Star (const GUInt32 Value)
  • GUInt32 Amanith::GMath::Log10Star (const GUInt32 Value)
  • template<typename T> T Amanith::GMath::Pow (const T Base, const T Exponent)
  • GDouble Amanith::GMath::Pow (const GDouble Base, const GDouble Exponent)
  • GFloat Amanith::GMath::Pow (const GFloat Base, const GFloat Exponent)
  • template<typename T> T Amanith::GMath::Sin (const T Value)
  • GDouble Amanith::GMath::Sin (const GDouble Value)
  • GFloat Amanith::GMath::Sin (const GFloat Value)
  • template<typename T> T Amanith::GMath::Tan (const T Value)
  • GDouble Amanith::GMath::Tan (const GDouble Value)
  • GFloat Amanith::GMath::Tan (const GFloat Value)
  • template<typename T> T Amanith::GMath::Sqr (const T Value)
  • template<typename T> T Amanith::GMath::Sqrt (const T Value)
  • GDouble Amanith::GMath::Sqrt (const GDouble Value)
  • GFloat Amanith::GMath::Sqrt (const GFloat Value)
  • GDouble Amanith::GMath::BesselJ0 (const GDouble Value)
  • GFloat Amanith::GMath::BesselJ0 (const GFloat Value)
  • GDouble Amanith::GMath::BesselJ1 (const GDouble Value)
  • GFloat Amanith::GMath::BesselJ1 (const GFloat Value)
  • GDouble Amanith::GMath::BesselJN (const GInt32 Order, const GDouble Value)
  • GFloat Amanith::GMath::BesselJN (const GInt32 Order, const GFloat Value)
  • GDouble Amanith::GMath::BesselY0 (const GDouble Value)
  • GFloat Amanith::GMath::BesselY0 (const GFloat Value)
  • GDouble Amanith::GMath::BesselY1 (const GDouble Value)
  • GFloat Amanith::GMath::BesselY1 (const GFloat Value)
  • GDouble Amanith::GMath::BesselYN (const GInt32 Order, const GDouble Value)
  • GFloat Amanith::GMath::BesselYN (const GInt32 Order, const GFloat Value)
  • GDouble Amanith::GMath::BesselI0 (const GDouble Value)
  • GFloat Amanith::GMath::BesselI0 (const GFloat Value)
  • GDouble Amanith::GMath::BesslI1 (const GDouble Value)
  • GFloat Amanith::GMath::BesslI1 (const GFloat Value)
  • GInt32 Amanith::GMath::MCM (GInt32 N1, GInt32 N2)
  • void Amanith::GMath::SeedRandom (const GUInt32 Seed)
  • void Amanith::GMath::SeedRandom ()
  • GFloat Amanith::GMath::UnitRandomf ()
  • GDouble Amanith::GMath::UnitRandom ()
  • GFloat Amanith::GMath::RangeRandom (const GFloat X1, const GFloat X2)
  • GDouble Amanith::GMath::RangeRandom (const GDouble X1, const GDouble X2)
  • GUInt32 Amanith::GMath::RangeRandom (const GInt32 X1, const GInt32 X2)
  • GFloat Amanith::GMath::Deg2Rad (const GFloat DegValue)
  • GDouble Amanith::GMath::Deg2Rad (const GDouble DegValue)
  • GFloat Amanith::GMath::Rad2Deg (const GFloat RadValue)
  • GDouble Amanith::GMath::Rad2Deg (const GDouble RadValue)
  • GFloat Amanith::GMath::AngleConversion (const GFloat InputValue, const GAnglesMeasureUnit InputSystem, const GAnglesMeasureUnit OutputSystem)
  • GDouble Amanith::GMath::AngleConversion (const GDouble InputValue, const GAnglesMeasureUnit InputSystem, const GAnglesMeasureUnit OutputSystem)
  • template<typename T> GBool Amanith::GMath::IsEqual (const T A, const T B, const T Tolerance=T(0))
  • template<typename T> T Amanith::GMath::Trunc (const T Value)
  • template<typename T> T Amanith::GMath::Round (const T Value)
  • GInt32 Amanith::GMath::FloorDiv (const GInt32 A, const GInt32 B)
  • template<typename T> T Amanith::GMath::Min (const T X, const T Y)
  • template<typename T> T Amanith::GMath::Min (const T X, const T Y, const T Z)
  • template<typename T> T Amanith::GMath::Min (const T X, const T Y, const T Z, const T W)
  • template<typename T> T Amanith::GMath::Max (const T X, const T Y)
  • template<typename T> T Amanith::GMath::Max (const T X, const T Y, const T Z)
  • template<typename T> T Amanith::GMath::Max (const T X, const T Y, const T Z, const T W)
  • template<typename T> T Amanith::GMath::Clamp (const T Number, const T Lo, const T Hi)
  • template<typename T, typename U> T Amanith::GMath::Lerp (const U &LerpPercentage, const T &A, const T &B)
  • template<typename T, typename U> T Amanith::GMath::BarycentricConvexSum (const U &WeightA, const T &A, const U &WeightB, const T &B)
  • template<typename T> GInt32 Amanith::GMath::QuadraticFormula (T &R1, T &R2, const T &A, const T &B, const T &C, const T Epsilon=G_EPSILON)

Detailed Description

Mathematics functions and utilities.

Define Documentation

#define G_2PI 6.28318530717958647692

2 * PI constant

#define G_EXP1 2.71828182845904523536

Nepero number.

#define G_ONE_OVER_2PI 0.159154943091895335768

1/2PI constant

#define G_ONE_OVER_PI 0.31830988618379067154

1/PI constant

#define G_PI 3.14159265358979323846

PI constant.

#define G_PI_OVER2 1.57079632679489661923

PI/2 constant.

#define G_PI_OVER4 0.78539816339744830962

PI/4 constant.

#define G_SQRTHALF 0.7071067811865475244

Sqrt(0.5) constant.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gmatrix.h File Reference

Class for matrix management. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
    N x M dimensional matrix (ordered in memory by Column). More...
  • class Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor
  • class Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor

Typedefs

  • typedef GMatrix< GReal, 2, 2 > Amanith::GMatrix22
  • typedef GMatrix< GReal, 2, 3 > Amanith::GMatrix23
  • typedef GMatrix< GReal, 3, 3 > Amanith::GMatrix33
  • typedef GMatrix< GReal, 3, 4 > Amanith::GMatrix34
  • typedef GMatrix< GReal, 4, 3 > Amanith::GMatrix43
  • typedef GMatrix< GReal, 4, 4 > Amanith::GMatrix44

Functions

  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Amanith::Identity (GMatrix< DATA_TYPE, ROWS, COLS > &Result)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Amanith::Zero (GMatrix< DATA_TYPE, ROWS, COLS > &Result)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 INTERNAL, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Amanith::Mult (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GMatrix< DATA_TYPE, ROWS, INTERNAL > &lhs, const GMatrix< DATA_TYPE, INTERNAL, COLS > &rhs)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 INTERNAL, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > Amanith::operator * (const GMatrix< DATA_TYPE, ROWS, INTERNAL > &lhs, const GMatrix< DATA_TYPE, INTERNAL, COLS > &rhs)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > Amanith::operator- (GMatrix< DATA_TYPE, ROWS, COLS > &lhs)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Amanith::operator-= (GMatrix< DATA_TYPE, ROWS, COLS > &lhs, const GMatrix< DATA_TYPE, ROWS, COLS > &rhs)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Amanith::operator+= (GMatrix< DATA_TYPE, ROWS, COLS > &lhs, const GMatrix< DATA_TYPE, ROWS, COLS > &rhs)
  • template<typename DATA_TYPE, GUInt32 SIZE> GMatrix< DATA_TYPE, SIZE,
    SIZE > & Amanith::PostMult (GMatrix< DATA_TYPE, SIZE, SIZE > &result, const GMatrix< DATA_TYPE, SIZE, SIZE > &operand)
  • template<typename DATA_TYPE, GUInt32 SIZE> GMatrix< DATA_TYPE, SIZE,
    SIZE > & Amanith::PreMult (GMatrix< DATA_TYPE, SIZE, SIZE > &result, const GMatrix< DATA_TYPE, SIZE, SIZE > &operand)
  • template<typename DATA_TYPE, GUInt32 SIZE> GMatrix< DATA_TYPE, SIZE,
    SIZE > & Amanith::operator *= (GMatrix< DATA_TYPE, SIZE, SIZE > &result, const GMatrix< DATA_TYPE, SIZE, SIZE > &operand)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, class SCALAR_TYPE> GMatrix< DATA_TYPE, ROWS,
    COLS > & Amanith::operator *= (GMatrix< DATA_TYPE, ROWS, COLS > &result, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, class SCALAR_TYPE> GMatrix< DATA_TYPE, ROWS,
    COLS > Amanith::operator * (const GMatrix< DATA_TYPE, ROWS, COLS > &mat, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE> GMatrix< DATA_TYPE, SIZE,
    SIZE > & Amanith::Transpose (GMatrix< DATA_TYPE, SIZE, SIZE > &result)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Amanith::Transpose (GMatrix< DATA_TYPE, ROWS, COLS > &result, const GMatrix< DATA_TYPE, COLS, ROWS > &source)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GBool Amanith::InvertTrans (GMatrix< DATA_TYPE, ROWS, COLS > &result, const GMatrix< DATA_TYPE, ROWS, COLS > &src)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Amanith::InvertOrthogonal (GMatrix< DATA_TYPE, ROWS, COLS > &result, const GMatrix< DATA_TYPE, ROWS, COLS > &src)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool Amanith::InvertFull_GJ (GMatrix< DATA_TYPE, SIZE, SIZE > &result, const GMatrix< DATA_TYPE, SIZE, SIZE > &src, DATA_TYPE &Determinant, const DATA_TYPE Epsilon=1e-20)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GBool Amanith::DecompLU (const GMatrix< DATA_TYPE, ROWS, COLS > &Src, GMatrix< DATA_TYPE, ROWS, COLS > &L, GMatrix< DATA_TYPE, COLS, COLS > &U, GVect< GInt32, ROWS > &Permutation, DATA_TYPE &Determinant)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GBool Amanith::DecompQR (const GMatrix< DATA_TYPE, ROWS, COLS > &Src, GMatrix< DATA_TYPE, ROWS, COLS > &Q, GMatrix< DATA_TYPE, COLS, COLS > &R)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool Amanith::DecompCholesky (const GMatrix< DATA_TYPE, SIZE, SIZE > &Src, GMatrix< DATA_TYPE, SIZE, SIZE > &L)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::DecompSVD (const GMatrix< DATA_TYPE, ROWS, COLS > &Src, GMatrix< DATA_TYPE, ROWS, COLS > &U, GMatrix< DATA_TYPE, COLS, COLS > &S, GMatrix< DATA_TYPE, COLS, COLS > &V, DATA_TYPE &Norm2, DATA_TYPE &ConditionNumber, GInt32 &Rank)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::HouseholderColumnsReflect (GMatrix< DATA_TYPE, ROWS, COLS > &M, const GVect< DATA_TYPE, COLS > &u)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::HouseholderRowsReflect (GMatrix< DATA_TYPE, ROWS, COLS > &M, const GVect< DATA_TYPE, COLS > &u)
  • template<typename DATA_TYPE> void Amanith::DecompPolar_Rank1 (GMatrix< DATA_TYPE, 3, 3 > &M, GMatrix< DATA_TYPE, 3, 3 > &Q)
  • template<typename DATA_TYPE> void Amanith::DecompPolar_Rank2 (GMatrix< DATA_TYPE, 3, 3 > &M, const GMatrix< DATA_TYPE, 3, 3 > &MadjT, GMatrix< DATA_TYPE, 3, 3 > &Q)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool Amanith::DecompPolar (const GMatrix< DATA_TYPE, SIZE, SIZE > &Src, GMatrix< DATA_TYPE, SIZE, SIZE > &Q, DATA_TYPE &QDeterminant, GMatrix< DATA_TYPE, SIZE, SIZE > &S, const DATA_TYPE Epsilon=G_EPSILON)
  • template<typename DATA_TYPE, GUInt32 SIZE> void Amanith::SymHouseholderTridReduction (GMatrix< DATA_TYPE, SIZE, SIZE > &V, GVect< DATA_TYPE, SIZE > &d, GVect< DATA_TYPE, SIZE > &e)
  • template<typename DATA_TYPE, GUInt32 SIZE> void Amanith::SymTridQL (GMatrix< DATA_TYPE, SIZE, SIZE > &V, GVect< DATA_TYPE, SIZE > &d, GVect< DATA_TYPE, SIZE > &e, const GBool Sort=G_TRUE)
  • template<typename DATA_TYPE, GUInt32 SIZE> void Amanith::NonSymHessenbergReduction (GMatrix< DATA_TYPE, SIZE, SIZE > &V, GMatrix< DATA_TYPE, SIZE, SIZE > &H)
  • template<typename DATA_TYPE, GUInt32 SIZE> void Amanith::NonSymSchurReduction (GMatrix< DATA_TYPE, SIZE, SIZE > &V, GMatrix< DATA_TYPE, SIZE, SIZE > &H, GVect< DATA_TYPE, SIZE > &d, GVect< DATA_TYPE, SIZE > &e)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GBool Amanith::IsEqual (const GMatrix< DATA_TYPE, ROWS, COLS > &lhs, const GMatrix< DATA_TYPE, ROWS, COLS > &rhs, const DATA_TYPE &eps=(DATA_TYPE) 0)

Detailed Description

Class for matrix management.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gmesh2d.cpp File Reference

GMesh2D classes implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

GMesh2D classes implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gmesh2d.h File Reference

GMesh2D classes header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GMeshVertex2D< DATA_TYPE >
    This class represent a mesh vertex. More...
  • class Amanith::GMeshEdge2D< DATA_TYPE >
    A directed edge from one vertex to another, adjacent to two faces. More...
  • class Amanith::GQuadEdge2D< DATA_TYPE >
    This class describes a quad-edge. More...
  • class Amanith::GMeshFace2D< DATA_TYPE >
    A face of a mesh, bounded by a set of directed edges. More...
  • class Amanith::GMesh2D< DATA_TYPE >
    This class represents an enclosed volume, bounded by a set of vertexes and faces. More...

Detailed Description

GMesh2D classes header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 1d

gmulticurve1d.cpp File Reference

Implementation file for GMultiCurve1D class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation file for GMultiCurve1D class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 1d

gmulticurve1d.h File Reference

Header file for 1D multicurve class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GMultiCurve1D
    This class represents a parametric continuous piece-wise 1D curve. More...
  • class Amanith::GMultiCurve1DProxy
    This class implements a GMultiCurve1D proxy (provider). More...

Detailed Description

Header file for 1D multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gmulticurve2d.cpp File Reference

Implementation file for GMultiCurve2D class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation file for GMultiCurve2D class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gmulticurve2d.h File Reference

Header file for 2D multicurve class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GMultiCurve2D
    This class represents a parametric continuous piece-wise 2D curve. More...
  • class Amanith::GMultiCurve2DProxy
    This class implements a GMultiCurve2D proxy (provider). More...

Detailed Description

Header file for 2D multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src

gmultiproperty.cpp File Reference

Implementation of basic animated multi-properties. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of basic animated multi-properties.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gmultiproperty.h File Reference

Header file for common multi properties. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GMultiProperty1D
    This class represent a multi-property, intended as a container of properties of the same type. More...
  • class Amanith::GMultiProperty1DProxy
    This class implements a GMultiProperty1D proxy (provider). More...
  • class Amanith::GTwoHermiteProperty1D
    This class represent a 2-dimensional Hermite multi-property, a container of two GHermiteProperty1D properties. They are accessible with the default names "x" and "y". More...
  • class Amanith::GTwoHermiteProperty1DProxy
    This class implements a GTwoHermiteProperty proxy (provider). More...
  • class Amanith::GThreeHermiteProperty1D
    This class represent a 3-dimensional Hermite multi-property, a container of three GHermiteProperty1D properties. They are accessible with the default names "x", "y" and "z". More...
  • class Amanith::GThreeHermiteProperty1DProxy
    This class implements a GThreeHermiteProperty proxy (provider). More...
  • class Amanith::GFourHermiteProperty1D
    This class represent a 4-dimensional Hermite multi-property, a container of four GHermiteProperty1D properties. They are accessible with the default names "x", "y", "z" and "w". More...
  • class Amanith::GFourHermiteProperty1DProxy
    This class implements a GFourHermiteProperty proxy (provider). More...
  • class Amanith::GTwoLinearProperty1D
    This class represent a 2-dimensional linear multi-property, a container of two GLinearProperty1D properties. They are accessible with the default names "x" and "y". More...
  • class Amanith::GTwoLinearProperty1DProxy
    This class implements a GTwoLinearProperty1D proxy (provider). More...
  • class Amanith::GThreeLinearProperty1D
    This class represent a 3-dimensional linear multi-property, a container of three GLinearProperty1D properties. They are accessible with the default names "x", "y" and "z". More...
  • class Amanith::GThreeLinearProperty1DProxy
    This class implements a GThreeLinearProperty1D proxy (provider). More...
  • class Amanith::GFourLinearProperty1D
    This class represent a 4-dimensional linear multi-property, a container of four GLinearProperty1D properties. They are accessible with the default names "x", "y", "z" and "w". More...
  • class Amanith::GFourLinearProperty1DProxy
    This class implements a GFourLinearProperty1D proxy (provider). More...
  • class Amanith::GTwoConstantProperty1D
    This class represent a 2-dimensional constant multi-property, a container of two GConstantProperty1D properties. They are accessible with the default names "x" and "y". More...
  • class Amanith::GTwoConstantProperty1DProxy
    This class implements a GTwoConstantProperty1D proxy (provider). More...
  • class Amanith::GThreeConstantProperty1D
    This class represent a 3-dimensional constant multi-property, a container of three GConstantProperty1D properties. They are accessible with the default names "x", "y" and "z". More...
  • class Amanith::GThreeConstantProperty1DProxy
    This class implements a GThreeConstantProperty1D proxy (provider). More...
  • class Amanith::GFourConstantProperty1D
    This class represent a 4-dimensional constant multi-property, a container of four GConstantProperty1D properties. They are accessible with the default names "x", "y", "z" and "w". More...
  • class Amanith::GFourConstantProperty1DProxy
    This class implements a GFourConstantProperty1D proxy (provider). More...

Detailed Description

Header file for common multi properties.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

goobox.h File Reference

Object oriented box class, header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GGenericOOBox< DATA_TYPE, SIZE >
    Object oriented box, in N-dimensional space. More...

Typedefs

  • typedef GGenericOOBox< GReal, 2 > Amanith::GOOBox2
  • typedef GGenericOOBox< GReal, 3 > Amanith::GOOBox3

Functions

  • template<typename DATA_TYPE, GUInt32 SIZE> GBool Amanith::IsEqual (const GGenericOOBox< DATA_TYPE, SIZE > &Box1, const GGenericOOBox< DATA_TYPE, SIZE > &Box2, const DATA_TYPE &Epsilon)

Detailed Description

Object oriented box class, header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglboard.cpp File Reference

OpenGL based draw board implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » rendering

gopenglboard.h File Reference

OpenGL based draw board header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GOpenGLGradientDesc
    This is an OpenGL-based implementation gradient descriptor class. More...
  • class Amanith::GOpenGLPatternDesc
    This is an OpenGL-based implementation pattern descriptor class. More...
  • class Amanith::GOpenGLDrawStyle
    This is an OpenGL-based implementation drawstyle descriptor class. More...
  • class Amanith::GOpenGLCacheBank
    This is the OpenGL implementation of a cache bank class, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer). More...
  • class Amanith::GOpenGLBoard
    This is an OpenGL-based implementation drawboard. More...

Detailed Description

OpenGL based draw board header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglcache.cpp File Reference

OpenGL based draw board cache functions implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board cache functions implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglcompositing.cpp File Reference

OpenGL based draw board compositing functions implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board compositing functions implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglconicalgrad.cpp File Reference

OpenGL based draw board conical gradient functions implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board conical gradient functions implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src

gopenglext.cpp File Reference

Opengl extensions manager implementation. More...

Namespaces

  • namespace Amanith

Defines

  • #define PrintOpenGLError() PrintOglError(__FILE__, __LINE__)

Detailed Description

Opengl extensions manager implementation.

Define Documentation

#define PrintOpenGLError ( ) PrintOglError(__FILE__, __LINE__)

Function used for OpenGL errors. It use qDebug() for output printing.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gopenglext.h File Reference

GOpenglExt header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GOpenglExt
    OpenGL extensions manager. More...

Detailed Description

GOpenglExt header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglgeometries.cpp File Reference

OpenGL based draw board geometries functions implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board geometries functions implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglgroups.cpp File Reference

OpenGL based draw board group functions implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board group functions implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglmasks.cpp File Reference

OpenGL based draw board clip masks functions implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board clip masks functions implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglradialgrad.cpp File Reference

OpenGL based draw board radial gradient functions implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board radial gradient functions implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglstroke.cpp File Reference

OpenGL based draw board stroke functions implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board stroke functions implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » rendering

gopenglstyles.cpp File Reference

OpenGL based draw board styles functions implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

OpenGL based draw board styles functions implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gpath2d.cpp File Reference

2D Path implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

2D Path implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gpath2d.h File Reference

2D Path header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GPath2D
    This class represents a path, intended as a series of "linked" curves of different flavors. More...
  • class Amanith::GPath2DProxy
    This class implements a GPath2D proxy (provider). More...

Detailed Description

2D Path header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gpixelmap.cpp File Reference

Implementation of GPixelMap class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of GPixelMap class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gpixelmap.h File Reference

Header for GPixelMap class. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GPixelMap
    A 2D cross-platform bitmap class. More...
  • class Amanith::GPixelMapProxy
    This class implements a GPixelMap proxy (provider). More...

Enumerations

  • enum Amanith::GPixelFormat {
Amanith::G_GRAYSCALE,
Amanith::G_RGB_PALETTE,
Amanith::G_R8G8B8,
Amanith::G_A8R8G8B8,
Amanith::G_A1R5G5B5,
Amanith::G_R5G6B5
}
  • enum Amanith::GResizeOp {
Amanith::G_RESIZE_BOX,
Amanith::G_RESIZE_TRIANGLE,
Amanith::G_RESIZE_QUADRATIC,
Amanith::G_RESIZE_CUBIC,
Amanith::G_RESIZE_CATMULLROM,
Amanith::G_RESIZE_GAUSSIAN,
Amanith::G_RESIZE_SINC,
Amanith::G_RESIZE_BESSEL,
Amanith::G_RESIZE_BELL,
Amanith::G_RESIZE_HANNING,
Amanith::G_RESIZE_HAMMING,
Amanith::G_RESIZE_BLACKMAN,
Amanith::G_RESIZE_NORMAL
}

Detailed Description

Header for GPixelMap class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gplane.h File Reference

Geometrical 3D plane class, header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GGenericPlane< DATA_TYPE >
    Defines a 3D geometrical plane. More...

Typedefs

  • typedef GGenericPlane< GReal > Amanith::GPlane

Functions

  • template<typename DATA_TYPE> GPoint< DATA_TYPE, 3 > Amanith::FindNearestPoint (const GGenericPlane< DATA_TYPE > &Plane, const GPoint< DATA_TYPE, 3 > &TestPoint)
  • template<typename DATA_TYPE> GBool Amanith::IsEqual (const GGenericPlane< DATA_TYPE > &Plane1, const GGenericPlane< DATA_TYPE > &Plane2, const DATA_TYPE &Epsilon)

Detailed Description

Geometrical 3D plane class, header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src

gpluglib.cpp File Reference

Implementation of GPlugLoader class (dynamic library loader). More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of GPlugLoader class (dynamic library loader).


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gpluglib.h File Reference

Dynamic library loader header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GPlugLoader
    Low level dynamic library loader class. More...

Detailed Description

Dynamic library loader header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 1d

gpolylinecurve1d.cpp File Reference

Implementation of 1D poly line multicurve class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of 1D poly line multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 1d

gpolylinecurve1d.h File Reference

Header file for 1D polyline multicurve class. More...

Namespaces

  • namespace Amanith

Classes

  • struct Amanith::GPolyLineKey1D
    1D Polyline key structure. More...
  • class Amanith::GPolyLineCurve1D
    This class implements a 1D polyline multicurve. More...
  • class Amanith::GPolyLineCurve1DProxy
    This class implements a GPolyLineCurve1D proxy (provider). More...

Detailed Description

Header file for 1D polyline multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gpolylinecurve2d.cpp File Reference

Implementation of 2D poly line multicurve class. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of 2D poly line multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gpolylinecurve2d.h File Reference

Header file for 2D polyline multicurve class. More...

Namespaces

  • namespace Amanith

Classes

  • struct Amanith::GPolyLineKey2D
    Polyline key structure. More...
  • class Amanith::GPolyLineCurve2D
    This class implements a 2D polyline multicurve. More...
  • class Amanith::GPolyLineCurve2DProxy
    This class implements a GPolyLineCurve2D proxy (provider). More...

Detailed Description

Header file for 2D polyline multicurve class.


  • File List
  • File Members
d: » Projects » libraries » amanith » src

gproperty.cpp File Reference

Implementation of basic animated properties. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of basic animated properties.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith

gproperty.h File Reference

Header file for basic animated properties. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GHermiteProperty1D
    A key-frame based property, that uses an Hermite interpolation schema. More...
  • class Amanith::GHermiteProperty1DProxy
    This class implements a GHermiteProperty1D proxy (provider). More...
  • class Amanith::GLinearProperty1D
    A key-frame based property, that uses a linear interpolation schema. More...
  • class Amanith::GLinearProperty1DProxy
    This class implements a GLinearProperty1D proxy (provider). More...
  • class Amanith::GConstantProperty1D
    A key-frame based property, that uses a constant interpolation schema. More...
  • class Amanith::GConstantProperty1DProxy
    This class implements a GConstantProperty1D proxy (provider). More...

Detailed Description

Header file for basic animated properties.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gquat.h File Reference

Quaternion class header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GQuat< DATA_TYPE >
    This template class encapsulate quaternion behaviors. More...

Typedefs

  • typedef GQuat< GReal > Amanith::GQuaternion

Functions

  • template<typename DATA_TYPE> DATA_TYPE Amanith::Dot (const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2)
  • template<typename DATA_TYPE> GQuat< DATA_TYPE > Amanith::Slerp (const DATA_TYPE LerpPercentage, const GQuat< DATA_TYPE > &From, const GQuat< DATA_TYPE > &To, const DATA_TYPE SpinAmt, const GBool AdjustSign)
  • template<typename DATA_TYPE> GQuat< DATA_TYPE > Amanith::Squad (const DATA_TYPE LerpPercentage, const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2, const GQuat< DATA_TYPE > &Tg1, const GQuat< DATA_TYPE > &Tg2, const DATA_TYPE SpinAmt, const GBool AdjustSign)
  • template<typename DATA_TYPE> GBool Amanith::IsEqual (const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2, const DATA_TYPE Epsilon=0)
  • template<typename DATA_TYPE> GBool Amanith::IsEquivalent (const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2, const DATA_TYPE Epsilon=0)

Variables

  • const GQuat< GReal > Amanith::G_QUAT_MULT_IDENTITYF (0, 0, 0, 1)
  • const GQuat< GReal > Amanith::G_QUAT_ADD_IDENTITYF (0, 0, 0, 0)

Detailed Description

Quaternion class header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gray.h File Reference

GRay class header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GGenericRay< DATA_TYPE, SIZE >
    GGenericRay class describes an N-dimensional ray. More...

Typedefs

  • typedef GGenericRay< GReal, 2 > Amanith::GRay2
  • typedef GGenericRay< GReal, 3 > Amanith::GRay3

Functions

  • template<typename DATA_TYPE, GUInt32 SIZE> GBool Amanith::IsEqual (const GGenericRay< DATA_TYPE, SIZE > &Ray1, const GGenericRay< DATA_TYPE, SIZE > &Ray2, const DATA_TYPE &Epsilon)
  • template<typename DATA_TYPE, GUInt32 SIZE> GPoint< DATA_TYPE, SIZE > Amanith::FindNearestPoint (const GGenericRay< DATA_TYPE, SIZE > &Ray, const GPoint< DATA_TYPE, SIZE > &TestPoint)

Detailed Description

GRay class header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gsphere.h File Reference

Sphere class header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GGenericSphere< DATA_TYPE, SIZE >
    Describes a sphere in N-dimensional space by its center point and its radius. More...

Typedefs

  • typedef GGenericSphere< GReal, 2 > Amanith::GSphere2
  • typedef GGenericSphere< GReal, 3 > Amanith::GSphere3

Functions

  • template<typename DATA_TYPE, GUInt32 SIZE> GBool Amanith::IsEqual (const GGenericSphere< DATA_TYPE, SIZE > &Sph1, const GGenericSphere< DATA_TYPE, SIZE > &Sph2, const DATA_TYPE &Epsilon)

Detailed Description

Sphere class header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » support

gsvgpathtokenizer.cpp File Reference

SVG path tokenizer implementation file. More...

Namespaces

  • namespace Amanith

Detailed Description

SVG path tokenizer implementation file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » support

gsvgpathtokenizer.h File Reference

SVG path tokenizer header file. More...

Namespaces

  • namespace Amanith

Detailed Description

SVG path tokenizer header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gtesselator2d.cpp File Reference

2D shape triangulator implementation. More...

Namespaces

  • namespace Amanith

Detailed Description

2D shape triangulator implementation.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gtesselator2d.h File Reference

2D shape triangulator. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GTesselator2D
    This class implements a 2D shape triangulator. More...

Enumerations

  • enum Amanith::GFillBehavior { Amanith::G_ODD_EVEN_RULE,
Amanith::G_EVEN_ODD_RULE,
Amanith::G_NON_ZERO_RULE,
Amanith::G_ANY_RULE
 }

Detailed Description

2D shape triangulator.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » 2d

gtracer2d.cpp File Reference

2D bitmap vectorizer implementation. More...

Namespaces

  • namespace Amanith

Detailed Description

2D bitmap vectorizer implementation.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » 2d

gtracer2d.h File Reference

2D bitmap vectorizer header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GTracedContour
    This class represents a closed contour built by tracer. More...
  • class Amanith::GTracer2D
    This class implements a bitmap vectorizer. More...

Enumerations

  • enum Amanith::GTurnPolicy { Amanith::G_CONNECT_BLACK,
Amanith::G_CONNECT_WHITE,
Amanith::G_CONNECT_DOMINANT,
Amanith::G_CONNECT_NOT_DOMINANT
 }

Detailed Description

2D bitmap vectorizer header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » src » support

gutilities.cpp File Reference

Implementation of generic utilities on strings, files and system information. More...

Namespaces

  • namespace Amanith

Detailed Description

Implementation of generic utilities on strings, files and system information.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » support

gutilities.h File Reference

Interfaces for generic utilities on strings, files and system information. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::SysUtils
    A collection of generic cross-platform system utilities. More...
  • class Amanith::StrUtils
    A collection of cross-platform generic string utilities. More...
  • class Amanith::FileUtils
    A collection of cross-platform generic file utilities. More...

Functions

  • template<typename DATA_TYPE> void Amanith::ReverseArray (GDynArray< DATA_TYPE > &Array, const GUInt32 FromIndex, const GUInt32 ToIndex)

Detailed Description

Interfaces for generic utilities on strings, files and system information.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gvect.h File Reference

Vector class header file. More...

Namespaces

  • namespace Amanith

Classes

  • class Amanith::GVectBase< DATA_TYPE, SIZE >
    Base type for vector-like objects including Points and Vectors. More...
  • class Amanith::GVect< DATA_TYPE, SIZE >
    A representation of a vector with SIZE components using DATA_TYPE as the data type for each component. More...
  • class Amanith::GPoint< DATA_TYPE, SIZE >
    A geometric point entity. More...

Typedefs

  • typedef GVect< GReal, 2 > Amanith::GVector2
  • typedef GVect< GReal, 3 > Amanith::GVector3
  • typedef GVect< GReal, 4 > Amanith::GVector4
  • typedef GPoint< GReal, 2 > Amanith::GPoint2
  • typedef GPoint< GReal, 3 > Amanith::GPoint3
  • typedef GPoint< GReal, 4 > Amanith::GPoint4

Functions

  • template<typename DATA_TYPE, GUInt32 SIZE> GVect< DATA_TYPE, SIZE > Amanith::operator- (const GVectBase< DATA_TYPE, SIZE > &v1)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVectBase< DATA_TYPE, SIZE > & Amanith::operator+= (GVectBase< DATA_TYPE, SIZE > &v1, const GVectBase< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVectBase< DATA_TYPE, SIZE > Amanith::operator+ (const GVectBase< DATA_TYPE, SIZE > &v1, const GVectBase< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVectBase< DATA_TYPE, SIZE > & Amanith::operator-= (GVectBase< DATA_TYPE, SIZE > &v1, const GVectBase< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVect< DATA_TYPE, SIZE > Amanith::operator- (const GVectBase< DATA_TYPE, SIZE > &v1, const GVectBase< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > & Amanith::operator *= (GVectBase< DATA_TYPE, SIZE > &v1, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > Amanith::operator * (const GVectBase< DATA_TYPE, SIZE > &v1, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > Amanith::operator * (const SCALAR_TYPE &scalar, const GVectBase< DATA_TYPE, SIZE > &v1)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > & Amanith::operator/= (GVectBase< DATA_TYPE, SIZE > &v1, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > Amanith::operator/ (const GVectBase< DATA_TYPE, SIZE > &v1, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE> DATA_TYPE Amanith::Dot (const GVect< DATA_TYPE, SIZE > &v1, const GVect< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE> GVect< DATA_TYPE, 3 > Amanith::Cross (const GVect< DATA_TYPE, 3 > &v1, const GVect< DATA_TYPE, 3 > &v2)
  • template<typename DATA_TYPE> DATA_TYPE Amanith::Cross (const GVectBase< DATA_TYPE, 2 > &v1, const GVectBase< DATA_TYPE, 2 > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVectBase< DATA_TYPE, SIZE > Amanith::Reflect (const GVectBase< DATA_TYPE, SIZE > &Vect, const GVect< DATA_TYPE, SIZE > &Normal)
  • template<typename DATA_TYPE, GUInt32 SIZE> DATA_TYPE Amanith::LengthSquared (const GVect< DATA_TYPE, SIZE > &Vect)
  • template<typename DATA_TYPE, GUInt32 SIZE> DATA_TYPE Amanith::Length (const GVect< DATA_TYPE, SIZE > &Vect)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool Amanith::IsEqual (const GVectBase< DATA_TYPE, SIZE > &Vect1, const GVectBase< DATA_TYPE, SIZE > &Vect2, const DATA_TYPE &Epsilon=G_EPSILON)
  • template<typename DATA_TYPE> GBool Amanith::IsClockWise (const GDynArray< GPoint< DATA_TYPE, 2 > > &Contour)

Detailed Description

Vector class header file.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gxform.h File Reference

Header file for transformations (vector, matrix and quaternions). More...

Namespaces

  • namespace Amanith

Functions

  • template<typename DATA_TYPE, GUInt32 SIZE, GUInt32 POINT_SIZE> DATA_TYPE Amanith::QuadraticForm (const GMatrix< DATA_TYPE, SIZE, SIZE > &matrix, const GPoint< DATA_TYPE, POINT_SIZE > &p)

Detailed Description

Header file for transformations (vector, matrix and quaternions).

Due to a doxygen bug, a lot of similar function (same name but different parameters) are present into this file, but they cannot be documented. Please refer to source file for the full list of functions available.


  • File List
  • File Members
d: » Projects » libraries » amanith » include » amanith » geometry

gxformconv.h File Reference

Transformations conversion header file. More...

Namespaces

  • namespace Amanith

Functions

  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 TRANS_SIZE> void Amanith::TranslationToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GVectBase< DATA_TYPE, TRANS_SIZE > &Translation)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::RotationToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE RadAngle1, const DATA_TYPE RadAngle2, const DATA_TYPE RadAngle3, const GEulerOrder ApplicationOrder=G_ZYX, const GBool RightOrder=G_TRUE)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::RotationToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE RadAngle)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::RotationToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE RadAngle, const GVectBase< DATA_TYPE, 2 > &Pivot)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 SIZE> void Amanith::ScaleToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GVectBase< DATA_TYPE, SIZE > &ScaleFactors)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 SIZE> void Amanith::ScaleToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GVectBase< DATA_TYPE, SIZE > &ScaleFactors, const GVectBase< DATA_TYPE, SIZE > &Pivot)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::ScaleToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE ScaleFactor)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 SIZE> void Amanith::ScaleToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE ScaleFactor, const GVectBase< DATA_TYPE, SIZE > &Pivot)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::MatrixToRotation (GQuat< DATA_TYPE > &Result, const GMatrix< DATA_TYPE, ROWS, COLS > &M)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GError Amanith::MatrixToRotation (DATA_TYPE &RadAngle, const GMatrix< DATA_TYPE, ROWS, COLS > &M)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GError Amanith::MatrixToRotation (DATA_TYPE &RadAngle1, DATA_TYPE &RadAngle2, DATA_TYPE &RadAngle3, const GMatrix< DATA_TYPE, ROWS, COLS > &M, const GEulerOrder ApplicationOrder=G_ZYX, const GBool RightOrder=G_TRUE, const GBool DoConsistenceCheck=G_TRUE)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::Shear2DToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE ShearX, const DATA_TYPE ShearY)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Amanith::Shear3DToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GVectorIndex Axis0, const DATA_TYPE Shear0, const GVectorIndex Axis1, const DATA_TYPE Shear1)

Detailed Description

Transformations conversion header file.


  • Class List
  • Class Hierarchy
  • Class Members
Amanith::ErrorUtils

Amanith::ErrorUtils Class Reference

This class implements some error utilities. More...

List of all members.

Static Public Member Functions

  • static GString ErrToString (const GError ErrorCode)

Detailed Description

This class implements some error utilities.

Member Function Documentation

GString Amanith::ErrorUtils::ErrToString ( const GError ErrorCode ) [static]

This function generate an error string corresponding to the given error code.
The translation is based on the chosen language during Amanith compilation, defined by the global constant G_USED_LANG present in gglobal.h file.

The documentation for this class was generated from the following files:
  • gerror.h
  • gerror.cpp


Amanith::ErrorUtils Member List

This is the complete list of members for Amanith::ErrorUtils, including all inherited members.

ErrToString(const GError ErrorCode) Amanith::ErrorUtils [static]


Amanith::FileUtils

Amanith::FileUtils Class Reference

A collection of cross-platform generic file utilities. More...

List of all members.

Static Public Member Functions

  • static GError ReadFile (const GChar8 *FileName, GDynArray< GChar8 > &Buffer)
  • static GError WriteFile (const GChar8 *FileName, const GDynArray< GChar8 > &Buffer, const GBool OverWrite=G_FALSE)
  • static GError ScanPath (GStringList &FoundFiles, const GChar8 *Directory, const GBool ScanRecursively, const GBool AddPath=G_TRUE, const GChar8 *FileExt=NULL)
  • static GBool FileExists (const GChar8 *FullFileName)

Detailed Description

A collection of cross-platform generic file utilities.

Member Function Documentation

GBool Amanith::FileUtils::FileExists ( const GChar8 * FullFileName ) [static]

Check for a file existence.

Parameters:
FullFileName the filename to check the existence of. It must be non NULL.
Returns:
G_TRUe if file exists, G_FALSE otherwise.
Note:
To check the file existence it has been used the non-ANSI access() function. This function is present on Windows, SUNOS 5.4+, LINUX 1.1.46+ and conforming to SVID, AT&T, POSIX, X/OPEN, and BSD 4.3.

GError Amanith::FileUtils::ReadFile | ( | const GChar8 * | FileName,
 |  | GDynArray< GChar8 > & | Buffer
 | ) | [static]

Read an external file into a memory buffer.

GError Amanith::FileUtils::ScanPath | ( | GStringList & | FoundFiles,
 |  | const GChar8 * | Directory,
 |  | const GBool | ScanRecursively,
 |  | const GBool | AddPath = G_TRUE,
 |  | const GChar8 * | FileExt = NULL
 | ) | [static]

Scan a directory to collect the list of all included files.

Parameters:
FoundFiles | the files found during scanning
Directory | the path to scan, it must be non NULL.
ScanRecursively | if G_TRUE, the scan operation will be propagated recursively on all sub-directories
AddPath | if G_TRUE the full files names (complete with full path) will be appended into the output list. If G_FALSE path will not be included into strings.
FileExt | an optional filter, if non NULL only files that match this file extension will be added to the output list
Note:
The passed output list is not cleared, every item will be appended.
Returns:
G_NO_ERROR if the operation will succeed, else an error code.

GError Amanith::FileUtils::WriteFile | ( | const GChar8 * | FileName,
 |  | const GDynArray< GChar8 > & | Buffer,
 |  | const GBool | OverWrite = G_FALSE
 | ) | [static]

Write a memory buffer to an external file.

The documentation for this class was generated from the following files:
  • gutilities.h
  • gutilities.cpp


Amanith::FileUtils Member List

This is the complete list of members for Amanith::FileUtils, including all inherited members.

FileExists(const GChar8 *FullFileName) | Amanith::FileUtils | [static]
ReadFile(const GChar8 *FileName, GDynArray< GChar8 > &Buffer) | Amanith::FileUtils | [static]
ScanPath(GStringList &FoundFiles, const GChar8 *Directory, const GBool ScanRecursively, const GBool AddPath=G_TRUE, const GChar8 *FileExt=NULL) | Amanith::FileUtils | [static]
WriteFile(const GChar8 *FileName, const GDynArray< GChar8 > &Buffer, const GBool OverWrite=G_FALSE) | Amanith::FileUtils | [static]


Amanith::GAffineParts

Amanith::GAffineParts Class Reference

Affine matrix polar decomposition. More...

List of all members.

Public Member Functions

  • GAffineParts (const GMatrix33 &AffineMatrix)
  • GAffineParts (const GMatrix34 &AffineMatrix)
  • GAffineParts (const GMatrix44 &AffineMatrix)
  • GVector3 Translation () const
  • GQuaternion MainRotation () const
  • GQuaternion StretchRotation () const
  • GVector3 StretchFactors () const
  • GReal DeterminantSign () const

Protected Member Functions

  • void DecompAffine (const GMatrix33 &AffineMatrix)

Detailed Description

Affine matrix polar decomposition.

Decompose 3 x 3, 3 x 4 and 4 x 4 affine matrices as TFRUK(U'), where T contains the translation components, R contains the main rotation, U contains space where scaling is done, K contains scale factors, and F contains the sign of the determinant. Assumes matrix transforms column vectors in right-handed coordinates.
See Ken Shoemake and Tom Duff. Matrix Animation and Polar Decomposition. Proceedings of Graphics Interface 1992.

Constructor & Destructor Documentation

Amanith::GAffineParts::GAffineParts ( const GMatrix33 & AffineMatrix )

Constructor for 3x3 matrices.

Amanith::GAffineParts::GAffineParts ( const GMatrix34 & AffineMatrix )

Constructor for 3x4 matrices.

Amanith::GAffineParts::GAffineParts ( const GMatrix44 & AffineMatrix )

Constructor for 4x4 matrices.

Member Function Documentation

void Amanith::GAffineParts::DecompAffine ( const GMatrix33 & AffineMatrix ) [protected]

Do the affine decomposition.

GReal Amanith::GAffineParts::DeterminantSign ( ) const

Get sign of determinant.

GQuaternion Amanith::GAffineParts::MainRotation ( ) const

Get main rotation.

GVector3 Amanith::GAffineParts::StretchFactors ( ) const

Get stretch factors.

GQuaternion Amanith::GAffineParts::StretchRotation ( ) const

Get stretch rotation, it specifies the space where scaling is done.

GVector3 Amanith::GAffineParts::Translation ( ) const

Get translation component.

The documentation for this class was generated from the following files:
  • gaffineparts.h
  • gaffineparts.cpp


Amanith::GAffineParts Member List

This is the complete list of members for Amanith::GAffineParts, including all inherited members.

DecompAffine(const GMatrix33 &AffineMatrix) | Amanith::GAffineParts | [protected]
DeterminantSign() const | Amanith::GAffineParts |
GAffineParts(const GMatrix33 &AffineMatrix) | Amanith::GAffineParts |
GAffineParts(const GMatrix34 &AffineMatrix) | Amanith::GAffineParts |
GAffineParts(const GMatrix44 &AffineMatrix) | Amanith::GAffineParts |
MainRotation() const | Amanith::GAffineParts |
StretchFactors() const | Amanith::GAffineParts |
StretchRotation() const | Amanith::GAffineParts |
Translation() const | Amanith::GAffineParts |


Amanith::GAnimElement

Amanith::GAnimElement Class Reference

This class implements an 'animated' element. More...

Inheritance diagram for Amanith::GAnimElement:

Amanith::GElement Amanith::GAnimTRSNode2D Amanith::GProperty Amanith::GConstantProperty1D Amanith::GHermiteProperty1D Amanith::GLinearProperty1D Amanith::GMultiProperty1D Amanith::GFourConstantProperty1D Amanith::GFourHermiteProperty1D Amanith::GFourLinearProperty1D Amanith::GThreeConstantProperty1D Amanith::GThreeHermiteProperty1D Amanith::GThreeLinearProperty1D Amanith::GTwoConstantProperty1D Amanith::GTwoHermiteProperty1D Amanith::GTwoLinearProperty1D List of all members.

Public Member Functions

  • GAnimElement ()
  • GAnimElement (const GElement *Owner)
  • virtual ~GAnimElement ()
  • GProperty * AddProperty (const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex)
  • GProperty * Property (const GString &Name) const
  • GProperty * Property (const GUInt32 Index) const
  • GBool RemoveProperty (const GString &Name)
  • GBool RemoveProperty (const GUInt32 Index)
  • void RemoveProperties ()
  • GError RenameProperty (const GString &CurrentName, const GString &NewName)
  • const GDynArray< GProperty * > & Properties () const
  • const GUInt32 PropertiesCount () const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GError BaseClone (const GElement &Source)

Detailed Description

This class implements an 'animated' element.

This class represents a container of animated properties. Properties can be added and removed, as well as renamed. Each property has a name, that is granted unique inside each animated element. Through an GAnimElement, contained properties can be extracted using their index or their unique name. A property is itself an animated element so properties can be grouped for a better logical separation and management.

Constructor & Destructor Documentation

Amanith::GAnimElement::GAnimElement ( )

Default constructor, set owner to NULL. Internal properties array is initialized as empty.

Amanith::GAnimElement::GAnimElement ( const GElement * Owner )

Constructor, specifying owner. Internal properties array is initialized as empty.

virtual Amanith::GAnimElement::~GAnimElement ( ) [virtual]

Destructor, remove and free all owned properties.

Member Function Documentation

GProperty * Amanith::GAnimElement::AddProperty | ( | const GString & | Name,
 |  | const GClassID & | ClassID,
 |  | const GKeyValue & | DefaultValue,
 |  | GBool & | AlreadyExist,
 |  | GUInt32 & | PropertyIndex
 | ) |

Add a property to this animated element.

Parameters:
Name | the property name, it must be non-empty.
ClassID | a class descriptor identifying the property to be add. This class id must be relative to a GProperty derived class.
DefaultValue | the default value associated with the property. If an invalid value is specified (it is not compatible with the value type handled by the ClassID-described property), a 0(s) default value will be used.
AlreadyExist | if a property with the same specified Name already exists, this returned flag will be G_TRUE, G_FALSE otherwise.
PropertyIndex | this returned value will contain the added/existing property index.
Returns:
the property pointer, NULL if the operation has failed (memory errors or something worst).
Note:
Name comparisons are done case-insensitive.

GError Amanith::GAnimElement::BaseClone ( const GElement & Source ) [protected, virtual]

Base clone function. Every derived class must implement this function.
Source parameter is ensured to be of the same class, so casting made inside this function is type-safe. The typical implementation uses a chain propagation (towards father classes), relegating this function to the simple copy of specific internal state.
Here's and example taken from GHermiteCurve2D class (this class derives from GMultiCurve2D):

    GError GHermiteCurve2D::BaseClone(const GElement& Source) {

        const GHermiteCurve2D& src = (const GHermiteCurve2D&)Source;

        // copy keys array
        gKeys = src.gKeys;
        // continue cloning passing the control to base (father) class
        return GMultiCurve2D::BaseClone(Source);
}

Reimplemented from Amanith::GElement.

Reimplemented in Amanith::GAnimTRSNode2D, Amanith::GProperty, Amanith::GMultiProperty1D, Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

const GClassID& Amanith::GAnimElement::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GElement.

Reimplemented in Amanith::GAnimTRSNode2D, Amanith::GProperty, Amanith::GMultiProperty1D, Amanith::GTwoHermiteProperty1D, Amanith::GThreeHermiteProperty1D, Amanith::GFourHermiteProperty1D, Amanith::GTwoLinearProperty1D, Amanith::GThreeLinearProperty1D, Amanith::GFourLinearProperty1D, Amanith::GTwoConstantProperty1D, Amanith::GThreeConstantProperty1D, Amanith::GFourConstantProperty1D, Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

const GClassID& Amanith::GAnimElement::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GElement.

Reimplemented in Amanith::GAnimTRSNode2D, Amanith::GProperty, Amanith::GMultiProperty1D, Amanith::GTwoHermiteProperty1D, Amanith::GThreeHermiteProperty1D, Amanith::GFourHermiteProperty1D, Amanith::GTwoLinearProperty1D, Amanith::GThreeLinearProperty1D, Amanith::GFourLinearProperty1D, Amanith::GTwoConstantProperty1D, Amanith::GThreeConstantProperty1D, Amanith::GFourConstantProperty1D, Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

const GDynArray<GProperty*>& Amanith::GAnimElement::Properties ( ) const

Get full list of properties.

const GUInt32 Amanith::GAnimElement::PropertiesCount ( ) const

Get number of properties.

GProperty * Amanith::GAnimElement::Property ( const GUInt32 Index ) const

Get an existing property, given its index.

Returns:
the property pointer if found; NULL if specified Index is not valid.

GProperty * Amanith::GAnimElement::Property ( const GString & Name ) const

Get an existing property, given its name.

Returns:
the property pointer if found, NULL otherwise.
Note:
Name comparisons are done case-insensitive.

void Amanith::GAnimElement::RemoveProperties ( )

Remove and free all properties.

GBool Amanith::GAnimElement::RemoveProperty ( const GUInt32 Index )

Remove the specified property from internal list.

Parameters:
Index index of the property to be deleted and removed.
Returns:
G_TRUE if the property did exist (the specified Index was valid), G_FALSE otherwise.

GBool Amanith::GAnimElement::RemoveProperty ( const GString & Name )

Remove the specified property from internal list.

Parameters:
Name the name of the property to be deleted and removed.
Returns:
G_TRUE if the property did exist, G_FALSE otherwise.
Note:
Name comparisons are done case-insensitive.

GError Amanith::GAnimElement::RenameProperty | ( | const GString & | CurrentName,
 |  | const GString & | NewName
 | ) |

Rename a property.

Parameters:
CurrentName | the name specifying the property to be renamed.
NewName | the new name to associate to the property.
Returns:
G_NO_ERROR if the operation succeeds, G_ENTRY_ALREADY_EXISTS if a property with the specified NewName already exists. G_INVALID_PARAMETER if a property with the specified CurrentName doesn't exists.
The documentation for this class was generated from the following files:
  • gelement.h
  • gelement.cpp


Amanith::GAnimElement Member List

This is the complete list of members for Amanith::GAnimElement, including all inherited members.

AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement |
As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GAnimElement | [protected, virtual]
ClassID() const | Amanith::GAnimElement | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DerivedClassID() const | Amanith::GAnimElement | [virtual]
GAnimElement() | Amanith::GAnimElement |
GAnimElement(const GElement *Owner) | Amanith::GAnimElement |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
Properties() const | Amanith::GAnimElement |
PropertiesCount() const | Amanith::GAnimElement |
Property(const GString &Name) const | Amanith::GAnimElement |
Property(const GUInt32 Index) const | Amanith::GAnimElement |
RemoveProperties() | Amanith::GAnimElement |
RemoveProperty(const GString &Name) | Amanith::GAnimElement |
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement |
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement |
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GAnimElementProxy

Amanith::GAnimElementProxy Class Reference

This class implements a GAnimElement proxy (provider). More...

Inheritance diagram for Amanith::GAnimElementProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GAnimElement proxy (provider).

This proxy does not override CreateNew() method because we don't wanna make a creation of a GAnimElement class possible (because of pure virtual methods).

Member Function Documentation

const GClassID& Amanith::GAnimElementProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GAnimElementProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gelement.h


Amanith::GAnimElementProxy Member List

This is the complete list of members for Amanith::GAnimElementProxy, including all inherited members.

ClassID() const | Amanith::GAnimElementProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GElementProxy | [virtual]
DerivedClassID() const | Amanith::GAnimElementProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GAnimTRSNode2D

Amanith::GAnimTRSNode2D Class Reference

This class implements a simple TRS (Translate-Rotation-Scale) transformation node, in a 2D space. More...

Inheritance diagram for Amanith::GAnimTRSNode2D:

Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GAnimTRSNode2D ()
  • GAnimTRSNode2D (const GElement *Owner)
  • ~GAnimTRSNode2D ()
  • void * CustomData () const
  • void SetCustomData (void *NewData)
  • GAnimTRSNode2D * Father () const
  • GError SetFather (GAnimTRSNode2D *NewFather, const GBool AffectTracks=G_TRUE)
  • GBool IsRoot () const
  • GBool IsLeaf () const
  • GUInt32 ChildrenCounts () const
  • GAnimTRSNode2D * Child (const GUInt32 Index) const
  • GMatrix33 PivotMatrix () const
  • GMatrix33 InversePivotMatrix () const
  • GMatrix33 Matrix (const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const
  • GMatrix33 InverseMatrix (const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const
  • GPoint2 Position (const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const
  • GError SetPosition (const GTimeValue TimePos, const GVectBase< GReal, 2 > &RelPosition)
  • GReal Rotation (const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const
  • GError SetRotation (const GTimeValue TimePos, const GReal &RelRotation)
  • GVectBase< GReal, 2 > Scale (const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const
  • GError SetScale (const GTimeValue TimePos, const GVectBase< GReal, 2 > &RelScale)
  • const GPoint2 & PivotPosition () const
  • GError SetPivotPosition (const GVectBase< GReal, 2 > &NewPosition, const GBool AffectChildren=G_TRUE)
  • GReal PivotRotation () const
  • GError SetPivotRotation (const GReal &NewAngle, const GBool AffectChildren=G_TRUE)
  • const GVectBase< GReal, 2 > & PivotScale () const
  • GError SetPivotScale (const GVectBase< GReal, 2 > &NewScaleFactors, const GBool AffectChildren=G_TRUE)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • void OffsetPositionTrack (const GVector2 &OffsetVector)
  • void OffsetRotationTrack (const GReal OffsetAngle)
  • void OffsetScaleTrack (const GVectBase< GReal, 2 > &OffsetFactors)
  • GBool AttachChildNode (GAnimTRSNode2D *Node)
  • void DetachChildNode (const GUInt32 ChildIndex)
  • GBool DetachChildNode (const GAnimTRSNode2D *ChildNode)
  • GError BaseClone (const GElement &Source)

Detailed Description

This class implements a simple TRS (Translate-Rotation-Scale) transformation node, in a 2D space.

A TRS node can have a father and children, as well none of them. If a father is linked, all internal animated TRS track are stored relative to father's coordinate system. A local pivot point (intended as a full TRS point) is also supported.

Constructor & Destructor Documentation

Amanith::GAnimTRSNode2D::GAnimTRSNode2D ( )

Default constructor.

Amanith::GAnimTRSNode2D::GAnimTRSNode2D ( const GElement * Owner )

Default constructor with owner specification.

Amanith::GAnimTRSNode2D::~GAnimTRSNode2D ( )

Destructor, delete all keys and internal ease curve (if it exists).

Member Function Documentation

GBool Amanith::GAnimTRSNode2D::AttachChildNode ( GAnimTRSNode2D * Node ) [protected]

Link child node, adding the specified node to the internal children list; NB: it's just a matter of add the node pointer to the internal list, remove the node pointer form its father and anything else. G_TRUE is returned if Node already exists into internal list, otherwise G_FALSE.

GError Amanith::GAnimTRSNode2D::BaseClone ( const GElement & Source ) [protected, virtual]

Basic (physical) cloning function.

Reimplemented from Amanith::GAnimElement.

GAnimTRSNode2D* Amanith::GAnimTRSNode2D::Child ( const GUInt32 Index ) const

Get Index-th child (NULL if it does not exist).

GUInt32 Amanith::GAnimTRSNode2D::ChildrenCounts ( ) const

Get number of children.

const GClassID& Amanith::GAnimTRSNode2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GAnimElement.

void* Amanith::GAnimTRSNode2D::CustomData ( ) const

Get custom/user data associated to this node.

const GClassID& Amanith::GAnimTRSNode2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GAnimElement.

GBool Amanith::GAnimTRSNode2D::DetachChildNode ( const GAnimTRSNode2D * ChildNode ) [protected]

Remove the specified child (by pointer) from the internal children list; if specified ChildNode was not found inside children list, a G_FALSE value is returned, G_TRUE otherwise.

void Amanith::GAnimTRSNode2D::DetachChildNode ( const GUInt32 ChildIndex ) [protected]

Remove the specified child (by index) from the internal children list.

GAnimTRSNode2D* Amanith::GAnimTRSNode2D::Father ( ) const

Get the parent node (NULL is root).

GMatrix33 Amanith::GAnimTRSNode2D::InverseMatrix | ( | const GTimeValue | TimePos,
 |  | const GSpaceSystem | Space,
 |  | GTimeInterval & | ValidInterval
 | ) | const

Get inverse node matrix, specifying coordinates space system. It does not include (inverse) pivot matrix. ValidInterval is the validity interval for the returned matrix.

GMatrix33 Amanith::GAnimTRSNode2D::InversePivotMatrix ( ) const

Get pivot inverse matrix.

GBool Amanith::GAnimTRSNode2D::IsLeaf ( ) const

Get a flag that indicate if this is a leaf node.

GBool Amanith::GAnimTRSNode2D::IsRoot ( ) const

Get a flag that indicate if this is a root (fatherless) node.

GMatrix33 Amanith::GAnimTRSNode2D::Matrix | ( | const GTimeValue | TimePos,
 |  | const GSpaceSystem | Space,
 |  | GTimeInterval & | ValidInterval
 | ) | const

Get node matrix, specifying coordinates space system. It does not include pivot matrix. ValidInterval is the validity interval for the returned matrix.

void Amanith::GAnimTRSNode2D::OffsetPositionTrack ( const GVector2 & OffsetVector ) [protected]

Move all position keys by an additive offset vector.

void Amanith::GAnimTRSNode2D::OffsetRotationTrack ( const GReal OffsetAngle ) [protected]

Move all rotation keys by an additive offset angle (expressed in radiant).

void Amanith::GAnimTRSNode2D::OffsetScaleTrack ( const GVectBase< GReal, 2 > & OffsetFactors ) [protected]

Scale all scaling keys by an offset factor.

GMatrix33 Amanith::GAnimTRSNode2D::PivotMatrix ( ) const

Get pivot matrix, it include only pivot transformations.

const GPoint2& Amanith::GAnimTRSNode2D::PivotPosition ( ) const

Get pivot position.

GReal Amanith::GAnimTRSNode2D::PivotRotation ( ) const

Get pivot rotation (in radiants).

const GVectBase<GReal, 2>& Amanith::GAnimTRSNode2D::PivotScale ( ) const

Get pivot scale.

GPoint2 Amanith::GAnimTRSNode2D::Position | ( | const GTimeValue | TimePos,
 |  | const GSpaceSystem | Space,
 |  | GTimeInterval & | ValidInterval
 | ) | const

Get position component, specifying time and space type (local or world). ValidInterval is the validity interval for the returned point.

GReal Amanith::GAnimTRSNode2D::Rotation | ( | const GTimeValue | TimePos,
 |  | const GSpaceSystem | Space,
 |  | GTimeInterval & | ValidInterval
 | ) | const

Get rotation component (in radiants), specifying time and space type (local or world). ValidInterval is the validity interval for the returned point.

GVectBase< GReal, 2 > Amanith::GAnimTRSNode2D::Scale | ( | const GTimeValue | TimePos,
 |  | const GSpaceSystem | Space,
 |  | GTimeInterval & | ValidInterval
 | ) | const

Get scale component, specifying time and space type (local or world). ValidInterval is the validity interval for the returned point.

void Amanith::GAnimTRSNode2D::SetCustomData ( void * NewData )

Set custom/user data associated to this node.

GError Amanith::GAnimTRSNode2D::SetFather | ( | GAnimTRSNode2D * | NewFather,
 |  | const GBool | AffectTracks = G_TRUE
 | ) |

Set a new father, taking care to transform all internal animated tracks relative to father's tracks. If AffectTracks is G_TRUE, all TRS tracks are modified to respect the new father (all existing values are calculate relative to the new father).

GError Amanith::GAnimTRSNode2D::SetPivotPosition | ( | const GVectBase< GReal, 2 > & | NewPosition,
 |  | const GBool | AffectChildren = G_TRUE
 | ) |

Set pivot position (in local space). AffectChildren flag, if G_TRUE, indicates that all children must be counter-transformed (they tracks will be transformed) to maintain their actual settings.

GError Amanith::GAnimTRSNode2D::SetPivotRotation | ( | const GReal & | NewAngle,
 |  | const GBool | AffectChildren = G_TRUE
 | ) |

Set pivot rotation (in local space, expressed in radiants). AffectChildren flag, if G_TRUE, indicates that all children must be counter-transformed (they tracks will be transformed) to maintain their actual settings.

GError Amanith::GAnimTRSNode2D::SetPivotScale | ( | const GVectBase< GReal, 2 > & | NewScaleFactors,
 |  | const GBool | AffectChildren = G_TRUE
 | ) |

Set pivot scale (in local space). AffectChildren flag, if G_TRUE, indicates that all children must be counter-transformed (they tracks will be transformed) to maintain their actual settings.

GError Amanith::GAnimTRSNode2D::SetPosition | ( | const GTimeValue | TimePos,
 |  | const GVectBase< GReal, 2 > & | RelPosition
 | ) |

Set position component, specifying a father-related position and time.

GError Amanith::GAnimTRSNode2D::SetRotation | ( | const GTimeValue | TimePos,
 |  | const GReal & | RelRotation
 | ) |

Set rotation component (in radiants), specifying a father-related rotation and time.

GError Amanith::GAnimTRSNode2D::SetScale | ( | const GTimeValue | TimePos,
 |  | const GVectBase< GReal, 2 > & | RelScale
 | ) |

Set scale component, specifying a father-related scale and time.

The documentation for this class was generated from the following files:
  • ganimtrsnode2d.h
  • ganimtrsnode2d.cpp


Amanith::GAnimTRSNode2D Member List

This is the complete list of members for Amanith::GAnimTRSNode2D, including all inherited members.

AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement |
As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
AttachChildNode(GAnimTRSNode2D *Node) | Amanith::GAnimTRSNode2D | [protected]
BaseClone(const GElement &Source) | Amanith::GAnimTRSNode2D | [protected, virtual]
Child(const GUInt32 Index) const | Amanith::GAnimTRSNode2D |
ChildrenCounts() const | Amanith::GAnimTRSNode2D |
ClassID() const | Amanith::GAnimTRSNode2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
CustomData() const | Amanith::GAnimTRSNode2D |
DerivedClassID() const | Amanith::GAnimTRSNode2D | [virtual]
DetachChildNode(const GUInt32 ChildIndex) | Amanith::GAnimTRSNode2D | [protected]
DetachChildNode(const GAnimTRSNode2D *ChildNode) | Amanith::GAnimTRSNode2D | [protected]
Father() const | Amanith::GAnimTRSNode2D |
GAnimElement() | Amanith::GAnimElement |
GAnimElement(const GElement *Owner) | Amanith::GAnimElement |
GAnimTRSNode2D() | Amanith::GAnimTRSNode2D |
GAnimTRSNode2D(const GElement *Owner) | Amanith::GAnimTRSNode2D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
InverseMatrix(const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const | Amanith::GAnimTRSNode2D |
InversePivotMatrix() const | Amanith::GAnimTRSNode2D |
IsLeaf() const | Amanith::GAnimTRSNode2D |
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRoot() const | Amanith::GAnimTRSNode2D |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Matrix(const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const | Amanith::GAnimTRSNode2D |
OffsetPositionTrack(const GVector2 &OffsetVector) | Amanith::GAnimTRSNode2D | [protected]
OffsetRotationTrack(const GReal OffsetAngle) | Amanith::GAnimTRSNode2D | [protected]
OffsetScaleTrack(const GVectBase< GReal, 2 > &OffsetFactors) | Amanith::GAnimTRSNode2D | [protected]
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
PivotMatrix() const | Amanith::GAnimTRSNode2D |
PivotPosition() const | Amanith::GAnimTRSNode2D |
PivotRotation() const | Amanith::GAnimTRSNode2D |
PivotScale() const | Amanith::GAnimTRSNode2D |
Position(const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const | Amanith::GAnimTRSNode2D |
Properties() const | Amanith::GAnimElement |
PropertiesCount() const | Amanith::GAnimElement |
Property(const GString &Name) const | Amanith::GAnimElement |
Property(const GUInt32 Index) const | Amanith::GAnimElement |
RemoveProperties() | Amanith::GAnimElement |
RemoveProperty(const GString &Name) | Amanith::GAnimElement |
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement |
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement |
Rotation(const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const | Amanith::GAnimTRSNode2D |
Scale(const GTimeValue TimePos, const GSpaceSystem Space, GTimeInterval &ValidInterval) const | Amanith::GAnimTRSNode2D |
SetCustomData(void *NewData) | Amanith::GAnimTRSNode2D |
SetFather(GAnimTRSNode2D *NewFather, const GBool AffectTracks=G_TRUE) | Amanith::GAnimTRSNode2D |
SetPivotPosition(const GVectBase< GReal, 2 > &NewPosition, const GBool AffectChildren=G_TRUE) | Amanith::GAnimTRSNode2D |
SetPivotRotation(const GReal &NewAngle, const GBool AffectChildren=G_TRUE) | Amanith::GAnimTRSNode2D |
SetPivotScale(const GVectBase< GReal, 2 > &NewScaleFactors, const GBool AffectChildren=G_TRUE) | Amanith::GAnimTRSNode2D |
SetPosition(const GTimeValue TimePos, const GVectBase< GReal, 2 > &RelPosition) | Amanith::GAnimTRSNode2D |
SetRotation(const GTimeValue TimePos, const GReal &RelRotation) | Amanith::GAnimTRSNode2D |
SetScale(const GTimeValue TimePos, const GVectBase< GReal, 2 > &RelScale) | Amanith::GAnimTRSNode2D |
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GAnimTRSNode2D() | Amanith::GAnimTRSNode2D |
~GElement() | Amanith::GElement | [virtual]


Amanith::GAnimTRSNode2DProxy

Amanith::GAnimTRSNode2DProxy Class Reference

This class implements a GAnimTRSNode2D proxy (provider). More...

Inheritance diagram for Amanith::GAnimTRSNode2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GAnimTRSNode2D proxy (provider).

This proxy provides the creation of GAnimTRSNode2D class instances.

Member Function Documentation

const GClassID& Amanith::GAnimTRSNode2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GAnimTRSNode2DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GAnimTRSNode2D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GAnimTRSNode2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • ganimtrsnode2d.h


Amanith::GAnimTRSNode2DProxy Member List

This is the complete list of members for Amanith::GAnimTRSNode2DProxy, including all inherited members.

ClassID() const | Amanith::GAnimTRSNode2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GAnimTRSNode2DProxy | [virtual]
DerivedClassID() const | Amanith::GAnimTRSNode2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GAVLNode

Amanith::GAVLNode Class Reference

This class implements a parented AVL node. More...

List of all members.

Public Member Functions

  • GAVLNode ()
  • ~GAVLNode ()
  • GAVLNode * LeftChild () const
  • GAVLNode * RightChild () const
  • GAVLNode * Father () const
  • void * CustomData () const
  • GInt8 BalanceFactor () const

Detailed Description

This class implements a parented AVL node.

Each node is characterized by its two subtrees pointers, a father node pointer, a balance factor and a custom data pointer. All these informations can be retrieved using public members.

Constructor & Destructor Documentation

Amanith::GAVLNode::GAVLNode ( )

Constructor.

Amanith::GAVLNode::~GAVLNode ( )

Destructor.

Member Function Documentation

GInt8 Amanith::GAVLNode::BalanceFactor ( ) const

Get the balance factor associated to this tree node.

void* Amanith::GAVLNode::CustomData ( ) const

Get custom data associated to this tree node.

GAVLNode* Amanith::GAVLNode::Father ( ) const

Get father node. NULL if it doesn't exist (this is the case of the root node).

GAVLNode* Amanith::GAVLNode::LeftChild ( ) const

Get left child node. NULL if it doesn't exist.

GAVLNode* Amanith::GAVLNode::RightChild ( ) const

Get right child node. NULL if it doesn't exist.

The documentation for this class was generated from the following files:
  • gavltree.h
  • gavltree.cpp


Amanith::GAVLNode Member List

This is the complete list of members for Amanith::GAVLNode, including all inherited members.

BalanceFactor() const | Amanith::GAVLNode
CustomData() const | Amanith::GAVLNode
Father() const | Amanith::GAVLNode
GAVLNode() Amanith::GAVLNode
LeftChild() const | Amanith::GAVLNode
RightChild() const | Amanith::GAVLNode


Amanith::GAVLTree

Amanith::GAVLTree Class Reference

This class implements an AVL (Adelson-Velskii and Landis) tree. More...

List of all members.

Public Member Functions

  • GAVLTree ()
  • virtual ~GAVLTree ()
  • GAVLNode * Root () const
  • GUInt32 NodesCount () const
  • GAVLNode * Min ()
  • GAVLNode * Max ()
  • GAVLNode * Next (GAVLNode *Node)
  • GAVLNode * Prev (GAVLNode *Node)
  • GAVLNode * Insert (void *Data, GBool &AlreadyExists)
  • void * Delete (void *Data)
  • void * DeleteNode (GAVLNode *Node)
  • GAVLNode * Find (void *Data)
  • GAVLNode * FindPrev (void *Data)
  • GAVLNode * FindNext (void *Data)
  • virtual GInt32 Compare (void *ItemA, void *ItemB)=0

Protected Member Functions

  • GAVLNode * TryToInsert (void *Data, GBool &AlreadyExists)

Detailed Description

This class implements an AVL (Adelson-Velskii and Landis) tree.

An AVL tree is a balanced binary search tree. Named after their inventors, Adelson-Velskii and Landis, they were the first dynamically balanced trees to be proposed. Like red-black trees, they are not perfectly balanced, but pairs of sub-trees differ in height by at most 1, maintaining an O(Logn) search time.
Addition and deletion operations also take O(Logn) time. In an AVL tree, nodes are ordered according to the Compare() function, and each node has a unique key associated (named as 'CustomData'). This means that in an AVL tree there's a 1-1 relation between keys and nodes. Nodes keys are passed to the Compare() function, that will compare them, inducing nodes arrangement.

Constructor & Destructor Documentation

Amanith::GAVLTree::GAVLTree ( )

Constructor.

It sets root node to NULL and nodes counter to 0.

Amanith::GAVLTree::~GAVLTree ( ) [virtual]

Destructor.

Deletes all nodes, but it doesn't free any custom data associated with nodes.

Member Function Documentation

virtual GInt32 Amanith::GAVLTree::Compare | ( | void * | ItemA,
 |  | void * | ItemB
 | ) | [pure virtual]

Comparison function between two nodes. It must be implemented by every derived classes.

void * Amanith::GAVLTree::Delete ( void * Data )

Delete a node, specifying its data item (key).

Delete a node from tree, specifying a search key.

Parameters:
Data the search key, used to find the node to delete.
Returns:
The key (CustomData) of the deleted node. This is the same value of data parameter.
Note:
After this function the memory associated with node is not valid (because the node has been delete and its memory freed).

void * Amanith::GAVLTree::DeleteNode ( GAVLNode * Node )

Delete an already existing node.

Delete a node from tree.

Parameters:
Node the node to be removed from tree. Must be non-NULL.
Returns:
The key (CustomData) of the deleted node.
Note:
After this function the memory associated with Node is not valid (because the node has been delete and its memory freed).

GAVLNode * Amanith::GAVLTree::Find ( void * Data )

Find a node corresponding to specified data item (key).

Returns:
A pointer to the node corresponding to the specified key. If such node does not exist a NULL pointer is returned.

GAVLNode * Amanith::GAVLTree::FindNext ( void * Data )

Find a "next node" corresponding to specified data item (key).

Next means the node whose key is the minimum key greater than the specified one. If such node does not exist a NULL pointer is returned.

Note:
The order is induced by the Compare() function.

GAVLNode * Amanith::GAVLTree::FindPrev ( void * Data )

Find a "previous node" corresponding to specified data item (key).

Previous means the node whose key is the maximum key lesser than the specified one. If such node does not exist a NULL pointer is returned.

Note:
The order is induced by the Compare() function.

GAVLNode * Amanith::GAVLTree::Insert | ( | void * | Data,
 |  | GBool & | AlreadyExists
 | ) |

Insert a new node.

This function tries to insert a new node in the tree, specifying associated key (custom data). If a node with the same key is already present, no nodes will be inserted.

Parameters:
Data | the key that will be associated with node to insert.
AlreadyExists | an output flag, if G_TRUE it means that a node with the specified key already exists, else G_FALSE.
Returns:
The new created node (or the one already existing).

GAVLNode * Amanith::GAVLTree::Max ( )

Extract the maximum node, in according to the order induced by Compare() function.

Note:
If the tree is empty, a NULL pointer will be returned.

GAVLNode * Amanith::GAVLTree::Min ( )

Extract the minimum node, in according to the order induced by Compare() function.

Note:
If the tree is empty, a NULL pointer will be returned.

GAVLNode * Amanith::GAVLTree::Next ( GAVLNode * Node )

Return the next node of the given one.

Next means the node whose key is the minimum key greater than the one associated to Node. If such 'next' node does not exist a NULL pointer is returned.

Note:
The order is induced by the Compare() function.

GUInt32 Amanith::GAVLTree::NodesCount ( ) const

Get number of nodes present in the tree.

GAVLNode * Amanith::GAVLTree::Prev ( GAVLNode * Node )

Return the previous node of the given one.

Previous means the node whose key is the maximum key lesser than the one associated to Node. If such 'previous' node does not exist a NULL pointer is returned.

Note:
The order is induced by the Compare() function.

GAVLNode* Amanith::GAVLTree::Root ( ) const

Get root node; if tree is empty a NULL pointer will be returned.

GAVLNode * Amanith::GAVLTree::TryToInsert | ( | void * | Data,
 |  | GBool & | AlreadyExists
 | ) | [protected]

Try to insert a new node, with specified associated data (key).

The documentation for this class was generated from the following files:
  • gavltree.h
  • gavltree.cpp


Amanith::GAVLTree Member List

This is the complete list of members for Amanith::GAVLTree, including all inherited members.

Compare(void *ItemA, void *ItemB)=0 | Amanith::GAVLTree | [pure virtual]
Delete(void *Data) | Amanith::GAVLTree |
DeleteNode(GAVLNode *Node) | Amanith::GAVLTree |
Find(void *Data) | Amanith::GAVLTree |
FindNext(void *Data) | Amanith::GAVLTree |
FindPrev(void *Data) | Amanith::GAVLTree |
GAVLTree() | Amanith::GAVLTree |
Insert(void *Data, GBool &AlreadyExists) | Amanith::GAVLTree |
Max() | Amanith::GAVLTree |
Min() | Amanith::GAVLTree |
Next(GAVLNode *Node) | Amanith::GAVLTree |
NodesCount() const | Amanith::GAVLTree |
Prev(GAVLNode *Node) | Amanith::GAVLTree |
Root() const | Amanith::GAVLTree |
TryToInsert(void *Data, GBool &AlreadyExists) | Amanith::GAVLTree | [protected]
~GAVLTree() | Amanith::GAVLTree | [virtual]


Amanith::GAxisAng

Amanith::GAxisAng< DATA_TYPE > Class Template Reference

GAxisAng represents a "twist about an axis", it is used to specify a rotation in 3D-space. More...

Inheritance diagram for Amanith::GAxisAng< DATA_TYPE >:

Amanith::GVectBase< DATA_TYPE, 4 > List of all members.

Public Member Functions

  • GAxisAng ()
  • GAxisAng (const GAxisAng &Source)
  • GAxisAng (const DATA_TYPE &RadAngle, const DATA_TYPE &X, const DATA_TYPE &Y, const DATA_TYPE &Z)
  • GAxisAng (const DATA_TYPE &RadAngle, const GVect< DATA_TYPE, 3 > &Axis)
  • void Set (const DATA_TYPE &RadAngle, const DATA_TYPE &X, const DATA_TYPE &Y, const DATA_TYPE &Z)
  • void Set (const DATA_TYPE &RadAngle, const GVect< DATA_TYPE, 3 > &Axis)
  • void SetAxis (const GVect< DATA_TYPE, 3 > &Axis)
  • void SetAngle (const DATA_TYPE &RadAngle)
  • GVect< DATA_TYPE, 3 > Axis () const
  • const DATA_TYPE & Angle () const

Detailed Description

template<typename DATA_TYPE>
class Amanith::GAxisAng< DATA_TYPE >

GAxisAng represents a "twist about an axis", it is used to specify a rotation in 3D-space.

To some people this rotation format can be more intuitive to specify than matrix, quaternion, Euler angles formatted rotation. GAxisAng is very similar to GQuat, except it is human readable.
For efficiency, you should use GQuat instead (GQuat or GMatrix are preferred). The internal data format is an array of 4 DATA_TYPE values. Angle is first, the axis is the last 3.

Precondition:
Angles are in radians, the axis is usually normalized by the user.

Constructor & Destructor Documentation

template<typename DATA_TYPE>
Amanith::GAxisAng< DATA_TYPE >::GAxisAng ( )

Default constructor. Initializes to identity rotation (no rotation).

template<typename DATA_TYPE>
Amanith::GAxisAng< DATA_TYPE >::GAxisAng ( const GAxisAng< DATA_TYPE > & Source )

Copy constructor.

template<typename DATA_TYPE>
Amanith::GAxisAng< DATA_TYPE >::GAxisAng | ( | const DATA_TYPE & | RadAngle,
 |  | const DATA_TYPE & | X,
 |  | const DATA_TYPE & | Y,
 |  | const DATA_TYPE & | Z
 | ) |

Data constructor (angle / x, y, z). Angles are in radians.

template<typename DATA_TYPE>
Amanith::GAxisAng< DATA_TYPE >::GAxisAng | ( | const DATA_TYPE & | RadAngle,
 |  | const GVect< DATA_TYPE, 3 > & | Axis
 | ) |

Data constructor (angle / vector3). Angles are in radians.

Member Function Documentation

template<typename DATA_TYPE>
const DATA_TYPE& Amanith::GAxisAng< DATA_TYPE >::Angle ( ) const

Get the angle (twist) part of the AxisAngle.

Returns:
the twist value in radians.

template<typename DATA_TYPE>
GVect<DATA_TYPE, 3> Amanith::GAxisAng< DATA_TYPE >::Axis ( ) const

Get the axis portion of the AxisAngle.

Returns:
a vector of the axis, which may or may not be normalized.

template<typename DATA_TYPE>
void Amanith::GAxisAng< DATA_TYPE >::Set | ( | const DATA_TYPE & | RadAngle,
 |  | const GVect< DATA_TYPE, 3 > & | Axis
 | ) |

Set data, angles are in radians.

template<typename DATA_TYPE>
void Amanith::GAxisAng< DATA_TYPE >::Set | ( | const DATA_TYPE & | RadAngle,
 |  | const DATA_TYPE & | X,
 |  | const DATA_TYPE & | Y,
 |  | const DATA_TYPE & | Z
 | ) |

Set raw data, angles are in radians.

Reimplemented from Amanith::GVectBase< DATA_TYPE, 4 >.

template<typename DATA_TYPE>
void Amanith::GAxisAng< DATA_TYPE >::SetAngle ( const DATA_TYPE & RadAngle )

Set the angle (twist) part of the AxisAngle, as a radian value.

Parameters:
RadAngle the desired twist angle, in radians.

template<typename DATA_TYPE>
void Amanith::GAxisAng< DATA_TYPE >::SetAxis ( const GVect< DATA_TYPE, 3 > & Axis )

Set the axis portion of the AxisAngle.

Parameters:
Axis the desired 3D vector axis to rotate about.
The documentation for this class was generated from the following file:
  • gaxisangle.h


Amanith::GAxisAng< DATA_TYPE > Member List

This is the complete list of members for Amanith::GAxisAng< DATA_TYPE >, including all inherited members.

Angle() const | Amanith::GAxisAng< DATA_TYPE >
Axis() const | Amanith::GAxisAng< DATA_TYPE >
Data() const | Amanith::GVectBase< DATA_TYPE, 4 >
Fill(const DATA_TYPEValue) | Amanith::GVectBase< DATA_TYPE, 4 >
GAxisAng() | Amanith::GAxisAng< DATA_TYPE >
GAxisAng(const GAxisAng &Source) | Amanith::GAxisAng< DATA_TYPE >
GAxisAng(const DATA_TYPE &RadAngle, const DATA_TYPE &X, const DATA_TYPE &Y, const DATA_TYPE &Z) | Amanith::GAxisAng< DATA_TYPE >
GAxisAng(const DATA_TYPE &RadAngle, const GVect< DATA_TYPE, 3 > &Axis) | Amanith::GAxisAng< DATA_TYPE >
GVectBase() | Amanith::GVectBase< DATA_TYPE, 4 >
GVectBase(const GVectBase< DATA_TYPE, SIZE > &SrcVec) | Amanith::GVectBase< DATA_TYPE, 4 >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GVectBase< DATA_TYPE, 4 >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GVectBase< DATA_TYPE, 4 >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3) | Amanith::GVectBase< DATA_TYPE, 4 >
operator!=(const GVectBase< DATA_TYPE, SIZE > &Vect) const | Amanith::GVectBase< DATA_TYPE, 4 >
operator==(const GVectBase< DATA_TYPE, SIZE > &Vect) const | Amanith::GVectBase< DATA_TYPE, 4 >
operator[](const GUInt32 Index) | Amanith::GVectBase< DATA_TYPE, 4 >
operator[](const GUInt32 Index) const | Amanith::GVectBase< DATA_TYPE, 4 >
Set(const DATA_TYPE &RadAngle, const DATA_TYPE &X, const DATA_TYPE &Y, const DATA_TYPE &Z) | Amanith::GAxisAng< DATA_TYPE >
Set(const DATA_TYPE &RadAngle, const GVect< DATA_TYPE, 3 > &Axis) | Amanith::GAxisAng< DATA_TYPE >
Amanith::GVectBase< DATA_TYPE, 4 >::Set(const DATA_TYPE *DataPtr) | Amanith::GVectBase< DATA_TYPE, 4 >
Amanith::GVectBase< DATA_TYPE, 4 >::Set(const DATA_TYPE &Val0) | Amanith::GVectBase< DATA_TYPE, 4 >
Amanith::GVectBase< DATA_TYPE, 4 >::Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GVectBase< DATA_TYPE, 4 >
Amanith::GVectBase< DATA_TYPE, 4 >::Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GVectBase< DATA_TYPE, 4 >
SetAngle(const DATA_TYPE &RadAngle) | Amanith::GAxisAng< DATA_TYPE >
SetAxis(const GVect< DATA_TYPE, 3 > &Axis) | Amanith::GAxisAng< DATA_TYPE >
Swap(const GUInt32 Index1, const GUInt32 Index2) | Amanith::GVectBase< DATA_TYPE, 4 >


Amanith::GBezierCurve1D

Amanith::GBezierCurve1D Class Reference

A generic degree 1D Bezier curve. More...

Inheritance diagram for Amanith::GBezierCurve1D:

Amanith::GCurve1D Amanith::GElement List of all members.

Public Member Functions

  • GBezierCurve1D ()
  • GBezierCurve1D (const GElement *Owner)
  • virtual ~GBezierCurve1D ()
  • void Clear ()
  • GUInt32 PointsCount () const
  • GInt32 Degree () const
  • const GDynArray< GReal > & Points () const
  • GReal Point (const GUInt32 Index) const
  • GError SetPoint (const GUInt32 Index, const GReal NewPoint)
  • GError SetPoints (const GDynArray< GReal > &NewPoints)
  • GError SetPoints (const GReal P0, const GReal P1, const GReal P2)
  • GError SetPoints (const GReal P0, const GReal P1, const GReal P2, const GReal P3)
  • GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • GError HigherDegree ()
  • GError HigherDegree (const GInt32 HowManyTimes)
  • GError HigherDegree (GBezierCurve1D &OutputCurve) const
  • GError HigherDegree (const GInt32 HowManyTimes, GBezierCurve1D &OutputCurve) const
  • GError LowerDegree ()
  • GError LowerDegree (GBezierCurve1D &OutputCurve) const
  • GReal Evaluate (const GReal u) const
  • GReal Derivative (const GDerivativeOrder Order, const GReal u) const
  • GError ConvertToHermite (GHermiteCurve1D &Curve) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GError BaseClone (const GElement &Source)
  • GError DoCut (const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const

Detailed Description

A generic degree 1D Bezier curve.

Originally developed by Pierre Bezier in the 1970's for CAD/CAM operations, this kind of parametric curves is very famous soon (for example, they are the underpinnings of the entire Adobe PostScript drawing model). The Bezier curve is a parametric function of N points; two endpoints and N-2 'internal' control points. The curve connects the endpoints, but doesn't necessarily touch other control points. The general form Bezier equation, which describes each point on the curve as a function of domain parameter t, is:

with the Bernstein basis polynomials defined as:

Bezier curves are widely used in computer graphics to model smooth curves. As the curve is completely contained in the convex hull of its control points, the points can be graphically displayed and used to manipulate the curve intuitively. Affine transformations such as translation, scaling and rotation can be applied on the curve by applying the respective transform on the control points of the curve.
The most important Bezier curves are quadratic and cubic curves. Higher degree curves are more expensive to evaluate and there is no analytic formula to calculate the roots of polynomials of degree 5 and higher.
Like other Amanith curves, Bezier curves can be flattened using squared chordal distance threshold, and two optimized non-recursive flattening schemes were implemented for quadratics and cubics Bezier curves. These optimized versions are terrible fast and produce about 34% less segments than classic recursive schemes.

For more details about Bezier curve, please check this site: http://astronomy.swin.edu.au/~pbourke/curves/bezier/

Constructor & Destructor Documentation

Amanith::GBezierCurve1D::GBezierCurve1D ( )

Default constructor, creates an empty Bezier.

Amanith::GBezierCurve1D::GBezierCurve1D ( const GElement * Owner )

Constructor with owner (kernel) parameter, creates an empty Bezier.

Amanith::GBezierCurve1D::~GBezierCurve1D ( ) [virtual]

Destructor.

Member Function Documentation

GError Amanith::GBezierCurve1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source Bezier curve into this curve.

Reimplemented from Amanith::GCurve1D.

const GClassID& Amanith::GBezierCurve1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GCurve1D.

void Amanith::GBezierCurve1D::Clear ( ) [virtual]

Clear the curve (remove control points, free internal structures and set an empty domain).

Reimplemented from Amanith::GCurve1D.

GError Amanith::GBezierCurve1D::ConvertToHermite ( GHermiteCurve1D & Curve ) const

Cubic Bezier to Hermite conversion.

This method converts a cubic Bezier trait into an Hermite representation. The conversion can be easily derived equaling their power series representations.

Returns:
G_NO_ERROR in operation succeeds, an error code otherwise.
Note:
if this Bezier curve is not cubic an G_INVALID_OPERATION error code is returned.

GInt32 Amanith::GBezierCurve1D::Degree ( ) const

Get curve degree; this value is equal to PointsCount() - 1.

GReal Amanith::GBezierCurve1D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve1D.

const GClassID& Amanith::GBezierCurve1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GCurve1D.

GError Amanith::GBezierCurve1D::DoCut | ( | const GReal | u,
 |  | GCurve1D * | RightCurve,
 |  | GCurve1D * | LeftCurve
 | ) | const [protected, virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right Bezier arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GBezierCurve1D classes (so cast is type-safe).

Implements Amanith::GCurve1D.

GReal Amanith::GBezierCurve1D::Evaluate ( const GReal u ) const [virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve1D.

GError Amanith::GBezierCurve1D::HigherDegree | ( | const GInt32 | HowManyTimes,
 |  | GBezierCurve1D & | OutputCurve
 | ) | const

Increases by HowManyTimes the degree of the curve (without changing its shape), and put the result into the specified output Bezier curve.

More details about Bezier degree elevation can be found here: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html

Parameters:
HowManyTimes | the degree elevation amount.
OutputCurve | the curve used as destination.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
this an "ad hoc" implementation, it does not call HowManyTimes times the HigherDegree() function.

GError Amanith::GBezierCurve1D::HigherDegree ( GBezierCurve1D & OutputCurve ) const

Increases by one the degree of the curve (without changing its shape), and put the result into the specified output Bezier curve.

More details about Bezier degree elevation can be found here: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html

Parameters:
OutputCurve the curve used as destination.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GBezierCurve1D::HigherDegree ( const GInt32 HowManyTimes )

Increases by HowManyTimes the degree of the curve (without changing its shape).

More details about Bezier degree elevation can be found here: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html

Parameters:
HowManyTimes the degree elevation amount.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
this an "ad hoc" implementation, it does not call HowManyTimes times the HigherDegree() function.

GError Amanith::GBezierCurve1D::HigherDegree ( )

Increases by one the degree of the curve (without changing its shape).

More details about Bezier degree elevation can be found here: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html

Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GBezierCurve1D::LowerDegree ( GBezierCurve1D & OutputCurve ) const

Decreases by one the degree of the curve, and put the result into the specified output Bezier curve.

The algorithm implemented is an interesting variation of the classical odd/even points extrapolation. Our idea is completely original, and shows better results. For more details about Bezier degree reduction can be found here: http://anziamj.austms.org.au/V36/part4/park/p399.html

Parameters:
OutputCurve the curve used as destination.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GBezierCurve1D::LowerDegree ( )

Decreases by one the degree of the curve.

The algorithm implemented is an interesting variation of the classical odd/even points extrapolation. Our idea is completely original, and shows better results. For more details about Bezier degree reduction can be found here: http://anziamj.austms.org.au/V36/part4/park/p399.html

Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GReal Amanith::GBezierCurve1D::Point ( const GUInt32 Index ) const [virtual]

Get Index-th control point; Index must be valid, else a point with infinitive components is returned.

Implements Amanith::GCurve1D.

const GDynArray<GReal>& Amanith::GBezierCurve1D::Points ( ) const

Get control points array.

GUInt32 Amanith::GBezierCurve1D::PointsCount ( ) const [virtual]

Returns number of control points.

Implements Amanith::GCurve1D.

GError Amanith::GBezierCurve1D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain, and sign this Bezier curve as modified.

Parameters:
NewMinValue | the lower bound of the new domain.
NewMaxValue | the upper bound of the new domain.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if NewMinValue is greater than NewMaxValue they will be swapped, so any combination of values is valid.

Reimplemented from Amanith::GCurve1D.

GError Amanith::GBezierCurve1D::SetPoint | ( | const GUInt32 | Index,
 |  | const GReal | NewPoint
 | ) | [virtual]

Set Index-th control point; Index must be valid.

Implements Amanith::GCurve1D.

GError Amanith::GBezierCurve1D::SetPoints | ( | const GReal | P0,
 |  | const GReal | P1,
 |  | const GReal | P2,
 |  | const GReal | P3
 | ) |

Build a cubic Bezier curve, specifying its four control points. This method is provided for convenience.

Note:
Domain won't be changed.

GError Amanith::GBezierCurve1D::SetPoints | ( | const GReal | P0,
 |  | const GReal | P1,
 |  | const GReal | P2
 | ) |

Build a quadratic Bezier curve, specifying its three control points. This method is provided for convenience.

Note:
Domain won't be changed.

GError Amanith::GBezierCurve1D::SetPoints ( const GDynArray< GReal > & NewPoints )

Build the Bezier curve, specifying control points. This is the only method to build a Bezier curve.

The curve will have a (|NewPoints| - 1) degree.

Parameters:
NewPoints control points that will build this Bezier curve. At least two points must be specified, else curve can't be built.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
Domain won't be changed.
The documentation for this class was generated from the following files:
  • gbeziercurve1d.h
  • gbeziercurve1d.cpp


Amanith::GBezierCurve1D Member List

This is the complete list of members for Amanith::GBezierCurve1D, including all inherited members.

As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GBezierCurve1D | [protected, virtual]
ClassID() const | Amanith::GBezierCurve1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GBezierCurve1D | [virtual]
ConvertToHermite(GHermiteCurve1D &Curve) const | Amanith::GBezierCurve1D |
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Cut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GCurve1D |
Cut(const GReal u0, const GReal u1, GCurve1D *OutCurve) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos, GCurve1D *RightCurve, GCurve1D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve1D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Degree() const | Amanith::GBezierCurve1D |
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GBezierCurve1D | [virtual]
DerivedClassID() const | Amanith::GBezierCurve1D | [virtual]
DoCut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GBezierCurve1D | [protected, virtual]
Domain() const | Amanith::GCurve1D |
DomainEnd() const | Amanith::GCurve1D |
DomainStart() const | Amanith::GCurve1D |
EndPoint() const | Amanith::GCurve1D |
Evaluate(const GReal u) const | Amanith::GBezierCurve1D | [virtual]
GBezierCurve1D() | Amanith::GBezierCurve1D |
GBezierCurve1D(const GElement *Owner) | Amanith::GBezierCurve1D |
GCurve1D() | Amanith::GCurve1D |
GCurve1D(const GElement *Owner) | Amanith::GCurve1D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve1D | [virtual]
HigherDegree() | Amanith::GBezierCurve1D |
HigherDegree(const GInt32 HowManyTimes) | Amanith::GBezierCurve1D |
HigherDegree(GBezierCurve1D &OutputCurve) const | Amanith::GBezierCurve1D |
HigherDegree(const GInt32 HowManyTimes, GBezierCurve1D &OutputCurve) const | Amanith::GBezierCurve1D |
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D | [virtual]
LowerDegree() | Amanith::GBezierCurve1D |
LowerDegree(GBezierCurve1D &OutputCurve) const | Amanith::GBezierCurve1D |
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
Point(const GUInt32 Index) const | Amanith::GBezierCurve1D | [virtual]
Points() const | Amanith::GBezierCurve1D |
PointsCount() const | Amanith::GBezierCurve1D | [virtual]
Scale(const GReal Pivot, const GReal ScaleAmount) | Amanith::GCurve1D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GBezierCurve1D | [virtual]
SetEndPoint(const GReal NewValue) | Amanith::GCurve1D |
SetPoint(const GUInt32 Index, const GReal NewPoint) | Amanith::GBezierCurve1D | [virtual]
SetPoints(const GDynArray< GReal > &NewPoints) | Amanith::GBezierCurve1D |
SetPoints(const GReal P0, const GReal P1, const GReal P2) | Amanith::GBezierCurve1D |
SetPoints(const GReal P0, const GReal P1, const GReal P2, const GReal P3) | Amanith::GBezierCurve1D |
SetStartPoint(const GReal NewValue) | Amanith::GCurve1D |
Speed(const GReal u) const | Amanith::GCurve1D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve1D | [protected, static]
StartPoint() const | Amanith::GCurve1D |
Tangent(const GReal u) const | Amanith::GCurve1D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Translate(const GReal Translation) | Amanith::GCurve1D |
~GBezierCurve1D() | Amanith::GBezierCurve1D | [virtual]
~GCurve1D() | Amanith::GCurve1D | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GBezierCurve1DProxy

Amanith::GBezierCurve1DProxy Class Reference

This class implements a GBezierCurve1D proxy (provider). More...

Inheritance diagram for Amanith::GBezierCurve1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GBezierCurve1D proxy (provider).

This proxy provides the creation of GBezierCurve1D class instances.

Member Function Documentation

const GClassID& Amanith::GBezierCurve1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GBezierCurve1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GBezierCurve1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GBezierCurve1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gbeziercurve1d.h


Amanith::GBezierCurve1DProxy Member List

This is the complete list of members for Amanith::GBezierCurve1DProxy, including all inherited members.

ClassID() const | Amanith::GBezierCurve1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GBezierCurve1DProxy | [virtual]
DerivedClassID() const | Amanith::GBezierCurve1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GBezierCurve2D

Amanith::GBezierCurve2D Class Reference

A generic degree 2D Bezier curve. More...

Inheritance diagram for Amanith::GBezierCurve2D:

Amanith::GCurve2D Amanith::GElement List of all members.

Public Member Functions

  • GBezierCurve2D ()
  • GBezierCurve2D (const GElement *Owner)
  • ~GBezierCurve2D ()
  • void Clear ()
  • GUInt32 PointsCount () const
  • GInt32 Degree () const
  • const GDynArray< GPoint2 > & Points () const
  • GPoint2 Point (const GUInt32 Index) const
  • GError SetPoint (const GUInt32 Index, const GPoint2 &NewPoint)
  • GError SetPoints (const GDynArray< GPoint2 > &NewPoints)
  • GError SetPoints (const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2)
  • GError SetPoints (const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P3)
  • GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • GError HigherDegree ()
  • GError HigherDegree (const GInt32 HowManyTimes)
  • GError HigherDegree (GBezierCurve2D &OutputCurve) const
  • GError HigherDegree (const GInt32 HowManyTimes, GBezierCurve2D &OutputCurve) const
  • GError LowerDegree ()
  • GError LowerDegree (GBezierCurve2D &OutputCurve) const
  • GBool IntersectRay (const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const
  • GInt32 CrossingCount (const GRay2 &Ray) const
  • GReal ControlPolygonLength (const GUInt32 FromIndex, const GUInt32 ToIndex) const
  • GError Flatten (GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const
  • GReal Variation () const
  • GPoint2 Evaluate (const GReal u) const
  • GVector2 Derivative (const GDerivativeOrder Order, const GReal u) const
  • GError ConvertToHermite (GHermiteCurve2D &Curve) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GReal Variation (const GReal u0, const GReal u1, const GPoint2 &p0, const GPoint2 &p1) const
  • GInt32 CrossingCountX () const
  • GBool IntersectXRay (GDynArray< GVector2 > &Intersections, const GReal Precision, const GUInt32 MaxIterations) const
  • GError BaseClone (const GElement &Source)
  • GError DoCut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const
  • GError Flatten2 (GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint) const
  • GError Flatten3 (GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint) const

Detailed Description

A generic degree 2D Bezier curve.

Originally developed by Pierre Bezier in the 1970's for CAD/CAM operations, this kind of parametric curves is very famous soon (for example, they are the underpinnings of the entire Adobe PostScript drawing model). The Bezier curve is a parametric function of N points; two endpoints and N-2 'internal' control points. The curve connects the endpoints, but doesn't necessarily touch other control points. The general form Bezier equation, which describes each point on the curve as a function of domain parameter t, is:

with the Bernstein basis polynomials defined as:

Bezier curves are widely used in computer graphics to model smooth curves. As the curve is completely contained in the convex hull of its control points, the points can be graphically displayed and used to manipulate the curve intuitively. Affine transformations such as translation, scaling and rotation can be applied on the curve by applying the respective transform on the control points of the curve.
The most important Bezier curves are quadratic and cubic curves. Higher degree curves are more expensive to evaluate and there is no analytic formula to calculate the roots of polynomials of degree 5 and higher.
Like other Amanith curves, Bezier curves can be flattened using squared chordal distance threshold, and two optimized non-recursive flattening schemes were implemented for quadratics and cubics Bezier curves. These optimized versions are terrible fast and produce about 34% less segments than classic recursive schemes.

For more details about Bezier curve, please check this site: http://astronomy.swin.edu.au/~pbourke/curves/bezier/

Constructor & Destructor Documentation

Amanith::GBezierCurve2D::GBezierCurve2D ( )

Default constructor, creates an empty Bezier.

Amanith::GBezierCurve2D::GBezierCurve2D ( const GElement * Owner )

Constructor with owner (kernel) parameter, creates an empty Bezier.

Amanith::GBezierCurve2D::~GBezierCurve2D ( )

Destructor.

Member Function Documentation

GError Amanith::GBezierCurve2D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source Bezier curve into this curve.

Reimplemented from Amanith::GCurve2D.

const GClassID& Amanith::GBezierCurve2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GCurve2D.

void Amanith::GBezierCurve2D::Clear ( ) [virtual]

Clear the curve (remove control points, free internal structures and set an empty domain).

Reimplemented from Amanith::GCurve2D.

GReal Amanith::GBezierCurve2D::ControlPolygonLength | ( | const GUInt32 | FromIndex,
 |  | const GUInt32 | ToIndex
 | ) | const

Returns control polygon length.

Parameters:
FromIndex | lower index of considered control points.
ToIndex | upper index of considered control points.
Returns:
control polygon length, for specified control points range.

GError Amanith::GBezierCurve2D::ConvertToHermite ( GHermiteCurve2D & Curve ) const

Cubic Bezier to Hermite conversion.

This method converts a cubic Bezier trait into an Hermite representation. The conversion can be easily derived equaling their power series representations.

Returns:
G_NO_ERROR in operation succeeds, an error code otherwise.
Note:
if this Bezier curve is not cubic an G_INVALID_OPERATION error code is returned.

GInt32 Amanith::GBezierCurve2D::CrossingCount ( const GRay2 & Ray ) const

Returns number of intersection between control polygon and a ray.

GInt32 Amanith::GBezierCurve2D::CrossingCountX ( ) const [protected]

Returns the number of intersection between control polygon and X axis.

GInt32 Amanith::GBezierCurve2D::Degree ( ) const

Get curve degree; this value is equal to PointsCount() - 1.

GVector2 Amanith::GBezierCurve2D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve2D.

const GClassID& Amanith::GBezierCurve2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GCurve2D.

GError Amanith::GBezierCurve2D::DoCut | ( | const GReal | u,
 |  | GCurve2D * | RightCurve,
 |  | GCurve2D * | LeftCurve
 | ) | const [protected, virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right Bezier arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GBezierCurve2D classes (so cast is type-safe).

Implements Amanith::GCurve2D.

GPoint2 Amanith::GBezierCurve2D::Evaluate ( const GReal u ) const [virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve2D.

GError Amanith::GBezierCurve2D::Flatten | ( | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint = G_TRUE
 | ) | const [virtual]

Flats the curve specifying a max error/variation (squared chordal distance).

Parameters:
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.
Note:
if this Bezier curve is quadratic or cubic, then respective optimized methods Flatten2() / Flatten3() are called, for best performance assurance.

Implements Amanith::GCurve2D.

GError Amanith::GBezierCurve2D::Flatten2 | ( | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint
 | ) | const [protected]

Optimized flattening for quadratic Bezier curves.

Theory: find the distance between points on the curve and 'corresponding' points on the line. One way to do this, is to notice that a Bezier curve swept by a 't' parameter (0 < t < 1)

is approximated by a straight line (swept at a constant velocity by 't')

It can be shown that Max |B(t) - L(t)|^2 is at t = 1/2. This kind of distance can be assumed to be the squared chordal distance.
Now, we wanna find a 't' value where to cut the Bezier curve, so that left arc will have a maximum squared chordal distance less then a specified epsilon (so a straight line between its start and end points is a good flat segment). This leads to:

let

the disequation becomes:

and the solution is:

If t is > 1, then the entire curve can be approximated by a straight line.

Parameters:
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.

GError Amanith::GBezierCurve2D::Flatten3 | ( | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint
 | ) | const [protected]

Optimized flattening for cubic Bezier curves.

The implementation is based on "Precise Flattening of Cubic Bezier Segments", Thomas Hain, Ahmad, Athar L., and Langan David, Canadian Conference on Computational Geometry, Montreal, Canada, Aug 9–11, 2004.
Paper can be found on prof. Hain homepage: http://www.cis.usouthal.edu/~hain/Publications.htm
The trick here is to do a parabolic approximation, taking care that a cubic polynomial can have flex and cuspid point. Finding these points, and cutting the curve, every single slice can be approximated by a parabolic trait.

Parameters:
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.

GError Amanith::GBezierCurve2D::HigherDegree | ( | const GInt32 | HowManyTimes,
 |  | GBezierCurve2D & | OutputCurve
 | ) | const

Increases by HowManyTimes the degree of the curve (without changing its shape), and put the result into the specified output Bezier curve.

More details about Bezier degree elevation can be found here: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html

Parameters:
HowManyTimes | the degree elevation amount.
OutputCurve | the curve used as destination.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
this an "ad hoc" implementation, it does not call HowManyTimes times the HigherDegree() function.

GError Amanith::GBezierCurve2D::HigherDegree ( GBezierCurve2D & OutputCurve ) const

Increases by one the degree of the curve (without changing its shape), and put the result into the specified output Bezier curve.

More details about Bezier degree elevation can be found here: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html

Parameters:
OutputCurve the curve used as destination.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GBezierCurve2D::HigherDegree ( const GInt32 HowManyTimes )

Increases by HowManyTimes the degree of the curve (without changing its shape).

More details about Bezier degree elevation can be found here: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html

Parameters:
HowManyTimes the degree elevation amount.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
this an "ad hoc" implementation, it does not call HowManyTimes times the HigherDegree() function.

GError Amanith::GBezierCurve2D::HigherDegree ( )

Increases by one the degree of the curve (without changing its shape).

More details about Bezier degree elevation can be found here: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html

Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GBool Amanith::GBezierCurve2D::IntersectRay | ( | const GRay2 & | NormalizedRay,
 |  | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision = G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [virtual]

Intersect the Bezier curve with a normalized ray, and returns a list of intersections.

Here's the implemented algorithm:

  1. First transform all control points into "ray space", so that line is starting at (0, 0) and have a direction of (1, 0) (X axis).
  2. At this point Variation diminishing can be exploited. After point (1) number of intersection ray-controlpolygon is a simple y-change sign test.
  3. A recursive loop splits the curve until every possible solution are isolated.
    • if the curve piece (its control polygon) does not intersect x-axis just discard it and exit.
    • if the curve piece (its control polygon) intersects more than once x-axis split this piece (say at midpoint parameter) into right and left arcs. Call the function for left arc and then for right arc (this order is the most clever, so solutions are automatically ordered in ascending order).
    • if the curve piece intersects (its control polygon intersects) just once x-axis, the Brents's method is used to catch the solution. This method requires curve evaluation only, its "root bracketing" and overall it can't diverge, so the solution is always find with good convergence.

Parameters:
NormalizedRay | a normalized ray used for intersection test. Ray must be normalized, else incorrect results are possible.
Intersections | every found intersection will be appended to this array. Each intersection is a 2D vector; it has at position 0 the curve parameter (domain) value corresponding to the intersection, and at position 1 the ray parameter value corresponding to the intersection.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution. If the current solution calculus does not reach the specified Precision within MaxIterations iterations, the current solution calculus is stopped, the solution is appended into output array, and calculus go for the next found solution. The more this value is, the more is the accuracy of each solution (and the more is the time taken from this method).

Implements Amanith::GCurve2D.

GBool Amanith::GBezierCurve2D::IntersectXRay | ( | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision,
 |  | const GUInt32 | MaxIterations
 | ) | const [protected]

Compute intersections between this curve and the X axis (1, 0).

Parameters:
Intersections | every found intersection will be appended to this array.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution. If the current solution calculus does not reach the specified Precision within MaxIterations iterations, the current solution calculus is stopped, the solution is appended into output array, and calculus go for the next found solution. The more this value is, the more is the accuracy of each solution (and the more is the time taken from this method).
Note:
this function uses the Brent method to refine each found intersection. For more information about Brent's method, pleas check this site http://mathworld.wolfram.com/BrentsMethod.html.

GError Amanith::GBezierCurve2D::LowerDegree ( GBezierCurve2D & OutputCurve ) const

Decreases by one the degree of the curve, and put the result into the specified output Bezier curve.

The algorithm implemented is an interesting variation of the classical odd/even points extrapolation. Our idea is completely original, and shows better results. For more details about Bezier degree reduction can be found here: http://anziamj.austms.org.au/V36/part4/park/p399.html

Parameters:
OutputCurve the curve used as destination.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GBezierCurve2D::LowerDegree ( )

Decreases by one the degree of the curve.

The algorithm implemented is an interesting variation of the classical odd/even points extrapolation. Our idea is completely original, and shows better results. For more details about Bezier degree reduction can be found here: http://anziamj.austms.org.au/V36/part4/park/p399.html

Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GPoint2 Amanith::GBezierCurve2D::Point ( const GUInt32 Index ) const [virtual]

Get Index-th control point; Index must be valid, else a point with infinitive components is returned.

Implements Amanith::GCurve2D.

const GDynArray<GPoint2>& Amanith::GBezierCurve2D::Points ( ) const

Get control points array.

GUInt32 Amanith::GBezierCurve2D::PointsCount ( ) const [virtual]

Returns number of control points.

Implements Amanith::GCurve2D.

GError Amanith::GBezierCurve2D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain, and sign this Bezier curve as modified.

Parameters:
NewMinValue | the lower bound of the new domain.
NewMaxValue | the upper bound of the new domain.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if NewMinValue is greater than NewMaxValue they will be swapped, so any combination of values is valid.

Reimplemented from Amanith::GCurve2D.

GError Amanith::GBezierCurve2D::SetPoint | ( | const GUInt32 | Index,
 |  | const GPoint2 & | NewPoint
 | ) | [virtual]

Set Index-th control point; Index must be valid.

Implements Amanith::GCurve2D.

GError Amanith::GBezierCurve2D::SetPoints | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GPoint2 & | P2,
 |  | const GPoint2 & | P3
 | ) |

Build a cubic Bezier curve, specifying its four control points. This method is provided for convenience.

Note:
Domain won't be changed.

GError Amanith::GBezierCurve2D::SetPoints | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GPoint2 & | P2
 | ) |

Build a quadratic Bezier curve, specifying its three control points. This method is provided for convenience.

Note:
Domain won't be changed.

GError Amanith::GBezierCurve2D::SetPoints ( const GDynArray< GPoint2 > & NewPoints )

Build the Bezier curve, specifying control points. This is the only method to build a Bezier curve.

The curve will have a (|NewPoints| - 1) degree.

Parameters:
NewPoints control points that will build this Bezier curve. At least two points must be specified, else curve can't be built.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
Domain won't be changed.

GReal Amanith::GBezierCurve2D::Variation ( ) const [virtual]

Get variation (squared chordal distance) in the current domain range.

Implements Amanith::GCurve2D.

GReal Amanith::GBezierCurve2D::Variation | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | const GPoint2 & | p0,
 |  | const GPoint2 & | p1
 | ) | const [protected]

Get max variation (squared chordal distance) in the range [u0; u1]; here are necessary also curve evaluations at the interval ends.

Parameters:
u0 | lower bound of interested interval
u1 | upper bound of interested interval
p0 | the point corresponding to the curve evaluation at u0
p1 | the point corresponding to the curve evaluation at u1
Note:
The interval is ensured to be completely inside the curve domain.
The documentation for this class was generated from the following files:
  • gbeziercurve2d.h
  • gbeziercurve2d.cpp


Amanith::GBezierCurve2D Member List

This is the complete list of members for Amanith::GBezierCurve2D, including all inherited members.

As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GBezierCurve2D | [protected, virtual]
ClassID() const | Amanith::GBezierCurve2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GBezierCurve2D | [virtual]
ControlPolygonLength(const GUInt32 FromIndex, const GUInt32 ToIndex) const | Amanith::GBezierCurve2D |
ConvertToHermite(GHermiteCurve2D &Curve) const | Amanith::GBezierCurve2D |
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
CrossingCount(const GRay2 &Ray) const | Amanith::GBezierCurve2D |
CrossingCountX() const | Amanith::GBezierCurve2D | [protected]
Curvature(const GReal u) const | Amanith::GCurve2D |
Cut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GCurve2D |
Cut(const GReal u0, const GReal u1, GCurve2D *OutCurve) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos, GCurve2D *RightCurve, GCurve2D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve2D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Degree() const | Amanith::GBezierCurve2D |
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GBezierCurve2D | [virtual]
DerivedClassID() const | Amanith::GBezierCurve2D | [virtual]
DoCut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GBezierCurve2D | [protected, virtual]
Domain() const | Amanith::GCurve2D |
DomainEnd() const | Amanith::GCurve2D |
DomainStart() const | Amanith::GCurve2D |
EndPoint() const | Amanith::GCurve2D |
Evaluate(const GReal u) const | Amanith::GBezierCurve2D | [virtual]
Flatten(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const | Amanith::GBezierCurve2D | [virtual]
Flatten2(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint) const | Amanith::GBezierCurve2D | [protected]
Flatten3(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint) const | Amanith::GBezierCurve2D | [protected]
GBezierCurve2D() | Amanith::GBezierCurve2D |
GBezierCurve2D(const GElement *Owner) | Amanith::GBezierCurve2D |
GCurve2D() | Amanith::GCurve2D |
GCurve2D(const GElement *Owner) | Amanith::GCurve2D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve2D | [virtual]
HigherDegree() | Amanith::GBezierCurve2D |
HigherDegree(const GInt32 HowManyTimes) | Amanith::GBezierCurve2D |
HigherDegree(GBezierCurve2D &OutputCurve) const | Amanith::GBezierCurve2D |
HigherDegree(const GInt32 HowManyTimes, GBezierCurve2D &OutputCurve) const | Amanith::GBezierCurve2D |
IntersectRay(const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GBezierCurve2D | [virtual]
IntersectXRay(GDynArray< GVector2 > &Intersections, const GReal Precision, const GUInt32 MaxIterations) const | Amanith::GBezierCurve2D | [protected]
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D | [virtual]
LowerDegree() | Amanith::GBezierCurve2D |
LowerDegree(GBezierCurve2D &OutputCurve) const | Amanith::GBezierCurve2D |
Normal(const GReal u) const | Amanith::GCurve2D |
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
Point(const GUInt32 Index) const | Amanith::GBezierCurve2D | [virtual]
Points() const | Amanith::GBezierCurve2D |
PointsCount() const | Amanith::GBezierCurve2D | [virtual]
Rotate(const GPoint2 &Pivot, const GReal RadAmount) | Amanith::GCurve2D | [virtual]
Scale(const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount) | Amanith::GCurve2D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GBezierCurve2D | [virtual]
SetEndPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
SetPoint(const GUInt32 Index, const GPoint2 &NewPoint) | Amanith::GBezierCurve2D | [virtual]
SetPoints(const GDynArray< GPoint2 > &NewPoints) | Amanith::GBezierCurve2D |
SetPoints(const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2) | Amanith::GBezierCurve2D |
SetPoints(const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P3) | Amanith::GBezierCurve2D |
SetStartPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
Speed(const GReal u) const | Amanith::GCurve2D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve2D | [protected, static]
StartPoint() const | Amanith::GCurve2D |
Tangent(const GReal u) const | Amanith::GCurve2D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Translate(const GVector2 &Translation) | Amanith::GCurve2D | [virtual]
Variation(const GReal u0, const GReal u1, const GPoint2 &p0, const GPoint2 &p1) const | Amanith::GBezierCurve2D | [protected]
Variation() const | Amanith::GBezierCurve2D | [virtual]
XForm(const GMatrix23 &Matrix) | Amanith::GCurve2D | [virtual]
XForm(const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE) | Amanith::GCurve2D | [virtual]
~GBezierCurve2D() | Amanith::GBezierCurve2D |
~GCurve2D() | Amanith::GCurve2D | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GBezierCurve2DProxy

Amanith::GBezierCurve2DProxy Class Reference

This class implements a GBezierCurve2D proxy (provider). More...

Inheritance diagram for Amanith::GBezierCurve2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GBezierCurve2D proxy (provider).

This proxy provides the creation of GBezierCurve2D class instances.

Member Function Documentation

const GClassID& Amanith::GBezierCurve2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GBezierCurve2DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GBezierCurve2D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GBezierCurve2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gbeziercurve2d.h


Amanith::GBezierCurve2DProxy Member List

This is the complete list of members for Amanith::GBezierCurve2DProxy, including all inherited members.

ClassID() const | Amanith::GBezierCurve2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GBezierCurve2DProxy | [virtual]
DerivedClassID() const | Amanith::GBezierCurve2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GBSplineCurve1D

Amanith::GBSplineCurve1D Class Reference

A generic degree 1D B-spline curve. More...

Inheritance diagram for Amanith::GBSplineCurve1D:

Amanith::GCurve1D Amanith::GElement List of all members.

Public Member Functions

  • GBSplineCurve1D ()
  • GBSplineCurve1D (const GElement *Owner)
  • virtual ~GBSplineCurve1D ()
  • void Clear ()
  • GUInt32 PointsCount () const
  • GInt32 Degree () const
  • GReal Point (const GUInt32 Index) const
  • const GDynArray< GReal > & Points () const
  • const GDynArray< GReal > & Knots () const
  • GInt32 Multiplicity (const GReal u) const
  • GInt32 FindSpan (const GReal u) const
  • GInt32 FindSpanMult (const GReal u, GInt32 &Multiplicity) const
  • void Multiplicities (GDynArray< GKnotMultiplicity > &Values) const
  • GError SetPoint (const GUInt32 Index, const GReal NewPoint)
  • GError SetPoints (const GDynArray< GReal > &NewPoints, const GInt32 Degree, const GBool Opened=G_TRUE, const GBool Uniform=G_FALSE)
  • GError SetPoints (const GDynArray< GReal > &NewPoints, const GInt32 Degree, const GReal NewMinValue, const GReal NewMaxValue, const GBool Opened=G_TRUE, const GBool Uniform=G_FALSE)
  • GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • GInt32 KnotsCount () const
  • GError HigherDegree (const GInt32 HowManyTimes)
  • GError HigherDegree (const GInt32 HowManyTimes, GBSplineCurve1D &OutputCurve) const
  • GError LowerDegree ()
  • GError LowerDegree (GBSplineCurve1D &OutputCurve) const
  • GError InsertKnot (const GReal u)
  • GReal EvaluateBasisFunc (const GReal u, const GInt32 Index, const GInt32 Degree) const
  • GReal Evaluate (const GReal u) const
  • GReal Derivative (const GDerivativeOrder Order, const GReal u) const
  • GError GlobalFit (const GInt32 Degree, const GDynArray< GReal > &FitPoints, const GReal MinKnotValue=0, const GReal MaxKnotValue=1)
  • GError GlobalNaturalFit (const GInt32 Degree, const GDynArray< GReal > &FitPoints, const GReal MinKnotValue=0, const GReal MaxKnotValue=1)
  • GError GlobalFit (const GInt32 Degree, const GDynArray< GReal > &FitPoints, const GReal Derivative0, const GReal Derivative1, const GReal MinKnotValue=0, const GReal MaxKnotValue=1)
  • GError GlobalFit (const GInt32 Degree, const GDynArray< GReal > &FitPoints, const GDynArray< GReal > &Derivatives, const GReal MinKnotValue=0, const GReal MaxKnotValue=1)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GError BaseClone (const GElement &Source)
  • GError DoCut (const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const

Static Protected Member Functions

  • static GError SolveBandedSystem (const GDynArray< GReal > &BasisMatrix, const GInt32 MatrixSize, const GInt32 LeftSemiBandWidth, const GInt32 RightSemiBandWidth, GDynArray< GReal > &Rhs)

Detailed Description

A generic degree 1D B-spline curve.

class GBSplineCurve1D

B-spline curves are generalizations of Bezier curves. Given (n+1) control points P0, P1, ..., Pn and a knot vector U = { u0, u1, ..., um }, the B-spline curve of degree p defined by these control points and knot vector U is:

where Ni,p(u) are B-spline basis functions of degree p. The i-th B-spline basis function of degree p, written as Ni,p(u), is defined recursively as follows:

The form of a B-spline curve is very similar to that of a Bezier curve. Unlike a Bezier curve, a B-spline curve involves more information, namely: a set of (n+1) control points, a knot vector of (m+1) knots, and a degree p. Note that n, m and p must satisfy m = n + p + 1.
More precisely, if we want to define a B-spline curve of degree p with n + 1 control points, we have to supply n + p + 2 knots u0, u1, ..., un+p+1. On the other hand, if a knot vector of m + 1 knots and n + 1 control points are given, the degree of the B-spline curve is p = m - n - 1. The point on the curve that corresponds to a knot ui, C(ui), is referred to as a knot point. Hence, the knot points divide a B-spline curve into curve segments, each of which is defined on a knot span. It can be shown that these curve segments are all Bezier curve of degree p.
If the knot vector does not have any particular structure, the generated curve will not touch the first and last legs of the control polyline. This type of B-spline curves is called unclamped B-spline curves. We may want to clamp the curve so that it is tangent to the first and the last legs at the first and last control points, respectively, as a Bezier curve does. To do so, the first knot and the last knot must be of multiplicity p+1. This will generate the so-called clamped B-spline curves.
Amanith supports both flavors.

Constructor & Destructor Documentation

Amanith::GBSplineCurve1D::GBSplineCurve1D ( )

Default constructor, creates an empty B-spline.

Amanith::GBSplineCurve1D::GBSplineCurve1D ( const GElement * Owner )

Constructor with owner (kernel) parameter, creates an empty B-spline.

Amanith::GBSplineCurve1D::~GBSplineCurve1D ( ) [virtual]

Destructor.

Member Function Documentation

GError Amanith::GBSplineCurve1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source B-spline curve into this curve.

Reimplemented from Amanith::GCurve1D.

const GClassID& Amanith::GBSplineCurve1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GCurve1D.

void Amanith::GBSplineCurve1D::Clear ( ) [virtual]

Clear the curve (remove control points, free internal structures and set an empty domain).

Reimplemented from Amanith::GCurve1D.

GInt32 Amanith::GBSplineCurve1D::Degree ( ) const

Get curve degree.

GReal Amanith::GBSplineCurve1D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve1D.

const GClassID& Amanith::GBSplineCurve1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GCurve1D.

GError Amanith::GBSplineCurve1D::DoCut | ( | const GReal | u,
 |  | GCurve1D * | RightCurve,
 |  | GCurve1D * | LeftCurve
 | ) | const [protected, virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right B-spline arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GBSplineCurve1D classes (so cast is type-safe).

Implements Amanith::GCurve1D.

GReal Amanith::GBSplineCurve1D::Evaluate ( const GReal u ) const [virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve1D.

GReal Amanith::GBSplineCurve1D::EvaluateBasisFunc | ( | const GReal | u,
 |  | const GInt32 | Index,
 |  | const GInt32 | Degree
 | ) | const

Evaluate Index-th basic function of specified degree at the given global parameter value. This function is provided only for completeness.

To define B-spline basis functions, we need to specify the degree, p. The i-th B-spline basis function of degree p, written as Ni,p(u), is defined recursively as follows:

Parameters:
u | Global parameter at which we wanna calculate the basis function value.
Index | the index of basis function.
Degree | the degree of basis function.
Returns:
the value of the Index-th basis function of specified degree.

GInt32 Amanith::GBSplineCurve1D::FindSpan ( const GReal u ) const

Find knot span.

GInt32 Amanith::GBSplineCurve1D::FindSpanMult | ( | const GReal | u,
 |  | GInt32 & | Multiplicity
 | ) | const

Find at the same time knot span and knot multiplicity.

Note:
This method is faster than call disjointedly FindSpan() and Multiplicity() functions.

GError Amanith::GBSplineCurve1D::GlobalFit | ( | const GInt32 | Degree,
 |  | const GDynArray< GReal > & | FitPoints,
 |  | const GDynArray< GReal > & | Derivatives,
 |  | const GReal | MinKnotValue = 0,
 |  | const GReal | MaxKnotValue = 1
 | ) |

Construct a B-spline that interpolates given points data, specifying also the first order derivatives that the curve must assume at each interpolated points.

Parameters:
Degree | the degree of the interpolating B-spline.
FitPoints | the points array, every point will be interpolated by the constructed B-spline.
Derivatives | first order derivatives corresponding to each point.
MinKnotValue | lower bound of the interpolating B-spline's domain.
MaxKnotValue | upper bound of the interpolating B-spline's domain.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.
Note:
FitPoints and Derivatives arrays must have the same dimension. This method is called "global" because a linear (banded) system of equations is set up and solved, in opposite to local methods (that are more geometric in nature, and construct the curve segment-wise using only local data for each step).

GError Amanith::GBSplineCurve1D::GlobalFit | ( | const GInt32 | Degree,
 |  | const GDynArray< GReal > & | FitPoints,
 |  | const GReal | Derivative0,
 |  | const GReal | Derivative1,
 |  | const GReal | MinKnotValue = 0,
 |  | const GReal | MaxKnotValue = 1
 | ) |

Construct a B-spline that interpolates given points data, specifying also the first order derivatives that the curve must assume at its end points.

Parameters:
Degree | the degree of the interpolating B-spline.
FitPoints | the points array, every point will be interpolated by the constructed B-spline.
Derivative0 | first order derivative corresponding to the lower bound of new domain.
Derivative1 | first order derivative corresponding to the upper bound of new domain.
MinKnotValue | lower bound of the interpolating B-spline's domain.
MaxKnotValue | upper bound of the interpolating B-spline's domain.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.
Note:
this method is called "global" because a linear (banded) system of equations is set up and solved, in opposite to local methods (that are more geometric in nature, and construct the curve segment-wise using only local data for each step).

GError Amanith::GBSplineCurve1D::GlobalFit | ( | const GInt32 | Degree,
 |  | const GDynArray< GReal > & | FitPoints,
 |  | const GReal | MinKnotValue = 0,
 |  | const GReal | MaxKnotValue = 1
 | ) |

Construct a B-spline that interpolates given points data.

Parameters:
Degree | the degree of the interpolating B-spline.
FitPoints | the points array, every point will be interpolated by the constructed B-spline.
MinKnotValue | lower bound of the interpolating B-spline's domain.
MaxKnotValue | upper bound of the interpolating B-spline's domain.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.
Note:
this method is called "global" because a linear (banded) system of equations is set up and solved, in opposite to local methods (that are more geometric in nature, and construct the curve segment-wise using only local data for each step).

GError Amanith::GBSplineCurve1D::GlobalNaturalFit | ( | const GInt32 | Degree,
 |  | const GDynArray< GReal > & | FitPoints,
 |  | const GReal | MinKnotValue = 0,
 |  | const GReal | MaxKnotValue = 1
 | ) |

Construct a natural B-spline that interpolates given points data.

Here the term 'natural' means that generated B-spline will have a null (zero) curvature at its domain endpoints.

Parameters:
Degree | the degree of the interpolating B-spline.
FitPoints | the points array, every point will be interpolated by the constructed B-spline.
MinKnotValue | lower bound of the interpolating B-spline's domain.
MaxKnotValue | upper bound of the interpolating B-spline's domain.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.
Note:
this method is called "global" because a linear (banded) system of equations is set up and solved, in opposite to local methods (that are more geometric in nature, and construct the curve segment-wise using only local data for each step).

GError Amanith::GBSplineCurve1D::HigherDegree | ( | const GInt32 | HowManyTimes,
 |  | GBSplineCurve1D & | OutputCurve
 | ) | const

Increases by HowManyTimes the degree of the curve (without changing its shape), and put the result into a destination B-spline curve.

The steps are:

  1. extract the i-th Bezier segment from the curve.
  2. degree elevate the i-th Bezier segment.
  3. remove unnecessary knots separating the (i-1)th and i-th segments.

Parameters:
HowManyTimes | the degree elevation amount.
OutputCurve | the output degree-elevated B-spline curve.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
The implemented algorithm is simpler and competitive with that given in "Prautzsch, H., and piper, B., A fast algorithm to raise the degree of spline curves, Comput. Aid. Geom. Des., Vol. 8, pp. 253-261, 1991", particularly in the case where the degree is to be raised by more than 1.

GError Amanith::GBSplineCurve1D::HigherDegree ( const GInt32 HowManyTimes )

Increases by HowManyTimes the degree of the curve (without changing its shape).

The steps are:

  1. extract the i-th Bezier segment from the curve.
  2. degree elevate the i-th Bezier segment.
  3. remove unnecessary knots separating the (i-1)th and i-th segments.

Parameters:
HowManyTimes the degree elevation amount.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
The implemented algorithm is simpler and competitive with that given in "Prautzsch, H., and piper, B., A fast algorithm to raise the degree of spline curves, Comput. Aid. Geom. Des., Vol. 8, pp. 253-261, 1991", particularly in the case where the degree is to be raised by more than 1.

GError Amanith::GBSplineCurve1D::InsertKnot ( const GReal u )

Knot insertion. This function is provided only for completeness.

The meaning of knot insertion is adding a new knot into the existing knot vector without changing the shape of the curve. This new knot may be equal to an existing knot and, in this case, the multiplicity of that knot is increased by one. Because of the fundamental equality m = n + p + 1 (p is the degree, n+1 is the number of control points and m is the number of knots less one), after adding a new knot, the value of m is increased by one and, consequently, either the number of control points or the degree of the curve must also be increased by one.
Changing the degree of the curve due to the increase of knots will change the shape of the curve globally and will not be considered. Therefore, inserting a new knot causes a new control point to be added. In fact, some existing control points are removed and replaced with new ones by corner cutting.

Parameters:
u the knot value to insert, must be inside curve domain else a G_INVALID_PARAMETER error code will be returned.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

const GDynArray<GReal>& Amanith::GBSplineCurve1D::Knots ( ) const

Get knots array.

GInt32 Amanith::GBSplineCurve1D::KnotsCount ( ) const

Get number of knots, this function is provided for convenience.

GError Amanith::GBSplineCurve1D::LowerDegree ( GBSplineCurve1D & OutputCurve ) const

Decreases by one the degree of the curve, and put the result into a destination B-spline curve.

Degree reduction of Bezier curves is relatively well understood, and there exist a number of algorithms. Following the strategy developed for degree elevation, we have implemented a 3-steps algorithm for degree reduction (taken form The NURBS book):

  1. extract the i-th Bezier segment from B-spline
  2. degree reduce the i-th Bezier piece
  3. remove unnecessary knots between the (i-1)th and the i-th segments

Parameters:
OutputCurve the output degree-reduced B-spline curve.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GBSplineCurve1D::LowerDegree ( )

Decreases by one the degree of the curve.

Degree reduction of Bezier curves is relatively well understood, and there exist a number of algorithms. Following the strategy developed for degree elevation, we have implemented a 3-steps algorithm for degree reduction (taken form The NURBS book):

  1. extract the i-th Bezier segment from B-spline
  2. degree reduce the i-th Bezier piece
  3. remove unnecessary knots between the (i-1)th and the i-th segments

Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

void Amanith::GBSplineCurve1D::Multiplicities ( GDynArray< GKnotMultiplicity > & Values ) const

Get knots multiplicities.

GInt32 Amanith::GBSplineCurve1D::Multiplicity ( const GReal u ) const

Calculate a knot multiplicity.

GReal Amanith::GBSplineCurve1D::Point ( const GUInt32 Index ) const [virtual]

Get Index-th control point; Index must be valid, else a point with infinitive components is returned.

Implements Amanith::GCurve1D.

const GDynArray<GReal>& Amanith::GBSplineCurve1D::Points ( ) const

Get control points array.

GUInt32 Amanith::GBSplineCurve1D::PointsCount ( ) const [virtual]

Returns number of control points.

Implements Amanith::GCurve1D.

GError Amanith::GBSplineCurve1D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain, and sign this B-spline curve as modified.

The function rescale and shift all knots, in according to specified new domain.

  • Lets call: [a; b] the current domain. Let 'u' be a domain parameter value.
  • Lets call: [c; d] the new wanted domain. Let 's' be the new domain value corresponding to 'u'.
  • Lets set k = (d - c) / (b - a)

We know that f(s) = (1 / k) * s - (c / k) + a. This function is called the re-parametrization function.
u = f(s) is well posed, because:

  • f(c) = a
  • f(d) = b
  • f'(s) > 0 for all s included in [c; d] (it means that f(s) is strictly increasing)

It results that C(f(s)) is a re-parametrization of C(u). C(s) is geometrically the same curve as C(u), but parametrically they are different:

  • internal point mapping: internal knots becomes

  • modifications of derivatives, note that only magnitudes change:

Parameters:
NewMinValue | the lower bound of the new domain.
NewMaxValue | the upper bound of the new domain.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if NewMinValue is greater than NewMaxValue they will be swapped, so any combination of values is valid.

Reimplemented from Amanith::GCurve1D.

GError Amanith::GBSplineCurve1D::SetPoint | ( | const GUInt32 | Index,
 |  | const GReal | NewPoint
 | ) | [virtual]

Set Index-th control point; Index must be valid.

Implements Amanith::GCurve1D.

GError Amanith::GBSplineCurve1D::SetPoints | ( | const GDynArray< GReal > & | NewPoints,
 |  | const GInt32 | Degree,
 |  | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue,
 |  | const GBool | Opened = G_TRUE,
 |  | const GBool | Uniform = G_FALSE
 | ) |

Construct a B-spline curve, specifying control points, degree and domain. Example:

    GDynArray<GReal> pts;

    // the following code create a uniform clamped cubic B-spline, with a [-0.2; 3.0] domain
    pts.push_back(13);
    pts.push_back(5);
    pts.push_back(10);
    pts.push_back(8);
    bsplineCurve.SetPoints(pts, 3, -0.2, 3.0, G_TRUE, G_TRUE);

Parameters:
NewPoints | control points array; array must contains at least 2 points, else an G_INVALID_PARAMETER error code will be returned.
Degree | desired B-spline degree, it must be positive (at least 1) else an G_INVALID_PARAMETER error code will be returned.
NewMinValue | lower bound of the new domain.
NewMaxValue | upper bound of the new domain.
Opened | if G_TRUE, a "clamped" knots vector will be created (the B-spline will touch the endpoints).
Uniform | if G_TRUE generated knots will be uniform-spanned across current domain. Else a centripetal (chord-length) schema will be used to generate knots vector.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GBSplineCurve1D::SetPoints | ( | const GDynArray< GReal > & | NewPoints,
 |  | const GInt32 | Degree,
 |  | const GBool | Opened = G_TRUE,
 |  | const GBool | Uniform = G_FALSE
 | ) |

Construct a B-spline curve, specifying control points and degree. Example:

    GDynArray<GReal> pts;

    // the following code create a non-uniform clamped cubic B-spline
    pts.push_back(13);
    pts.push_back(5);
    pts.push_back(10);
    pts.push_back(8);
    bsplineCurve.SetPoints(pts, 3);

Parameters:
NewPoints | control points array; array must contains at least 2 points, else an G_INVALID_PARAMETER error code will be returned.
Degree | desired B-spline degree, it must be positive (at least 1) else an G_INVALID_PARAMETER error code will be returned.
Opened | if G_TRUE, a "clamped" knots vector will be created (the B-spline will touch the endpoints).
Uniform | if G_TRUE generated knots will be uniform-spanned across current domain. Else a centripetal (chord-length) schema will be used to generate knots vector.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
the curve domain will not be changed.

GError Amanith::GBSplineCurve1D::SolveBandedSystem | ( | const GDynArray< GReal > & | BasisMatrix,
 |  | const GInt32 | MatrixSize,
 |  | const GInt32 | LeftSemiBandWidth,
 |  | const GInt32 | RightSemiBandWidth,
 |  | GDynArray< GReal > & | Rhs
 | ) | [static, protected]

Resolve banded system for B-spline fitting.

The documentation for this class was generated from the following files:
  • gbsplinecurve1d.h
  • gbsplinecurve1d.cpp


Amanith::GBSplineCurve1D Member List

This is the complete list of members for Amanith::GBSplineCurve1D, including all inherited members.

As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GBSplineCurve1D | [protected, virtual]
ClassID() const | Amanith::GBSplineCurve1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GBSplineCurve1D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Cut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GCurve1D |
Cut(const GReal u0, const GReal u1, GCurve1D *OutCurve) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos, GCurve1D *RightCurve, GCurve1D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve1D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Degree() const | Amanith::GBSplineCurve1D |
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GBSplineCurve1D | [virtual]
DerivedClassID() const | Amanith::GBSplineCurve1D | [virtual]
DoCut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GBSplineCurve1D | [protected, virtual]
Domain() const | Amanith::GCurve1D |
DomainEnd() const | Amanith::GCurve1D |
DomainStart() const | Amanith::GCurve1D |
EndPoint() const | Amanith::GCurve1D |
Evaluate(const GReal u) const | Amanith::GBSplineCurve1D | [virtual]
EvaluateBasisFunc(const GReal u, const GInt32 Index, const GInt32 Degree) const | Amanith::GBSplineCurve1D |
FindSpan(const GReal u) const | Amanith::GBSplineCurve1D |
FindSpanMult(const GReal u, GInt32 &Multiplicity) const | Amanith::GBSplineCurve1D |
GBSplineCurve1D() | Amanith::GBSplineCurve1D |
GBSplineCurve1D(const GElement *Owner) | Amanith::GBSplineCurve1D |
GCurve1D() | Amanith::GCurve1D |
GCurve1D(const GElement *Owner) | Amanith::GCurve1D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GlobalFit(const GInt32 Degree, const GDynArray< GReal > &FitPoints, const GReal MinKnotValue=0, const GReal MaxKnotValue=1) | Amanith::GBSplineCurve1D |
GlobalFit(const GInt32 Degree, const GDynArray< GReal > &FitPoints, const GReal Derivative0, const GReal Derivative1, const GReal MinKnotValue=0, const GReal MaxKnotValue=1) | Amanith::GBSplineCurve1D |
GlobalFit(const GInt32 Degree, const GDynArray< GReal > &FitPoints, const GDynArray< GReal > &Derivatives, const GReal MinKnotValue=0, const GReal MaxKnotValue=1) | Amanith::GBSplineCurve1D |
GlobalNaturalFit(const GInt32 Degree, const GDynArray< GReal > &FitPoints, const GReal MinKnotValue=0, const GReal MaxKnotValue=1) | Amanith::GBSplineCurve1D |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve1D | [virtual]
HigherDegree(const GInt32 HowManyTimes) | Amanith::GBSplineCurve1D |
HigherDegree(const GInt32 HowManyTimes, GBSplineCurve1D &OutputCurve) const | Amanith::GBSplineCurve1D |
InsertKnot(const GReal u) | Amanith::GBSplineCurve1D |
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Knots() const | Amanith::GBSplineCurve1D |
KnotsCount() const | Amanith::GBSplineCurve1D |
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D | [virtual]
LowerDegree() | Amanith::GBSplineCurve1D |
LowerDegree(GBSplineCurve1D &OutputCurve) const | Amanith::GBSplineCurve1D |
Multiplicities(GDynArray< GKnotMultiplicity > &Values) const | Amanith::GBSplineCurve1D |
Multiplicity(const GReal u) const | Amanith::GBSplineCurve1D |
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
Point(const GUInt32 Index) const | Amanith::GBSplineCurve1D | [virtual]
Points() const | Amanith::GBSplineCurve1D |
PointsCount() const | Amanith::GBSplineCurve1D | [virtual]
Scale(const GReal Pivot, const GReal ScaleAmount) | Amanith::GCurve1D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GBSplineCurve1D | [virtual]
SetEndPoint(const GReal NewValue) | Amanith::GCurve1D |
SetPoint(const GUInt32 Index, const GReal NewPoint) | Amanith::GBSplineCurve1D | [virtual]
SetPoints(const GDynArray< GReal > &NewPoints, const GInt32 Degree, const GBool Opened=G_TRUE, const GBool Uniform=G_FALSE) | Amanith::GBSplineCurve1D |
SetPoints(const GDynArray< GReal > &NewPoints, const GInt32 Degree, const GReal NewMinValue, const GReal NewMaxValue, const GBool Opened=G_TRUE, const GBool Uniform=G_FALSE) | Amanith::GBSplineCurve1D |
SetStartPoint(const GReal NewValue) | Amanith::GCurve1D |
SolveBandedSystem(const GDynArray< GReal > &BasisMatrix, const GInt32 MatrixSize, const GInt32 LeftSemiBandWidth, const GInt32 RightSemiBandWidth, GDynArray< GReal > &Rhs) | Amanith::GBSplineCurve1D | [protected, static]
Speed(const GReal u) const | Amanith::GCurve1D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve1D | [protected, static]
StartPoint() const | Amanith::GCurve1D |
Tangent(const GReal u) const | Amanith::GCurve1D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Translate(const GReal Translation) | Amanith::GCurve1D |
~GBSplineCurve1D() | Amanith::GBSplineCurve1D | [virtual]
~GCurve1D() | Amanith::GCurve1D | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GBSplineCurve1DProxy

Amanith::GBSplineCurve1DProxy Class Reference

This class implements a GBSplineCurve1D proxy (provider). More...

Inheritance diagram for Amanith::GBSplineCurve1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GBSplineCurve1D proxy (provider).

This proxy provides the creation of GBSplineCurve1D class instances.

Member Function Documentation

const GClassID& Amanith::GBSplineCurve1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GBSplineCurve1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GBSplineCurve1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GBSplineCurve1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gbsplinecurve1d.h


Amanith::GBSplineCurve1DProxy Member List

This is the complete list of members for Amanith::GBSplineCurve1DProxy, including all inherited members.

ClassID() const | Amanith::GBSplineCurve1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GBSplineCurve1DProxy | [virtual]
DerivedClassID() const | Amanith::GBSplineCurve1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GBSplineCurve2D

Amanith::GBSplineCurve2D Class Reference

A generic degree 2D B-spline curve. More...

Inheritance diagram for Amanith::GBSplineCurve2D:

Amanith::GCurve2D Amanith::GElement List of all members.

Public Member Functions

  • GBSplineCurve2D ()
  • GBSplineCurve2D (const GElement *Owner)
  • ~GBSplineCurve2D ()
  • void Clear ()
  • GUInt32 PointsCount () const
  • GInt32 Degree () const
  • GPoint2 Point (const GUInt32 Index) const
  • const GDynArray< GPoint2 > & Points () const
  • const GDynArray< GReal > & Knots () const
  • GInt32 Multiplicity (const GReal u) const
  • GInt32 FindSpan (const GReal u) const
  • GInt32 FindSpanMult (const GReal u, GInt32 &Multiplicity) const
  • void Multiplicities (GDynArray< GKnotMultiplicity > &Values) const
  • GError SetPoint (const GUInt32 Index, const GPoint2 &NewPoint)
  • GError SetPoints (const GDynArray< GPoint2 > &NewPoints, const GInt32 Degree, const GBool Opened=G_TRUE, const GBool Uniform=G_FALSE)
  • GError SetPoints (const GDynArray< GPoint2 > &NewPoints, const GInt32 Degree, const GReal NewMinValue, const GReal NewMaxValue, const GBool Opened=G_TRUE, const GBool Uniform=G_FALSE)
  • GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • GInt32 KnotsCount () const
  • GReal ControlPolygonLength (const GUInt32 FromIndex, const GUInt32 ToIndex) const
  • GError HigherDegree (const GInt32 HowManyTimes)
  • GError HigherDegree (const GInt32 HowManyTimes, GBSplineCurve2D &OutputCurve) const
  • GError LowerDegree ()
  • GError LowerDegree (GBSplineCurve2D &OutputCurve) const
  • GInt32 CrossingCount (const GRay2 &Ray) const
  • GBool IntersectRay (const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const
  • GError InsertKnot (const GReal u)
  • GError Flatten (GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const
  • GReal Variation () const
  • GReal EvaluateBasisFunc (const GReal u, const GInt32 Index, const GInt32 Degree) const
  • GPoint2 Evaluate (const GReal u) const
  • GVector2 Derivative (const GDerivativeOrder Order, const GReal u) const
  • GError GlobalFit (const GInt32 Degree, const GDynArray< GPoint2 > &FitPoints, const GReal MinKnotValue=0, const GReal MaxKnotValue=1)
  • GError GlobalNaturalFit (const GInt32 Degree, const GDynArray< GPoint2 > &FitPoints, const GReal MinKnotValue=0, const GReal MaxKnotValue=1)
  • GError GlobalFit (const GInt32 Degree, const GDynArray< GPoint2 > &FitPoints, const GVector2 &Derivative0, const GVector2 &Derivative1, const GReal MinKnotValue=0, const GReal MaxKnotValue=1)
  • GError GlobalFit (const GInt32 Degree, const GDynArray< GPoint2 > &FitPoints, const GDynArray< GVector2 > &Derivatives, const GReal MinKnotValue=0, const GReal MaxKnotValue=1)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GReal Variation (const GReal u0, const GReal u1, const GPoint2 &p0, const GPoint2 &p1) const
  • GInt32 CrossingCountX () const
  • GBool IntersectXRay (GDynArray< GVector2 > &Intersections, const GReal Precision, const GUInt32 MaxIterations) const
  • GError BaseClone (const GElement &Source)
  • GError DoCut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const

Static Protected Member Functions

  • static GError SolveBandedSystem (const GDynArray< GReal > &BasisMatrix, const GInt32 MatrixSize, const GInt32 LeftSemiBandWidth, const GInt32 RightSemiBandWidth, GDynArray< GPoint2 > &Rhs)

Detailed Description

A generic degree 2D B-spline curve.

class GBSplineCurve2D

B-spline curves are generalizations of Bezier curves. Given (n+1) control points P0, P1, ..., Pn and a knot vector U = { u0, u1, ..., um }, the B-spline curve of degree p defined by these control points and knot vector U is:

where Ni,p(u) are B-spline basis functions of degree p. The i-th B-spline basis function of degree p, written as Ni,p(u), is defined recursively as follows:

The form of a B-spline curve is very similar to that of a Bezier curve. Unlike a Bezier curve, a B-spline curve involves more information, namely: a set of (n+1) control points, a knot vector of (m+1) knots, and a degree p. Note that n, m and p must satisfy m = n + p + 1.
More precisely, if we want to define a B-spline curve of degree p with n + 1 control points, we have to supply n + p + 2 knots u0, u1, ..., un+p+1. On the other hand, if a knot vector of m + 1 knots and n + 1 control points are given, the degree of the B-spline curve is p = m - n - 1. The point on the curve that corresponds to a knot ui, C(ui), is referred to as a knot point. Hence, the knot points divide a B-spline curve into curve segments, each of which is defined on a knot span. It can be shown that these curve segments are all Bezier curve of degree p.
If the knot vector does not have any particular structure, the generated curve will not touch the first and last legs of the control polyline. This type of B-spline curves is called unclamped B-spline curves. We may want to clamp the curve so that it is tangent to the first and the last legs at the first and last control points, respectively, as a Bezier curve does. To do so, the first knot and the last knot must be of multiplicity p+1. This will generate the so-called clamped B-spline curves.
Amanith supports both flavors.

Constructor & Destructor Documentation

Amanith::GBSplineCurve2D::GBSplineCurve2D ( )

Default constructor, creates an empty B-spline.

Amanith::GBSplineCurve2D::GBSplineCurve2D ( const GElement * Owner )

Constructor with owner (kernel) parameter, creates an empty B-spline.

Amanith::GBSplineCurve2D::~GBSplineCurve2D ( )

Destructor.

Member Function Documentation

GError Amanith::GBSplineCurve2D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source B-spline curve into this curve.

Reimplemented from Amanith::GCurve2D.

const GClassID& Amanith::GBSplineCurve2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GCurve2D.

void Amanith::GBSplineCurve2D::Clear ( ) [virtual]

Clear the curve (remove control points, free internal structures and set an empty domain).

Reimplemented from Amanith::GCurve2D.

GReal Amanith::GBSplineCurve2D::ControlPolygonLength | ( | const GUInt32 | FromIndex,
 |  | const GUInt32 | ToIndex
 | ) | const

Returns control polygon length.

Parameters:
FromIndex | lower index of considered control points.
ToIndex | upper index of considered control points.
Returns:
control polygon length, for specified control points range.

GInt32 Amanith::GBSplineCurve2D::CrossingCount ( const GRay2 & Ray ) const

Returns number of intersection between control polygon and a ray.

GInt32 Amanith::GBSplineCurve2D::CrossingCountX ( ) const [protected]

Returns the number of intersection between control polygon and X axis.

GInt32 Amanith::GBSplineCurve2D::Degree ( ) const

Get curve degree.

GVector2 Amanith::GBSplineCurve2D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve2D.

const GClassID& Amanith::GBSplineCurve2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GCurve2D.

GError Amanith::GBSplineCurve2D::DoCut | ( | const GReal | u,
 |  | GCurve2D * | RightCurve,
 |  | GCurve2D * | LeftCurve
 | ) | const [protected, virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right B-spline arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GBSplineCurve2D classes (so cast is type-safe).

Implements Amanith::GCurve2D.

GPoint2 Amanith::GBSplineCurve2D::Evaluate ( const GReal u ) const [virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve2D.

GReal Amanith::GBSplineCurve2D::EvaluateBasisFunc | ( | const GReal | u,
 |  | const GInt32 | Index,
 |  | const GInt32 | Degree
 | ) | const

Evaluate Index-th basic function of specified degree at the given global parameter value. This function is provided only for completeness.

To define B-spline basis functions, we need to specify the degree, p. The i-th B-spline basis function of degree p, written as Ni,p(u), is defined recursively as follows:

Parameters:
u | Global parameter at which we wanna calculate the basis function value.
Index | the index of basis function.
Degree | the degree of basis function.
Returns:
the value of the Index-th basis function of specified degree.

GInt32 Amanith::GBSplineCurve2D::FindSpan ( const GReal u ) const

Find knot span.

GInt32 Amanith::GBSplineCurve2D::FindSpanMult | ( | const GReal | u,
 |  | GInt32 & | Multiplicity
 | ) | const

Find at the same time knot span and knot multiplicity.

Note:
This method is faster than call disjointedly FindSpan() and Multiplicity() functions.

GError Amanith::GBSplineCurve2D::Flatten | ( | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint = G_TRUE
 | ) | const [virtual]

Flats the curve specifying a max error/variation (squared chordal distance).

Parameters:
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.

Implements Amanith::GCurve2D.

GError Amanith::GBSplineCurve2D::GlobalFit | ( | const GInt32 | Degree,
 |  | const GDynArray< GPoint2 > & | FitPoints,
 |  | const GDynArray< GVector2 > & | Derivatives,
 |  | const GReal | MinKnotValue = 0,
 |  | const GReal | MaxKnotValue = 1
 | ) |

Construct a B-spline that interpolates given points data, specifying also the first order derivatives that the curve must assume at each interpolated points.

Parameters:
Degree | the degree of the interpolating B-spline
FitPoints | the points array, every point will be interpolated by the constructed B-spline.
Derivatives | first order derivatives corresponding to each point.
MinKnotValue | lower bound of the interpolating B-spline's domain.
MaxKnotValue | upper bound of the interpolating B-spline's domain.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.
Note:
FitPoints and Derivatives arrays must have the same dimension. This method is called "global" because a linear (banded) system of equations is set up and solved, in opposite to local methods (that are more geometric in nature, and construct the curve segment-wise using only local data for each step).

GError Amanith::GBSplineCurve2D::GlobalFit | ( | const GInt32 | Degree,
 |  | const GDynArray< GPoint2 > & | FitPoints,
 |  | const GVector2 & | Derivative0,
 |  | const GVector2 & | Derivative1,
 |  | const GReal | MinKnotValue = 0,
 |  | const GReal | MaxKnotValue = 1
 | ) |

Construct a B-spline that interpolates given points data, specifying also the first order derivatives that the curve must assume at its end points.

Parameters:
Degree | the degree of the interpolating B-spline
FitPoints | the points array, every point will be interpolated by the constructed B-spline.
Derivative0 | first order derivative corresponding to the lower bound of new domain.
Derivative1 | first order derivative corresponding to the upper bound of new domain.
MinKnotValue | lower bound of the interpolating B-spline's domain.
MaxKnotValue | upper bound of the interpolating B-spline's domain.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.
Note:
this method is called "global" because a linear (banded) system of equations is set up and solved, in opposite to local methods (that are more geometric in nature, and construct the curve segment-wise using only local data for each step).

GError Amanith::GBSplineCurve2D::GlobalFit | ( | const GInt32 | Degree,
 |  | const GDynArray< GPoint2 > & | FitPoints,
 |  | const GReal | MinKnotValue = 0,
 |  | const GReal | MaxKnotValue = 1
 | ) |

Construct a B-spline that interpolates given points data.

Parameters:
Degree | the degree of the interpolating B-spline
FitPoints | the points array, every point will be interpolated by the constructed B-spline
MinKnotValue | lower bound of the interpolating B-spline's domain.
MaxKnotValue | upper bound of the interpolating B-spline's domain.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.
Note:
this method is called "global" because a linear (banded) system of equations is set up and solved, in opposite to local methods (that are more geometric in nature, and construct the curve segment-wise using only local data for each step).

GError Amanith::GBSplineCurve2D::GlobalNaturalFit | ( | const GInt32 | Degree,
 |  | const GDynArray< GPoint2 > & | FitPoints,
 |  | const GReal | MinKnotValue = 0,
 |  | const GReal | MaxKnotValue = 1
 | ) |

Construct a natural B-spline that interpolates given points data.

Here the term 'natural' means that generated B-spline will have a null (zero) curvature at its domain endpoints.

Parameters:
Degree | the degree of the interpolating B-spline
FitPoints | the points array, every point will be interpolated by the constructed B-spline
MinKnotValue | lower bound of the interpolating B-spline's domain.
MaxKnotValue | upper bound of the interpolating B-spline's domain.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.
Note:
this method is called "global" because a linear (banded) system of equations is set up and solved, in opposite to local methods (that are more geometric in nature, and construct the curve segment-wise using only local data for each step).

GError Amanith::GBSplineCurve2D::HigherDegree | ( | const GInt32 | HowManyTimes,
 |  | GBSplineCurve2D & | OutputCurve
 | ) | const

Increases by HowManyTimes the degree of the curve (without changing its shape), and put the result into a destination B-spline curve.

The steps are:

  1. extract the i-th Bezier segment from the curve.
  2. degree elevate the i-th Bezier segment.
  3. remove unnecessary knots separating the (i-1)th and i-th segments.

Parameters:
HowManyTimes | the degree elevation amount.
OutputCurve | the output degree-elevated B-spline curve.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
The implemented algorithm is simpler and competitive with that given in "Prautzsch, H., and piper, B., A fast algorithm to raise the degree of spline curves, Comput. Aid. Geom. Des., Vol. 8, pp. 253-261, 1991", particularly in the case where the degree is to be raised by more than 1.

GError Amanith::GBSplineCurve2D::HigherDegree ( const GInt32 HowManyTimes )

Increases by HowManyTimes the degree of the curve (without changing its shape).

The steps are:

  1. extract the i-th Bezier segment from the curve.
  2. degree elevate the i-th Bezier segment.
  3. remove unnecessary knots separating the (i-1)th and i-th segments.

Parameters:
HowManyTimes the degree elevation amount.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
The implemented algorithm is simpler and competitive with that given in "Prautzsch, H., and piper, B., A fast algorithm to raise the degree of spline curves, Comput. Aid. Geom. Des., Vol. 8, pp. 253-261, 1991", particularly in the case where the degree is to be raised by more than 1.

GError Amanith::GBSplineCurve2D::InsertKnot ( const GReal u )

Knot insertion. This function is provided only for completeness.

The meaning of knot insertion is adding a new knot into the existing knot vector without changing the shape of the curve. This new knot may be equal to an existing knot and, in this case, the multiplicity of that knot is increased by one. Because of the fundamental equality m = n + p + 1 (p is the degree, n+1 is the number of control points and m is the number of knots less one), after adding a new knot, the value of m is increased by one and, consequently, either the number of control points or the degree of the curve must also be increased by one.
Changing the degree of the curve due to the increase of knots will change the shape of the curve globally and will not be considered. Therefore, inserting a new knot causes a new control point to be added. In fact, some existing control points are removed and replaced with new ones by corner cutting.

Parameters:
u the knot value to insert, must be inside curve domain else a G_INVALID_PARAMETER error code will be returned.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

GBool Amanith::GBSplineCurve2D::IntersectRay | ( | const GRay2 & | NormalizedRay,
 |  | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision = G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [virtual]

Intersect the B-spline curve with a normalized ray, and returns a list of intersections.

Here's the implemented algorithm:

  1. First transform all control points into "ray space", so that line is starting at (0, 0) and have a direction of (1, 0) (X axis).
  2. At this point Variation diminishing can be exploited. After point (1) number of intersection ray-controlpolygon is a simple y-change sign test.
  3. A recursive loop splits the curve until every possible solution are isolated.
    • if the curve piece (its control polygon) does not intersect x-axis just discard it and exit.
    • if the curve piece (its control polygon) intersects more than once x-axis split this piece (say at midpoint parameter) into right and left arcs. Call the function for left arc and then for right arc (this order is the most clever, so solutions are automatically ordered in ascending order).
    • if the curve piece intersects (its control polygon intersects) just once x-axis, the Brents's method is used to catch the solution. This method requires curve evaluation only, its "root bracketing" and overall it can't diverge, so the solution is always find with good convergence.

Parameters:
NormalizedRay | a normalized ray used for intersection test. Ray must be normalized, else incorrect results are possible.
Intersections | every found intersection will be appended to this array. Each intersection is a 2D vector; it has at position 0 the curve parameter (domain) value corresponding to the intersection, and at position 1 the ray parameter value corresponding to the intersection.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution. If the current solution calculus does not reach the specified Precision within MaxIterations iterations, the current solution calculus is stopped, the solution is appended into output array, and calculus go for the next found solution. The more this value is, the more is the accuracy of each solution (and the more is the time taken from this method).

Implements Amanith::GCurve2D.

GBool Amanith::GBSplineCurve2D::IntersectXRay | ( | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision,
 |  | const GUInt32 | MaxIterations
 | ) | const [protected]

Compute intersections between this curve and the X axis (1, 0).

Parameters:
Intersections | every found intersection will be appended to this array.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution. If the current solution calculus does not reach the specified Precision within MaxIterations iterations, the current solution calculus is stopped, the solution is appended into output array, and calculus go for the next found solution. The more this value is, the more is the accuracy of each solution (and the more is the time taken from this method).
Note:
this function uses the Brent method to refine each found intersection. For more information about Brent's method, pleas check this site http://mathworld.wolfram.com/BrentsMethod.html.

const GDynArray<GReal>& Amanith::GBSplineCurve2D::Knots ( ) const

Get knots array.

GInt32 Amanith::GBSplineCurve2D::KnotsCount ( ) const

Get number of knots, this function is provided for convenience.

GError Amanith::GBSplineCurve2D::LowerDegree ( GBSplineCurve2D & OutputCurve ) const

Decreases by one the degree of the curve, and put the result into a destination B-spline curve.

Degree reduction of Bezier curves is relatively well understood, and there exist a number of algorithms. Following the strategy developed for degree elevation, we have implemented a 3-steps algorithm for degree reduction (taken form The NURBS book):

  1. extract the i-th Bezier segment from B-spline
  2. degree reduce the i-th Bezier piece
  3. remove unnecessary knots between the (i-1)th and the i-th segments

Parameters:
OutputCurve the output degree-reduced B-spline curve.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GBSplineCurve2D::LowerDegree ( )

Decreases by one the degree of the curve.

Degree reduction of Bezier curves is relatively well understood, and there exist a number of algorithms. Following the strategy developed for degree elevation, we have implemented a 3-steps algorithm for degree reduction (taken form The NURBS book):

  1. extract the i-th Bezier segment from B-spline
  2. degree reduce the i-th Bezier piece
  3. remove unnecessary knots between the (i-1)th and the i-th segments

Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

void Amanith::GBSplineCurve2D::Multiplicities ( GDynArray< GKnotMultiplicity > & Values ) const

Get knots multiplicities.

GInt32 Amanith::GBSplineCurve2D::Multiplicity ( const GReal u ) const

Calculate a knot multiplicity.

GPoint2 Amanith::GBSplineCurve2D::Point ( const GUInt32 Index ) const [virtual]

Get Index-th control point; Index must be valid, else a point with infinitive components is returned.

Implements Amanith::GCurve2D.

const GDynArray<GPoint2>& Amanith::GBSplineCurve2D::Points ( ) const

Get control points array.

GUInt32 Amanith::GBSplineCurve2D::PointsCount ( ) const [virtual]

Returns number of control points.

Implements Amanith::GCurve2D.

GError Amanith::GBSplineCurve2D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain, and sign this B-spline curve as modified.

The function rescale and shift all knots, in according to specified new domain.

  • Lets call: [a; b] the current domain. Let 'u' be a domain parameter value.
  • Lets call: [c; d] the new wanted domain. Let 's' be the new domain value corresponding to 'u'.
  • Lets set k = (d - c) / (b - a)

We know that f(s) = (1 / k) * s - (c / k) + a. This function is called the re-parametrization function.
u = f(s) is well posed, because:

  • f(c) = a
  • f(d) = b
  • f'(s) > 0 for all s included in [c; d] (it means that f(s) is strictly increasing)

It results that C(f(s)) is a re-parametrization of C(u). C(s) is geometrically the same curve as C(u), but parametrically they are different:

  • internal point mapping: internal knots becomes

  • modifications of derivatives, note that only magnitudes change:

Parameters:
NewMinValue | the lower bound of the new domain.
NewMaxValue | the upper bound of the new domain.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if NewMinValue is greater than NewMaxValue they will be swapped, so any combination of values is valid.

Reimplemented from Amanith::GCurve2D.

GError Amanith::GBSplineCurve2D::SetPoint | ( | const GUInt32 | Index,
 |  | const GPoint2 & | NewPoint
 | ) | [virtual]

Set Index-th control point; Index must be valid.

Implements Amanith::GCurve2D.

GError Amanith::GBSplineCurve2D::SetPoints | ( | const GDynArray< GPoint2 > & | NewPoints,
 |  | const GInt32 | Degree,
 |  | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue,
 |  | const GBool | Opened = G_TRUE,
 |  | const GBool | Uniform = G_FALSE
 | ) |

Construct a B-spline curve, specifying control points, degree and domain. Example:

    GDynArray<GPoint2> pts;

    // the following code create a uniform clamped cubic B-spline, with a [-0.2; 3.0] domain
    pts.push_back(GPoint2(13, 5));
    pts.push_back(GPoint2(5, 3));
    pts.push_back(GPoint2(10, 8));
    pts.push_back(GPoint2(8, 3));
    bsplineCurve.SetPoints(pts, 3, -0.2, 3.0, G_TRUE, G_TRUE);

Parameters:
NewPoints | control points array; array must contains at least 2 points, else an G_INVALID_PARAMETER error code will be returned.
Degree | desired B-spline degree, it must be positive (at least 1) else an G_INVALID_PARAMETER error code will be returned.
NewMinValue | lower bound of the new domain.
NewMaxValue | upper bound of the new domain.
Opened | if G_TRUE, a "clamped" knots vector will be created (the B-spline will touch the endpoints).
Uniform | if G_TRUE generated knots will be uniform-spanned across current domain. Else a centripetal (chord-length) schema will be used to generate knots vector.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GBSplineCurve2D::SetPoints | ( | const GDynArray< GPoint2 > & | NewPoints,
 |  | const GInt32 | Degree,
 |  | const GBool | Opened = G_TRUE,
 |  | const GBool | Uniform = G_FALSE
 | ) |

Construct a B-spline curve, specifying control points and degree. Example:

    GDynArray<GPoint2> pts;

    // the following code create a non-uniform clamped cubic B-spline
    pts.push_back(GPoint2(13, 5));
    pts.push_back(GPoint2(5, 3));
    pts.push_back(GPoint2(10, 8));
    pts.push_back(GPoint2(8, 3));
    bsplineCurve.SetPoints(pts, 3);

Parameters:
NewPoints | control points array; array must contains at least 2 points, else an G_INVALID_PARAMETER error code will be returned.
Degree | desired B-spline degree, it must be positive (at least 1) else an G_INVALID_PARAMETER error code will be returned.
Opened | if G_TRUE, a "clamped" knots vector will be created (the B-spline will touch the endpoints).
Uniform | if G_TRUE generated knots will be uniform-spanned across current domain. Else a centripetal (chord-length) schema will be used to generate knots vector.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
the curve domain will not be changed.

GError Amanith::GBSplineCurve2D::SolveBandedSystem | ( | const GDynArray< GReal > & | BasisMatrix,
 |  | const GInt32 | MatrixSize,
 |  | const GInt32 | LeftSemiBandWidth,
 |  | const GInt32 | RightSemiBandWidth,
 |  | GDynArray< GPoint2 > & | Rhs
 | ) | [static, protected]

Resolve banded system for B-spline fitting.

GReal Amanith::GBSplineCurve2D::Variation ( ) const [virtual]

Get variation (squared chordal distance) in the current domain range.

Implements Amanith::GCurve2D.

GReal Amanith::GBSplineCurve2D::Variation | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | const GPoint2 & | p0,
 |  | const GPoint2 & | p1
 | ) | const [protected]

Get max variation (squared chordal distance) in the range [u0; u1]; here are necessary also curve evaluations at the interval ends.

Parameters:
u0 | lower bound of interested interval
u1 | upper bound of interested interval
p0 | the point corresponding to the curve evaluation at u0
p1 | the point corresponding to the curve evaluation at u1
Note:
The interval is ensured to be completely inside the curve domain.
The documentation for this class was generated from the following files:
  • gbsplinecurve2d.h
  • gbsplinecurve2d.cpp


Amanith::GBSplineCurve2D Member List

This is the complete list of members for Amanith::GBSplineCurve2D, including all inherited members.

As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GBSplineCurve2D | [protected, virtual]
ClassID() const | Amanith::GBSplineCurve2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GBSplineCurve2D | [virtual]
ControlPolygonLength(const GUInt32 FromIndex, const GUInt32 ToIndex) const | Amanith::GBSplineCurve2D |
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
CrossingCount(const GRay2 &Ray) const | Amanith::GBSplineCurve2D |
CrossingCountX() const | Amanith::GBSplineCurve2D | [protected]
Curvature(const GReal u) const | Amanith::GCurve2D |
Cut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GCurve2D |
Cut(const GReal u0, const GReal u1, GCurve2D *OutCurve) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos, GCurve2D *RightCurve, GCurve2D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve2D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Degree() const | Amanith::GBSplineCurve2D |
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GBSplineCurve2D | [virtual]
DerivedClassID() const | Amanith::GBSplineCurve2D | [virtual]
DoCut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GBSplineCurve2D | [protected, virtual]
Domain() const | Amanith::GCurve2D |
DomainEnd() const | Amanith::GCurve2D |
DomainStart() const | Amanith::GCurve2D |
EndPoint() const | Amanith::GCurve2D |
Evaluate(const GReal u) const | Amanith::GBSplineCurve2D | [virtual]
EvaluateBasisFunc(const GReal u, const GInt32 Index, const GInt32 Degree) const | Amanith::GBSplineCurve2D |
FindSpan(const GReal u) const | Amanith::GBSplineCurve2D |
FindSpanMult(const GReal u, GInt32 &Multiplicity) const | Amanith::GBSplineCurve2D |
Flatten(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const | Amanith::GBSplineCurve2D | [virtual]
GBSplineCurve2D() | Amanith::GBSplineCurve2D |
GBSplineCurve2D(const GElement *Owner) | Amanith::GBSplineCurve2D |
GCurve2D() | Amanith::GCurve2D |
GCurve2D(const GElement *Owner) | Amanith::GCurve2D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GlobalFit(const GInt32 Degree, const GDynArray< GPoint2 > &FitPoints, const GReal MinKnotValue=0, const GReal MaxKnotValue=1) | Amanith::GBSplineCurve2D |
GlobalFit(const GInt32 Degree, const GDynArray< GPoint2 > &FitPoints, const GVector2 &Derivative0, const GVector2 &Derivative1, const GReal MinKnotValue=0, const GReal MaxKnotValue=1) | Amanith::GBSplineCurve2D |
GlobalFit(const GInt32 Degree, const GDynArray< GPoint2 > &FitPoints, const GDynArray< GVector2 > &Derivatives, const GReal MinKnotValue=0, const GReal MaxKnotValue=1) | Amanith::GBSplineCurve2D |
GlobalNaturalFit(const GInt32 Degree, const GDynArray< GPoint2 > &FitPoints, const GReal MinKnotValue=0, const GReal MaxKnotValue=1) | Amanith::GBSplineCurve2D |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve2D | [virtual]
HigherDegree(const GInt32 HowManyTimes) | Amanith::GBSplineCurve2D |
HigherDegree(const GInt32 HowManyTimes, GBSplineCurve2D &OutputCurve) const | Amanith::GBSplineCurve2D |
InsertKnot(const GReal u) | Amanith::GBSplineCurve2D |
IntersectRay(const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GBSplineCurve2D | [virtual]
IntersectXRay(GDynArray< GVector2 > &Intersections, const GReal Precision, const GUInt32 MaxIterations) const | Amanith::GBSplineCurve2D | [protected]
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Knots() const | Amanith::GBSplineCurve2D |
KnotsCount() const | Amanith::GBSplineCurve2D |
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D | [virtual]
LowerDegree() | Amanith::GBSplineCurve2D |
LowerDegree(GBSplineCurve2D &OutputCurve) const | Amanith::GBSplineCurve2D |
Multiplicities(GDynArray< GKnotMultiplicity > &Values) const | Amanith::GBSplineCurve2D |
Multiplicity(const GReal u) const | Amanith::GBSplineCurve2D |
Normal(const GReal u) const | Amanith::GCurve2D |
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
Point(const GUInt32 Index) const | Amanith::GBSplineCurve2D | [virtual]
Points() const | Amanith::GBSplineCurve2D |
PointsCount() const | Amanith::GBSplineCurve2D | [virtual]
Rotate(const GPoint2 &Pivot, const GReal RadAmount) | Amanith::GCurve2D | [virtual]
Scale(const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount) | Amanith::GCurve2D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GBSplineCurve2D | [virtual]
SetEndPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
SetPoint(const GUInt32 Index, const GPoint2 &NewPoint) | Amanith::GBSplineCurve2D | [virtual]
SetPoints(const GDynArray< GPoint2 > &NewPoints, const GInt32 Degree, const GBool Opened=G_TRUE, const GBool Uniform=G_FALSE) | Amanith::GBSplineCurve2D |
SetPoints(const GDynArray< GPoint2 > &NewPoints, const GInt32 Degree, const GReal NewMinValue, const GReal NewMaxValue, const GBool Opened=G_TRUE, const GBool Uniform=G_FALSE) | Amanith::GBSplineCurve2D |
SetStartPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
SolveBandedSystem(const GDynArray< GReal > &BasisMatrix, const GInt32 MatrixSize, const GInt32 LeftSemiBandWidth, const GInt32 RightSemiBandWidth, GDynArray< GPoint2 > &Rhs) | Amanith::GBSplineCurve2D | [protected, static]
Speed(const GReal u) const | Amanith::GCurve2D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve2D | [protected, static]
StartPoint() const | Amanith::GCurve2D |
Tangent(const GReal u) const | Amanith::GCurve2D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Translate(const GVector2 &Translation) | Amanith::GCurve2D | [virtual]
Variation(const GReal u0, const GReal u1, const GPoint2 &p0, const GPoint2 &p1) const | Amanith::GBSplineCurve2D | [protected]
Variation() const | Amanith::GBSplineCurve2D | [virtual]
XForm(const GMatrix23 &Matrix) | Amanith::GCurve2D | [virtual]
XForm(const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE) | Amanith::GCurve2D | [virtual]
~GBSplineCurve2D() | Amanith::GBSplineCurve2D |
~GCurve2D() | Amanith::GCurve2D | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GBSplineCurve2DProxy

Amanith::GBSplineCurve2DProxy Class Reference

This class implements a GBSplineCurve2D proxy (provider). More...

Inheritance diagram for Amanith::GBSplineCurve2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GBSplineCurve2D proxy (provider).

This proxy provides the creation of GBSplineCurve2D class instances.

Member Function Documentation

const GClassID& Amanith::GBSplineCurve2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GBSplineCurve2DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GBSplineCurve2D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GBSplineCurve2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gbsplinecurve2d.h


Amanith::GBSplineCurve2DProxy Member List

This is the complete list of members for Amanith::GBSplineCurve2DProxy, including all inherited members.

ClassID() const | Amanith::GBSplineCurve2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GBSplineCurve2DProxy | [virtual]
DerivedClassID() const | Amanith::GBSplineCurve2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GCacheBank

Amanith::GCacheBank Class Reference

This virtual class represents a cache bank, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer). More...

Inheritance diagram for Amanith::GCacheBank:

Amanith::GOpenGLCacheBank List of all members.

Public Member Functions

  • GCacheBank ()
  • virtual ~GCacheBank ()
  • virtual GInt32 SlotsCount () const =0
  • virtual void Invalidate ()=0

Detailed Description

This virtual class represents a cache bank, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer).

A cache bank, after being filled, can be reused to draw cached shapes. The bank can be invalidated using the function Invalidate().

Constructor & Destructor Documentation

Amanith::GCacheBank::GCacheBank ( )

Constructor, it build an empty cache bank.

virtual Amanith::GCacheBank::~GCacheBank ( ) [virtual]

Destructor, it invalidates cached shapes and frees memory.

Member Function Documentation

virtual void Amanith::GCacheBank::Invalidate ( ) [pure virtual]

Invalidate the whole cache bank, freeing associated memory.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLCacheBank.

virtual GInt32 Amanith::GCacheBank::SlotsCount ( ) const [pure virtual]

Get the number of slots (cached shapes).

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLCacheBank.

The documentation for this class was generated from the following file:
  • gdrawboard.h


Amanith::GCacheBank Member List

This is the complete list of members for Amanith::GCacheBank, including all inherited members.

GCacheBank() | Amanith::GCacheBank |
Invalidate()=0 | Amanith::GCacheBank | [pure virtual]
SlotsCount() const =0 | Amanith::GCacheBank | [pure virtual]
~GCacheBank() | Amanith::GCacheBank | [virtual]


Amanith::GCharMap

Amanith::GCharMap Struct Reference

This structure describes a characters map. More...

List of all members.

Public Attributes

  • GDynArray< GEncodedChar > CharMap
  • GUInt32 PlatformID
  • GUInt32 EncodingID
  • GCharMapEncoding Encoding

Detailed Description

This structure describes a characters map.

A font object contains one or more tables, called charsmaps, that are used to convert character codes to glyph indexes. For example, most TrueType fonts contain two charsmaps. One is used to convert Unicode character codes to glyph indexes, the other is used to convert Apple Roman encoding into glyph indexes. Such fonts can then be used either on Windows (which uses Unicode) and Macintosh (which uses Apple Roman). Note also that a given charsmap might not map to all the glyphs present in the font.

Member Data Documentation

GDynArray<GEncodedChar> Amanith::GCharMap::CharMap

The associative map that link "char code" -> "glyph index". This.

GCharMapEncoding Amanith::GCharMap::Encoding

A tag identifying the charsmap.

GUInt32 Amanith::GCharMap::EncodingID

A platform specific encoding number. This also comes from the FreeType library (docs say: "This comes from TrueType specification and should be emulated similarly").

GUInt32 Amanith::GCharMap::PlatformID

An ID number describing the platform for the following encoding ID. This comes directly from the FreeType library (docs say: "This comes directly from the TrueType specification and should be emulated for other formats").

The documentation for this struct was generated from the following file:
  • gfont2d.h


Amanith::GCharMap Member List

This is the complete list of members for Amanith::GCharMap, including all inherited members.

CharMap | Amanith::GCharMap
Encoding | Amanith::GCharMap
EncodingID | Amanith::GCharMap
PlatformID | Amanith::GCharMap


Amanith::GClassID

Amanith::GClassID Class Reference

Amanith class descriptor, used by the introspection system. More...

List of all members.

Public Member Functions

  • GClassID ()
  • GClassID (const GChar8 *NewIDName, const GUInt32 NewID1, const GUInt32 NewID2, const GUInt32 NewID3, const GUInt32 NewID4)
  • GClassID (const GClassID &CID)
  • ~GClassID ()
  • void CopyFrom (const GClassID &CID)
  • const GChar8 * IDName () const
  • GBool operator== (const GClassID &CID) const
  • GBool operator!= (const GClassID &CID) const
  • GClassID & operator= (const GClassID &CID)
  • GBool IsNull () const

Static Public Attributes

  • static const GClassID Null = GClassID()

Detailed Description

Amanith class descriptor, used by the introspection system.

GClassID represents a class descriptor, and it's used to describe a class.
Description includes a numeric unique identifier (made of 4 integer numbers) and a class name.

Constructor & Destructor Documentation

Amanith::GClassID::GClassID ( )

Empty Constructor.

Amanith::GClassID::GClassID | ( | const GChar8 * | NewIDName,
 |  | const GUInt32 | NewID1,
 |  | const GUInt32 | NewID2,
 |  | const GUInt32 | NewID3,
 |  | const GUInt32 | NewID4
 | ) |

Set constructor.

Amanith::GClassID::GClassID ( const GClassID & CID )

Copy constructor.

Amanith::GClassID::~GClassID ( )

Destructor.

Member Function Documentation

void Amanith::GClassID::CopyFrom ( const GClassID & CID )

Copy operation.

const GChar8* Amanith::GClassID::IDName ( ) const

Class name identifier.

GBool Amanith::GClassID::IsNull ( ) const

Returns is this class descriptor is NULL (it means that it not describe any class).

GBool Amanith::GClassID::operator!= ( const GClassID & CID ) const

Not equal operator.

GClassID& Amanith::GClassID::operator= ( const GClassID & CID )

Assignment operator.

GBool Amanith::GClassID::operator== ( const GClassID & CID ) const

Equal operator.

Member Data Documentation

const GClassID Amanith::GClassID::Null = GClassID() [static]

Static NULL class id.

The documentation for this class was generated from the following files:
  • gclassid.h
  • gelement.cpp


Amanith::GClassID Member List

This is the complete list of members for Amanith::GClassID, including all inherited members.

CopyFrom(const GClassID &CID) | Amanith::GClassID
GClassID() Amanith::GClassID
GClassID(const GChar8 *NewIDName, const GUInt32 NewID1, const GUInt32 NewID2, const GUInt32 NewID3, const GUInt32 NewID4) | Amanith::GClassID
GClassID(const GClassID &CID) | Amanith::GClassID
IDName() const | Amanith::GClassID
IsNull() const | Amanith::GClassID
Null | Amanith::GClassID | [static]
operator!=(const GClassID &CID) const | Amanith::GClassID
operator=(const GClassID &CID) | Amanith::GClassID
operator==(const GClassID &CID) const | Amanith::GClassID


Amanith::GConstantProperty1D

Amanith::GConstantProperty1D Class Reference

A key-frame based property, that uses a constant interpolation schema. More...

Inheritance diagram for Amanith::GConstantProperty1D:

Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GConstantProperty1D ()
  • GConstantProperty1D (const GElement *Owner)
  • ~GConstantProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const
  • GKeyType HandledType () const

Protected Member Functions

  • GError DoGetKey (const GUInt32 Index, GKeyValue &OutputKey) const
  • GError DoSetKey (const GUInt32 Index, const GKeyValue &NewKeyValue)
  • GError DoAddKey (const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists)
  • GError DoMoveKey (const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists)
  • GError DoRemoveKey (const GUInt32 Index)
  • GError DoGetValue (GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const
  • GError DoSetValue (const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod)
  • GInt32 DoGetKeysCount () const
  • GError DoSetKeys (const GDynArray< GKeyValue > &Keys)
  • GError BaseClone (const GElement &Source)

Detailed Description

A key-frame based property, that uses a constant interpolation schema.

This animated property handles scalar real type, and interpolates between keys using a constant interpolation schema.

Constructor & Destructor Documentation

Amanith::GConstantProperty1D::GConstantProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GConstantProperty1D::GConstantProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GConstantProperty1D::~GConstantProperty1D ( )

Destructor.

Member Function Documentation

GError Amanith::GConstantProperty1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source GConstantProperty1D class.

Reimplemented from Amanith::GProperty.

const GClassID& Amanith::GConstantProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GProperty.

const GClassID& Amanith::GConstantProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GProperty.

GError Amanith::GConstantProperty1D::DoAddKey | ( | const GTimeValue | TimePos,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Add a point on curve, TimePos is ensured to be inside domain. Index will be the index occupied by the created key. AlreadyExists will be G_TRUE if at the specified TimePos there was already an existing key.

Reimplemented from Amanith::GProperty.

GError Amanith::GConstantProperty1D::DoGetKey | ( | const GUInt32 | Index,
 |  | GKeyValue & | OutputKey
 | ) | const [protected, virtual]

Get a key value by index; here is ensured that Index is valid.

Reimplemented from Amanith::GProperty.

GInt32 Amanith::GConstantProperty1D::DoGetKeysCount ( ) const [protected, virtual]

Return the number of keys.

Reimplemented from Amanith::GProperty.

GError Amanith::GConstantProperty1D::DoGetValue | ( | GKeyValue & | OutputValue,
 |  | GTimeInterval & | ValidInterval,
 |  | const GTimeValue | TimePos,
 |  | const GValueMethod | GetMethod
 | ) | const [protected, virtual]

Get property value at a specified time position.

Parameters:
OutputValue | the returned property value.
ValidInterval | the validity interval to update; property validity interval should be intersected with this interval.
TimePos | the time position where to sample the property value. In this method it is ensured to be inside domain interval.
GetMethod | the method used to get value.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

Reimplemented from Amanith::GProperty.

GError Amanith::GConstantProperty1D::DoMoveKey | ( | const GUInt32 | Index,
 |  | const GReal | NewTimePos,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Move a key to a different time position.

Parameters:
Index | the key that we wanna move, it is ensured valid.
NewTimePos | the new time position where to move the Index-th key.
NewIndex | the new index position associated to the moved key.
AlreadyExists | G_TRUE if at specified NewTimePos there was already a key. In this key it will be overridden by the moved key.

Reimplemented from Amanith::GProperty.

GError Amanith::GConstantProperty1D::DoRemoveKey ( const GUInt32 Index ) [protected, virtual]

Remove a key by index.

Parameters:
Index key index, is ensured to be valid.

Reimplemented from Amanith::GProperty.

GError Amanith::GConstantProperty1D::DoSetKey | ( | const GUInt32 | Index,
 |  | const GKeyValue & | NewKeyValue
 | ) | [protected, virtual]

Set a key value by index; here is ensured that Index is valid.

Reimplemented from Amanith::GProperty.

GError Amanith::GConstantProperty1D::DoSetKeys ( const GDynArray< GKeyValue > & Keys ) [protected, virtual]

Set all keys (they don't need to be sorted by time).

This function rebuilds the property animated track, specifying all the new keys. The specified keys can be in any time-order, they will be sorted internally.

Parameters:
Keys the array of keys, it is ensured to contain at least one entry.
Note:
Every key must be filled with value and time position.

Reimplemented from Amanith::GProperty.

GError Amanith::GConstantProperty1D::DoSetValue | ( | const GKeyValue & | InputValue,
 |  | const GTimeValue | TimePos,
 |  | const GValueMethod | SetMethod
 | ) | [protected, virtual]

Set the property value at a specified time position.

This method adds a new key at the specified time position, with the passed value.

Parameters:
InputValue | the value to set.
TimePos | the time position where to set the property value.
SetMethod | method used to set the value. For now, the only supported method is G_ABSOLUTE_VALUE.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
TimePos can be outside range, behavior is to append (at front/back) created key and expand domain.

Reimplemented from Amanith::GProperty.

GKeyType Amanith::GConstantProperty1D::HandledType ( ) const [virtual]

Get handled key values. Every property MUST implement this method.

Reimplemented from Amanith::GProperty.

The documentation for this class was generated from the following files:
  • gproperty.h
  • gproperty.cpp


Amanith::GConstantProperty1D Member List

This is the complete list of members for Amanith::GConstantProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GConstantProperty1D | [protected, virtual]
ClassID() const | Amanith::GConstantProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GConstantProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GConstantProperty1D | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GConstantProperty1D | [protected, virtual]
DoGetKeysCount() const | Amanith::GConstantProperty1D | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GConstantProperty1D | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GConstantProperty1D | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GConstantProperty1D | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GConstantProperty1D | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GConstantProperty1D | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GConstantProperty1D | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GConstantProperty1D() Amanith::GConstantProperty1D
GConstantProperty1D(const GElement *Owner) | Amanith::GConstantProperty1D
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
HandledType() const | Amanith::GConstantProperty1D | [virtual]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GConstantProperty1D() Amanith::GConstantProperty1D
~GElement() | Amanith::GElement | [virtual]


Amanith::GConstantProperty1DProxy

Amanith::GConstantProperty1DProxy Class Reference

This class implements a GConstantProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GConstantProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GConstantProperty1D proxy (provider).

This proxy provides the creation of GConstantProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GConstantProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GConstantProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GLinearProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GConstantProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gproperty.h


Amanith::GConstantProperty1DProxy Member List

This is the complete list of members for Amanith::GConstantProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GConstantProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GConstantProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GConstantProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GCurve1D

Amanith::GCurve1D Class Reference

This class represents a generic parametric continuous 1D curve. More...

Inheritance diagram for Amanith::GCurve1D:

Amanith::GElement Amanith::GBezierCurve1D Amanith::GBSplineCurve1D Amanith::GMultiCurve1D Amanith::GHermiteCurve1D Amanith::GPolyLineCurve1D List of all members.

Public Member Functions

  • GCurve1D ()
  • GCurve1D (const GElement *Owner)
  • virtual ~GCurve1D ()
  • GReal DomainStart () const
  • GReal DomainEnd () const
  • const GInterval< GReal > & Domain () const
  • virtual GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • virtual GUInt32 PointsCount () const =0
  • virtual void Clear ()
  • virtual GReal Point (const GUInt32 Index) const =0
  • virtual GError SetPoint (const GUInt32 Index, const GReal NewValue)=0
  • virtual GReal Evaluate (const GReal u) const =0
  • virtual GReal Derivative (const GDerivativeOrder Order, const GReal u) const =0
  • virtual GBool GlobalParameter (GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const
  • virtual GReal Length (const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const
  • GReal TotalLength (const GReal MaxError=G_EPSILON) const
  • GError Cut (const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const
  • GError Cut (const GReal u0, const GReal u1, GCurve1D *OutCurve) const
  • GError CutByLength (const GReal CurvePos, GCurve1D *RightCurve, GCurve1D *LeftCurve, const GReal MaxError=G_EPSILON) const
  • GError CutByLength (const GReal CurvePos0, const GReal CurvePos1, GCurve1D *Curve, const GReal MaxError=G_EPSILON) const
  • GReal Tangent (const GReal u) const
  • GReal Speed (const GReal u) const
  • GReal StartPoint () const
  • GReal EndPoint () const
  • void SetStartPoint (const GReal NewValue)
  • void SetEndPoint (const GReal NewValue)
  • void Translate (const GReal Translation)
  • virtual void Scale (const GReal Pivot, const GReal ScaleAmount)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • virtual GError DoCut (const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const =0
  • GError BaseClone (const GElement &Source)

Static Protected Member Functions

  • static GReal SpeedEvaluationCallBack (const GReal u, void *Data)

Detailed Description

This class represents a generic parametric continuous 1D curve.

Formally a 1D parametric curve is a function with a real domain and real codomain.

where [a; b] is a sub-set of R.
So given a number belonging to domain, C is a function that give you a scalar value. This class implements some useful differential calculus like Length(), Tangent(), Speed() and so on. Some geometric tools are implemented too, like Cut(), Translate(), Scale(), and so on.

Constructor & Destructor Documentation

Amanith::GCurve1D::GCurve1D ( )

Default constructor, constructs and empty curve.

Amanith::GCurve1D::GCurve1D ( const GElement * Owner )

Constructor with kernel specification, constructs and empty curve.

Amanith::GCurve1D::~GCurve1D ( ) [virtual]

Destructor, it calls Clear() function.

Member Function Documentation

GError Amanith::GCurve1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function; this implementation copies the domain.

Reimplemented from Amanith::GElement.

Reimplemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, Amanith::GMultiCurve1D, and Amanith::GPolyLineCurve1D.

const GClassID& Amanith::GCurve1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GElement.

Reimplemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, Amanith::GMultiCurve1D, and Amanith::GPolyLineCurve1D.

void Amanith::GCurve1D::Clear ( ) [virtual]

Clear the curve, it makes this curve to be 'empty'.

The default implementation is to set internal domain as [-inf, -inf]. Every further implementation should be done ensuring that 2 or more consecutive calls to this method do not make the class to crash.

Note:
this method must be implemented by all derived classes if some other internal structures or data have been allocated.

Reimplemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

GError Amanith::GCurve1D::Cut | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | GCurve1D * | OutCurve
 | ) | const

Cuts a curve slice corresponding to specified domain interval, and return the curve arc.

Parameters:
u0 | lower domain parameter specifying where to begin to cut the curve.
u1 | upper domain parameter specifying where to end to cut the curve.
OutCurve | the curve arc generated by cutting operation.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
specified domain interval is clamped by the valid interval for this curve. OutCurve parameter must be of the same type of this curve.

GError Amanith::GCurve1D::Cut | ( | const GReal | u,
 |  | GCurve1D * | RightCurve,
 |  | GCurve1D * | LeftCurve
 | ) | const

Cuts (subdivides) the curve at specified domain parameter, and return left and right arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
if specified domain parameter is out of the domain, an G_OUT_OF_RANGE error code is returned. Furthermore RightCurve and LeftCurve parameters, if specified, must be of the same type of this curve.

GError Amanith::GCurve1D::CutByLength | ( | const GReal | CurvePos0,
 |  | const GReal | CurvePos1,
 |  | GCurve1D * | Curve,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const

Cuts a curve slice corresponding to specified curve (length) interval, and return the curve arc.

Parameters:
CurvePos0 | lower curve (length) parameter specifying where to begin to cut the curve.
CurvePos1 | upper curve (length) parameter specifying where to end to cut the curve.
Curve | the curve arc generated by cutting operation.
MaxError | the precision to use to do the inverse mapping between curve position and domain value.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
specified domain interval is clamped by the valid interval for this curve. OutCurve parameter must be of the same type of this curve.

GError Amanith::GCurve1D::CutByLength | ( | const GReal | CurvePos,
 |  | GCurve1D * | RightCurve,
 |  | GCurve1D * | LeftCurve,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const

Cuts (subdivides) the curve at specified curve (length) parameter, and return left and right arcs.

Parameters:
CurvePos | the curve parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
MaxError | the precision to use to do the inverse mapping between curve position and domain value.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
if specified curve parameter is out of the length-domain, an G_OUT_OF_RANGE error code is returned. Furthermore RightCurve and LeftCurve parameters, if specified, must be of the same type of this curve.

virtual GReal Amanith::GCurve1D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [pure virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
this method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

const GClassID& Amanith::GCurve1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GElement.

Reimplemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, Amanith::GMultiCurve1D, and Amanith::GPolyLineCurve1D.

virtual GError Amanith::GCurve1D::DoCut | ( | const GReal | u,
 |  | GCurve1D * | RightCurve,
 |  | GCurve1D * | LeftCurve
 | ) | const [protected, pure virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be of the same type of this curve.
This method must be implemented by every derived classes.

Implemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

const GInterval<GReal>& Amanith::GCurve1D::Domain ( ) const

Get curve domain.

GReal Amanith::GCurve1D::DomainEnd ( ) const

Get domain upper bound (it corresponds to the end point).

GReal Amanith::GCurve1D::DomainStart ( ) const

Get domain lower bound (it corresponds to the start point).

GReal Amanith::GCurve1D::EndPoint ( ) const

Get end point of curve; this is the point corresponding to the domain upper bound.

virtual GReal Amanith::GCurve1D::Evaluate ( const GReal u ) const [pure virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
this method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

GBool Amanith::GCurve1D::GlobalParameter | ( | GReal & | Result,
 |  | const GReal | CurvePos,
 |  | const GReal | MaxError = G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [virtual]

Giving CurvePos = Length(t), this function solves for t = Inverse(Length(s))

This function uses the Newton method to find the numerical root solution. This method has a quadratic convergence.

Parameters:
Result | the solution, the domain parameter that correspond to the specified position on curve.
CurvePos | the position along the curve track.
MaxError | the wanted result precision, it must be a positive value. The less this parameter is, the more iteration have to be done by this method.
MaxIterations | the number of max iterations. If the specified MaxError has not been reached in MaxIterations iterations, this method exits.
Returns:
G_TRUE if solution has been found (respecting MaxError parameter) before MaxIterations iterations. G_FALSE otherwise.
Note:
If CurvePos is less than 0, the lower bound of domain in returned. If CurvePos is greater than total curve length, then the upper bound of domain is returned.

GReal Amanith::GCurve1D::Length | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const [virtual]

Returns the length of the curve between the 2 specified domain parameter values.

Formally, a length of a differentiable curve is the finite integral of first derivative module, over the desired interval:

This implementation uses a Romberg integration schema.

Parameters:
u0 | the lower bound of integral
u1 | the upper bound of integral
MaxError | the maximum relative error (precision) at witch we wanna calculate length.
Returns:
The length of curve, calculated in the domain interval [u0; u1].
Note:
Before integration, the specified interval is checked and clamped to be be valid for this curve domain.
This method is virtual because for some specific curves (ex: polylines) this implementation couldn't be the faster one nor the correct (this implementation require a differentiable curve to be correct).

Reimplemented in Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

virtual GReal Amanith::GCurve1D::Point ( const GUInt32 Index ) const [pure virtual]

Get Index-th point. This method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

virtual GUInt32 Amanith::GCurve1D::PointsCount ( ) const [pure virtual]

Returns number of points of the curve (typically control points).

Implemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

void Amanith::GCurve1D::Scale | ( | const GReal | Pivot,
 |  | const GReal | ScaleAmount
 | ) | [virtual]

Scale all curve points around a pivot point.

Parameters:
Pivot | the pivot point (the center of scaling).
ScaleAmount | the scale factor.
Note:
default behavior is to scale all point using Point() and SetPoint() methods.

Reimplemented in Amanith::GHermiteCurve1D.

virtual GError Amanith::GCurve1D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain.

Reimplemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

void Amanith::GCurve1D::SetEndPoint ( const GReal NewValue )

Set end point of curve; this is the point corresponding to the domain upper bound.

virtual GError Amanith::GCurve1D::SetPoint | ( | const GUInt32 | Index,
 |  | const GReal | NewValue
 | ) | [pure virtual]

Set Index-th point. This method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

void Amanith::GCurve1D::SetStartPoint ( const GReal NewValue )

Set start point of curve; this is the point corresponding to the domain lower bound.

GReal Amanith::GCurve1D::Speed ( const GReal u ) const

Get curve speed, specifying domain parameter.

Note:
for 1D curves, Tangent() and Speed() always return the same value.

GReal Amanith::GCurve1D::SpeedEvaluationCallBack | ( | const GReal | u,
 |  | void * | Data
 | ) | [static, protected]

Static speed evaluation callback (for Length() evaluation).

GReal Amanith::GCurve1D::StartPoint ( ) const

Get start point of curve; this is the point corresponding to the domain lower bound.

GReal Amanith::GCurve1D::Tangent ( const GReal u ) const

Get tangent value, specifying domain parameter.

Note:
for 1D curves, Tangent() and Speed() always return the same value.

GReal Amanith::GCurve1D::TotalLength ( const GReal MaxError = G_EPSILON ) const

Returns the total length of the curve. It uses Length() function passing it the whole domain as interval.

void Amanith::GCurve1D::Translate ( const GReal Translation )

Translates all curve points by the specified scalar offset.

Parameters:
Translation the offset value, added to each curve point.
The documentation for this class was generated from the following files:
  • gcurve1d.h
  • gcurve1d.cpp


Amanith::GCurve1D Member List

This is the complete list of members for Amanith::GCurve1D, including all inherited members.

As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GCurve1D | [protected, virtual]
ClassID() const | Amanith::GCurve1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GCurve1D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Cut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GCurve1D |
Cut(const GReal u0, const GReal u1, GCurve1D *OutCurve) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos, GCurve1D *RightCurve, GCurve1D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve1D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Derivative(const GDerivativeOrder Order, const GReal u) const =0 | Amanith::GCurve1D | [pure virtual]
DerivedClassID() const | Amanith::GCurve1D | [virtual]
DoCut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const =0 | Amanith::GCurve1D | [protected, pure virtual]
Domain() const | Amanith::GCurve1D |
DomainEnd() const | Amanith::GCurve1D |
DomainStart() const | Amanith::GCurve1D |
EndPoint() const | Amanith::GCurve1D |
Evaluate(const GReal u) const =0 | Amanith::GCurve1D | [pure virtual]
GCurve1D() | Amanith::GCurve1D |
GCurve1D(const GElement *Owner) | Amanith::GCurve1D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve1D | [virtual]
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D | [virtual]
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
Point(const GUInt32 Index) const =0 | Amanith::GCurve1D | [pure virtual]
PointsCount() const =0 | Amanith::GCurve1D | [pure virtual]
Scale(const GReal Pivot, const GReal ScaleAmount) | Amanith::GCurve1D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GCurve1D | [virtual]
SetEndPoint(const GReal NewValue) | Amanith::GCurve1D |
SetPoint(const GUInt32 Index, const GReal NewValue)=0 | Amanith::GCurve1D | [pure virtual]
SetStartPoint(const GReal NewValue) | Amanith::GCurve1D |
Speed(const GReal u) const | Amanith::GCurve1D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve1D | [protected, static]
StartPoint() const | Amanith::GCurve1D |
Tangent(const GReal u) const | Amanith::GCurve1D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Translate(const GReal Translation) | Amanith::GCurve1D |
~GCurve1D() | Amanith::GCurve1D | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GCurve1DProxy

Amanith::GCurve1DProxy Class Reference

This class implements a GCurve1D proxy (provider). More...

Inheritance diagram for Amanith::GCurve1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GCurve1D proxy (provider).

This proxy does not override CreateNew() method because we don't wanna make a creation of a GCurve1D class possible (because of pure virtual methods).

Member Function Documentation

const GClassID& Amanith::GCurve1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GCurve1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gcurve1d.h


Amanith::GCurve1DProxy Member List

This is the complete list of members for Amanith::GCurve1DProxy, including all inherited members.

ClassID() const | Amanith::GCurve1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GElementProxy | [virtual]
DerivedClassID() const | Amanith::GCurve1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GCurve2D

Amanith::GCurve2D Class Reference

This class represents a generic parametric continuous 2D curve. More...

Inheritance diagram for Amanith::GCurve2D:

Amanith::GElement Amanith::GBezierCurve2D Amanith::GBSplineCurve2D Amanith::GEllipseCurve2D Amanith::GMultiCurve2D Amanith::GHermiteCurve2D Amanith::GPath2D Amanith::GPolyLineCurve2D List of all members.

Public Member Functions

  • GCurve2D ()
  • GCurve2D (const GElement *Owner)
  • virtual ~GCurve2D ()
  • GReal DomainStart () const
  • GReal DomainEnd () const
  • const GInterval< GReal > & Domain () const
  • virtual GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • virtual GUInt32 PointsCount () const =0
  • virtual void Clear ()
  • virtual GPoint2 Point (const GUInt32 Index) const =0
  • virtual GError SetPoint (const GUInt32 Index, const GPoint2 &NewValue)=0
  • virtual GBool IntersectRay (const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const =0
  • virtual GError Flatten (GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const =0
  • virtual GPoint2 Evaluate (const GReal u) const =0
  • virtual GVector2 Derivative (const GDerivativeOrder Order, const GReal u) const =0
  • virtual GBool GlobalParameter (GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const
  • virtual GReal Length (const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const
  • GReal TotalLength (const GReal MaxError=G_EPSILON) const
  • GError Cut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const
  • GError Cut (const GReal u0, const GReal u1, GCurve2D *OutCurve) const
  • GError CutByLength (const GReal CurvePos, GCurve2D *RightCurve, GCurve2D *LeftCurve, const GReal MaxError=G_EPSILON) const
  • GError CutByLength (const GReal CurvePos0, const GReal CurvePos1, GCurve2D *Curve, const GReal MaxError=G_EPSILON) const
  • GVector2 Tangent (const GReal u) const
  • GVector2 Normal (const GReal u) const
  • GReal Curvature (const GReal u) const
  • GReal Speed (const GReal u) const
  • virtual GReal Variation () const =0
  • GPoint2 StartPoint () const
  • GPoint2 EndPoint () const
  • void SetStartPoint (const GPoint2 &NewValue)
  • void SetEndPoint (const GPoint2 &NewValue)
  • virtual void Translate (const GVector2 &Translation)
  • virtual void Rotate (const GPoint2 &Pivot, const GReal RadAmount)
  • virtual void Scale (const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount)
  • virtual void XForm (const GMatrix23 &Matrix)
  • virtual void XForm (const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • virtual GError DoCut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const =0
  • GError BaseClone (const GElement &Source)

Static Protected Member Functions

  • static GReal SpeedEvaluationCallBack (const GReal u, void *Data)

Detailed Description

This class represents a generic parametric continuous 2D curve.

Formally a 2D parametric curve is a function with a real domain and RxR codomain.

where [a; b] is a sub-set of R.
So given a number belonging to domain, C is a function that give you a 2D point. This class implements some useful differential calculus like Curvature(), Length(), Tangent(), Speed(), Variation() and so on. Some geometric tools are implemented too, like Cut(), Translate(), Rotate(), Scale(), XForm(), IntersectRay() and so on. Every curve can be flattened. Flatten operation converts the curve into straight-linesegments. By specifying a flatness parameter, the application has control over the number of straight-line segments used to approximate curves. This is very useful for rendering (ex: in OpenGL).

Constructor & Destructor Documentation

Amanith::GCurve2D::GCurve2D ( )

Default constructor, constructs and empty curve.

Amanith::GCurve2D::GCurve2D ( const GElement * Owner )

Constructor with kernel specification, constructs and empty curve.

Amanith::GCurve2D::~GCurve2D ( ) [virtual]

Destructor, it calls Clear() function.

Member Function Documentation

GError Amanith::GCurve2D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function; this implementation copies the domain.

Reimplemented from Amanith::GElement.

Reimplemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GMultiCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

const GClassID& Amanith::GCurve2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GElement.

Reimplemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GMultiCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

void Amanith::GCurve2D::Clear ( ) [virtual]

Clear the curve, it makes this curve to be 'empty'.

The default implementation is to set internal domain as [-inf, -inf]. Every further implementation should be done ensuring that 2 or more consecutive calls to this method do not make the class to crash.

Note:
this method must be implemented by all derived classes if some other internal structures or data have been allocated.

Reimplemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

GReal Amanith::GCurve2D::Curvature ( const GReal u ) const

Get curve curvature, specifying domain parameter.
For detailed information about curvature, please check this site http://planetmath.org/encyclopedia/CurvatureOfACurve.html

GError Amanith::GCurve2D::Cut | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | GCurve2D * | OutCurve
 | ) | const

Cuts a curve slice corresponding to specified domain interval, and return the curve arc.

Parameters:
u0 | lower domain parameter specifying where to begin to cut the curve.
u1 | upper domain parameter specifying where to end to cut the curve.
OutCurve | the curve arc generated by cutting operation.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
specified domain interval is clamped by the valid interval for this curve. OutCurve parameter must be of the same type of this curve. If u0 > u1 they will be swapped before doing cut operation (so, for example, Cut(0.1, 0.8) is equal to (0.8, 0.1).

GError Amanith::GCurve2D::Cut | ( | const GReal | u,
 |  | GCurve2D * | RightCurve,
 |  | GCurve2D * | LeftCurve
 | ) | const

Cuts (subdivides) the curve at specified domain parameter, and return left and right arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
if specified domain parameter is out of the domain, an G_OUT_OF_RANGE error code is returned. Furthermore RightCurve and LeftCurve parameters, if specified, must be of the same type of this curve.

GError Amanith::GCurve2D::CutByLength | ( | const GReal | CurvePos0,
 |  | const GReal | CurvePos1,
 |  | GCurve2D * | Curve,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const

Cuts a curve slice corresponding to specified curve (length) interval, and return the curve arc.

Parameters:
CurvePos0 | lower curve (length) parameter specifying where to begin to cut the curve.
CurvePos1 | upper curve (length) parameter specifying where to end to cut the curve.
Curve | the curve arc generated by cutting operation.
MaxError | the precision to use to do the inverse mapping between curve position and domain value.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
specified domain interval is clamped by the valid interval for this curve. OutCurve parameter must be of the same type of this curve.

GError Amanith::GCurve2D::CutByLength | ( | const GReal | CurvePos,
 |  | GCurve2D * | RightCurve,
 |  | GCurve2D * | LeftCurve,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const

Cuts (subdivides) the curve at specified curve (length) parameter, and return left and right arcs.

Parameters:
CurvePos | the curve parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
MaxError | the precision to use to do the inverse mapping between curve position and domain value.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
if specified curve parameter is out of the length-domain, an G_OUT_OF_RANGE error code is returned. Furthermore RightCurve and LeftCurve parameters, if specified, must be of the same type of this curve.

virtual GVector2 Amanith::GCurve2D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [pure virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
this method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

const GClassID& Amanith::GCurve2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GElement.

Reimplemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GMultiCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

virtual GError Amanith::GCurve2D::DoCut | ( | const GReal | u,
 |  | GCurve2D * | RightCurve,
 |  | GCurve2D * | LeftCurve
 | ) | const [protected, pure virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be of the same type of this curve.
This method must be implemented by every derived classes.

Implemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

const GInterval<GReal>& Amanith::GCurve2D::Domain ( ) const

Get curve domain.

GReal Amanith::GCurve2D::DomainEnd ( ) const

Get domain upper bound (it corresponds to the end point).

GReal Amanith::GCurve2D::DomainStart ( ) const

Get domain lower bound (it corresponds to the start point).

GPoint2 Amanith::GCurve2D::EndPoint ( ) const

Get end point of curve; this is the point corresponding to the domain upper bound.

virtual GPoint2 Amanith::GCurve2D::Evaluate ( const GReal u ) const [pure virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
this method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

virtual GError Amanith::GCurve2D::Flatten | ( | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint = G_TRUE
 | ) | const [pure virtual]

Flats the curve specifying a max error/variation (squared chordal distance).

Parameters:
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.
Note:
this method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

GBool Amanith::GCurve2D::GlobalParameter | ( | GReal & | Result,
 |  | const GReal | CurvePos,
 |  | const GReal | MaxError = G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [virtual]

Giving CurvePos = Length(t), this function solves for t = Inverse(Length(s))

This function uses the Newton method to find the numerical root solution. This method has a quadratic convergence.

Parameters:
Result | the solution, the domain parameter that correspond to the specified position on curve.
CurvePos | the position along the curve track.
MaxError | the wanted result precision, it must be a positive value. The less this parameter is, the more iteration have to be done by this method.
MaxIterations | the number of max iterations. If the specified MaxError has not been reached in MaxIterations iterations, this method exits.
Returns:
G_TRUE if solution has been found (respecting MaxError parameter) before MaxIterations iterations. G_FALSE otherwise.
Note:
If CurvePos is less than 0, the lower bound of domain in returned. If CurvePos is greater than total curve length, then the upper bound of domain is returned.

Reimplemented in Amanith::GPath2D.

virtual GBool Amanith::GCurve2D::IntersectRay | ( | const GRay2 & | NormalizedRay,
 |  | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision = G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [pure virtual]

Intersect the curve with a ray, and returns a list of intersections.

Parameters:
NormalizedRay | a normalized ray used for intersection test. If the ray has not been normalized incorrect results are possible.
Intersections | every found intersection will be appended to this array. Each intersection is a 2D vector; it has at position 0 the curve parameter (domain) value corresponding to the intersection, and at position 1 the ray parameter value corresponding to the intersection.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution. If the current solution calculus does not reach the specified Precision within MaxIterations iterations, the current solution calculus is stopped, the solution is appended into output array, and calculus go for the next found solution. The more this value is, the more is the accuracy of each solution (and the more is the time taken from this method).
Note:
this method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

GReal Amanith::GCurve2D::Length | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const [virtual]

Returns the length of the curve between the 2 specified domain parameter values.

Formally, a length of a differentiable curve is the finite integral of first derivative module, over the desired interval:

This implementation uses a Romberg integration schema.

Parameters:
u0 | the lower bound of integral
u1 | the upper bound of integral
MaxError | the maximum relative error (precision) at witch we wanna calculate length.
Returns:
The length of curve, calculated in the domain interval [u0; u1].
Note:
Before integration, the specified interval is checked and clamped to be be valid for this curve domain.
This method is virtual because for some specific curves (ex: polylines) this implementation couldn't be the faster one nor the correct (this implementation require a differentiable curve to be correct).

Reimplemented in Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

GVector2 Amanith::GCurve2D::Normal ( const GReal u ) const

Get curve normal, specifying domain parameter.

The returned value is a normalized vector perpendicular to the curve Tangent().

virtual GPoint2 Amanith::GCurve2D::Point ( const GUInt32 Index ) const [pure virtual]

Get Index-th point. This method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

virtual GUInt32 Amanith::GCurve2D::PointsCount ( ) const [pure virtual]

Returns number of points of the curve (typically control points).

Implemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

void Amanith::GCurve2D::Rotate | ( | const GPoint2 & | Pivot,
 |  | const GReal | RadAmount
 | ) | [virtual]

Rotate all curve points around a pivot point. The rotation will occur in counter-clockwise direction for positive angles.

Parameters:
Pivot | the pivot point (the center of rotation)
RadAmount | the rotation (in radians) amount.
Note:
default implementation builds a matrix from specified pivot and angle, and then call XForm() function.

Reimplemented in Amanith::GEllipseCurve2D.

void Amanith::GCurve2D::Scale | ( | const GPoint2 & | Pivot,
 |  | const GReal | XScaleAmount,
 |  | const GReal | YScaleAmount
 | ) | [virtual]

Scale all curve points around a pivot point.

Parameters:
Pivot | the pivot point (the center of scaling)
XScaleAmount | the scale factor used for X axis
YScaleAmount | the scale factor used for Y axis
Note:
default implementation builds a matrix from specified pivot and factors, and then call XForm() function.

Reimplemented in Amanith::GEllipseCurve2D.

virtual GError Amanith::GCurve2D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain.

Reimplemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

void Amanith::GCurve2D::SetEndPoint ( const GPoint2 & NewValue )

Set end point of curve; this is the point corresponding to the domain upper bound.

virtual GError Amanith::GCurve2D::SetPoint | ( | const GUInt32 | Index,
 |  | const GPoint2 & | NewValue
 | ) | [pure virtual]

Set Index-th point. This method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

void Amanith::GCurve2D::SetStartPoint ( const GPoint2 & NewValue )

Set start point of curve; this is the point corresponding to the domain lower bound.

GReal Amanith::GCurve2D::Speed ( const GReal u ) const

Get curve speed, specifying domain parameter.

With 'speed', here's intended the length of the curve's first derivative vector.

GReal Amanith::GCurve2D::SpeedEvaluationCallBack | ( | const GReal | u,
 |  | void * | Data
 | ) | [static, protected]

Static speed evaluation callback (for Length() evaluation).

GPoint2 Amanith::GCurve2D::StartPoint ( ) const

Get start point of curve; this is the point corresponding to the domain lower bound.

GVector2 Amanith::GCurve2D::Tangent ( const GReal u ) const

Get tangent vector, specifying domain parameter.

The returned value is the normalized (unit length) tangent vector.

GReal Amanith::GCurve2D::TotalLength ( const GReal MaxError = G_EPSILON ) const

Returns the total length of the curve. It uses Length() function passing it the whole domain as interval.

void Amanith::GCurve2D::Translate ( const GVector2 & Translation ) [virtual]

Translates all curve points by the specified vector offset.

Parameters:
Translation the offset vector, added to each curve point.
Note:
default implementation builds a matrix from specified translation and then call XForm() function.

Reimplemented in Amanith::GEllipseCurve2D.

virtual GReal Amanith::GCurve2D::Variation ( ) const [pure virtual]

Get variation (squared chordal distance) in the current domain range.

Note:
This method must be implemented by all derived classes.

Implemented in Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

void Amanith::GCurve2D::XForm | ( | const GMatrix33 & | Matrix,
 |  | const GBool | DoProjection = G_TRUE
 | ) | [virtual]

Apply full transformation to all curve points.

Parameters:
Matrix | a 3x3 matrix, specifying the transformation.
DoProjection | if G_TRUE the projective transformation (described by the last row vector of matrix) will be done. In this case all transformed vertexes will be divided by the last W component. If G_FALSE only the affine portion will be used for transformation, and no projective division will be executed.

Reimplemented in Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, and Amanith::GPath2D.

void Amanith::GCurve2D::XForm ( const GMatrix23 & Matrix ) [virtual]

Apply an affine transformation to all curve points.

Parameters:
Matrix a 2x3 matrix, specifying the affine transformation.
Note:
the leftmost 2x2 matrix contains the rotation/scale portion, the last column vector contains the translation.

Reimplemented in Amanith::GEllipseCurve2D, Amanith::GHermiteCurve2D, and Amanith::GPath2D.

The documentation for this class was generated from the following files:
  • gcurve2d.h
  • gcurve2d.cpp


Amanith::GCurve2D Member List

This is the complete list of members for Amanith::GCurve2D, including all inherited members.

As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GCurve2D | [protected, virtual]
ClassID() const | Amanith::GCurve2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GCurve2D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Curvature(const GReal u) const | Amanith::GCurve2D |
Cut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GCurve2D |
Cut(const GReal u0, const GReal u1, GCurve2D *OutCurve) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos, GCurve2D *RightCurve, GCurve2D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve2D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Derivative(const GDerivativeOrder Order, const GReal u) const =0 | Amanith::GCurve2D | [pure virtual]
DerivedClassID() const | Amanith::GCurve2D | [virtual]
DoCut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const =0 | Amanith::GCurve2D | [protected, pure virtual]
Domain() const | Amanith::GCurve2D |
DomainEnd() const | Amanith::GCurve2D |
DomainStart() const | Amanith::GCurve2D |
EndPoint() const | Amanith::GCurve2D |
Evaluate(const GReal u) const =0 | Amanith::GCurve2D | [pure virtual]
Flatten(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const =0 | Amanith::GCurve2D | [pure virtual]
GCurve2D() | Amanith::GCurve2D |
GCurve2D(const GElement *Owner) | Amanith::GCurve2D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve2D | [virtual]
IntersectRay(const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const =0 | Amanith::GCurve2D | [pure virtual]
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D | [virtual]
Normal(const GReal u) const | Amanith::GCurve2D |
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
Point(const GUInt32 Index) const =0 | Amanith::GCurve2D | [pure virtual]
PointsCount() const =0 | Amanith::GCurve2D | [pure virtual]
Rotate(const GPoint2 &Pivot, const GReal RadAmount) | Amanith::GCurve2D | [virtual]
Scale(const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount) | Amanith::GCurve2D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GCurve2D | [virtual]
SetEndPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
SetPoint(const GUInt32 Index, const GPoint2 &NewValue)=0 | Amanith::GCurve2D | [pure virtual]
SetStartPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
Speed(const GReal u) const | Amanith::GCurve2D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve2D | [protected, static]
StartPoint() const | Amanith::GCurve2D |
Tangent(const GReal u) const | Amanith::GCurve2D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Translate(const GVector2 &Translation) | Amanith::GCurve2D | [virtual]
Variation() const =0 | Amanith::GCurve2D | [pure virtual]
XForm(const GMatrix23 &Matrix) | Amanith::GCurve2D | [virtual]
XForm(const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE) | Amanith::GCurve2D | [virtual]
~GCurve2D() | Amanith::GCurve2D | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GCurve2DProxy

Amanith::GCurve2DProxy Class Reference

This class implements a GCurve2D proxy (provider). More...

Inheritance diagram for Amanith::GCurve2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GCurve2D proxy (provider).

This proxy does not override CreateNew() method because we don't wanna make a creation of a GCurve2D class possible (because of pure virtual methods).

Member Function Documentation

const GClassID& Amanith::GCurve2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GCurve2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gcurve2d.h


Amanith::GCurve2DProxy Member List

This is the complete list of members for Amanith::GCurve2DProxy, including all inherited members.

ClassID() const | Amanith::GCurve2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GElementProxy | [virtual]
DerivedClassID() const | Amanith::GCurve2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GDrawBoard

Amanith::GDrawBoard Class Reference

An abstract drawboard paint server. More...

Inheritance diagram for Amanith::GDrawBoard:

Amanith::GOpenGLBoard List of all members.

Public Member Functions

  • GDrawBoard ()
  • virtual ~GDrawBoard ()
  • virtual GUInt32 MaxDashCount () const =0
  • virtual GUInt32 MaxColorKeys () const =0
  • virtual GUInt32 MaxImageWidth () const =0
  • virtual GUInt32 MaxImageHeight () const =0
  • virtual GUInt32 MaxImageBytes () const =0
  • virtual GGradientDesc * CreateLinearGradient (const GPoint2 &StartPoint, const GPoint2 &EndPoint, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GColorRampSpreadMode SpreadMode=G_PAD_COLOR_RAMP_SPREAD, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)=0
  • virtual GGradientDesc * CreateRadialGradient (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GColorRampSpreadMode SpreadMode=G_PAD_COLOR_RAMP_SPREAD, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)=0
  • virtual GGradientDesc * CreateConicalGradient (const GPoint2 &Center, const GPoint2 &Target, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)=0
  • virtual GPatternDesc * CreatePattern (const GPixelMap *Image, const GImageQuality Quality, const GTilingMode TilingMode=G_REPEAT_TILE, const GAABox2 *LogicalWindow=NULL, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)=0
  • virtual GCacheBank * CreateCacheBank ()=0
  • virtual GCacheBank * CacheBank () const =0
  • virtual void SetCacheBank (GCacheBank *Bank)=0
  • GReal GroupOpacity () const
  • void SetGroupOpacity (const GReal Opacity)
  • GCompositingOperation GroupCompOp () const
  • void SetGroupCompOp (const GCompositingOperation CompOp)
  • GRenderingQuality RenderingQuality () const
  • void SetRenderingQuality (const GRenderingQuality Quality)
  • GTargetMode TargetMode () const
  • void SetTargetMode (const GTargetMode Mode)
  • GClipOperation ClipOperation () const
  • void SetClipOperation (const GClipOperation Operation)
  • GBool ClipEnabled () const
  • void SetClipEnabled (const GBool Enabled)
  • void PopClipMask ()
  • const GMatrix33 & ModelViewMatrix () const
  • void SetModelViewMatrix (const GMatrix33 &Matrix)
  • GCapStyle StrokeStartCapStyle () const
  • void SetStrokeStartCapStyle (const GCapStyle Style)
  • GCapStyle StrokeEndCapStyle () const
  • void SetStrokeEndCapStyle (const GCapStyle Style)
  • GJoinStyle StrokeJoinStyle () const
  • void SetStrokeJoinStyle (const GJoinStyle Style)
  • GReal StrokeWidth () const
  • void SetStrokeWidth (const GReal Width)
  • GReal StrokeMiterLimit () const
  • void SetStrokeMiterLimit (const GReal Limit)
  • GStrokeStyle StrokeStyle () const
  • void SetStrokeStyle (const GStrokeStyle Style)
  • const GDynArray< GReal > & StrokeDashPattern () const
  • GError SetStrokeDashPattern (const GDynArray< GReal > &Pattern)
  • GReal StrokeDashPhase () const
  • void SetStrokeDashPhase (const GReal DashPhase)
  • GPaintType StrokePaintType () const
  • void SetStrokePaintType (const GPaintType PaintType)
  • const GVectBase< GReal, 4 > & StrokeColor () const
  • void SetStrokeColor (const GVectBase< GReal, 4 > &Color)
  • void SetStrokeColor (const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha)
  • void SetStrokeColor (const GVectBase< GReal, 3 > &Color)
  • void SetStrokeColor (const GReal Red, const GReal Green, const GReal Blue)
  • void SetStrokeOpacity (const GReal Opacity)
  • GGradientDesc * StrokeGradient () const
  • void SetStrokeGradient (GGradientDesc *Gradient)
  • GPatternDesc * StrokePattern () const
  • void SetStrokePattern (GPatternDesc *Pattern)
  • GCompositingOperation StrokeCompOp () const
  • void SetStrokeCompOp (const GCompositingOperation CompOp)
  • GBool StrokeEnabled () const
  • void SetStrokeEnabled (const GBool Enabled)
  • GFillRule FillRule () const
  • void SetFillRule (const GFillRule Rule)
  • GPaintType FillPaintType () const
  • void SetFillPaintType (const GPaintType PaintType)
  • const GVectBase< GReal, 4 > & FillColor () const
  • void SetFillColor (const GVectBase< GReal, 4 > &Color)
  • void SetFillColor (const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha)
  • void SetFillColor (const GVectBase< GReal, 3 > &Color)
  • void SetFillColor (const GReal Red, const GReal Green, const GReal Blue)
  • void SetFillOpacity (const GReal Opacity)
  • GGradientDesc * FillGradient () const
  • void SetFillGradient (GGradientDesc *Gradient)
  • GPatternDesc * FillPattern () const
  • void SetFillPattern (GPatternDesc *Pattern)
  • GCompositingOperation FillCompOp () const
  • void SetFillCompOp (const GCompositingOperation CompOp)
  • GBool FillEnabled () const
  • void SetFillEnabled (const GBool Enabled)
  • GInt32 DrawLine (const GPoint2 &P0, const GPoint2 &P1)
  • GInt32 DrawLine (const GReal X0, const GReal Y0, const GReal X1, const GReal Y1)
  • GInt32 DrawBezier (const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2)
  • GInt32 DrawBezier (const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal X2, const GReal Y2)
  • GInt32 DrawBezier (const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P3)
  • GInt32 DrawBezier (const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal X2, const GReal Y2, const GReal X3, const GReal Y3)
  • GInt32 DrawEllipseArc (const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GReal StartAngle=0, const GReal EndAngle=G_2PI, const GBool CCW=G_TRUE)
  • GInt32 DrawEllipseArc (const GReal X, const GReal Y, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GReal StartAngle=0, const GReal EndAngle=G_2PI, const GBool CCW=G_TRUE)
  • GInt32 DrawEllipseArc (const GPoint2 &P0, const GPoint2 &P1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GBool LargeArc=G_TRUE, const GBool CCW=G_FALSE)
  • GInt32 DrawEllipseArc (const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GBool LargeArc=G_TRUE, const GBool CCW=G_FALSE)
  • GInt32 DrawPolygon (const GDynArray< GPoint2 > &Points, const GBool Closed)
  • GInt32 DrawRectangle (const GPoint2 &P0, const GPoint2 &P1)
  • GInt32 DrawRectangle (const GReal X0, const GReal Y0, const GReal X1, const GReal Y1)
  • GInt32 DrawRoundRectangle (const GPoint2 &P0, const GPoint2 &P1, const GReal ArcWidth, const GReal ArcHeight)
  • GInt32 DrawRoundRectangle (const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal ArcWidth, const GReal ArcHeight)
  • GInt32 DrawEllipse (const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength)
  • GInt32 DrawEllipse (const GReal X, const GReal Y, const GReal XSemiAxisLength, const GReal YSemiAxisLength)
  • GInt32 DrawCircle (const GPoint2 &Center, const GReal Radius)
  • GInt32 DrawCircle (const GReal X, const GReal Y, const GReal Radius)
  • GInt32 DrawPath (const GCurve2D &Curve)
  • GInt32 DrawPaths (const GDynArray< GCurve2D * > &Curves)
  • GInt32 DrawPaths (const GString &SVGPathDescription, const GAnglesMeasureUnit AnglesMeasureUnits=G_DEGREE_UNIT)
  • GInt32 DrawPaths (const GChar8 *SVGPathDescription, const GAnglesMeasureUnit AnglesMeasureUnits=G_DEGREE_UNIT)
  • virtual void BeginPaths ()=0
  • virtual void MoveTo (const GPoint2 &P, const GBool Relative)=0
  • void MoveTo (const GReal X, const GReal Y, const GBool Relative)
  • virtual void LineTo (const GPoint2 &P, const GBool Relative)=0
  • void LineTo (const GReal X, const GReal Y, const GBool Relative)
  • virtual void HorizontalLineTo (const GReal X, const GBool Relative)=0
  • virtual void VerticalLineTo (const GReal Y, const GBool Relative)=0
  • virtual void CurveTo (const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P, const GBool Relative)=0
  • void CurveTo (const GReal X1, const GReal Y1, const GReal X2, const GReal Y2, const GReal X, const GReal Y, const GBool Relative)
  • virtual void CurveTo (const GPoint2 &P1, const GPoint2 &P, const GBool Relative)=0
  • void CurveTo (const GReal X1, const GReal Y1, const GReal X, const GReal Y, const GBool Relative)
  • virtual void SmoothCurveTo (const GPoint2 &P2, const GPoint2 &P, const GBool Relative)=0
  • void SmoothCurveTo (const GReal X2, const GReal Y2, const GReal X, const GReal Y, const GBool Relative)
  • virtual void SmoothCurveTo (const GPoint2 &P, const GBool Relative)=0
  • void SmoothCurveTo (const GReal X, const GReal Y, const GBool Relative)
  • virtual void EllipticalArcTo (const GReal Rx, const GReal Ry, const GReal XRot, const GBool LargeArc, const GBool Sweep, const GPoint2 &P, const GBool Relative)=0
  • void EllipticalArcTo (const GReal Rx, const GReal Ry, const GReal XRot, const GBool LargeArc, const GBool Sweep, const GReal X, const GReal Y, const GBool Relative)
  • virtual void ClosePath ()=0
  • virtual GInt32 EndPaths ()=0
  • void DrawCacheSlots (const GInt32 FirstSlotIndex, const GInt32 LastSlotIndex)
  • void DrawCacheBank ()
  • void DrawCacheSlot (const GInt32 SlotIndex)
  • void Clear (const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha, const GBool ClearClipMasks=G_TRUE)
  • void Flush ()
  • void Finish ()
  • void GroupBegin ()
  • void GroupBegin (const GAABox2 &LogicBox)
  • void GroupEnd ()
  • void Viewport (GUInt32 &LowLeftCornerX, GUInt32 &LowLeftCornerY, GUInt32 &Width, GUInt32 &Height)
  • void SetViewport (const GUInt32 LowLeftCornerX, const GUInt32 LowLeftCornerY, const GUInt32 Width, const GUInt32 Height)
  • void Projection (GReal &Left, GReal &Right, GReal &Bottom, GReal &Top)
  • void SetProjection (const GReal Left, const GReal Right, const GReal Bottom, const GReal Top)
  • GPoint< GInt32, 2 > LogicalToPhysicalInt (const GPoint2 &LogicalPoint)
  • GPoint2 LogicalToPhysicalReal (const GPoint2 &LogicalPoint)
  • GPoint2 PhysicalToLogical (const GPoint< GInt32, 2 > &PhysicalPoint)
  • GError ScreenShot (GPixelMap &Output, const GVectBase< GUInt32, 2 > &P0, const GVectBase< GUInt32, 2 > &P1) const
  • GError ScreenShot (GPixelMap &Output, const GUInt32 X0, const GUInt32 Y0, const GUInt32 X1, const GUInt32 Y1) const
  • GError ScreenShot (GPixelMap &Output) const
  • GMatrix33 PhysicalToLogicalMatrix () const
  • GMatrix33 LogicalToPhysicalMatrix () const
  • GBool InsideGroup () const

Protected Member Functions

  • virtual void DoSetRenderingQuality (const GRenderingQuality Quality)=0
  • virtual void DoSetTargetMode (const GTargetMode Mode)=0
  • virtual void DoSetClipOperation (const GClipOperation Operation)=0
  • virtual void DoSetClipEnabled (const GBool Enabled)=0
  • virtual void DoPopClipMask ()=0
  • virtual void DoSetGroupOpacity (const GReal Opacity)=0
  • virtual void DoSetGroupCompOp (const GCompositingOperation CompOp)=0
  • virtual void DoGroupBegin (const GAABox2 &LogicBox)=0
  • virtual void DoGroupEnd ()=0
  • virtual void DoFlush ()=0
  • virtual void DoFinish ()=0
  • virtual void DoClear (const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha, const GBool ClearClipMasks)=0
  • virtual void DoSetViewport (const GUInt32 LowLeftCornerX, const GUInt32 LowLeftCornerY, const GUInt32 Width, const GUInt32 Height)=0
  • virtual void DoSetProjection (const GReal Left, const GReal Right, const GReal Bottom, const GReal Top)=0
  • virtual GInt32 DoDrawRectangle (GDrawStyle &Style, const GPoint2 &MinCorner, const GPoint2 &MaxCorner)=0
  • virtual GInt32 DoDrawRoundRectangle (GDrawStyle &Style, const GPoint2 &MinCorner, const GPoint2 &MaxCorner, const GReal ArcWidth, const GReal ArcHeight)=0
  • virtual GInt32 DoDrawLine (GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1)=0
  • virtual GInt32 DoDrawBezier (GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2)=0
  • virtual GInt32 DoDrawBezier (GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P3)=0
  • virtual GInt32 DoDrawEllipseArc (GDrawStyle &Style, const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation, const GReal StartAngle, const GReal EndAngle, const GBool CCW)=0
  • virtual GInt32 DoDrawEllipseArc (GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation, const GBool LargeArc, const GBool CCW)=0
  • virtual GInt32 DoDrawEllipse (GDrawStyle &Style, const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength)=0
  • virtual GInt32 DoDrawCircle (GDrawStyle &Style, const GPoint2 &Center, const GReal Radius)=0
  • virtual GInt32 DoDrawPolygon (GDrawStyle &Style, const GDynArray< GPoint2 > &Points, const GBool Closed)=0
  • virtual GInt32 DoDrawPath (GDrawStyle &Style, const GCurve2D &Curve)=0
  • virtual GInt32 DoDrawPaths (GDrawStyle &Style, const GDynArray< GCurve2D * > &Curves)=0
  • virtual void DoDrawCacheSlots (GDrawStyle &Style, const GInt32 FirstSlotIndex, const GInt32 LastSlotIndex)=0
  • virtual GError DoScreenShot (GPixelMap &Output, const GVectBase< GUInt32, 2 > &P0, const GVectBase< GUInt32, 2 > &P1) const =0
  • virtual GDrawStyle * CreateDrawStyle () const =0

Protected Attributes

  • GPoint< GUInt32, 4 > gViewport
  • GPoint4 gProjection

Detailed Description

An abstract drawboard paint server.

This class represents an abstract drawboard, intended as an immediate paint server. Using the drawboard, users can draw everything, from simple lines to complex shapes. All geometric entities can be stroked and/or filled, using several combinations of draw styles. The core functionality of GDrawBoard is drawing, and there are functions to draw most primitives: DrawLine(), DrawRectangle(), DrawRoundRectangle(), DrawEllipse(), DrawBezier(), DrawEllipseArc(), DrawPolygon(), DrawPaths().

Drawboard exposes also an SVG primitives layer, so paths can be built using SVG compatible commands, like MoveTo(), LineTo(), HorizontalLineTo(), VerticalLineTo(), CurveTo(), SmoothCurveTo(), EllipticalArcTo(). For convenience (and to make the user life simpler), a method that draw a complete SVG path given his string description (the SVG 'd' attribute) has been exposed also.
Through the function DrawPath(), all Amanith curves (the ones derived from GCurve2D class) can be rendered, so the user is not limited to SVG/OpenVG-like shapes, but he can draw (for example) high order Bezier and B-Spline curves.

Shape's coordinates are always expressed into the logical window system. This logical window (that represents a portion of the infinitive worldspace canvas) is then automatically mapped into the physical viewport. Users can change the logical window using the function SetProjection(), and they can change physical viewport using the function SetViewport(). Some utility functions are exposed too, they can be useful to convert a point from logical to physical and viceversa; take a look at PhysicalToLogical(), LogicalToPhysicalInt(), LogicalToPhysicalReal().
Drawboard permits also to set an optional 'world' matrix; this matrix will be applied to all drawing operation, take a look at SetModelViewMatrix() function.

Drawboard is adaptive, in the sense that user can choose a set of options that influence the rendering quality and time performance, through the SetRenderingQuality() function.
All painting operation can be clipped by optional paths, that the user can define using exposed methods. These masks can be enabled and disabled at any time.
Clip paths can be defined using the same set of drawing functions, because the drawboard has 2 target buffers: color buffer and clip buffer. The user can switch between them using the function SetTargetMode().

Shapes can be stroked and/or filled, independently. There are methods to change stroke attributes, like SetStrokeStartCapStyle(), SetStrokeEndCapStyle(), SetStrokeJoinStyle(), SetStrokeWidth(), SetStrokeMiterLimit(), SetStrokeStyle(), SetStrokeDashPattern(), SetStrokeDashPhase(), SetStrokePaintType(), SetStrokeColor(), SetStrokeGradient(), SetStrokePattern(). Of course there are similar methods for fill: SetFillRule(), SetFillPaintType(), SetFillColor(), SetFillGradient(), SetFillPattern().

Another important style feature is group opacity, coupled with a compositing operation for the whole group: using SetGroupOpacity() and SetGroupCompOp() functions the user can set group opacity and compositing operation, and then he can draw a group of shapes between the calls GroupBegin() and GroupEnd().
All drawn shapes inside the group will be composited on the background using the specified compositing operation and its associated opacity.
To optimize rendering speed, users can use the caching system. Through the function CreateCacheBank(), a new "container" (like a sort of memory bank) of cached primitives is first created. Then to draw geometries onto cache bank it's a simple matter to set G_CACHE_MODE as target mode. Each drawing operation will append a new slot to the bank. After caching, the user can draw each slot using DrawCacheSlot() function. The users can invalidate a cache bank using the function Invalidate().

Constructor & Destructor Documentation

Amanith::GDrawBoard::GDrawBoard ( )

Default constructor.

Amanith::GDrawBoard::~GDrawBoard ( ) [virtual]

Destructor.

Member Function Documentation

virtual void Amanith::GDrawBoard::BeginPaths ( ) [pure virtual]

Start an SVG-like path block. Each opened block must be closed calling EndPaths() function.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GCacheBank* Amanith::GDrawBoard::CacheBank ( ) const [pure virtual]

Get current cache bank. NULL if a cache bank hasn't already been set.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

void Amanith::GDrawBoard::Clear | ( | const GReal | Red,
 |  | const GReal | Green,
 |  | const GReal | Blue,
 |  | const GReal | Alpha,
 |  | const GBool | ClearClipMasks = G_TRUE
 | ) |

Clear the drawboard.

This methods permits to clear the entire drawboard, using s specified color. In the same 'atomic' operation the clipbuffer can be cleared too.

Parameters:
Red | the red component of the clear color.
Green | the green component of the clear color.
Blue | the blue component of the clear color.
Alpha | the alpha component of the clear color.
ClearClipMasks | if G_TRUE also clipbuffer will be cleared. In this case all existing masks will be dropped.

GBool Amanith::GDrawBoard::ClipEnabled ( ) const

Get clip enable/disable flag.

GClipOperation Amanith::GDrawBoard::ClipOperation ( ) const

Get clip operation currently used for clip paths.

virtual void Amanith::GDrawBoard::ClosePath ( ) [pure virtual]

Close the current SVG-like sub-path.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GCacheBank* Amanith::GDrawBoard::CreateCacheBank ( ) [pure virtual]

Create a new cache bank.

Returns:
the created cache bank if operation succeeds, else a NULL pointer.
Note:
this method MUST be implemented by all derived classes. The user MUST NOT delete the returned pointer (the drawboard will care of it).

Implemented in Amanith::GOpenGLBoard.

virtual GGradientDesc* Amanith::GDrawBoard::CreateConicalGradient | ( | const GPoint2 & | Center,
 |  | const GPoint2 & | Target,
 |  | const GDynArray< GKeyValue > & | ColorKeys,
 |  | const GColorRampInterpolation | Interpolation = G_HERMITE_COLOR_INTERPOLATION,
 |  | const GMatrix33 & | Matrix = G_MATRIX_IDENTITY33
 | ) | [pure virtual]

Create a conical gradient.

Parameters:
Center | the center of gradient, this is the cone vertex point.
Target | it specifies a 'target' point, that coupled with start point defines a direction associated to the first color key.
ColorKeys | color keys, they must be sorted by time (in ascending order).
Interpolation | the interpolation schema to adopt during pixel color evaluation.
Matrix | an optional gradient matrix, used to transform the gradient into another coordinates system.
Returns:
a structure containing the specified gradient, NULL if the gradient can't be created.
Note:
this method MUST be implemented by all derived classes. The user MUST NOT delete the returned pointer (the drawboard will care of it).

Implemented in Amanith::GOpenGLBoard.

virtual GDrawStyle* Amanith::GDrawBoard::CreateDrawStyle ( ) const [protected, pure virtual]

Create a new draw style.

A drawboard implementation could create an extended drawstyle structure (derived from GDrawStyle) and associate with it implementation-dependent data.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GGradientDesc* Amanith::GDrawBoard::CreateLinearGradient | ( | const GPoint2 & | StartPoint,
 |  | const GPoint2 & | EndPoint,
 |  | const GDynArray< GKeyValue > & | ColorKeys,
 |  | const GColorRampInterpolation | Interpolation = G_HERMITE_COLOR_INTERPOLATION,
 |  | const GColorRampSpreadMode | SpreadMode = G_PAD_COLOR_RAMP_SPREAD,
 |  | const GMatrix33 & | Matrix = G_MATRIX_IDENTITY33
 | ) | [pure virtual]

Create a linear gradient.

Parameters:
StartPoint | the point corresponding to the first color key.
EndPoint | the point corresponding to the last color key.
ColorKeys | color keys, they must be sorted by time (in ascending order).
Interpolation | the interpolation schema to adopt during pixel color evaluation.
SpreadMode | indicates what happens if the gradient starts or ends inside the bounds of the target region.
Matrix | an optional gradient matrix, used to transform the gradient into another coordinates system.
Returns:
a structure containing the specified gradient, NULL if the gradient can't be created.
Note:
this method MUST be implemented by all derived classes. The user MUST NOT delete the returned pointer (the drawboard will care of it).

Implemented in Amanith::GOpenGLBoard.

virtual GPatternDesc* Amanith::GDrawBoard::CreatePattern | ( | const GPixelMap * | Image,
 |  | const GImageQuality | Quality,
 |  | const GTilingMode | TilingMode = G_REPEAT_TILE,
 |  | const GAABox2 * | LogicalWindow = NULL,
 |  | const GMatrix33 & | Matrix = G_MATRIX_IDENTITY33
 | ) | [pure virtual]

Create a bitmap pattern.

Parameters:
Image | a source bitmap image, must be valid.
Quality | a quality parameter that must be used when the pattern will be drawn on screen.
TilingMode | defines possible methods for defining colors for source pixels that lie outside the bounds of the source image.
LogicalWindow | defines a reference rectangle somewhere on the infinite canvas. The tiling extends a series of such rectangles to infinity in X and Y (positive and negative). If NULL is specified a default rectangle (going from the lowleft logical corner with a correct ratio) will be set.
Matrix | an optional pattern matrix, used to transform the pattern into another coordinates system.
Returns:
a structure containing the specified pattern, NULL if the pattern can't be created.
Note:
this method MUST be implemented by all derived classes. The user MUST NOT delete the returned pointer (the drawboard will care of it).

Implemented in Amanith::GOpenGLBoard.

virtual GGradientDesc* Amanith::GDrawBoard::CreateRadialGradient | ( | const GPoint2 & | Center,
 |  | const GPoint2 & | Focus,
 |  | const GReal | Radius,
 |  | const GDynArray< GKeyValue > & | ColorKeys,
 |  | const GColorRampInterpolation | Interpolation = G_HERMITE_COLOR_INTERPOLATION,
 |  | const GColorRampSpreadMode | SpreadMode = G_PAD_COLOR_RAMP_SPREAD,
 |  | const GMatrix33 & | Matrix = G_MATRIX_IDENTITY33
 | ) | [pure virtual]

Create a radial gradient.

Parameters:
Center | the center of gradient, it will be in correspondence of the first color key.
Focus | the focus point.
Radius | the radius of the gradient. Points at radius distances from center will be colored using last color key.
ColorKeys | color keys, they must be sorted by time (in ascending order).
Interpolation | the interpolation schema to adopt during pixel color evaluation.
SpreadMode | indicates what happens if the gradient starts or ends inside the bounds of the target region.
Matrix | an optional gradient matrix, used to transform the gradient into another coordinates system.
Returns:
a structure containing the specified gradient, NULL if the gradient can't be created.
Note:
this method MUST be implemented by all derived classes. The user MUST NOT delete the returned pointer (the drawboard will care of it).

Implemented in Amanith::GOpenGLBoard.

void Amanith::GDrawBoard::CurveTo | ( | const GReal | X1,
 |  | const GReal | Y1,
 |  | const GReal | X,
 |  | const GReal | Y,
 |  | const GBool | Relative
 | ) |

Draw a quadratic Bezier curve from current cursor position to P, using P1 as control point.

Parameters:
X1 | abscissa of the control point.
Y1 | ordinate of the control point.
X | abscissa of the curve end point.
Y | ordinate of the curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

virtual void Amanith::GDrawBoard::CurveTo | ( | const GPoint2 & | P1,
 |  | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [pure virtual]

Draw a quadratic Bezier curve from current cursor position to P, using P1 as control point.

Parameters:
P1 | control point.
P | curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

void Amanith::GDrawBoard::CurveTo | ( | const GReal | X1,
 |  | const GReal | Y1,
 |  | const GReal | X2,
 |  | const GReal | Y2,
 |  | const GReal | X,
 |  | const GReal | Y,
 |  | const GBool | Relative
 | ) |

Draw a cubic Bezier curve from current cursor position to (X, Y), using (X1, Y1) as the control point at the beginning of the curve and (X2, Y2) as the control point at the end of the curve.

Parameters:
X1 | abscissa of the control point at the beginning of the curve.
Y1 | ordinate of the control point at the beginning of the curve.
X2 | abscissa of the control point at the end of the curve.
Y2 | ordinate of the control point at the end of the curve.
X | abscissa of the curve end point.
Y | ordinate of the curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

virtual void Amanith::GDrawBoard::CurveTo | ( | const GPoint2 & | P1,
 |  | const GPoint2 & | P2,
 |  | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [pure virtual]

Draw a cubic Bezier curve from current cursor position to P, using P1 as the control point at the beginning of the curve and P2 as the control point at the end of the curve.

Parameters:
P1 | control point at the beginning of the curve.
P2 | control point at the end of the curve.
P | curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoClear | ( | const GReal | Red,
 |  | const GReal | Green,
 |  | const GReal | Blue,
 |  | const GReal | Alpha,
 |  | const GBool | ClearClipMasks
 | ) | [protected, pure virtual]

Do the effective drawboard cleaning.

This methods permits to clear the entire drawboard, using s specified color. In the same 'atomic' operation the clipbuffer can be cleared too. When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Parameters:
Red | the red component of the clear color.
Green | the green component of the clear color.
Blue | the blue component of the clear color.
Alpha | the alpha component of the clear color.
ClearClipMasks | if G_TRUE also clipbuffer will be cleared. In this case all existing masks will be dropped.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawBezier | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GPoint2 & | P2,
 |  | const GPoint2 & | P3
 | ) | [protected, pure virtual]

Do the effective drawing of a cubic Bezier curve, going form P0 to P4 and having P1 and P2 as control points.

Parameters:
Style | the drawstyle to use.
P0 | the curve start point.
P1 | the curve first control point (associated with P0).
P2 | the curve second control point (associated with P3).
P3 | the curve end point.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawBezier | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GPoint2 & | P2
 | ) | [protected, pure virtual]

Do the effective drawing of a quadratic Bezier curve, going form P0 to P2 and having P1 as central control point.

Parameters:
Style | the drawstyle to use.
P0 | the curve start point.
P1 | the curve control point.
P2 | the curve end point.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoDrawCacheSlots | ( | GDrawStyle & | Style,
 |  | const GInt32 | FirstSlotIndex,
 |  | const GInt32 | LastSlotIndex
 | ) | [protected, pure virtual]

Draw the current cache bank slots. Here it's ensured that current cache bank is non-NULL and that FirstSlotIndex <= LastSlotIndex.

Parameters:
Style | the drawstyle to use.
FirstSlotIndex | first cache slot (index) to draw. It's ensured to be inside the valid range.
LastSlotIndex | last cache slot (index) to draw. It's ensured to be inside the valid range.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawCircle | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | Center,
 |  | const GReal | Radius
 | ) | [protected, pure virtual]

Do the effective drawing of a circle.

Parameters:
Style | the drawstyle to use.
Center | the center of the circle.
Radius | the radius of the circle, it's ensured to be positive.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawEllipse | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | Center,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength
 | ) | [protected, pure virtual]

Do the effective drawing of a whole ellipse.

Parameters:
Style | the drawstyle to use.
Center | the center of the ellipse.
XSemiAxisLength | the radius of the ellipse along x-axis. It's ensured to be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It's ensured to be greater than 0.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawEllipseArc | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation,
 |  | const GBool | LargeArc,
 |  | const GBool | CCW
 | ) | [protected, pure virtual]

Do the effective drawing of an ellipse arc.

Parameters:
Style | the drawstyle to use.
P0 | the start point of the arc.
P1 | the end point of the arc.
XSemiAxisLength | the radius of the ellipse along x-axis. It's ensured to be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It's ensured to be greater than 0.
OffsetRotation | an optional offset rotation (expressed in radians) relative to the x-axis.
LargeArc | if G_TRUE the ellipse arc has to go from start point to end point spanning the longest chord, else G_FALSE.
CCW | if G_TRUE the ellipse arc has to go from start point to end point in counter clockwise direction, else G_FALSE (clockwise direction).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawEllipseArc | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | Center,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation,
 |  | const GReal | StartAngle,
 |  | const GReal | EndAngle,
 |  | const GBool | CCW
 | ) | [protected, pure virtual]

Do the effective drawing of an ellipse arc.

Parameters:
Style | the drawstyle to use.
Center | the center of the ellipse.
XSemiAxisLength | the radius of the ellipse along x-axis. It's ensured to be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It's ensured to be greater than 0.
OffsetRotation | an optional offset rotation (expressed in radians) relative to the x-axis.
StartAngle | an angle (in radians) that defines the start point of the arc.
EndAngle | an angle (in radians) that defines the end point of the arc.
CCW | if G_TRUE the ellipse arc has to go from start point to end point in counter clockwise direction, else G_FALSE (clockwise direction).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawLine | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | P0,
 |  | const GPoint2 & | P1
 | ) | [protected, pure virtual]

Do the effective drawing of a line.

Parameters:
Style | the drawstyle to use.
P0 | the line start point.
P1 | the line end point.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawPath | ( | GDrawStyle & | Style,
 |  | const GCurve2D & | Curve
 | ) | [protected, pure virtual]

Do the effective drawing of curve/path.

Parameters:
Style | the drawstyle to use.
Curve | the curve to draw, it consists of at least 2 points.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawPaths | ( | GDrawStyle & | Style,
 |  | const GDynArray< GCurve2D * > & | Curves
 | ) | [protected, pure virtual]

Do the effective drawing of a set of curves and paths.

This method permits to draw complex shapes, made of more than 1 curve/path, using the currently set fill rule.

Parameters:
Style | the drawstyle to use.
Curves | an array of curves pointers. Each pointer must be valid.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawPolygon | ( | GDrawStyle & | Style,
 |  | const GDynArray< GPoint2 > & | Points,
 |  | const GBool | Closed
 | ) | [protected, pure virtual]

Draw the effective drawing of a polygon.

Parameters:
Style | the drawstyle to use.
Points | the set of consecutive points that define the polygon, it's ensured that at least 2 points entries exist.
Closed | if G_TRUE the polygon is considered closed (an imaginary edge goes from last point to the first one).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawRectangle | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | MinCorner,
 |  | const GPoint2 & | MaxCorner
 | ) | [protected, pure virtual]

Do the effective drawing of a rectangle.

When this method is called, it's ensured that corners are opposite and ordered.

Parameters:
Style | the drawstyle to use.
MinCorner | a corner of the rectangle.
MaxCorner | the opposite (to MinCorner) corner of the rectangle.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::DoDrawRoundRectangle | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | MinCorner,
 |  | const GPoint2 & | MaxCorner,
 |  | const GReal | ArcWidth,
 |  | const GReal | ArcHeight
 | ) | [protected, pure virtual]

Do the effective drawing of a round rectangle.

When this method is called, it's ensured that corners are opposite and ordered.

Parameters:
Style | the drawstyle to use.
MinCorner | a corner of the rectangle.
MaxCorner | the opposite (to MinCorner) corner of the rectangle.
ArcWidth | the x-axis radius of the ellipse used to round off the corners of the rectangle. It's ensured to be positive.
ArcHeight | the y-axis radius of the ellipse used to round off the corners of the rectangle. It's ensured to be positive.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it must returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoFinish ( ) [protected, pure virtual]

Do the effective blocking flush of all outstanding requests on the current context.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoFlush ( ) [protected, pure virtual]

Do the effective non-blocking flush of all outstanding requests on the current context.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoGroupBegin ( const GAABox2 & LogicBox ) [protected, pure virtual]

Do the effective opening of a group block.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoGroupEnd ( ) [protected, pure virtual]

Do the effective closure of a group block.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoPopClipMask ( ) [protected, pure virtual]

Do the effective pop of the last clip path from stack.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GError Amanith::GDrawBoard::DoScreenShot | ( | GPixelMap & | Output,
 |  | const GVectBase< GUInt32, 2 > & | P0,
 |  | const GVectBase< GUInt32, 2 > & | P1
 | ) | const [protected, pure virtual]

Do the effective screenshot.

This function permits to grab a rectangular portion of the framebuffer, and put it into a bitmap. Here it's ensured that P0 <= P1.

Parameters:
Output | the output image, where grabbed portion will be copied into.
P0 | a corner of the rectangle portion to grab.
P1 | the opposite (to P0) corner of the rectangle.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoSetClipEnabled ( const GBool Enabled ) [protected, pure virtual]

Enable (G_TRUE value) or disable (G_FALSE value) clip paths.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoSetClipOperation ( const GClipOperation Operation ) [protected, pure virtual]

Do the effective set clip operation to use for clip paths.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoSetGroupCompOp ( const GCompositingOperation CompOp ) [protected, pure virtual]

Do the effective set of group compositing operation.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoSetGroupOpacity ( const GReal Opacity ) [protected, pure virtual]

Do the effective set of group opacity.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoSetProjection | ( | const GReal | Left,
 |  | const GReal | Right,
 |  | const GReal | Bottom,
 |  | const GReal | Top
 | ) | [protected, pure virtual]

Do the effective set of the logical viewport.

Logical viewport (that defines implicitly a projection matrix) is used to select a rectangular portion of infinitive canvas. This can be used to do all kind of panning and zooming operations. When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block, in addition Left is ensure to be different than Right and Bottom is ensured to be different from Top.

Parameters:
Left | the abscissa of the bottom-left corner of current logical window.
Right | the abscissa of the top-right corner of current logical window.
Bottom | the ordinate of the bottom-left corner of current logical window.
Top | the ordinate of the top-right corner of current logical window.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoSetRenderingQuality ( const GRenderingQuality Quality ) [protected, pure virtual]

Do the effective set of rendering quality settings.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoSetTargetMode ( const GTargetMode Mode ) [protected, pure virtual]

Do the effective set of target mode (target buffer).

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual void Amanith::GDrawBoard::DoSetViewport | ( | const GUInt32 | LowLeftCornerX,
 |  | const GUInt32 | LowLeftCornerY,
 |  | const GUInt32 | Width,
 |  | const GUInt32 | Height
 | ) | [protected, pure virtual]

Do the effective set of physical viewport.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Parameters:
LowLeftCornerX | lowleft corner abscissa of the viewport.
LowLeftCornerY | lowleft corner ordinate of the viewport.
Width | width of the viewport expressed in pixels, it's ensured to be grater than 0.
Height | height of the viewport expressed in pixels, it's ensured to be grater than 0.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

GInt32 Amanith::GDrawBoard::DrawBezier | ( | const GReal | X0,
 |  | const GReal | Y0,
 |  | const GReal | X1,
 |  | const GReal | Y1,
 |  | const GReal | X2,
 |  | const GReal | Y2,
 |  | const GReal | X3,
 |  | const GReal | Y3
 | ) |

Draw a cubic Bezier curve, going form (X0, Y0) to (X3, Y3) and having (X1, Y1) and (X2, Y2) as control points.

Parameters:
X0 | first curve point abscissa.
Y0 | first curve point ordinate.
X1 | first control point abscissa.
Y1 | first control point ordinate.
X2 | second control point abscissa.
Y2 | second control point ordinate.
X3 | last curve point abscissa.
Y3 | last curve point ordinate.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawBezier | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GPoint2 & | P2,
 |  | const GPoint2 & | P3
 | ) |

Draw a cubic Bezier curve, going form P0 to P3 and having P1 and P2 as control points.

Parameters:
P0 | first curve point.
P1 | first control point.
P2 | second control point.
P3 | last curve point.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawBezier | ( | const GReal | X0,
 |  | const GReal | Y0,
 |  | const GReal | X1,
 |  | const GReal | Y1,
 |  | const GReal | X2,
 |  | const GReal | Y2
 | ) |

Draw a quadratic Bezier curve, going form (X0, Y0) to (X2, Y2) and having (X1, Y1) as central control point.

Parameters:
X0 | first curve point abscissa.
Y0 | first curve point ordinate.
X1 | control point abscissa.
Y1 | control point ordinate.
X2 | last curve point abscissa.
Y2 | last curve point ordinate.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawBezier | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GPoint2 & | P2
 | ) |

Draw a quadratic Bezier curve, going form P0 to P2 and having P1 as central control point.

Parameters:
P0 | first curve point.
P1 | control point.
P2 | last curve point.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

void Amanith::GDrawBoard::DrawCacheBank ( )

Draw the entire current cache bank.

void Amanith::GDrawBoard::DrawCacheSlot ( const GInt32 SlotIndex )

Draw a single cache slot of the current cache bank.

Parameters:
SlotIndex cache slot (index) to draw. It must be valid.

void Amanith::GDrawBoard::DrawCacheSlots | ( | const GInt32 | FirstSlotIndex,
 |  | const GInt32 | LastSlotIndex
 | ) |

Draw a range of cache slots, taken from the current cache bank.

Parameters:
FirstSlotIndex | first cache slot (index) to draw. It must be valid.
LastSlotIndex | last cache slot (index) to draw. It must be valid.

GInt32 Amanith::GDrawBoard::DrawCircle | ( | const GReal | X,
 |  | const GReal | Y,
 |  | const GReal | Radius
 | ) |

Draw a circle.

Parameters:
X | the center abscissa of the circle.
Y | the center ordinate of the circle.
Radius | the radius of the circle, it must be positive.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawCircle | ( | const GPoint2 & | Center,
 |  | const GReal | Radius
 | ) |

Draw a circle.

Parameters:
Center | the center of the circle.
Radius | the radius of the circle, it must be positive.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawEllipse | ( | const GReal | X,
 |  | const GReal | Y,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength
 | ) |

Draw an ellipse.

Parameters:
X | the center abscissa of the ellipse.
Y | the center ordinate of the ellipse.
XSemiAxisLength | the radius of the ellipse along x-axis. It must be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It must be greater than 0.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawEllipse | ( | const GPoint2 & | Center,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength
 | ) |

Draw an ellipse.

Parameters:
Center | the center of the ellipse.
XSemiAxisLength | the radius of the ellipse along x-axis. It must be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It must be greater than 0.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawEllipseArc | ( | const GReal | X0,
 |  | const GReal | Y0,
 |  | const GReal | X1,
 |  | const GReal | Y1,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation = 0,
 |  | const GBool | LargeArc = G_TRUE,
 |  | const GBool | CCW = G_FALSE
 | ) |

Draw an ellipse arc, using a two-points fit schema.

Parameters:
X0 | the start point abscissa of the arc.
Y0 | the start point ordinate of the arc.
X1 | the end point abscissa of the arc.
Y1 | the end point abscissa of the arc.
XSemiAxisLength | the radius of the ellipse along x-axis. It must be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It must be greater than 0.
OffsetRotation | an optional offset rotation (expressed in radians) relative to the x-axis.
LargeArc | if G_TRUE the ellipse arc has to go from start point to end point spanning the longest chord, else G_FALSE.
CCW | if G_TRUE the ellipse arc has to go from start point to end point in counter clockwise direction, else G_FALSE (clockwise direction).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawEllipseArc | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation = 0,
 |  | const GBool | LargeArc = G_TRUE,
 |  | const GBool | CCW = G_FALSE
 | ) |

Draw an ellipse arc, using a two-points fit schema.

Parameters:
P0 | the start point of the arc.
P1 | the end point of the arc.
XSemiAxisLength | the radius of the ellipse along x-axis. It must be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It must be greater than 0.
OffsetRotation | an optional offset rotation (expressed in radians) relative to the x-axis.
LargeArc | if G_TRUE the ellipse arc has to go from start point to end point spanning the longest chord, else G_FALSE.
CCW | if G_TRUE the ellipse arc has to go from start point to end point in counter clockwise direction, else G_FALSE (clockwise direction).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawEllipseArc | ( | const GReal | X,
 |  | const GReal | Y,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation = 0,
 |  | const GReal | StartAngle = 0,
 |  | const GReal | EndAngle = G_2PI,
 |  | const GBool | CCW = G_TRUE
 | ) |

Draw an ellipse arc.

Parameters:
X | the center abscissa of the ellipse.
Y | the center ordinate of the ellipse.
XSemiAxisLength | the radius of the ellipse along x-axis. It must be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It must be greater than 0.
OffsetRotation | an optional offset rotation (expressed in radians) relative to the x-axis.
StartAngle | an angle (in radians) that defines the start point of the arc.
EndAngle | an angle (in radians) that defines the end point of the arc.
CCW | if G_TRUE the ellipse arc has to go from start point to end point in counter clockwise direction, else G_FALSE (clockwise direction).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawEllipseArc | ( | const GPoint2 & | Center,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation = 0,
 |  | const GReal | StartAngle = 0,
 |  | const GReal | EndAngle = G_2PI,
 |  | const GBool | CCW = G_TRUE
 | ) |

Draw an ellipse arc.

Parameters:
Center | the center of the ellipse.
XSemiAxisLength | the radius of the ellipse along x-axis. It must be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It must be greater than 0.
OffsetRotation | an optional offset rotation (expressed in radians) relative to the x-axis.
StartAngle | an angle (in radians) that defines the start point of the arc.
EndAngle | an angle (in radians) that defines the end point of the arc.
CCW | if G_TRUE the ellipse arc has to go from start point to end point in counter clockwise direction, else G_FALSE (clockwise direction).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawLine | ( | const GReal | X0,
 |  | const GReal | Y0,
 |  | const GReal | X1,
 |  | const GReal | Y1
 | ) |

Draw a line, going form (X0, Y0) to (X1, Y1).

Parameters:
X0 | first end point abscissa.
Y0 | first end point ordinate.
X1 | last end point abscissa.
Y1 | first end point ordinate.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawLine | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1
 | ) |

Draw a line, going form P0 to P1.

Parameters:
P0 | first end point.
P1 | last end point.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawPath ( const GCurve2D & Curve )

Draw a single curve/path.

This method permits to draw a single curve, intended as a class derived from GCurve2D.

Parameters:
Curve the curve to draw, it must consist of at least 2 points.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawPaths | ( | const GChar8 * | SVGPathDescription,
 |  | const GAnglesMeasureUnit | AnglesMeasureUnits = G_DEGREE_UNIT
 | ) |

Draw a (multi)path, specifying an SVG description.

Parameters:
SVGPathDescription | an non-empty string, describing the path in the classic SVG form (the well known 'd' attribute. For example "M 406,74 C 257,67 305,163 359,313 Q 406,361 454,314 C 496,164 544,67 406,74 z".
AnglesMeasureUnits | the system units into which angles are expressed inside the string.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawPaths | ( | const GString & | SVGPathDescription,
 |  | const GAnglesMeasureUnit | AnglesMeasureUnits = G_DEGREE_UNIT
 | ) |

Draw a (multi)path, specifying an SVG description.

Parameters:
SVGPathDescription | an non-empty string, describing the path in the classic SVG form (the well known 'd' attribute. For example "M 406,74 C 257,67 305,163 359,313 Q 406,361 454,314 C 496,164 544,67 406,74 z".
AnglesMeasureUnits | the system units into which angles are expressed inside the string.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawPaths ( const GDynArray< GCurve2D * > & Curves )

Draw a set of curves and paths.

This method permits to draw complex shapes, made of more than 1 curve/path, using the currently set fill rule.

Parameters:
Curves an array of curves pointers. Each pointer must be valid.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawPolygon | ( | const GDynArray< GPoint2 > & | Points,
 |  | const GBool | Closed
 | ) |

Draw a polygon.

Parameters:
Points | the set of consecutive points that define the polygon.
Closed | if G_TRUE the polygon is considered closed (an imaginary edge goes from last point to the first one).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawRectangle | ( | const GReal | X0,
 |  | const GReal | Y0,
 |  | const GReal | X1,
 |  | const GReal | Y1
 | ) |

Draw a rectangle.

Parameters:
X0 | a corner abscissa of the rectangle.
Y0 | a corner ordinate of the rectangle.
X1 | the opposite (to X0) corner abscissa of the rectangle.
Y1 | the opposite (to Y0) corner ordinate of the rectangle.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawRectangle | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1
 | ) |

Draw a rectangle.

Parameters:
P0 | a corner of the rectangle.
P1 | the opposite (to P0) corner of the rectangle.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawRoundRectangle | ( | const GReal | X0,
 |  | const GReal | Y0,
 |  | const GReal | X1,
 |  | const GReal | Y1,
 |  | const GReal | ArcWidth,
 |  | const GReal | ArcHeight
 | ) |

Draw a rounded rectangle.

Parameters:
X0 | a corner abscissa of the rectangle.
Y0 | a corner ordinate of the rectangle.
X1 | the opposite (to X0) corner abscissa of the rectangle.
Y1 | the opposite (to Y0) corner ordinate of the rectangle.
ArcWidth | the x-axis radius of the ellipse used to round off the corners of the rectangle. It must be positive.
ArcHeight | the y-axis radius of the ellipse used to round off the corners of the rectangle. It must be positive.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

GInt32 Amanith::GDrawBoard::DrawRoundRectangle | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GReal | ArcWidth,
 |  | const GReal | ArcHeight
 | ) |

Draw a rounded rectangle.

Parameters:
P0 | a corner of the rectangle.
P1 | the opposite (to P0) corner of the rectangle.
ArcWidth | the x-axis radius of the ellipse used to round off the corners of the rectangle. It must be positive.
ArcHeight | the y-axis radius of the ellipse used to round off the corners of the rectangle. It must be positive.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

void Amanith::GDrawBoard::EllipticalArcTo | ( | const GReal | Rx,
 |  | const GReal | Ry,
 |  | const GReal | XRot,
 |  | const GBool | LargeArc,
 |  | const GBool | Sweep,
 |  | const GReal | X,
 |  | const GReal | Y,
 |  | const GBool | Relative
 | ) |

Draw an elliptical arc from the current cursor position to (X, Y). The size and orientation of the ellipse are defined by two radii (Rx, Ry) and an x-axis-rotation (XRot, expressed in radians), which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. LargeArc flag and Sweep flag contribute to the automatic calculations and help determine how the arc is drawn.

Parameters:
Rx | x-axis radius.
Ry | y-axis radius.
XRot | an offset rotation (in radians) which indicates how the ellipse as a whole is rotated relative to the current coordinate system.
LargeArc | if G_TRUE then one of the two larger arc sweeps will be chosen; otherwise, if G_FALSE one of the smaller arc sweeps will be chosen.
Sweep | if G_TRUE then the arc will be drawn in a "positive-angle" direction. A value of G_FALSE causes the arc to be drawn in a "negative-angle" direction.
X | the final endpoint abscissa to reach.
Y | the final endpoint ordinate to reach.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

virtual void Amanith::GDrawBoard::EllipticalArcTo | ( | const GReal | Rx,
 |  | const GReal | Ry,
 |  | const GReal | XRot,
 |  | const GBool | LargeArc,
 |  | const GBool | Sweep,
 |  | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [pure virtual]

Draw an elliptical arc from the current cursor position to P. The size and orientation of the ellipse are defined by two radii (Rx, Ry) and an x-axis-rotation (XRot, expressed in radians), which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. LargeArc flag and Sweep flag contribute to the automatic calculations and help determine how the arc is drawn.

Parameters:
Rx | x-axis radius.
Ry | y-axis radius.
XRot | an offset rotation (in radians) which indicates how the ellipse as a whole is rotated relative to the current coordinate system.
LargeArc | if G_TRUE then one of the two larger arc sweeps will be chosen; otherwise, if G_FALSE one of the smaller arc sweeps will be chosen.
Sweep | if G_TRUE then the arc will be drawn in a "positive-angle" direction. A value of G_FALSE causes the arc to be drawn in a "negative-angle" direction.
P | the final endpoint to reach.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GInt32 Amanith::GDrawBoard::EndPaths ( ) [pure virtual]

Close an SVG-like path block.

Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

const GVectBase< GReal, 4 > & Amanith::GDrawBoard::FillColor ( ) const

Get fill color.

GCompositingOperation Amanith::GDrawBoard::FillCompOp ( ) const

Get current fill compositing operation.

GBool Amanith::GDrawBoard::FillEnabled ( ) const

It returns G_TRUE if fill painting is enabled, else G_FALSE.

GGradientDesc * Amanith::GDrawBoard::FillGradient ( ) const

Get fill gradient (that will be used when stroke paint type is GRADIENT).

GPaintType Amanith::GDrawBoard::FillPaintType ( ) const

Get fill paint type.

GPatternDesc * Amanith::GDrawBoard::FillPattern ( ) const

Get fill pattern (that will be used when stroke paint type is PATTERN).

GFillRule Amanith::GDrawBoard::FillRule ( ) const

Get fill rule currently used.

void Amanith::GDrawBoard::Finish ( )

This function blocks until all drawing operations are completed. This function does not return until the effects of all previously called drawing functions are complete. Such effects include all changes to the states and all changes to the framebuffer contents.

void Amanith::GDrawBoard::Flush ( )

This function ensures that all outstanding requests on the current context will complete in finite time. Flush may return prior to the actual completion of all requests.

void Amanith::GDrawBoard::GroupBegin ( const GAABox2 & LogicBox )

Open a group block, specifying a zone (a box) that will be affected by successive drawing operations. This version permits heavy optimizations by the rendering system.

void Amanith::GDrawBoard::GroupBegin ( )

Open a group block.

If the drawboard is already inside a group constructor (you can check this with InsideGroup() function), this operation has no effects.
All drawing operations done inside a group block will be subjected to the group opacity currently set.

GCompositingOperation Amanith::GDrawBoard::GroupCompOp ( ) const

Get current group compositing operation.

void Amanith::GDrawBoard::GroupEnd ( )

Close a group block.

If the drawboard is not inside a group block (you can check this with InsideGroup() function) this operation has no effects.

GReal Amanith::GDrawBoard::GroupOpacity ( ) const

Get group opacity.

virtual void Amanith::GDrawBoard::HorizontalLineTo | ( | const GReal | X,
 |  | const GBool | Relative
 | ) | [pure virtual]

Draw an horizontal line from the current cursor position to the specified location.

Parameters:
X | the endpoint abscissa.
Relative | if G_TRUE end point coordinates are relative to the current cursor position, else they are absolute.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

GBool Amanith::GDrawBoard::InsideGroup ( ) const

Returns G_TRUE if current rendering operations are inside a GroupBegin() / GroupEnd() constructor.

void Amanith::GDrawBoard::LineTo | ( | const GReal | X,
 |  | const GReal | Y,
 |  | const GBool | Relative
 | ) |

Draw a line from the current cursor position to the specified point.

Parameters:
X | the x component of the end point.
Y | the y component of the end point.
Relative | if G_TRUE end point coordinates are relative to the current cursor position, else they are absolute.

virtual void Amanith::GDrawBoard::LineTo | ( | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [pure virtual]

Draw a line from the current cursor position to the specified point.

Parameters:
P | the endpoint of the line.
Relative | if G_TRUE end point coordinates are relative to the current cursor position, else they are absolute.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

GPoint< GInt32, 2 > Amanith::GDrawBoard::LogicalToPhysicalInt ( const GPoint2 & LogicalPoint )

Coordinates conversion from logical to physical.

Parameters:
LogicalPoint a point whose coordinates are expressed inside the logical window.
Returns:
the same point expressed inside the physical viewport.

GMatrix33 Amanith::GDrawBoard::LogicalToPhysicalMatrix ( ) const

Get a matrix that transforms a logical point to its physical representation.

GPoint2 Amanith::GDrawBoard::LogicalToPhysicalReal ( const GPoint2 & LogicalPoint )

Coordinates conversion from logical to physical.

Parameters:
LogicalPoint a point whose coordinates are expressed inside the logical window.
Returns:
the same point expressed inside the physical viewport.

virtual GUInt32 Amanith::GDrawBoard::MaxColorKeys ( ) const [pure virtual]

Get the maximum supported number of color keys.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GUInt32 Amanith::GDrawBoard::MaxDashCount ( ) const [pure virtual]

Get the maximum supported number of dash entries.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GUInt32 Amanith::GDrawBoard::MaxImageBytes ( ) const [pure virtual]

Get the maximum supported pattern memory size (in bytes).

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GUInt32 Amanith::GDrawBoard::MaxImageHeight ( ) const [pure virtual]

Get the maximum supported pattern height (in pixels).

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

virtual GUInt32 Amanith::GDrawBoard::MaxImageWidth ( ) const [pure virtual]

Get the maximum supported pattern width (in pixels).

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

const GMatrix33 & Amanith::GDrawBoard::ModelViewMatrix ( ) const

Get model-view matrix.

void Amanith::GDrawBoard::MoveTo | ( | const GReal | X,
 |  | const GReal | Y,
 |  | const GBool | Relative
 | ) |

Begin an SVG-like sub-path.

This function is in unique correspondence with SVG path command 'M'/'m'.

Parameters:
X | the x component of the start point.
Y | the y component of the start point.
Relative | if G_TRUE start point coordinates are relative to the current cursor position, else they are absolute.

virtual void Amanith::GDrawBoard::MoveTo | ( | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [pure virtual]

Begin an SVG-like sub-path.

This function is in unique correspondence with SVG path command 'M'/'m'.

Parameters:
P | the start point.
Relative | if G_TRUE start point coordinates are relative to the current cursor position, else they are absolute.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

GPoint2 Amanith::GDrawBoard::PhysicalToLogical ( const GPoint< GInt32, 2 > & PhysicalPoint )

Coordinates conversion from physical to logical.

Parameters:
PhysicalPoint a point whose coordinates are expressed inside the physical window/viewport.
Returns:
the same point expressed inside the logical window.

GMatrix33 Amanith::GDrawBoard::PhysicalToLogicalMatrix ( ) const

Get a matrix that transforms a physical point to its logical representation.

void Amanith::GDrawBoard::PopClipMask ( )

Pop last clip path from stack.

void Amanith::GDrawBoard::Projection | ( | GReal & | Left,
 |  | GReal & | Right,
 |  | GReal & | Bottom,
 |  | GReal & | Top
 | ) |

Get current logical viewport.

Logical viewport (that defines implicitly a projection matrix) is used to select a rectangular portion of infinitive canvas. This can be used to do all kind of panning and zooming operations.

Parameters:
Left | the abscissa of the bottom-left corner of current logical window.
Right | the abscissa of the top-right corner of current logical window.
Bottom | the ordinate of the bottom-left corner of current logical window.
Top | the ordinate of the top-right corner of current logical window.

GRenderingQuality Amanith::GDrawBoard::RenderingQuality ( ) const

Get rendering quality settings.

GError Amanith::GDrawBoard::ScreenShot ( GPixelMap & Output ) const

Take a screenshot.

This function permits to grab the whole screen framebuffer, and put it into a bitmap.

Parameters:
Output the output image, where grabbed portion will be copied into.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.

GError Amanith::GDrawBoard::ScreenShot | ( | GPixelMap & | Output,
 |  | const GUInt32 | X0,
 |  | const GUInt32 | Y0,
 |  | const GUInt32 | X1,
 |  | const GUInt32 | Y1
 | ) | const

Take a screenshot.

This function permits to grab a rectangular portion of the framebuffer, and put it into a bitmap.

Parameters:
Output | the output image, where grabbed portion will be copied into.
X0 | a corner abscissa of the rectangle portion to grab.
Y0 | a corner ordinate of the rectangle portion to grab.
X1 | the opposite (to X0) corner abscissa of the rectangle.
Y1 | the opposite (to Y0) corner ordinate of the rectangle.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.

GError Amanith::GDrawBoard::ScreenShot | ( | GPixelMap & | Output,
 |  | const GVectBase< GUInt32, 2 > & | P0,
 |  | const GVectBase< GUInt32, 2 > & | P1
 | ) | const

Take a screenshot.

This function permits to grab a rectangular portion of the framebuffer, and put it into a bitmap.

Parameters:
Output | the output image, where grabbed portion will be copied into.
P0 | a corner of the rectangle portion to grab.
P1 | the opposite (to P0) corner of the rectangle.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.

virtual void Amanith::GDrawBoard::SetCacheBank ( GCacheBank * Bank ) [pure virtual]

Set current cache bank, a NULL value is valid.

Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

void Amanith::GDrawBoard::SetClipEnabled ( const GBool Enabled )

Enable (G_TRUE value) or disable (G_FALSE value) clip paths.

void Amanith::GDrawBoard::SetClipOperation ( const GClipOperation Operation )

Set clip operation to use for clip paths.

void Amanith::GDrawBoard::SetFillColor | ( | const GReal | Red,
 |  | const GReal | Green,
 |  | const GReal | Blue
 | ) |

Set fill color, specifying RGB color components. Alpha component won't be touched.

void Amanith::GDrawBoard::SetFillColor ( const GVectBase< GReal, 3 > & Color )

Set fill color, specifying RGB color components. Alpha component won't be touched.

void Amanith::GDrawBoard::SetFillColor | ( | const GReal | Red,
 |  | const GReal | Green,
 |  | const GReal | Blue,
 |  | const GReal | Alpha
 | ) |

Set fill color, specifying color components.

void Amanith::GDrawBoard::SetFillColor ( const GVectBase< GReal, 4 > & Color )

Set fill color, specifying color components.

void Amanith::GDrawBoard::SetFillCompOp ( const GCompositingOperation CompOp )

Set fill compositing operation.

void Amanith::GDrawBoard::SetFillEnabled ( const GBool Enabled )

Enable (G_TRUE value) or disable (G_FALSE value) fill painting.

void Amanith::GDrawBoard::SetFillGradient ( GGradientDesc * Gradient )

Set fill gradient (that will be used when stroke paint type is GRADIENT).

void Amanith::GDrawBoard::SetFillOpacity ( const GReal Opacity )

Set fill opacity. RGB components won't be touched.

void Amanith::GDrawBoard::SetFillPaintType ( const GPaintType PaintType )

Set fill paint type.

void Amanith::GDrawBoard::SetFillPattern ( GPatternDesc * Pattern )

Set fill pattern (that will be used when stroke paint type is PATTERN).

void Amanith::GDrawBoard::SetFillRule ( const GFillRule Rule )

Set fill rule.

void Amanith::GDrawBoard::SetGroupCompOp ( const GCompositingOperation CompOp )

Set group compositing operation.

void Amanith::GDrawBoard::SetGroupOpacity ( const GReal Opacity )

Set group opacity.

void Amanith::GDrawBoard::SetModelViewMatrix ( const GMatrix33 & Matrix )

Set model-view matrix.

void Amanith::GDrawBoard::SetProjection | ( | const GReal | Left,
 |  | const GReal | Right,
 |  | const GReal | Bottom,
 |  | const GReal | Top
 | ) |

Set current logical viewport.

Logical viewport (that defines implicitly a projection matrix) is used to select a rectangular portion of infinitive canvas. This can be used to do all kind of panning and zooming operations.

Parameters:
Left | the abscissa of the bottom-left corner of current logical window.
Right | the abscissa of the top-right corner of current logical window.
Bottom | the ordinate of the bottom-left corner of current logical window.
Top | the ordinate of the top-right corner of current logical window.

void Amanith::GDrawBoard::SetRenderingQuality ( const GRenderingQuality Quality )

Set rendering quality settings.

void Amanith::GDrawBoard::SetStrokeColor | ( | const GReal | Red,
 |  | const GReal | Green,
 |  | const GReal | Blue
 | ) |

Set stroke color, specifying RGB color components. Alpha component won't be touched.

void Amanith::GDrawBoard::SetStrokeColor ( const GVectBase< GReal, 3 > & Color )

Set stroke color, specifying RGB color components. Alpha component won't be touched.

void Amanith::GDrawBoard::SetStrokeColor | ( | const GReal | Red,
 |  | const GReal | Green,
 |  | const GReal | Blue,
 |  | const GReal | Alpha
 | ) |

Set stroke color, specifying color components.

void Amanith::GDrawBoard::SetStrokeColor ( const GVectBase< GReal, 4 > & Color )

Set stroke color, specifying color components.

void Amanith::GDrawBoard::SetStrokeCompOp ( const GCompositingOperation CompOp )

Set stroke compositing operation.

GError Amanith::GDrawBoard::SetStrokeDashPattern ( const GDynArray< GReal > & Pattern )

Set stroke dash pattern.

void Amanith::GDrawBoard::SetStrokeDashPhase ( const GReal DashPhase )

Set stroke dash phase (known also as dash offset).

void Amanith::GDrawBoard::SetStrokeEnabled ( const GBool Enabled )

Enable (G_TRUE value) or disable (G_FALSE value) stroke painting.

void Amanith::GDrawBoard::SetStrokeEndCapStyle ( const GCapStyle Style )

Set stroke endcap style.

void Amanith::GDrawBoard::SetStrokeGradient ( GGradientDesc * Gradient )

Set stroke gradient (that will be used when stroke paint type is GRADIENT).

void Amanith::GDrawBoard::SetStrokeJoinStyle ( const GJoinStyle Style )

Set stroke join style.

void Amanith::GDrawBoard::SetStrokeMiterLimit ( const GReal Limit )

Set stroke miter limit.

void Amanith::GDrawBoard::SetStrokeOpacity ( const GReal Opacity )

Set stroke opacity. RGB components won't be touched.

void Amanith::GDrawBoard::SetStrokePaintType ( const GPaintType PaintType )

Set stroke paint type.

void Amanith::GDrawBoard::SetStrokePattern ( GPatternDesc * Pattern )

Set stroke pattern (that will be used when stroke paint type is PATTERN).

void Amanith::GDrawBoard::SetStrokeStartCapStyle ( const GCapStyle Style )

Set stroke startcap style.

void Amanith::GDrawBoard::SetStrokeStyle ( const GStrokeStyle Style )

Set stroke style.

void Amanith::GDrawBoard::SetStrokeWidth ( const GReal Width )

Set stroke width (in logical units).

void Amanith::GDrawBoard::SetTargetMode ( const GTargetMode Mode )

Set current target mode (target buffer).

void Amanith::GDrawBoard::SetViewport | ( | const GUInt32 | LowLeftCornerX,
 |  | const GUInt32 | LowLeftCornerY,
 |  | const GUInt32 | Width,
 |  | const GUInt32 | Height
 | ) |

Set current physical viewport.

Parameters:
LowLeftCornerX | lowleft corner abscissa of the viewport.
LowLeftCornerY | lowleft corner ordinate of the viewport.
Width | width of the viewport expressed in pixels.
Height | height of the viewport expressed in pixels.

void Amanith::GDrawBoard::SmoothCurveTo | ( | const GReal | X,
 |  | const GReal | Y,
 |  | const GBool | Relative
 | ) |

Draw a quadratic Bezier curve using smooth tangent.

Draws a quadratic Bezier curve from the current cursor position to (X, Y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. At the end of the command, the new cursor position becomes (X, Y).

Parameters:
X | the final curve end point abscissa.
Y | the final curve end point ordinate.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

virtual void Amanith::GDrawBoard::SmoothCurveTo | ( | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [pure virtual]

Draw a quadratic Bezier curve using smooth tangent.

Draws a quadratic Bezier curve from the current cursor position to P. The control point is assumed to be the reflection of the control point on the previous command relative to the current point. At the end of the command, the new cursor position becomes P.

Parameters:
P | the final curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

void Amanith::GDrawBoard::SmoothCurveTo | ( | const GReal | X2,
 |  | const GReal | Y2,
 |  | const GReal | X,
 |  | const GReal | Y,
 |  | const GBool | Relative
 | ) |

Draw a cubic Bezier curve using smooth tangent.

Draws a cubic Bezier curve from the current cursor position to (X, Y). The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. At the end of the command, the new cursor position becomes P.

Parameters:
X2 | the second control point abscissa.
Y2 | the second control point ordinate.
X | the final curve end point abscissa.
Y | the final curve end point ordinate.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

virtual void Amanith::GDrawBoard::SmoothCurveTo | ( | const GPoint2 & | P2,
 |  | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [pure virtual]

Draw a cubic Bezier curve using smooth tangent.

Draws a cubic Bezier curve from the current cursor position to P. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. At the end of the command, the new cursor position becomes P.

Parameters:
P2 | the second control point.
P | the final curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

const GVectBase< GReal, 4 > & Amanith::GDrawBoard::StrokeColor ( ) const

Get stroke color.

GCompositingOperation Amanith::GDrawBoard::StrokeCompOp ( ) const

Get current stroke compositing operation.

const GDynArray< GReal > & Amanith::GDrawBoard::StrokeDashPattern ( ) const

Get stroke dash pattern.

GReal Amanith::GDrawBoard::StrokeDashPhase ( ) const

Get stroke dash phase (known also as dash offset).

GBool Amanith::GDrawBoard::StrokeEnabled ( ) const

It returns G_TRUE if stroke painting is enabled, else G_FALSE.

GCapStyle Amanith::GDrawBoard::StrokeEndCapStyle ( ) const

Get stroke endcap style.

GGradientDesc * Amanith::GDrawBoard::StrokeGradient ( ) const

Get stroke gradient (that will be used when stroke paint type is GRADIENT).

GJoinStyle Amanith::GDrawBoard::StrokeJoinStyle ( ) const

Get stroke join style.

GReal Amanith::GDrawBoard::StrokeMiterLimit ( ) const

Get stroke miter limit.

GPaintType Amanith::GDrawBoard::StrokePaintType ( ) const

Get stroke paint type.

GPatternDesc * Amanith::GDrawBoard::StrokePattern ( ) const

Get stroke pattern (that will be used when stroke paint type is PATTERN).

GCapStyle Amanith::GDrawBoard::StrokeStartCapStyle ( ) const

Get stroke startcap style.

GStrokeStyle Amanith::GDrawBoard::StrokeStyle ( ) const

Get stroke style.

GReal Amanith::GDrawBoard::StrokeWidth ( ) const

Get stroke width (in logical units).

GTargetMode Amanith::GDrawBoard::TargetMode ( ) const

Get current target mode (target buffer).

virtual void Amanith::GDrawBoard::VerticalLineTo | ( | const GReal | Y,
 |  | const GBool | Relative
 | ) | [pure virtual]

Draw a vertical line from the current cursor position to the specified location.

Parameters:
Y | the endpoint ordinate.
Relative | if G_TRUE end point coordinates are relative to the current cursor position, else they are absolute.
Note:
this method MUST be implemented by all derived classes.

Implemented in Amanith::GOpenGLBoard.

void Amanith::GDrawBoard::Viewport | ( | GUInt32 & | LowLeftCornerX,
 |  | GUInt32 & | LowLeftCornerY,
 |  | GUInt32 & | Width,
 |  | GUInt32 & | Height
 | ) |

Get current physical viewport.

Parameters:
LowLeftCornerX | lowleft corner abscissa of the viewport.
LowLeftCornerY | lowleft corner ordinate of the viewport.
Width | width of the viewport expressed in pixels.
Height | height of the viewport expressed in pixels.

Member Data Documentation

GPoint4 Amanith::GDrawBoard::gProjection [protected]

Current logical window.

GPoint<GUInt32, 4> Amanith::GDrawBoard::gViewport [protected]

Current viewport.

The documentation for this class was generated from the following files:
  • gdrawboard.h
  • gdrawboard.cpp


Amanith::GDrawBoard Member List

This is the complete list of members for Amanith::GDrawBoard, including all inherited members.

BeginPaths()=0 | Amanith::GDrawBoard | [pure virtual]
CacheBank() const =0 | Amanith::GDrawBoard | [pure virtual]
Clear(const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha, const GBool ClearClipMasks=G_TRUE) | Amanith::GDrawBoard |
ClipEnabled() const | Amanith::GDrawBoard |
ClipOperation() const | Amanith::GDrawBoard |
ClosePath()=0 | Amanith::GDrawBoard | [pure virtual]
CreateCacheBank()=0 | Amanith::GDrawBoard | [pure virtual]
CreateConicalGradient(const GPoint2 &Center, const GPoint2 &Target, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)=0 | Amanith::GDrawBoard | [pure virtual]
CreateDrawStyle() const =0 | Amanith::GDrawBoard | [protected, pure virtual]
CreateLinearGradient(const GPoint2 &StartPoint, const GPoint2 &EndPoint, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GColorRampSpreadMode SpreadMode=G_PAD_COLOR_RAMP_SPREAD, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)=0 | Amanith::GDrawBoard | [pure virtual]
CreatePattern(const GPixelMap *Image, const GImageQuality Quality, const GTilingMode TilingMode=G_REPEAT_TILE, const GAABox2 *LogicalWindow=NULL, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)=0 | Amanith::GDrawBoard | [pure virtual]
CreateRadialGradient(const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GColorRampSpreadMode SpreadMode=G_PAD_COLOR_RAMP_SPREAD, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)=0 | Amanith::GDrawBoard | [pure virtual]
CurveTo(const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P, const GBool Relative)=0 | Amanith::GDrawBoard | [pure virtual]
CurveTo(const GReal X1, const GReal Y1, const GReal X2, const GReal Y2, const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
CurveTo(const GPoint2 &P1, const GPoint2 &P, const GBool Relative)=0 | Amanith::GDrawBoard | [pure virtual]
CurveTo(const GReal X1, const GReal Y1, const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
DoClear(const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha, const GBool ClearClipMasks)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawBezier(GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawBezier(GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P3)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawCacheSlots(GDrawStyle &Style, const GInt32 FirstSlotIndex, const GInt32 LastSlotIndex)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawCircle(GDrawStyle &Style, const GPoint2 &Center, const GReal Radius)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawEllipse(GDrawStyle &Style, const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawEllipseArc(GDrawStyle &Style, const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation, const GReal StartAngle, const GReal EndAngle, const GBool CCW)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawEllipseArc(GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation, const GBool LargeArc, const GBool CCW)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawLine(GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawPath(GDrawStyle &Style, const GCurve2D &Curve)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawPaths(GDrawStyle &Style, const GDynArray< GCurve2D * > &Curves)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawPolygon(GDrawStyle &Style, const GDynArray< GPoint2 > &Points, const GBool Closed)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawRectangle(GDrawStyle &Style, const GPoint2 &MinCorner, const GPoint2 &MaxCorner)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoDrawRoundRectangle(GDrawStyle &Style, const GPoint2 &MinCorner, const GPoint2 &MaxCorner, const GReal ArcWidth, const GReal ArcHeight)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoFinish()=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoFlush()=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoGroupBegin(const GAABox2 &LogicBox)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoGroupEnd()=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoPopClipMask()=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoScreenShot(GPixelMap &Output, const GVectBase< GUInt32, 2 > &P0, const GVectBase< GUInt32, 2 > &P1) const =0 | Amanith::GDrawBoard | [protected, pure virtual]
DoSetClipEnabled(const GBool Enabled)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoSetClipOperation(const GClipOperation Operation)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoSetGroupCompOp(const GCompositingOperation CompOp)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoSetGroupOpacity(const GReal Opacity)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoSetProjection(const GReal Left, const GReal Right, const GReal Bottom, const GReal Top)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoSetRenderingQuality(const GRenderingQuality Quality)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoSetTargetMode(const GTargetMode Mode)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DoSetViewport(const GUInt32 LowLeftCornerX, const GUInt32 LowLeftCornerY, const GUInt32 Width, const GUInt32 Height)=0 | Amanith::GDrawBoard | [protected, pure virtual]
DrawBezier(const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2) | Amanith::GDrawBoard |
DrawBezier(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal X2, const GReal Y2) | Amanith::GDrawBoard |
DrawBezier(const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P3) | Amanith::GDrawBoard |
DrawBezier(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal X2, const GReal Y2, const GReal X3, const GReal Y3) | Amanith::GDrawBoard |
DrawCacheBank() | Amanith::GDrawBoard |
DrawCacheSlot(const GInt32 SlotIndex) | Amanith::GDrawBoard |
DrawCacheSlots(const GInt32 FirstSlotIndex, const GInt32 LastSlotIndex) | Amanith::GDrawBoard |
DrawCircle(const GPoint2 &Center, const GReal Radius) | Amanith::GDrawBoard |
DrawCircle(const GReal X, const GReal Y, const GReal Radius) | Amanith::GDrawBoard |
DrawEllipse(const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength) | Amanith::GDrawBoard |
DrawEllipse(const GReal X, const GReal Y, const GReal XSemiAxisLength, const GReal YSemiAxisLength) | Amanith::GDrawBoard |
DrawEllipseArc(const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GReal StartAngle=0, const GReal EndAngle=G_2PI, const GBool CCW=G_TRUE) | Amanith::GDrawBoard |
DrawEllipseArc(const GReal X, const GReal Y, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GReal StartAngle=0, const GReal EndAngle=G_2PI, const GBool CCW=G_TRUE) | Amanith::GDrawBoard |
DrawEllipseArc(const GPoint2 &P0, const GPoint2 &P1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GBool LargeArc=G_TRUE, const GBool CCW=G_FALSE) | Amanith::GDrawBoard |
DrawEllipseArc(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GBool LargeArc=G_TRUE, const GBool CCW=G_FALSE) | Amanith::GDrawBoard |
DrawLine(const GPoint2 &P0, const GPoint2 &P1) | Amanith::GDrawBoard |
DrawLine(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1) | Amanith::GDrawBoard |
DrawPath(const GCurve2D &Curve) | Amanith::GDrawBoard |
DrawPaths(const GDynArray< GCurve2D * > &Curves) | Amanith::GDrawBoard |
DrawPaths(const GString &SVGPathDescription, const GAnglesMeasureUnit AnglesMeasureUnits=G_DEGREE_UNIT) | Amanith::GDrawBoard |
DrawPaths(const GChar8 *SVGPathDescription, const GAnglesMeasureUnit AnglesMeasureUnits=G_DEGREE_UNIT) | Amanith::GDrawBoard |
DrawPolygon(const GDynArray< GPoint2 > &Points, const GBool Closed) | Amanith::GDrawBoard |
DrawRectangle(const GPoint2 &P0, const GPoint2 &P1) | Amanith::GDrawBoard |
DrawRectangle(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1) | Amanith::GDrawBoard |
DrawRoundRectangle(const GPoint2 &P0, const GPoint2 &P1, const GReal ArcWidth, const GReal ArcHeight) | Amanith::GDrawBoard |
DrawRoundRectangle(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal ArcWidth, const GReal ArcHeight) | Amanith::GDrawBoard |
EllipticalArcTo(const GReal Rx, const GReal Ry, const GReal XRot, const GBool LargeArc, const GBool Sweep, const GPoint2 &P, const GBool Relative)=0 | Amanith::GDrawBoard | [pure virtual]
EllipticalArcTo(const GReal Rx, const GReal Ry, const GReal XRot, const GBool LargeArc, const GBool Sweep, const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
EndPaths()=0 | Amanith::GDrawBoard | [pure virtual]
FillColor() const | Amanith::GDrawBoard |
FillCompOp() const | Amanith::GDrawBoard |
FillEnabled() const | Amanith::GDrawBoard |
FillGradient() const | Amanith::GDrawBoard |
FillPaintType() const | Amanith::GDrawBoard |
FillPattern() const | Amanith::GDrawBoard |
FillRule() const | Amanith::GDrawBoard |
Finish() | Amanith::GDrawBoard |
Flush() | Amanith::GDrawBoard |
GDrawBoard() | Amanith::GDrawBoard |
gProjection | Amanith::GDrawBoard | [protected]
GroupBegin() | Amanith::GDrawBoard |
GroupBegin(const GAABox2 &LogicBox) | Amanith::GDrawBoard |
GroupCompOp() const | Amanith::GDrawBoard |
GroupEnd() | Amanith::GDrawBoard |
GroupOpacity() const | Amanith::GDrawBoard |
gViewport | Amanith::GDrawBoard | [protected]
HorizontalLineTo(const GReal X, const GBool Relative)=0 | Amanith::GDrawBoard | [pure virtual]
InsideGroup() const | Amanith::GDrawBoard |
LineTo(const GPoint2 &P, const GBool Relative)=0 | Amanith::GDrawBoard | [pure virtual]
LineTo(const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
LogicalToPhysicalInt(const GPoint2 &LogicalPoint) | Amanith::GDrawBoard |
LogicalToPhysicalMatrix() const | Amanith::GDrawBoard |
LogicalToPhysicalReal(const GPoint2 &LogicalPoint) | Amanith::GDrawBoard |
MaxColorKeys() const =0 | Amanith::GDrawBoard | [pure virtual]
MaxDashCount() const =0 | Amanith::GDrawBoard | [pure virtual]
MaxImageBytes() const =0 | Amanith::GDrawBoard | [pure virtual]
MaxImageHeight() const =0 | Amanith::GDrawBoard | [pure virtual]
MaxImageWidth() const =0 | Amanith::GDrawBoard | [pure virtual]
ModelViewMatrix() const | Amanith::GDrawBoard |
MoveTo(const GPoint2 &P, const GBool Relative)=0 | Amanith::GDrawBoard | [pure virtual]
MoveTo(const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
PhysicalToLogical(const GPoint< GInt32, 2 > &PhysicalPoint) | Amanith::GDrawBoard |
PhysicalToLogicalMatrix() const | Amanith::GDrawBoard |
PopClipMask() | Amanith::GDrawBoard |
Projection(GReal &Left, GReal &Right, GReal &Bottom, GReal &Top) | Amanith::GDrawBoard |
RenderingQuality() const | Amanith::GDrawBoard |
ScreenShot(GPixelMap &Output, const GVectBase< GUInt32, 2 > &P0, const GVectBase< GUInt32, 2 > &P1) const | Amanith::GDrawBoard |
ScreenShot(GPixelMap &Output, const GUInt32 X0, const GUInt32 Y0, const GUInt32 X1, const GUInt32 Y1) const | Amanith::GDrawBoard |
ScreenShot(GPixelMap &Output) const | Amanith::GDrawBoard |
SetCacheBank(GCacheBank *Bank)=0 | Amanith::GDrawBoard | [pure virtual]
SetClipEnabled(const GBool Enabled) | Amanith::GDrawBoard |
SetClipOperation(const GClipOperation Operation) | Amanith::GDrawBoard |
SetFillColor(const GVectBase< GReal, 4 > &Color) | Amanith::GDrawBoard |
SetFillColor(const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha) | Amanith::GDrawBoard |
SetFillColor(const GVectBase< GReal, 3 > &Color) | Amanith::GDrawBoard |
SetFillColor(const GReal Red, const GReal Green, const GReal Blue) | Amanith::GDrawBoard |
SetFillCompOp(const GCompositingOperation CompOp) | Amanith::GDrawBoard |
SetFillEnabled(const GBool Enabled) | Amanith::GDrawBoard |
SetFillGradient(GGradientDesc *Gradient) | Amanith::GDrawBoard |
SetFillOpacity(const GReal Opacity) | Amanith::GDrawBoard |
SetFillPaintType(const GPaintType PaintType) | Amanith::GDrawBoard |
SetFillPattern(GPatternDesc *Pattern) | Amanith::GDrawBoard |
SetFillRule(const GFillRule Rule) | Amanith::GDrawBoard |
SetGroupCompOp(const GCompositingOperation CompOp) | Amanith::GDrawBoard |
SetGroupOpacity(const GReal Opacity) | Amanith::GDrawBoard |
SetModelViewMatrix(const GMatrix33 &Matrix) | Amanith::GDrawBoard |
SetProjection(const GReal Left, const GReal Right, const GReal Bottom, const GReal Top) | Amanith::GDrawBoard |
SetRenderingQuality(const GRenderingQuality Quality) | Amanith::GDrawBoard |
SetStrokeColor(const GVectBase< GReal, 4 > &Color) | Amanith::GDrawBoard |
SetStrokeColor(const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha) | Amanith::GDrawBoard |
SetStrokeColor(const GVectBase< GReal, 3 > &Color) | Amanith::GDrawBoard |
SetStrokeColor(const GReal Red, const GReal Green, const GReal Blue) | Amanith::GDrawBoard |
SetStrokeCompOp(const GCompositingOperation CompOp) | Amanith::GDrawBoard |
SetStrokeDashPattern(const GDynArray< GReal > &Pattern) | Amanith::GDrawBoard |
SetStrokeDashPhase(const GReal DashPhase) | Amanith::GDrawBoard |
SetStrokeEnabled(const GBool Enabled) | Amanith::GDrawBoard |
SetStrokeEndCapStyle(const GCapStyle Style) | Amanith::GDrawBoard |
SetStrokeGradient(GGradientDesc *Gradient) | Amanith::GDrawBoard |
SetStrokeJoinStyle(const GJoinStyle Style) | Amanith::GDrawBoard |
SetStrokeMiterLimit(const GReal Limit) | Amanith::GDrawBoard |
SetStrokeOpacity(const GReal Opacity) | Amanith::GDrawBoard |
SetStrokePaintType(const GPaintType PaintType) | Amanith::GDrawBoard |
SetStrokePattern(GPatternDesc *Pattern) | Amanith::GDrawBoard |
SetStrokeStartCapStyle(const GCapStyle Style) | Amanith::GDrawBoard |
SetStrokeStyle(const GStrokeStyle Style) | Amanith::GDrawBoard |
SetStrokeWidth(const GReal Width) | Amanith::GDrawBoard |
SetTargetMode(const GTargetMode Mode) | Amanith::GDrawBoard |
SetViewport(const GUInt32 LowLeftCornerX, const GUInt32 LowLeftCornerY, const GUInt32 Width, const GUInt32 Height) | Amanith::GDrawBoard |
SmoothCurveTo(const GPoint2 &P2, const GPoint2 &P, const GBool Relative)=0 | Amanith::GDrawBoard | [pure virtual]
SmoothCurveTo(const GReal X2, const GReal Y2, const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
SmoothCurveTo(const GPoint2 &P, const GBool Relative)=0 | Amanith::GDrawBoard | [pure virtual]
SmoothCurveTo(const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
StrokeColor() const | Amanith::GDrawBoard |
StrokeCompOp() const | Amanith::GDrawBoard |
StrokeDashPattern() const | Amanith::GDrawBoard |
StrokeDashPhase() const | Amanith::GDrawBoard |
StrokeEnabled() const | Amanith::GDrawBoard |
StrokeEndCapStyle() const | Amanith::GDrawBoard |
StrokeGradient() const | Amanith::GDrawBoard |
StrokeJoinStyle() const | Amanith::GDrawBoard |
StrokeMiterLimit() const | Amanith::GDrawBoard |
StrokePaintType() const | Amanith::GDrawBoard |
StrokePattern() const | Amanith::GDrawBoard |
StrokeStartCapStyle() const | Amanith::GDrawBoard |
StrokeStyle() const | Amanith::GDrawBoard |
StrokeWidth() const | Amanith::GDrawBoard |
TargetMode() const | Amanith::GDrawBoard |
VerticalLineTo(const GReal Y, const GBool Relative)=0 | Amanith::GDrawBoard | [pure virtual]
Viewport(GUInt32 &LowLeftCornerX, GUInt32 &LowLeftCornerY, GUInt32 &Width, GUInt32 &Height) | Amanith::GDrawBoard |
~GDrawBoard() | Amanith::GDrawBoard | [virtual]


Amanith::GDrawStyle

Amanith::GDrawStyle Class Reference

This class maintains informations used to describe a render style. More...

Inheritance diagram for Amanith::GDrawStyle:

Amanith::GOpenGLDrawStyle List of all members.

Public Member Functions

  • GDrawStyle ()
  • virtual ~GDrawStyle ()
  • GDrawStyle & operator= (const GDrawStyle &Source)
  • GReal StrokeWidth () const
  • virtual void SetStrokeWidth (const GReal Width)
  • GReal StrokeThickness () const
  • GReal StrokeMiterLimit () const
  • virtual void SetStrokeMiterLimit (const GReal MiterLimit)
  • GCapStyle StrokeStartCapStyle () const
  • virtual void SetStrokeStartCapStyle (const GCapStyle CapStyle)
  • GCapStyle StrokeEndCapStyle () const
  • virtual void SetStrokeEndCapStyle (const GCapStyle CapStyle)
  • GJoinStyle StrokeJoinStyle () const
  • virtual void SetStrokeJoinStyle (const GJoinStyle JoinStyle)
  • GPaintType StrokePaintType () const
  • virtual void SetStrokePaintType (const GPaintType Type)
  • const GVectBase< GReal, 4 > & StrokeColor () const
  • virtual void SetStrokeColor (const GVectBase< GReal, 4 > &Color)
  • GGradientDesc * StrokeGradient () const
  • void SetStrokeGradient (GGradientDesc *Gradient)
  • GPatternDesc * StrokePattern () const
  • void SetStrokePattern (GPatternDesc *Pattern)
  • const GStrokeStyle StrokeStyle () const
  • virtual void SetStrokeStyle (const GStrokeStyle Style)
  • const GDynArray< GReal > & StrokeDashPattern () const
  • virtual void SetStrokeDashPattern (const GDynArray< GReal > DashPattern)
  • GReal StrokeDashPhase () const
  • virtual void SetStrokeDashPhase (const GReal DashPhase)
  • GBool StrokeEnabled () const
  • GCompositingOperation StrokeCompOp () const
  • virtual void SetStrokeCompOp (const GCompositingOperation CompOp)
  • virtual void SetStrokeEnabled (const GBool Enabled)
  • GFillRule FillRule () const
  • virtual void SetFillRule (const GFillRule Rule)
  • GPaintType FillPaintType () const
  • virtual void SetFillPaintType (const GPaintType Type)
  • const GVectBase< GReal, 4 > & FillColor () const
  • virtual void SetFillColor (const GVectBase< GReal, 4 > &Color)
  • GGradientDesc * FillGradient () const
  • void SetFillGradient (GGradientDesc *Gradient)
  • GPatternDesc * FillPattern () const
  • void SetFillPattern (GPatternDesc *Pattern)
  • GCompositingOperation FillCompOp () const
  • virtual void SetFillCompOp (const GCompositingOperation CompOp)
  • GBool FillEnabled () const
  • virtual void SetFillEnabled (const GBool Enabled)
  • const GMatrix33 & ModelView () const
  • const GMatrix33 & InverseModelView () const
  • virtual void SetModelView (const GMatrix33 &Matrix)
  • const GDynArray< GReal > & StrokeOffsettedDashPattern () const
  • GBool StrokeOffsettedDashPatternEmpty () const
  • GReal StrokeDashPatternSum () const
  • GBool StrokeWidthModified () const
  • GBool StrokeMiterLimitModified () const
  • GBool StrokeStartCapStyleModified () const
  • GBool StrokeEndCapStyleModified () const
  • GBool StrokeJoinStyleModified () const
  • GBool StrokePaintTypeModified () const
  • GBool StrokeStyleModified () const
  • GBool StrokeColorModified () const
  • GBool StrokeGradientModified () const
  • GBool StrokePatternModified () const
  • GBool StrokeDashPatternModified () const
  • GBool StrokeDashPhaseModified () const
  • GBool StrokeCompOpModified () const
  • GBool StrokeEnabledModified () const
  • GBool FillRuleModified () const
  • GBool FillPaintTypeModified () const
  • GBool FillColorModified () const
  • GBool FillGradientModified () const
  • GBool FillPatternModified () const
  • GBool FillCompOpModified () const
  • GBool FillEnabledModified () const
  • GBool ModelViewModified () const
  • GBool Modified () const

Protected Member Functions

  • void SetStrokeWidthModified (const GBool Modified)
  • void SetStrokeMiterLimitModified (const GBool Modified)
  • void SetStrokeStartCapStyleModified (const GBool Modified)
  • void SetStrokeEndCapStyleModified (const GBool Modified)
  • void SetStrokeJoinStyleModified (const GBool Modified)
  • void SetStrokePaintTypeModified (const GBool Modified)
  • void SetStrokeStyleModified (const GBool Modified)
  • void SetStrokeColorModified (const GBool Modified)
  • void SetStrokeDashPatternModified (const GBool Modified)
  • void SetStrokeDashPhaseModified (const GBool Modified)
  • void SetStrokeCompOpModified (const GBool Modified)
  • void SetStrokeEnabledModified (const GBool Modified)
  • void SetFillRuleModified (const GBool Modified)
  • void SetFillPaintTypeModified (const GBool Modified)
  • void SetFillColorModified (const GBool Modified)
  • void SetFillCompOpModified (const GBool Modified)
  • void SetFillEnabledModified (const GBool Modified)

Detailed Description

This class maintains informations used to describe a render style.

A render style is a set of attributes and properties that defines how shapes will be drawn on screen. Maintained informations are:

  • Stroke pen width: the width of the stroke, in logic units.
  • Stroke start cap style: specifies the shape to be used at the begin of open subpaths or open shapes when they are stroked. It can be BUTT, ROUND and SQUARE.
  • Stroke end cap style: specifies the shape to be used at the end of open subpaths or open shapes when they are stroked. It can be BUTT, ROUND and SQUARE.

  • Stroke join style: specifies the shape to be used at the corners of paths or shapes when they are stroked. It can be BEVEL, MITER and ROUND.

  • Stroke miter limit: when two line segments meet at a sharp angle and miter joins have been specified, it is possible for the miter to extend far beyond the thickness of the line stroking the path. The miter limit imposes a limit on the ratio of the miter length to the stroke width. When the limit is exceeded, the join is converted from a miter to a bevel.
  • Stroke style: it can be SOLID (non dashed) or DASHED.
  • Stroke dash pattern: it controls the pattern of dashes and gaps used to stroke paths. It contains a list of numbers that specify the lengths of alternating dashes and gaps. If an odd number of values is provided, then the list of values is repeated to yield an even number of values.
  • Stroke dash pattern phase (also known dash offset): specifies the distance into the dash pattern to start the dash.

  • Stroke paint type: it can be COLOR (stroke is drawn using a single constant color), GRADIENT (the stroke is drawn using the associated gradient) and PATTERN (the stroke is drawn using the associated pattern).
  • Stroke color: the color to use for stroke. Red, green and blue components are used when stroke is associated with a COLOR paint type. Alpha component is used for every possible stroke paint type.
  • Stroke gradient: an associated GGradientDesc instance, that describes the gradient to use (it will be used just when the stroke paint type is GRADIENT).
  • Stroke pattern: an associated GPatternDesc instance, that describes the pattern to use (it will be used just when the stroke paint type is PATTERN).
  • Stroke compositing operation: the compositing operation to use during stroke drawing (see the picture below).
  • Stroke enable/disable flag: it is used to enable or disable stroke painting.
  • Fill rule: the fill rule to use for shapes, it can be ODDEVEN or EVENODD.
  • Fill paint type: it can be COLOR (fill is drawn using a single constant color), GRADIENT (the fill is drawn using the associated gradient) and PATTERN (the fill is drawn using the associated pattern).
  • Fill color: the color to use for fill. Red, green and blue components are used when fill is associated with a COLOR paint type. Alpha component is used for every possible fill paint type.
  • Fill gradient: an associated GGradientDesc instance, that describes the gradient to use (it will be used just when the fill paint type is GRADIENT).
  • Fill pattern: an associated GPatternDesc instance, that describes the pattern to use (it will be used just when the fill paint type is PATTERN).
  • Fill compositing operation: the compositing operation to use during fill drawing (see the picture below).
  • Fill enable/disable flag: it is used to enable or disable fill painting.
  • Model-view matrix: an optional 3x3 matrix, used to transform geometric entities before drawing.

Here are all 24 compositing operations supported by Amanith (for mathematical details please refer to http://www.w3.org/TR/2004/WD-SVG12-20041027/rendering.html

Constructor & Destructor Documentation

Amanith::GDrawStyle::GDrawStyle ( )

Default constructor, it builds a default render style.

Amanith::GDrawStyle::~GDrawStyle ( ) [virtual]

Destructor.

Member Function Documentation

const GVectBase<GReal, 4>& Amanith::GDrawStyle::FillColor ( ) const

Get fill color.

GBool Amanith::GDrawStyle::FillColorModified ( ) const

G_TRUE if fill color has been modified from last time it was used, else G_FALSE.

GCompositingOperation Amanith::GDrawStyle::FillCompOp ( ) const

Get current fill compositing operation.

GBool Amanith::GDrawStyle::FillCompOpModified ( ) const

G_TRUE if fill compositing operation flag has been modified from last time it was used, else G_FALSE.

GBool Amanith::GDrawStyle::FillEnabled ( ) const

Get fill enabled/disabled flag.

GBool Amanith::GDrawStyle::FillEnabledModified ( ) const

G_TRUE if fill enabled/disabled flag has been modified from last time it was used, else G_FALSE.

GGradientDesc* Amanith::GDrawStyle::FillGradient ( ) const

Get fill gradient descriptor (pointer), NULL if a fill gradient has not been set.

GBool Amanith::GDrawStyle::FillGradientModified ( ) const

G_TRUE if fill gradient has been modified from last time it was used, else G_FALSE.

GPaintType Amanith::GDrawStyle::FillPaintType ( ) const

Get fill paint type.

GBool Amanith::GDrawStyle::FillPaintTypeModified ( ) const

G_TRUE if fill paint type has been modified from last time it was used, else G_FALSE.

GPatternDesc* Amanith::GDrawStyle::FillPattern ( ) const

Get fill pattern descriptor (pointer), NULL if a fill pattern has not been set.

GBool Amanith::GDrawStyle::FillPatternModified ( ) const

G_TRUE if fill pattern has been modified from last time it was used, else G_FALSE.

GFillRule Amanith::GDrawStyle::FillRule ( ) const

Get fill rule.

GBool Amanith::GDrawStyle::FillRuleModified ( ) const

G_TRUE if fill rule has been modified from last time it was used, else G_FALSE.

const GMatrix33& Amanith::GDrawStyle::InverseModelView ( ) const

Get inverse model-view matrix.

const GMatrix33& Amanith::GDrawStyle::ModelView ( ) const

Get model-view matrix.

GBool Amanith::GDrawStyle::ModelViewModified ( ) const

G_TRUE if model-view matrix has been modified from last time it was used, else G_FALSE.

GBool Amanith::GDrawStyle::Modified ( ) const

G_TRUE if at least one render style attribute has been modified from last time it was used, else G_FALSE.

GDrawStyle & Amanith::GDrawStyle::operator= ( const GDrawStyle & Source )

Assignment operator.

void Amanith::GDrawStyle::SetFillColor ( const GVectBase< GReal, 4 > & Color ) [virtual]

Set fill color. Default implementation takes care of 'modified' bit flag.

Reimplemented in Amanith::GOpenGLDrawStyle.

void Amanith::GDrawStyle::SetFillColorModified ( const GBool Modified ) [protected]

Set fill color modified flag.

void Amanith::GDrawStyle::SetFillCompOp ( const GCompositingOperation CompOp ) [virtual]

Set fill compositing operation.

void Amanith::GDrawStyle::SetFillCompOpModified ( const GBool Modified ) [protected]

Set fill compositing operation modified flag.

void Amanith::GDrawStyle::SetFillEnabled ( const GBool Enabled ) [virtual]

Set fill enabled/disabled flag.

void Amanith::GDrawStyle::SetFillEnabledModified ( const GBool Modified ) [protected]

Set fill enable/disable modified flag.

void Amanith::GDrawStyle::SetFillGradient ( GGradientDesc * Gradient )

Set fill gradient descriptor (pointer).

void Amanith::GDrawStyle::SetFillPaintType ( const GPaintType Type ) [virtual]

Set fill paint type.

void Amanith::GDrawStyle::SetFillPaintTypeModified ( const GBool Modified ) [protected]

Set fill paint type modified flag.

void Amanith::GDrawStyle::SetFillPattern ( GPatternDesc * Pattern )

Set fill pattern descriptor (pointer).

void Amanith::GDrawStyle::SetFillRule ( const GFillRule Rule ) [virtual]

Set fill rule.

void Amanith::GDrawStyle::SetFillRuleModified ( const GBool Modified ) [protected]

Set fill rule modified flag.

void Amanith::GDrawStyle::SetModelView ( const GMatrix33 & Matrix ) [virtual]

Set model-view matrix.

void Amanith::GDrawStyle::SetStrokeColor ( const GVectBase< GReal, 4 > & Color ) [virtual]

Set stroke color. Default implementation takes care of 'modified' bit flag.

Reimplemented in Amanith::GOpenGLDrawStyle.

void Amanith::GDrawStyle::SetStrokeColorModified ( const GBool Modified ) [protected]

Set stroke color modified flag.

void Amanith::GDrawStyle::SetStrokeCompOp ( const GCompositingOperation CompOp ) [virtual]

Set stroke compositing operation.

void Amanith::GDrawStyle::SetStrokeCompOpModified ( const GBool Modified ) [protected]

Set stroke compositing operation modified flag.

void Amanith::GDrawStyle::SetStrokeDashPattern ( const GDynArray< GReal > DashPattern ) [virtual]

Set stroke dash pattern.

void Amanith::GDrawStyle::SetStrokeDashPatternModified ( const GBool Modified ) [protected]

Set dash pattern modified flag.

void Amanith::GDrawStyle::SetStrokeDashPhase ( const GReal DashPhase ) [virtual]

Set stroke dash phase, and update offsetted dash pattern.

void Amanith::GDrawStyle::SetStrokeDashPhaseModified ( const GBool Modified ) [protected]

Set dash phase modified flag.

void Amanith::GDrawStyle::SetStrokeEnabled ( const GBool Enabled ) [virtual]

Set stroke enabled/disabled flag.

void Amanith::GDrawStyle::SetStrokeEnabledModified ( const GBool Modified ) [protected]

Set stroke enable/disable modified flag.

void Amanith::GDrawStyle::SetStrokeEndCapStyle ( const GCapStyle CapStyle ) [virtual]

Set stroke end cap style.

void Amanith::GDrawStyle::SetStrokeEndCapStyleModified ( const GBool Modified ) [protected]

Set end cap style modified flag.

void Amanith::GDrawStyle::SetStrokeGradient ( GGradientDesc * Gradient )

Set stroke gradient descriptor (pointer).

void Amanith::GDrawStyle::SetStrokeJoinStyle ( const GJoinStyle JoinStyle ) [virtual]

Set stroke join style.

void Amanith::GDrawStyle::SetStrokeJoinStyleModified ( const GBool Modified ) [protected]

Set join cap style modified flag.

void Amanith::GDrawStyle::SetStrokeMiterLimit ( const GReal MiterLimit ) [virtual]

Set stroke miter limit. Default implementation takes the absolute value of MiterLimit.

Reimplemented in Amanith::GOpenGLDrawStyle.

void Amanith::GDrawStyle::SetStrokeMiterLimitModified ( const GBool Modified ) [protected]

Set miter limit modified flag.

void Amanith::GDrawStyle::SetStrokePaintType ( const GPaintType Type ) [virtual]

Set stroke paint type.

void Amanith::GDrawStyle::SetStrokePaintTypeModified ( const GBool Modified ) [protected]

Set stroke paint type modified flag.

void Amanith::GDrawStyle::SetStrokePattern ( GPatternDesc * Pattern )

Set stroke pattern descriptor (pointer).

void Amanith::GDrawStyle::SetStrokeStartCapStyle ( const GCapStyle CapStyle ) [virtual]

Set stroke start cap style.

void Amanith::GDrawStyle::SetStrokeStartCapStyleModified ( const GBool Modified ) [protected]

Set start cap style modified flag.

void Amanith::GDrawStyle::SetStrokeStyle ( const GStrokeStyle Style ) [virtual]

Set stroke style.

void Amanith::GDrawStyle::SetStrokeStyleModified ( const GBool Modified ) [protected]

Set stroke style modified flag.

void Amanith::GDrawStyle::SetStrokeWidth ( const GReal Width ) [virtual]

Set stroke pen width. Default implementation takes the absolute value of Width.

Reimplemented in Amanith::GOpenGLDrawStyle.

void Amanith::GDrawStyle::SetStrokeWidthModified ( const GBool Modified ) [protected]

Set pen width modified flag.

const GVectBase<GReal, 4>& Amanith::GDrawStyle::StrokeColor ( ) const

Get stroke color.

GBool Amanith::GDrawStyle::StrokeColorModified ( ) const

G_TRUE if stroke color has been modified from last time it was used, else G_FALSE.

GCompositingOperation Amanith::GDrawStyle::StrokeCompOp ( ) const

Get current stroke compositing operation.

GBool Amanith::GDrawStyle::StrokeCompOpModified ( ) const

G_TRUE if stroke compositing operation flag has been modified from last time it was used, else G_FALSE.

const GDynArray<GReal>& Amanith::GDrawStyle::StrokeDashPattern ( ) const

Get stroke dash pattern.

GBool Amanith::GDrawStyle::StrokeDashPatternModified ( ) const

G_TRUE if stroke dash pattern has been modified from last time it was used, else G_FALSE.

GReal Amanith::GDrawStyle::StrokeDashPatternSum ( ) const

Get total length of dash pattern (equivalent to the sum of all entries).

GReal Amanith::GDrawStyle::StrokeDashPhase ( ) const

Get stroke dash phase.

GBool Amanith::GDrawStyle::StrokeDashPhaseModified ( ) const

G_TRUE if stroke dash phase has been modified from last time it was used, else G_FALSE.

GBool Amanith::GDrawStyle::StrokeEnabled ( ) const

Get stroke enabled/disabled flag.

GBool Amanith::GDrawStyle::StrokeEnabledModified ( ) const

G_TRUE if stroke enabled/disabled flag has been modified from last time it was used, else G_FALSE.

GCapStyle Amanith::GDrawStyle::StrokeEndCapStyle ( ) const

Get stroke end cap style.

GBool Amanith::GDrawStyle::StrokeEndCapStyleModified ( ) const

G_TRUE if stroke end cap style has been modified from last time it was used, else G_FALSE.

GGradientDesc* Amanith::GDrawStyle::StrokeGradient ( ) const

Get stroke gradient descriptor (pointer), NULL if a stroke gradient has not been set.

GBool Amanith::GDrawStyle::StrokeGradientModified ( ) const

G_TRUE if stroke gradient has been modified from last time it was used, else G_FALSE.

GJoinStyle Amanith::GDrawStyle::StrokeJoinStyle ( ) const

Get stroke join style.

GBool Amanith::GDrawStyle::StrokeJoinStyleModified ( ) const

G_TRUE if stroke join style has been modified from last time it was used, else G_FALSE.

GReal Amanith::GDrawStyle::StrokeMiterLimit ( ) const

Get stroke miter limit.

GBool Amanith::GDrawStyle::StrokeMiterLimitModified ( ) const

G_TRUE if stroke miter limit has been modified from last time it was used, else G_FALSE.

const GDynArray<GReal>& Amanith::GDrawStyle::StrokeOffsettedDashPattern ( ) const

Get the corresponding offsetted dash pattern as it would not have initial phase.

GBool Amanith::GDrawStyle::StrokeOffsettedDashPatternEmpty ( ) const

G_TRUE if first entry of offsetted dash pattern is an "off" trait.

GPaintType Amanith::GDrawStyle::StrokePaintType ( ) const

Get stroke paint type.

GBool Amanith::GDrawStyle::StrokePaintTypeModified ( ) const

G_TRUE if stroke paint type has been modified from last time it was used, else G_FALSE.

GPatternDesc* Amanith::GDrawStyle::StrokePattern ( ) const

Get stroke pattern descriptor (pointer), NULL if a stroke pattern has not been set.

GBool Amanith::GDrawStyle::StrokePatternModified ( ) const

G_TRUE if stroke pattern has been modified from last time it was used, else G_FALSE.

GCapStyle Amanith::GDrawStyle::StrokeStartCapStyle ( ) const

Get stroke start cap style.

GBool Amanith::GDrawStyle::StrokeStartCapStyleModified ( ) const

G_TRUE if stroke start cap style has been modified from last time it was used, else G_FALSE.

const GStrokeStyle Amanith::GDrawStyle::StrokeStyle ( ) const

Get stroke style.

GBool Amanith::GDrawStyle::StrokeStyleModified ( ) const

G_TRUE if stroke style has been modified from last time it was used, else G_FALSE.

GReal Amanith::GDrawStyle::StrokeThickness ( ) const

Get stroke pen thickness (half stroke pen width).

GReal Amanith::GDrawStyle::StrokeWidth ( ) const

Get stroke pen width.

GBool Amanith::GDrawStyle::StrokeWidthModified ( ) const

G_TRUE if stroke pen width has been modified from last time it was used, else G_FALSE.

The documentation for this class was generated from the following files:
  • gdrawstyle.h
  • gdrawstyle.cpp


Amanith::GDrawStyle Member List

This is the complete list of members for Amanith::GDrawStyle, including all inherited members.

FillColor() const | Amanith::GDrawStyle |
FillColorModified() const | Amanith::GDrawStyle |
FillCompOp() const | Amanith::GDrawStyle |
FillCompOpModified() const | Amanith::GDrawStyle |
FillEnabled() const | Amanith::GDrawStyle |
FillEnabledModified() const | Amanith::GDrawStyle |
FillGradient() const | Amanith::GDrawStyle |
FillGradientModified() const | Amanith::GDrawStyle |
FillPaintType() const | Amanith::GDrawStyle |
FillPaintTypeModified() const | Amanith::GDrawStyle |
FillPattern() const | Amanith::GDrawStyle |
FillPatternModified() const | Amanith::GDrawStyle |
FillRule() const | Amanith::GDrawStyle |
FillRuleModified() const | Amanith::GDrawStyle |
GDrawStyle() | Amanith::GDrawStyle |
InverseModelView() const | Amanith::GDrawStyle |
ModelView() const | Amanith::GDrawStyle |
ModelViewModified() const | Amanith::GDrawStyle |
Modified() const | Amanith::GDrawStyle |
operator=(const GDrawStyle &Source) | Amanith::GDrawStyle |
SetFillColor(const GVectBase< GReal, 4 > &Color) | Amanith::GDrawStyle | [virtual]
SetFillColorModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetFillCompOp(const GCompositingOperation CompOp) | Amanith::GDrawStyle | [virtual]
SetFillCompOpModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetFillEnabled(const GBool Enabled) | Amanith::GDrawStyle | [virtual]
SetFillEnabledModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetFillGradient(GGradientDesc *Gradient) | Amanith::GDrawStyle |
SetFillPaintType(const GPaintType Type) | Amanith::GDrawStyle | [virtual]
SetFillPaintTypeModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetFillPattern(GPatternDesc *Pattern) | Amanith::GDrawStyle |
SetFillRule(const GFillRule Rule) | Amanith::GDrawStyle | [virtual]
SetFillRuleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetModelView(const GMatrix33 &Matrix) | Amanith::GDrawStyle | [virtual]
SetStrokeColor(const GVectBase< GReal, 4 > &Color) | Amanith::GDrawStyle | [virtual]
SetStrokeColorModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeCompOp(const GCompositingOperation CompOp) | Amanith::GDrawStyle | [virtual]
SetStrokeCompOpModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeDashPattern(const GDynArray< GReal > DashPattern) | Amanith::GDrawStyle | [virtual]
SetStrokeDashPatternModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeDashPhase(const GReal DashPhase) | Amanith::GDrawStyle | [virtual]
SetStrokeDashPhaseModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeEnabled(const GBool Enabled) | Amanith::GDrawStyle | [virtual]
SetStrokeEnabledModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeEndCapStyle(const GCapStyle CapStyle) | Amanith::GDrawStyle | [virtual]
SetStrokeEndCapStyleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeGradient(GGradientDesc *Gradient) | Amanith::GDrawStyle |
SetStrokeJoinStyle(const GJoinStyle JoinStyle) | Amanith::GDrawStyle | [virtual]
SetStrokeJoinStyleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeMiterLimit(const GReal MiterLimit) | Amanith::GDrawStyle | [virtual]
SetStrokeMiterLimitModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokePaintType(const GPaintType Type) | Amanith::GDrawStyle | [virtual]
SetStrokePaintTypeModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokePattern(GPatternDesc *Pattern) | Amanith::GDrawStyle |
SetStrokeStartCapStyle(const GCapStyle CapStyle) | Amanith::GDrawStyle | [virtual]
SetStrokeStartCapStyleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeStyle(const GStrokeStyle Style) | Amanith::GDrawStyle | [virtual]
SetStrokeStyleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeWidth(const GReal Width) | Amanith::GDrawStyle | [virtual]
SetStrokeWidthModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
StrokeColor() const | Amanith::GDrawStyle |
StrokeColorModified() const | Amanith::GDrawStyle |
StrokeCompOp() const | Amanith::GDrawStyle |
StrokeCompOpModified() const | Amanith::GDrawStyle |
StrokeDashPattern() const | Amanith::GDrawStyle |
StrokeDashPatternModified() const | Amanith::GDrawStyle |
StrokeDashPatternSum() const | Amanith::GDrawStyle |
StrokeDashPhase() const | Amanith::GDrawStyle |
StrokeDashPhaseModified() const | Amanith::GDrawStyle |
StrokeEnabled() const | Amanith::GDrawStyle |
StrokeEnabledModified() const | Amanith::GDrawStyle |
StrokeEndCapStyle() const | Amanith::GDrawStyle |
StrokeEndCapStyleModified() const | Amanith::GDrawStyle |
StrokeGradient() const | Amanith::GDrawStyle |
StrokeGradientModified() const | Amanith::GDrawStyle |
StrokeJoinStyle() const | Amanith::GDrawStyle |
StrokeJoinStyleModified() const | Amanith::GDrawStyle |
StrokeMiterLimit() const | Amanith::GDrawStyle |
StrokeMiterLimitModified() const | Amanith::GDrawStyle |
StrokeOffsettedDashPattern() const | Amanith::GDrawStyle |
StrokeOffsettedDashPatternEmpty() const | Amanith::GDrawStyle |
StrokePaintType() const | Amanith::GDrawStyle |
StrokePaintTypeModified() const | Amanith::GDrawStyle |
StrokePattern() const | Amanith::GDrawStyle |
StrokePatternModified() const | Amanith::GDrawStyle |
StrokeStartCapStyle() const | Amanith::GDrawStyle |
StrokeStartCapStyleModified() const | Amanith::GDrawStyle |
StrokeStyle() const | Amanith::GDrawStyle |
StrokeStyleModified() const | Amanith::GDrawStyle |
StrokeThickness() const | Amanith::GDrawStyle |
StrokeWidth() const | Amanith::GDrawStyle |
StrokeWidthModified() const | Amanith::GDrawStyle |
~GDrawStyle() | Amanith::GDrawStyle | [virtual]


Amanith::GEigen

Amanith::GEigen Class Reference

This class implements an eigenvalues/eigenvectors solver for square matrices. More...

List of all members.

Public Member Functions

  • GEigen (const GMatrix22 &Matrix, const GBool Symmetric, GVector2 &EigenValue1, GVector2 &EigenValue2, GVector2 &EigenVector1, GVector2 &EigenVector2, const GBool Sort=G_TRUE)
  • GEigen (const GMatrix33 &Matrix, const GBool Symmetric, GVector2 &EigenValue1, GVector2 &EigenValue2, GVector2 &EigenValue3, GVector3 &EigenVector1, GVector3 &EigenVector2, GVector3 &EigenVector3, const GBool Sort=G_TRUE)
  • GEigen (const GMatrix44 &Matrix, const GBool Symmetric, GVector2 &EigenValue1, GVector2 &EigenValue2, GVector2 &EigenValue3, GVector2 &EigenValue4, GVector4 &EigenVector1, GVector4 &EigenVector2, GVector4 &EigenVector3, GVector4 &EigenVector4, const GBool Sort=G_TRUE)

Detailed Description

This class implements an eigenvalues/eigenvectors solver for square matrices.

Symmetric and non-symmetric matrices are supported. For real symmetric matrices eigenvalues are all real too, and relative eigenvectors form an orthogonal basis.

Constructor & Destructor Documentation

Amanith::GEigen::GEigen | ( | const GMatrix22 & | Matrix,
 |  | const GBool | Symmetric,
 |  | GVector2 & | EigenValue1,
 |  | GVector2 & | EigenValue2,
 |  | GVector2 & | EigenVector1,
 |  | GVector2 & | EigenVector2,
 |  | const GBool | Sort = G_TRUE
 | ) |

Constructor for 2x2 matrices.

Solve eigenvalues/eigenvectors, induced by the specified matrix. Symmetric and non-symmetric matrices are supported.

Parameters:
Matrix | the system matrix.
Symmetric | if true specifies that matrix is symmetric, false otherwise.
EigenValue1 | first eigenvalue. At index 0 there'll be the real part, at index 1 the imaginary part.
EigenValue2 | second eigenvalue. At index 0 there'll be the real part, at index 1 the imaginary part.
EigenVector1 | the vector corresponding to EigenValue1
EigenVector2 | the vector corresponding to EigenValue2
Sort | if true eigenvalues (and their corresponding eigenvectors) are returned in descending order, so that EigenValue1 is the eigenvalue with the greater module.

Amanith::GEigen::GEigen | ( | const GMatrix33 & | Matrix,
 |  | const GBool | Symmetric,
 |  | GVector2 & | EigenValue1,
 |  | GVector2 & | EigenValue2,
 |  | GVector2 & | EigenValue3,
 |  | GVector3 & | EigenVector1,
 |  | GVector3 & | EigenVector2,
 |  | GVector3 & | EigenVector3,
 |  | const GBool | Sort = G_TRUE
 | ) |

Constructor for 3x3 matrices.

Solve eigenvalues/eigenvectors, induced by the specified matrix. Symmetric and non-symmetric matrices are supported.

Parameters:
Matrix | the system matrix.
Symmetric | if true specifies that matrix is symmetric, false otherwise.
EigenValue1 | first eigenvalue. At index 0 there'll be the real part, at index 1 the imaginary part.
EigenValue2 | second eigenvalue. At index 0 there'll be the real part, at index 1 the imaginary part.
EigenValue3 | third eigenvalue. At index 0 there'll be the real part, at index 1 the imaginary part.
EigenVector1 | the vector corresponding to EigenValue1
EigenVector2 | the vector corresponding to EigenValue2
EigenVector3 | the vector corresponding to EigenValue3
Sort | if true eigenvalues (and their corresponding eigenvectors) are returned in descending order, so that EigenValue1 is the eigenvalue with the greater module.

Amanith::GEigen::GEigen | ( | const GMatrix44 & | Matrix,
 |  | const GBool | Symmetric,
 |  | GVector2 & | EigenValue1,
 |  | GVector2 & | EigenValue2,
 |  | GVector2 & | EigenValue3,
 |  | GVector2 & | EigenValue4,
 |  | GVector4 & | EigenVector1,
 |  | GVector4 & | EigenVector2,
 |  | GVector4 & | EigenVector3,
 |  | GVector4 & | EigenVector4,
 |  | const GBool | Sort = G_TRUE
 | ) |

Constructor for 4x4 matrices.

Solve eigenvalues/eigenvectors, induced by the specified matrix. Symmetric and non-symmetric matrices are supported.

Parameters:
Matrix | the system matrix.
Symmetric | if true specifies that matrix is symmetric, false otherwise.
EigenValue1 | first eigenvalue. At index 0 there'll be the real part, at index 1 the imaginary part.
EigenValue2 | second eigenvalue. At index 0 there'll be the real part, at index 1 the imaginary part.
EigenValue3 | third eigenvalue. At index 0 there'll be the real part, at index 1 the imaginary part.
EigenValue4 | fourth eigenvalue. At index 0 there'll be the real part, at index 1 the imaginary part.
EigenVector1 | the vector corresponding to EigenValue1
EigenVector2 | the vector corresponding to EigenValue2
EigenVector3 | the vector corresponding to EigenValue3
EigenVector4 | the vector corresponding to EigenValue3
Sort | if true eigenvalues (and their corresponding eigenvectors) are returned in descending order, so that EigenValue1 is the eigenvalue with the greater module.
The documentation for this class was generated from the following files:
  • geigen.h
  • geigen.cpp


Amanith::GEigen Member List

This is the complete list of members for Amanith::GEigen, including all inherited members.

GEigen(const GMatrix22 &Matrix, const GBool Symmetric, GVector2 &EigenValue1, GVector2 &EigenValue2, GVector2 &EigenVector1, GVector2 &EigenVector2, const GBool Sort=G_TRUE) | Amanith::GEigen
GEigen(const GMatrix33 &Matrix, const GBool Symmetric, GVector2 &EigenValue1, GVector2 &EigenValue2, GVector2 &EigenValue3, GVector3 &EigenVector1, GVector3 &EigenVector2, GVector3 &EigenVector3, const GBool Sort=G_TRUE) | Amanith::GEigen
GEigen(const GMatrix44 &Matrix, const GBool Symmetric, GVector2 &EigenValue1, GVector2 &EigenValue2, GVector2 &EigenValue3, GVector2 &EigenValue4, GVector4 &EigenVector1, GVector4 &EigenVector2, GVector4 &EigenVector3, GVector4 &EigenVector4, const GBool Sort=G_TRUE) | Amanith::GEigen


Amanith::GElement

Amanith::GElement Class Reference

Minimum element class equipped with introspection and cloning system. More...

Inheritance diagram for Amanith::GElement:

Amanith::GAnimElement Amanith::GCurve1D Amanith::GCurve2D Amanith::GFont2D Amanith::GImpExp Amanith::GKernel Amanith::GPixelMap Amanith::GAnimTRSNode2D Amanith::GProperty Amanith::GBezierCurve1D Amanith::GBSplineCurve1D Amanith::GMultiCurve1D Amanith::GBezierCurve2D Amanith::GBSplineCurve2D Amanith::GEllipseCurve2D Amanith::GMultiCurve2D List of all members.

Public Member Functions

  • GElement ()
  • GElement (const GElement *Owner)
  • virtual ~GElement ()
  • GBool IsOfType (const GClassID &Class_ID) const
  • GElement * As (const GClassID &Class_ID)
  • const GElement * As (const GClassID &Class_ID) const
  • virtual GBool IsTypeOfType (const GClassID &InspectedType, const GClassID &Class_ID) const
  • GError CopyFrom (const GElement &Source)
  • GError CopyTo (GElement &Destination) const
  • GElement & operator= (const GElement &Source)
  • const GElement * Owner () const
  • virtual const GClassID & ClassID () const
  • virtual const GClassID & DerivedClassID () const
  • GBool IsRootClass () const

Protected Member Functions

  • GElement * CreateNew (const GClassID &Class_ID) const
  • GError ClassIDFromClassName (const GString &Class_Name, GClassID &OutID) const
  • GElement * CreateNew (const GString &Class_Name)
  • virtual GError BaseClone (const GElement &Source)

Detailed Description

Minimum element class equipped with introspection and cloning system.

GElement represents the base class that permits introspection and other facilities, like chain-cloning system, centralized creation and destruction.
Every derived class must implement this functions:

ClassID(): to get class descriptor.
DerivedClassID(): to get base class (father class) descriptor.
BaseClone(): to make physical copy possible. A typical implementation of this function includes just the copy of private and protected members, and then calls base class (father class) BaseClone() method.

Constructor & Destructor Documentation

Amanith::GElement::GElement ( )

Default constructor, set owner to NULL.

Amanith::GElement::GElement ( const GElement * Owner )

Constructor, specifying owner.

Check if owner is valid (it must be described by a G_KERNEL_CLASSID class identifier). If it's valid, we must notify him to add this element instance to internal list.

Amanith::GElement::~GElement ( ) [virtual]

Destructor.

If owner is not NULL, then notify him to remove this element instance from internal list.

Member Function Documentation

const GElement* Amanith::GElement::As ( const GClassID & Class_ID ) const

Type-safe cast (const version).
This function cast this element to the type specified by Class_ID parameter. If cast can be done (it means that this element is of Class_ID type or is derived by Class_ID type), a non-null element pointer (equal to 'this') is returned. If cast cannot be done a NULL pointer is returned.

GElement* Amanith::GElement::As ( const GClassID & Class_ID )

Type-safe cast.
This function cast this element to the type specified by Class_ID parameter. If cast can be done (it means that this element is of Class_ID type or is derived by Class_ID type), a non-null element pointer (equal to 'this') is returned. If cast cannot be done a NULL pointer is returned.

virtual GError Amanith::GElement::BaseClone ( const GElement & Source ) [protected, virtual]

Base clone function. Every derived class must implement this function.
Source parameter is ensured to be of the same class, so casting made inside this function is type-safe. The typical implementation uses a chain propagation (towards father classes), relegating this function to the simple copy of specific internal state.
Here's and example taken from GHermiteCurve2D class (this class derives from GMultiCurve2D):

    GError GHermiteCurve2D::BaseClone(const GElement& Source) {

        const GHermiteCurve2D& src = (const GHermiteCurve2D&)Source;

        // copy keys array
        gKeys = src.gKeys;
        // continue cloning passing the control to base (father) class
        return GMultiCurve2D::BaseClone(Source);
}

Reimplemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GCurve1D, Amanith::GHermiteCurve1D, Amanith::GMultiCurve1D, Amanith::GPolyLineCurve1D, Amanith::GAnimTRSNode2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GCurve2D, Amanith::GEllipseCurve2D, Amanith::GFont2D, Amanith::GHermiteCurve2D, Amanith::GMultiCurve2D, Amanith::GPath2D, Amanith::GPixelMap, Amanith::GPolyLineCurve2D, Amanith::GAnimElement, Amanith::GProperty, Amanith::GKernel, Amanith::GMultiProperty1D, Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

virtual const GClassID& Amanith::GElement::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GCurve1D, Amanith::GHermiteCurve1D, Amanith::GMultiCurve1D, Amanith::GPolyLineCurve1D, Amanith::GAnimTRSNode2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GCurve2D, Amanith::GEllipseCurve2D, Amanith::GFont2D, Amanith::GHermiteCurve2D, Amanith::GMultiCurve2D, Amanith::GPath2D, Amanith::GPixelMap, Amanith::GPolyLineCurve2D, Amanith::GAnimElement, Amanith::GProperty, Amanith::GImpExp, Amanith::GKernel, Amanith::GMultiProperty1D, Amanith::GTwoHermiteProperty1D, Amanith::GThreeHermiteProperty1D, Amanith::GFourHermiteProperty1D, Amanith::GTwoLinearProperty1D, Amanith::GThreeLinearProperty1D, Amanith::GFourLinearProperty1D, Amanith::GTwoConstantProperty1D, Amanith::GThreeConstantProperty1D, Amanith::GFourConstantProperty1D, Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

GError Amanith::GElement::ClassIDFromClassName | ( | const GString & | Class_Name,
 |  | GClassID & | OutID
 | ) | const [protected]

Get class identifier from a class name.

Parameters:
Class_Name | a string containing the class name that we wanna know the descriptor of
OutID | a class descriptor that will be returned in case of successful operation.
Returns:
If operation will succeed G_NO_ERROR constant, else an error code.
Note:
Class name comparison is case-insensitive.
A return value of G_UNSUPPORTED_CLASSID means that specified Class_Name does not correspond to any registered proxies, so the class descriptor cannot be "resolved".

Reimplemented in Amanith::GKernel.

GError Amanith::GElement::CopyFrom ( const GElement & Source )

Physical copy, using a source element.

If copy can't be done an error code is returned, else G_NO_ERROR. The copy schema is subdivided into 3 steps:

  1. If Source is the same object pointed by 'this' pointer, just exit with a G_NO_ERROR code.
  2. If Source is not of the same type of this element, use owner (kernel) to do the copy (using Copy() function).
    The kernel will try to do a (physical) type conversion (using registered converters plugins), and then do the conversion. For further details see GKernel::Copy().
  3. If Source is of the same type of this element, then it is safe to call BaseClone().

Note:
If as Source parameter will be passed a 'this' reference the function just returns a G_NO_ERROR without doing nothing. So a call like element->CopyFrom(*element) is not dangerous.

GError Amanith::GElement::CopyTo ( GElement & Destination ) const

Physical copy into 'Destination' element.
If copy can't be done an error code is returned, else G_NO_ERROR.

Note:
This function is provided for convenience, it's a simple Destination.CopyFrom(*this).

GElement * Amanith::GElement::CreateNew ( const GString & Class_Name ) [protected]

If element can't be created a NULL pointer is returned.

Note:
Class name comparison is case-insensitive.

Reimplemented in Amanith::GKernel.

GElement * Amanith::GElement::CreateNew ( const GClassID & Class_ID ) const [protected]

Creates a new element given a class id.
If element can't be created a NULL pointer is returned.

Creation is made possible thanks kernel only, using proxies mechanism. If this element has not be created by a kernel, then it can't create new elements through this method.

virtual const GClassID& Amanith::GElement::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented in Amanith::GBezierCurve1D, Amanith::GBSplineCurve1D, Amanith::GCurve1D, Amanith::GHermiteCurve1D, Amanith::GMultiCurve1D, Amanith::GPolyLineCurve1D, Amanith::GAnimTRSNode2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve2D, Amanith::GCurve2D, Amanith::GEllipseCurve2D, Amanith::GFont2D, Amanith::GHermiteCurve2D, Amanith::GMultiCurve2D, Amanith::GPath2D, Amanith::GPixelMap, Amanith::GPolyLineCurve2D, Amanith::GAnimElement, Amanith::GProperty, Amanith::GImpExp, Amanith::GKernel, Amanith::GMultiProperty1D, Amanith::GTwoHermiteProperty1D, Amanith::GThreeHermiteProperty1D, Amanith::GFourHermiteProperty1D, Amanith::GTwoLinearProperty1D, Amanith::GThreeLinearProperty1D, Amanith::GFourLinearProperty1D, Amanith::GTwoConstantProperty1D, Amanith::GThreeConstantProperty1D, Amanith::GFourConstantProperty1D, Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

GBool Amanith::GElement::IsOfType ( const GClassID & Class_ID ) const

Is an element of a specified type?
It does include inheritance inspection (using owner / kernel).

GBool Amanith::GElement::IsRootClass ( ) const

Is a root class?
Root class is a class where derived class descriptor is the same of the inspected class.

GBool Amanith::GElement::IsTypeOfType | ( | const GClassID & | InspectedType,
 |  | const GClassID & | Class_ID
 | ) | const [virtual]

Is 'InspectedType' derived-from/of 'Class_ID' type?

Reimplemented in Amanith::GKernel.

GElement& Amanith::GElement::operator= ( const GElement & Source )

Assignment operator.

Note:
It uses CopyFrom() function.

const GElement* Amanith::GElement::Owner ( ) const

Get element owner (kernel).

The documentation for this class was generated from the following files:
  • gelement.h
  • gelement.cpp


Amanith::GElement Member List

This is the complete list of members for Amanith::GElement, including all inherited members.

As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GElement | [protected, virtual]
ClassID() const | Amanith::GElement | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DerivedClassID() const | Amanith::GElement | [virtual]
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
~GElement() | Amanith::GElement | [virtual]


Amanith::GElementProxy

Amanith::GElementProxy Class Reference

This class implements a GElement proxy (provider). More...

Inheritance diagram for Amanith::GElementProxy:

Amanith::GAnimElementProxy Amanith::GAnimTRSNode2DProxy Amanith::GBezierCurve1DProxy Amanith::GBezierCurve2DProxy Amanith::GBSplineCurve1DProxy Amanith::GBSplineCurve2DProxy Amanith::GConstantProperty1DProxy Amanith::GCurve1DProxy Amanith::GCurve2DProxy Amanith::GEllipseCurve2DProxy Amanith::GFont2DProxy Amanith::GFourConstantProperty1DProxy Amanith::GFourHermiteProperty1DProxy Amanith::GFourLinearProperty1DProxy Amanith::GHermiteCurve1DProxy Amanith::GHermiteCurve2DProxy Amanith::GHermiteProperty1DProxy Amanith::GImpExpProxy Amanith::GKernelProxy Amanith::GLinearProperty1DProxy Amanith::GMultiCurve1DProxy Amanith::GMultiCurve2DProxy Amanith::GMultiProperty1DProxy Amanith::GPath2DProxy Amanith::GPixelMapProxy Amanith::GPolyLineCurve1DProxy Amanith::GPolyLineCurve2DProxy Amanith::GPropertyProxy Amanith::GThreeConstantProperty1DProxy Amanith::GThreeHermiteProperty1DProxy Amanith::GThreeLinearProperty1DProxy Amanith::GTwoConstantProperty1DProxy Amanith::GTwoHermiteProperty1DProxy Amanith::GTwoLinearProperty1DProxy List of all members.

Public Member Functions

  • virtual GElement * CreateNew (const GElement *Owner=NULL) const
  • virtual const GClassID & ClassID () const
  • virtual const GClassID & DerivedClassID () const
  • GBool IsRootClass () const
  • virtual GInt32 Version () const
  • virtual ~GElementProxy ()

Detailed Description

This class implements a GElement proxy (provider).

Through a GElementProxy it's possible to create a GElement class (or an its derived class), specifying eventually an owner.
GElementProxy is at the base of the plugin system, based on a central manager that is implemented by GKernel class.
Every derived class (proxies), must implement CreateNew() method to make class creation possible. This is generally true, except in cases where class has got some virtual (and non implemented methods). Even if class has got all methods implemented, proxies could introduce an intermediate "virtual / non instantiable" layer that could be used in some useful situations.

Constructor & Destructor Documentation

virtual Amanith::GElementProxy::~GElementProxy ( ) [virtual]

Destructor, this empty virtual declaration make gcc 4.0 happy with warnings.

Member Function Documentation

virtual const GClassID& Amanith::GElementProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented in Amanith::GBezierCurve1DProxy, Amanith::GBSplineCurve1DProxy, Amanith::GCurve1DProxy, Amanith::GHermiteCurve1DProxy, Amanith::GMultiCurve1DProxy, Amanith::GPolyLineCurve1DProxy, Amanith::GAnimTRSNode2DProxy, Amanith::GBezierCurve2DProxy, Amanith::GBSplineCurve2DProxy, Amanith::GCurve2DProxy, Amanith::GEllipseCurve2DProxy, Amanith::GFont2DProxy, Amanith::GHermiteCurve2DProxy, Amanith::GMultiCurve2DProxy, Amanith::GPath2DProxy, Amanith::GPixelMapProxy, Amanith::GPolyLineCurve2DProxy, Amanith::GAnimElementProxy, Amanith::GPropertyProxy, Amanith::GImpExpProxy, Amanith::GKernelProxy, Amanith::GMultiProperty1DProxy, Amanith::GTwoHermiteProperty1DProxy, Amanith::GThreeHermiteProperty1DProxy, Amanith::GFourHermiteProperty1DProxy, Amanith::GTwoLinearProperty1DProxy, Amanith::GThreeLinearProperty1DProxy, Amanith::GFourLinearProperty1DProxy, Amanith::GTwoConstantProperty1DProxy, Amanith::GThreeConstantProperty1DProxy, Amanith::GFourConstantProperty1DProxy, Amanith::GHermiteProperty1DProxy, Amanith::GLinearProperty1DProxy, and Amanith::GConstantProperty1DProxy.

virtual GElement* Amanith::GElementProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Create a new element. Every derived class must implements this method.

Reimplemented in Amanith::GBezierCurve1DProxy, Amanith::GBSplineCurve1DProxy, Amanith::GHermiteCurve1DProxy, Amanith::GPolyLineCurve1DProxy, Amanith::GAnimTRSNode2DProxy, Amanith::GBezierCurve2DProxy, Amanith::GBSplineCurve2DProxy, Amanith::GEllipseCurve2DProxy, Amanith::GFont2DProxy, Amanith::GHermiteCurve2DProxy, Amanith::GPath2DProxy, Amanith::GPixelMapProxy, Amanith::GPolyLineCurve2DProxy, Amanith::GPropertyProxy, Amanith::GKernelProxy, Amanith::GTwoHermiteProperty1DProxy, Amanith::GThreeHermiteProperty1DProxy, Amanith::GFourHermiteProperty1DProxy, Amanith::GTwoLinearProperty1DProxy, Amanith::GThreeLinearProperty1DProxy, Amanith::GFourLinearProperty1DProxy, Amanith::GTwoConstantProperty1DProxy, Amanith::GThreeConstantProperty1DProxy, Amanith::GFourConstantProperty1DProxy, Amanith::GHermiteProperty1DProxy, Amanith::GLinearProperty1DProxy, and Amanith::GConstantProperty1DProxy.

virtual const GClassID& Amanith::GElementProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented in Amanith::GBezierCurve1DProxy, Amanith::GBSplineCurve1DProxy, Amanith::GCurve1DProxy, Amanith::GHermiteCurve1DProxy, Amanith::GMultiCurve1DProxy, Amanith::GPolyLineCurve1DProxy, Amanith::GAnimTRSNode2DProxy, Amanith::GBezierCurve2DProxy, Amanith::GBSplineCurve2DProxy, Amanith::GCurve2DProxy, Amanith::GEllipseCurve2DProxy, Amanith::GFont2DProxy, Amanith::GHermiteCurve2DProxy, Amanith::GMultiCurve2DProxy, Amanith::GPath2DProxy, Amanith::GPixelMapProxy, Amanith::GPolyLineCurve2DProxy, Amanith::GAnimElementProxy, Amanith::GPropertyProxy, Amanith::GImpExpProxy, Amanith::GKernelProxy, Amanith::GMultiProperty1DProxy, Amanith::GTwoHermiteProperty1DProxy, Amanith::GThreeHermiteProperty1DProxy, Amanith::GFourHermiteProperty1DProxy, Amanith::GTwoLinearProperty1DProxy, Amanith::GThreeLinearProperty1DProxy, Amanith::GFourLinearProperty1DProxy, Amanith::GTwoConstantProperty1DProxy, Amanith::GThreeConstantProperty1DProxy, Amanith::GFourConstantProperty1DProxy, Amanith::GHermiteProperty1DProxy, Amanith::GLinearProperty1DProxy, and Amanith::GConstantProperty1DProxy.

GBool Amanith::GElementProxy::IsRootClass ( ) const

Does this proxy manages a root class?
Root class is a class where derived class descriptor is the same of the inspected class.

virtual GInt32 Amanith::GElementProxy::Version ( ) const [virtual]

Version of this proxy.

The documentation for this class was generated from the following file:
  • gelement.h


Amanith::GElementProxy Member List

This is the complete list of members for Amanith::GElementProxy, including all inherited members.

ClassID() const | Amanith::GElementProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GElementProxy | [virtual]
DerivedClassID() const | Amanith::GElementProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GEllipseCurve2D

Amanith::GEllipseCurve2D Class Reference

2D ellipse arc/curve. More...

Inheritance diagram for Amanith::GEllipseCurve2D:

Amanith::GCurve2D Amanith::GElement List of all members.

Public Member Functions

  • GEllipseCurve2D ()
  • GEllipseCurve2D (const GElement *Owner)
  • ~GEllipseCurve2D ()
  • void Clear ()
  • GUInt32 PointsCount () const
  • GPoint2 Point (const GUInt32 Index) const
  • GError SetPoint (const GUInt32 Index, const GPoint2 &NewPoint)
  • void SetEllipse (const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GReal StartAngle=0, const GReal EndAngle=G_2PI, const GBool CCW=G_TRUE)
  • GError SetEllipse (const GPoint2 &P0, const GPoint2 &P1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GBool LargeArc=G_TRUE, const GBool CCW=G_FALSE)
  • const GPoint2 & Center () const
  • void SetCenter (const GPoint2 &NewCenter)
  • GReal XSemiAxisLength () const
  • void SetXSemiAxisLength (const GReal NewLength)
  • GReal YSemiAxisLength () const
  • void SetYSemiAxisLength (const GReal NewLength)
  • GVector2 XAxis (const GBool Normalized=G_TRUE) const
  • GVector2 YAxis (const GBool Normalized=G_TRUE) const
  • GReal OffsetRotation () const
  • void SetOffsetRotation (const GReal NewOffsetRotation)
  • GReal StartAngle () const
  • GReal EndAngle () const
  • void SetAngleDomain (const GReal NewStartAngle, const GReal NewEndAngle)
  • GBool IntersectRay (const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const
  • GError Flatten (GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const
  • GBool LargeArc () const
  • GReal Variation () const
  • GPoint2 Evaluate (const GReal u) const
  • GVector2 Derivative (const GDerivativeOrder Order, const GReal u) const
  • void Translate (const GVector2 &Translation)
  • void Rotate (const GPoint2 &Pivot, const GReal RadAmount)
  • void Scale (const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount)
  • void XForm (const GMatrix23 &Matrix)
  • void XForm (const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GError BaseClone (const GElement &Source)
  • GError DoCut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const
  • GBool InsideAngleDomain (const GReal Angle, GReal &Ratio) const
  • GReal MapAngle (const GReal u) const
  • GPoint2 EvaluateByAngle (const GReal Angle) const

Static Protected Member Functions

  • static GBool FindUnitCircles (const GPoint2 &P0, const GPoint2 &P1, GPoint2 &C0, GPoint2 &C1, GReal &GrowingFactor)
  • static GReal FixAngle (const GReal Angle)

Detailed Description

2D ellipse arc/curve.

An ellipse is the curve described implicitly by an equation of the second degree Ax^2 + Bxy + Cy^2 + Dx + Ey + F = 0 when the discriminant B^2 - 4AC is less than zero. The standard form of the equation of an ellipse is (x/a)^2 + (y/b)^2 = 1, where a and b are the lengths of the axes. As can be seen from the Cartesian equation for the ellipse, the curve can also be given by a simple parametric form analogous to that of a circle, but with the x and y coordinates having different scalings

x(t) = a * cos(t)
y(t) = b * sin(t)

where t can lie into a compact interval, lets say [t1; t2]. This is the classic axes-aligned ellipse/arc centered at (0, 0), to express an offset rotation (relative to x-axis) and a different center, we must rotate points and add center (cx, cy), resulting in:

x(t) = a * cos(ofs) * cos(t) - b * sin(ofs) * sin(t) + cx
y(t) = a * sin(ofs) * cos(t) + b * cos(ofs) * sin(t) + cy

with t inside [t1; t2].
We can go from t1 to t2 in 2 directions: counter-clockwise or clockwise, spanning (depending on t1 and t2) the smallest or the largest arc.

Constructor & Destructor Documentation

Amanith::GEllipseCurve2D::GEllipseCurve2D ( )

Default constructor, creates an empty ellipse arc/curve.

Amanith::GEllipseCurve2D::GEllipseCurve2D ( const GElement * Owner )

Constructor with owner (kernel) parameter, creates an empty ellipse.

Amanith::GEllipseCurve2D::~GEllipseCurve2D ( )

Destructor.

Member Function Documentation

GError Amanith::GEllipseCurve2D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source GEllipseCurve2D curve into this curve.

Reimplemented from Amanith::GCurve2D.

const GPoint2& Amanith::GEllipseCurve2D::Center ( ) const

Get ellipse center.

const GClassID& Amanith::GEllipseCurve2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GCurve2D.

void Amanith::GEllipseCurve2D::Clear ( ) [virtual]

Clear the arc/curve (free internal structures and set an empty domain).

Reimplemented from Amanith::GCurve2D.

GVector2 Amanith::GEllipseCurve2D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve2D.

const GClassID& Amanith::GEllipseCurve2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GCurve2D.

GError Amanith::GEllipseCurve2D::DoCut | ( | const GReal | u,
 |  | GCurve2D * | RightCurve,
 |  | GCurve2D * | LeftCurve
 | ) | const [protected, virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right ellipse arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GEllipseCurve2D classes (so cast is type-safe).

Implements Amanith::GCurve2D.

GReal Amanith::GEllipseCurve2D::EndAngle ( ) const

Get angle corresponding to domain upper bound.

GPoint2 Amanith::GEllipseCurve2D::Evaluate ( const GReal u ) const [virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve2D.

GPoint2 Amanith::GEllipseCurve2D::EvaluateByAngle ( const GReal Angle ) const [protected]

Evaluate the ellipse, specifying an angle.

GBool Amanith::GEllipseCurve2D::FindUnitCircles | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | GPoint2 & | C0,
 |  | GPoint2 & | C1,
 |  | GReal & | GrowingFactor
 | ) | [static, protected]

Given two points P0 and P1, return G_TRUE if two unit circles can be found so that they interpolate P0 and P1. In this case centers of these circles are returned in C0 and C1, else a G_FALSE value is returned and GrowingFactor will contain the smallest factor to scale P0 and P1 (along P0-P1 direction) so that unit circles can be found.

GReal Amanith::GEllipseCurve2D::FixAngle ( const GReal Angle ) [static, protected]

Given an Angle, it returns the same angle into [0; 2PI] range.

GError Amanith::GEllipseCurve2D::Flatten | ( | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint = G_TRUE
 | ) | const [virtual]

Flats the curve specifying a max error/variation (squared chordal distance).

Parameters:
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.

Implements Amanith::GCurve2D.

GBool Amanith::GEllipseCurve2D::InsideAngleDomain | ( | const GReal | Angle,
 |  | GReal & | Ratio
 | ) | const [protected]

Return G_TRUE if specified Angle lies inside angle domain, taking care of cw/ccw direction. If so, a ratio value is returned, that corresponds to the percentage of angle spanned starting from StartAngle and going to Angle.

GBool Amanith::GEllipseCurve2D::IntersectRay | ( | const GRay2 & | NormalizedRay,
 |  | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision = G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [virtual]

Intersect the ellipse arc/curve with a normalized ray, and returns a list of intersections.

Parameters:
NormalizedRay | a normalized ray used for intersection test. Ray must be normalized, else incorrect results are possible.
Intersections | every found intersection will be appended to this array. Each intersection is a 2D vector; it has at position 0 the curve parameter (domain) value corresponding to the intersection, and at position 1 the ray parameter value corresponding to the intersection.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution. If the current solution calculus does not reach the specified Precision within MaxIterations iterations, the current solution calculus is stopped, the solution is appended into output array, and calculus go for the next found solution. The more this value is, the more is the accuracy of each solution (and the more is the time taken from this method).
Note:
in this implementation Precision and MaxIterations are not used, due to analytical solutions.

Implements Amanith::GCurve2D.

GBool Amanith::GEllipseCurve2D::LargeArc ( ) const

Return G_TRUE if the ellipse arc spans the largest angle, else G_FALSE.

GReal Amanith::GEllipseCurve2D::MapAngle ( const GReal u ) const [protected]

Map a curve parameter into angle domain.

GReal Amanith::GEllipseCurve2D::OffsetRotation ( ) const

Get offset rotation (in radiants).

GPoint2 Amanith::GEllipseCurve2D::Point ( const GUInt32 Index ) const [virtual]

Get Index-th control point; Index must be valid, else a point with infinitive components is returned.

Implements Amanith::GCurve2D.

GUInt32 Amanith::GEllipseCurve2D::PointsCount ( ) const [virtual]

Returns number of control points.

Implements Amanith::GCurve2D.

void Amanith::GEllipseCurve2D::Rotate | ( | const GPoint2 & | Pivot,
 |  | const GReal | RadAmount
 | ) | [virtual]

Rotate ellipse around a pivot point. The rotation will occur in counter-clockwise direction for positive angles.

Parameters:
Pivot | the pivot point (the center of rotation).
RadAmount | the rotation (in radians) amount.

Reimplemented from Amanith::GCurve2D.

void Amanith::GEllipseCurve2D::Scale | ( | const GPoint2 & | Pivot,
 |  | const GReal | XScaleAmount,
 |  | const GReal | YScaleAmount
 | ) | [virtual]

Scale ellipse, using a pivot point (that will affect the center) and scaling factors.

Parameters:
Pivot | the pivot point (the center of scaling).
XScaleAmount | the scale factor used for X axis (intended as (1, 0) Cartesian axis).
YScaleAmount | the scale factor used for Y axis (intended as (0, 1) Cartesian axis).

Reimplemented from Amanith::GCurve2D.

void Amanith::GEllipseCurve2D::SetAngleDomain | ( | const GReal | NewStartAngle,
 |  | const GReal | NewEndAngle
 | ) |

Set a new angle domain.

void Amanith::GEllipseCurve2D::SetCenter ( const GPoint2 & NewCenter )

Set a new ellipse center.

GError Amanith::GEllipseCurve2D::SetEllipse | ( | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation = 0,
 |  | const GBool | LargeArc = G_TRUE,
 |  | const GBool | CCW = G_FALSE
 | ) |

Build a new ellipse, specifying 2 interpolation points, semi axes lengths, an offset rotation angle and two flags that specify desired arc (of the 4 possible ones).

Parameters:
P0 | first interpolated point.
P1 | last interpolated point.
XSemiAxisLength | length of x-axis.
YSemiAxisLength | length of y-axis.
OffsetRotation | offset rotation relative to x-axis.
LargeArc | if G_TRUE the largest arc will be chosen to go from P0 to P1, else the smallest one.
CCW | if G_TRUE a counter-clockwise direction will be chosen to go from P0 to P1, else clockwise.

void Amanith::GEllipseCurve2D::SetEllipse | ( | const GPoint2 & | Center,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation = 0,
 |  | const GReal | StartAngle = 0,
 |  | const GReal | EndAngle = G_2PI,
 |  | const GBool | CCW = G_TRUE
 | ) |

Build a new ellipse, specifying center, semi axes lengths, an offset rotation angle and angle domain.

Parameters:
Center | center of the ellipse.
XSemiAxisLength | length of x-axis.
YSemiAxisLength | length of y-axis.
OffsetRotation | offset rotation relative to x-axis.
StartAngle | angle where 'to start' ellipse arc..
EndAngle | angle where 'to end' ellipse arc.
CCW | if G_TRUE a counter-clockwise direction will be chosen, else clockwise.

void Amanith::GEllipseCurve2D::SetOffsetRotation ( const GReal NewOffsetRotation )

Set offset rotation (in radiants).

GError Amanith::GEllipseCurve2D::SetPoint | ( | const GUInt32 | Index,
 |  | const GPoint2 & | NewPoint
 | ) | [virtual]

Set Index-th control point; Index must be valid.

Implements Amanith::GCurve2D.

void Amanith::GEllipseCurve2D::SetXSemiAxisLength ( const GReal NewLength )

Set X semi-axis length.

void Amanith::GEllipseCurve2D::SetYSemiAxisLength ( const GReal NewLength )

Set Y semi-axis length.

GReal Amanith::GEllipseCurve2D::StartAngle ( ) const

Get angle corresponding to domain lower bound.

void Amanith::GEllipseCurve2D::Translate ( const GVector2 & Translation ) [virtual]

Translates ellipse, specifying a vector offset.

Parameters:
Translation the offset vector.
Note:
implementation 'moves' the center.

Reimplemented from Amanith::GCurve2D.

GReal Amanith::GEllipseCurve2D::Variation ( ) const [virtual]

Get variation (squared chordal distance) in the current domain range.

Implements Amanith::GCurve2D.

GVector2 Amanith::GEllipseCurve2D::XAxis ( const GBool Normalized = G_TRUE ) const

Get X axis, intended as a full axis (it includes offset rotation and semi-length if G_FALSE is specified as parameter).

void Amanith::GEllipseCurve2D::XForm | ( | const GMatrix33 & | Matrix,
 |  | const GBool | DoProjection = G_TRUE
 | ) | [virtual]

Apply full transformation to the ellipse.

Parameters:
Matrix | a 3x3 matrix, specifying the transformation.
DoProjection | if G_TRUE the projective transformation (described by the last row vector of matrix) will be done. In this case all transformed vertexes will be divided by the last W component. If G_FALSE only the affine portion will be used for transformation, and no projective division will be executed.

Reimplemented from Amanith::GCurve2D.

void Amanith::GEllipseCurve2D::XForm ( const GMatrix23 & Matrix ) [virtual]

Apply an affine transformation to the ellipse.

Parameters:
Matrix a 2x3 matrix, specifying the affine transformation.
Note:
the leftmost 2x2 matrix contains the rotation/scale portion, the last column vector contains the translation.

Reimplemented from Amanith::GCurve2D.

GReal Amanith::GEllipseCurve2D::XSemiAxisLength ( ) const

Get X semi-axis length.

GVector2 Amanith::GEllipseCurve2D::YAxis ( const GBool Normalized = G_TRUE ) const

Get Y axis, intended as a full axis (it includes offset rotation and semi-length if G_FALSE is specified as parameter).

GReal Amanith::GEllipseCurve2D::YSemiAxisLength ( ) const

Get Y semi-axis length.

The documentation for this class was generated from the following files:
  • gellipsecurve2d.h
  • gellipsecurve2d.cpp


Amanith::GEllipseCurve2D Member List

This is the complete list of members for Amanith::GEllipseCurve2D, including all inherited members.

As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GEllipseCurve2D | [protected, virtual]
Center() const | Amanith::GEllipseCurve2D
ClassID() const | Amanith::GEllipseCurve2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GEllipseCurve2D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Curvature(const GReal u) const | Amanith::GCurve2D
Cut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GCurve2D
Cut(const GReal u0, const GReal u1, GCurve2D *OutCurve) const | Amanith::GCurve2D
CutByLength(const GReal CurvePos, GCurve2D *RightCurve, GCurve2D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve2D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GEllipseCurve2D | [virtual]
DerivedClassID() const | Amanith::GEllipseCurve2D | [virtual]
DoCut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GEllipseCurve2D | [protected, virtual]
Domain() const | Amanith::GCurve2D
DomainEnd() const | Amanith::GCurve2D
DomainStart() const | Amanith::GCurve2D
EndAngle() const | Amanith::GEllipseCurve2D
EndPoint() const | Amanith::GCurve2D
Evaluate(const GReal u) const | Amanith::GEllipseCurve2D | [virtual]
EvaluateByAngle(const GReal Angle) const | Amanith::GEllipseCurve2D | [protected]
FindUnitCircles(const GPoint2 &P0, const GPoint2 &P1, GPoint2 &C0, GPoint2 &C1, GReal &GrowingFactor) | Amanith::GEllipseCurve2D | [protected, static]
FixAngle(const GReal Angle) | Amanith::GEllipseCurve2D | [protected, static]
Flatten(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const | Amanith::GEllipseCurve2D | [virtual]
GCurve2D() Amanith::GCurve2D
GCurve2D(const GElement *Owner) | Amanith::GCurve2D
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GEllipseCurve2D() Amanith::GEllipseCurve2D
GEllipseCurve2D(const GElement *Owner) | Amanith::GEllipseCurve2D
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve2D | [virtual]
InsideAngleDomain(const GReal Angle, GReal &Ratio) const | Amanith::GEllipseCurve2D | [protected]
IntersectRay(const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GEllipseCurve2D | [virtual]
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
LargeArc() const | Amanith::GEllipseCurve2D
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D | [virtual]
MapAngle(const GReal u) const | Amanith::GEllipseCurve2D | [protected]
Normal(const GReal u) const | Amanith::GCurve2D
OffsetRotation() const | Amanith::GEllipseCurve2D
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Point(const GUInt32 Index) const | Amanith::GEllipseCurve2D | [virtual]
PointsCount() const | Amanith::GEllipseCurve2D | [virtual]
Rotate(const GPoint2 &Pivot, const GReal RadAmount) | Amanith::GEllipseCurve2D | [virtual]
Scale(const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount) | Amanith::GEllipseCurve2D | [virtual]
SetAngleDomain(const GReal NewStartAngle, const GReal NewEndAngle) | Amanith::GEllipseCurve2D
SetCenter(const GPoint2 &NewCenter) | Amanith::GEllipseCurve2D
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GCurve2D | [virtual]
SetEllipse(const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GReal StartAngle=0, const GReal EndAngle=G_2PI, const GBool CCW=G_TRUE) | Amanith::GEllipseCurve2D
SetEllipse(const GPoint2 &P0, const GPoint2 &P1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GBool LargeArc=G_TRUE, const GBool CCW=G_FALSE) | Amanith::GEllipseCurve2D
SetEndPoint(const GPoint2 &NewValue) | Amanith::GCurve2D
SetOffsetRotation(const GReal NewOffsetRotation) | Amanith::GEllipseCurve2D
SetPoint(const GUInt32 Index, const GPoint2 &NewPoint) | Amanith::GEllipseCurve2D | [virtual]
SetStartPoint(const GPoint2 &NewValue) | Amanith::GCurve2D
SetXSemiAxisLength(const GReal NewLength) | Amanith::GEllipseCurve2D
SetYSemiAxisLength(const GReal NewLength) | Amanith::GEllipseCurve2D
Speed(const GReal u) const | Amanith::GCurve2D
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve2D | [protected, static]
StartAngle() const | Amanith::GEllipseCurve2D
StartPoint() const | Amanith::GCurve2D
Tangent(const GReal u) const | Amanith::GCurve2D
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D
Translate(const GVector2 &Translation) | Amanith::GEllipseCurve2D | [virtual]
Variation() const | Amanith::GEllipseCurve2D | [virtual]
XAxis(const GBool Normalized=G_TRUE) const | Amanith::GEllipseCurve2D
XForm(const GMatrix23 &Matrix) | Amanith::GEllipseCurve2D | [virtual]
XForm(const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE) | Amanith::GEllipseCurve2D | [virtual]
XSemiAxisLength() const | Amanith::GEllipseCurve2D
YAxis(const GBool Normalized=G_TRUE) const | Amanith::GEllipseCurve2D
YSemiAxisLength() const | Amanith::GEllipseCurve2D
~GCurve2D() | Amanith::GCurve2D | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GEllipseCurve2DProxy

Amanith::GEllipseCurve2DProxy Class Reference

This class implements a GEllipseCurve2D proxy (provider). More...

Inheritance diagram for Amanith::GEllipseCurve2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GEllipseCurve2D proxy (provider).

This proxy provides the creation of GEllipseCurve2D class instances.

Member Function Documentation

const GClassID& Amanith::GEllipseCurve2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GEllipseCurve2DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GEllipseCurve2D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GEllipseCurve2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gellipsecurve2d.h


Amanith::GEllipseCurve2DProxy Member List

This is the complete list of members for Amanith::GEllipseCurve2DProxy, including all inherited members.

ClassID() const | Amanith::GEllipseCurve2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GEllipseCurve2DProxy | [virtual]
DerivedClassID() const | Amanith::GEllipseCurve2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GEncodedChar

Amanith::GEncodedChar Struct Reference

An association between a char code to its glyph index (for a charsmap). More...

List of all members.

Public Attributes

  • GUInt32 CharCode
  • GUInt32 GlyphIndex

Detailed Description

An association between a char code to its glyph index (for a charsmap).

Member Data Documentation

GUInt32 Amanith::GEncodedChar::CharCode

The char code (maybe be an ascii code or a unicode or whatever specific for charsmap).

GUInt32 Amanith::GEncodedChar::GlyphIndex

Glyph index corresponding to charcode.

The documentation for this struct was generated from the following file:
  • gfont2d.h


Amanith::GEncodedChar Member List

This is the complete list of members for Amanith::GEncodedChar, including all inherited members.

CharCode | Amanith::GEncodedChar
GlyphIndex | Amanith::GEncodedChar


Amanith::GFont2D

Amanith::GFont2D Class Reference

2D font class manager. More...

Inheritance diagram for Amanith::GFont2D:

Amanith::GElement List of all members.

Public Member Functions

  • GFont2D ()
  • GFont2D (const GElement *Owner)
  • ~GFont2D ()
  • GError Load (const GChar8 *FileName, const GChar8 *Options=NULL, const GChar8 *FormatName=NULL)
  • GInt32 CharsCount () const
  • GFontChar2D * AddChar (const GDynArray< GFontCharContour2D > &Contours)
  • GFontChar2D * AddChar (const GDynArray< GSubChar2D > &SubChars)
  • GError RemoveChar (const GInt32 Index)
  • void Clear ()
  • const GFontChar2D * CharByIndex (const GInt32 Index) const
  • const GFontChar2D * CharByCode (const GUInt32 CharCode, const GUInt32 CharMapIndex) const
  • const GCharMap & CharMap (const GInt32 Index) const
  • GInt32 CharMapsCount () const
  • GError AddCharMap (const GCharMap &NewCharMap)
  • GError RemoveCharMap (const GInt32 CharMapIndex)
  • void RemoveCharsMaps ()
  • GInt32 CharIndexByCharCode (const GUInt32 CharCode, const GUInt32 CharMapIndex) const
  • const GString & FamilyName () const
  • void SetFamilyName (const GString &NewFamilyName)
  • const GString & StyleName () const
  • void SetStyleName (const GString &NewStyleName)
  • GBool IsItalic () const
  • void SetItalic (const GBool NewValue)
  • GBool IsBold () const
  • void SetBold (const GBool NewValue)
  • GBool HasKerningInfos () const
  • void SetKerning (const GDynArray< GKerningEntry > &NewKerningTable)
  • const GPoint2 & KerningByIndex (const GUInt32 LeftIndex, const GUInt32 RightIndex) const
  • const GPoint2 & KerningByCharCode (const GUInt32 LeftGlyph, const GUInt32 RightIndex, const GUInt32 CharMapIndex) const
  • GUInt32 UnitsPerEM () const
  • void SetUnitsPerEM (const GUInt32 NewValue)
  • GReal Ascender () const
  • void SetAscender (const GReal NewValue)
  • GReal Descender () const
  • void SetDescender (const GReal NewValue)
  • GReal ExternalLeading () const
  • void SetExternalLeading (const GReal NewValue)
  • GReal Height () const
  • GReal MaxAdvanceWidth () const
  • void SetMaxAdvanceWidth (const GReal NewValue)
  • GReal MaxAdvanceHeight () const
  • void SetMaxAdvanceHeight (const GReal NewValue)
  • GReal UnderlinePosition () const
  • void SetUnderlinePosition (const GReal NewValue)
  • GReal UnderlineThickness () const
  • void SetUnderlineThickness (const GReal NewValue)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GError CloneChars (const GDynArray< GFontChar2D * > &Chars, GDynArray< GFontChar2D * > &Destination)
  • GError BaseClone (const GElement &Source)
  • void DeleteChars ()
  • void DeleteKerning ()

Detailed Description

2D font class manager.

This class is the main class used to manage 2D font. Thought this class fonts can be created and accessed to get informations (char maps, kerning table, and so on). Every character has its own metrics and geometric contours.

Constructor & Destructor Documentation

Amanith::GFont2D::GFont2D ( )

Default constructor. Creates an empty font.

Amanith::GFont2D::GFont2D ( const GElement * Owner )

Constructor with owner (kernel) specification. Creates an empty font.

Amanith::GFont2D::~GFont2D ( )

Destructor. It frees all characters, kerning infos and charsmaps.

Member Function Documentation

GFontChar2D * Amanith::GFont2D::AddChar ( const GDynArray< GSubChar2D > & SubChars )

Add a new char to this font, specifying sub-characters.

GFontChar2D * Amanith::GFont2D::AddChar ( const GDynArray< GFontCharContour2D > & Contours )

Add new char to this font, specifying contours.

GError Amanith::GFont2D::AddCharMap ( const GCharMap & NewCharMap )

Add a char map to this font.

GReal Amanith::GFont2D::Ascender ( ) const

Get the font's ascender; it is the vertical distance from the baseline to the topmost point of any glyph in the face. This field's value is positive, expressed in font units.

GError Amanith::GFont2D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copy (physically) a Source GFont2D element to this font instance.

Reimplemented from Amanith::GElement.

const GFontChar2D * Amanith::GFont2D::CharByCode | ( | const GUInt32 | CharCode,
 |  | const GUInt32 | CharMapIndex
 | ) | const

Get a character, specifying charcode for the CharMapIndex-th charmap.

Returns:
a pointer to the requested character, or NULL if requested character does not exists (or a bad CharMapIndex parameter has been specified).

const GFontChar2D * Amanith::GFont2D::CharByIndex ( const GInt32 Index ) const

Get a character, specifying its (glyph)index.

GInt32 Amanith::GFont2D::CharIndexByCharCode | ( | const GUInt32 | CharCode,
 |  | const GUInt32 | CharMapIndex
 | ) | const

Get (glyph)index, given a valid charcode for a specified charsmap.

Returns:
the character index corresponding to the charcode, a -1 return value indicates an error.

const GCharMap& Amanith::GFont2D::CharMap ( const GInt32 Index ) const

Get the Index-th charsmap reference.

GInt32 Amanith::GFont2D::CharMapsCount ( ) const

Get the number of charsmaps present in the the font.

GInt32 Amanith::GFont2D::CharsCount ( ) const

Return the number of characters present in this font.

const GClassID& Amanith::GFont2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GElement.

void Amanith::GFont2D::Clear ( )

Clear the font; it eliminates all chars, charsmaps and kerning informations.

GError Amanith::GFont2D::CloneChars | ( | const GDynArray< GFontChar2D * > & | Chars,
 |  | GDynArray< GFontChar2D * > & | Destination
 | ) | [protected]

Clone characters.

void Amanith::GFont2D::DeleteChars ( ) [protected]

Remove and delete all instanced chars.

void Amanith::GFont2D::DeleteKerning ( ) [protected]

Delete kerning informations.

const GClassID& Amanith::GFont2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GElement.

GReal Amanith::GFont2D::Descender ( ) const

Get the font's descender; it is the vertical distance from the baseline to the bottommost point of any glyph in the face. This field's value is negative for values below the baseline. It is expressed in font units.

GReal Amanith::GFont2D::ExternalLeading ( ) const

Get external leading (also known as "line gap").

const GString& Amanith::GFont2D::FamilyName ( ) const

Get font family name.

GBool Amanith::GFont2D::HasKerningInfos ( ) const

If G_TRUe is returned, it indicates that the font contains kerning information.

GReal Amanith::GFont2D::Height ( ) const

Get the font's height; it is the vertical distance from one baseline to the next when writing several lines of text. Its value is always positive, expressed in font units. The value can be computed as `ascender + descender + line_gap' where the value of `line_gap' is also called `external leading'.

GBool Amanith::GFont2D::IsBold ( ) const

Specifies if the font is bold.

GBool Amanith::GFont2D::IsItalic ( ) const

Specifies if the font is italic.

const GPoint2 & Amanith::GFont2D::KerningByCharCode | ( | const GUInt32 | LeftGlyph,
 |  | const GUInt32 | RightIndex,
 |  | const GUInt32 | CharMapIndex
 | ) | const

Get kerning vector, specifying the couple of character codes and the charsmap to use for mapping.

const GPoint2 & Amanith::GFont2D::KerningByIndex | ( | const GUInt32 | LeftIndex,
 |  | const GUInt32 | RightIndex
 | ) | const

Get kerning vector, specifying the couple of(glyphs)index.

GError Amanith::GFont2D::Load | ( | const GChar8 * | FileName,
 |  | const GChar8 * | Options = NULL,
 |  | const GChar8 * | FormatName = NULL
 | ) |

Load a 2D font from external file (using kernel plugins). This method is provided for convenience.

Internally this method look for kernel that has created this instances. If such kernel exists, call kernel->Load() function passing specified parameters, else return a G_MISSING_KERNEL error code.

Parameters:
FileName | is a string containing the full file name (path + name + extension) of the file we wanna read from. It must be non-empty.
Options | a string containing a semicolon-separated options. Each option must be in the format name=value.
FormatName | an optional filter; it's case insensitive.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

GReal Amanith::GFont2D::MaxAdvanceHeight ( ) const

Get the maximal advance height, in font units, for all glyphs in this font. This is only relevant for vertical layouts, and should be set to the `height' for fonts that do not provide vertical metrics.

GReal Amanith::GFont2D::MaxAdvanceWidth ( ) const

Get the maximal advance width, in font units, for all glyphs in this font. This can be used to make word wrapping computations faster.

GError Amanith::GFont2D::RemoveChar ( const GInt32 Index )

Remove a char from this font.

GError Amanith::GFont2D::RemoveCharMap ( const GInt32 CharMapIndex )

Remove a char map from this font.

void Amanith::GFont2D::RemoveCharsMaps ( )

Remove all char maps from this font.

void Amanith::GFont2D::SetAscender ( const GReal NewValue )

Set font's ascender value.

void Amanith::GFont2D::SetBold ( const GBool NewValue )

Set bold style flag.

void Amanith::GFont2D::SetDescender ( const GReal NewValue )

Set font's descender value.

void Amanith::GFont2D::SetExternalLeading ( const GReal NewValue )

Set external leading.

void Amanith::GFont2D::SetFamilyName ( const GString & NewFamilyName )

Set font family name.

void Amanith::GFont2D::SetItalic ( const GBool NewValue )

Set italic style flag.

void Amanith::GFont2D::SetKerning ( const GDynArray< GKerningEntry > & NewKerningTable )

Set kerning informations for this font.

void Amanith::GFont2D::SetMaxAdvanceHeight ( const GReal NewValue )

Set the maximal advance height.

void Amanith::GFont2D::SetMaxAdvanceWidth ( const GReal NewValue )

Set the maximal advance width.

void Amanith::GFont2D::SetStyleName ( const GString & NewStyleName )

Set font style name.

void Amanith::GFont2D::SetUnderlinePosition ( const GReal NewValue )

Set the position of the underline line for this font.

void Amanith::GFont2D::SetUnderlineThickness ( const GReal NewValue )

Set the thickness of the underline for this font.

void Amanith::GFont2D::SetUnitsPerEM ( const GUInt32 NewValue )

Set the number of font units per EM square.

const GString& Amanith::GFont2D::StyleName ( ) const

Get font style name.

GReal Amanith::GFont2D::UnderlinePosition ( ) const

Get the position, in font units, of the underline line for this font. It's the center of the underlining stem.

GReal Amanith::GFont2D::UnderlineThickness ( ) const

Get the thickness, in font units, of the underline for this font.

GUInt32 Amanith::GFont2D::UnitsPerEM ( ) const

Get the number of font units per EM square for this font; this is typically 2048 for TrueType fonts, 1000 for Type1 fonts.

The documentation for this class was generated from the following files:
  • gfont2d.h
  • gfont2d.cpp


Amanith::GFont2D Member List

This is the complete list of members for Amanith::GFont2D, including all inherited members.

AddChar(const GDynArray< GFontCharContour2D > &Contours) | Amanith::GFont2D
AddChar(const GDynArray< GSubChar2D > &SubChars) | Amanith::GFont2D
AddCharMap(const GCharMap &NewCharMap) | Amanith::GFont2D
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
Ascender() const | Amanith::GFont2D
BaseClone(const GElement &Source) | Amanith::GFont2D | [protected, virtual]
CharByCode(const GUInt32 CharCode, const GUInt32 CharMapIndex) const | Amanith::GFont2D
CharByIndex(const GInt32 Index) const | Amanith::GFont2D
CharIndexByCharCode(const GUInt32 CharCode, const GUInt32 CharMapIndex) const | Amanith::GFont2D
CharMap(const GInt32 Index) const | Amanith::GFont2D
CharMapsCount() const | Amanith::GFont2D
CharsCount() const | Amanith::GFont2D
ClassID() const | Amanith::GFont2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() Amanith::GFont2D
CloneChars(const GDynArray< GFontChar2D * > &Chars, GDynArray< GFontChar2D * > &Destination) | Amanith::GFont2D | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DeleteChars() | Amanith::GFont2D | [protected]
DeleteKerning() | Amanith::GFont2D | [protected]
DerivedClassID() const | Amanith::GFont2D | [virtual]
Descender() const | Amanith::GFont2D
ExternalLeading() const | Amanith::GFont2D
FamilyName() const | Amanith::GFont2D
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GFont2D() Amanith::GFont2D
GFont2D(const GElement *Owner) | Amanith::GFont2D
HasKerningInfos() const | Amanith::GFont2D
Height() const | Amanith::GFont2D
IsBold() const | Amanith::GFont2D
IsItalic() const | Amanith::GFont2D
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
KerningByCharCode(const GUInt32 LeftGlyph, const GUInt32 RightIndex, const GUInt32 CharMapIndex) const | Amanith::GFont2D
KerningByIndex(const GUInt32 LeftIndex, const GUInt32 RightIndex) const | Amanith::GFont2D
Load(const GChar8 *FileName, const GChar8 *Options=NULL, const GChar8 *FormatName=NULL) | Amanith::GFont2D
MaxAdvanceHeight() const | Amanith::GFont2D
MaxAdvanceWidth() const | Amanith::GFont2D
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
RemoveChar(const GInt32 Index) | Amanith::GFont2D
RemoveCharMap(const GInt32 CharMapIndex) | Amanith::GFont2D
RemoveCharsMaps() Amanith::GFont2D
SetAscender(const GReal NewValue) | Amanith::GFont2D
SetBold(const GBool NewValue) | Amanith::GFont2D
SetDescender(const GReal NewValue) | Amanith::GFont2D
SetExternalLeading(const GReal NewValue) | Amanith::GFont2D
SetFamilyName(const GString &NewFamilyName) | Amanith::GFont2D
SetItalic(const GBool NewValue) | Amanith::GFont2D
SetKerning(const GDynArray< GKerningEntry > &NewKerningTable) | Amanith::GFont2D
SetMaxAdvanceHeight(const GReal NewValue) | Amanith::GFont2D
SetMaxAdvanceWidth(const GReal NewValue) | Amanith::GFont2D
SetStyleName(const GString &NewStyleName) | Amanith::GFont2D
SetUnderlinePosition(const GReal NewValue) | Amanith::GFont2D
SetUnderlineThickness(const GReal NewValue) | Amanith::GFont2D
SetUnitsPerEM(const GUInt32 NewValue) | Amanith::GFont2D
StyleName() const | Amanith::GFont2D
UnderlinePosition() const | Amanith::GFont2D
UnderlineThickness() const | Amanith::GFont2D
UnitsPerEM() const | Amanith::GFont2D
~GElement() | Amanith::GElement | [virtual]


Amanith::GFont2DProxy

Amanith::GFont2DProxy Class Reference

This class implements a GFont2DProxy proxy (provider). More...

Inheritance diagram for Amanith::GFont2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GFont2DProxy proxy (provider).

This proxy provides the creation of GFont2D class instances.

Member Function Documentation

const GClassID& Amanith::GFont2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GFont2DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GFont2D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GFont2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gfont2d.h


Amanith::GFont2DProxy Member List

This is the complete list of members for Amanith::GFont2DProxy, including all inherited members.

ClassID() const | Amanith::GFont2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GFont2DProxy | [virtual]
DerivedClassID() const | Amanith::GFont2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GFontChar2D

Amanith::GFontChar2D Class Reference

This class represent a 2D font character. More...

List of all members.

Public Member Functions

  • GUInt32 ContoursCount () const
  • const GFontCharContour2D * Contour (const GUInt32 Index) const
  • GUInt32 SubCharsCount () const
  • GError SubChar (const GUInt32 Index, GSubChar2D &SubCharInfo) const
  • GError ConvertToPaths (GDynArray< GPath2D * > &Paths) const
  • GReal LinearHoriAdvance () const
  • void SetLinearHoriAdvance (const GReal NewValue)
  • GReal LinearVertAdvance () const
  • void SetLinearVertAdvance (const GReal NewValue)
  • const GVect< GReal, 2 > & Advance () const
  • void SetAdvance (const GVect< GReal, 2 > &NewValue)
  • GReal LSBDelta () const
  • void SetLSBDelta (const GReal NewValue)
  • GReal RSBDelta () const
  • const GGlyphMetrics & GlyphMetrics () const
  • void SetMetrics (const GGlyphMetrics &NewMetrics)
  • GBool EvenOddFill () const
  • void SetEvenOddFill (const GBool NewValue)
  • GBool IsComposite () const

Protected Member Functions

  • void DeleteContours ()
  • void LabelContour (const GFontCharContour2D &Contour) const
  • void LabelHolesAndFilled () const
  • void SwapHolesAndFilledLabels (const GBool EvenOddFlag) const
  • void FixHolesAndFilledWiseOrder () const
  • GFontChar2D (const GFont2D *Owner, const GDynArray< GFontCharContour2D > &Contours)
  • GFontChar2D (const GFont2D *Owner, const GDynArray< GSubChar2D > &SubChars)
  • ~GFontChar2D ()

Detailed Description

This class represent a 2D font character.

Every char is described by glyph's metrics and its closed contours. A font char could be 'plain' or 'composite'. A 'plain' character is a character that owns its contours. A 'composite' character (also know a multi-glyph character) if just a simple collection (a container) of indexes, every index specify a reference to a 'plain' or 'composite' character (this lead to a tree system).

Constructor & Destructor Documentation

Amanith::GFontChar2D::GFontChar2D | ( | const GFont2D * | Owner,
 |  | const GDynArray< GFontCharContour2D > & | Contours
 | ) | [protected]

Set constructor, build a 'plain' character.

Parameters:
Owner | the font that has created this character.
Contours | the array of closed contours that will build the new plain character.

Amanith::GFontChar2D::GFontChar2D | ( | const GFont2D * | Owner,
 |  | const GDynArray< GSubChar2D > & | SubChars
 | ) | [protected]

Set constructor, build a 'composite' character.

Parameters:
Owner | the font that has created this character.
SubChars | the collection of sub-characters that will build the new composite character.

Amanith::GFontChar2D::~GFontChar2D ( ) [protected]

Destructor, free all contours and set null metrics.

Member Function Documentation

const GVect<GReal, 2>& Amanith::GFontChar2D::Advance ( ) const

Get the transformed advance width.

const GFontCharContour2D * Amanith::GFontChar2D::Contour ( const GUInt32 Index ) const

Get the Index-th contour owned by this character. If this char is composite, a NULL pointer will be returned.

GUInt32 Amanith::GFontChar2D::ContoursCount ( ) const

Get number of closed contours owned by this character. If this char is composite, 0 will be returned.

GError Amanith::GFontChar2D::ConvertToPaths ( GDynArray< GPath2D * > & Paths ) const

Convert each contour that builds the character, into a GPath2D representation.

This method "expand" all sub-characters's contours (for multi-glyph character).

Parameters:
Paths the output array where paths are appended.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
each path is created using gFont's kernel. Memory of created paths isn't freed when this character is delete, nor when gFont is deleted.

void Amanith::GFontChar2D::DeleteContours ( ) [protected]

Remove and free all contours.

GBool Amanith::GFontChar2D::EvenOddFill ( ) const

Get if the filling has to be done using an even-odd rule.

void Amanith::GFontChar2D::FixHolesAndFilledWiseOrder ( ) const [protected]

Reverse points order of each contour, according to its hole/solid flag and cw/ccw flag.

const GGlyphMetrics& Amanith::GFontChar2D::GlyphMetrics ( ) const

Get character metrics.

GBool Amanith::GFontChar2D::IsComposite ( ) const

Return G_TRUE if the char is composite, G_FALSE otherwise.

void Amanith::GFontChar2D::LabelContour ( const GFontCharContour2D & Contour ) const [protected]

Label a single contour as hole or solid (using the crossing line algorithm).

void Amanith::GFontChar2D::LabelHolesAndFilled ( ) const [protected]

Label every contours as hole or solid (using the crossing line algorithm).

GReal Amanith::GFontChar2D::LinearHoriAdvance ( ) const

Get the linearly scaled horizontal advance width.

GReal Amanith::GFontChar2D::LinearVertAdvance ( ) const

Get the linearly scaled vertical advance height.

GReal Amanith::GFontChar2D::LSBDelta ( ) const

Get the difference between hinted and unhinted left side bearing while autohinting is active, 0 otherwise.

GReal Amanith::GFontChar2D::RSBDelta ( ) const

Get the difference between hinted and unhinted right side bearing while autohinting is active, 0 otherwise.

void Amanith::GFontChar2D::SetAdvance ( const GVect< GReal, 2 > & NewValue )

Set the transformed advance width.

void Amanith::GFontChar2D::SetEvenOddFill ( const GBool NewValue )

Set even-odd fill flag.

void Amanith::GFontChar2D::SetLinearHoriAdvance ( const GReal NewValue )

Set the linearly scaled horizontal advance width.

void Amanith::GFontChar2D::SetLinearVertAdvance ( const GReal NewValue )

Set the linearly scaled vertical advance height.

void Amanith::GFontChar2D::SetLSBDelta ( const GReal NewValue )

Set the difference between hinted and unhinted left side bearing while autohinting is active, 0 otherwise.

void Amanith::GFontChar2D::SetMetrics ( const GGlyphMetrics & NewMetrics )

Set the metrics.

GError Amanith::GFontChar2D::SubChar | ( | const GUInt32 | Index,
 |  | GSubChar2D & | SubCharInfo
 | ) | const

In the case of composite char, get the Index-th subchar.

Parameters:
Index | the index of the subchar we're trying to get.
SubCharInfo | information about the Index-th subchar.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

GUInt32 Amanith::GFontChar2D::SubCharsCount ( ) const

In the case of composite char, return the number of subchars.

void Amanith::GFontChar2D::SwapHolesAndFilledLabels ( const GBool EvenOddFlag ) const [protected]

Swap (toggle) internal hole/solid flag (assigned by the LabelHolesAndFilled() function) according to passed flag.

The documentation for this class was generated from the following files:
  • gfont2d.h
  • gfont2d.cpp


Amanith::GFontChar2D Member List

This is the complete list of members for Amanith::GFontChar2D, including all inherited members.

Advance() const | Amanith::GFontChar2D |
Contour(const GUInt32 Index) const | Amanith::GFontChar2D |
ContoursCount() const | Amanith::GFontChar2D |
ConvertToPaths(GDynArray< GPath2D * > &Paths) const | Amanith::GFontChar2D |
DeleteContours() | Amanith::GFontChar2D | [protected]
EvenOddFill() const | Amanith::GFontChar2D |
FixHolesAndFilledWiseOrder() const | Amanith::GFontChar2D | [protected]
GFontChar2D(const GFont2D *Owner, const GDynArray< GFontCharContour2D > &Contours) | Amanith::GFontChar2D | [protected]
GFontChar2D(const GFont2D *Owner, const GDynArray< GSubChar2D > &SubChars) | Amanith::GFontChar2D | [protected]
GlyphMetrics() const | Amanith::GFontChar2D |
IsComposite() const | Amanith::GFontChar2D |
LabelContour(const GFontCharContour2D &Contour) const | Amanith::GFontChar2D | [protected]
LabelHolesAndFilled() const | Amanith::GFontChar2D | [protected]
LinearHoriAdvance() const | Amanith::GFontChar2D |
LinearVertAdvance() const | Amanith::GFontChar2D |
LSBDelta() const | Amanith::GFontChar2D |
RSBDelta() const | Amanith::GFontChar2D |
SetAdvance(const GVect< GReal, 2 > &NewValue) | Amanith::GFontChar2D |
SetEvenOddFill(const GBool NewValue) | Amanith::GFontChar2D |
SetLinearHoriAdvance(const GReal NewValue) | Amanith::GFontChar2D |
SetLinearVertAdvance(const GReal NewValue) | Amanith::GFontChar2D |
SetLSBDelta(const GReal NewValue) | Amanith::GFontChar2D |
SetMetrics(const GGlyphMetrics &NewMetrics) | Amanith::GFontChar2D |
SubChar(const GUInt32 Index, GSubChar2D &SubCharInfo) const | Amanith::GFontChar2D |
SubCharsCount() const | Amanith::GFontChar2D |
SwapHolesAndFilledLabels(const GBool EvenOddFlag) const | Amanith::GFontChar2D | [protected]
~GFontChar2D() | Amanith::GFontChar2D | [protected]


Amanith::GFontCharContour2D

Amanith::GFontCharContour2D Class Reference

This class represents a character closed contour. More...

List of all members.

Public Member Functions

  • GFontCharContour2D (const GDynArray< GPoint2 > &NewPoints, const GDynArray< GInt32 > &PointsFlags)
  • GFontCharContour2D (const GFontCharContour2D &Source)
  • ~GFontCharContour2D ()
  • GBool IsHole () const
  • const GAABox2 & BoundBox () const
  • const GDynArray< GPoint2 > & Points () const
  • const GDynArray< GInt32 > & PointsFlags () const
  • GInt32 PointsCount () const
  • void DrawContour (GDynArray< GPoint2 > &Points, const GReal Variation) const
  • void DrawContour (GDynArray< GPoint2 > &Points, const GReal Variation, const GMatrix33 &Transformation) const
  • void DecomposeBezier (GDynArray< GPoint2 > &Points, GDynArray< GInt32 > &Index) const
  • GError ConvertToPath (GPath2D &Path) const

Protected Member Functions

  • void BuildGoodContour (const GReal Precision, const GDynArray< GPoint2 > &NewPoints, const GDynArray< GInt32 > &PointsFlags)
  • void MirrorPoints () const

Static Protected Member Functions

  • static void DrawContour (const GDynArray< GPoint2 > &ContourPoints, const GDynArray< GInt32 > &ContourFlags, GDynArray< GPoint2 > &OutPoints, const GReal Variation)

Detailed Description

This class represents a character closed contour.

Internally a contour is compactly described by its "main" points and a sequence of flags, associated with main points, that clarify each point "degree". A such contour can be flattened using the well know maximum deviation schema.
. If one would pass to a classic piecewise Bezier form, just call DecomposeBezier() function. As said before, internal representation is more compact, and requires less memory. Each point flag has the following format (there's a 1-1 correspondence between points and flags):

  • if bit 0 is unset, the point is 'off' the curve, i.e. a Bezier control point, while it is 'on' when set.
  • bit 1 is meaningful for 'off' points only. If set, it indicates a third-order Bezier arc control point; and a second-order control point if unset.

Here's an ascii art taken from the official FreeType library:

Legend:  O on curve  + off curve
                                        +

                                     __---__
        O-__                      _--       -_
            --__                _-            -
                --__           O               \
                    --__                        O
                        -O
                                 Two `on' points
         Two `on' points       and one `off' point
                                  between them

                      +
        O            __      Two 'on' points with two 'off'
         \          -  -     points between them. The point
          \        /    \    marked '@' is the middle of the
           -      @      \   'off' points, and is a 'virtual
            -_  _-       O   on' point where the curve passes.
              --             It does not appear in the point
              +              list.

Constructor & Destructor Documentation

Amanith::GFontCharContour2D::GFontCharContour2D | ( | const GDynArray< GPoint2 > & | NewPoints,
 |  | const GDynArray< GInt32 > & | PointsFlags
 | ) |

Set constructor, build a new contour specifying main points and their associated flags.

Amanith::GFontCharContour2D::GFontCharContour2D ( const GFontCharContour2D & Source )

Copy constructor.

Amanith::GFontCharContour2D::~GFontCharContour2D ( )

Destructor.

Member Function Documentation

const GAABox2& Amanith::GFontCharContour2D::BoundBox ( ) const

Get an axes aligned bounding box for this contour.

void Amanith::GFontCharContour2D::BuildGoodContour | ( | const GReal | Precision,
 |  | const GDynArray< GPoint2 > & | NewPoints,
 |  | const GDynArray< GInt32 > & | PointsFlags
 | ) | [protected]

Clear the contour (remove degenerative segments, repeated points and so on).

GError Amanith::GFontCharContour2D::ConvertToPath ( GPath2D & Path ) const

Convert the contour into a GPath2D representation.

Parameters:
Path the output paths.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

void Amanith::GFontCharContour2D::DecomposeBezier | ( | GDynArray< GPoint2 > & | Points,
 |  | GDynArray< GInt32 > & | Index
 | ) | const

Convert the internal compact contour representation, into a piecewise Bezier form.

For example, if the contour is converted into 3 Bezier quadratics and a line, this method will append 11 points (3 for every quadratics and 2 for the line) to Points array, and it will append the values 3, 3, 3 and 2 to Index array.

Parameters:
Points | an output array, where control points will be added
Index | the output counters array.

void Amanith::GFontCharContour2D::DrawContour | ( | GDynArray< GPoint2 > & | Points,
 |  | const GReal | Variation,
 |  | const GMatrix33 & | Transformation
 | ) | const

Draw (flatten) the contour, specifying a maximum deviation (squared chordal distance) and an optional affine transformation /used for example by multi-glyph font characters).

Parameters:
Points | the output array, where generated points will be appended.
Variation | maximum variation permitted by this flattening operation.
Transformation | the affine transformation to apply to points.

void Amanith::GFontCharContour2D::DrawContour | ( | GDynArray< GPoint2 > & | Points,
 |  | const GReal | Variation
 | ) | const

Draw (flatten) the contour, specifying a maximum deviation (squared chordal distance)

Parameters:
Points | the output array, where generated points will be appended.
Variation | maximum variation permitted by this flattening operation.

void Amanith::GFontCharContour2D::DrawContour | ( | const GDynArray< GPoint2 > & | ContourPoints,
 |  | const GDynArray< GInt32 > & | ContourFlags,
 |  | GDynArray< GPoint2 > & | OutPoints,
 |  | const GReal | Variation
 | ) | [static, protected]

This static members is the one that does the effective tessellation (flattening).

GBool Amanith::GFontCharContour2D::IsHole ( ) const

Return G_TRUE if this contours is an hole, G_FALSE otherwise.

void Amanith::GFontCharContour2D::MirrorPoints ( ) const [protected]

Reverse internal points and flags array.

const GDynArray<GPoint2>& Amanith::GFontCharContour2D::Points ( ) const

Get the points list.

GInt32 Amanith::GFontCharContour2D::PointsCount ( ) const

Get number of points of this contour. This method is provided for convenience.

const GDynArray<GInt32>& Amanith::GFontCharContour2D::PointsFlags ( ) const

Get flags array associated to points. There's a 1-1 correspondence between points and flags.

The documentation for this class was generated from the following files:
  • gfont2d.h
  • gfont2d.cpp


Amanith::GFontCharContour2D Member List

This is the complete list of members for Amanith::GFontCharContour2D, including all inherited members.

BoundBox() const | Amanith::GFontCharContour2D
BuildGoodContour(const GReal Precision, const GDynArray< GPoint2 > &NewPoints, const GDynArray< GInt32 > &PointsFlags) | Amanith::GFontCharContour2D | [protected]
ConvertToPath(GPath2D &Path) const | Amanith::GFontCharContour2D
DecomposeBezier(GDynArray< GPoint2 > &Points, GDynArray< GInt32 > &Index) const | Amanith::GFontCharContour2D
DrawContour(const GDynArray< GPoint2 > &ContourPoints, const GDynArray< GInt32 > &ContourFlags, GDynArray< GPoint2 > &OutPoints, const GReal Variation) | Amanith::GFontCharContour2D | [protected, static]
DrawContour(GDynArray< GPoint2 > &Points, const GReal Variation) const | Amanith::GFontCharContour2D
DrawContour(GDynArray< GPoint2 > &Points, const GReal Variation, const GMatrix33 &Transformation) const | Amanith::GFontCharContour2D
GFontCharContour2D(const GDynArray< GPoint2 > &NewPoints, const GDynArray< GInt32 > &PointsFlags) | Amanith::GFontCharContour2D
GFontCharContour2D(const GFontCharContour2D &Source) | Amanith::GFontCharContour2D
IsHole() const | Amanith::GFontCharContour2D
MirrorPoints() const | Amanith::GFontCharContour2D | [protected]
Points() const | Amanith::GFontCharContour2D
PointsCount() const | Amanith::GFontCharContour2D
PointsFlags() const | Amanith::GFontCharContour2D


Amanith::GFourConstantProperty1D

Amanith::GFourConstantProperty1D Class Reference

This class represent a 4-dimensional constant multi-property, a container of four GConstantProperty1D properties. They are accessible with the default names "x", "y", "z" and "w". More...

Inheritance diagram for Amanith::GFourConstantProperty1D:

Amanith::GMultiProperty1D Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GFourConstantProperty1D ()
  • GFourConstantProperty1D (const GElement *Owner)
  • ~GFourConstantProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class represent a 4-dimensional constant multi-property, a container of four GConstantProperty1D properties. They are accessible with the default names "x", "y", "z" and "w".

Constructor & Destructor Documentation

Amanith::GFourConstantProperty1D::GFourConstantProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GFourConstantProperty1D::GFourConstantProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GFourConstantProperty1D::~GFourConstantProperty1D ( )

Destructor.

Member Function Documentation

const GClassID& Amanith::GFourConstantProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiProperty1D.

const GClassID& Amanith::GFourConstantProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiProperty1D.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GFourConstantProperty1D Member List

This is the complete list of members for Amanith::GFourConstantProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GFourConstantProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GFourConstantProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GFourConstantProperty1D() Amanith::GFourConstantProperty1D
GFourConstantProperty1D(const GElement *Owner) | Amanith::GFourConstantProperty1D
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GFourConstantProperty1DProxy

Amanith::GFourConstantProperty1DProxy Class Reference

This class implements a GFourConstantProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GFourConstantProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GFourConstantProperty1D proxy (provider).

This proxy provides the creation of GFourConstantProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GFourConstantProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GFourConstantProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GFourConstantProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GFourConstantProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GFourConstantProperty1DProxy Member List

This is the complete list of members for Amanith::GFourConstantProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GFourConstantProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GFourConstantProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GFourConstantProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GFourHermiteProperty1D

Amanith::GFourHermiteProperty1D Class Reference

This class represent a 4-dimensional Hermite multi-property, a container of four GHermiteProperty1D properties. They are accessible with the default names "x", "y", "z" and "w". More...

Inheritance diagram for Amanith::GFourHermiteProperty1D:

Amanith::GMultiProperty1D Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GFourHermiteProperty1D ()
  • GFourHermiteProperty1D (const GElement *Owner)
  • ~GFourHermiteProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class represent a 4-dimensional Hermite multi-property, a container of four GHermiteProperty1D properties. They are accessible with the default names "x", "y", "z" and "w".

Constructor & Destructor Documentation

Amanith::GFourHermiteProperty1D::GFourHermiteProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GFourHermiteProperty1D::GFourHermiteProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GFourHermiteProperty1D::~GFourHermiteProperty1D ( )

Destructor.

Member Function Documentation

const GClassID& Amanith::GFourHermiteProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiProperty1D.

const GClassID& Amanith::GFourHermiteProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiProperty1D.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GFourHermiteProperty1D Member List

This is the complete list of members for Amanith::GFourHermiteProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GFourHermiteProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GFourHermiteProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GFourHermiteProperty1D() Amanith::GFourHermiteProperty1D
GFourHermiteProperty1D(const GElement *Owner) | Amanith::GFourHermiteProperty1D
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GFourHermiteProperty1DProxy

Amanith::GFourHermiteProperty1DProxy Class Reference

This class implements a GFourHermiteProperty proxy (provider). More...

Inheritance diagram for Amanith::GFourHermiteProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GFourHermiteProperty proxy (provider).

This proxy provides the creation of GFourHermiteProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GFourHermiteProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GFourHermiteProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GFourHermiteProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GFourHermiteProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GFourHermiteProperty1DProxy Member List

This is the complete list of members for Amanith::GFourHermiteProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GFourHermiteProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GFourHermiteProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GFourHermiteProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GFourLinearProperty1D

Amanith::GFourLinearProperty1D Class Reference

This class represent a 4-dimensional linear multi-property, a container of four GLinearProperty1D properties. They are accessible with the default names "x", "y", "z" and "w". More...

Inheritance diagram for Amanith::GFourLinearProperty1D:

Amanith::GMultiProperty1D Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GFourLinearProperty1D ()
  • GFourLinearProperty1D (const GElement *Owner)
  • ~GFourLinearProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class represent a 4-dimensional linear multi-property, a container of four GLinearProperty1D properties. They are accessible with the default names "x", "y", "z" and "w".

Constructor & Destructor Documentation

Amanith::GFourLinearProperty1D::GFourLinearProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GFourLinearProperty1D::GFourLinearProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GFourLinearProperty1D::~GFourLinearProperty1D ( )

Destructor.

Member Function Documentation

const GClassID& Amanith::GFourLinearProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiProperty1D.

const GClassID& Amanith::GFourLinearProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiProperty1D.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GFourLinearProperty1D Member List

This is the complete list of members for Amanith::GFourLinearProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GFourLinearProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GFourLinearProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GFourLinearProperty1D() Amanith::GFourLinearProperty1D
GFourLinearProperty1D(const GElement *Owner) | Amanith::GFourLinearProperty1D
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GFourLinearProperty1DProxy

Amanith::GFourLinearProperty1DProxy Class Reference

This class implements a GFourLinearProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GFourLinearProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GFourLinearProperty1D proxy (provider).

This proxy provides the creation of GFourLinearProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GFourLinearProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GFourLinearProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GFourLinearProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GFourLinearProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GFourLinearProperty1DProxy Member List

This is the complete list of members for Amanith::GFourLinearProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GFourLinearProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GFourLinearProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GFourLinearProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GGenericAABox

Amanith::GGenericAABox< DATA_TYPE, SIZE > Class Template Reference

An axially aligned box in N-dimensional space. More...

List of all members.

Public Member Functions

  • GGenericAABox ()
  • GGenericAABox (const GPoint< DATA_TYPE, SIZE > &MinPoint, const GPoint< DATA_TYPE, SIZE > &MaxPoint)
  • GGenericAABox (const GGenericAABox< DATA_TYPE, SIZE > &SourceBox)
  • GGenericAABox (const GDynArray< GPoint< DATA_TYPE, SIZE > > &Points)
  • const GVectBase< DATA_TYPE,
    SIZE > & Min () const
  • const GVectBase< DATA_TYPE,
    SIZE > & Max () const
  • const GPoint< DATA_TYPE, SIZE > Center () const
  • DATA_TYPE Volume () const
  • const DATA_TYPE Dimension (const GUInt32 Index) const
  • const DATA_TYPE HalfDimension (const GUInt32 Index) const
  • GSurfaceSide PointSign (const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0) const
  • GBool IsPointInside (const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0) const
  • GBool IsPointOutside (const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0) const
  • GBool IsPointOnSurface (const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0) const
  • void SetMin (const GPoint< DATA_TYPE, SIZE > &NewMin)
  • void SetMax (const GPoint< DATA_TYPE, SIZE > &NewMax)
  • void SetMinMax (const GPoint< DATA_TYPE, SIZE > &NewMin, const GPoint< DATA_TYPE, SIZE > &NewMax)
  • void SetMinMax (const GDynArray< GPoint< DATA_TYPE, SIZE > > &Points)
  • void ExtendToInclude (const GPoint< DATA_TYPE, SIZE > &NewPoint)
  • GBool operator== (const GGenericAABox< DATA_TYPE, SIZE > &Box) const
  • GBool operator!= (const GGenericAABox< DATA_TYPE, SIZE > &Box) const

Detailed Description

template<typename DATA_TYPE, GUInt32 SIZE>
class Amanith::GGenericAABox< DATA_TYPE, SIZE >

An axially aligned box in N-dimensional space.

This is usually used for graphics applications. This type of box is defined by its minimum and maximum points.

Parameters:
DATA_TYPE | the internal type used for the points
SIZE | dimension of points (ex: 2 for a 2D box, 3 for a 3D box). It must be a positive number.

Constructor & Destructor Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericAABox< DATA_TYPE, SIZE >::GGenericAABox ( )

Constructor, creates a new empty box. Min and Max points are set to zero.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericAABox< DATA_TYPE, SIZE >::GGenericAABox | ( | const GPoint< DATA_TYPE, SIZE > & | MinPoint,
 |  | const GPoint< DATA_TYPE, SIZE > & | MaxPoint
 | ) |

Creates a new box with the given min and max points.

Parameters:
MinPoint | the minimum point on the box
MaxPoint | the maximum point on the box
Note:
For every elements of MinPoint that is not less than the MaxPoint's respective, a swap is done. Example:
    GGenericAABox<GReal, 2> box(GPoint2(0, 0), GPoint2(3, -1));
    // not box has a minimum point of coordinates (0, -1) and a maximum point of coordinates (3, 0)

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericAABox< DATA_TYPE, SIZE >::GGenericAABox ( const GGenericAABox< DATA_TYPE, SIZE > & SourceBox )

Copy constructor, constructs a duplicate of the given box.

Parameters:
SourceBox the box the make a copy of

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericAABox< DATA_TYPE, SIZE >::GGenericAABox ( const GDynArray< GPoint< DATA_TYPE, SIZE > > & Points )

Constructs a new box from an array of points. Min and Max points are set according to the minimum and maximum points found into specified points array.

Parameters:
Points the array of points

Member Function Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
const GPoint<DATA_TYPE, SIZE> Amanith::GGenericAABox< DATA_TYPE, SIZE >::Center ( ) const

Get the center of the box. It's calculated as (Min + Max) / 2.

template<typename DATA_TYPE, GUInt32 SIZE>
const DATA_TYPE Amanith::GGenericAABox< DATA_TYPE, SIZE >::Dimension ( const GUInt32 Index ) const

Gets the Index-th dimension length.

Parameters:
Index the index of dimension we wanna get

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericAABox< DATA_TYPE, SIZE >::ExtendToInclude ( const GPoint< DATA_TYPE, SIZE > & NewPoint )

Update minimum and maximum points, so that specified NewPoint will reside on the updated box.

template<typename DATA_TYPE, GUInt32 SIZE>
const DATA_TYPE Amanith::GGenericAABox< DATA_TYPE, SIZE >::HalfDimension ( const GUInt32 Index ) const

Gets the Index-th half-dimension length.

Parameters:
Index the index of half-dimension we wanna get

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericAABox< DATA_TYPE, SIZE >::IsPointInside | ( | const GPoint< DATA_TYPE, SIZE > & | TestPoint,
 |  | const DATA_TYPE | Epsilon = 0
 | ) | const

Check if a point is inside the box. It uses PointSign() function.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericAABox< DATA_TYPE, SIZE >::IsPointOnSurface | ( | const GPoint< DATA_TYPE, SIZE > & | TestPoint,
 |  | const DATA_TYPE | Epsilon = 0
 | ) | const

Check if a point is touching the box (it's on its surface). It uses PointSign() function.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericAABox< DATA_TYPE, SIZE >::IsPointOutside | ( | const GPoint< DATA_TYPE, SIZE > & | TestPoint,
 |  | const DATA_TYPE | Epsilon = 0
 | ) | const

Check if a point is outside the box. It uses PointSign() function.

template<typename DATA_TYPE, GUInt32 SIZE>
const GVectBase<DATA_TYPE, SIZE>& Amanith::GGenericAABox< DATA_TYPE, SIZE >::Max ( ) const

Gets the maximum point of the box.

template<typename DATA_TYPE, GUInt32 SIZE>
const GVectBase<DATA_TYPE, SIZE>& Amanith::GGenericAABox< DATA_TYPE, SIZE >::Min ( ) const

Gets the minimum point of the box.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericAABox< DATA_TYPE, SIZE >::operator!= ( const GGenericAABox< DATA_TYPE, SIZE > & Box ) const

Compare two boxes to see if they are not EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Box the to compare to.
Returns:
G_TRUE if they are not equal, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericAABox< DATA_TYPE, SIZE >::operator== ( const GGenericAABox< DATA_TYPE, SIZE > & Box ) const

Compare two boxes to see if they are EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Box the box to compare to
Returns:
G_TRUE if they are equal, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GSurfaceSide Amanith::GGenericAABox< DATA_TYPE, SIZE >::PointSign | ( | const GPoint< DATA_TYPE, SIZE > & | TestPoint,
 |  | const DATA_TYPE | Epsilon = 0
 | ) | const

Tests a point against box, using an epsilon tolerance. This test returns:

  • G_INSIDE if all TestPoint components are inside the box
  • G_OUTSIDE if all TestPoint components are outside the box
  • G_ONSURFACE if all TestPoint components are on box surface

A single component (say its index is k) is inside surface if TestPoint[k] >= Min[k] - Epsilon and TestPoint[k] <= Max[k] + Epsilon.

Parameters:
TestPoint | the point to test
Epsilon | the tolerance used during comparisons

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericAABox< DATA_TYPE, SIZE >::SetMax ( const GPoint< DATA_TYPE, SIZE > & NewMax )

Sets the maximum point of the box.

Parameters:
NewMax the new maximum point.
Note:
For every elements of NewMax that is not greater than the Min's respective, a swap is done.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericAABox< DATA_TYPE, SIZE >::SetMin ( const GPoint< DATA_TYPE, SIZE > & NewMin )

Sets the minimum point of the box.

Parameters:
NewMin the new minimum point.
Note:
For every elements of NewMin that is not less than the Max's respective, a swap is done.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericAABox< DATA_TYPE, SIZE >::SetMinMax ( const GDynArray< GPoint< DATA_TYPE, SIZE > > & Points )

Sets the minimum and the maximum points of the box from an array of points. Min and Max points are set according to the minimum and maximum points found into specified points array.

Parameters:
Points the array of points

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericAABox< DATA_TYPE, SIZE >::SetMinMax | ( | const GPoint< DATA_TYPE, SIZE > & | NewMin,
 |  | const GPoint< DATA_TYPE, SIZE > & | NewMax
 | ) |

Sets a new minimum and maximum points.

Parameters:
NewMin | the new minimum point
NewMax | the new maximum point
Note:
For every elements of NewMax that is not greater than the NewMin's respective, a swap is done.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::GGenericAABox< DATA_TYPE, SIZE >::Volume ( ) const

Gets the volume of the box. It's calculated as the product of every dimension edge length.

Note:
For a 2D box, this value is equal to the area.
The documentation for this class was generated from the following file:
  • gaabox.h


Amanith::GGenericAABox< DATA_TYPE, SIZE > Member List

This is the complete list of members for Amanith::GGenericAABox< DATA_TYPE, SIZE >, including all inherited members.

Center() const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
Dimension(const GUInt32 Index) const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
ExtendToInclude(const GPoint< DATA_TYPE, SIZE > &NewPoint) | Amanith::GGenericAABox< DATA_TYPE, SIZE >
GGenericAABox() | Amanith::GGenericAABox< DATA_TYPE, SIZE >
GGenericAABox(const GPoint< DATA_TYPE, SIZE > &MinPoint, const GPoint< DATA_TYPE, SIZE > &MaxPoint) | Amanith::GGenericAABox< DATA_TYPE, SIZE >
GGenericAABox(const GGenericAABox< DATA_TYPE, SIZE > &SourceBox) | Amanith::GGenericAABox< DATA_TYPE, SIZE >
GGenericAABox(const GDynArray< GPoint< DATA_TYPE, SIZE > > &Points) | Amanith::GGenericAABox< DATA_TYPE, SIZE >
HalfDimension(const GUInt32 Index) const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
IsPointInside(const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0) const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
IsPointOnSurface(const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0) const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
IsPointOutside(const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0) const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
Max() const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
Min() const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
operator!=(const GGenericAABox< DATA_TYPE, SIZE > &Box) const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
operator==(const GGenericAABox< DATA_TYPE, SIZE > &Box) const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
PointSign(const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0) const | Amanith::GGenericAABox< DATA_TYPE, SIZE >
SetMax(const GPoint< DATA_TYPE, SIZE > &NewMax) | Amanith::GGenericAABox< DATA_TYPE, SIZE >
SetMin(const GPoint< DATA_TYPE, SIZE > &NewMin) | Amanith::GGenericAABox< DATA_TYPE, SIZE >
SetMinMax(const GPoint< DATA_TYPE, SIZE > &NewMin, const GPoint< DATA_TYPE, SIZE > &NewMax) | Amanith::GGenericAABox< DATA_TYPE, SIZE >
SetMinMax(const GDynArray< GPoint< DATA_TYPE, SIZE > > &Points) | Amanith::GGenericAABox< DATA_TYPE, SIZE >
Volume() const | Amanith::GGenericAABox< DATA_TYPE, SIZE >


Amanith::GGenericOOBox

Amanith::GGenericOOBox< DATA_TYPE, SIZE > Class Template Reference

Object oriented box, in N-dimensional space. More...

List of all members.

Public Member Functions

  • GGenericOOBox ()
  • GGenericOOBox (GGenericOOBox< DATA_TYPE, SIZE > &SourceBox)
  • const GPoint< DATA_TYPE, SIZE > & Center () const
  • void SetCenter (const GPoint< DATA_TYPE, SIZE > &NewCenter)
  • const GVect< DATA_TYPE, SIZE > & Axis (const GUInt32 Index) const
  • void SetAxis (const GUInt32 Index, const GVect< DATA_TYPE, SIZE > &NewAxis)
  • const GVect< DATA_TYPE, SIZE > * Axes () const
  • void SetHalfDimension (const GUInt32 Index, const DATA_TYPE NewValue)
  • const DATA_TYPE & HalfDimension (const GUInt32 Index) const
  • void SetDimension (const GUInt32 Index, const DATA_TYPE NewValue)
  • const DATA_TYPE Dimension (const GUInt32 Index) const
  • const GVect< DATA_TYPE, SIZE > & HalfDimensions () const
  • DATA_TYPE Volume () const
  • GSurfaceSide PointSign (const GPoint< DATA_TYPE, SIZE > &TestPoint, DATA_TYPE Epsilon=0) const
  • GBool IsPointInside (const GPoint< DATA_TYPE, 3 > &TestPoint, DATA_TYPE Epsilon=0) const
  • GBool IsPointOutside (const GPoint< DATA_TYPE, 3 > &TestPoint, DATA_TYPE Epsilon=0) const
  • GBool IsPointOnSurface (const GPoint< DATA_TYPE, 3 > &TestPoint, DATA_TYPE Epsilon=0) const
  • GBool operator== (const GGenericOOBox< DATA_TYPE, SIZE > &Box) const
  • GBool operator!= (const GGenericOOBox< DATA_TYPE, SIZE > &Box) const

Detailed Description

template<typename DATA_TYPE, GUInt32 SIZE>
class Amanith::GGenericOOBox< DATA_TYPE, SIZE >

Object oriented box, in N-dimensional space.

This class implements an arbitrarily oriented rectanguloid.
Description is maintained by axes and half-dimensions along each axis.

Parameters:
DATA_TYPE | the internal type used for the axes and half-lengths
SIZE | dimension space (ex: 2 for a 2D box, 3 for a 3D box). It must be a positive number.

Constructor & Destructor Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericOOBox< DATA_TYPE, SIZE >::GGenericOOBox ( )

Default constructor, set center at the origin and each axis to a null vector (all 0 components).

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericOOBox< DATA_TYPE, SIZE >::GGenericOOBox ( GGenericOOBox< DATA_TYPE, SIZE > & SourceBox )

Copy constructor.

Member Function Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
const GVect<DATA_TYPE, SIZE>* Amanith::GGenericOOBox< DATA_TYPE, SIZE >::Axes ( ) const

Get box axes.

template<typename DATA_TYPE, GUInt32 SIZE>
const GVect<DATA_TYPE, SIZE>& Amanith::GGenericOOBox< DATA_TYPE, SIZE >::Axis ( const GUInt32 Index ) const

Get the Index-th axis.

template<typename DATA_TYPE, GUInt32 SIZE>
const GPoint<DATA_TYPE, SIZE>& Amanith::GGenericOOBox< DATA_TYPE, SIZE >::Center ( ) const

Get the box center.

template<typename DATA_TYPE, GUInt32 SIZE>
const DATA_TYPE Amanith::GGenericOOBox< DATA_TYPE, SIZE >::Dimension ( const GUInt32 Index ) const

Get Index-th length.

template<typename DATA_TYPE, GUInt32 SIZE>
const DATA_TYPE& Amanith::GGenericOOBox< DATA_TYPE, SIZE >::HalfDimension ( const GUInt32 Index ) const

Get Index-th half-length.

template<typename DATA_TYPE, GUInt32 SIZE>
const GVect<DATA_TYPE, SIZE>& Amanith::GGenericOOBox< DATA_TYPE, SIZE >::HalfDimensions ( ) const

Get all half-lengths.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericOOBox< DATA_TYPE, SIZE >::IsPointInside | ( | const GPoint< DATA_TYPE, 3 > & | TestPoint,
 |  | DATA_TYPE | Epsilon = 0
 | ) | const

Check if a point is inside the box. It uses PointSign() function.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericOOBox< DATA_TYPE, SIZE >::IsPointOnSurface | ( | const GPoint< DATA_TYPE, 3 > & | TestPoint,
 |  | DATA_TYPE | Epsilon = 0
 | ) | const

Check if a point is touching the box (it's on its surface). It uses PointSign() function.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericOOBox< DATA_TYPE, SIZE >::IsPointOutside | ( | const GPoint< DATA_TYPE, 3 > & | TestPoint,
 |  | DATA_TYPE | Epsilon = 0
 | ) | const

Check if a point is outside the box. It uses PointSign() function.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericOOBox< DATA_TYPE, SIZE >::operator!= ( const GGenericOOBox< DATA_TYPE, SIZE > & Box ) const

Compare two boxes to see if they are not EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Box the to compare to.
Returns:
G_TRUE if they are not equal, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericOOBox< DATA_TYPE, SIZE >::operator== ( const GGenericOOBox< DATA_TYPE, SIZE > & Box ) const

Compare two boxes to see if they are EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Box the box to compare to
Returns:
G_TRUE if they are equal, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GSurfaceSide Amanith::GGenericOOBox< DATA_TYPE, SIZE >::PointSign | ( | const GPoint< DATA_TYPE, SIZE > & | TestPoint,
 |  | DATA_TYPE | Epsilon = 0
 | ) | const

Tests a point against box, using an epsilon tolerance. This test returns:

  • G_INSIDE if all TestPoint components are inside the box
  • G_OUTSIDE if all TestPoint components are outside the box
  • G_ONSURFACE if all TestPoint components are on box surface

Parameters:
TestPoint | the point to test
Epsilon | the tolerance used during comparisons

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericOOBox< DATA_TYPE, SIZE >::SetAxis | ( | const GUInt32 | Index,
 |  | const GVect< DATA_TYPE, SIZE > & | NewAxis
 | ) |

Set a new value for the Index-th axis.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericOOBox< DATA_TYPE, SIZE >::SetCenter ( const GPoint< DATA_TYPE, SIZE > & NewCenter )

Set a new center.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericOOBox< DATA_TYPE, SIZE >::SetDimension | ( | const GUInt32 | Index,
 |  | const DATA_TYPE | NewValue
 | ) |

Set Index-th length to a new value.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericOOBox< DATA_TYPE, SIZE >::SetHalfDimension | ( | const GUInt32 | Index,
 |  | const DATA_TYPE | NewValue
 | ) |

Set Index-th half-length to a new value.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::GGenericOOBox< DATA_TYPE, SIZE >::Volume ( ) const

Gets the volume of the box. It's calculated as the product of lengths.

Note:
For a 2D box, this value is equal to the area.
The documentation for this class was generated from the following file:
  • goobox.h


Amanith::GGenericOOBox< DATA_TYPE, SIZE > Member List

This is the complete list of members for Amanith::GGenericOOBox< DATA_TYPE, SIZE >, including all inherited members.

Axes() const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
Axis(const GUInt32 Index) const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
Center() const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
Dimension(const GUInt32 Index) const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
GGenericOOBox() | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
GGenericOOBox(GGenericOOBox< DATA_TYPE, SIZE > &SourceBox) | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
HalfDimension(const GUInt32 Index) const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
HalfDimensions() const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
IsPointInside(const GPoint< DATA_TYPE, 3 > &TestPoint, DATA_TYPE Epsilon=0) const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
IsPointOnSurface(const GPoint< DATA_TYPE, 3 > &TestPoint, DATA_TYPE Epsilon=0) const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
IsPointOutside(const GPoint< DATA_TYPE, 3 > &TestPoint, DATA_TYPE Epsilon=0) const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
operator!=(const GGenericOOBox< DATA_TYPE, SIZE > &Box) const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
operator==(const GGenericOOBox< DATA_TYPE, SIZE > &Box) const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
PointSign(const GPoint< DATA_TYPE, SIZE > &TestPoint, DATA_TYPE Epsilon=0) const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
SetAxis(const GUInt32 Index, const GVect< DATA_TYPE, SIZE > &NewAxis) | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
SetCenter(const GPoint< DATA_TYPE, SIZE > &NewCenter) | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
SetDimension(const GUInt32 Index, const DATA_TYPE NewValue) | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
SetHalfDimension(const GUInt32 Index, const DATA_TYPE NewValue) | Amanith::GGenericOOBox< DATA_TYPE, SIZE >
Volume() const | Amanith::GGenericOOBox< DATA_TYPE, SIZE >


Amanith::GGenericPlane

Amanith::GGenericPlane< DATA_TYPE > Class Template Reference

Defines a 3D geometrical plane. More...

List of all members.

Public Member Functions

  • GGenericPlane ()
  • GGenericPlane (const GPoint< DATA_TYPE, 3 > &Point1, const GPoint< DATA_TYPE, 3 > &Point2, const GPoint< DATA_TYPE, 3 > &Point3)
  • GGenericPlane (const GVect< DATA_TYPE, 3 > &Normal, const GPoint< DATA_TYPE, 3 > &Point)
  • GGenericPlane (const GVect< DATA_TYPE, 3 > &Normal, const DATA_TYPE &Offset)
  • GGenericPlane (const GGenericPlane< DATA_TYPE > &SourcePlane)
  • const GVect< DATA_TYPE, 3 > & Normal () const
  • void SetNormal (const GVect< DATA_TYPE, 3 > &NewNormal)
  • const DATA_TYPE & Offset () const
  • void SetOffset (const DATA_TYPE &NewOffset)
  • GBool operator== (const GGenericPlane< DATA_TYPE > &Plane) const
  • GBool operator!= (const GGenericPlane< DATA_TYPE > &Plane) const
  • GSurfaceSide WhichSide (const GPoint< DATA_TYPE, 3 > &TestPoint, const DATA_TYPE Epsilon=0)
  • GPoint< DATA_TYPE, 3 > Reflect (const GPoint< DATA_TYPE, 3 > &TestPoint)

Detailed Description

template<typename DATA_TYPE>
class Amanith::GGenericPlane< DATA_TYPE >

Defines a 3D geometrical plane.

All points on the plane satisfy the equation Dot(Point, Plane.Normal) = Plane.Offset
Normal is assumed to be normalized.

Parameters:
DATA_TYPE the internal type used for the normal and offset.
Note:
some plane implementation store D instead of offset. Thus those implementation have opposite sign from what we have (pg. 309 Computer Graphics 2nd Edition Hearn Baker)
N dot P = -D
  |
  |-Ofs-|
__|_____|-->Normal
  |     |

Constructor & Destructor Documentation

template<typename DATA_TYPE>
Amanith::GGenericPlane< DATA_TYPE >::GGenericPlane ( )

Default constructor.

Creates an uninitialized plane. In other words, the normal is (0, 0, 0) and the offset is 0.

template<typename DATA_TYPE>
Amanith::GGenericPlane< DATA_TYPE >::GGenericPlane | ( | const GPoint< DATA_TYPE, 3 > & | Point1,
 |  | const GPoint< DATA_TYPE, 3 > & | Point2,
 |  | const GPoint< DATA_TYPE, 3 > & | Point3
 | ) |

Set constructor.

Creates a plane that the given points lie on.

Parameters:
Point1 | a point on the plane
Point2 | a point on the plane
Point3 | a point on the plane

template<typename DATA_TYPE>
Amanith::GGenericPlane< DATA_TYPE >::GGenericPlane | ( | const GVect< DATA_TYPE, 3 > & | Normal,
 |  | const GPoint< DATA_TYPE, 3 > & | Point
 | ) |

Set constructor.

Creates a plane with the given Normal on which Point resides.

Parameters:
Normal | the normal of the plane, it can be non-normalized also.
Point | a point that lies on the plane.
Note:
set normal will be normalized.

template<typename DATA_TYPE>
Amanith::GGenericPlane< DATA_TYPE >::GGenericPlane | ( | const GVect< DATA_TYPE, 3 > & | Normal,
 |  | const DATA_TYPE & | Offset
 | ) |

Set constructor.

Creates a plane with the given normal and offset.

Parameters:
Normal | the normal of the plane, it can be non-normalized also.
Offset | the plane offset constant

template<typename DATA_TYPE>
Amanith::GGenericPlane< DATA_TYPE >::GGenericPlane ( const GGenericPlane< DATA_TYPE > & SourcePlane )

Copy constructor.

Member Function Documentation

template<typename DATA_TYPE>
const GVect<DATA_TYPE, 3>& Amanith::GGenericPlane< DATA_TYPE >::Normal ( ) const

Gets plane normal. It's a unit vector.

template<typename DATA_TYPE>
const DATA_TYPE& Amanith::GGenericPlane< DATA_TYPE >::Offset ( ) const

Gets the offset of this plane from the origin such that the offset is the negative distance from the origin.

template<typename DATA_TYPE>
GBool Amanith::GGenericPlane< DATA_TYPE >::operator!= ( const GGenericPlane< DATA_TYPE > & Plane ) const

Compare two planes to see if they are not EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Plane the plane to compare to
Returns:
G_TRUE if they are not equal, G_FALSE otherwise.

template<typename DATA_TYPE>
GBool Amanith::GGenericPlane< DATA_TYPE >::operator== ( const GGenericPlane< DATA_TYPE > & Plane ) const

Compare two planes to see if they are EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Plane the plane to compare to
Returns:
G_TRUE if they are equal, G_FALSE otherwise.

template<typename DATA_TYPE>
GPoint<DATA_TYPE, 3> Amanith::GGenericPlane< DATA_TYPE >::Reflect ( const GPoint< DATA_TYPE, 3 > & TestPoint )

Mirror the point by the plane.

template<typename DATA_TYPE>
void Amanith::GGenericPlane< DATA_TYPE >::SetNormal ( const GVect< DATA_TYPE, 3 > & NewNormal )

Sets the normal for this plane to the given vector.

Parameters:
NewNormal the new plane normal, it can be non-normalized also.

template<typename DATA_TYPE>
void Amanith::GGenericPlane< DATA_TYPE >::SetOffset ( const DATA_TYPE & NewOffset )

Sets the offset of this plane from the origin.

template<typename DATA_TYPE>
GSurfaceSide Amanith::GGenericPlane< DATA_TYPE >::WhichSide | ( | const GPoint< DATA_TYPE, 3 > & | TestPoint,
 |  | const DATA_TYPE | Epsilon = 0
 | ) |

Determines which side of the plane the given point lies with the given epsilon tolerance.

Parameters:
TestPoint | the point to test.
Epsilon | the epsilon tolerance to use while testing
Returns:
the GSurfaceSide enum describing on which side of the plane the point lies.
The documentation for this class was generated from the following file:
  • gplane.h


Amanith::GGenericPlane< DATA_TYPE > Member List

This is the complete list of members for Amanith::GGenericPlane< DATA_TYPE >, including all inherited members.

GGenericPlane() | Amanith::GGenericPlane< DATA_TYPE >
GGenericPlane(const GPoint< DATA_TYPE, 3 > &Point1, const GPoint< DATA_TYPE, 3 > &Point2, const GPoint< DATA_TYPE, 3 > &Point3) | Amanith::GGenericPlane< DATA_TYPE >
GGenericPlane(const GVect< DATA_TYPE, 3 > &Normal, const GPoint< DATA_TYPE, 3 > &Point) | Amanith::GGenericPlane< DATA_TYPE >
GGenericPlane(const GVect< DATA_TYPE, 3 > &Normal, const DATA_TYPE &Offset) | Amanith::GGenericPlane< DATA_TYPE >
GGenericPlane(const GGenericPlane< DATA_TYPE > &SourcePlane) | Amanith::GGenericPlane< DATA_TYPE >
Normal() const | Amanith::GGenericPlane< DATA_TYPE >
Offset() const | Amanith::GGenericPlane< DATA_TYPE >
operator!=(const GGenericPlane< DATA_TYPE > &Plane) const | Amanith::GGenericPlane< DATA_TYPE >
operator==(const GGenericPlane< DATA_TYPE > &Plane) const | Amanith::GGenericPlane< DATA_TYPE >
Reflect(const GPoint< DATA_TYPE, 3 > &TestPoint) | Amanith::GGenericPlane< DATA_TYPE >
SetNormal(const GVect< DATA_TYPE, 3 > &NewNormal) | Amanith::GGenericPlane< DATA_TYPE >
SetOffset(const DATA_TYPE &NewOffset) | Amanith::GGenericPlane< DATA_TYPE >
WhichSide(const GPoint< DATA_TYPE, 3 > &TestPoint, const DATA_TYPE Epsilon=0) | Amanith::GGenericPlane< DATA_TYPE >


Amanith::GGenericRay

Amanith::GGenericRay< DATA_TYPE, SIZE > Class Template Reference

GGenericRay class describes an N-dimensional ray. More...

Inheritance diagram for Amanith::GGenericRay< DATA_TYPE, SIZE >:

Amanith::GLineSeg< DATA_TYPE, SIZE > List of all members.

Public Member Functions

  • GGenericRay ()
  • GGenericRay (const GPoint< DATA_TYPE, SIZE > &Origin, const GVect< DATA_TYPE, SIZE > &Direction)
  • GGenericRay (const GGenericRay &SourceRay)
  • const GPoint< DATA_TYPE, SIZE > & Origin () const
  • void SetOrigin (const GPoint< DATA_TYPE, SIZE > &NewOrigin)
  • const GVect< DATA_TYPE, SIZE > & Direction () const
  • void SetDirection (const GVect< DATA_TYPE, SIZE > &NewDirection)
  • DATA_TYPE Normalize ()
  • GBool IsNormalized () const
  • GBool operator== (const GGenericRay< DATA_TYPE, SIZE > &Ray) const
  • GBool operator!= (const GGenericRay< DATA_TYPE, SIZE > &Ray) const

Protected Attributes

  • GPoint< DATA_TYPE, SIZE > gOrigin
  • GVect< DATA_TYPE, SIZE > gDirection

Detailed Description

template<typename DATA_TYPE, GUInt32 SIZE>
class Amanith::GGenericRay< DATA_TYPE, SIZE >

GGenericRay class describes an N-dimensional ray.

This is represented by a point origin O and a vector direction D. Any point on the ray can be described as:

P(t) = O + t * D

where t > 0 for points along the ray direction D
where t < 0 for points along the opposite ray direction D

Parameters:
DATA_TYPE | the internal type used for the point and vector.
SIZE | the dimension of space (ex: 2 for a 2D ray, 3 for a 3D ray). It must be a positive number.
Note:
Direction vector could be not normalized. Use Normalize() function to normalize it.

Constructor & Destructor Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericRay< DATA_TYPE, SIZE >::GGenericRay ( )

Default constructor, constructs a ray at the origin with a zero vector.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericRay< DATA_TYPE, SIZE >::GGenericRay | ( | const GPoint< DATA_TYPE, SIZE > & | Origin,
 |  | const GVect< DATA_TYPE, SIZE > & | Direction
 | ) |

Set constructor, constructs a ray with the given origin and vector.

Parameters:
Origin | the point at which the ray starts
Direction | the vector describing the direction and length of the ray starting at origin

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericRay< DATA_TYPE, SIZE >::GGenericRay ( const GGenericRay< DATA_TYPE, SIZE > & SourceRay )

Copy constructor, constructs an exact duplicate of the given ray.

Parameters:
SourceRay the ray to copy

Member Function Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
const GVect<DATA_TYPE, SIZE>& Amanith::GGenericRay< DATA_TYPE, SIZE >::Direction ( ) const

Gets the vector describing the direction and length of the ray.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericRay< DATA_TYPE, SIZE >::IsNormalized ( ) const

Return G_TRUE is ray's direction is normalized (unit length).

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::GGenericRay< DATA_TYPE, SIZE >::Normalize ( )

Normalize ray direction

Returns:
the length of the ray direction before normalization.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericRay< DATA_TYPE, SIZE >::operator!= ( const GGenericRay< DATA_TYPE, SIZE > & Ray ) const

Compare two line segments to see if they are not EXACTLY the same.

Parameters:
Ray the Ray to compare to
Returns:
G_TRUE if they are not equal, G_FALSE otherwise

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericRay< DATA_TYPE, SIZE >::operator== ( const GGenericRay< DATA_TYPE, SIZE > & Ray ) const

Compare two rays to see if they are EXACTLY the same.

Parameters:
Ray the first Ray to compare to
Returns:
G_TRUE if they are equal, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
const GPoint<DATA_TYPE, SIZE>& Amanith::GGenericRay< DATA_TYPE, SIZE >::Origin ( ) const

Gets the origin of the ray.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericRay< DATA_TYPE, SIZE >::SetDirection ( const GVect< DATA_TYPE, SIZE > & NewDirection )

Sets the vector describing the direction and length of the ray. It can be non-normalized also.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericRay< DATA_TYPE, SIZE >::SetOrigin ( const GPoint< DATA_TYPE, SIZE > & NewOrigin )

Sets the origin point for this ray.

Member Data Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
GVect<DATA_TYPE, SIZE> Amanith::GGenericRay< DATA_TYPE, SIZE >::gDirection [protected]

The vector along which the ray lies.

template<typename DATA_TYPE, GUInt32 SIZE>
GPoint<DATA_TYPE, SIZE> Amanith::GGenericRay< DATA_TYPE, SIZE >::gOrigin [protected]

The origin of the ray.

The documentation for this class was generated from the following file:
  • gray.h


Amanith::GGenericRay< DATA_TYPE, SIZE > Member List

This is the complete list of members for Amanith::GGenericRay< DATA_TYPE, SIZE >, including all inherited members.

Direction() const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
gDirection | Amanith::GGenericRay< DATA_TYPE, SIZE > | [protected]
GGenericRay() | Amanith::GGenericRay< DATA_TYPE, SIZE > |
GGenericRay(const GPoint< DATA_TYPE, SIZE > &Origin, const GVect< DATA_TYPE, SIZE > &Direction) | Amanith::GGenericRay< DATA_TYPE, SIZE > |
GGenericRay(const GGenericRay &SourceRay) | Amanith::GGenericRay< DATA_TYPE, SIZE > |
gOrigin | Amanith::GGenericRay< DATA_TYPE, SIZE > | [protected]
IsNormalized() const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
Normalize() | Amanith::GGenericRay< DATA_TYPE, SIZE > |
operator!=(const GGenericRay< DATA_TYPE, SIZE > &Ray) const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
operator==(const GGenericRay< DATA_TYPE, SIZE > &Ray) const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
Origin() const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
SetDirection(const GVect< DATA_TYPE, SIZE > &NewDirection) | Amanith::GGenericRay< DATA_TYPE, SIZE > |
SetOrigin(const GPoint< DATA_TYPE, SIZE > &NewOrigin) | Amanith::GGenericRay< DATA_TYPE, SIZE > |


Amanith::GGenericSphere

Amanith::GGenericSphere< DATA_TYPE, SIZE > Class Template Reference

Describes a sphere in N-dimensional space by its center point and its radius. More...

List of all members.

Public Member Functions

  • GGenericSphere ()
  • GGenericSphere (const DATA_TYPE &Radius)
  • GGenericSphere (const GPoint< DATA_TYPE, SIZE > &Center, const DATA_TYPE &Radius)
  • const GPoint< DATA_TYPE, SIZE > & Center () const
  • const DATA_TYPE & Radius () const
  • DATA_TYPE Volume () const
  • GSurfaceSide PointSign (const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0)
  • GBool IsPointInside (const GPoint< DATA_TYPE, SIZE > &TestPoint, DATA_TYPE Epsilon=0)
  • GBool IsPointOutside (const GPoint< DATA_TYPE, SIZE > &TestPoint, DATA_TYPE Epsilon=0)
  • GBool IsPointOnSurface (const GPoint< DATA_TYPE, SIZE > &TestPoint, DATA_TYPE Epsilon=0)
  • void SetCenter (const GPoint< DATA_TYPE, SIZE > &NewCenter)
  • void SetRadius (const DATA_TYPE &NewRadius)
  • GBool operator== (const GGenericSphere< DATA_TYPE, SIZE > &Sph) const
  • GBool operator!= (const GGenericSphere< DATA_TYPE, SIZE > &Sph) const

Detailed Description

template<typename DATA_TYPE, GUInt32 SIZE>
class Amanith::GGenericSphere< DATA_TYPE, SIZE >

Describes a sphere in N-dimensional space by its center point and its radius.

This kind of geometric primitive can be used as a bounding volume in computer graphics.

Parameters:
DATA_TYPE the internal type used for the point and radius

Constructor & Destructor Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericSphere< DATA_TYPE, SIZE >::GGenericSphere ( )

Default constructor, constructs a sphere centered at the origin with a radius of 0.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericSphere< DATA_TYPE, SIZE >::GGenericSphere ( const DATA_TYPE & Radius )

Set constructor, constructs a sphere centered at the origin with the given radius.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GGenericSphere< DATA_TYPE, SIZE >::GGenericSphere | ( | const GPoint< DATA_TYPE, SIZE > & | Center,
 |  | const DATA_TYPE & | Radius
 | ) |

Constructor, constructs a sphere with the given center and radius.

Parameters:
Center | the point at which to center the sphere.
Radius | the radius of the sphere.

Member Function Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
const GPoint<DATA_TYPE, SIZE>& Amanith::GGenericSphere< DATA_TYPE, SIZE >::Center ( ) const

Gets the center of the sphere.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericSphere< DATA_TYPE, SIZE >::IsPointInside | ( | const GPoint< DATA_TYPE, SIZE > & | TestPoint,
 |  | DATA_TYPE | Epsilon = 0
 | ) |

Check if a point is inside the box. It uses PointSign() function.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericSphere< DATA_TYPE, SIZE >::IsPointOnSurface | ( | const GPoint< DATA_TYPE, SIZE > & | TestPoint,
 |  | DATA_TYPE | Epsilon = 0
 | ) |

Check if a point is touching the box (it's on its surface). It uses PointSign() function.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericSphere< DATA_TYPE, SIZE >::IsPointOutside | ( | const GPoint< DATA_TYPE, SIZE > & | TestPoint,
 |  | DATA_TYPE | Epsilon = 0
 | ) |

Check if a point is outside the box. It uses PointSign() function.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericSphere< DATA_TYPE, SIZE >::operator!= ( const GGenericSphere< DATA_TYPE, SIZE > & Sph ) const

Compare two spheres to see if they are not EXACTLY the same.

Parameters:
Sph the sphere to compare
Returns:
G_TRUE if they are not equal, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GGenericSphere< DATA_TYPE, SIZE >::operator== ( const GGenericSphere< DATA_TYPE, SIZE > & Sph ) const

Compare two spheres to see if they are EXACTLY the same.

Parameters:
Sph the sphere to compare to
Returns:
G_TRUE if they are equal, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GSurfaceSide Amanith::GGenericSphere< DATA_TYPE, SIZE >::PointSign | ( | const GPoint< DATA_TYPE, SIZE > & | TestPoint,
 |  | const DATA_TYPE | Epsilon = 0
 | ) |

Tests a point against the sphere, using an epsilon tolerance. This test returns:

  • G_INSIDE if all TestPoint components are inside the sphere
  • G_OUTSIDE if all TestPoint components are outside the sphere
  • G_ONSURFACE if all TestPoint components are on surface sphere

Parameters:
TestPoint | the point to test
Epsilon | the tolerance used during comparisons

template<typename DATA_TYPE, GUInt32 SIZE>
const DATA_TYPE& Amanith::GGenericSphere< DATA_TYPE, SIZE >::Radius ( ) const

Gets the radius of the sphere.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericSphere< DATA_TYPE, SIZE >::SetCenter ( const GPoint< DATA_TYPE, SIZE > & NewCenter )

Sets the center point of the sphere.

Parameters:
NewCenter the new point at which to center the sphere

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GGenericSphere< DATA_TYPE, SIZE >::SetRadius ( const DATA_TYPE & NewRadius )

Sets the radius of the sphere.

Parameters:
NewRadius the new radius of the sphere

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::GGenericSphere< DATA_TYPE, SIZE >::Volume ( ) const

Gets the volume of the sphere.

This function works for every N-Dimensional sphere. In the case of a 2D sphere (a circle) this volume is equal to area.

The documentation for this class was generated from the following file:
  • gsphere.h


Amanith::GGenericSphere< DATA_TYPE, SIZE > Member List

This is the complete list of members for Amanith::GGenericSphere< DATA_TYPE, SIZE >, including all inherited members.

Center() const | Amanith::GGenericSphere< DATA_TYPE, SIZE >
GGenericSphere() | Amanith::GGenericSphere< DATA_TYPE, SIZE >
GGenericSphere(const DATA_TYPE &Radius) | Amanith::GGenericSphere< DATA_TYPE, SIZE >
GGenericSphere(const GPoint< DATA_TYPE, SIZE > &Center, const DATA_TYPE &Radius) | Amanith::GGenericSphere< DATA_TYPE, SIZE >
IsPointInside(const GPoint< DATA_TYPE, SIZE > &TestPoint, DATA_TYPE Epsilon=0) | Amanith::GGenericSphere< DATA_TYPE, SIZE >
IsPointOnSurface(const GPoint< DATA_TYPE, SIZE > &TestPoint, DATA_TYPE Epsilon=0) | Amanith::GGenericSphere< DATA_TYPE, SIZE >
IsPointOutside(const GPoint< DATA_TYPE, SIZE > &TestPoint, DATA_TYPE Epsilon=0) | Amanith::GGenericSphere< DATA_TYPE, SIZE >
operator!=(const GGenericSphere< DATA_TYPE, SIZE > &Sph) const | Amanith::GGenericSphere< DATA_TYPE, SIZE >
operator==(const GGenericSphere< DATA_TYPE, SIZE > &Sph) const | Amanith::GGenericSphere< DATA_TYPE, SIZE >
PointSign(const GPoint< DATA_TYPE, SIZE > &TestPoint, const DATA_TYPE Epsilon=0) | Amanith::GGenericSphere< DATA_TYPE, SIZE >
Radius() const | Amanith::GGenericSphere< DATA_TYPE, SIZE >
SetCenter(const GPoint< DATA_TYPE, SIZE > &NewCenter) | Amanith::GGenericSphere< DATA_TYPE, SIZE >
SetRadius(const DATA_TYPE &NewRadius) | Amanith::GGenericSphere< DATA_TYPE, SIZE >
Volume() const | Amanith::GGenericSphere< DATA_TYPE, SIZE >


Amanith::GGlyphMetrics

Amanith::GGlyphMetrics Struct Reference

A structure used to model the metrics of a single glyph. More...

List of all members.

Public Attributes

  • GReal Width
  • GReal Height
  • GReal HoriBearingX
  • GReal HoriBearingY
  • GReal HoriAdvance
  • GReal VertBearingX
  • GReal VertBearingY
  • GReal VertAdvance

Detailed Description

A structure used to model the metrics of a single glyph.

Values are expressed in font units (or normalized if the font has been read with option "scale=0").

Member Data Documentation

GReal Amanith::GGlyphMetrics::Height

The glyph's height.

GReal Amanith::GGlyphMetrics::HoriAdvance

Advance width for horizontal layout.

GReal Amanith::GGlyphMetrics::HoriBearingX

Left side bearing for horizontal layout.

GReal Amanith::GGlyphMetrics::HoriBearingY

Top side bearing for horizontal layout.

GReal Amanith::GGlyphMetrics::VertAdvance

Advance height for vertical layout.

GReal Amanith::GGlyphMetrics::VertBearingX

Left side bearing for vertical layout.

GReal Amanith::GGlyphMetrics::VertBearingY

Top side bearing for vertical layout.

GReal Amanith::GGlyphMetrics::Width

The glyph's width.

The documentation for this struct was generated from the following file:
  • gfont2d.h


Amanith::GGlyphMetrics Member List

This is the complete list of members for Amanith::GGlyphMetrics, including all inherited members.

Height | Amanith::GGlyphMetrics
HoriAdvance | Amanith::GGlyphMetrics
HoriBearingX | Amanith::GGlyphMetrics
HoriBearingY | Amanith::GGlyphMetrics
VertAdvance | Amanith::GGlyphMetrics
VertBearingX | Amanith::GGlyphMetrics
VertBearingY | Amanith::GGlyphMetrics
Width | Amanith::GGlyphMetrics


Amanith::GGradientDesc

Amanith::GGradientDesc Class Reference

This class maintains informations used to describe a gradient. More...

Inheritance diagram for Amanith::GGradientDesc:

Amanith::GOpenGLGradientDesc List of all members.

Public Member Functions

  • GGradientDesc ()
  • virtual ~GGradientDesc ()
  • GGradientType Type () const
  • void SetType (const GGradientType Type)
  • const GPoint2 & StartPoint () const
  • void SetStartPoint (const GPoint2 &Point)
  • const GPoint2 & AuxPoint () const
  • void SetAuxPoint (const GPoint2 &Point)
  • GReal Radius () const
  • void SetRadius (const GReal Radius)
  • const GDynArray< GKeyValue > & ColorKeys () const
  • virtual void SetColorKeys (const GDynArray< GKeyValue > &ColorKeys)
  • GColorRampInterpolation ColorInterpolation () const
  • void SetColorInterpolation (const GColorRampInterpolation Interpolation)
  • GColorRampSpreadMode SpreadMode () const
  • void SetSpreadMode (const GColorRampSpreadMode SpreadMode)
  • const GMatrix33 & Matrix () const
  • const GMatrix33 & InverseMatrix () const
  • void SetMatrix (const GMatrix33 &Matrix)
  • GBool TypeModified () const
  • GBool StartPointModified () const
  • GBool AuxPointModified () const
  • GBool ColorKeysModified () const
  • GBool ColorInterpolationModified () const
  • GBool SpreadModeModified () const
  • GBool MatrixModified () const
  • GBool Modified () const

Protected Member Functions

  • void SetTypeModified (const GBool Modified)
  • void SetStartPointModified (const GBool Modified)
  • void SetAuxPointModified (const GBool Modified)
  • void SetColorKeysModified (const GBool Modified)
  • void SetColorInterpolationModified (const GBool Modified)
  • void SetSpreadModeModified (const GBool Modified)
  • void SetMatrixModified (const GBool Modified)

Protected Attributes

  • GUInt32 gModified

Detailed Description

This class maintains informations used to describe a gradient.

Every used gradient has an associated GGradientDesc class instance. This class describes completely a gradient. Maintained informations are:

  • Type: it can be LINEAR, RADIAL and CONICAL.

  • Start point: the point associated to the first color key; for conical gradients this is the cone vertex point.
  • Aux point: for linear gradients it represents an 'end' point associated with the last color key. For radial gradients it corresponds to the focus point, and for conical gradients it specifies a 'target' point that coupled with start point defines a direction associated to the first color key.
  • Radius: it has sense only for radial gradients.
  • Color interpolation: the interpolation schema to adopt during pixel color evaluation, it can be CONSTANT, LINEAR and HERMITE.

  • Spread mode: indicates what happens if the gradient starts or ends inside the bounds of the target region. Possible values are: PAD (which says to use the terminal colors of the gradient to fill the remainder of the target region), REPEAT (which says to repeat the gradient pattern start-to-end, start-to-end, start-toend, etc. continuously until the target region is filled) and REFLECT (which says to reflect the gradient pattern start-to-end, end-to-start, start-to-end, etc. continuously until the target rectangle is filled).

  • Color keys: an array of color keys (also known as color stops) that define used colors.
  • Matrix: an optional 3x3 matrix, used to transform the gradient into another coordinates system.

Constructor & Destructor Documentation

Amanith::GGradientDesc::GGradientDesc ( )

Default constructor, it build an empty linear gradient.

Amanith::GGradientDesc::~GGradientDesc ( ) [virtual]

Destructor.

Member Function Documentation

const GPoint2& Amanith::GGradientDesc::AuxPoint ( ) const

Get auxiliary point.
For linear gradients it represents an 'end' point associated with the last color key. For radial gradients it corresponds to the focus point, and for conical gradients it specifies a 'target' point that coupled with start point defines a direction associated to the first color key.

GBool Amanith::GGradientDesc::AuxPointModified ( ) const

G_TRUE if auxiliary point has been modified from last time it was used, else G_FALSE.

GColorRampInterpolation Amanith::GGradientDesc::ColorInterpolation ( ) const

Get color interpolation method.

GBool Amanith::GGradientDesc::ColorInterpolationModified ( ) const

G_TRUE if color interpolation method has been modified from last time it was used, else G_FALSE.

const GDynArray<GKeyValue>& Amanith::GGradientDesc::ColorKeys ( ) const

Get color keys.

GBool Amanith::GGradientDesc::ColorKeysModified ( ) const

G_TRUE if color keys array has been modified from last time it was used, else G_FALSE.

const GMatrix33& Amanith::GGradientDesc::InverseMatrix ( ) const

Get inverse gradient matrix.

const GMatrix33& Amanith::GGradientDesc::Matrix ( ) const

Get gradient matrix, used to transform the gradient into another coordinates system.

GBool Amanith::GGradientDesc::MatrixModified ( ) const

G_TRUE if gradient matrix has been modified from last time it was used, else G_FALSE.

GBool Amanith::GGradientDesc::Modified ( ) const

G_TRUE if at least one gradient attribute has been modified from last time it was used, else G_FALSE.

GReal Amanith::GGradientDesc::Radius ( ) const

Get radius, it has sense only for radial gradients.

void Amanith::GGradientDesc::SetAuxPoint ( const GPoint2 & Point )

Set auxiliary point.
For linear gradients it represents an 'end' point associated with the last color key. For radial gradients it corresponds to the focus point, and for conical gradients it specifies a 'target' point that associated with start point defines a direction associated to the first color key.

void Amanith::GGradientDesc::SetAuxPointModified ( const GBool Modified ) [protected]

Set auxiliary point modified flag.

void Amanith::GGradientDesc::SetColorInterpolation ( const GColorRampInterpolation Interpolation )

Set color interpolation method.

void Amanith::GGradientDesc::SetColorInterpolationModified ( const GBool Modified ) [protected]

Set matrix modified flag.

void Amanith::GGradientDesc::SetColorKeys ( const GDynArray< GKeyValue > & ColorKeys ) [virtual]

Set color keys.

Reimplemented in Amanith::GOpenGLGradientDesc.

void Amanith::GGradientDesc::SetColorKeysModified ( const GBool Modified ) [protected]

Set color keys modified flag.

void Amanith::GGradientDesc::SetMatrix ( const GMatrix33 & Matrix )

Set gradient matrix, used to transform the gradient into another coordinates system.

Note:
the specified new Matrix MUST NOT be singular; in this case the new Matrix wont be set.

void Amanith::GGradientDesc::SetMatrixModified ( const GBool Modified ) [protected]

Set matrix modified flag.

void Amanith::GGradientDesc::SetRadius ( const GReal Radius )

Set radius, it has sense only for radial gradients.

void Amanith::GGradientDesc::SetSpreadMode ( const GColorRampSpreadMode SpreadMode )

Set spread mode.

void Amanith::GGradientDesc::SetSpreadModeModified ( const GBool Modified ) [protected]

Set spread mode modified flag.

void Amanith::GGradientDesc::SetStartPoint ( const GPoint2 & Point )

Set start point (the point associated to the first color key, for conical gradients this is the cone vertex point).

void Amanith::GGradientDesc::SetStartPointModified ( const GBool Modified ) [protected]

Set start point modified flag.

void Amanith::GGradientDesc::SetType ( const GGradientType Type )

Set gradient type.

void Amanith::GGradientDesc::SetTypeModified ( const GBool Modified ) [protected]

Set gradient type modified flag.

GColorRampSpreadMode Amanith::GGradientDesc::SpreadMode ( ) const

Get spread mode.

GBool Amanith::GGradientDesc::SpreadModeModified ( ) const

G_TRUE if gradient spread mode has been modified from last time it was used, else G_FALSE.

const GPoint2& Amanith::GGradientDesc::StartPoint ( ) const

Get start point (the point associated to the first color key, for conical gradients this is the cone vertex point).

GBool Amanith::GGradientDesc::StartPointModified ( ) const

G_TRUE if gradient start point has been modified from last time it was used, else G_FALSE.

GGradientType Amanith::GGradientDesc::Type ( ) const

Get gradient type.

GBool Amanith::GGradientDesc::TypeModified ( ) const

G_TRUE if gradient type has been modified from last time it was used, else G_FALSE.

Member Data Documentation

GUInt32 Amanith::GGradientDesc::gModified [protected]

Modified bit flags.

The documentation for this class was generated from the following files:
  • gdrawstyle.h
  • gdrawstyle.cpp


Amanith::GGradientDesc Member List

This is the complete list of members for Amanith::GGradientDesc, including all inherited members.

AuxPoint() const | Amanith::GGradientDesc |
AuxPointModified() const | Amanith::GGradientDesc |
ColorInterpolation() const | Amanith::GGradientDesc |
ColorInterpolationModified() const | Amanith::GGradientDesc |
ColorKeys() const | Amanith::GGradientDesc |
ColorKeysModified() const | Amanith::GGradientDesc |
GGradientDesc() | Amanith::GGradientDesc |
gModified | Amanith::GGradientDesc | [protected]
InverseMatrix() const | Amanith::GGradientDesc |
Matrix() const | Amanith::GGradientDesc |
MatrixModified() const | Amanith::GGradientDesc |
Modified() const | Amanith::GGradientDesc |
Radius() const | Amanith::GGradientDesc |
SetAuxPoint(const GPoint2 &Point) | Amanith::GGradientDesc |
SetAuxPointModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetColorInterpolation(const GColorRampInterpolation Interpolation) | Amanith::GGradientDesc |
SetColorInterpolationModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetColorKeys(const GDynArray< GKeyValue > &ColorKeys) | Amanith::GGradientDesc | [virtual]
SetColorKeysModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetMatrix(const GMatrix33 &Matrix) | Amanith::GGradientDesc |
SetMatrixModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetRadius(const GReal Radius) | Amanith::GGradientDesc |
SetSpreadMode(const GColorRampSpreadMode SpreadMode) | Amanith::GGradientDesc |
SetSpreadModeModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetStartPoint(const GPoint2 &Point) | Amanith::GGradientDesc |
SetStartPointModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetType(const GGradientType Type) | Amanith::GGradientDesc |
SetTypeModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SpreadMode() const | Amanith::GGradientDesc |
SpreadModeModified() const | Amanith::GGradientDesc |
StartPoint() const | Amanith::GGradientDesc |
StartPointModified() const | Amanith::GGradientDesc |
Type() const | Amanith::GGradientDesc |
TypeModified() const | Amanith::GGradientDesc |
~GGradientDesc() | Amanith::GGradientDesc | [virtual]


Amanith::GHermiteCurve1D

Amanith::GHermiteCurve1D Class Reference

This class implements a 1D Hermite multicurve. More...

Inheritance diagram for Amanith::GHermiteCurve1D:

Amanith::GMultiCurve1D Amanith::GCurve1D Amanith::GElement List of all members.

Public Member Functions

  • GHermiteCurve1D ()
  • GHermiteCurve1D (const GElement *Owner)
  • ~GHermiteCurve1D ()
  • void Clear ()
  • GUInt32 PointsCount () const
  • GBool ParamToKeyIndex (const GReal Param, GUInt32 &KeyIndex) const
  • GReal Point (const GUInt32 Index) const
  • GError SetPoint (const GUInt32 Index, const GReal NewPoint)
  • GError SetPoints (const GDynArray< GReal > &NewPoints, const GReal NewMinValue, const GReal NewMaxValue, const GBool Uniform=G_FALSE)
  • GError Key (const GUInt32 Index, GHermiteKey1D &KeyValue) const
  • const GDynArray< GHermiteKey1D > & Keys () const
  • GError SetKeys (const GDynArray< GHermiteKey1D > &NewKeys)
  • GError SetKey (const GUInt32 Index, const GReal NewKeyValue, const GReal InTangent, const GReal OutTangent)
  • void RecalcSmoothTangents (const GBool SmoothEnds=G_TRUE)
  • GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • GReal Length (const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const
  • GReal Evaluate (const GReal u) const
  • GReal Derivative (const GDerivativeOrder Order, const GReal u) const
  • void DerivativeLR (const GDerivativeOrder Order, const GReal u, GReal &LeftDerivative, GReal &RightDerivative) const
  • GError SegmentToBezier (const GUInt32 Index, GBezierCurve1D &Result)
  • void Scale (const GReal Pivot, const GReal ScaleAmount)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • void SortKeys ()
  • GError BaseClone (const GElement &Source)
  • GError DoCut (const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const
  • GError DoAddPoint (const GReal Parameter, const GReal *NewPoint, GUInt32 &Index, GBool &AlreadyExists)
  • GError DoRemovePoint (const GUInt32 Index)
  • void CalcCatmullRomTangents (const GUInt32 Index0, const GUInt32 Index1)
  • GReal SegmentLength (const GUInt32 Index, const GReal MinParam, const GReal MaxParam, const GReal MaxError) const
  • GReal SegmentEvaluate (const GUInt32 Index, const GReal Parameter) const
  • GReal SegmentDerivative (const GUInt32 Index, const GDerivativeOrder Order, const GReal Parameter) const
  • void SegmentToBezierConversion (const GUInt32 Index, GBezierCurve1D &Result) const
  • GError DoGetPointParameter (const GUInt32 Index, GReal &Parameter) const
  • GError DoSetPointParameter (const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)

Detailed Description

This class implements a 1D Hermite multicurve.

An Hermite multicurve is a curve made of Hermite traits. An Hermite trait is a parametric cubic curve, defined by two points and two tangent vectors, as you can see in the image below.

Hermite trait example

This kind of curve is called 'cardinal', it interpolates the two point and the two tangents. From P0's point of view, T0 is called 'outcoming' tangent. From P1's point of view, T1 is called 'incoming' tangent.

Constructor & Destructor Documentation

Amanith::GHermiteCurve1D::GHermiteCurve1D ( )

Default constructor, constructs and empty Hermite curve.

Amanith::GHermiteCurve1D::GHermiteCurve1D ( const GElement * Owner )

Constructor with kernel specification, constructs and empty Hermite curve.

Amanith::GHermiteCurve1D::~GHermiteCurve1D ( )

Destructor, free all keys and other internal structures.

Member Function Documentation

GError Amanith::GHermiteCurve1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source Hermite curve into this curve.

Reimplemented from Amanith::GMultiCurve1D.

void Amanith::GHermiteCurve1D::CalcCatmullRomTangents | ( | const GUInt32 | Index0,
 |  | const GUInt32 | Index1
 | ) | [protected]

Calculate tangents using Catmull-Rom schema.

Parameters:
Index0 | the lower key index, where to begin to calculate tangents.
Index1 | the upper key index, where to end to calculate tangents.

const GClassID& Amanith::GHermiteCurve1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiCurve1D.

void Amanith::GHermiteCurve1D::Clear ( ) [virtual]

Clear the curve (remove keys, free internal structures and set an empty domain).

Reimplemented from Amanith::GCurve1D.

GReal Amanith::GHermiteCurve1D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve1D.

void Amanith::GHermiteCurve1D::DerivativeLR | ( | const GDerivativeOrder | Order,
 |  | const GReal | u,
 |  | GReal & | LeftDerivative,
 |  | GReal & | RightDerivative
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter. This method differs from the one of base GCurve1D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
LeftDerivative | the left derivative.
RightDerivative | the right derivative.
Note:
specified domain parameter is clamped by domain interval.

Reimplemented from Amanith::GMultiCurve1D.

const GClassID& Amanith::GHermiteCurve1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiCurve1D.

GError Amanith::GHermiteCurve1D::DoAddPoint | ( | const GReal | Parameter,
 |  | const GReal * | NewPoint,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Add a new (key)point for the curve.

Parameters:
Parameter | the domain parameter where to add the (key)point.
NewPoint | if not specified (NULL value) the point is created on curve. In this case the specified domain Parameter must reside completely inside the domain, else an G_OUT_OF_RANGE error is returned. If Newpoint is specified (non NULL) the point is created also outside domain range.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | a G_TRUE value means that the point has been created at a domain position already occupied by another (key)point. In this case the already existing point is overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

Implements Amanith::GMultiCurve1D.

GError Amanith::GHermiteCurve1D::DoCut | ( | const GReal | u,
 |  | GCurve1D * | RightCurve,
 |  | GCurve1D * | LeftCurve
 | ) | const [protected, virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right Hermite arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GHermiteCurve1D classes (so cast is type-safe).

Implements Amanith::GCurve1D.

GError Amanith::GHermiteCurve1D::DoGetPointParameter | ( | const GUInt32 | Index,
 |  | GReal & | Parameter
 | ) | const [protected, virtual]

Get domain parameter corresponding to specified (key)point index. Index is ensured to be valid.

Parameters:
Index | the point index, is ensured to be always valid.
Parameter | the outputted domain parameter, corresponding to the specified (key)point index.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve1D.

GError Amanith::GHermiteCurve1D::DoRemovePoint ( const GUInt32 Index ) [protected, virtual]

Remove a (key)point from the curve. Index is ensured to be valid and we are sure that after removing we'll have (at least) a minimal (2-(key)points made) multi-curve.

Parameters:
Index the index of (key)point to be removed. Note that this value is ensured to be always valid.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve1D.

GError Amanith::GHermiteCurve1D::DoSetPointParameter | ( | const GUInt32 | Index,
 |  | const GReal | NewParamValue,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Set domain parameter corresponding to specified (key)point index. The final effect is that a (key)point is moved from its domain position to another domain position.

Parameters:
Index | the point index, is ensured to be always valid.
NewParamValue | the new domain parameter, where to move the specified (key)point. It can be outside current domain.
NewIndex | the new position (internal index) occupied by the moved (key)point. This method outputs this value.
AlreadyExists | this method writes to this flag a G_TRUE value if the point has been moved in a domain position already occupied by another (key)point. In this case the already existing point is overridden by the moved point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

Implements Amanith::GMultiCurve1D.

GReal Amanith::GHermiteCurve1D::Evaluate ( const GReal u ) const [virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve1D.

GError Amanith::GHermiteCurve1D::Key | ( | const GUInt32 | Index,
 |  | GHermiteKey1D & | KeyValue
 | ) | const

Get a key, specifying its index.

Parameters:
Index | the index of the key to be retrieved.
KeyValue | the variable where the requested key will be outputted.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

const GDynArray<GHermiteKey1D>& Amanith::GHermiteCurve1D::Keys ( ) const

Get the internal keys array.

GReal Amanith::GHermiteCurve1D::Length | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const [virtual]

Returns the length of the curve between the 2 specified global domain values.

The implementation take care of every Hermite trait. Because at each key point the curve can be (in general) only continuous (and not differentiable), we must calculate the length as the sum of single interested Hermite traits length.

Parameters:
u0 | the lower bound of integral
u1 | the upper bound of integral
MaxError | the maximum relative error (precision) at witch we wanna calculate length.
Returns:
The length of curve, calculated in the domain interval [u0; u1].
Note:
Before integration, the specified interval is checked and clamped to be be valid for this curve domain.

Reimplemented from Amanith::GCurve1D.

GBool Amanith::GHermiteCurve1D::ParamToKeyIndex | ( | const GReal | Param,
 |  | GUInt32 & | KeyIndex
 | ) | const

Given a domain value, it returns the span index that includes it.

Parameters:
Param | the domain parameter
KeyIndex | the lower key index of the interval where Param is included. Param is contained in the interval [KeyIndex, KeyIndex+1)
Returns:
G_TRUE if the domain value is inside the current domain, G_FALSE otherwise.
Note:
if Param is equal to DomainEnd(), then the index KeyIndex+1 is not valid. So you must check this case before calling ParamToKeyIndex.

GReal Amanith::GHermiteCurve1D::Point ( const GUInt32 Index ) const [virtual]

Get Index-th key point; Index must be valid, else a point with infinitive component is returned.

Implements Amanith::GCurve1D.

GUInt32 Amanith::GHermiteCurve1D::PointsCount ( ) const [virtual]

Returns number of key points.

Implements Amanith::GCurve1D.

void Amanith::GHermiteCurve1D::RecalcSmoothTangents ( const GBool SmoothEnds = G_TRUE )

Recalculate all tangents, using a smoothing schema (Catmull-Rom).

Parameters:
SmoothEnds if G_TRUE, set first and last key tangents to the same value (useful for a looped curve).
Note:
this method do nothing if there aren't at least 2 keys.

void Amanith::GHermiteCurve1D::Scale | ( | const GReal | Pivot,
 |  | const GReal | ScaleAmount
 | ) | [virtual]

Scale all curve points around a pivot point. This member has been overridden to take care of tangents too.

Parameters:
Pivot | the pivot point (the center of scaling).
ScaleAmount | the scale factor.

Reimplemented from Amanith::GCurve1D.

GReal Amanith::GHermiteCurve1D::SegmentDerivative | ( | const GUInt32 | Index,
 |  | const GDerivativeOrder | Order,
 |  | const GReal | Parameter
 | ) | const [protected]

Calculate the curve derivative for a specified Index-th Hermite trait. The passed domain parameter must reside inside the trait's subdomain. The order of derivative is specified through Order parameter.

GReal Amanith::GHermiteCurve1D::SegmentEvaluate | ( | const GUInt32 | Index,
 |  | const GReal | Parameter
 | ) | const [protected]

Calculate the curve value for a specified Index-th Hermite trait. The passed domain parameter must reside inside the trait's subdomain.

GReal Amanith::GHermiteCurve1D::SegmentLength | ( | const GUInt32 | Index,
 |  | const GReal | MinParam,
 |  | const GReal | MaxParam,
 |  | const GReal | MaxError
 | ) | const [protected]

Calculate the length of the Index-th Hermite trait, specifying a trait's subdomain range.

GError Amanith::GHermiteCurve1D::SegmentToBezier | ( | const GUInt32 | Index,
 |  | GBezierCurve1D & | Result
 | ) |

Hermite to cubic Bezier conversion.

This method converts an Hermite trait into an equivalent cubic Bezier representation. The conversion can be easily derived equaling their power series representations.

Parameters:
Index | the Hermite trait index to be converted (the trait will be the one defined by (key)points Index and Index+1). It must be valid.
Result | the resulting Bezier curve.
Returns:
G_NO_ERROR in operation succeeds, an error code otherwise.

void Amanith::GHermiteCurve1D::SegmentToBezierConversion | ( | const GUInt32 | Index,
 |  | GBezierCurve1D & | Result
 | ) | const [protected]

This method do the actual Bezier conversion.

Parameters:
Index | the Hermite trait index to be converted. It must be valid.
Result | the resulting Bezier curve.
Returns:
G_NO_ERROR in operation succeeds, an error code otherwise.

GError Amanith::GHermiteCurve1D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain.

All (key)points domain positions will be scaled and shifted to respect the new domain. The reparametrized curve is geometrically the same curve but parametrically it is different. In particular internal knots (key domain values) are scale/shifted, and derivatives module (magnitudes) are scaled too.

Parameters:
NewMinValue | the lower bound of the new domain.
NewMaxValue | the upper bound of the new domain.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if NewMinValue is greater than NewMaxValue they will be swapped, so any combination of values is valid.

Reimplemented from Amanith::GCurve1D.

GError Amanith::GHermiteCurve1D::SetKey | ( | const GUInt32 | Index,
 |  | const GReal | NewKeyValue,
 |  | const GReal | InTangent,
 |  | const GReal | OutTangent
 | ) |

Set a new geometric value.

Parameters:
Index | the index of the key we want to set. Must be valid.
NewKeyValue | the new point value.
InTangent | the new incoming tangent value.
OutTangent | the new outcoming tangent value.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GHermiteCurve1D::SetKeys ( const GDynArray< GHermiteKey1D > & NewKeys )

Build the Hermite curve, specifying keys.

Parameters:
NewKeys the keys that will constitute the curve. Can be unsorted by domain values.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
The specified keys array must contain at least 2 keys, else a G_INVALID_PARAMETER error code will be returned.

GError Amanith::GHermiteCurve1D::SetPoint | ( | const GUInt32 | Index,
 |  | const GReal | NewPoint
 | ) | [virtual]

Set Index-th (key)point; Index must be valid.

Implements Amanith::GCurve1D.

GError Amanith::GHermiteCurve1D::SetPoints | ( | const GDynArray< GReal > & | NewPoints,
 |  | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue,
 |  | const GBool | Uniform = G_FALSE
 | ) |

Construct a new Hermite curve, specifying just interpolated (key)points. Key tangents will be calculated using a Catmull-Rom schema.

Parameters:
NewPoints | the array of points of the curve. Each point will be interpolated (Hermite curves passes through key points).
NewMinValue | the lower bound of the curve domain.
NewMaxValue | the upper bound of the curve domain.
Uniform | if G_TRUE, keys will be generated uniformly (spanning the new domain uniformly). If G_FALSE keys position will be calculated using length of each Hermite trait.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

void Amanith::GHermiteCurve1D::SortKeys ( ) [protected]

Sort keys, in ascending order respect to domain parameters.

The documentation for this class was generated from the following files:
  • ghermitecurve1d.h
  • ghermitecurve1d.cpp


Amanith::GHermiteCurve1D Member List

This is the complete list of members for Amanith::GHermiteCurve1D, including all inherited members.

AddPoint(const GReal Parameter, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve1D |
AddPoint(const GReal Parameter, const GReal Point, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve1D |
As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GHermiteCurve1D | [protected, virtual]
CalcCatmullRomTangents(const GUInt32 Index0, const GUInt32 Index1) | Amanith::GHermiteCurve1D | [protected]
ClassID() const | Amanith::GHermiteCurve1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GHermiteCurve1D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Cut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GCurve1D |
Cut(const GReal u0, const GReal u1, GCurve1D *OutCurve) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos, GCurve1D *RightCurve, GCurve1D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve1D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GHermiteCurve1D | [virtual]
DerivativeLR(const GDerivativeOrder Order, const GReal u, GReal &LeftDerivative, GReal &RightDerivative) const | Amanith::GHermiteCurve1D | [virtual]
DerivedClassID() const | Amanith::GHermiteCurve1D | [virtual]
DoAddPoint(const GReal Parameter, const GReal *NewPoint, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GHermiteCurve1D | [protected, virtual]
DoCut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GHermiteCurve1D | [protected, virtual]
DoGetPointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GHermiteCurve1D | [protected, virtual]
Domain() const | Amanith::GCurve1D |
DomainEnd() const | Amanith::GCurve1D |
DomainStart() const | Amanith::GCurve1D |
DoRemovePoint(const GUInt32 Index) | Amanith::GHermiteCurve1D | [protected, virtual]
DoSetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GHermiteCurve1D | [protected, virtual]
EndPoint() const | Amanith::GCurve1D |
Evaluate(const GReal u) const | Amanith::GHermiteCurve1D | [virtual]
GCurve1D() | Amanith::GCurve1D |
GCurve1D(const GElement *Owner) | Amanith::GCurve1D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GHermiteCurve1D() | Amanith::GHermiteCurve1D |
GHermiteCurve1D(const GElement *Owner) | Amanith::GHermiteCurve1D |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve1D | [virtual]
GMultiCurve1D() | Amanith::GMultiCurve1D |
GMultiCurve1D(const GElement *Owner) | Amanith::GMultiCurve1D |
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GHermiteKey1D &KeyValue) const | Amanith::GHermiteCurve1D |
Keys() const | Amanith::GHermiteCurve1D |
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GHermiteCurve1D | [virtual]
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
ParamToKeyIndex(const GReal Param, GUInt32 &KeyIndex) const | Amanith::GHermiteCurve1D |
Point(const GUInt32 Index) const | Amanith::GHermiteCurve1D | [virtual]
PointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GMultiCurve1D |
PointsCount() const | Amanith::GHermiteCurve1D | [virtual]
RecalcSmoothTangents(const GBool SmoothEnds=G_TRUE) | Amanith::GHermiteCurve1D |
RemovePoint(const GUInt32 Index) | Amanith::GMultiCurve1D |
Scale(const GReal Pivot, const GReal ScaleAmount) | Amanith::GHermiteCurve1D | [virtual]
SegmentDerivative(const GUInt32 Index, const GDerivativeOrder Order, const GReal Parameter) const | Amanith::GHermiteCurve1D | [protected]
SegmentEvaluate(const GUInt32 Index, const GReal Parameter) const | Amanith::GHermiteCurve1D | [protected]
SegmentLength(const GUInt32 Index, const GReal MinParam, const GReal MaxParam, const GReal MaxError) const | Amanith::GHermiteCurve1D | [protected]
SegmentToBezier(const GUInt32 Index, GBezierCurve1D &Result) | Amanith::GHermiteCurve1D |
SegmentToBezierConversion(const GUInt32 Index, GBezierCurve1D &Result) const | Amanith::GHermiteCurve1D | [protected]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GHermiteCurve1D | [virtual]
SetEndPoint(const GReal NewValue) | Amanith::GCurve1D |
SetKey(const GUInt32 Index, const GReal NewKeyValue, const GReal InTangent, const GReal OutTangent) | Amanith::GHermiteCurve1D |
SetKeys(const GDynArray< GHermiteKey1D > &NewKeys) | Amanith::GHermiteCurve1D |
SetPoint(const GUInt32 Index, const GReal NewPoint) | Amanith::GHermiteCurve1D | [virtual]
SetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GMultiCurve1D |
SetPoints(const GDynArray< GReal > &NewPoints, const GReal NewMinValue, const GReal NewMaxValue, const GBool Uniform=G_FALSE) | Amanith::GHermiteCurve1D |
SetStartPoint(const GReal NewValue) | Amanith::GCurve1D |
SortKeys() | Amanith::GHermiteCurve1D | [protected]
Speed(const GReal u) const | Amanith::GCurve1D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve1D | [protected, static]
SpeedLR(const GReal u, GReal &LeftSpeed, GReal &RightSpeed) const | Amanith::GMultiCurve1D |
StartPoint() const | Amanith::GCurve1D |
Tangent(const GReal u) const | Amanith::GCurve1D |
TangentLR(const GReal u, GReal &LeftTangent, GReal &RightTangent) const | Amanith::GMultiCurve1D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Translate(const GReal Translation) | Amanith::GCurve1D |
~GCurve1D() | Amanith::GCurve1D | [virtual]
~GElement() | Amanith::GElement | [virtual]
~GHermiteCurve1D() | Amanith::GHermiteCurve1D |
~GMultiCurve1D() | Amanith::GMultiCurve1D | [virtual]


Amanith::GHermiteCurve1DProxy

Amanith::GHermiteCurve1DProxy Class Reference

This class implements a GHermiteCurve1D proxy (provider). More...

Inheritance diagram for Amanith::GHermiteCurve1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GHermiteCurve1D proxy (provider).

This proxy provides the creation of GHermiteCurve1D class instances.

Member Function Documentation

const GClassID& Amanith::GHermiteCurve1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GHermiteCurve1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GHermiteCurve1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GHermiteCurve1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • ghermitecurve1d.h


Amanith::GHermiteCurve1DProxy Member List

This is the complete list of members for Amanith::GHermiteCurve1DProxy, including all inherited members.

ClassID() const | Amanith::GHermiteCurve1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GHermiteCurve1DProxy | [virtual]
DerivedClassID() const | Amanith::GHermiteCurve1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GHermiteCurve2D

Amanith::GHermiteCurve2D Class Reference

This class implements a 2D Hermite multicurve. More...

Inheritance diagram for Amanith::GHermiteCurve2D:

Amanith::GMultiCurve2D Amanith::GCurve2D Amanith::GElement List of all members.

Public Member Functions

  • GHermiteCurve2D ()
  • GHermiteCurve2D (const GElement *Owner)
  • ~GHermiteCurve2D ()
  • void Clear ()
  • GUInt32 PointsCount () const
  • GBool ParamToKeyIndex (const GReal Param, GUInt32 &KeyIndex) const
  • GPoint2 Point (const GUInt32 Index) const
  • GError SetPoint (const GUInt32 Index, const GPoint2 &NewPoint)
  • GError SetPoints (const GDynArray< GPoint2 > &NewPoints, const GReal NewMinValue, const GReal NewMaxValue, const GBool Uniform=G_FALSE)
  • GError Key (const GUInt32 Index, GHermiteKey2D &KeyValue) const
  • const GDynArray< GHermiteKey2D > & Keys () const
  • GError SetKeys (const GDynArray< GHermiteKey2D > &NewKeys)
  • GError SetKey (const GUInt32 Index, const GPoint2 &NewKeyValue, const GVector2 &InTangent, const GVector2 &OutTangent)
  • void RecalcSmoothTangents (const GBool SmoothEnds=G_TRUE)
  • GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • GBool IntersectRay (const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const
  • GReal Length (const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const
  • GPoint2 Evaluate (const GReal u) const
  • GVector2 Derivative (const GDerivativeOrder Order, const GReal u) const
  • void DerivativeLR (const GDerivativeOrder Order, const GReal u, GVector2 &LeftDerivative, GVector2 &RightDerivative) const
  • GError SegmentToBezier (const GUInt32 Index, GBezierCurve2D &Result)
  • GError Flatten (GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const
  • GReal Variation () const
  • void XForm (const GMatrix23 &Matrix)
  • void XForm (const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • void SortKeys ()
  • GError BaseClone (const GElement &Source)
  • GError DoCut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const
  • GError DoAddPoint (const GReal Parameter, const GPoint2 *NewPoint, GUInt32 &Index, GBool &AlreadyExists)
  • GError DoRemovePoint (const GUInt32 Index)
  • void CalcCatmullRomTangents (const GUInt32 Index0, const GUInt32 Index1)
  • GReal SegmentLength (const GUInt32 Index, const GReal MinParam, const GReal MaxParam, const GReal MaxError) const
  • GPoint2 SegmentEvaluate (const GUInt32 Index, const GReal Parameter) const
  • GVector2 SegmentDerivative (const GUInt32 Index, const GDerivativeOrder Order, const GReal Parameter) const
  • GReal SegmentVariation (const GUInt32 Index) const
  • GBool SegmentIntersectRay (const GUInt32 Index, const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision, const GUInt32 MaxIterations) const
  • GError SegmentFlatten (const GUInt32 Index, GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint) const
  • void SegmentToBezierConversion (const GUInt32 Index, GBezierCurve2D &Result) const
  • GError DoGetPointParameter (const GUInt32 Index, GReal &Parameter) const
  • GError DoSetPointParameter (const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)

Detailed Description

This class implements a 2D Hermite multicurve.

An Hermite multicurve is a curve made of Hermite traits. An Hermite trait is a parametric cubic curve, defined by two points and two tangent vectors, as you can see in the image below.

Hermite trait example

This kind of curve is called 'cardinal', it interpolates the two point and the two tangents. From P0's point of view, T0 is called 'outcoming' tangent. From P1's point of view, T1 is called 'incoming' tangent.

Constructor & Destructor Documentation

Amanith::GHermiteCurve2D::GHermiteCurve2D ( )

Default constructor, constructs and empty Hermite curve.

Amanith::GHermiteCurve2D::GHermiteCurve2D ( const GElement * Owner )

Constructor with kernel specification, constructs and empty Hermite curve.

Amanith::GHermiteCurve2D::~GHermiteCurve2D ( )

Destructor, free all keys and other internal structures.

Member Function Documentation

GError Amanith::GHermiteCurve2D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source Hermite curve into this curve.

Reimplemented from Amanith::GMultiCurve2D.

void Amanith::GHermiteCurve2D::CalcCatmullRomTangents | ( | const GUInt32 | Index0,
 |  | const GUInt32 | Index1
 | ) | [protected]

Calculate tangents using Catmull-Rom schema.

Parameters:
Index0 | the lower key index, where to begin to calculate tangents.
Index1 | the upper key index, where to end to calculate tangents.

const GClassID& Amanith::GHermiteCurve2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiCurve2D.

void Amanith::GHermiteCurve2D::Clear ( ) [virtual]

Clear the curve (remove keys, free internal structures and set an empty domain).

Reimplemented from Amanith::GCurve2D.

GVector2 Amanith::GHermiteCurve2D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve2D.

void Amanith::GHermiteCurve2D::DerivativeLR | ( | const GDerivativeOrder | Order,
 |  | const GReal | u,
 |  | GVector2 & | LeftDerivative,
 |  | GVector2 & | RightDerivative
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter. This method differs from the one of base GCurve2D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
LeftDerivative | the left derivative.
RightDerivative | the right derivative.
Note:
specified domain parameter is clamped by domain interval.

Reimplemented from Amanith::GMultiCurve2D.

const GClassID& Amanith::GHermiteCurve2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiCurve2D.

GError Amanith::GHermiteCurve2D::DoAddPoint | ( | const GReal | Parameter,
 |  | const GPoint2 * | NewPoint,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Add a new (key)point for the curve.

Parameters:
Parameter | the domain parameter where to add the (key)point.
NewPoint | if not specified (NULL value) the point is created on curve. In this case the specified domain Parameter must reside completely inside the domain, else an G_OUT_OF_RANGE error is returned. If Newpoint is specified (non NULL) the point is created also outside domain range.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | a G_TRUE value means that the point has been created at a domain position already occupied by another (key)point. In this case the already existing point is overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

Implements Amanith::GMultiCurve2D.

GError Amanith::GHermiteCurve2D::DoCut | ( | const GReal | u,
 |  | GCurve2D * | RightCurve,
 |  | GCurve2D * | LeftCurve
 | ) | const [protected, virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right Hermite arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GHermiteCurve2D classes (so cast is type-safe).

Implements Amanith::GCurve2D.

GError Amanith::GHermiteCurve2D::DoGetPointParameter | ( | const GUInt32 | Index,
 |  | GReal & | Parameter
 | ) | const [protected, virtual]

Get domain parameter corresponding to specified (key)point index. Index is ensured to be valid.

Parameters:
Index | the point index, is ensured to be always valid.
Parameter | the outputted domain parameter, corresponding to the specified (key)point index.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve2D.

GError Amanith::GHermiteCurve2D::DoRemovePoint ( const GUInt32 Index ) [protected, virtual]

Remove a (key)point from the curve. Index is ensured to be valid and we are sure that after removing we'll have (at least) a minimal (2-(key)points made) multi-curve.

Parameters:
Index the index of (key)point to be removed. Note that this value is ensured to be always valid.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve2D.

GError Amanith::GHermiteCurve2D::DoSetPointParameter | ( | const GUInt32 | Index,
 |  | const GReal | NewParamValue,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Set domain parameter corresponding to specified (key)point index. The final effect is that a (key)point is moved from its domain position to another domain position.

Parameters:
Index | the point index, is ensured to be always valid.
NewParamValue | the new domain parameter, where to move the specified (key)point. It can be outside current domain.
NewIndex | the new position (internal index) occupied by the moved (key)point. This method outputs this value.
AlreadyExists | this method writes to this flag a G_TRUE value if the point has been moved in a domain position already occupied by another (key)point. In this case the already existing point is overridden by the moved point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

Implements Amanith::GMultiCurve2D.

GPoint2 Amanith::GHermiteCurve2D::Evaluate ( const GReal u ) const [virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve2D.

GError Amanith::GHermiteCurve2D::Flatten | ( | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint = G_TRUE
 | ) | const [virtual]

Flats the curve specifying a max error/variation (squared chordal distance).

Parameters:
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.
Note:
internally the method converts each Hermite trait into a temporary Bezier equivalent trait, then call Bezier specific high-optimized flattening routines.

Implements Amanith::GCurve2D.

GBool Amanith::GHermiteCurve2D::IntersectRay | ( | const GRay2 & | NormalizedRay,
 |  | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision = G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [virtual]

Intersect the Hermite curve with a normalized ray, and returns a list of intersections.

Parameters:
NormalizedRay | a normalized ray used for intersection test. Ray must be normalized, else incorrect results are possible.
Intersections | every found intersection will be appended to this array. Each intersection is a 2D vector; it has at position 0 the curve parameter (domain) value corresponding to the intersection, and at position 1 the ray parameter value corresponding to the intersection.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution. If the current solution calculus does not reach the specified Precision within MaxIterations iterations, the current solution calculus is stopped, the solution is appended into output array, and calculus go for the next found solution. The more this value is, the more is the accuracy of each solution (and the more is the time taken from this method).
Note:
Internally every Hermite trait is transformed into a temporary Bezier equivalent trait. This mapping makes possible to exploit all Bezier characteristics.

Implements Amanith::GCurve2D.

GError Amanith::GHermiteCurve2D::Key | ( | const GUInt32 | Index,
 |  | GHermiteKey2D & | KeyValue
 | ) | const

Get a key, specifying its index.

Parameters:
Index | the index of the key to be retrieved.
KeyValue | the variable where the requested key will be outputted.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

const GDynArray<GHermiteKey2D>& Amanith::GHermiteCurve2D::Keys ( ) const

Get the internal keys array.

GReal Amanith::GHermiteCurve2D::Length | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const [virtual]

Returns the length of the curve between the 2 specified global domain values.

The implementation take care of every Hermite trait. Because at each key point the curve can be (in general) only continuous (and not differentiable), we must calculate the length as the sum of single interested Hermite traits length.

Parameters:
u0 | the lower bound of integral
u1 | the upper bound of integral
MaxError | the maximum relative error (precision) at witch we wanna calculate length.
Returns:
The length of curve, calculated in the domain interval [u0; u1].
Note:
Before integration, the specified interval is checked and clamped to be be valid for this curve domain.

Reimplemented from Amanith::GCurve2D.

GBool Amanith::GHermiteCurve2D::ParamToKeyIndex | ( | const GReal | Param,
 |  | GUInt32 & | KeyIndex
 | ) | const

Given a domain value, it returns the span index that includes it.

Parameters:
Param | the domain parameter
KeyIndex | the lower key index of the interval where Param is included. Param is contained in the interval [KeyIndex, KeyIndex+1)
Returns:
G_TRUE if the domain value is inside the current domain, G_FALSE otherwise.
Note:
if Param is equal to DomainEnd(), then the index KeyIndex+1 is not valid. So you must check this case before calling ParamToKeyIndex.

GPoint2 Amanith::GHermiteCurve2D::Point ( const GUInt32 Index ) const [virtual]

Get Index-th key point; Index must be valid, else a point with infinitive components is returned.

Implements Amanith::GCurve2D.

GUInt32 Amanith::GHermiteCurve2D::PointsCount ( ) const [virtual]

Returns number of key points.

Implements Amanith::GCurve2D.

void Amanith::GHermiteCurve2D::RecalcSmoothTangents ( const GBool SmoothEnds = G_TRUE )

Recalculate all tangents, using a smoothing schema (Catmull-Rom).

Parameters:
SmoothEnds if G_TRUE, set first and last key tangents to the same value (useful for a looped curve).
Note:
this method do nothing if there aren't at least 2 keys.

GVector2 Amanith::GHermiteCurve2D::SegmentDerivative | ( | const GUInt32 | Index,
 |  | const GDerivativeOrder | Order,
 |  | const GReal | Parameter
 | ) | const [protected]

Calculate the curve derivative for a specified Index-th Hermite trait. The passed domain parameter must reside inside the trait's subdomain. The order of derivative is specified through Order parameter.

GPoint2 Amanith::GHermiteCurve2D::SegmentEvaluate | ( | const GUInt32 | Index,
 |  | const GReal | Parameter
 | ) | const [protected]

Calculate the curve value for a specified Index-th Hermite trait. The passed domain parameter must reside inside the trait's subdomain.

GError Amanith::GHermiteCurve2D::SegmentFlatten | ( | const GUInt32 | Index,
 |  | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint
 | ) | const [protected]

Flats an Hermite trait, specifying a max error/variation (squared chordal distance).

Parameters:
Index | the index of Hermite trait that we want to flat.
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.
Note:
internally the method converts the Hermite trait into a temporary Bezier equivalent trait, then call Bezier specific high-optimized flattening routines.

GBool Amanith::GHermiteCurve2D::SegmentIntersectRay | ( | const GUInt32 | Index,
 |  | const GRay2 & | NormalizedRay,
 |  | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision,
 |  | const GUInt32 | MaxIterations
 | ) | const [protected]

Intersect an Hermite trait with a normalized ray, and returns a list of intersections.

Parameters:
Index | the index of Hermite trait that we test for ray intersection.
NormalizedRay | a normalized ray used for intersection test. Ray must be normalized, else incorrect results are possible.
Intersections | every found intersection will be appended to this array. Each intersection is a 2D vector; it has at position 0 the curve parameter (domain) value corresponding to the intersection, and at position 1 the ray parameter value corresponding to the intersection.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution. If the current solution calculus does not reach the specified Precision within MaxIterations iterations, the current solution calculus is stopped, the solution is appended into output array, and calculus go for the next found solution. The more this value is, the more is the accuracy of each solution (and the more is the time taken from this method).
Note:
Internally the Hermite trait is transformed into a temporary Bezier equivalent trait. This mapping makes possible to exploit all Bezier characteristics.

GReal Amanith::GHermiteCurve2D::SegmentLength | ( | const GUInt32 | Index,
 |  | const GReal | MinParam,
 |  | const GReal | MaxParam,
 |  | const GReal | MaxError
 | ) | const [protected]

Calculate the length of the Index-th Hermite trait, specifying a trait's subdomain range.

GError Amanith::GHermiteCurve2D::SegmentToBezier | ( | const GUInt32 | Index,
 |  | GBezierCurve2D & | Result
 | ) |

Hermite to cubic Bezier conversion.

This method converts an Hermite trait into an equivalent cubic Bezier representation. The conversion can be easily derived equaling their power series representations.

Parameters:
Index | the Hermite trait index to be converted (the trait will be the one defined by (key)points Index and Index+1). It must be valid.
Result | the resulting Bezier curve.
Returns:
G_NO_ERROR in operation succeeds, an error code otherwise.

void Amanith::GHermiteCurve2D::SegmentToBezierConversion | ( | const GUInt32 | Index,
 |  | GBezierCurve2D & | Result
 | ) | const [protected]

This method do the actual Bezier conversion.

Parameters:
Index | the Hermite trait index to be converted. It must be valid.
Result | the resulting Bezier curve.
Returns:
G_NO_ERROR in operation succeeds, an error code otherwise.

GReal Amanith::GHermiteCurve2D::SegmentVariation ( const GUInt32 Index ) const [protected]

Get max variation (squared chordal distance) for a specified Hermite trait in its domain.

Parameters:
Index the index of Hermite trait that we test for ray intersection.
Returns:
the estimated squared chordal distance.

GError Amanith::GHermiteCurve2D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain.

All (key)points domain positions will be scaled and shifted to respect the new domain. The reparametrized curve is geometrically the same curve but parametrically it is different. In particular internal knots (key domain values) are scale/shifted, and derivatives module (magnitudes) are scaled too.

Parameters:
NewMinValue | the lower bound of the new domain.
NewMaxValue | the upper bound of the new domain.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if NewMinValue is greater than NewMaxValue they will be swapped, so any combination of values is valid.

Reimplemented from Amanith::GCurve2D.

GError Amanith::GHermiteCurve2D::SetKey | ( | const GUInt32 | Index,
 |  | const GPoint2 & | NewKeyValue,
 |  | const GVector2 & | InTangent,
 |  | const GVector2 & | OutTangent
 | ) |

Set a new geometric value.

Parameters:
Index | the index of the key we want to set. Must be valid.
NewKeyValue | the new point 2D position.
InTangent | the new incoming 2D tangent vector.
OutTangent | the new outcoming 2D tangent vector.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GHermiteCurve2D::SetKeys ( const GDynArray< GHermiteKey2D > & NewKeys )

Build the Hermite curve, specifying keys.

Parameters:
NewKeys the keys that will constitute the curve. Can be unsorted by domain values.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
The specified keys array must contain at least 2 keys, else a G_INVALID_PARAMETER error code will be returned.

GError Amanith::GHermiteCurve2D::SetPoint | ( | const GUInt32 | Index,
 |  | const GPoint2 & | NewPoint
 | ) | [virtual]

Set Index-th (key)point; Index must be valid.

Implements Amanith::GCurve2D.

GError Amanith::GHermiteCurve2D::SetPoints | ( | const GDynArray< GPoint2 > & | NewPoints,
 |  | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue,
 |  | const GBool | Uniform = G_FALSE
 | ) |

Construct a new Hermite curve, specifying just interpolated (key)points. Key tangents will be calculated using a Catmull-Rom schema.

Parameters:
NewPoints | the array of points of the curve. Each point will be interpolated (Hermite curves passes through key points).
NewMinValue | the lower bound of the curve domain.
NewMaxValue | the upper bound of the curve domain.
Uniform | if G_TRUE, keys will be generated uniformly (spanning the new domain uniformly). If G_FALSE keys position will be calculated using length of each Hermite trait.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

void Amanith::GHermiteCurve2D::SortKeys ( ) [protected]

Sort keys, in ascending order respect to domain parameters.

GReal Amanith::GHermiteCurve2D::Variation ( ) const [virtual]

Get variation (squared chordal distance) in the current domain range.

Implements Amanith::GCurve2D.

void Amanith::GHermiteCurve2D::XForm | ( | const GMatrix33 & | Matrix,
 |  | const GBool | DoProjection = G_TRUE
 | ) | [virtual]

Apply full transformation to all key points and tangents.

Parameters:
Matrix | a 3x3 matrix, specifying the transformation.
DoProjection | if G_TRUE the projective transformation (described by the last row vector of matrix) will be done. In this case all transformed vertexes will be divided by the last W component. If G_FALSE only the affine portion will be used for transformation, and no projective division will be executed.

Reimplemented from Amanith::GCurve2D.

void Amanith::GHermiteCurve2D::XForm ( const GMatrix23 & Matrix ) [virtual]

Apply an affine transformation to all key points and tangents.

Parameters:
Matrix a 2x3 matrix, specifying the affine transformation.
Note:
the leftmost 2x2 matrix contains the rotation/scale portion, the last column vector contains the translation.

Reimplemented from Amanith::GCurve2D.

The documentation for this class was generated from the following files:
  • ghermitecurve2d.h
  • ghermitecurve2d.cpp


Amanith::GHermiteCurve2D Member List

This is the complete list of members for Amanith::GHermiteCurve2D, including all inherited members.

AddPoint(const GReal Parameter, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve2D |
AddPoint(const GReal Parameter, const GPoint2 &Point, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve2D |
As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GHermiteCurve2D | [protected, virtual]
CalcCatmullRomTangents(const GUInt32 Index0, const GUInt32 Index1) | Amanith::GHermiteCurve2D | [protected]
ClassID() const | Amanith::GHermiteCurve2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GHermiteCurve2D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Curvature(const GReal u) const | Amanith::GCurve2D |
CurvatureLR(const GReal u, GReal &LeftCurvature, GReal &RightCurvature) const | Amanith::GMultiCurve2D |
Cut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GCurve2D |
Cut(const GReal u0, const GReal u1, GCurve2D *OutCurve) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos, GCurve2D *RightCurve, GCurve2D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve2D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GHermiteCurve2D | [virtual]
DerivativeLR(const GDerivativeOrder Order, const GReal u, GVector2 &LeftDerivative, GVector2 &RightDerivative) const | Amanith::GHermiteCurve2D | [virtual]
DerivedClassID() const | Amanith::GHermiteCurve2D | [virtual]
DoAddPoint(const GReal Parameter, const GPoint2 *NewPoint, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GHermiteCurve2D | [protected, virtual]
DoCut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GHermiteCurve2D | [protected, virtual]
DoGetPointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GHermiteCurve2D | [protected, virtual]
Domain() const | Amanith::GCurve2D |
DomainEnd() const | Amanith::GCurve2D |
DomainStart() const | Amanith::GCurve2D |
DoRemovePoint(const GUInt32 Index) | Amanith::GHermiteCurve2D | [protected, virtual]
DoSetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GHermiteCurve2D | [protected, virtual]
EndPoint() const | Amanith::GCurve2D |
Evaluate(const GReal u) const | Amanith::GHermiteCurve2D | [virtual]
Flatten(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const | Amanith::GHermiteCurve2D | [virtual]
GCurve2D() | Amanith::GCurve2D |
GCurve2D(const GElement *Owner) | Amanith::GCurve2D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GHermiteCurve2D() | Amanith::GHermiteCurve2D |
GHermiteCurve2D(const GElement *Owner) | Amanith::GHermiteCurve2D |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve2D | [virtual]
GMultiCurve2D() | Amanith::GMultiCurve2D |
GMultiCurve2D(const GElement *Owner) | Amanith::GMultiCurve2D |
IntersectRay(const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GHermiteCurve2D | [virtual]
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GHermiteKey2D &KeyValue) const | Amanith::GHermiteCurve2D |
Keys() const | Amanith::GHermiteCurve2D |
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GHermiteCurve2D | [virtual]
Normal(const GReal u) const | Amanith::GCurve2D |
NormalLR(const GReal u, GVector2 &LeftNormal, GVector2 &RightNormal) const | Amanith::GMultiCurve2D |
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
ParamToKeyIndex(const GReal Param, GUInt32 &KeyIndex) const | Amanith::GHermiteCurve2D |
Point(const GUInt32 Index) const | Amanith::GHermiteCurve2D | [virtual]
PointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GMultiCurve2D |
PointsCount() const | Amanith::GHermiteCurve2D | [virtual]
RecalcSmoothTangents(const GBool SmoothEnds=G_TRUE) | Amanith::GHermiteCurve2D |
RemovePoint(const GUInt32 Index) | Amanith::GMultiCurve2D |
Rotate(const GPoint2 &Pivot, const GReal RadAmount) | Amanith::GCurve2D | [virtual]
Scale(const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount) | Amanith::GCurve2D | [virtual]
SegmentDerivative(const GUInt32 Index, const GDerivativeOrder Order, const GReal Parameter) const | Amanith::GHermiteCurve2D | [protected]
SegmentEvaluate(const GUInt32 Index, const GReal Parameter) const | Amanith::GHermiteCurve2D | [protected]
SegmentFlatten(const GUInt32 Index, GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint) const | Amanith::GHermiteCurve2D | [protected]
SegmentIntersectRay(const GUInt32 Index, const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision, const GUInt32 MaxIterations) const | Amanith::GHermiteCurve2D | [protected]
SegmentLength(const GUInt32 Index, const GReal MinParam, const GReal MaxParam, const GReal MaxError) const | Amanith::GHermiteCurve2D | [protected]
SegmentToBezier(const GUInt32 Index, GBezierCurve2D &Result) | Amanith::GHermiteCurve2D |
SegmentToBezierConversion(const GUInt32 Index, GBezierCurve2D &Result) const | Amanith::GHermiteCurve2D | [protected]
SegmentVariation(const GUInt32 Index) const | Amanith::GHermiteCurve2D | [protected]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GHermiteCurve2D | [virtual]
SetEndPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
SetKey(const GUInt32 Index, const GPoint2 &NewKeyValue, const GVector2 &InTangent, const GVector2 &OutTangent) | Amanith::GHermiteCurve2D |
SetKeys(const GDynArray< GHermiteKey2D > &NewKeys) | Amanith::GHermiteCurve2D |
SetPoint(const GUInt32 Index, const GPoint2 &NewPoint) | Amanith::GHermiteCurve2D | [virtual]
SetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GMultiCurve2D |
SetPoints(const GDynArray< GPoint2 > &NewPoints, const GReal NewMinValue, const GReal NewMaxValue, const GBool Uniform=G_FALSE) | Amanith::GHermiteCurve2D |
SetStartPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
SortKeys() | Amanith::GHermiteCurve2D | [protected]
Speed(const GReal u) const | Amanith::GCurve2D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve2D | [protected, static]
SpeedLR(const GReal u, GReal &LeftSpeed, GReal &RightSpeed) const | Amanith::GMultiCurve2D |
StartPoint() const | Amanith::GCurve2D |
Tangent(const GReal u) const | Amanith::GCurve2D |
TangentLR(const GReal u, GVector2 &LeftTangent, GVector2 &RightTangent) const | Amanith::GMultiCurve2D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Translate(const GVector2 &Translation) | Amanith::GCurve2D | [virtual]
Variation() const | Amanith::GHermiteCurve2D | [virtual]
XForm(const GMatrix23 &Matrix) | Amanith::GHermiteCurve2D | [virtual]
XForm(const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE) | Amanith::GHermiteCurve2D | [virtual]
~GCurve2D() | Amanith::GCurve2D | [virtual]
~GElement() | Amanith::GElement | [virtual]
~GHermiteCurve2D() | Amanith::GHermiteCurve2D |
~GMultiCurve2D() | Amanith::GMultiCurve2D | [virtual]


Amanith::GHermiteCurve2DProxy

Amanith::GHermiteCurve2DProxy Class Reference

This class implements a GHermiteCurve2D proxy (provider). More...

Inheritance diagram for Amanith::GHermiteCurve2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GHermiteCurve2D proxy (provider).

This proxy provides the creation of GHermiteCurve2D class instances.

Member Function Documentation

const GClassID& Amanith::GHermiteCurve2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GHermiteCurve2DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GHermiteCurve2D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GHermiteCurve2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • ghermitecurve2d.h


Amanith::GHermiteCurve2DProxy Member List

This is the complete list of members for Amanith::GHermiteCurve2DProxy, including all inherited members.

ClassID() const | Amanith::GHermiteCurve2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GHermiteCurve2DProxy | [virtual]
DerivedClassID() const | Amanith::GHermiteCurve2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GHermiteKey1D

Amanith::GHermiteKey1D Struct Reference

1D Hermite key structure. More...

List of all members.

Public Member Functions

  • GHermiteKey1D ()
  • GHermiteKey1D (const GReal _Parameter, const GReal _Value)
  • GHermiteKey1D (const GReal _Parameter, const GReal _Value, const GReal _InTangent, const GReal _OutTangent)
  • GHermiteKey1D (const GHermiteKey1D &Source)
  • GHermiteKey1D & operator= (const GHermiteKey1D &Source)

Public Attributes

  • GReal Parameter
  • GReal Value
  • GReal InTangent
  • GReal OutTangent

Detailed Description

1D Hermite key structure.

This structure represents an 1D Hermite key. The key is described by its domain parameter, point position, incoming tangent and outcoming tangent.

Constructor & Destructor Documentation

Amanith::GHermiteKey1D::GHermiteKey1D ( )

Default constructor, set domain parameter at 0, point value at origin, and null tangents.

Amanith::GHermiteKey1D::GHermiteKey1D | ( | const GReal | _Parameter,
 |  | const GReal | _Value
 | ) |

Set constructor, specifying domain parameter and key point; tangents are set to null values.

Amanith::GHermiteKey1D::GHermiteKey1D | ( | const GReal | _Parameter,
 |  | const GReal | _Value,
 |  | const GReal | _InTangent,
 |  | const GReal | _OutTangent
 | ) |

Set constructor, specifying all data.

Amanith::GHermiteKey1D::GHermiteKey1D ( const GHermiteKey1D & Source )

Copy constructor.

Member Function Documentation

GHermiteKey1D& Amanith::GHermiteKey1D::operator= ( const GHermiteKey1D & Source )

Assignment operator.

Member Data Documentation

GReal Amanith::GHermiteKey1D::InTangent

Incoming tangent value.

GReal Amanith::GHermiteKey1D::OutTangent

Outcoming tangent value.

GReal Amanith::GHermiteKey1D::Parameter

Domain parameter.

GReal Amanith::GHermiteKey1D::Value

Key value, a 1D geometric point.

The documentation for this struct was generated from the following file:
  • ghermitecurve1d.h


Amanith::GHermiteKey1D Member List

This is the complete list of members for Amanith::GHermiteKey1D, including all inherited members.

GHermiteKey1D() Amanith::GHermiteKey1D
GHermiteKey1D(const GReal _Parameter, const GReal _Value) | Amanith::GHermiteKey1D
GHermiteKey1D(const GReal _Parameter, const GReal _Value, const GReal _InTangent, const GReal _OutTangent) | Amanith::GHermiteKey1D
GHermiteKey1D(const GHermiteKey1D &Source) | Amanith::GHermiteKey1D
InTangent Amanith::GHermiteKey1D
operator=(const GHermiteKey1D &Source) | Amanith::GHermiteKey1D


Amanith::GHermiteKey2D

Amanith::GHermiteKey2D Struct Reference

Hermite key structure. More...

List of all members.

Public Member Functions

  • GHermiteKey2D ()
  • GHermiteKey2D (const GReal _Parameter, const GPoint2 &_Value)
  • GHermiteKey2D (const GReal _Parameter, const GPoint2 &_Value, const GVector2 &_InTangent, const GVector2 &_OutTangent)
  • GHermiteKey2D (const GHermiteKey2D &Source)
  • GHermiteKey2D & operator= (const GHermiteKey2D &Source)

Public Attributes

  • GReal Parameter
  • GPoint2 Value
  • GVector2 InTangent
  • GVector2 OutTangent

Detailed Description

Hermite key structure.

This structure represents an Hermite key. The key is described by its domain parameter, point position, incoming tangent and outcoming tangent.

Constructor & Destructor Documentation

Amanith::GHermiteKey2D::GHermiteKey2D ( )

Default constructor, set domain parameter at 0, point value at origin, and null tangents.

Amanith::GHermiteKey2D::GHermiteKey2D | ( | const GReal | _Parameter,
 |  | const GPoint2 & | _Value
 | ) |

Set constructor, specifying domain parameter and key point; tangents are set to null values.

Amanith::GHermiteKey2D::GHermiteKey2D | ( | const GReal | _Parameter,
 |  | const GPoint2 & | _Value,
 |  | const GVector2 & | _InTangent,
 |  | const GVector2 & | _OutTangent
 | ) |

Set constructor, specifying all data.

Amanith::GHermiteKey2D::GHermiteKey2D ( const GHermiteKey2D & Source )

Copy constructor.

Member Function Documentation

GHermiteKey2D& Amanith::GHermiteKey2D::operator= ( const GHermiteKey2D & Source )

Assignment operator.

Member Data Documentation

GVector2 Amanith::GHermiteKey2D::InTangent

Incoming tangent vector.

GVector2 Amanith::GHermiteKey2D::OutTangent

Outcoming tangent vector.

GReal Amanith::GHermiteKey2D::Parameter

Domain parameter.

GPoint2 Amanith::GHermiteKey2D::Value

Key value, a 2D geometric point.

The documentation for this struct was generated from the following file:
  • ghermitecurve2d.h


Amanith::GHermiteKey2D Member List

This is the complete list of members for Amanith::GHermiteKey2D, including all inherited members.

GHermiteKey2D() Amanith::GHermiteKey2D
GHermiteKey2D(const GReal _Parameter, const GPoint2 &_Value) | Amanith::GHermiteKey2D
GHermiteKey2D(const GReal _Parameter, const GPoint2 &_Value, const GVector2 &_InTangent, const GVector2 &_OutTangent) | Amanith::GHermiteKey2D
GHermiteKey2D(const GHermiteKey2D &Source) | Amanith::GHermiteKey2D
InTangent Amanith::GHermiteKey2D
operator=(const GHermiteKey2D &Source) | Amanith::GHermiteKey2D


Amanith::GHermiteProperty1D

Amanith::GHermiteProperty1D Class Reference

A key-frame based property, that uses an Hermite interpolation schema. More...

Inheritance diagram for Amanith::GHermiteProperty1D:

Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GHermiteProperty1D ()
  • GHermiteProperty1D (const GElement *Owner)
  • ~GHermiteProperty1D ()
  • void RecalcSmoothTangents (const GBool SmoothEnds=G_TRUE)
  • GError HermiteKey (const GUInt32 Index, GHermiteKey1D &OutputKey) const
  • GError SetHermiteKey (const GUInt32 Index, const GReal NewKeyValue, const GReal InTangent, const GReal OutTangent)
  • GError SetHermiteKeys (const GDynArray< GHermiteKey1D > &Keys)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const
  • GKeyType HandledType () const

Protected Member Functions

  • GError DoGetKey (const GUInt32 Index, GKeyValue &OutputKey) const
  • GError DoSetKey (const GUInt32 Index, const GKeyValue &NewKeyValue)
  • GError DoAddKey (const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists)
  • GError DoMoveKey (const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists)
  • GError DoRemoveKey (const GUInt32 Index)
  • GError DoGetValue (GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const
  • GError DoSetValue (const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod)
  • GInt32 DoGetKeysCount () const
  • GError DoSetKeys (const GDynArray< GKeyValue > &Keys)
  • GError BaseClone (const GElement &Source)

Detailed Description

A key-frame based property, that uses an Hermite interpolation schema.

This animated property handles scalar real type, and interpolates between keys using an Hermite interpolation schema.

Constructor & Destructor Documentation

Amanith::GHermiteProperty1D::GHermiteProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GHermiteProperty1D::GHermiteProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GHermiteProperty1D::~GHermiteProperty1D ( )

Destructor.

Member Function Documentation

GError Amanith::GHermiteProperty1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source GHermiteProperty1D class.

Reimplemented from Amanith::GProperty.

const GClassID& Amanith::GHermiteProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GProperty.

const GClassID& Amanith::GHermiteProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GProperty.

GError Amanith::GHermiteProperty1D::DoAddKey | ( | const GTimeValue | TimePos,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Add a point on curve, TimePos is ensured to be inside domain. Index will be the index occupied by the created key. AlreadyExists will be G_TRUE if at the specified TimePos there was already an existing key.

Reimplemented from Amanith::GProperty.

GError Amanith::GHermiteProperty1D::DoGetKey | ( | const GUInt32 | Index,
 |  | GKeyValue & | OutputKey
 | ) | const [protected, virtual]

Get a key value by index; here is ensured that Index is valid.

Reimplemented from Amanith::GProperty.

GInt32 Amanith::GHermiteProperty1D::DoGetKeysCount ( ) const [protected, virtual]

Return the number of keys.

Reimplemented from Amanith::GProperty.

GError Amanith::GHermiteProperty1D::DoGetValue | ( | GKeyValue & | OutputValue,
 |  | GTimeInterval & | ValidInterval,
 |  | const GTimeValue | TimePos,
 |  | const GValueMethod | GetMethod
 | ) | const [protected, virtual]

Get property value at a specified time position.

Parameters:
OutputValue | the returned property value.
ValidInterval | the validity interval to update; property validity interval should be intersected with this interval.
TimePos | the time position where to sample the property value. In this method it is ensured to be inside domain interval.
GetMethod | the method used to get value.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

Reimplemented from Amanith::GProperty.

GError Amanith::GHermiteProperty1D::DoMoveKey | ( | const GUInt32 | Index,
 |  | const GReal | NewTimePos,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Move a key to a different time position.

Parameters:
Index | the key that we wanna move, it is ensured valid.
NewTimePos | the new time position where to move the Index-th key.
NewIndex | the new index position associated to the moved key.
AlreadyExists | G_TRUE if at specified NewTimePos there was already a key. In this key it will be overridden by the moved key.

Reimplemented from Amanith::GProperty.

GError Amanith::GHermiteProperty1D::DoRemoveKey ( const GUInt32 Index ) [protected, virtual]

Remove a key by index.

Parameters:
Index key index, is ensured to be valid.

Reimplemented from Amanith::GProperty.

GError Amanith::GHermiteProperty1D::DoSetKey | ( | const GUInt32 | Index,
 |  | const GKeyValue & | NewKeyValue
 | ) | [protected, virtual]

Set a key value by index; here is ensured that Index is valid.

Reimplemented from Amanith::GProperty.

GError Amanith::GHermiteProperty1D::DoSetKeys ( const GDynArray< GKeyValue > & Keys ) [protected, virtual]

Set all keys (they don't need to be sorted by time).

This function rebuilds the property animated track, specifying all the new keys. The specified keys can be in any time-order, they will be sorted internally.

Parameters:
Keys the array of keys, it is ensured to contain at least one entry.
Note:
Every key must be filled with value and time position.

Reimplemented from Amanith::GProperty.

GError Amanith::GHermiteProperty1D::DoSetValue | ( | const GKeyValue & | InputValue,
 |  | const GTimeValue | TimePos,
 |  | const GValueMethod | SetMethod
 | ) | [protected, virtual]

Set the property value at a specified time position.

This method adds a new key at the specified time position, with the passed value.

Parameters:
InputValue | the value to set.
TimePos | the time position where to set the property value.
SetMethod | method used to set the value. For now, the only supported method is G_ABSOLUTE_VALUE.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
TimePos can be outside range, behavior is to append (at front/back) created key and expand domain.

Reimplemented from Amanith::GProperty.

GKeyType Amanith::GHermiteProperty1D::HandledType ( ) const [virtual]

Get handled key values. Every property MUST implement this method.

Reimplemented from Amanith::GProperty.

GError Amanith::GHermiteProperty1D::HermiteKey | ( | const GUInt32 | Index,
 |  | GHermiteKey1D & | OutputKey
 | ) | const

Get a full Hermite key, specifying index.

void Amanith::GHermiteProperty1D::RecalcSmoothTangents ( const GBool SmoothEnds = G_TRUE )

Recalculate all keys tangents, using a smoothing schema (Catmull-Rom).

Parameters:
SmoothEnds if G_TRUE, set first and last key tangents to the same value (useful for a looped curve).
Note:
this method do nothing if there aren't at least 2 keys.

GError Amanith::GHermiteProperty1D::SetHermiteKey | ( | const GUInt32 | Index,
 |  | const GReal | NewKeyValue,
 |  | const GReal | InTangent,
 |  | const GReal | OutTangent
 | ) |

Set a full Hermite key, specifying index and all values.

GError Amanith::GHermiteProperty1D::SetHermiteKeys ( const GDynArray< GHermiteKey1D > & Keys )

Set all keys (they don't need to be sorted by time), specifying full Hermite values.

The documentation for this class was generated from the following files:
  • gproperty.h
  • gproperty.cpp


Amanith::GHermiteProperty1D Member List

This is the complete list of members for Amanith::GHermiteProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GHermiteProperty1D | [protected, virtual]
ClassID() const | Amanith::GHermiteProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GHermiteProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GHermiteProperty1D | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GHermiteProperty1D | [protected, virtual]
DoGetKeysCount() const | Amanith::GHermiteProperty1D | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GHermiteProperty1D | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GHermiteProperty1D | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GHermiteProperty1D | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GHermiteProperty1D | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GHermiteProperty1D | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GHermiteProperty1D | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GHermiteProperty1D() Amanith::GHermiteProperty1D
GHermiteProperty1D(const GElement *Owner) | Amanith::GHermiteProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
HandledType() const | Amanith::GHermiteProperty1D | [virtual]
HermiteKey(const GUInt32 Index, GHermiteKey1D &OutputKey) const | Amanith::GHermiteProperty1D
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RecalcSmoothTangents(const GBool SmoothEnds=G_TRUE) | Amanith::GHermiteProperty1D
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetHermiteKey(const GUInt32 Index, const GReal NewKeyValue, const GReal InTangent, const GReal OutTangent) | Amanith::GHermiteProperty1D
SetHermiteKeys(const GDynArray< GHermiteKey1D > &Keys) | Amanith::GHermiteProperty1D
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GHermiteProperty1DProxy

Amanith::GHermiteProperty1DProxy Class Reference

This class implements a GHermiteProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GHermiteProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GHermiteProperty1D proxy (provider).

This proxy provides the creation of GHermiteProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GHermiteProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GHermiteProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GHermiteProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GHermiteProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gproperty.h


Amanith::GHermiteProperty1DProxy Member List

This is the complete list of members for Amanith::GHermiteProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GHermiteProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GHermiteProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GHermiteProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GImpExp

Amanith::GImpExp Class Reference

Import/Export plugin interface class. More...

Inheritance diagram for Amanith::GImpExp:

Amanith::GElement List of all members.

Public Member Functions

  • GImpExp ()
  • GImpExp (const GElement *Owner)
  • ~GImpExp ()
  • GError Read (const GChar8 *FullFileName, GElement &Element, const GChar8 *Options=NULL)
  • GError Write (const GChar8 *FullFileName, const GElement &Element, const GChar8 *Options=NULL)
  • const GDynArray< GImpExpFeature > & Features () const
  • GBool FormatSupported (const GChar8 *FormatName, const GBool Reading, const GBool Writing) const
  • GBool FormatSupported (const GChar8 *FormatName, const GClassID &ID, const GBool Reading, const GBool Writing) const
  • GBool FileExtensionSupported (const GChar8 *FileExt, const GBool Reading, const GBool Writing) const
  • GBool FileExtensionSupported (const GChar8 *FileExt, const GClassID &ID, const GBool Reading, const GBool Writing) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • void AddEntry (const GImpExpFeature &Entry)
  • GError ParseOptions (const GChar8 *Options, GDynArray< GImpExpOption > &ParsedOptions) const
  • virtual GError DoRead (const GChar8 *FullFileName, GElement &Element, const GDynArray< GImpExpOption > &ParsedOptions)=0
  • virtual GError DoWrite (const GChar8 *FullFileName, const GElement &Element, const GDynArray< GImpExpOption > &ParsedOptions)=0

Detailed Description

Import/Export plugin interface class.

GImpExp represents the base class for an import/export plugin.
Every plugin of this type must be derived from this class and, according to its I/O abilities, it must implement Read and/or Write functions.

Constructor & Destructor Documentation

Amanith::GImpExp::GImpExp ( )

Default constructor.

Amanith::GImpExp::GImpExp ( const GElement * Owner )

Constructor with owner parameter.

Amanith::GImpExp::~GImpExp ( )

Destructor.

Member Function Documentation

void Amanith::GImpExp::AddEntry ( const GImpExpFeature & Entry ) [protected]

Add an import/export feature to the internal list.

Parameters:
Entry the new feature that we wanna add to the internal list

const GClassID& Amanith::GImpExp::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GElement.

const GClassID& Amanith::GImpExp::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GElement.

virtual GError Amanith::GImpExp::DoRead | ( | const GChar8 * | FullFileName,
 |  | GElement & | Element,
 |  | const GDynArray< GImpExpOption > & | ParsedOptions
 | ) | [protected, pure virtual]

Read an element from external file. Must be implemented by plugins.

Parameters:
FullFileName | is a string containing the full file name (path + name + extension) of the file we wanna read from. It is ensured that is not empty.
Element a reference to the element that will be filled with information read from file.
It is ensured that it's of a type (ClassID) supported (for read operation) by at least one feature held by this plugin.
ParsedOptions | an array containing all valid (non empty) options specified for reading operation.
Returns:
if operation will complete successfully, G_NO_ERROR will be returned, else an error code.

virtual GError Amanith::GImpExp::DoWrite | ( | const GChar8 * | FullFileName,
 |  | const GElement & | Element,
 |  | const GDynArray< GImpExpOption > & | ParsedOptions
 | ) | [protected, pure virtual]

Write an element to external file. Must be implemented by plugins.

Parameters:
FullFileName | is a string containing the full file name (path + name + extension) of the file we wanna write to. It is ensured that is not empty.
Element a reference to the element that we wanna export to external file.
It is ensured that it's of a type (ClassID) supported (for write operation) by at least one feature held by this plugin.
ParsedOptions | an array containing all valid (non empty) options specified for writing operation.
Returns:
if operation will complete successfully, G_NO_ERROR will be returned, else an error code.

const GDynArray<GImpExpFeature>& Amanith::GImpExp::Features ( ) const

Get all input/output features supported by this plugin.

GBool Amanith::GImpExp::FileExtensionSupported | ( | const GChar8 * | FileExt,
 |  | const GClassID & | ID,
 |  | const GBool | Reading,
 |  | const GBool | Writing
 | ) | const

Ask for a file extension support for a specified class ID, specifying the type of operation (read and/or write).

Parameters:
FileExt | a string that contains the file extension we'are asking support for. Comparison is case-insensitive
ID | a class descriptor, used as a filter in addition with Reading and Writing parameters.
Reading | if true we are asking for "read operation supported for requested file extension". False if we are not interested to know if reading operation is supported for the specified file extension.
Writing | if true we are asking for "write operation supported for requested file extension". False if we are not interested to know if writing operation is supported for the specified file extension.
Returns:
a boolean that represents the response to the query induced by this function.

GBool Amanith::GImpExp::FileExtensionSupported | ( | const GChar8 * | FileExt,
 |  | const GBool | Reading,
 |  | const GBool | Writing
 | ) | const

Ask for a file extension support, specifying the type of operation (read and/or write).

Parameters:
FileExt | a string that contains the file extension we'are asking support for. Comparison is case-insensitive
Reading | if true we are asking for "read operation supported for requested file extension". False if we are not interested to know if reading operation is supported for the specified file extension.
Writing | if true we are asking for "write operation supported for requested file extension". False if we are not interested to know if writing operation is supported for the specified file extension.
Returns:
a boolean that represents the response to the query induced by this function.

GBool Amanith::GImpExp::FormatSupported | ( | const GChar8 * | FormatName,
 |  | const GClassID & | ID,
 |  | const GBool | Reading,
 |  | const GBool | Writing
 | ) | const

Ask for a format support for a specified class ID, specifying the type of operation (read and/or write).

Parameters:
FormatName | a string that contains the format we'are asking support for. Comparison is case-insensitive
ID | a class descriptor, used as a filter in addition with Reading and Writing parameters.
Reading | if true we are asking for "read operation supported for requested format". False if we are not interested to know if reading operation is supported for the specified format.
Writing | if true we are asking for "write operation supported for requested format". False if we are not interested to know if writing operation is supported for the specified format.
Returns:
a boolean that represents the response to the query induced by this function.

GBool Amanith::GImpExp::FormatSupported | ( | const GChar8 * | FormatName,
 |  | const GBool | Reading,
 |  | const GBool | Writing
 | ) | const

Ask for a format support, specifying the type of operation (read and/or write).

Parameters:
FormatName | a string that contains the format we'are asking support for. Comparison is case-insensitive
Reading | if true we are asking for "read operation supported for requested format". False if we are not interested to know if reading operation is supported for the specified format.
Writing | if true we are asking for "write operation supported for requested format". False if we are not interested to know if writing operation is supported for the specified format.
Returns:
a boolean that represents the response to the query induced by this function.

GError Amanith::GImpExp::ParseOptions | ( | const GChar8 * | Options,
 |  | GDynArray< GImpExpOption > & | ParsedOptions
 | ) | const [protected]

Parse semicolon separated options.

Parameters:
Options | a string containing semicolon-separated options. Each option must be in the format of name=value (ex: "forcewritting=true;allowblanks=false;version=3")
ParsedOptions | the list of parsed options given in output.
Returns:
An error code if operation cannot be concluded successfully, else G_NO_ERROR

GError Amanith::GImpExp::Read | ( | const GChar8 * | FullFileName,
 |  | GElement & | Element,
 |  | const GChar8 * | Options = NULL
 | ) |

Read an element from external file.

Parameters:
FullFileName | is a string containing the full file name (path + name + extension) of the file we wanna read from. It must be non-empty.
Element | a reference to the element that will be filled with information read from file.
Options a string containing a semicolon-separated options. Each option must be in the format name=value.
(ex: "allowblanks=false;version=3"
Returns:
if operation will complete successfully, G_NO_ERROR will be returned, else an error code.

GError Amanith::GImpExp::Write | ( | const GChar8 * | FullFileName,
 |  | const GElement & | Element,
 |  | const GChar8 * | Options = NULL
 | ) |

Write an element to external file. If operation will complete successfully, G_NO_ERROR will be returned, else an error code.

The documentation for this class was generated from the following files:
  • gimpexp.h
  • gimpexp.cpp


Amanith::GImpExp Member List

This is the complete list of members for Amanith::GImpExp, including all inherited members.

AddEntry(const GImpExpFeature &Entry) | Amanith::GImpExp | [protected]
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GElement | [protected, virtual]
ClassID() const | Amanith::GImpExp | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DerivedClassID() const | Amanith::GImpExp | [virtual]
DoRead(const GChar8 *FullFileName, GElement &Element, const GDynArray< GImpExpOption > &ParsedOptions)=0 | Amanith::GImpExp | [protected, pure virtual]
DoWrite(const GChar8 *FullFileName, const GElement &Element, const GDynArray< GImpExpOption > &ParsedOptions)=0 | Amanith::GImpExp | [protected, pure virtual]
Features() const | Amanith::GImpExp
FileExtensionSupported(const GChar8 *FileExt, const GBool Reading, const GBool Writing) const | Amanith::GImpExp
FileExtensionSupported(const GChar8 *FileExt, const GClassID &ID, const GBool Reading, const GBool Writing) const | Amanith::GImpExp
FormatSupported(const GChar8 *FormatName, const GBool Reading, const GBool Writing) const | Amanith::GImpExp
FormatSupported(const GChar8 *FormatName, const GClassID &ID, const GBool Reading, const GBool Writing) const | Amanith::GImpExp
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GImpExp() Amanith::GImpExp
GImpExp(const GElement *Owner) | Amanith::GImpExp
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
ParseOptions(const GChar8 *Options, GDynArray< GImpExpOption > &ParsedOptions) const | Amanith::GImpExp | [protected]
Read(const GChar8 *FullFileName, GElement &Element, const GChar8 *Options=NULL) | Amanith::GImpExp
Write(const GChar8 *FullFileName, const GElement &Element, const GChar8 *Options=NULL) | Amanith::GImpExp
~GElement() | Amanith::GElement | [virtual]


Amanith::GImpExpFeature

Amanith::GImpExpFeature Class Reference

Generic import/export feature descriptor. More...

List of all members.

Public Member Functions

  • GImpExpFeature ()
  • GImpExpFeature (const GImpExpFeature &Source)
  • GImpExpFeature (const GClassID Class_ID, const GChar8 *FormatName, const GChar8 *Extensions, const GInt32 Maj, const GInt32 MidMaj=0, const GInt32 MidMin=0, const GInt32 Min=0, const GReadWriteOp ReadWriteOp=G_IMPEXP_READWRITE)
  • const GClassID & ClassID () const
  • const GChar8 * FormatName () const
  • GReadWriteOp ReadWriteOp () const
  • GString Version () const
  • GBool FormatSupported (const GChar8 *FormatName, const GBool Reading, const GBool Writing) const
  • GBool FormatSupported (const GChar8 *FormatName, const GClassID &ID, const GBool Reading, const GBool Writing) const
  • GBool FileExtensionSupported (const GChar8 *FileExt, const GBool Reading, const GBool Writing) const
  • GBool FileExtensionSupported (const GChar8 *FileExt, const GClassID &ID, const GBool Reading, const GBool Writing) const
  • GUInt32 FileExtensionsCount () const
  • GString FileExtension (const GUInt32 Index) const

Detailed Description

Generic import/export feature descriptor.

GImpExpFeature implements an import/export feature descriptor, and it's used by import/export plugins to describe their abilities, and to answer to various queries like "is this format supported for reading" or "is this file extension managed?", and much more.
An import/export feature descriptor is made of several informations, like supported format name, list of supported file extensions, version of supported file-types and a class descriptor (GClassID) that specify what kind of element is supported by this feature.
For example the following feature descriptor describes the ability to read and write JPEG images:

GImpExpFeature(G_PIXELMAP_CLASSID, "Jpeg", "jpg;jpeg", 1, 0, 0, 0, G_IMPEXP_READWRITE)

G_PIXELMAP_CLASSID: Images are managed by GPixelMap class.
"Jpeg": Format name.
"jpg;jpeg": Supported file extensions (associated to the file format).
1, 0, 0, 0: Version 1.0.0.0.
G_IMPEXP_READWRITE: I/O abilities.

Constructor & Destructor Documentation

Amanith::GImpExpFeature::GImpExpFeature ( )

Default constructor.

Amanith::GImpExpFeature::GImpExpFeature ( const GImpExpFeature & Source )

Copy constructor.

Amanith::GImpExpFeature::GImpExpFeature | ( | const GClassID | Class_ID,
 |  | const GChar8 * | FormatName,
 |  | const GChar8 * | Extensions,
 |  | const GInt32 | Maj,
 |  | const GInt32 | MidMaj = 0,
 |  | const GInt32 | MidMin = 0,
 |  | const GInt32 | Min = 0,
 |  | const GReadWriteOp | ReadWriteOp = G_IMPEXP_READWRITE
 | ) |

Set constructor.

Parameters:
Class_ID | a class descriptor for the class supported by this feature.
FormatName | a string describing supported format.
Extensions | a string of semicolon-separated file extensions supported by this feature. (ex: "jpg;jpeg")
Maj,MidMaj,MidMin,Min | integer numbers forming format version (ex: 1, 0, 0, 0 for 1.0.0.0 version)
ReadWriteOp | value that specifies I/O abilities

Member Function Documentation

const GClassID& Amanith::GImpExpFeature::ClassID ( ) const

Class descriptor of managed objects by this feature.

GString Amanith::GImpExpFeature::FileExtension ( const GUInt32 Index ) const

Get the Index-th file extension.

Parameters:
Index specify what file extension we wanna retrieve. It must be in the range [0; FileExtensionsCount() - 1]
Returns:
a string containing the requested file extension. In case of invalid Index an empty string is returned.

GUInt32 Amanith::GImpExpFeature::FileExtensionsCount ( ) const

Number of supported file extensions.

Returns:
Number of file extensions "provided" by this feature.

GBool Amanith::GImpExpFeature::FileExtensionSupported | ( | const GChar8 * | FileExt,
 |  | const GClassID & | ID,
 |  | const GBool | Reading,
 |  | const GBool | Writing
 | ) | const

Ask for a file extension support for a specified class ID, specifying the type of operation (read and/or write).

Parameters:
FileExt a string that contains the file extension (without dot!) we'are asking support for (ex: "jpg").
Comparison is case-insensitive.
ID | a class descriptor, used as a filter in addition with Reading and Writing parameters.
Reading | if true we are asking for "read operation supported for requested file extension". False if we are not interested to know if reading operation is supported for the specified file extension.
Writing | if true we are asking for "write operation supported for requested file extension". False if we are not interested to know if writing operation is supported for the specified file extension.
Returns:
a boolean that represents the response to the query induced by this function.

GBool Amanith::GImpExpFeature::FileExtensionSupported | ( | const GChar8 * | FileExt,
 |  | const GBool | Reading,
 |  | const GBool | Writing
 | ) | const

Ask for a file extension support, specifying the type of operation (read and/or write).

Parameters:
FileExt a string that contains the file extension (without dot!) we'are asking support for (ex: "jpg").
Comparison is case-insensitive.
Reading | if true we are asking for "read operation supported for requested file extension". False if we are not interested to know if reading operation is supported for the specified file extension.
Writing | if true we are asking for "write operation supported for requested file extension". False if we are not interested to know if writing operation is supported for the specified file extension.
Returns:
a boolean that represents the response to the query induced by this function.

const GChar8* Amanith::GImpExpFeature::FormatName ( ) const

Name of the supported format.

GBool Amanith::GImpExpFeature::FormatSupported | ( | const GChar8 * | FormatName,
 |  | const GClassID & | ID,
 |  | const GBool | Reading,
 |  | const GBool | Writing
 | ) | const

Parameters:
FormatName | a string that contains the format we'are asking support for. Comparison is case-insensitive
ID | a class descriptor, used as a filter in addition with Reading and Writing parameters.
Reading | if true we are asking for "read operation supported for requested format". False if we are not interested to know if reading operation is supported for the specified format.
Writing | if true we are asking for "write operation supported for requested format". False if we are not interested to know if writing operation is supported for the specified format.
Returns:
a boolean that represents the response to the query induced by this function.

GBool Amanith::GImpExpFeature::FormatSupported | ( | const GChar8 * | FormatName,
 |  | const GBool | Reading,
 |  | const GBool | Writing
 | ) | const

Ask for a format support, specifying the type of operation (read and/or write).

Parameters:
FormatName | a string that contains the format we'are asking support for. Comparison is case-insensitive
Reading | if true we are asking for "read operation supported for requested format". False if we are not interested to know if reading operation is supported for the specified format.
Writing | if true we are asking for "write operation supported for requested format". False if we are not interested to know if writing operation is supported for the specified format.
Returns:
a boolean that represents the response to the query induced by this function.

GReadWriteOp Amanith::GImpExpFeature::ReadWriteOp ( ) const

Ask for I/O abilities provided by this feature.

GString Amanith::GImpExpFeature::Version ( ) const

Version number in string format.

Returns:
a string representing supported format version (ex: "1.0.0.0")
The documentation for this class was generated from the following files:
  • gimpexp.h
  • gimpexp.cpp


Amanith::GImpExpFeature Member List

This is the complete list of members for Amanith::GImpExpFeature, including all inherited members.

ClassID() const | Amanith::GImpExpFeature
FileExtension(const GUInt32 Index) const | Amanith::GImpExpFeature
FileExtensionsCount() const | Amanith::GImpExpFeature
FileExtensionSupported(const GChar8 *FileExt, const GBool Reading, const GBool Writing) const | Amanith::GImpExpFeature
FileExtensionSupported(const GChar8 *FileExt, const GClassID &ID, const GBool Reading, const GBool Writing) const | Amanith::GImpExpFeature
FormatName() const | Amanith::GImpExpFeature
FormatSupported(const GChar8 *FormatName, const GBool Reading, const GBool Writing) const | Amanith::GImpExpFeature
FormatSupported(const GChar8 *FormatName, const GClassID &ID, const GBool Reading, const GBool Writing) const | Amanith::GImpExpFeature
GImpExpFeature() | Amanith::GImpExpFeature
GImpExpFeature(const GImpExpFeature &Source) | Amanith::GImpExpFeature
GImpExpFeature(const GClassID Class_ID, const GChar8 *FormatName, const GChar8 *Extensions, const GInt32 Maj, const GInt32 MidMaj=0, const GInt32 MidMin=0, const GInt32 Min=0, const GReadWriteOp ReadWriteOp=G_IMPEXP_READWRITE) | Amanith::GImpExpFeature
ReadWriteOp() const | Amanith::GImpExpFeature
Version() const | Amanith::GImpExpFeature


Amanith::GImpExpProxy

Amanith::GImpExpProxy Class Reference

This class implements a GImpExp proxy (provider). More...

Inheritance diagram for Amanith::GImpExpProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GImpExp proxy (provider).

This proxy does not override CreateNew() method because we don't wanna make a creation of a GImpExp class possible (because of virtual and not implemented Read() and Write() methods).

Member Function Documentation

const GClassID& Amanith::GImpExpProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GImpExpProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gimpexp.h


Amanith::GImpExpProxy Member List

This is the complete list of members for Amanith::GImpExpProxy, including all inherited members.

ClassID() const | Amanith::GImpExpProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GElementProxy | [virtual]
DerivedClassID() const | Amanith::GImpExpProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GIntegration

Amanith::GIntegration Class Reference

This class implements numerical integration of scalar functions. More...

List of all members.

Public Types

  • typedef GReal(* GFunction )(const GReal, void *)

Static Public Member Functions

  • static GBool Romberg (GReal &Result, const GReal u0, const GReal u1, GFunction Function, void *UserData, const GReal MaxError=G_EPSILON)

Detailed Description

This class implements numerical integration of scalar functions.

Member Typedef Documentation

typedef GReal(* Amanith::GIntegration::GFunction)(const GReal, void *)

Type definition of a scalar function callback.

Member Function Documentation

GBool Amanith::GIntegration::Romberg | ( | GReal & | Result,
 |  | const GReal | u0,
 |  | const GReal | u1,
 |  | GFunction | Function,
 |  | void * | UserData,
 |  | const GReal | MaxError = G_EPSILON
 | ) | [static]

Romberg integration for continuous scalar functions.

Parameters:
Result | the output calculated integral.
u0 | lower bound of integration domain
u1 | upper bound of integration domain
Function | the callback function used to evaluate integrand.
UserData | pointer passed to the callback function.
MaxError | the maximum relative precision we wanna reach for the integral calculus.
Returns:
G_TRUE if the specified precision has been reached, G_FALSE otherwise
The documentation for this class was generated from the following files:
  • gintegration.h
  • gintegration.cpp


Amanith::GIntegration Member List

This is the complete list of members for Amanith::GIntegration, including all inherited members.

GFunction typedef | Amanith::GIntegration |
Romberg(GReal &Result, const GReal u0, const GReal u1, GFunction Function, void *UserData, const GReal MaxError=G_EPSILON) | Amanith::GIntegration | [static]


Amanith::GInterval

Amanith::GInterval< DATA_TYPE > Class Template Reference

GInterval represents a mono dimensional interval. More...

List of all members.

Public Member Functions

  • GInterval ()
  • GInterval (const DATA_TYPE StartValue, const DATA_TYPE EndValue)
  • GInterval (const GInterval< DATA_TYPE > &Interval)
  • ~GInterval ()
  • const DATA_TYPE Start () const
  • const DATA_TYPE End () const
  • void SetStart (const DATA_TYPE &StartValue)
  • void SetEnd (const DATA_TYPE &EndValue)
  • void Set (const DATA_TYPE &StartValue, const DATA_TYPE &EndValue)
  • GBool IsInInterval (const DATA_TYPE &Value) const
  • GBool IsIncluded (const GInterval< DATA_TYPE > &Interval) const
  • const DATA_TYPE Length () const
  • const GBool IsEmpty () const
  • GInterval< DATA_TYPE > & operator= (const GInterval< DATA_TYPE > &Source)
  • GInterval< DATA_TYPE > & operator &= (const GInterval< DATA_TYPE > &Source)
  • GInterval< DATA_TYPE > & operator|= (const GInterval< DATA_TYPE > &Source)
  • GInt32 CyclesCount (const DATA_TYPE &Value) const
  • DATA_TYPE CycleValue (const DATA_TYPE &Value) const
  • GInterval< DATA_TYPE > operator & (const GInterval< DATA_TYPE > &Interval)
  • GInterval< DATA_TYPE > operator| (const GInterval< DATA_TYPE > &Interval)

Detailed Description

template<typename DATA_TYPE>
class Amanith::GInterval< DATA_TYPE >

GInterval represents a mono dimensional interval.

Intervals can be intersected, joined and some useful queries are provided by this class.

Parameters:
DATA_TYPE the type used for interval ends.

Constructor & Destructor Documentation

template<typename DATA_TYPE>
Amanith::GInterval< DATA_TYPE >::GInterval ( )

Default constructor, interval ends are set to 0.

template<typename DATA_TYPE>
Amanith::GInterval< DATA_TYPE >::GInterval | ( | const DATA_TYPE | StartValue,
 |  | const DATA_TYPE | EndValue
 | ) |

Set constructor, interval ends are given as parameter.

Note:
After this constructor is always ensured that interval ends are ordered in the correct way.

template<typename DATA_TYPE>
Amanith::GInterval< DATA_TYPE >::GInterval ( const GInterval< DATA_TYPE > & Interval )

Copy constructor.

template<typename DATA_TYPE>
Amanith::GInterval< DATA_TYPE >::~GInterval ( )

Destructor, it does nothing.

Member Function Documentation

template<typename DATA_TYPE>
GInt32 Amanith::GInterval< DATA_TYPE >::CyclesCount ( const DATA_TYPE & Value ) const

Calculates the number of cycles 'Value' is long; each cycle has a length of Length() unit. Example:

    GInterval<GInt32> i(-2, 5);
    GInt32 c1 = i.CyclesCount(7);   // now c1 is equal to 1
    GInt32 c2 = i.CyclesCount(-18); // now c2 is equal to 3
    GInt32 c3 = i.CyclesCount(0);   // now c3 is equal to 0

template<typename DATA_TYPE>
DATA_TYPE Amanith::GInterval< DATA_TYPE >::CycleValue ( const DATA_TYPE & Value ) const

Cycles the passed value, so that the result is always inside interval. Example:

    GInterval<GInt32> i(-2, 5);
    GInt32 c1 = i.CyclesCount(7);   // now c1 is equal to 0
    GInt32 c2 = i.CyclesCount(-10); // now c2 is equal to 4
    GInt32 c3 = i.CyclesCount(3);   // now c3 is equal to 3

template<typename DATA_TYPE>
const DATA_TYPE Amanith::GInterval< DATA_TYPE >::End ( ) const

Get interval upper bound.

template<typename DATA_TYPE>
const GBool Amanith::GInterval< DATA_TYPE >::IsEmpty ( ) const

Check if interval is empty. It's empty if its upper bound is less or equal to its lower bound.

template<typename DATA_TYPE>
GBool Amanith::GInterval< DATA_TYPE >::IsIncluded ( const GInterval< DATA_TYPE > & Interval ) const

Test if specified interval is completely included in this interval (including ends).

template<typename DATA_TYPE>
GBool Amanith::GInterval< DATA_TYPE >::IsInInterval ( const DATA_TYPE & Value ) const

Test if passed value is inside (including ends) the interval.

template<typename DATA_TYPE>
const DATA_TYPE Amanith::GInterval< DATA_TYPE >::Length ( ) const

Get interval length.

template<typename DATA_TYPE>
GInterval<DATA_TYPE> Amanith::GInterval< DATA_TYPE >::operator & ( const GInterval< DATA_TYPE > & Interval )

Binary intersection operator.

template<typename DATA_TYPE>
GInterval<DATA_TYPE>& Amanith::GInterval< DATA_TYPE >::operator &= ( const GInterval< DATA_TYPE > & Source )

Intersection operator.

template<typename DATA_TYPE>
GInterval<DATA_TYPE>& Amanith::GInterval< DATA_TYPE >::operator= ( const GInterval< DATA_TYPE > & Source )

Copy operator.

template<typename DATA_TYPE>
GInterval<DATA_TYPE> Amanith::GInterval< DATA_TYPE >::operator| ( const GInterval< DATA_TYPE > & Interval )

Binary union operator.

template<typename DATA_TYPE>
GInterval<DATA_TYPE>& Amanith::GInterval< DATA_TYPE >::operator|= ( const GInterval< DATA_TYPE > & Source )

Union operator.

template<typename DATA_TYPE>
void Amanith::GInterval< DATA_TYPE >::Set | ( | const DATA_TYPE & | StartValue,
 |  | const DATA_TYPE & | EndValue
 | ) |

Set both interval bounds; after this call is always ensured that interval ends are ordered in the correct way.

template<typename DATA_TYPE>
void Amanith::GInterval< DATA_TYPE >::SetEnd ( const DATA_TYPE & EndValue )

Set interval upper bound; after this call is always ensured that interval ends are ordered in the correct way.

template<typename DATA_TYPE>
void Amanith::GInterval< DATA_TYPE >::SetStart ( const DATA_TYPE & StartValue )

Set interval lower bound; after this call is always ensured that interval ends are ordered in the correct way.

template<typename DATA_TYPE>
const DATA_TYPE Amanith::GInterval< DATA_TYPE >::Start ( ) const

Get interval lower bound.

The documentation for this class was generated from the following file:
  • ginterval.h


Amanith::GInterval< DATA_TYPE > Member List

This is the complete list of members for Amanith::GInterval< DATA_TYPE >, including all inherited members.

CyclesCount(const DATA_TYPE &Value) const | Amanith::GInterval< DATA_TYPE >
CycleValue(const DATA_TYPE &Value) const | Amanith::GInterval< DATA_TYPE >
End() const | Amanith::GInterval< DATA_TYPE >
GInterval() Amanith::GInterval< DATA_TYPE >
GInterval(const DATA_TYPE StartValue, const DATA_TYPE EndValue) | Amanith::GInterval< DATA_TYPE >
GInterval(const GInterval< DATA_TYPE > &Interval) | Amanith::GInterval< DATA_TYPE >
IsEmpty() const | Amanith::GInterval< DATA_TYPE >
IsIncluded(const GInterval< DATA_TYPE > &Interval) const | Amanith::GInterval< DATA_TYPE >
IsInInterval(const DATA_TYPE &Value) const | Amanith::GInterval< DATA_TYPE >
Length() const | Amanith::GInterval< DATA_TYPE >
operator &(const GInterval< DATA_TYPE > &Interval) | Amanith::GInterval< DATA_TYPE >
operator &=(const GInterval< DATA_TYPE > &Source) | Amanith::GInterval< DATA_TYPE >
operator=(const GInterval< DATA_TYPE > &Source) | Amanith::GInterval< DATA_TYPE >
operator|(const GInterval< DATA_TYPE > &Interval) | Amanith::GInterval< DATA_TYPE >
operator|=(const GInterval< DATA_TYPE > &Source) | Amanith::GInterval< DATA_TYPE >
Set(const DATA_TYPE &StartValue, const DATA_TYPE &EndValue) | Amanith::GInterval< DATA_TYPE >
SetEnd(const DATA_TYPE &EndValue) | Amanith::GInterval< DATA_TYPE >
SetStart(const DATA_TYPE &StartValue) | Amanith::GInterval< DATA_TYPE >
Start() const | Amanith::GInterval< DATA_TYPE >


Amanith::GKaiserDataDouble

Amanith::GKaiserDataDouble Struct Reference

Data structure for parameterized Kaiser window. (double version). More...

List of all members.

Detailed Description

Data structure for parameterized Kaiser window. (double version).

The documentation for this struct was generated from the following file:
  • gfilter.h


Amanith::GKaiserDataDouble Member List

This is the complete list of members for Amanith::GKaiserDataDouble, including all inherited members.


Amanith::GKaiserDataFloat

Amanith::GKaiserDataFloat Struct Reference

Data structure for parameterized Kaiser window. (float version). More...

List of all members.

Detailed Description

Data structure for parameterized Kaiser window. (float version).

The documentation for this struct was generated from the following file:
  • gfilter.h


Amanith::GKaiserDataFloat Member List

This is the complete list of members for Amanith::GKaiserDataFloat, including all inherited members.


Amanith::GKernel

Amanith::GKernel Class Reference

It's the core class that make introspection and plugins system possible and full working. More...

Inheritance diagram for Amanith::GKernel:

Amanith::GElement List of all members.

Public Member Functions

  • GKernel ()
  • GKernel (const GElement *Owner)
  • ~GKernel ()
  • GError ClassIDFromClassName (const GString &Class_Name, GClassID &OutID) const
  • GError Copy (const GElement &Source, GElement &Destination) const
  • GElement * CreateNew (const GClassID &Class_ID)
  • GElement * CreateNew (const GString &ClassName)
  • GBool IsTypeOfType (const GClassID &InspectedType, const GClassID &Class_ID) const
  • GBool IsSupported (const GClassID &Class_ID) const
  • GError LoadPlugin (const GChar8 *FullFileName, const GClassID *Filter=NULL)
  • GError LoadPlugins (const GChar8 *PathName, const GBool ScanSubFolders, const GClassID *Filter=NULL)
  • GError UnLoadPlugin (const GClassID &PluginClassID)
  • GError Load (const GChar8 *FileName, GElement &Element, const GChar8 *Options, const GChar8 *FormatName=NULL)
  • GError Save (const GChar8 *FileName, const GElement &Element, const GChar8 *Options, const GChar8 *FormatName=NULL)
  • GError ImpExpFeatures (GDynArray< GImpExpFeature > &Features) const
  • GError ImpExpFeatures (const GClassID &ID, GDynArray< GImpExpFeature > &Features) const
  • GInt32 ProxiesCount () const
  • GError Proxy (const GInt32 Index, GProxyState &OutProxy) const
  • const GDynArray< GProxyState > & Proxies () const
  • void RootClassProxies (GDynArray< GProxyState > &ProxyList) const
  • void ChildClassProxies (const GClassID &FatherClassID, GDynArray< GProxyState > &ChildList) const
  • void ChildClassProxies (const GElementProxy &FatherProxy, GDynArray< GProxyState > &ChildList) const
  • const GClassID & DerivedClassID () const
  • const GClassID & ClassID () const

Protected Member Functions

  • GError ScanDirectory (const GString &Path, GStringList &FoundPlugins, const GBool ScanSubFolders)
  • GError RegisterElementProxy (const GElementProxy &ElementProxy, const GBool External=G_FALSE, const GPlugLoader *Loader=NULL)
  • GError FindProxy (const GClassID &Class_ID, GInt32 &ProxyIndex) const
  • GError FindProxy (const GString &Class_Name, GInt32 &ProxyIndex) const
  • GError BaseClone (const GElement &Source)
  • GError RemoveElementReference (const GElement *Element)
  • GError AddElementReference (const GElement *Element)

Detailed Description

It's the core class that make introspection and plugins system possible and full working.

Kernel must be used for this kind of tasks:

  • Create a class instance, specifying a class descriptor or a class name. Example:

    GBezierCurve2D *newBezier1 = kernel->CreateNew(G_BEZIERCURVE2D_CLASSID);
GBezierCurve2D *newBezier2 = kernel->CreateNew("GBezierCurve2D");

  • Load external plugins, using functions like LoadPlugins() or LoadPlugin().
  • Automatic memory retrieving: when a kernel is deleted all created class instances are delete. Example:

    void FunFunction() {
    GKernel *newKernel = new GKernel();
    GBezierCurve2D *tmpBezier1 = kernel->CreateNew(G_BEZIERCURVE2D_CLASSID);
    GBezierCurve2D *tmpBezier2 = kernel->CreateNew("GBezierCurve2D");
    // do something with curves...
    ...
    delete newKernel;
}
    When "delete newKernel" instruction is executed, tmpBezier1 and tmpBezier2 will be automatically freed.

  • Types introspection: every classes instantiated with a kernel can answer to some useful queries. Example:

    GBezierCurve2D *tmpBezier1 = kernel->CreateNew(G_BEZIERCURVE2D_CLASSID);

if (tmpBezier1->IsOfType(G_CURVE2D_CLASSID)) {
    // now cast is type-safe
    GCurve2D *curve = tmpBezier1;
}

// here's a type-safe cast; after this instruction 'nullFont' variable will be NULL because
// introspection system knows that 'tmpBezier1' variable is not a GFont2D class or
// a GFont2D derived class
GFont2D *nullFont = tmpBezier1->As(G_FONT2D_CLASSID);

// using kernel, every instance can be used as "introspection provider"; this means that a class instanced through
// kernels have the same inspection power of the same kernel
if (tmpBezier1->IsTypeOfType(G_BSPLINECURVE2D_CLASSID, G_ELEMENT_CLASSID))
    printf("I can say without doubts that GBSplineCurve2D class derives from GElement class");

Constructor & Destructor Documentation

Amanith::GKernel::GKernel ( )

Default constructor.

Register all standard proxies, and scan Amanith's plugin directory to search for external plugins. Each found plugin will be automatically loaded.

Amanith::GKernel::GKernel ( const GElement * Owner )

Constructor with owner parameter.

Register all standard proxies, and scan Amanith's plugin directory to search for external plugins. Each found plugin will be automatically loaded.

Amanith::GKernel::~GKernel ( )

Destructor.

Unload from memory every registered plugins, and free all instanced classes.

Member Function Documentation

GError Amanith::GKernel::AddElementReference ( const GElement * Element ) [protected]

Add an element reference inside the internal instances list.

GError Amanith::GKernel::BaseClone ( const GElement & Source ) [protected, virtual]

Clone function.

Reimplemented from Amanith::GElement.

void Amanith::GKernel::ChildClassProxies | ( | const GElementProxy & | FatherProxy,
 |  | GDynArray< GProxyState > & | ChildList
 | ) | const

Get all proxies that manage classes derived from the one managed by proxy specified as first parameter.

void Amanith::GKernel::ChildClassProxies | ( | const GClassID & | FatherClassID,
 |  | GDynArray< GProxyState > & | ChildList
 | ) | const

Get all proxies that manage classes derived from the one specified as first parameter.

Parameters:
FatherClassID | a class descriptor specifying what kind of proxies we wanna retrieve
ChildList | a list of proxies that manage classes that derive from FatherClassID.
Note:
The list is first cleared, and then filled up with requested proxies.
See also:
Plugin Wizard Tool, you can find it into $AMANITHDIR/tools/plugwizard directory.

const GClassID& Amanith::GKernel::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GElement.

GError Amanith::GKernel::ClassIDFromClassName | ( | const GString & | Class_Name,
 |  | GClassID & | OutID
 | ) | const

Get class descriptor from a class name.

Reimplemented from Amanith::GElement.

GError Amanith::GKernel::Copy | ( | const GElement & | Source,
 |  | GElement & | Destination
 | ) | const

Copy (physically) a source element into a destination one.

Parameters:
Source | the source element
Destination | the destination element
Returns:
If operation will be succeeding G_NO_ERROR will be returned, else an error code.
Note:
This function can fail in two cases:
  • Source and Destination are of the same type (same ClassID). In this case failure can result from the physical cloning operation
  • Source and Destination are of different type. In this case failure can result because 2 reasons:
    • The Source element cannot be converted into a temporary element of the same class of Destination. Conversion is possible thanks to converter plugins. If kernel has not registered a such plugin a G_PLUGIN_NOTPRESENT error code will be returned.
    • The Source element can be converted into a temporary element of the same class of Destination, but cloning of temporary_object -> Destination has failed.
Todo:
check if we can choose a converter plugin that support this copy.

GElement * Amanith::GKernel::CreateNew ( const GString & ClassName )

Creation of a new element specifying a class name.

Reimplemented from Amanith::GElement.

GElement * Amanith::GKernel::CreateNew ( const GClassID & Class_ID )

Creation of a new element: here's the effective implementation that differs from every other GElement.

const GClassID& Amanith::GKernel::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GElement.

GError Amanith::GKernel::FindProxy | ( | const GString & | Class_Name,
 |  | GInt32 & | ProxyIndex
 | ) | const [protected]

Find a registered proxy that manage elements of specified class name.

GError Amanith::GKernel::FindProxy | ( | const GClassID & | Class_ID,
 |  | GInt32 & | ProxyIndex
 | ) | const [protected]

Find a registered proxy that manage elements of specified class descriptor.

GError Amanith::GKernel::ImpExpFeatures | ( | const GClassID & | ID,
 |  | GDynArray< GImpExpFeature > & | Features
 | ) | const

Retrieve import and export features for a class ID supported by this kernel.

Parameters:
Features | a list of import/export features supported by this plugin.
ID | a class descriptor filter. Only features that support this class identifier will be returned
Returns:
In case of success operation G_NO_ERROR will be returned and features list will be filled, else an error code

GError Amanith::GKernel::ImpExpFeatures ( GDynArray< GImpExpFeature > & Features ) const

Retrieve import and export features supported by this kernel.

Parameters:
Features a list of import/export features supported by this plugin.
Returns:
In case of success operation G_NO_ERROR will be returned and features list will be filled, else an error code

GBool Amanith::GKernel::IsSupported ( const GClassID & Class_ID ) const

Ask for a supported element type.

GBool Amanith::GKernel::IsTypeOfType | ( | const GClassID & | InspectedType,
 |  | const GClassID & | Class_ID
 | ) | const [virtual]

Is 'InspectedType' of type (equal or derived) 'Class_ID' ?

Reimplemented from Amanith::GElement.

GError Amanith::GKernel::Load | ( | const GChar8 * | FileName,
 |  | GElement & | Element,
 |  | const GChar8 * | Options,
 |  | const GChar8 * | FormatName = NULL
 | ) |

Load an element from an external file.

Parameters:
FileName | is a string containing the full file name (path + name + extension) of the file we wanna read from. It must be non-empty.
Element | a reference to the element that will be filled with information read from file.
Options a string containing a semicolon-separated options. Each option must be in the format name=value.
(ex: "allowblanks=false;version=3")
FormatName | an optional filter; it's case insensitive.
Returns:
if operation will complete successfully, G_NO_ERROR will be returned, else an error code.

GError Amanith::GKernel::LoadPlugin | ( | const GChar8 * | FullFileName,
 |  | const GClassID * | Filter = NULL
 | ) |

Load an external plugin, specifying a filter class descriptor.

Parameters:
FullFileName | a string containing a full plugin filename. It must be non NULL.
Filter | an optional class descriptor filter. If specified (non NULL), then plugin will be loaded only if it derives from the specified class identifier.
Returns:
G_NO_ERROR in case of success, else an error code

GError Amanith::GKernel::LoadPlugins | ( | const GChar8 * | PathName,
 |  | const GBool | ScanSubFolders,
 |  | const GClassID * | Filter = NULL
 | ) |

Scan a directory for plugins, and load them.

Parameters:
PathName | a string containing a path to scan for plugins. It must be non NULL.
ScanSubFolders | if true specifies that scanning must be done recursively on all included subdirectories
Filter | an optional class descriptor filter. If specified (non NULL), then found plugins will be loaded only if they derive from the specified class identifier.
Returns:
G_NO_ERROR in case of success, else an error code

const GDynArray<GProxyState>& Amanith::GKernel::Proxies ( ) const

Return registered proxies list.

GInt32 Amanith::GKernel::ProxiesCount ( ) const

Return number of registered proxies.

GError Amanith::GKernel::Proxy | ( | const GInt32 | Index,
 |  | GProxyState & | OutProxy
 | ) | const

Get the Index-th proxy.

GError Amanith::GKernel::RegisterElementProxy | ( | const GElementProxy & | ElementProxy,
 |  | const GBool | External = G_FALSE,
 |  | const GPlugLoader * | Loader = NULL
 | ) | [protected]

Register a single element proxy.

GError Amanith::GKernel::RemoveElementReference ( const GElement * Element ) [protected]

Remove an element reference from the the internal instances list.

void Amanith::GKernel::RootClassProxies ( GDynArray< GProxyState > & ProxyList ) const

Get all root-class proxies.

Parameters:
ProxyList a list of proxies (well, proxies states) that manage root classes. A root class is a class that not derive from other classes (ex: GElement).
Note:
The list is first cleared, and then filled up with requested proxies.
See also:
Plugin Wizard Tool, you can find it into $AMANITHDIR/tools/plugwizard directory.

GError Amanith::GKernel::Save | ( | const GChar8 * | FileName,
 |  | const GElement & | Element,
 |  | const GChar8 * | Options,
 |  | const GChar8 * | FormatName = NULL
 | ) |

Save an element to an external file.

Parameters:
FileName | is a string containing the full file name (path + name + extension) of the file we wanna write to. It must be non-empty.
Element | a reference to the element that will be "saved" to file.
Options | a string containing a semicolon-separated options. Each option must be in the format name=value.
FormatName | an optional filter; it's case insensitive.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

GError Amanith::GKernel::ScanDirectory | ( | const GString & | Path,
 |  | GStringList & | FoundPlugins,
 |  | const GBool | ScanSubFolders
 | ) | [protected]

Scan a directory searching for plugins.

Parameters:
Path | a string containing the path to scan. It must be valid (non null and existing)
FoundPlugins | a string list containing full filename of found plugins during scanning
ScanSubFolders | if true specifies that scanning must be done recursively on all included subdirectories
Returns:
G_NO_ERROR in case of success, else an error code

GError Amanith::GKernel::UnLoadPlugin ( const GClassID & PluginClassID )

Unload a single plugin from memory.

The documentation for this class was generated from the following files:
  • gkernel.h
  • gkernel.cpp


Amanith::GKernel Member List

This is the complete list of members for Amanith::GKernel, including all inherited members.

AddElementReference(const GElement *Element) | Amanith::GKernel | [protected]
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GKernel | [protected, virtual]
ChildClassProxies(const GClassID &FatherClassID, GDynArray< GProxyState > &ChildList) const | Amanith::GKernel
ChildClassProxies(const GElementProxy &FatherProxy, GDynArray< GProxyState > &ChildList) const | Amanith::GKernel
ClassID() const | Amanith::GKernel | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GKernel
Copy(const GElement &Source, GElement &Destination) const | Amanith::GKernel
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) | Amanith::GKernel
CreateNew(const GString &ClassName) | Amanith::GKernel
Amanith::GElement::CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
DerivedClassID() const | Amanith::GKernel | [virtual]
FindProxy(const GClassID &Class_ID, GInt32 &ProxyIndex) const | Amanith::GKernel | [protected]
FindProxy(const GString &Class_Name, GInt32 &ProxyIndex) const | Amanith::GKernel | [protected]
Amanith::GElement::GElement() Amanith::GElement
Amanith::GElement::GElement(const GElement *Owner) | Amanith::GElement
GKernel() Amanith::GKernel
GKernel(const GElement *Owner) | Amanith::GKernel
ImpExpFeatures(GDynArray< GImpExpFeature > &Features) const | Amanith::GKernel
ImpExpFeatures(const GClassID &ID, GDynArray< GImpExpFeature > &Features) const | Amanith::GKernel
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsSupported(const GClassID &Class_ID) const | Amanith::GKernel
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GKernel | [virtual]
Load(const GChar8 *FileName, GElement &Element, const GChar8 *Options, const GChar8 *FormatName=NULL) | Amanith::GKernel
LoadPlugin(const GChar8 *FullFileName, const GClassID *Filter=NULL) | Amanith::GKernel
LoadPlugins(const GChar8 *PathName, const GBool ScanSubFolders, const GClassID *Filter=NULL) | Amanith::GKernel
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Proxies() const | Amanith::GKernel
ProxiesCount() const | Amanith::GKernel
Proxy(const GInt32 Index, GProxyState &OutProxy) const | Amanith::GKernel
RegisterElementProxy(const GElementProxy &ElementProxy, const GBool External=G_FALSE, const GPlugLoader *Loader=NULL) | Amanith::GKernel | [protected]
RemoveElementReference(const GElement *Element) | Amanith::GKernel | [protected]
RootClassProxies(GDynArray< GProxyState > &ProxyList) const | Amanith::GKernel
Save(const GChar8 *FileName, const GElement &Element, const GChar8 *Options, const GChar8 *FormatName=NULL) | Amanith::GKernel
ScanDirectory(const GString &Path, GStringList &FoundPlugins, const GBool ScanSubFolders) | Amanith::GKernel | [protected]
UnLoadPlugin(const GClassID &PluginClassID) | Amanith::GKernel
~GElement() | Amanith::GElement | [virtual]


Amanith::GKernelProxy

Amanith::GKernelProxy Class Reference

This class implements a GKernel proxy (provider). More...

Inheritance diagram for Amanith::GKernelProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & DerivedClassID () const
  • const GClassID & ClassID () const

Detailed Description

This class implements a GKernel proxy (provider).

Member Function Documentation

const GClassID& Amanith::GKernelProxy::ClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GKernelProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Create a new GKernel class.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GKernelProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gkernel.h


Amanith::GKernelProxy Member List

This is the complete list of members for Amanith::GKernelProxy, including all inherited members.

ClassID() const | Amanith::GKernelProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GKernelProxy | [virtual]
DerivedClassID() const | Amanith::GKernelProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GKerningEntry

Amanith::GKerningEntry Struct Reference

Describes the kerning to be used for two characters. More...

List of all members.

Public Attributes

  • GUInt32 GlyphIndexLeft
  • GUInt32 GlyphIndexRight
  • GPoint2 Kerning

Detailed Description

Describes the kerning to be used for two characters.

Kerning is the process of adjusting the position of two subsequent glyph images in a string of text in order to improve the general appearance of text. Basically, it means that when the glyph for an ‘A’ is followed by the glyph for a ‘V’, the space between them can be slightly reduced to avoid extra ‘diagonal whitespace’.

Member Data Documentation

GUInt32 Amanith::GKerningEntry::GlyphIndexLeft

Glyph index for 'left' glyph.

GUInt32 Amanith::GKerningEntry::GlyphIndexRight

Glyph index for 'right' glyph.

GPoint2 Amanith::GKerningEntry::Kerning

Kerning to use for the glyphs couple (GlyphIndexLeft, GlyphIndexRight).

The documentation for this struct was generated from the following file:
  • gfont2d.h


Amanith::GKerningEntry Member List

This is the complete list of members for Amanith::GKerningEntry, including all inherited members.

GlyphIndexLeft | Amanith::GKerningEntry
GlyphIndexRight | Amanith::GKerningEntry
Kerning | Amanith::GKerningEntry


Amanith::GKeyValue

Amanith::GKeyValue Class Reference

Generic key value. More...

List of all members.

Public Member Functions

  • GKeyValue ()
  • GKeyValue (const GBool Value)
  • GKeyValue (const GInt32 Value)
  • GKeyValue (const GReal Value)
  • GKeyValue (const GVector2 &Value)
  • GKeyValue (const GVector3 &Value)
  • GKeyValue (const GVector4 &Value)
  • GKeyValue (const GTimeValue TimePos, const GBool Value)
  • GKeyValue (const GTimeValue TimePos, const GInt32 Value)
  • GKeyValue (const GTimeValue TimePos, const GReal Value)
  • GKeyValue (const GTimeValue TimePos, const GVector2 &Value)
  • GKeyValue (const GTimeValue TimePos, const GVector3 &Value)
  • GKeyValue (const GTimeValue TimePos, const GVector4 &Value)
  • void SetValue (const GBool Value)
  • void SetValue (const GInt32 Value)
  • void SetValue (const GReal Value)
  • void SetValue (const GVector2 &Value)
  • void SetValue (const GVector3 &Value)
  • void SetValue (const GVector4 &Value)
  • GKeyType KeyType () const
  • void SetKeyType (const GKeyType NewType)
  • GTimeValue TimePosition () const
  • void SetTimePosition (const GTimeValue NewTimePos)
  • GBool BoolValue () const
  • GInt32 IntValue () const
  • GReal RealValue () const
  • GVector2 Vect2Value () const
  • GVector3 Vect3Value () const
  • GVector4 Vect4Value () const

Protected Member Functions

  • void SetUndefined ()

Detailed Description

Generic key value.

This class embed a generic key value. It's a sort of 'variant' type, that supports common values used in a generic keyframer. This class supports also an associated time position value, that can be used by some methods.

Constructor & Destructor Documentation

Amanith::GKeyValue::GKeyValue ( )

Default constructor, set the key value as undefined.

Amanith::GKeyValue::GKeyValue ( const GBool Value )

Set constructor, set a new boolean key value.

Amanith::GKeyValue::GKeyValue ( const GInt32 Value )

Set constructor, set a new integer key value.

Amanith::GKeyValue::GKeyValue ( const GReal Value )

Set constructor, set a new real key value.

Amanith::GKeyValue::GKeyValue ( const GVector2 & Value )

Set constructor, set a new 2D vector/point key value.

Amanith::GKeyValue::GKeyValue ( const GVector3 & Value )

Set constructor, set a new 3D vector/point key value.

Amanith::GKeyValue::GKeyValue ( const GVector4 & Value )

Set constructor, set a new 4D vector/point key value.

Amanith::GKeyValue::GKeyValue | ( | const GTimeValue | TimePos,
 |  | const GBool | Value
 | ) |

Set constructor, set a new boolean key value and a time-position.

Amanith::GKeyValue::GKeyValue | ( | const GTimeValue | TimePos,
 |  | const GInt32 | Value
 | ) |

Set constructor, set a new integer key value and a time-position.

Amanith::GKeyValue::GKeyValue | ( | const GTimeValue | TimePos,
 |  | const GReal | Value
 | ) |

Set constructor, set a new real key value and a time-position.

Amanith::GKeyValue::GKeyValue | ( | const GTimeValue | TimePos,
 |  | const GVector2 & | Value
 | ) |

Set constructor, set a new 2D vector/point key value and a time-position.

Amanith::GKeyValue::GKeyValue | ( | const GTimeValue | TimePos,
 |  | const GVector3 & | Value
 | ) |

Set constructor, set a new 3D vector/point key value and a time-position.

Amanith::GKeyValue::GKeyValue | ( | const GTimeValue | TimePos,
 |  | const GVector4 & | Value
 | ) |

Set constructor, set a new 4D vector/point key value and a time-position.

Member Function Documentation

GBool Amanith::GKeyValue::BoolValue ( ) const

Get the current value as a boolean value.

GInt32 Amanith::GKeyValue::IntValue ( ) const

Get the current value as an integer value.

GKeyType Amanith::GKeyValue::KeyType ( ) const

Get key type.

GReal Amanith::GKeyValue::RealValue ( ) const

Get the current value as a real value.

void Amanith::GKeyValue::SetKeyType ( const GKeyType NewType )

Set key type.

void Amanith::GKeyValue::SetTimePosition ( const GTimeValue NewTimePos )

Set key position (timeline position).

void Amanith::GKeyValue::SetUndefined ( ) [protected]

Set the current key value as undefined.

void Amanith::GKeyValue::SetValue ( const GVector4 & Value )

Set a new 4D vector/point value.

void Amanith::GKeyValue::SetValue ( const GVector3 & Value )

Set a new 3D vector/point value.

void Amanith::GKeyValue::SetValue ( const GVector2 & Value )

Set a new 2D vector/point value.

void Amanith::GKeyValue::SetValue ( const GReal Value )

Set a new real value.

void Amanith::GKeyValue::SetValue ( const GInt32 Value )

Set a new integer value.

void Amanith::GKeyValue::SetValue ( const GBool Value )

Set a new boolean value.

GTimeValue Amanith::GKeyValue::TimePosition ( ) const

Get key position (timeline position).

GVector2 Amanith::GKeyValue::Vect2Value ( ) const

Get the current value as a 2D vector/point value.

GVector3 Amanith::GKeyValue::Vect3Value ( ) const

Get the current value as a 3D vector/point value.

GVector4 Amanith::GKeyValue::Vect4Value ( ) const

Get the current value as a 4D vector/point value.

The documentation for this class was generated from the following files:
  • gelement.h
  • gelement.cpp


Amanith::GKeyValue Member List

This is the complete list of members for Amanith::GKeyValue, including all inherited members.

BoolValue() const | Amanith::GKeyValue |
GKeyValue() | Amanith::GKeyValue |
GKeyValue(const GBool Value) | Amanith::GKeyValue |
GKeyValue(const GInt32 Value) | Amanith::GKeyValue |
GKeyValue(const GReal Value) | Amanith::GKeyValue |
GKeyValue(const GVector2 &Value) | Amanith::GKeyValue |
GKeyValue(const GVector3 &Value) | Amanith::GKeyValue |
GKeyValue(const GVector4 &Value) | Amanith::GKeyValue |
GKeyValue(const GTimeValue TimePos, const GBool Value) | Amanith::GKeyValue |
GKeyValue(const GTimeValue TimePos, const GInt32 Value) | Amanith::GKeyValue |
GKeyValue(const GTimeValue TimePos, const GReal Value) | Amanith::GKeyValue |
GKeyValue(const GTimeValue TimePos, const GVector2 &Value) | Amanith::GKeyValue |
GKeyValue(const GTimeValue TimePos, const GVector3 &Value) | Amanith::GKeyValue |
GKeyValue(const GTimeValue TimePos, const GVector4 &Value) | Amanith::GKeyValue |
IntValue() const | Amanith::GKeyValue |
KeyType() const | Amanith::GKeyValue |
RealValue() const | Amanith::GKeyValue |
SetKeyType(const GKeyType NewType) | Amanith::GKeyValue |
SetTimePosition(const GTimeValue NewTimePos) | Amanith::GKeyValue |
SetUndefined() | Amanith::GKeyValue | [protected]
SetValue(const GBool Value) | Amanith::GKeyValue |
SetValue(const GInt32 Value) | Amanith::GKeyValue |
SetValue(const GReal Value) | Amanith::GKeyValue |
SetValue(const GVector2 &Value) | Amanith::GKeyValue |
SetValue(const GVector3 &Value) | Amanith::GKeyValue |
SetValue(const GVector4 &Value) | Amanith::GKeyValue |
TimePosition() const | Amanith::GKeyValue |
Vect2Value() const | Amanith::GKeyValue |
Vect3Value() const | Amanith::GKeyValue |
Vect4Value() const | Amanith::GKeyValue |


Amanith::GKnotMultiplicity

Amanith::GKnotMultiplicity Struct Reference

A simple pair-like structure that describes a spline knot multiplicity. More...

List of all members.

Public Attributes

  • GReal Value
  • GInt32 Multiplicity

Detailed Description

A simple pair-like structure that describes a spline knot multiplicity.

Member Data Documentation

GInt32 Amanith::GKnotMultiplicity::Multiplicity

Knot multiplicity.

GReal Amanith::GKnotMultiplicity::Value

Knot value.

The documentation for this struct was generated from the following file:
  • gbsplinecurve1d.h


Amanith::GKnotMultiplicity Member List

This is the complete list of members for Amanith::GKnotMultiplicity, including all inherited members.

Multiplicity | Amanith::GKnotMultiplicity
Value | Amanith::GKnotMultiplicity


Amanith::GLinearProperty1D

Amanith::GLinearProperty1D Class Reference

A key-frame based property, that uses a linear interpolation schema. More...

Inheritance diagram for Amanith::GLinearProperty1D:

Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GLinearProperty1D ()
  • GLinearProperty1D (const GElement *Owner)
  • ~GLinearProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const
  • GKeyType HandledType () const

Protected Member Functions

  • GError DoGetKey (const GUInt32 Index, GKeyValue &OutputKey) const
  • GError DoSetKey (const GUInt32 Index, const GKeyValue &NewKeyValue)
  • GError DoAddKey (const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists)
  • GError DoMoveKey (const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists)
  • GError DoRemoveKey (const GUInt32 Index)
  • GError DoGetValue (GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const
  • GError DoSetValue (const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod)
  • GInt32 DoGetKeysCount () const
  • GError DoSetKeys (const GDynArray< GKeyValue > &Keys)
  • GError BaseClone (const GElement &Source)

Detailed Description

A key-frame based property, that uses a linear interpolation schema.

This animated property handles scalar real type, and interpolates between keys using a linear interpolation schema.

Constructor & Destructor Documentation

Amanith::GLinearProperty1D::GLinearProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GLinearProperty1D::GLinearProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GLinearProperty1D::~GLinearProperty1D ( )

Destructor.

Member Function Documentation

GError Amanith::GLinearProperty1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source GLinearProperty1D class.

Reimplemented from Amanith::GProperty.

const GClassID& Amanith::GLinearProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GProperty.

const GClassID& Amanith::GLinearProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GProperty.

GError Amanith::GLinearProperty1D::DoAddKey | ( | const GTimeValue | TimePos,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Add a point on curve, TimePos is ensured to be inside domain. Index will be the index occupied by the created key. AlreadyExists will be G_TRUE if at the specified TimePos there was already an existing key.

Reimplemented from Amanith::GProperty.

GError Amanith::GLinearProperty1D::DoGetKey | ( | const GUInt32 | Index,
 |  | GKeyValue & | OutputKey
 | ) | const [protected, virtual]

Get a key value by index; here is ensured that Index is valid.

Reimplemented from Amanith::GProperty.

GInt32 Amanith::GLinearProperty1D::DoGetKeysCount ( ) const [protected, virtual]

Return the number of keys.

Reimplemented from Amanith::GProperty.

GError Amanith::GLinearProperty1D::DoGetValue | ( | GKeyValue & | OutputValue,
 |  | GTimeInterval & | ValidInterval,
 |  | const GTimeValue | TimePos,
 |  | const GValueMethod | GetMethod
 | ) | const [protected, virtual]

Get property value at a specified time position.

Parameters:
OutputValue | the returned property value.
ValidInterval | the validity interval to update; property validity interval should be intersected with this interval.
TimePos | the time position where to sample the property value. In this method it is ensured to be inside domain interval.
GetMethod | the method used to get value.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

Reimplemented from Amanith::GProperty.

GError Amanith::GLinearProperty1D::DoMoveKey | ( | const GUInt32 | Index,
 |  | const GReal | NewTimePos,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Move a key to a different time position.

Parameters:
Index | the key that we wanna move, it is ensured valid.
NewTimePos | the new time position where to move the Index-th key.
NewIndex | the new index position associated to the moved key.
AlreadyExists | G_TRUE if at specified NewTimePos there was already a key. In this key it will be overridden by the moved key.

Reimplemented from Amanith::GProperty.

GError Amanith::GLinearProperty1D::DoRemoveKey ( const GUInt32 Index ) [protected, virtual]

Remove a key by index.

Parameters:
Index key index, is ensured to be valid.

Reimplemented from Amanith::GProperty.

GError Amanith::GLinearProperty1D::DoSetKey | ( | const GUInt32 | Index,
 |  | const GKeyValue & | NewKeyValue
 | ) | [protected, virtual]

Set a key value by index; here is ensured that Index is valid.

Reimplemented from Amanith::GProperty.

GError Amanith::GLinearProperty1D::DoSetKeys ( const GDynArray< GKeyValue > & Keys ) [protected, virtual]

Set all keys (they don't need to be sorted by time).

This function rebuilds the property animated track, specifying all the new keys. The specified keys can be in any time-order, they will be sorted internally.

Parameters:
Keys the array of keys, it is ensured to contain at least one entry.
Note:
Every key must be filled with value and time position.

Reimplemented from Amanith::GProperty.

GError Amanith::GLinearProperty1D::DoSetValue | ( | const GKeyValue & | InputValue,
 |  | const GTimeValue | TimePos,
 |  | const GValueMethod | SetMethod
 | ) | [protected, virtual]

Set the property value at a specified time position.

This method adds a new key at the specified time position, with the passed value.

Parameters:
InputValue | the value to set.
TimePos | the time position where to set the property value.
SetMethod | method used to set the value. For now, the only supported method is G_ABSOLUTE_VALUE.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
TimePos can be outside range, behavior is to append (at front/back) created key and expand domain.

Reimplemented from Amanith::GProperty.

GKeyType Amanith::GLinearProperty1D::HandledType ( ) const [virtual]

Get handled key values. Every property MUST implement this method.

Reimplemented from Amanith::GProperty.

The documentation for this class was generated from the following files:
  • gproperty.h
  • gproperty.cpp


Amanith::GLinearProperty1D Member List

This is the complete list of members for Amanith::GLinearProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GLinearProperty1D | [protected, virtual]
ClassID() const | Amanith::GLinearProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GLinearProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GLinearProperty1D | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GLinearProperty1D | [protected, virtual]
DoGetKeysCount() const | Amanith::GLinearProperty1D | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GLinearProperty1D | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GLinearProperty1D | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GLinearProperty1D | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GLinearProperty1D | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GLinearProperty1D | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GLinearProperty1D | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GLinearProperty1D() Amanith::GLinearProperty1D
GLinearProperty1D(const GElement *Owner) | Amanith::GLinearProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
HandledType() const | Amanith::GLinearProperty1D | [virtual]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GLinearProperty1DProxy

Amanith::GLinearProperty1DProxy Class Reference

This class implements a GLinearProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GLinearProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GLinearProperty1D proxy (provider).

This proxy provides the creation of GLinearProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GLinearProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GLinearProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GLinearProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GLinearProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gproperty.h


Amanith::GLinearProperty1DProxy Member List

This is the complete list of members for Amanith::GLinearProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GLinearProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GLinearProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GLinearProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GLineSeg

Amanith::GLineSeg< DATA_TYPE, SIZE > Class Template Reference

Describes a compact (finite) line segment. More...

Inheritance diagram for Amanith::GLineSeg< DATA_TYPE, SIZE >:

Amanith::GGenericRay< DATA_TYPE, SIZE > List of all members.

Public Member Functions

  • GLineSeg ()
  • GLineSeg (const GPoint< DATA_TYPE, SIZE > &Origin, const GVect< DATA_TYPE, SIZE > &Direction)
  • GLineSeg (const GLineSeg< DATA_TYPE, SIZE > &SourceLineSeg)
  • GLineSeg (const GPoint< DATA_TYPE, SIZE > &Origin, const GPoint< DATA_TYPE, SIZE > &Destination)
  • DATA_TYPE Length () const
  • DATA_TYPE LengthSquared () const
  • GPoint< DATA_TYPE, SIZE > StartPoint () const
  • void SetStartPoint (const GPoint< DATA_TYPE, SIZE > &NewValue)
  • GPoint< DATA_TYPE, SIZE > EndPoint () const

Detailed Description

template<typename DATA_TYPE, GUInt32 SIZE>
class Amanith::GLineSeg< DATA_TYPE, SIZE >

Describes a compact (finite) line segment.

This is represented by a point origin O and a vector spanning the length of the line segment originating at O. Thus any point on the line segment can be described as:

P(t) = O + t * D

where 0 <= t <= 1

Parameters:
DATA_TYPE | the internal type used for the point and vector.
SIZE | the dimension of space (ex: 2 for a 2D line segment, 3 for a 3D line segment). It must be a positive number.

Constructor & Destructor Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GLineSeg< DATA_TYPE, SIZE >::GLineSeg ( )

Default constructor, constructs a line segment at the origin with a zero vector.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GLineSeg< DATA_TYPE, SIZE >::GLineSeg | ( | const GPoint< DATA_TYPE, SIZE > & | Origin,
 |  | const GVect< DATA_TYPE, SIZE > & | Direction
 | ) |

Set constructor, constructs a ray with the given origin and vector.

Parameters:
Origin | the point at which the ray starts
Direction | the vector describing the length vector of line segment

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GLineSeg< DATA_TYPE, SIZE >::GLineSeg ( const GLineSeg< DATA_TYPE, SIZE > & SourceLineSeg )

Copy constructor, constructs an exact duplicate of the given line segment.

Parameters:
SourceLineSeg the line segment to copy

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GLineSeg< DATA_TYPE, SIZE >::GLineSeg | ( | const GPoint< DATA_TYPE, SIZE > & | Origin,
 |  | const GPoint< DATA_TYPE, SIZE > & | Destination
 | ) |

Set constructor, constructs a line segment with the given begin and end points.

Parameters:
Origin | the point at the beginning of the line segment
Destination | the point at the end of the line segment

Member Function Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
GPoint<DATA_TYPE, SIZE> Amanith::GLineSeg< DATA_TYPE, SIZE >::EndPoint ( ) const

Get end point.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::GLineSeg< DATA_TYPE, SIZE >::Length ( ) const

Gets the length of this line segment.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::GLineSeg< DATA_TYPE, SIZE >::LengthSquared ( ) const

Gets the squared length of this line segment.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GLineSeg< DATA_TYPE, SIZE >::SetStartPoint ( const GPoint< DATA_TYPE, SIZE > & NewValue )

Set start point 8the result is the same of SetOrigin() function).

template<typename DATA_TYPE, GUInt32 SIZE>
GPoint<DATA_TYPE, SIZE> Amanith::GLineSeg< DATA_TYPE, SIZE >::StartPoint ( ) const

Get start point (the result is the same of Origin() function).

The documentation for this class was generated from the following file:
  • glineseg.h


Amanith::GLineSeg< DATA_TYPE, SIZE > Member List

This is the complete list of members for Amanith::GLineSeg< DATA_TYPE, SIZE >, including all inherited members.

Direction() const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
EndPoint() const | Amanith::GLineSeg< DATA_TYPE, SIZE > |
gDirection | Amanith::GGenericRay< DATA_TYPE, SIZE > | [protected]
GGenericRay() | Amanith::GGenericRay< DATA_TYPE, SIZE > |
GGenericRay(const GPoint< DATA_TYPE, SIZE > &Origin, const GVect< DATA_TYPE, SIZE > &Direction) | Amanith::GGenericRay< DATA_TYPE, SIZE > |
GGenericRay(const GGenericRay &SourceRay) | Amanith::GGenericRay< DATA_TYPE, SIZE > |
GLineSeg() | Amanith::GLineSeg< DATA_TYPE, SIZE > |
GLineSeg(const GPoint< DATA_TYPE, SIZE > &Origin, const GVect< DATA_TYPE, SIZE > &Direction) | Amanith::GLineSeg< DATA_TYPE, SIZE > |
GLineSeg(const GLineSeg< DATA_TYPE, SIZE > &SourceLineSeg) | Amanith::GLineSeg< DATA_TYPE, SIZE > |
GLineSeg(const GPoint< DATA_TYPE, SIZE > &Origin, const GPoint< DATA_TYPE, SIZE > &Destination) | Amanith::GLineSeg< DATA_TYPE, SIZE > |
gOrigin | Amanith::GGenericRay< DATA_TYPE, SIZE > | [protected]
IsNormalized() const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
Length() const | Amanith::GLineSeg< DATA_TYPE, SIZE > |
LengthSquared() const | Amanith::GLineSeg< DATA_TYPE, SIZE > |
Normalize() | Amanith::GGenericRay< DATA_TYPE, SIZE > |
operator!=(const GGenericRay< DATA_TYPE, SIZE > &Ray) const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
operator==(const GGenericRay< DATA_TYPE, SIZE > &Ray) const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
Origin() const | Amanith::GGenericRay< DATA_TYPE, SIZE > |
SetDirection(const GVect< DATA_TYPE, SIZE > &NewDirection) | Amanith::GGenericRay< DATA_TYPE, SIZE > |
SetOrigin(const GPoint< DATA_TYPE, SIZE > &NewOrigin) | Amanith::GGenericRay< DATA_TYPE, SIZE > |
SetStartPoint(const GPoint< DATA_TYPE, SIZE > &NewValue) | Amanith::GLineSeg< DATA_TYPE, SIZE > |
StartPoint() const | Amanith::GLineSeg< DATA_TYPE, SIZE > |


Amanith::GMatrix

Amanith::GMatrix< DATA_TYPE, ROWS, COLS > Class Template Reference

N x M dimensional matrix (ordered in memory by Column). More...

List of all members.

Public Member Functions

  • GMatrix ()
  • GMatrix (const GMatrix< DATA_TYPE, ROWS, COLS > &matrix)
  • void Set (const DATA_TYPE *Data)
  • void SetTranspose (const DATA_TYPE *Data)
  • DATA_TYPE & operator() (const GUInt32 Row, const GUInt32 Column)
  • const DATA_TYPE & operator() (const GUInt32 Row, const GUInt32 Column) const
  • RowAccessor operator[] (const GUInt32 Row)
  • ConstRowAccessor operator[] (const GUInt32 Row) const
  • const DATA_TYPE ** Data () const
  • void SwapRow (const GUInt32 RowIndex1, const GUInt32 RowIndex2)
  • void SwapColumn (const GUInt32 ColIndex1, const GUInt32 ColIndex2)
  • DATA_TYPE Norm1 () const
  • DATA_TYPE NormInf () const
  • DATA_TYPE NormFrobenius () const
  • GBool operator== (const GMatrix< DATA_TYPE, ROWS, COLS > &Matrix) const
  • GBool operator!= (const GMatrix< DATA_TYPE, ROWS, COLS > &Matrix)

Classes

  • class ConstRowAccessor
  • class RowAccessor

Detailed Description

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
class Amanith::GMatrix< DATA_TYPE, ROWS, COLS >

N x M dimensional matrix (ordered in memory by Column).

Memory mapping: GMatrix stores its elements in column major order. That is, it stores each column end-to-end in memory. Typically, for 3D transform matrices, the 3x3 rotation is in the first three columns, while the translation is in the last column. This memory alignment is chosen for compatibility with the OpenGL graphics API and others, which take matrices in this specific column major ordering described above. See the interfaces for operator[r][c] and operator(r, c) for how to iterate over columns and rows for a GMatrix.
NOTES on Matrix memory layout and [][] accessors:

  • GMatrix memory is "column major" ordered, where columns are end to end in memory, while a C/C++ Matrix accessed the same way (using operator[][]) as a GMatrix is "row major" ordered.

  • As a result, a GMatrix stores elements in memory transposed from the equivalent matrix defined using an array in the C/C++ language, assuming they are accessed the same way (see example).
    • Illustrative Example:
      Given two flavors of matrix, C/C++, and GMatrix: float cmat[n][m] and GMatrix<float, n, m> mat
      Writing values into each, while accessing them the same: cmat[row][col] = mat[row][col] = some_values[x];
      Then reading values from the matrix array: ((float*)cmat) and mat.Data()
      Will yield pointers to memory containing matrices that are the transpose of each other.

  • In practice, the differences between Amanith and C/C++ defined matrices all depends how you iterate over your matrix.
    If Amanith is accessed mat[row][col] and C/C++ is accessed mat[col][row], then memory-wise, these two will yield the same memory mapping (column major as described above), thus, are equivalent and can both be used interchangeably in many popular graphics APIs such as OpenGL, DirectX, and others.

  • In C/C++ access of a matrix via mat[row][col] yields this memory mapping after using ((float*)mat) to return it:
        (0, 0) (0, 1) (0, 2) (0, 3)  <-- contiguous memory arranged by row
    (1, 0) (1, 1) (1, 2) (1, 3)  <-- contiguous
    (2, 0) (2, 1) (2, 2) (2, 3)  <-- contiguous
    (3, 0) (3, 1) (3, 2) (3, 3)  <-- contiguous

        or linearly if you prefer:
    (0, 0) (0, 1) (0, 2) (0, 3) (1, 0) (1, 1) (1, 2) (1, 3) (2, 0) (2, 1) (2, 2) (2, 3) (3, 0) (3, 1) (3, 2) (3, 3)
  • In Amanith, access of a matrix via mat[row][col] yields this memory mapping after using Data() to return it:
        (0, 0) (0, 1) (0, 2) (0, 3)
    (1, 0) (1, 1) (1, 2) (1, 3)
    (2, 0) (2, 1) (2, 2) (2, 3)
    (3, 0) (3, 1) (3, 2) (3, 3)
       ^      ^      ^      ^
       1------2------3------4---- Contiguous memory arranged by column

        or linearly if you prefer:
    (0, 0) (1, 0) (2, 0) (3, 0) (0, 1) (1, 1) (2, 1) (3, 1) (0, 2) (1, 2) (2, 2) (3, 2) (0, 3) (1, 3) (2, 3) (3, 3)

Constructor & Destructor Documentation

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::GMatrix ( )

Default Constructor (Identity constructor)

Todo:
meta programming

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::GMatrix ( const GMatrix< DATA_TYPE, ROWS, COLS > & matrix )

copy constructor

Member Function Documentation

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
const DATA_TYPE** Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::Data ( ) const

Gets a DATA_TYPE pointer to the matrix data.

Returns:
a pointer to the head of the matrix data.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
DATA_TYPE Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::Norm1 ( ) const

Norm1.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
DATA_TYPE Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::NormFrobenius ( ) const

Frobenius norm.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
DATA_TYPE Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::NormInf ( ) const

Norm infinitive.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GBool Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::operator!= ( const GMatrix< DATA_TYPE, ROWS, COLS > & Matrix )

Compare two matrices to see if they are not EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Matrix the to compare to.
Precondition:
both matrices must be of the same size.
Returns:
G_TRUE if they are not equal, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
const DATA_TYPE& Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::operator() | ( | const GUInt32 | Row,
 |  | const GUInt32 | Column
 | ) | const

Access [row, col] in the matrix (const version).

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
DATA_TYPE& Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::operator() | ( | const GUInt32 | Row,
 |  | const GUInt32 | Column
 | ) |

Access [row, col] in the matrix/.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GBool Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::operator== ( const GMatrix< DATA_TYPE, ROWS, COLS > & Matrix ) const

Tests 2 matrices for equality, to see if they are EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Matrix the to compare to.
Precondition:
both matrices must be of the same size.
Returns:
G_TRUE if the matrices have the same element values; G_FALSE otherwise.
Todo:
meta programming.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
ConstRowAccessor Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::operator[] ( const GUInt32 Row ) const

Bracket operator (const version).

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
RowAccessor Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::operator[] ( const GUInt32 Row )

Bracket operator.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::Set ( const DATA_TYPE * Data )

Set the matrix to the given data. This function is useful to copy matrix data from another math library.

Note:
this isn't really safe, size and datatype are not enforced by the compiler.
Precondition:
Data is in the native format of the Amanith::Matrix class, if not, then you might be able to use the SetTranspose function.

i.e. in a 4x4 Data[0-3] is the 1st column, Data[4-7] is 2nd, etc...

Todo:
meta programming

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::SetTranspose ( const DATA_TYPE * Data )

Set the matrix to the transpose of the given data.

Normally Set() takes raw matrix data in column by column order, this function allows you to pass in row by row data. Normally you'll use this function if you want to use a float array to init the matrix.

Note:
this isn't really safe, size and datatype are not enforced by the compiler.
Precondition:
Data is in the transpose of the native format of the Matrix class

i.e. in a 4x4 Data[0-3] is the 1st row, Data[4-7] is 2nd, etc...

Todo:
meta programming

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::SwapColumn | ( | const GUInt32 | ColIndex1,
 |  | const GUInt32 | ColIndex2
 | ) |

Column swap.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::SwapRow | ( | const GUInt32 | RowIndex1,
 |  | const GUInt32 | RowIndex2
 | ) |

Row swap.

The documentation for this class was generated from the following file:
  • gmatrix.h


Amanith::GMatrix< DATA_TYPE, ROWS, COLS > Member List

This is the complete list of members for Amanith::GMatrix< DATA_TYPE, ROWS, COLS >, including all inherited members.

Data() const | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
GMatrix() | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
GMatrix(const GMatrix< DATA_TYPE, ROWS, COLS > &matrix) | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
Norm1() const | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
NormFrobenius() const | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
NormInf() const | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
operator!=(const GMatrix< DATA_TYPE, ROWS, COLS > &Matrix) | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
operator()(const GUInt32 Row, const GUInt32 Column) | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
operator()(const GUInt32 Row, const GUInt32 Column) const | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
operator==(const GMatrix< DATA_TYPE, ROWS, COLS > &Matrix) const | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
operator[](const GUInt32 Row) | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
operator[](const GUInt32 Row) const | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
Set(const DATA_TYPE *Data) | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
SetTranspose(const DATA_TYPE *Data) | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
SwapColumn(const GUInt32 ColIndex1, const GUInt32 ColIndex2) | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
SwapRow(const GUInt32 RowIndex1, const GUInt32 RowIndex2) | Amanith::GMatrix< DATA_TYPE, ROWS, COLS >


Amanith::GMatrix::ConstRowAccessor

Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor Class Reference

List of all members.

Public Attributes

  • GUInt32 GRow

Detailed Description

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
class Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor

Helper class for Matrix op[] const. This class encapsulates the row that the user is accessing and implements a new op[] that passes the column to use

Member Data Documentation

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GUInt32 Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor::GRow

The row being accessed */.

The documentation for this class was generated from the following file:
  • gmatrix.h


Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor Member List

This is the complete list of members for Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor, including all inherited members.

GRow Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor


Amanith::GMatrix::RowAccessor

Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor Class Reference

List of all members.

Public Attributes

  • GUInt32 GRow

Detailed Description

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
class Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor

Helper class for Matrix op[]. This class encapsulates the row that the user is accessing and implements a new op[] that passes the column to use

Member Data Documentation

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GUInt32 Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor::GRow

The row being accessed.

The documentation for this class was generated from the following file:
  • gmatrix.h


Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor Member List

This is the complete list of members for Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor, including all inherited members.

GRow Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor


Amanith::GMesh2D

Amanith::GMesh2D< DATA_TYPE > Class Template Reference

This class represents an enclosed volume, bounded by a set of vertexes and faces. More...

List of all members.

Public Member Functions

  • void DetachEdge (GMeshEdge2D< DATA_TYPE > *Edge)
  • GMeshEdge2D< DATA_TYPE > * OrbitOrg (GMeshEdge2D< DATA_TYPE > *Edge, GMeshVertex2D< DATA_TYPE > *Org)
  • void SetOrbitOrg (GMeshEdge2D< DATA_TYPE > *Edge, GMeshVertex2D< DATA_TYPE > *Org)
  • GMesh2D ()
  • GMesh2D< DATA_TYPE > & operator= (const GMesh2D< DATA_TYPE > &Source)
  • void Clear ()
  • GError BuildFromFaces (const GDynArray< GPoint< DATA_TYPE, 2 > > &Points, const GDynArray< GIndexList > &FacesIndexes, const GBool Deep2ManifoldCheck=G_TRUE)
  • GError BuildFromPointsCloud (const GDynArray< GPoint< DATA_TYPE, 2 > > &Points, const DATA_TYPE Epsilon=(DATA_TYPE) G_EPSILON)
  • ~GMesh2D ()
  • GMeshEdge2D< DATA_TYPE > * AddSubManifold ()
  • GMeshEdge2D< DATA_TYPE > * MakeVertexEdge (GMeshVertex2D< DATA_TYPE > *Vertex, GMeshFace2D< DATA_TYPE > *Left, GMeshFace2D< DATA_TYPE > *Right)
  • void KillVertexEdge (GMeshEdge2D< DATA_TYPE > *Edge)
  • GMeshEdge2D< DATA_TYPE > * MakeFaceEdge (GMeshFace2D< DATA_TYPE > *Face, GMeshVertex2D< DATA_TYPE > *Org, GMeshVertex2D< DATA_TYPE > *Dest)
  • void KillFaceEdge (GMeshEdge2D< DATA_TYPE > *Edge)
  • GUInt32 VerticesCount () const
  • GMeshVertex2D< DATA_TYPE > * Vertex (const GUInt32 Index)
  • GMeshVertex2D< DATA_TYPE > * AddVertex ()
  • GMeshVertex2D< DATA_TYPE > * AddVertex (const GPoint< DATA_TYPE, 2 > &Position)
  • GMeshEdge2D< DATA_TYPE > * AddEdge ()
  • GUInt32 FacesCount () const
  • GMeshFace2D< DATA_TYPE > * Face (const GUInt32 Index)
  • GMeshFace2D< DATA_TYPE > * AddFace ()
  • void RemoveEdge (GMeshEdge2D< DATA_TYPE > *Edge)
  • void RemoveFace (GMeshFace2D< DATA_TYPE > *Face)
  • void RemoveVertex (GMeshVertex2D< DATA_TYPE > *Vertex)
  • GMeshVertex2D< DATA_TYPE > * FindVertex (const DATA_TYPE X, const DATA_TYPE Y)
  • GMeshEdge2D< DATA_TYPE > * Connect (GMeshEdge2D< DATA_TYPE > *a, GMeshEdge2D< DATA_TYPE > *b)

Static Public Member Functions

  • static void Splice (GMeshEdge2D< DATA_TYPE > *a, GMeshEdge2D< DATA_TYPE > *b)
  • static GBool IsConnected (GMeshVertex2D< DATA_TYPE > *Vert1, GMeshVertex2D< DATA_TYPE > *Vert2, GMeshFace2D< DATA_TYPE > *Left)
  • static GMeshFace2D< DATA_TYPE > * RightFace (GMeshVertex2D< DATA_TYPE > *Vertex, GMeshFace2D< DATA_TYPE > *Left)

Detailed Description

template<typename DATA_TYPE>
class Amanith::GMesh2D< DATA_TYPE >

This class represents an enclosed volume, bounded by a set of vertexes and faces.

A mesh is a single polyhedron, which includes sets of vertexes, edges, and faces. The routines you will need most are the so called Euler operators, since they maintain Euler's formula V - E + F = 2 interrelating the number of vertexes, edges, and faces of a polyhedron of genus 0 (topologically equivalent to a sphere). If the topology is a valid polyhedron before the call, it will be valid after the call, as well. Note that these routines update the topology, but they use the default constructors for Vertex and Face, so the positions of new vertexes are (0, 0), you'll have to set them yourself. It is permissible to have vertexes and faces of degree 1 or 2.

For more informations about quad-edge please take a look at this site: http://www-2.cs.cmu.edu/afs/andrew/scs/cs/15-463/2001/pub/src/a2/quadedge.html

Constructor & Destructor Documentation

template<typename DATA_TYPE>
Amanith::GMesh2D< DATA_TYPE >::GMesh2D ( )

Default constructor; it initialize this mesh consisting of no vertexes and no faces.

template<typename DATA_TYPE>
Amanith::GMesh2D< DATA_TYPE >::~GMesh2D ( )

Destructor, it release the storage occupied by the contents of this mesh.

Member Function Documentation

template<typename DATA_TYPE>
GMeshEdge2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::AddEdge ( )

Add a new edge.

template<typename DATA_TYPE>
GMeshFace2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::AddFace ( )

Add a given face to this mesh.

template<typename DATA_TYPE>
GMeshEdge2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::AddSubManifold ( )

Add a new sub manifold.

template<typename DATA_TYPE>
GMeshVertex2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::AddVertex ( const GPoint< DATA_TYPE, 2 > & Position )

Add a vertex to this mesh, specifying also its geometric position.

template<typename DATA_TYPE>
GMeshVertex2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::AddVertex ( )

Add a given vertex to this mesh (it will be placed geometrically at the origin).

template<typename DATA_TYPE>
GError Amanith::GMesh2D< DATA_TYPE >::BuildFromFaces | ( | const GDynArray< GPoint< DATA_TYPE, 2 > > & | Points,
 |  | const GDynArray< GIndexList > & | FacesIndexes,
 |  | const GBool | Deep2ManifoldCheck = G_TRUE
 | ) |

Build a mesh from a classic vertex-indices arrays. Manifold mesh is specified by its points and its faces, where each face is a set of vertex indexes.

Parameters:
Points | the array of all points used by faces.
FacesIndexes | list of faces, each face is a set of points indexes (referring to Points array).
Deep2ManifoldCheck | if G_TRUE (default value) a 2-manifold correctness check is done. In particular the function checks that 2-manifold equation (V - E + F = 2) has been respected by given mesh data.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

template<typename DATA_TYPE>
GError Amanith::GMesh2D< DATA_TYPE >::BuildFromPointsCloud | ( | const GDynArray< GPoint< DATA_TYPE, 2 > > & | Points,
 |  | const DATA_TYPE | Epsilon = (DATA_TYPE) G_EPSILON
 | ) |

Build an incremental Delaunay triangulation.

The algorithm is the one presented from Guibas and Stolfi (1985) in "Leonidas Guibas and Jorge Stolfi, Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams, ACM Transactions on Graphics, 4(2), 1985, 75-123", with slight modifications and a bug fix.
The idea is to construct an axes aligned bounding box that will surround all specified points, triangulate it (delaunay triangulation of a aabox is pretty easy, just trace a diagonal), and then points are added into the triangulation one by one, maintaining the invariant that the triangulation is Delaunay.

Parameters:
Points | the array of points to be triangulated. This array must contain at least 3 points, else an G_INVALID_PARAMETER error code will be returned.
Epsilon | the precision used during calculation.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
To know witch edges are part of the Delaunay triangulation, just look at CustomData() value at edge's origin and destination vertexes. This value is non-NULL for vertexes that belong to the Delaunay triangulation. Here's an example code that check if a mesh edge is part of the triangulation:
    GBool IsEdgeDelaunay(const GMeshEdge2D *Edge) {
        if (Edge->Org()->CustomData() && Edge->Dest()->CustomData())
            return G_TRUE;
        else
            return G_FALSE;
    }
Extending this idea, is possible to know witch faces belong to the Delaunay triangulation: check each face edge with the above function, and you are done.

template<typename DATA_TYPE>
void Amanith::GMesh2D< DATA_TYPE >::Clear ( )

Clear mesh (delete all faces, vertexes and edges).

template<typename DATA_TYPE>
GMeshEdge2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::Connect | ( | GMeshEdge2D< DATA_TYPE > * | a,
 |  | GMeshEdge2D< DATA_TYPE > * | b
 | ) |

Add a new edge connecting the destination of a to the origin of b, in such a way that all three have the same left face after the connection is complete.

template<typename DATA_TYPE>
void Amanith::GMesh2D< DATA_TYPE >::DetachEdge ( GMeshEdge2D< DATA_TYPE > * Edge )

Detach the edge from mesh.

template<typename DATA_TYPE>
GMeshFace2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::Face ( const GUInt32 Index )

Get Index-th face (NULL if Index is out of range).

template<typename DATA_TYPE>
GUInt32 Amanith::GMesh2D< DATA_TYPE >::FacesCount ( ) const

Return the number of faces in this mesh.

template<typename DATA_TYPE>
GMeshVertex2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::FindVertex | ( | const DATA_TYPE | X,
 |  | const DATA_TYPE | Y
 | ) |

Find a mesh vertex with the corresponding geometric coordinates.

template<typename DATA_TYPE>
GBool Amanith::GMesh2D< DATA_TYPE >::IsConnected | ( | GMeshVertex2D< DATA_TYPE > * | Vert1,
 |  | GMeshVertex2D< DATA_TYPE > * | Vert2,
 |  | GMeshFace2D< DATA_TYPE > * | Left
 | ) | [static]

Return G_TRUE if a given pair of vertexes is connected directly by an edge along a given left face.

Parameters:
Vert1 | a first vertex to check (must be non NULL)
Vert2 | a second vertex to check (must be non NULL)
Left | the left face to check for (must be non NULL)

template<typename DATA_TYPE>
void Amanith::GMesh2D< DATA_TYPE >::KillFaceEdge ( GMeshEdge2D< DATA_TYPE > * Edge )

Delete a given edge from this mesh, along with its right face (must be non NULL).

template<typename DATA_TYPE>
void Amanith::GMesh2D< DATA_TYPE >::KillVertexEdge ( GMeshEdge2D< DATA_TYPE > * Edge )

Delete a given edge from this mesh, along with its destination vertex (must be non NULL).

template<typename DATA_TYPE>
GMeshEdge2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::MakeFaceEdge | ( | GMeshFace2D< DATA_TYPE > * | Face,
 |  | GMeshVertex2D< DATA_TYPE > * | Org,
 |  | GMeshVertex2D< DATA_TYPE > * | Dest
 | ) |

Return a new edge formed by splitting a given face through a given pair of vertexes. A new face is introduced to the right of the new edge. The new edge has Org as its origin and Dest as its destination.

Parameters:
Face | the face to divide to make the new edge (must be non NULL), must have both Org and Dest on its perimeter.
Org | the origin vertex of the new edge (must be non NULL);
Dest | the destination vertex the new edge (must be non NULL);
Note:
Org and Dest must be located on the perimeter of Face.

template<typename DATA_TYPE>
GMeshEdge2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::MakeVertexEdge | ( | GMeshVertex2D< DATA_TYPE > * | Vertex,
 |  | GMeshFace2D< DATA_TYPE > * | Left,
 |  | GMeshFace2D< DATA_TYPE > * | Right
 | ) |

Return a new edge formed by splitting a given vertex between a given pair of faces. A new vertex is introduced at the destination of the new edge. The new edge has Left along its left and Right along its right.

Parameters:
Vertex | the vertex to split to make the new edge (must be non NULL), must share an edge with both Left and Right_
Left | the left face adjacent to the new edge (must be non NULL)
Right | the right face adjacent to the new edge (must be non NULL)
Note:
Left and Right must share an edge with Vertex.

template<typename DATA_TYPE>
GMesh2D<DATA_TYPE>& Amanith::GMesh2D< DATA_TYPE >::operator= ( const GMesh2D< DATA_TYPE > & Source )

Assignment operator.

It assigns to this instance a perfect (physical) copy of the source mesh.

template<typename DATA_TYPE>
GMeshEdge2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::OrbitOrg | ( | GMeshEdge2D< DATA_TYPE > * | Edge,
 |  | GMeshVertex2D< DATA_TYPE > * | Org
 | ) |

Return the edge with a given origin vertex in the face orbit of a given edge.

Parameters:
Edge | an edge of the orbit to look for the vertex in (must be non NULL)
Org | the origin vertex to look for (must be non NULL)
Returns:
the edge in the same face orbit as Edge with origin vertex Org; NULL if not found.

template<typename DATA_TYPE>
void Amanith::GMesh2D< DATA_TYPE >::RemoveEdge ( GMeshEdge2D< DATA_TYPE > * Edge )

Remove edge from internal list (and delete its pointer), without doing nothing else on mesh.

template<typename DATA_TYPE>
void Amanith::GMesh2D< DATA_TYPE >::RemoveFace ( GMeshFace2D< DATA_TYPE > * Face )

Remove face from internal list (and delete its pointer), without doing nothing else on mesh.

template<typename DATA_TYPE>
void Amanith::GMesh2D< DATA_TYPE >::RemoveVertex ( GMeshVertex2D< DATA_TYPE > * Vertex )

Remove a given vertex from this mesh (and delete its pointer), without doing nothing else on mesh

Parameters:
Vertex the vertex to remove (must be non NULLl and must be in the mesh)

template<typename DATA_TYPE>
GMeshFace2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::RightFace | ( | GMeshVertex2D< DATA_TYPE > * | Vertex,
 |  | GMeshFace2D< DATA_TYPE > * | Left
 | ) | [static]

Return the face to the right of a given face around a given vertex (NULL if none)

Parameters:
Vertex | the vertex to look for the face around (must be non NULL)
Left | the left face to return the right face of (must be non NULL)

template<typename DATA_TYPE>
void Amanith::GMesh2D< DATA_TYPE >::SetOrbitOrg | ( | GMeshEdge2D< DATA_TYPE > * | Edge,
 |  | GMeshVertex2D< DATA_TYPE > * | Org
 | ) |

Set the origin of the vertex orbit of a given edge to a given vertex.

Parameters:
Edge | an edge of the orbit to set the origin vertex of (must be non NULL)
Org | the new origin vertex (must be non NULL)

template<typename DATA_TYPE>
void Amanith::GMesh2D< DATA_TYPE >::Splice | ( | GMeshEdge2D< DATA_TYPE > * | a,
 |  | GMeshEdge2D< DATA_TYPE > * | b
 | ) | [static]

Splice a given pair of (non NULL) edges. This operator affects the two edge rings around the origins of a and b, and, independently, the two edge rings around the left faces of a and b. In each case:

  • if the two rings are distinct, Splice will combine them into one
  • if the two are the same ring, Splice will break it into two separate pieces.

Thus, Splice can be used both to attach the two edges together, and to break them apart. See Guibas and Stolfi (1985) p.96 for more details and illustrations.

template<typename DATA_TYPE>
GMeshVertex2D< DATA_TYPE > * Amanith::GMesh2D< DATA_TYPE >::Vertex ( const GUInt32 Index )

Get Index-th vertex (NULL if Index is out of range).

template<typename DATA_TYPE>
GUInt32 Amanith::GMesh2D< DATA_TYPE >::VerticesCount ( ) const

Return the number of vertexes in this mesh.

The documentation for this class was generated from the following files:
  • gmesh2d.h
  • gmesh2d.cpp


Amanith::GMesh2D< DATA_TYPE > Member List

This is the complete list of members for Amanith::GMesh2D< DATA_TYPE >, including all inherited members.

AddEdge() Amanith::GMesh2D< DATA_TYPE >
AddFace() Amanith::GMesh2D< DATA_TYPE >
AddSubManifold() Amanith::GMesh2D< DATA_TYPE >
AddVertex() Amanith::GMesh2D< DATA_TYPE >
AddVertex(const GPoint< DATA_TYPE, 2 > &Position) | Amanith::GMesh2D< DATA_TYPE >
BuildFromFaces(const GDynArray< GPoint< DATA_TYPE, 2 > > &Points, const GDynArray< GIndexList > &FacesIndexes, const GBool Deep2ManifoldCheck=G_TRUE) | Amanith::GMesh2D< DATA_TYPE >
BuildFromPointsCloud(const GDynArray< GPoint< DATA_TYPE, 2 > > &Points, const DATA_TYPE Epsilon=(DATA_TYPE) G_EPSILON) | Amanith::GMesh2D< DATA_TYPE >
Clear() Amanith::GMesh2D< DATA_TYPE >
Connect(GMeshEdge2D< DATA_TYPE > *a, GMeshEdge2D< DATA_TYPE > *b) | Amanith::GMesh2D< DATA_TYPE >
DetachEdge(GMeshEdge2D< DATA_TYPE > *Edge) | Amanith::GMesh2D< DATA_TYPE >
Face(const GUInt32 Index) | Amanith::GMesh2D< DATA_TYPE >
FacesCount() const | Amanith::GMesh2D< DATA_TYPE >
FindVertex(const DATA_TYPE X, const DATA_TYPE Y) | Amanith::GMesh2D< DATA_TYPE >
GMesh2D() Amanith::GMesh2D< DATA_TYPE >
IsConnected(GMeshVertex2D< DATA_TYPE > *Vert1, GMeshVertex2D< DATA_TYPE > *Vert2, GMeshFace2D< DATA_TYPE > *Left) | Amanith::GMesh2D< DATA_TYPE > | [static]
KillFaceEdge(GMeshEdge2D< DATA_TYPE > *Edge) | Amanith::GMesh2D< DATA_TYPE >
KillVertexEdge(GMeshEdge2D< DATA_TYPE > *Edge) | Amanith::GMesh2D< DATA_TYPE >
MakeFaceEdge(GMeshFace2D< DATA_TYPE > *Face, GMeshVertex2D< DATA_TYPE > *Org, GMeshVertex2D< DATA_TYPE > *Dest) | Amanith::GMesh2D< DATA_TYPE >
MakeVertexEdge(GMeshVertex2D< DATA_TYPE > *Vertex, GMeshFace2D< DATA_TYPE > *Left, GMeshFace2D< DATA_TYPE > *Right) | Amanith::GMesh2D< DATA_TYPE >
operator=(const GMesh2D< DATA_TYPE > &Source) | Amanith::GMesh2D< DATA_TYPE >
OrbitOrg(GMeshEdge2D< DATA_TYPE > *Edge, GMeshVertex2D< DATA_TYPE > *Org) | Amanith::GMesh2D< DATA_TYPE >
RemoveEdge(GMeshEdge2D< DATA_TYPE > *Edge) | Amanith::GMesh2D< DATA_TYPE >
RemoveFace(GMeshFace2D< DATA_TYPE > *Face) | Amanith::GMesh2D< DATA_TYPE >
RemoveVertex(GMeshVertex2D< DATA_TYPE > *Vertex) | Amanith::GMesh2D< DATA_TYPE >
RightFace(GMeshVertex2D< DATA_TYPE > *Vertex, GMeshFace2D< DATA_TYPE > *Left) | Amanith::GMesh2D< DATA_TYPE > | [static]
SetOrbitOrg(GMeshEdge2D< DATA_TYPE > *Edge, GMeshVertex2D< DATA_TYPE > *Org) | Amanith::GMesh2D< DATA_TYPE >
Splice(GMeshEdge2D< DATA_TYPE > *a, GMeshEdge2D< DATA_TYPE > *b) | Amanith::GMesh2D< DATA_TYPE > | [static]
Vertex(const GUInt32 Index) | Amanith::GMesh2D< DATA_TYPE >
VerticesCount() const | Amanith::GMesh2D< DATA_TYPE >


Amanith::GMeshEdge2D

Amanith::GMeshEdge2D< DATA_TYPE > Class Template Reference

A directed edge from one vertex to another, adjacent to two faces. More...

List of all members.

Public Member Functions

  • void * CustomData () const
  • void SetCustomData (void *CustomData)
  • GMeshVertex2D< DATA_TYPE > * Org ()
  • GMeshVertex2D< DATA_TYPE > * Dest ()
  • void SetOrg (GMeshVertex2D< DATA_TYPE > *NewOrg)
  • void SetDest (GMeshVertex2D< DATA_TYPE > *NewDest)
  • GMeshFace2D< DATA_TYPE > * Left ()
  • GMeshFace2D< DATA_TYPE > * Right ()
  • void SetLeft (GMeshFace2D< DATA_TYPE > *NewLeft)
  • void SetRight (GMeshFace2D< DATA_TYPE > *NewRight)
  • GMeshEdge2D< DATA_TYPE > * Rot ()
  • GMeshEdge2D< DATA_TYPE > * InvRot ()
  • GMeshEdge2D< DATA_TYPE > * Sym ()
  • GMeshEdge2D< DATA_TYPE > * Onext ()
  • GMeshEdge2D< DATA_TYPE > * Oprev ()
  • GMeshEdge2D< DATA_TYPE > * Dnext ()
  • GMeshEdge2D< DATA_TYPE > * Dprev ()
  • GMeshEdge2D< DATA_TYPE > * Lnext ()
  • GMeshEdge2D< DATA_TYPE > * Lprev ()
  • GMeshEdge2D< DATA_TYPE > * Rnext ()
  • GMeshEdge2D< DATA_TYPE > * Rprev ()
  • GMesh2D< DATA_TYPE > * Mesh ()
  • GBool IsOnEdge (const GPoint< DATA_TYPE, 2 > &P, const DATA_TYPE Tolerance=(DATA_TYPE) G_EPSILON)

Protected Member Functions

  • GMeshEdge2D ()
  • ~GMeshEdge2D ()

Detailed Description

template<typename DATA_TYPE>
class Amanith::GMeshEdge2D< DATA_TYPE >

A directed edge from one vertex to another, adjacent to two faces.

The class GMeshEdge2D represents a directed edge. Given an edge, you can find the immediately adjacent vertexes, faces, and edges, and the "symmetric" edge that points in the opposite direction. These operators are all fast (just a few memory references). Because edges are directed and we always imagine ourselves viewing the object from the outside, we can speak of the origin and destination vertexes and left and right faces of an edge. The number of edges of a face (the face degree or valence) is 3 or greater for "real" polyhedra, but sometimes during construction of data structures, it is useful to have faces with 1 or 2 edges, which would correspond geometrically to loops or degenerate sliver polygons.

Using Lnext(), we could loop around the edges of the face on the left of edge Start in counterclockwise order:

    void LeftFromEdge(GMeshEdge2D *Start) {

        GMeshEdge2D *e = Start;

        do {
            // do something with edge e
            e = e->Lnext();
        } while (e != Start);
    }

Similarly, the edges around the origin vertex of edge Start can be visited in counterclockwise order like so:

    void OrgFromEdge(GMeshEdge2D *Start) {

        GMeshEdge2D *e = Start;

        do {
            // do something with edge e
            e = e->Onext();
        } while (e != Start);
    }

Original quad-edge data structure due to Guibas and Stolfi (1985). "Leonidas Guibas and Jorge Stolfi, Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams, ACM Transactions on Graphics, 4(2), 1985, 75-123"

Constructor & Destructor Documentation

template<typename DATA_TYPE>
Amanith::GMeshEdge2D< DATA_TYPE >::GMeshEdge2D ( ) [protected]

Default constructor, it initialize this edge with no connections.

template<typename DATA_TYPE>
Amanith::GMeshEdge2D< DATA_TYPE >::~GMeshEdge2D ( ) [protected]

Destructor.

Member Function Documentation

template<typename DATA_TYPE>
void* Amanith::GMeshEdge2D< DATA_TYPE >::CustomData ( ) const

Return custom data associated to this edge.

template<typename DATA_TYPE>
GMeshVertex2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Dest ( )

Return the destination vertex of this edge (NULL if currently unknown).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Dnext ( )

Return the next counterclockwise edge around (into) the destination of this edge (will be non NULL).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Dprev ( )

Return the next clockwise edge around (into) the destination of this edge (will be non NULL).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::InvRot ( )

Return the dual of this edge, directed from its left to its right (will be non NULL).

template<typename DATA_TYPE>
GBool Amanith::GMeshEdge2D< DATA_TYPE >::IsOnEdge | ( | const GPoint< DATA_TYPE, 2 > & | P,
 |  | const DATA_TYPE | Tolerance = (DATA_TYPE) G_EPSILON
 | ) |

Determines if the point P is on the edge. The point is considered on if it is in the Tolerance-neighborhood of the edge.

template<typename DATA_TYPE>
GMeshFace2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Left ( )

Return the left face of this edge (NULL if currently unknown).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Lnext ( )

Return the counterclockwise edge around the left face following this edge (will be non NULL).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Lprev ( )

Return the counterclockwise edge around the left face before this edge (will be non NULL).

template<typename DATA_TYPE>
GMesh2D< DATA_TYPE > * Amanith::GMeshEdge2D< DATA_TYPE >::Mesh ( )

Return the mesh this edge belongs to.

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Onext ( )

Return the next counterclockwise edge around (from) the origin of this edge (will be non NULL).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Oprev ( )

Return the next clockwise edge around (from) the origin of this edge (will be non NULL).

template<typename DATA_TYPE>
GMeshVertex2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Org ( )

Return the origin vertex of this edge (NULL if currently unknown).

template<typename DATA_TYPE>
GMeshFace2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Right ( )

Return the right face of this edge (NULL if currently unknown).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Rnext ( )

Return the edge around the right face counterclockwise following this edge (will be non NULL).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Rot ( )

Return the dual of this edge, directed from its right to its left (will be non NULL).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Rprev ( )

Return the edge around the right face counterclockwise before this edge (will be non NULL).

template<typename DATA_TYPE>
void Amanith::GMeshEdge2D< DATA_TYPE >::SetCustomData ( void * CustomData )

Set custom data for this edge.

template<typename DATA_TYPE>
void Amanith::GMeshEdge2D< DATA_TYPE >::SetDest ( GMeshVertex2D< DATA_TYPE > * NewDest )

Change the destination vertex of this edge to a given vertex (NULL if currently unknown).

template<typename DATA_TYPE>
void Amanith::GMeshEdge2D< DATA_TYPE >::SetLeft ( GMeshFace2D< DATA_TYPE > * NewLeft )

Change the left face of this edge to a given face (NULL if currently unknown).

template<typename DATA_TYPE>
void Amanith::GMeshEdge2D< DATA_TYPE >::SetOrg ( GMeshVertex2D< DATA_TYPE > * NewOrg )

Change the origin vertex of this edge to a given vertex (NULL if currently unknown).

template<typename DATA_TYPE>
void Amanith::GMeshEdge2D< DATA_TYPE >::SetRight ( GMeshFace2D< DATA_TYPE > * NewRight )

Change the right face of this edge to a given face (NULL if currently unknown).

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshEdge2D< DATA_TYPE >::Sym ( )

Return the edge from the destination to the origin of this edge (will be non NULL).

The documentation for this class was generated from the following files:
  • gmesh2d.h
  • gmesh2d.cpp


Amanith::GMeshEdge2D< DATA_TYPE > Member List

This is the complete list of members for Amanith::GMeshEdge2D< DATA_TYPE >, including all inherited members.

CustomData() const | Amanith::GMeshEdge2D< DATA_TYPE > |
Dest() | Amanith::GMeshEdge2D< DATA_TYPE > |
Dnext() | Amanith::GMeshEdge2D< DATA_TYPE > |
Dprev() | Amanith::GMeshEdge2D< DATA_TYPE > |
GMeshEdge2D() | Amanith::GMeshEdge2D< DATA_TYPE > | [protected]
InvRot() | Amanith::GMeshEdge2D< DATA_TYPE > |
IsOnEdge(const GPoint< DATA_TYPE, 2 > &P, const DATA_TYPE Tolerance=(DATA_TYPE) G_EPSILON) | Amanith::GMeshEdge2D< DATA_TYPE > |
Left() | Amanith::GMeshEdge2D< DATA_TYPE > |
Lnext() | Amanith::GMeshEdge2D< DATA_TYPE > |
Lprev() | Amanith::GMeshEdge2D< DATA_TYPE > |
Mesh() | Amanith::GMeshEdge2D< DATA_TYPE > |
Onext() | Amanith::GMeshEdge2D< DATA_TYPE > |
Oprev() | Amanith::GMeshEdge2D< DATA_TYPE > |
Org() | Amanith::GMeshEdge2D< DATA_TYPE > |
Right() | Amanith::GMeshEdge2D< DATA_TYPE > |
Rnext() | Amanith::GMeshEdge2D< DATA_TYPE > |
Rot() | Amanith::GMeshEdge2D< DATA_TYPE > |
Rprev() | Amanith::GMeshEdge2D< DATA_TYPE > |
SetCustomData(void *CustomData) | Amanith::GMeshEdge2D< DATA_TYPE > |
SetDest(GMeshVertex2D< DATA_TYPE > *NewDest) | Amanith::GMeshEdge2D< DATA_TYPE > |
SetLeft(GMeshFace2D< DATA_TYPE > *NewLeft) | Amanith::GMeshEdge2D< DATA_TYPE > |
SetOrg(GMeshVertex2D< DATA_TYPE > *NewOrg) | Amanith::GMeshEdge2D< DATA_TYPE > |
SetRight(GMeshFace2D< DATA_TYPE > *NewRight) | Amanith::GMeshEdge2D< DATA_TYPE > |
Sym() | Amanith::GMeshEdge2D< DATA_TYPE > |
~GMeshEdge2D() | Amanith::GMeshEdge2D< DATA_TYPE > | [protected]


Amanith::GMeshFace2D

Amanith::GMeshFace2D< DATA_TYPE > Class Template Reference

A face of a mesh, bounded by a set of directed edges. More...

List of all members.

Public Member Functions

  • GMesh2D< DATA_TYPE > * Mesh () const
  • void * CustomData () const
  • void SetCustomData (void *CustomData)
  • GMeshEdge2D< DATA_TYPE > * Edge () const
  • void AddEdge (GMeshEdge2D< DATA_TYPE > *Edge)
  • void RemoveEdge (GMeshEdge2D< DATA_TYPE > *Edge)
  • GBool HasVertex (const GMeshVertex2D< DATA_TYPE > *Vertex)
  • GBool HasVertices (const GDynArray< GMeshVertex2D< DATA_TYPE > * > VertsArray)

Protected Member Functions

  • GMeshFace2D (GMesh2D< DATA_TYPE > *Mesh)
  • ~GMeshFace2D ()

Detailed Description

template<typename DATA_TYPE>
class Amanith::GMeshFace2D< DATA_TYPE >

A face of a mesh, bounded by a set of directed edges.

Each face stores one piece of topological information, a pointer to one of the ccw-oriented edges of the face, plus optional attribute information (color, etc).

Constructor & Destructor Documentation

template<typename DATA_TYPE>
Amanith::GMeshFace2D< DATA_TYPE >::GMeshFace2D ( GMesh2D< DATA_TYPE > * Mesh ) [protected]

Constructor, it initialize this face with no adjacent edges (must be non-null).

template<typename DATA_TYPE>
Amanith::GMeshFace2D< DATA_TYPE >::~GMeshFace2D ( ) [protected]

Destructor.

Member Function Documentation

template<typename DATA_TYPE>
void Amanith::GMeshFace2D< DATA_TYPE >::AddEdge ( GMeshEdge2D< DATA_TYPE > * Edge )

Add a given adjacent edge to this face (must be non NULL).

template<typename DATA_TYPE>
void* Amanith::GMeshFace2D< DATA_TYPE >::CustomData ( ) const

Return custom data associated to this face.

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshFace2D< DATA_TYPE >::Edge ( ) const

Return an arbitrary adjacent edge for this face (null if degenerate).

template<typename DATA_TYPE>
GBool Amanith::GMeshFace2D< DATA_TYPE >::HasVertex ( const GMeshVertex2D< DATA_TYPE > * Vertex )

Return G_TRUE if a given vertex is adjacent (it belong to some edges of) the face, G_FALSE otherwise.

template<typename DATA_TYPE>
GBool Amanith::GMeshFace2D< DATA_TYPE >::HasVertices ( const GDynArray< GMeshVertex2D< DATA_TYPE > * > VertsArray )

Return G_TRUE if the face includes all the vertexes specified, G_FALSE otherwise.

template<typename DATA_TYPE>
GMesh2D<DATA_TYPE>* Amanith::GMeshFace2D< DATA_TYPE >::Mesh ( ) const

Return the mesh for this face.

template<typename DATA_TYPE>
void Amanith::GMeshFace2D< DATA_TYPE >::RemoveEdge ( GMeshEdge2D< DATA_TYPE > * Edge )

Remove a given adjacent from this face (must be non NULL).

template<typename DATA_TYPE>
void Amanith::GMeshFace2D< DATA_TYPE >::SetCustomData ( void * CustomData )

Set custom data for this face.

The documentation for this class was generated from the following files:
  • gmesh2d.h
  • gmesh2d.cpp


Amanith::GMeshFace2D< DATA_TYPE > Member List

This is the complete list of members for Amanith::GMeshFace2D< DATA_TYPE >, including all inherited members.

AddEdge(GMeshEdge2D< DATA_TYPE > *Edge) | Amanith::GMeshFace2D< DATA_TYPE > |
CustomData() const | Amanith::GMeshFace2D< DATA_TYPE > |
Edge() const | Amanith::GMeshFace2D< DATA_TYPE > |
GMeshFace2D(GMesh2D< DATA_TYPE > *Mesh) | Amanith::GMeshFace2D< DATA_TYPE > | [protected]
HasVertex(const GMeshVertex2D< DATA_TYPE > *Vertex) | Amanith::GMeshFace2D< DATA_TYPE > |
HasVertices(const GDynArray< GMeshVertex2D< DATA_TYPE > * > VertsArray) | Amanith::GMeshFace2D< DATA_TYPE > |
Mesh() const | Amanith::GMeshFace2D< DATA_TYPE > |
RemoveEdge(GMeshEdge2D< DATA_TYPE > *Edge) | Amanith::GMeshFace2D< DATA_TYPE > |
SetCustomData(void *CustomData) | Amanith::GMeshFace2D< DATA_TYPE > |
~GMeshFace2D() | Amanith::GMeshFace2D< DATA_TYPE > | [protected]


Amanith::GMeshVertex2D

Amanith::GMeshVertex2D< DATA_TYPE > Class Template Reference

This class represent a mesh vertex. More...

List of all members.

Public Member Functions

  • GMesh2D< DATA_TYPE > * Mesh () const
  • void * CustomData () const
  • void SetCustomData (void *CustomData)
  • const GPoint< DATA_TYPE, 2 > & Position () const
  • void SetPosition (const GPoint< DATA_TYPE, 2 > &NewPos)
  • GMeshEdge2D< DATA_TYPE > * Edge () const
  • GBool IsIsolated () const
  • void AddEdge (GMeshEdge2D< DATA_TYPE > *NewEdge)
  • void RemoveEdge (GMeshEdge2D< DATA_TYPE > *Edge)
  • GUInt32 EdgesInRingCount ()

Protected Member Functions

  • GMeshVertex2D (GMesh2D< DATA_TYPE > *Mesh)
  • ~GMeshVertex2D ()

Detailed Description

template<typename DATA_TYPE>
class Amanith::GMeshVertex2D< DATA_TYPE >

This class represent a mesh vertex.

The information stored at a vertex consists of one piece of topological information (a pointer to one of the outgoing edges of the vertex), plus geometric information (the 2D position), and optional attribute information (color, normals, etc). A mesh vertex is described by:

  • Its geometrical position in 2D space.
  • An arbitrary outgoing edge of this vertex.
  • A custom data pointer, useful to hang custom informations, for extensibility. You can store arbitrary (4 byte) information there, or pointers to additional memory (e.g. for colors, normals, or texture coordinates).

Constructor & Destructor Documentation

template<typename DATA_TYPE>
Amanith::GMeshVertex2D< DATA_TYPE >::GMeshVertex2D ( GMesh2D< DATA_TYPE > * Mesh ) [protected]

Constructor, initialize this vertex at the origin with no outgoing edges.

template<typename DATA_TYPE>
Amanith::GMeshVertex2D< DATA_TYPE >::~GMeshVertex2D ( ) [protected]

Destructor.

Member Function Documentation

template<typename DATA_TYPE>
void Amanith::GMeshVertex2D< DATA_TYPE >::AddEdge ( GMeshEdge2D< DATA_TYPE > * NewEdge )

Add a given outgoing edge to this vertex (an edge whose origin is this vertex). Must be non NULL.

template<typename DATA_TYPE>
void* Amanith::GMeshVertex2D< DATA_TYPE >::CustomData ( ) const

Return custom data associated to this vertex.

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GMeshVertex2D< DATA_TYPE >::Edge ( ) const

Return an arbitrary outgoing edge from this vertex (an edge whose origin is this vertex). It's NULL if the vertex is an isolated vertex

template<typename DATA_TYPE>
GUInt32 Amanith::GMeshVertex2D< DATA_TYPE >::EdgesInRingCount ( )

Counts how many edges are in the origin ring specified by this vertex.

template<typename DATA_TYPE>
GBool Amanith::GMeshVertex2D< DATA_TYPE >::IsIsolated ( ) const

Return G_TRUE if vertex is isolated.

template<typename DATA_TYPE>
GMesh2D<DATA_TYPE>* Amanith::GMeshVertex2D< DATA_TYPE >::Mesh ( ) const

Return the mesh for this vertex (the mesh that the vertex belongs to); it is non NULL.

template<typename DATA_TYPE>
const GPoint<DATA_TYPE, 2>& Amanith::GMeshVertex2D< DATA_TYPE >::Position ( ) const

Get the 2D position of this vertex.

template<typename DATA_TYPE>
void Amanith::GMeshVertex2D< DATA_TYPE >::RemoveEdge ( GMeshEdge2D< DATA_TYPE > * Edge )

Remove a given outgoing edge from this vertex (an edge whose origin is no longer at this vertex) Edge must be non NULL.

template<typename DATA_TYPE>
void Amanith::GMeshVertex2D< DATA_TYPE >::SetCustomData ( void * CustomData )

Set custom data for this vertex.

template<typename DATA_TYPE>
void Amanith::GMeshVertex2D< DATA_TYPE >::SetPosition ( const GPoint< DATA_TYPE, 2 > & NewPos )

Set vertex position.

The documentation for this class was generated from the following files:
  • gmesh2d.h
  • gmesh2d.cpp


Amanith::GMeshVertex2D< DATA_TYPE > Member List

This is the complete list of members for Amanith::GMeshVertex2D< DATA_TYPE >, including all inherited members.

AddEdge(GMeshEdge2D< DATA_TYPE > *NewEdge) | Amanith::GMeshVertex2D< DATA_TYPE > |
CustomData() const | Amanith::GMeshVertex2D< DATA_TYPE > |
Edge() const | Amanith::GMeshVertex2D< DATA_TYPE > |
EdgesInRingCount() | Amanith::GMeshVertex2D< DATA_TYPE > |
GMeshVertex2D(GMesh2D< DATA_TYPE > *Mesh) | Amanith::GMeshVertex2D< DATA_TYPE > | [protected]
IsIsolated() const | Amanith::GMeshVertex2D< DATA_TYPE > |
Mesh() const | Amanith::GMeshVertex2D< DATA_TYPE > |
Position() const | Amanith::GMeshVertex2D< DATA_TYPE > |
RemoveEdge(GMeshEdge2D< DATA_TYPE > *Edge) | Amanith::GMeshVertex2D< DATA_TYPE > |
SetCustomData(void *CustomData) | Amanith::GMeshVertex2D< DATA_TYPE > |
SetPosition(const GPoint< DATA_TYPE, 2 > &NewPos) | Amanith::GMeshVertex2D< DATA_TYPE > |
~GMeshVertex2D() | Amanith::GMeshVertex2D< DATA_TYPE > | [protected]


Amanith::GMitchellDataDouble

Amanith::GMitchellDataDouble Struct Reference

Data structure for parameterized Mitchell filter. (double version). More...

List of all members.

Detailed Description

Data structure for parameterized Mitchell filter. (double version).

The documentation for this struct was generated from the following file:
  • gfilter.h


Amanith::GMitchellDataDouble Member List

This is the complete list of members for Amanith::GMitchellDataDouble, including all inherited members.


Amanith::GMitchellDataFloat

Amanith::GMitchellDataFloat Struct Reference

Data structure for parameterized Mitchell filter. (float version). More...

List of all members.

Detailed Description

Data structure for parameterized Mitchell filter. (float version).

The documentation for this struct was generated from the following file:
  • gfilter.h


Amanith::GMitchellDataFloat Member List

This is the complete list of members for Amanith::GMitchellDataFloat, including all inherited members.


Amanith::GMultiCurve1D

Amanith::GMultiCurve1D Class Reference

This class represents a parametric continuous piece-wise 1D curve. More...

Inheritance diagram for Amanith::GMultiCurve1D:

Amanith::GCurve1D Amanith::GElement Amanith::GHermiteCurve1D Amanith::GPolyLineCurve1D List of all members.

Public Member Functions

  • GMultiCurve1D ()
  • GMultiCurve1D (const GElement *Owner)
  • virtual ~GMultiCurve1D ()
  • GError PointParameter (const GUInt32 Index, GReal &Parameter) const
  • GError SetPointParameter (const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)
  • GError AddPoint (const GReal Parameter, GUInt32 &Index, GBool &AlreadyExists)
  • GError AddPoint (const GReal Parameter, const GReal Point, GUInt32 &Index, GBool &AlreadyExists)
  • GError RemovePoint (const GUInt32 Index)
  • virtual void DerivativeLR (const GDerivativeOrder Order, const GReal u, GReal &LeftDerivative, GReal &RightDerivative) const
  • void TangentLR (const GReal u, GReal &LeftTangent, GReal &RightTangent) const
  • void SpeedLR (const GReal u, GReal &LeftSpeed, GReal &RightSpeed) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • virtual GError DoAddPoint (const GReal Parameter, const GReal *NewPoint, GUInt32 &Index, GBool &AlreadyExists)=0
  • virtual GError DoRemovePoint (const GUInt32 Index)=0
  • GError BaseClone (const GElement &Source)
  • virtual GError DoGetPointParameter (const GUInt32 Index, GReal &Parameter) const =0
  • virtual GError DoSetPointParameter (const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)=0

Detailed Description

This class represents a parametric continuous piece-wise 1D curve.

The main difference respect to a GCurve1D is that a multicurve is an "homogeneous" piece-wise continuous curve. A multicurve is made of curve traits of the same type, each trait is continuously joined to the previous and next ones. You can think at a multicurve as a key-based curve. At each key point the curve may or may not be globally derivable. But at least it's continuous.
Some kind of multicurve can be useful for shape design (think for example at Hermite curves used in Inkscape software), others for animation purposes (think for example at TCB curves).

Constructor & Destructor Documentation

Amanith::GMultiCurve1D::GMultiCurve1D ( )

Default constructor, constructs and empty curve.

Amanith::GMultiCurve1D::GMultiCurve1D ( const GElement * Owner )

Constructor with kernel specification, constructs and empty curve.

Amanith::GMultiCurve1D::~GMultiCurve1D ( ) [virtual]

Destructor.

Member Function Documentation

GError Amanith::GMultiCurve1D::AddPoint | ( | const GReal | Parameter,
 |  | const GReal | Point,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) |

Add a new (key)point, at the specified domain parameter; in case of successful operation, the inserted point index (into internal array) will be returned.

Parameters:
Parameter | the domain parameter where to add the point on.
Point | the geometrical position of the new created point.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | if G_TRUE, it means that the point has been created in a domain position already occupied by another (key)point. In this case the already existing point will be overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.
Note:
the specified domain value can be outside the current domain; in this case the domain will be updated to include the specified domain value.

GError Amanith::GMultiCurve1D::AddPoint | ( | const GReal | Parameter,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) |

Add point on curve, at the specified domain parameter; in case of successful operation, the inserted point index (into internal array) will be returned.

Parameters:
Parameter | the domain parameter where to add the point on. It must be in the domain range, else an G_OUT_OF_RANGE error code will be returned.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | if G_TRUE, it means that the point has been created in a domain position already occupied by another (key)point. In this case the already existing point will be overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

GError Amanith::GMultiCurve1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function; this implementation do nothing.

Reimplemented from Amanith::GCurve1D.

Reimplemented in Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

const GClassID& Amanith::GMultiCurve1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GCurve1D.

Reimplemented in Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

virtual void Amanith::GMultiCurve1D::DerivativeLR | ( | const GDerivativeOrder | Order,
 |  | const GReal | u,
 |  | GReal & | LeftDerivative,
 |  | GReal & | RightDerivative
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter. This method differs from the one of base GCurve1D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
LeftDerivative | the left derivative.
RightDerivative | the right derivative.
Note:
specified domain parameter is clamped by domain interval; the default behavior is to return LeftDerivative = RightDerivative = Derivative(Order, u).

Reimplemented in Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

const GClassID& Amanith::GMultiCurve1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GCurve1D.

Reimplemented in Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

virtual GError Amanith::GMultiCurve1D::DoAddPoint | ( | const GReal | Parameter,
 |  | const GReal * | NewPoint,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, pure virtual]

Add a new (key)point for the curve. This method must be implemented by all derived classes.

Parameters:
Parameter | the domain parameter where to add the (key)point.
NewPoint | if not specified (NULL value) the point must be created on curve. In this case the specified domain Parameter must reside completely inside the domain, else an G_OUT_OF_RANGE error must be returned. If Newpoint is specified (non NULL) the point can be created also outside domain range.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | this method must write to this flag a G_TRUE value if the point has been created in a domain position already occupied by another (key)point. In this case the already existing point must be overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implemented in Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

virtual GError Amanith::GMultiCurve1D::DoGetPointParameter | ( | const GUInt32 | Index,
 |  | GReal & | Parameter
 | ) | const [protected, pure virtual]

Get domain parameter corresponding to specified (key)point index. Index is ensured to be valid. This method must be implemented by all derived classes.

Parameters:
Index | the point index, is ensured to be always valid.
Parameter | the outputted domain parameter, corresponding to the specified (key)point index.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implemented in Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

virtual GError Amanith::GMultiCurve1D::DoRemovePoint ( const GUInt32 Index ) [protected, pure virtual]

Remove a (key)point from the curve. Index is ensured to be valid and we are sure that after removing we'll have (at least) a minimal (2-(key)points made) multi-curve. This method must be implemented by all derived classes.

Parameters:
Index the index of (key)point to be removed. Note that this value is ensured to be always valid.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implemented in Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

virtual GError Amanith::GMultiCurve1D::DoSetPointParameter | ( | const GUInt32 | Index,
 |  | const GReal | NewParamValue,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, pure virtual]

Set domain parameter corresponding to specified (key)point index. The final effect is that a (key)point is moved from its domain position to another domain position. This method must be implemented by all derived classes.

Parameters:
Index | the point index, is ensured to be always valid.
NewParamValue | the new domain parameter, where to move the specified (key)point. It must be outside current domain.
NewIndex | the new position (internal index) occupied by the moved (key)point. This method must output this value.
AlreadyExists | this method must write to this flag a G_TRUE value if the point has been moved in a domain position already occupied by another (key)point. In this case the already existing point must be overridden by the moved point.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implemented in Amanith::GHermiteCurve1D, and Amanith::GPolyLineCurve1D.

GError Amanith::GMultiCurve1D::PointParameter | ( | const GUInt32 | Index,
 |  | GReal & | Parameter
 | ) | const

Get domain parameter corresponding to specified (key)point index.

Parameters:
Index | the point index, must be valid (else an G_OUT_OF_RANGE error will be returned).
Parameter | the outputted domain parameter, corresponding to the specified (key)point index.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

GError Amanith::GMultiCurve1D::RemovePoint ( const GUInt32 Index )

Remove a (key)point from curve. The domain will be updated in the case that the specified point to be removed is first or last one.

Parameters:
Index the index of the point to be removed. It must be valid, else a G_OUT_OF_RANGE error code will be returned.
Note:
If the curve were made of just 2 (key)points, calling this function will clear the entire curve, because a multicurve must be composed of at least 2 points.

GError Amanith::GMultiCurve1D::SetPointParameter | ( | const GUInt32 | Index,
 |  | const GReal | NewParamValue,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) |

Set domain parameter corresponding to specified (key)point index. The final effect is that a (key)point is moved from its domain position to another domain position.

Parameters:
Index | the point index, must be valid (else an G_OUT_OF_RANGE error will be returned).
NewParamValue | the new domain parameter, where to move the specified (key)point.
NewIndex | the new position (internal index) occupied by the moved (key)point.
AlreadyExists | if G_TRUE, it means that the point has been moved to a domain position already occupied by another (key)point. In this case the already existing point will be overridden by the moved point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.
Note:
if the specified new domain position is out of current domain range, then the current domain will be update to include the specified domain value.

void Amanith::GMultiCurve1D::SpeedLR | ( | const GReal | u,
 |  | GReal & | LeftSpeed,
 |  | GReal & | RightSpeed
 | ) | const

Return the curve speed calculated at specified domain parameter. With 'speed', here's intended the length of the curve's first derivative vector. This method differs from the one of base GCurve1D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
u | the domain parameter at witch we wanna evaluate curve speed(s).
LeftSpeed | the speed corresponding to the left derivative vector.
RightSpeed | the speed corresponding to the right derivative vector.
Note:
specified domain parameter is clamped by domain interval.

void Amanith::GMultiCurve1D::TangentLR | ( | const GReal | u,
 |  | GReal & | LeftTangent,
 |  | GReal & | RightTangent
 | ) | const

Return the curve tangent calculated at specified domain parameter. This method differs from the one of base GCurve1D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
u | the domain parameter at witch we wanna evaluate curve tangent(s).
LeftTangent | the left normalized (unit length) tangent vector.
RightTangent | the right normalized (unit length) tangent vector.
Note:
specified domain parameter is clamped by domain interval.
The documentation for this class was generated from the following files:
  • gmulticurve1d.h
  • gmulticurve1d.cpp


Amanith::GMultiCurve1D Member List

This is the complete list of members for Amanith::GMultiCurve1D, including all inherited members.

AddPoint(const GReal Parameter, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve1D |
AddPoint(const GReal Parameter, const GReal Point, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve1D |
As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GMultiCurve1D | [protected, virtual]
ClassID() const | Amanith::GMultiCurve1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GCurve1D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Cut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GCurve1D |
Cut(const GReal u0, const GReal u1, GCurve1D *OutCurve) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos, GCurve1D *RightCurve, GCurve1D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve1D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Derivative(const GDerivativeOrder Order, const GReal u) const =0 | Amanith::GCurve1D | [pure virtual]
DerivativeLR(const GDerivativeOrder Order, const GReal u, GReal &LeftDerivative, GReal &RightDerivative) const | Amanith::GMultiCurve1D | [virtual]
DerivedClassID() const | Amanith::GMultiCurve1D | [virtual]
DoAddPoint(const GReal Parameter, const GReal *NewPoint, GUInt32 &Index, GBool &AlreadyExists)=0 | Amanith::GMultiCurve1D | [protected, pure virtual]
DoCut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const =0 | Amanith::GCurve1D | [protected, pure virtual]
DoGetPointParameter(const GUInt32 Index, GReal &Parameter) const =0 | Amanith::GMultiCurve1D | [protected, pure virtual]
Domain() const | Amanith::GCurve1D |
DomainEnd() const | Amanith::GCurve1D |
DomainStart() const | Amanith::GCurve1D |
DoRemovePoint(const GUInt32 Index)=0 | Amanith::GMultiCurve1D | [protected, pure virtual]
DoSetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)=0 | Amanith::GMultiCurve1D | [protected, pure virtual]
EndPoint() const | Amanith::GCurve1D |
Evaluate(const GReal u) const =0 | Amanith::GCurve1D | [pure virtual]
GCurve1D() | Amanith::GCurve1D |
GCurve1D(const GElement *Owner) | Amanith::GCurve1D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve1D | [virtual]
GMultiCurve1D() | Amanith::GMultiCurve1D |
GMultiCurve1D(const GElement *Owner) | Amanith::GMultiCurve1D |
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D | [virtual]
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
Point(const GUInt32 Index) const =0 | Amanith::GCurve1D | [pure virtual]
PointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GMultiCurve1D |
PointsCount() const =0 | Amanith::GCurve1D | [pure virtual]
RemovePoint(const GUInt32 Index) | Amanith::GMultiCurve1D |
Scale(const GReal Pivot, const GReal ScaleAmount) | Amanith::GCurve1D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GCurve1D | [virtual]
SetEndPoint(const GReal NewValue) | Amanith::GCurve1D |
SetPoint(const GUInt32 Index, const GReal NewValue)=0 | Amanith::GCurve1D | [pure virtual]
SetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GMultiCurve1D |
SetStartPoint(const GReal NewValue) | Amanith::GCurve1D |
Speed(const GReal u) const | Amanith::GCurve1D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve1D | [protected, static]
SpeedLR(const GReal u, GReal &LeftSpeed, GReal &RightSpeed) const | Amanith::GMultiCurve1D |
StartPoint() const | Amanith::GCurve1D |
Tangent(const GReal u) const | Amanith::GCurve1D |
TangentLR(const GReal u, GReal &LeftTangent, GReal &RightTangent) const | Amanith::GMultiCurve1D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D |
Translate(const GReal Translation) | Amanith::GCurve1D |
~GCurve1D() | Amanith::GCurve1D | [virtual]
~GElement() | Amanith::GElement | [virtual]
~GMultiCurve1D() | Amanith::GMultiCurve1D | [virtual]


Amanith::GMultiCurve1DProxy

Amanith::GMultiCurve1DProxy Class Reference

This class implements a GMultiCurve1D proxy (provider). More...

Inheritance diagram for Amanith::GMultiCurve1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GMultiCurve1D proxy (provider).

This proxy does not override CreateNew() method because we don't wanna make a creation of a GMultiCurve1D class possible (because of pure virtual methods).

Member Function Documentation

const GClassID& Amanith::GMultiCurve1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GMultiCurve1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmulticurve1d.h


Amanith::GMultiCurve1DProxy Member List

This is the complete list of members for Amanith::GMultiCurve1DProxy, including all inherited members.

ClassID() const | Amanith::GMultiCurve1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GElementProxy | [virtual]
DerivedClassID() const | Amanith::GMultiCurve1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GMultiCurve2D

Amanith::GMultiCurve2D Class Reference

This class represents a parametric continuous piece-wise 2D curve. More...

Inheritance diagram for Amanith::GMultiCurve2D:

Amanith::GCurve2D Amanith::GElement Amanith::GHermiteCurve2D Amanith::GPath2D Amanith::GPolyLineCurve2D List of all members.

Public Member Functions

  • GMultiCurve2D ()
  • GMultiCurve2D (const GElement *Owner)
  • virtual ~GMultiCurve2D ()
  • GError PointParameter (const GUInt32 Index, GReal &Parameter) const
  • GError SetPointParameter (const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)
  • GError AddPoint (const GReal Parameter, GUInt32 &Index, GBool &AlreadyExists)
  • GError AddPoint (const GReal Parameter, const GPoint2 &Point, GUInt32 &Index, GBool &AlreadyExists)
  • GError RemovePoint (const GUInt32 Index)
  • virtual void DerivativeLR (const GDerivativeOrder Order, const GReal u, GVector2 &LeftDerivative, GVector2 &RightDerivative) const
  • void TangentLR (const GReal u, GVector2 &LeftTangent, GVector2 &RightTangent) const
  • void NormalLR (const GReal u, GVector2 &LeftNormal, GVector2 &RightNormal) const
  • void CurvatureLR (const GReal u, GReal &LeftCurvature, GReal &RightCurvature) const
  • void SpeedLR (const GReal u, GReal &LeftSpeed, GReal &RightSpeed) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • virtual GError DoAddPoint (const GReal Parameter, const GPoint2 *NewPoint, GUInt32 &Index, GBool &AlreadyExists)=0
  • virtual GError DoRemovePoint (const GUInt32 Index)=0
  • GError BaseClone (const GElement &Source)
  • virtual GError DoGetPointParameter (const GUInt32 Index, GReal &Parameter) const =0
  • virtual GError DoSetPointParameter (const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)=0

Detailed Description

This class represents a parametric continuous piece-wise 2D curve.

The main difference respect to a GCurve2D is that a multicurve is an "homogeneous" piece-wise continuous curve. A multicurve is made of curve traits of the same type, each trait is continuously joined to the previous and next ones. You can think at a multicurve as a key-based curve. At each key point the curve may or may not be globally derivable. But at least it's continuous.
Some kind of multicurve can be useful for shape design (think for example at Hermite curves used in Inkscape software), others for animation purposes (think for example at TCB curves).

Constructor & Destructor Documentation

Amanith::GMultiCurve2D::GMultiCurve2D ( )

Default constructor, constructs and empty curve.

Amanith::GMultiCurve2D::GMultiCurve2D ( const GElement * Owner )

Constructor with kernel specification, constructs and empty curve.

Amanith::GMultiCurve2D::~GMultiCurve2D ( ) [virtual]

Destructor.

Member Function Documentation

GError Amanith::GMultiCurve2D::AddPoint | ( | const GReal | Parameter,
 |  | const GPoint2 & | Point,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) |

Add a new (key)point, at the specified domain parameter; in case of successful operation, the inserted point index (into internal array) will be returned.

Parameters:
Parameter | the domain parameter where to add the point on.
Point | the geometrical position of the new created point.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | if G_TRUE, it means that the point has been created in a domain position already occupied by another (key)point. In this case the already existing point will be overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.
Note:
the specified domain value can be outside the current domain; in this case the domain will be updated to include the specified domain value.

GError Amanith::GMultiCurve2D::AddPoint | ( | const GReal | Parameter,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) |

Add point on curve, at the specified domain parameter; in case of successful operation, the inserted point index (into internal array) will be returned.

Parameters:
Parameter | the domain parameter where to add the point on. It must be in the domain range, else an G_OUT_OF_RANGE error code will be returned.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | if G_TRUE, it means that the point has been created in a domain position already occupied by another (key)point. In this case the already existing point will be overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

GError Amanith::GMultiCurve2D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function; this implementation do nothing.

Reimplemented from Amanith::GCurve2D.

Reimplemented in Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

const GClassID& Amanith::GMultiCurve2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GCurve2D.

Reimplemented in Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

void Amanith::GMultiCurve2D::CurvatureLR | ( | const GReal | u,
 |  | GReal & | LeftCurvature,
 |  | GReal & | RightCurvature
 | ) | const

Return the curve curvature calculated at specified domain parameter. This method differs from the one of base GCurve2D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
u | the domain parameter at witch we wanna evaluate curve curvature(s).
LeftCurvature | the left curvature.
RightCurvature | the right curvature.
Note:
specified domain parameter is clamped by domain interval.

virtual void Amanith::GMultiCurve2D::DerivativeLR | ( | const GDerivativeOrder | Order,
 |  | const GReal | u,
 |  | GVector2 & | LeftDerivative,
 |  | GVector2 & | RightDerivative
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter. This method differs from the one of base GCurve2D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
LeftDerivative | the left derivative.
RightDerivative | the right derivative.
Note:
specified domain parameter is clamped by domain interval; the default behavior is to return LeftDerivative = RightDerivative = Derivative(Order, u).

Reimplemented in Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

const GClassID& Amanith::GMultiCurve2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GCurve2D.

Reimplemented in Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

virtual GError Amanith::GMultiCurve2D::DoAddPoint | ( | const GReal | Parameter,
 |  | const GPoint2 * | NewPoint,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, pure virtual]

Add a new (key)point for the curve. This method must be implemented by all derived classes.

Parameters:
Parameter | the domain parameter where to add the (key)point.
NewPoint | if not specified (NULL value) the point must be created on curve. In this case the specified domain Parameter must reside completely inside the domain, else an G_OUT_OF_RANGE error must be returned. If Newpoint is specified (non NULL) the point can be created also outside domain range.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | this method must write to this flag a G_TRUE value if the point has been created in a domain position already occupied by another (key)point. In this case the already existing point must be overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implemented in Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

virtual GError Amanith::GMultiCurve2D::DoGetPointParameter | ( | const GUInt32 | Index,
 |  | GReal & | Parameter
 | ) | const [protected, pure virtual]

Get domain parameter corresponding to specified (key)point index. Index is ensured to be valid. This method must be implemented by all derived classes.

Parameters:
Index | the point index, is ensured to be always valid.
Parameter | the outputted domain parameter, corresponding to the specified (key)point index.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implemented in Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

virtual GError Amanith::GMultiCurve2D::DoRemovePoint ( const GUInt32 Index ) [protected, pure virtual]

Remove a (key)point from the curve. Index is ensured to be valid and we are sure that after removing we'll have (at least) a minimal (2-(key)points made) multi-curve. This method must be implemented by all derived classes.

Parameters:
Index the index of (key)point to be removed. Note that this value is ensured to be always valid.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implemented in Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

virtual GError Amanith::GMultiCurve2D::DoSetPointParameter | ( | const GUInt32 | Index,
 |  | const GReal | NewParamValue,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, pure virtual]

Set domain parameter corresponding to specified (key)point index. The final effect is that a (key)point is moved from its domain position to another domain position. This method must be implemented by all derived classes.

Parameters:
Index | the point index, is ensured to be always valid.
NewParamValue | the new domain parameter, where to move the specified (key)point. It must be outside current domain.
NewIndex | the new position (internal index) occupied by the moved (key)point. This method must output this value.
AlreadyExists | this method must write to this flag a G_TRUE value if the point has been moved in a domain position already occupied by another (key)point. In this case the already existing point must be overridden by the moved point.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implemented in Amanith::GHermiteCurve2D, Amanith::GPath2D, and Amanith::GPolyLineCurve2D.

void Amanith::GMultiCurve2D::NormalLR | ( | const GReal | u,
 |  | GVector2 & | LeftNormal,
 |  | GVector2 & | RightNormal
 | ) | const

Return the curve normal calculated at specified domain parameter. This method differs from the one of base GCurve2D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
u | the domain parameter at witch we wanna evaluate curve normal(s).
LeftNormal | the left normalized vector perpendicular to the curve (left)tangent.
RightNormal | the right normalized vector perpendicular to the curve (right)tangent.
Note:
specified domain parameter is clamped by domain interval.

GError Amanith::GMultiCurve2D::PointParameter | ( | const GUInt32 | Index,
 |  | GReal & | Parameter
 | ) | const

Get domain parameter corresponding to specified (key)point index.

Parameters:
Index | the point index, must be valid (else an G_OUT_OF_RANGE error will be returned).
Parameter | the outputted domain parameter, corresponding to the specified (key)point index.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

GError Amanith::GMultiCurve2D::RemovePoint ( const GUInt32 Index )

Remove a (key)point from curve. The domain will be updated in the case that the specified point to be removed is first or last one.

Parameters:
Index the index of the point to be removed. It must be valid, else a G_OUT_OF_RANGE error code will be returned.
Note:
If the curve were made of just 2 (key)points, calling this function will clear the entire curve, because a multicurve must be composed of at least 2 points.

GError Amanith::GMultiCurve2D::SetPointParameter | ( | const GUInt32 | Index,
 |  | const GReal | NewParamValue,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) |

Set domain parameter corresponding to specified (key)point index. The final effect is that a (key)point is moved from its domain position to another domain position.

Parameters:
Index | the point index, must be valid (else an G_OUT_OF_RANGE error will be returned).
NewParamValue | the new domain parameter, where to move the specified (key)point.
NewIndex | the new position (internal index) occupied by the moved (key)point.
AlreadyExists | if G_TRUE, it means that the point has been moved to a domain position already occupied by another (key)point. In this case the already existing point will be overridden by the moved point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.
Note:
if the specified new domain position is out of current domain range, then the current domain will be update to include the specified domain value.

void Amanith::GMultiCurve2D::SpeedLR | ( | const GReal | u,
 |  | GReal & | LeftSpeed,
 |  | GReal & | RightSpeed
 | ) | const

Return the curve speed calculated at specified domain parameter. With 'speed', here's intended the length of the curve's first derivative vector. This method differs from the one of base GCurve2D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
u | the domain parameter at witch we wanna evaluate curve speed(s).
LeftSpeed | the speed corresponding to the left derivative vector.
RightSpeed | the speed corresponding to the right derivative vector.
Note:
specified domain parameter is clamped by domain interval.

void Amanith::GMultiCurve2D::TangentLR | ( | const GReal | u,
 |  | GVector2 & | LeftTangent,
 |  | GVector2 & | RightTangent
 | ) | const

Return the curve tangent calculated at specified domain parameter. This method differs from the one of base GCurve2D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
u | the domain parameter at witch we wanna evaluate curve tangent(s).
LeftTangent | the left normalized (unit length) tangent vector.
RightTangent | the right normalized (unit length) tangent vector.
Note:
specified domain parameter is clamped by domain interval.
The documentation for this class was generated from the following files:
  • gmulticurve2d.h
  • gmulticurve2d.cpp


Amanith::GMultiCurve2D Member List

This is the complete list of members for Amanith::GMultiCurve2D, including all inherited members.

AddPoint(const GReal Parameter, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve2D |
AddPoint(const GReal Parameter, const GPoint2 &Point, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve2D |
As(const GClassID &Class_ID) | Amanith::GElement |
As(const GClassID &Class_ID) const | Amanith::GElement |
BaseClone(const GElement &Source) | Amanith::GMultiCurve2D | [protected, virtual]
ClassID() const | Amanith::GMultiCurve2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GCurve2D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement |
CopyTo(GElement &Destination) const | Amanith::GElement |
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Curvature(const GReal u) const | Amanith::GCurve2D |
CurvatureLR(const GReal u, GReal &LeftCurvature, GReal &RightCurvature) const | Amanith::GMultiCurve2D |
Cut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GCurve2D |
Cut(const GReal u0, const GReal u1, GCurve2D *OutCurve) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos, GCurve2D *RightCurve, GCurve2D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve2D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Derivative(const GDerivativeOrder Order, const GReal u) const =0 | Amanith::GCurve2D | [pure virtual]
DerivativeLR(const GDerivativeOrder Order, const GReal u, GVector2 &LeftDerivative, GVector2 &RightDerivative) const | Amanith::GMultiCurve2D | [virtual]
DerivedClassID() const | Amanith::GMultiCurve2D | [virtual]
DoAddPoint(const GReal Parameter, const GPoint2 *NewPoint, GUInt32 &Index, GBool &AlreadyExists)=0 | Amanith::GMultiCurve2D | [protected, pure virtual]
DoCut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const =0 | Amanith::GCurve2D | [protected, pure virtual]
DoGetPointParameter(const GUInt32 Index, GReal &Parameter) const =0 | Amanith::GMultiCurve2D | [protected, pure virtual]
Domain() const | Amanith::GCurve2D |
DomainEnd() const | Amanith::GCurve2D |
DomainStart() const | Amanith::GCurve2D |
DoRemovePoint(const GUInt32 Index)=0 | Amanith::GMultiCurve2D | [protected, pure virtual]
DoSetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)=0 | Amanith::GMultiCurve2D | [protected, pure virtual]
EndPoint() const | Amanith::GCurve2D |
Evaluate(const GReal u) const =0 | Amanith::GCurve2D | [pure virtual]
Flatten(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const =0 | Amanith::GCurve2D | [pure virtual]
GCurve2D() | Amanith::GCurve2D |
GCurve2D(const GElement *Owner) | Amanith::GCurve2D |
GElement() | Amanith::GElement |
GElement(const GElement *Owner) | Amanith::GElement |
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve2D | [virtual]
GMultiCurve2D() | Amanith::GMultiCurve2D |
GMultiCurve2D(const GElement *Owner) | Amanith::GMultiCurve2D |
IntersectRay(const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const =0 | Amanith::GCurve2D | [pure virtual]
IsOfType(const GClassID &Class_ID) const | Amanith::GElement |
IsRootClass() const | Amanith::GElement |
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D | [virtual]
Normal(const GReal u) const | Amanith::GCurve2D |
NormalLR(const GReal u, GVector2 &LeftNormal, GVector2 &RightNormal) const | Amanith::GMultiCurve2D |
operator=(const GElement &Source) | Amanith::GElement |
Owner() const | Amanith::GElement |
Point(const GUInt32 Index) const =0 | Amanith::GCurve2D | [pure virtual]
PointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GMultiCurve2D |
PointsCount() const =0 | Amanith::GCurve2D | [pure virtual]
RemovePoint(const GUInt32 Index) | Amanith::GMultiCurve2D |
Rotate(const GPoint2 &Pivot, const GReal RadAmount) | Amanith::GCurve2D | [virtual]
Scale(const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount) | Amanith::GCurve2D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GCurve2D | [virtual]
SetEndPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
SetPoint(const GUInt32 Index, const GPoint2 &NewValue)=0 | Amanith::GCurve2D | [pure virtual]
SetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GMultiCurve2D |
SetStartPoint(const GPoint2 &NewValue) | Amanith::GCurve2D |
Speed(const GReal u) const | Amanith::GCurve2D |
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve2D | [protected, static]
SpeedLR(const GReal u, GReal &LeftSpeed, GReal &RightSpeed) const | Amanith::GMultiCurve2D |
StartPoint() const | Amanith::GCurve2D |
Tangent(const GReal u) const | Amanith::GCurve2D |
TangentLR(const GReal u, GVector2 &LeftTangent, GVector2 &RightTangent) const | Amanith::GMultiCurve2D |
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D |
Translate(const GVector2 &Translation) | Amanith::GCurve2D | [virtual]
Variation() const =0 | Amanith::GCurve2D | [pure virtual]
XForm(const GMatrix23 &Matrix) | Amanith::GCurve2D | [virtual]
XForm(const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE) | Amanith::GCurve2D | [virtual]
~GCurve2D() | Amanith::GCurve2D | [virtual]
~GElement() | Amanith::GElement | [virtual]
~GMultiCurve2D() | Amanith::GMultiCurve2D | [virtual]


Amanith::GMultiCurve2DProxy

Amanith::GMultiCurve2DProxy Class Reference

This class implements a GMultiCurve2D proxy (provider). More...

Inheritance diagram for Amanith::GMultiCurve2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GMultiCurve2D proxy (provider).

This proxy does not override CreateNew() method because we don't wanna make a creation of a GMultiCurve2D class possible (because of pure virtual methods).

Member Function Documentation

const GClassID& Amanith::GMultiCurve2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GMultiCurve2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmulticurve2d.h


Amanith::GMultiCurve2DProxy Member List

This is the complete list of members for Amanith::GMultiCurve2DProxy, including all inherited members.

ClassID() const | Amanith::GMultiCurve2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GElementProxy | [virtual]
DerivedClassID() const | Amanith::GMultiCurve2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GMultiProperty1D

Amanith::GMultiProperty1D Class Reference

This class represent a multi-property, intended as a container of properties of the same type. More...

Inheritance diagram for Amanith::GMultiProperty1D:

Amanith::GProperty Amanith::GAnimElement Amanith::GElement Amanith::GFourConstantProperty1D Amanith::GFourHermiteProperty1D Amanith::GFourLinearProperty1D Amanith::GThreeConstantProperty1D Amanith::GThreeHermiteProperty1D Amanith::GThreeLinearProperty1D Amanith::GTwoConstantProperty1D Amanith::GTwoHermiteProperty1D Amanith::GTwoLinearProperty1D List of all members.

Public Member Functions

  • GMultiProperty1D ()
  • GMultiProperty1D (const GElement *Owner)
  • ~GMultiProperty1D ()
  • const GClassID & SubPropertiesType () const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GError BaseClone (const GElement &Source)
  • GError Init (const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="")

Detailed Description

This class represent a multi-property, intended as a container of properties of the same type.

Constructor & Destructor Documentation

Amanith::GMultiProperty1D::GMultiProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GMultiProperty1D::GMultiProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GMultiProperty1D::~GMultiProperty1D ( )

Destructor.

Member Function Documentation

GError Amanith::GMultiProperty1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source GMultiProperty1D class.

Reimplemented from Amanith::GProperty.

const GClassID& Amanith::GMultiProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GProperty.

Reimplemented in Amanith::GTwoHermiteProperty1D, Amanith::GThreeHermiteProperty1D, Amanith::GFourHermiteProperty1D, Amanith::GTwoLinearProperty1D, Amanith::GThreeLinearProperty1D, Amanith::GFourLinearProperty1D, Amanith::GTwoConstantProperty1D, Amanith::GThreeConstantProperty1D, and Amanith::GFourConstantProperty1D.

const GClassID& Amanith::GMultiProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GProperty.

Reimplemented in Amanith::GTwoHermiteProperty1D, Amanith::GThreeHermiteProperty1D, Amanith::GFourHermiteProperty1D, Amanith::GTwoLinearProperty1D, Amanith::GThreeLinearProperty1D, Amanith::GFourLinearProperty1D, Amanith::GTwoConstantProperty1D, Amanith::GThreeConstantProperty1D, and Amanith::GFourConstantProperty1D.

GError Amanith::GMultiProperty1D::Init | ( | const GUInt32 | SubPropertiesCount,
 |  | const GClassID & | SubPropertiesType,
 |  | const GKeyValue & | DefaultValue,
 |  | const GString & | Labels = ""
 | ) | [protected]

Construct a new properties sub set, using specified labels and sub-properties type.

Parameters:
SubPropertiesCount | number of sub-properties to create. It must be positive (greater than 0).
SubPropertiesType | type descriptor of sub-properties.
DefaultValue | the default value associated with each property. If an invalid value is specified (it is not compatible with the value type handled by the SubPropertiesType ClassID), a 0(s) default value will be used.
Labels | a list of semicolon separated sub-properties labels. If empty, the a default schema is used; in particular labels will be a sequential natural numbers ("0", "1", "2", ...).
Note:
the number of labels must match SubPropertiesCount parameter, elsewhere the default label schema will be used.

const GClassID& Amanith::GMultiProperty1D::SubPropertiesType ( ) const

Get type description of contained properties.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GMultiProperty1D Member List

This is the complete list of members for Amanith::GMultiProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GMultiProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GMultiProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GMultiProperty1DProxy

Amanith::GMultiProperty1DProxy Class Reference

This class implements a GMultiProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GMultiProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GMultiProperty1D proxy (provider).

This proxy does not override CreateNew() method because we don't wanna make a creation of a GMultiProperty1D class possible. This is because Init method, that must be called in constructors of derived classes (see, for example, GTwoHermiteProperty1D class).

Member Function Documentation

const GClassID& Amanith::GMultiProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GMultiProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GMultiProperty1DProxy Member List

This is the complete list of members for Amanith::GMultiProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GMultiProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GElementProxy | [virtual]
DerivedClassID() const | Amanith::GMultiProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GOpenGLBoard

Amanith::GOpenGLBoard Class Reference

This is an OpenGL-based implementation drawboard. More...

Inheritance diagram for Amanith::GOpenGLBoard:

Amanith::GDrawBoard List of all members.

Public Member Functions

  • GOpenGLBoard (const GUInt32 LowLeftCornerX, const GUInt32 LowLeftCornerY, const GUInt32 Width, const GUInt32 Height)
  • virtual ~GOpenGLBoard ()
  • GUInt32 MaxDashCount () const
  • GUInt32 MaxColorKeys () const
  • GUInt32 MaxImageWidth () const
  • GUInt32 MaxImageHeight () const
  • GUInt32 MaxImageBytes () const
  • void SetShadersEnabled (const GBool Enabled)
  • void SetRectTextureEnabled (const GBool Enabled)
  • void SetCustomRenderingQuality (const GReal Deviation)
  • GGradientDesc * CreateLinearGradient (const GPoint2 &StartPoint, const GPoint2 &EndPoint, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GColorRampSpreadMode SpreadMode=G_PAD_COLOR_RAMP_SPREAD, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)
  • GGradientDesc * CreateRadialGradient (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GColorRampSpreadMode SpreadMode=G_PAD_COLOR_RAMP_SPREAD, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)
  • GGradientDesc * CreateConicalGradient (const GPoint2 &Center, const GPoint2 &Target, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)
  • GPatternDesc * CreatePattern (const GPixelMap *Image, const GImageQuality Quality, const GTilingMode TilingMode=G_REPEAT_TILE, const GAABox2 *LogicalWindow=NULL, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33)
  • GCacheBank * CreateCacheBank ()
  • GCacheBank * CacheBank () const
  • void SetCacheBank (GCacheBank *Bank)
  • GVector4 ColorFromString (const GString &Color)
  • void BeginPaths ()
  • void MoveTo (const GPoint2 &P, const GBool Relative)
  • void LineTo (const GPoint2 &P, const GBool Relative)
  • void HorizontalLineTo (const GReal X, const GBool Relative)
  • void VerticalLineTo (const GReal Y, const GBool Relative)
  • void CurveTo (const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P, const GBool Relative)
  • void CurveTo (const GPoint2 &P1, const GPoint2 &P, const GBool Relative)
  • void SmoothCurveTo (const GPoint2 &P2, const GPoint2 &P, const GBool Relative)
  • void SmoothCurveTo (const GPoint2 &P, const GBool Relative)
  • void EllipticalArcTo (const GReal Rx, const GReal Ry, const GReal XRot, const GBool LargeArc, const GBool Sweep, const GPoint2 &P, const GBool Relative)
  • void ClosePath ()
  • GInt32 EndPaths ()

Protected Member Functions

  • void DeleteGradients ()
  • void DeletePatterns ()
  • void DeleteCacheBanks ()
  • GBool CompOpPassesCount (const GCompositingOperation CompOp, GUInt32 &PassesCount, GUInt32 &FrameBufferPassesCount)
  • GBool SetGLStyleCompOp (const GCompositingOperation CompOp, const GUInt32 PassIndex)
  • GBool NeedDepthMask (const GOpenGLDrawStyle &Style, const GBool Fill) const
  • void UpdateGrabBuffer (const GUInt32 Width, const GUInt32 Height, GLGrabbedRect &GrabRect)
  • void DrawGLRadialSector (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const
  • void DoSetRenderingQuality (const GRenderingQuality Quality)
  • void DoSetTargetMode (const GTargetMode Mode)
  • void DoSetClipOperation (const GClipOperation Operation)
  • void DoSetClipEnabled (const GBool Enabled)
  • void DoPopClipMask ()
  • void DoSetGroupOpacity (const GReal Opacity)
  • void DoSetGroupCompOp (const GCompositingOperation CompOp)
  • void DoGroupBegin (const GAABox2 &LogicBox)
  • void DoGroupEnd ()
  • void DoFlush ()
  • void DoFinish ()
  • void DoClear (const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha, const GBool ClearClipMasks)
  • void DoSetViewport (const GUInt32 LowLeftCornerX, const GUInt32 LowLeftCornerY, const GUInt32 Width, const GUInt32 Height)
  • void DoSetProjection (const GReal Left, const GReal Right, const GReal Bottom, const GReal Top)
  • GInt32 DoDrawRectangle (GDrawStyle &Style, const GPoint2 &MinCorner, const GPoint2 &MaxCorner)
  • GInt32 DoDrawRoundRectangle (GDrawStyle &Style, const GPoint2 &MinCorner, const GPoint2 &MaxCorner, const GReal ArcWidth, const GReal ArcHeight)
  • GInt32 DoDrawLine (GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1)
  • GInt32 DoDrawBezier (GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2)
  • GInt32 DoDrawBezier (GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P3)
  • GInt32 DoDrawEllipseArc (GDrawStyle &Style, const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation, const GReal StartAngle, const GReal EndAngle, const GBool CCW)
  • GInt32 DoDrawEllipseArc (GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation, const GBool LargeArc, const GBool CCW)
  • GInt32 DoDrawEllipse (GDrawStyle &Style, const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength)
  • GInt32 DoDrawCircle (GDrawStyle &Style, const GPoint2 &Center, const GReal Radius)
  • GInt32 DoDrawPolygon (GDrawStyle &Style, const GDynArray< GPoint2 > &Points, const GBool Closed)
  • GInt32 DoDrawPath (GDrawStyle &Style, const GCurve2D &Curve)
  • GInt32 DoDrawPaths (GDrawStyle &Style, const GDynArray< GCurve2D * > &Curves)
  • void DoDrawCacheSlot (const GDrawStyle &Style, const GOpenGLCacheSlot &CacheSlot)
  • void DoDrawCacheSlots (GDrawStyle &Style, const GInt32 FirstSlotIndex, const GInt32 LastSlotIndex)
  • GError DoScreenShot (GPixelMap &Output, const GVectBase< GUInt32, 2 > &P0, const GVectBase< GUInt32, 2 > &P1) const
  • GDrawStyle * CreateDrawStyle () const

Detailed Description

This is an OpenGL-based implementation drawboard.

This class implements all GDrawBoard features upon OpenGL 1.1. For radial and conical gradients there are also fragment program implementations, so the faster pipeline is always used.
Clip paths are supported only if stencil buffer is present (and in this case it must have 4 or more bits). For an N bits stencil buffer, the maximum number of clip paths that can be composed at the same time is 2^(N - 1) - 3. Group opacity is also supported only if stencil buffer is present.
Z-buffer is used to do correct transparencies, in this case depth bits are not important, because 16 or 24 or 32 bits are always enough. All 24 compositing operations are supported on those boards equipped with fragment programs, else just only 15 of them will be available. Some compositing operations need framebuffer grab and also multi-pass techniques. But independently of it, the geometric pass is always just one. The compositing done on groups is implemented according to SVG 1.2 rendering model following the behavior of clip-to-self=false, enable-background=new, knock-out=true. In this implementation the whole caching system is based on OpenGL display lists.

Constructor & Destructor Documentation

Amanith::GOpenGLBoard::GOpenGLBoard | ( | const GUInt32 | LowLeftCornerX,
 |  | const GUInt32 | LowLeftCornerY,
 |  | const GUInt32 | Width,
 |  | const GUInt32 | Height
 | ) |

Constructor, setting the physical viewport according to specified parameters.

Parameters:
LowLeftCornerX | lowleft corner abscissa of the initial physical viewport.
LowLeftCornerY | lowleft corner ordinate of the initial physical viewport.
Width | width of the viewport expressed in pixels.
Height | height of the viewport expressed in pixels.

Amanith::GOpenGLBoard::~GOpenGLBoard ( ) [virtual]

Destructor, it deletes all user-generated gradients and patterns.

Member Function Documentation

void Amanith::GOpenGLBoard::BeginPaths ( ) [virtual]

Start an SVG-like path block. Each opened block must be closed calling EndPaths() function.

Implements Amanith::GDrawBoard.

GCacheBank * Amanith::GOpenGLBoard::CacheBank ( ) const [virtual]

Get current cache bank. NULL if a cache bank hasn't already been set.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::ClosePath ( ) [virtual]

Close the current SVG-like sub-path.

Implements Amanith::GDrawBoard.

GVector4 Amanith::GOpenGLBoard::ColorFromString ( const GString & Color )

Convert a color from a string format to its numerical representation (where each component is in the range [0; 1]. Implementation supports color in these forms:

  • HTML syntax: #F0A10063 (RGBA), #A10063 (RGB), #8F36 (RGBA), #8F3 (RGB)
  • SVG color keywords taken from http://www.w3.org/TR/SVG11/types.html#ColorKeywords (ex: "antiquewhite")

GBool Amanith::GOpenGLBoard::CompOpPassesCount | ( | const GCompositingOperation | CompOp,
 |  | GUInt32 & | PassesCount,
 |  | GUInt32 & | FrameBufferPassesCount
 | ) | [protected]

Retrieve the number of passes to do the specified compositing operation, and returns G_TRUE if framebuffer must be grabbed.

GCacheBank * Amanith::GOpenGLBoard::CreateCacheBank ( ) [virtual]

Create a cache bank.

Returns:
the created cache bank if operation succeeds, else a NULL pointer.
Note:
the user MUST NOT delete the returned pointer (the drawboard will care of it).

Implements Amanith::GDrawBoard.

GGradientDesc * Amanith::GOpenGLBoard::CreateConicalGradient | ( | const GPoint2 & | Center,
 |  | const GPoint2 & | Target,
 |  | const GDynArray< GKeyValue > & | ColorKeys,
 |  | const GColorRampInterpolation | Interpolation = G_HERMITE_COLOR_INTERPOLATION,
 |  | const GMatrix33 & | Matrix = G_MATRIX_IDENTITY33
 | ) | [virtual]

Create a conical gradient.

Parameters:
Center | the center of gradient, this is the cone vertex point.
Target | it specifies a 'target' point, that coupled with start point defines a direction associated to the first color key.
ColorKeys | color keys, they must be sorted by time (in ascending order).
Interpolation | the interpolation schema to adopt during pixel color evaluation.
Matrix | an optional gradient matrix, used to transform the gradient into another coordinates system.
Returns:
a structure containing the specified gradient, NULL if the gradient can't be created.
Note:
the user MUST NOT delete the returned pointer (the drawboard will care of it).

Implements Amanith::GDrawBoard.

GDrawStyle * Amanith::GOpenGLBoard::CreateDrawStyle ( ) const [protected, virtual]

Create a new OpenGL draw style.

Implements Amanith::GDrawBoard.

GGradientDesc * Amanith::GOpenGLBoard::CreateLinearGradient | ( | const GPoint2 & | StartPoint,
 |  | const GPoint2 & | EndPoint,
 |  | const GDynArray< GKeyValue > & | ColorKeys,
 |  | const GColorRampInterpolation | Interpolation = G_HERMITE_COLOR_INTERPOLATION,
 |  | const GColorRampSpreadMode | SpreadMode = G_PAD_COLOR_RAMP_SPREAD,
 |  | const GMatrix33 & | Matrix = G_MATRIX_IDENTITY33
 | ) | [virtual]

Create a linear gradient.

Parameters:
StartPoint | the point corresponding to the first color key.
EndPoint | the point corresponding to the last color key.
ColorKeys | color keys, they must be sorted by time (in ascending order).
Interpolation | the interpolation schema to adopt during pixel color evaluation.
SpreadMode | indicates what happens if the gradient starts or ends inside the bounds of the target region.
Matrix | an optional gradient matrix, used to transform the gradient into another coordinates system.
Returns:
a structure containing the specified gradient, NULL if the gradient can't be created.
Note:
the user MUST NOT delete the returned pointer (the drawboard will care of it).

Implements Amanith::GDrawBoard.

GPatternDesc * Amanith::GOpenGLBoard::CreatePattern | ( | const GPixelMap * | Image,
 |  | const GImageQuality | Quality,
 |  | const GTilingMode | TilingMode = G_REPEAT_TILE,
 |  | const GAABox2 * | LogicalWindow = NULL,
 |  | const GMatrix33 & | Matrix = G_MATRIX_IDENTITY33
 | ) | [virtual]

Create a bitmap pattern.

Parameters:
Image | a source bitmap image, must be valid.
Quality | a quality parameter that must be used when the pattern will be drawn on screen.
TilingMode | defines possible methods for defining colors for source pixels that lie outside the bounds of the source image.
LogicalWindow | defines a reference rectangle somewhere on the infinite canvas. The tiling extends a series of such rectangles to infinity in X and Y (positive and negative). If NULL is specified a default rectangle (going from the lowleft logical corner with a correct ratio) will be set.
Matrix | an optional pattern matrix, used to transform the pattern into another coordinates system.
Returns:
a structure containing the specified pattern, NULL if the pattern can't be created.
Note:
the user MUST NOT delete the returned pointer (the drawboard will care of it).

Implements Amanith::GDrawBoard.

GGradientDesc * Amanith::GOpenGLBoard::CreateRadialGradient | ( | const GPoint2 & | Center,
 |  | const GPoint2 & | Focus,
 |  | const GReal | Radius,
 |  | const GDynArray< GKeyValue > & | ColorKeys,
 |  | const GColorRampInterpolation | Interpolation = G_HERMITE_COLOR_INTERPOLATION,
 |  | const GColorRampSpreadMode | SpreadMode = G_PAD_COLOR_RAMP_SPREAD,
 |  | const GMatrix33 & | Matrix = G_MATRIX_IDENTITY33
 | ) | [virtual]

Create a radial gradient.

Parameters:
Center | the center of gradient, it will be in correspondence of the first color key.
Focus | the focus point.
Radius | the radius of the gradient. Points at radius distances from center will be colored using last color key.
ColorKeys | color keys, they must be sorted by time (in ascending order).
Interpolation | the interpolation schema to adopt during pixel color evaluation.
SpreadMode | indicates what happens if the gradient starts or ends inside the bounds of the target region.
Matrix | an optional gradient matrix, used to transform the gradient into another coordinates system.
Returns:
a structure containing the specified gradient, NULL if the gradient can't be created.
Note:
the user MUST NOT delete the returned pointer (the drawboard will care of it).

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::CurveTo | ( | const GPoint2 & | P1,
 |  | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [virtual]

Draw a quadratic Bezier curve from current cursor position to P, using P1 as control point.

Parameters:
P1 | control point.
P | curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::CurveTo | ( | const GPoint2 & | P1,
 |  | const GPoint2 & | P2,
 |  | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [virtual]

Draw a cubic Bezier curve from current cursor position to P, using P1 as the control point at the beginning of the curve and P2 as the control point at the end of the curve.

Parameters:
P1 | control point at the beginning of the curve.
P2 | control point at the end of the curve.
P | curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DeleteCacheBanks ( ) [protected]

Delete all user-generated cache banks.

void Amanith::GOpenGLBoard::DeleteGradients ( ) [protected]

Delete all user-generated gradients.

void Amanith::GOpenGLBoard::DeletePatterns ( ) [protected]

Delete all user-generated patterns.

void Amanith::GOpenGLBoard::DoClear | ( | const GReal | Red,
 |  | const GReal | Green,
 |  | const GReal | Blue,
 |  | const GReal | Alpha,
 |  | const GBool | ClearClipMasks
 | ) | [protected, virtual]

Do the effective drawboard cleaning.

This methods permits to clear the entire drawboard, using s specified color. In the same 'atomic' operation the clipbuffer can be cleared too. When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Parameters:
Red | the red component of the clear color.
Green | the green component of the clear color.
Blue | the blue component of the clear color.
Alpha | the alpha component of the clear color.
ClearClipMasks | if G_TRUE also clipbuffer will be cleared. In this case all existing masks will be dropped.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawBezier | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GPoint2 & | P2,
 |  | const GPoint2 & | P3
 | ) | [protected, virtual]

Do the effective drawing of a cubic Bezier curve, going form P0 to P4 and having P1 and P2 as control points.

When this method is called it's ensured that stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
P0 | the curve start point.
P1 | the curve first control point (associated with P0).
P2 | the curve second control point (associated with P3).
P3 | the curve end point.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawBezier | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GPoint2 & | P2
 | ) | [protected, virtual]

Do the effective drawing of a quadratic Bezier curve, going form P0 to P2 and having P1 as central control point.

When this method is called it's ensured that stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
P0 | the curve start point.
P1 | the curve control point.
P2 | the curve end point.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoDrawCacheSlot | ( | const GDrawStyle & | Style,
 |  | const GOpenGLCacheSlot & | CacheSlot
 | ) | [protected]

Draw a single cache slot, using specified style.

Parameters:
Style | the drawstyle to use.
CacheSlot | the cache slot to draw.

void Amanith::GOpenGLBoard::DoDrawCacheSlots | ( | GDrawStyle & | Style,
 |  | const GInt32 | FirstSlotIndex,
 |  | const GInt32 | LastSlotIndex
 | ) | [protected, virtual]

Draw the current cache bank slots. Here it's ensured that current cache bank is non-NULL and that that FirstSlotIndex <= LastSlotIndex.

Parameters:
Style | the drawstyle to use.
FirstSlotIndex | first cache slot (index) to draw. It's ensured to be inside the valid range.
LastSlotIndex | last cache slot (index) to draw. It's ensured to be inside the valid range.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawCircle | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | Center,
 |  | const GReal | Radius
 | ) | [protected, virtual]

Do the effective drawing of a circle.

When this method is called it's ensured that stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
Center | the center of the circle.
Radius | the radius of the circle, it's ensured to be positive.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawEllipse | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | Center,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength
 | ) | [protected, virtual]

Do the effective drawing of a whole ellipse.

When this method is called it's ensured that stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
Center | the center of the ellipse.
XSemiAxisLength | the radius of the ellipse along x-axis. It's ensured to be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It's ensured to be greater than 0.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawEllipseArc | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation,
 |  | const GBool | LargeArc,
 |  | const GBool | CCW
 | ) | [protected, virtual]

Do the effective drawing of an ellipse arc.

When this method is called it's ensured that stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
P0 | the start point of the arc.
P1 | the end point of the arc.
XSemiAxisLength | the radius of the ellipse along x-axis. It's ensured to be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It's ensured to be greater than 0.
OffsetRotation | an optional offset rotation (expressed in radians) relative to the x-axis.
LargeArc | if G_TRUE the ellipse arc has to go from start point to end point spanning the longest chord, else G_FALSE.
CCW | if G_TRUE the ellipse arc has to go from start point to end point in counter clockwise direction, else G_FALSE (clockwise direction).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawEllipseArc | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | Center,
 |  | const GReal | XSemiAxisLength,
 |  | const GReal | YSemiAxisLength,
 |  | const GReal | OffsetRotation,
 |  | const GReal | StartAngle,
 |  | const GReal | EndAngle,
 |  | const GBool | CCW
 | ) | [protected, virtual]

Do the effective drawing of an ellipse arc.

When this method is called it's ensured that stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
Center | the center of the ellipse.
XSemiAxisLength | the radius of the ellipse along x-axis. It's ensured to be greater than 0.
YSemiAxisLength | the radius of the ellipse along y-axis. It's ensured to be greater than 0.
OffsetRotation | an optional offset rotation (expressed in radians) relative to the x-axis.
StartAngle | an angle (in radians) that defines the start point of the arc.
EndAngle | an angle (in radians) that defines the end point of the arc.
CCW | if G_TRUE the ellipse arc has to go from start point to end point in counter clockwise direction, else G_FALSE (clockwise direction).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawLine | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | P0,
 |  | const GPoint2 & | P1
 | ) | [protected, virtual]

Do the effective drawing of a line.

When this method is called it's ensured that stroke is enabled.

Parameters:
Style | the drawstyle to use.
P0 | the line start point.
P1 | the line end point.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawPath | ( | GDrawStyle & | Style,
 |  | const GCurve2D & | Curve
 | ) | [protected, virtual]

Do the effective drawing of curve/path.

When this method is called it's ensured that stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
Curve | the curve to draw, it consists of at least 2 points.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawPaths | ( | GDrawStyle & | Style,
 |  | const GDynArray< GCurve2D * > & | Curves
 | ) | [protected, virtual]

Do the effective drawing of a set of curves and paths.

This method permits to draw complex shapes, made of more than 1 curve/path, using the currently set fill rule. When this method is called it's ensured that stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
Curves | an array of curves pointers. Each pointer must be valid.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawPolygon | ( | GDrawStyle & | Style,
 |  | const GDynArray< GPoint2 > & | Points,
 |  | const GBool | Closed
 | ) | [protected, virtual]

Draw the effective drawing of a polygon.

When this method is called it's ensured that stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
Points | the set of consecutive points that define the polygon, it's ensured that at least 2 points entries exist.
Closed | if G_TRUE the polygon is considered closed (an imaginary edge goes from last point to the first one).
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawRectangle | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | MinCorner,
 |  | const GPoint2 & | MaxCorner
 | ) | [protected, virtual]

Do the effective drawing of a rectangle.

When this method is called, it's ensured that corners are opposite and ordered, in addition stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
MinCorner | a corner of the rectangle.
MaxCorner | the opposite (to MinCorner) corner of the rectangle.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::DoDrawRoundRectangle | ( | GDrawStyle & | Style,
 |  | const GPoint2 & | MinCorner,
 |  | const GPoint2 & | MaxCorner,
 |  | const GReal | ArcWidth,
 |  | const GReal | ArcHeight
 | ) | [protected, virtual]

Do the effective drawing of a round rectangle.

When this method is called, it's ensured that corners are opposite and ordered, in addition stroke or fill are enabled.

Parameters:
Style | the drawstyle to use.
MinCorner | a corner of the rectangle.
MaxCorner | the opposite (to MinCorner) corner of the rectangle.
ArcWidth | the x-axis radius of the ellipse used to round off the corners of the rectangle. It's ensured to be positive.
ArcHeight | the y-axis radius of the ellipse used to round off the corners of the rectangle. It's ensured to be positive.
Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoFinish ( ) [protected, virtual]

Do the effective blocking flush of all outstanding requests on the current context.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoFlush ( ) [protected, virtual]

Do the effective non-blocking flush of all outstanding requests on the current context.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoGroupBegin ( const GAABox2 & LogicBox ) [protected, virtual]

Do the effective opening of a group block.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoGroupEnd ( ) [protected, virtual]

Do the effective closure of a group block.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoPopClipMask ( ) [protected, virtual]

Do the effective pop of the last clip path from stack.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

GError Amanith::GOpenGLBoard::DoScreenShot | ( | GPixelMap & | Output,
 |  | const GVectBase< GUInt32, 2 > & | P0,
 |  | const GVectBase< GUInt32, 2 > & | P1
 | ) | const [protected, virtual]

Do the effective screenshot.

This function permits to grab a rectangular portion of the framebuffer, and put it into a bitmap. Here it's ensured that P0 <= P1.

Parameters:
Output | the output image, where grabbed portion will be copied into.
P0 | a corner of the rectangle portion to grab.
P1 | the opposite (to P0) corner of the rectangle.
Returns:
G_NO_ERROR if the operation succeeds, else an error code.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoSetClipEnabled ( const GBool Enabled ) [protected, virtual]

Enable (G_TRUE value) or disable (G_FALSE value) clip paths.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoSetClipOperation ( const GClipOperation Operation ) [protected, virtual]

Do the effective set clip operation to use for clip paths.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoSetGroupCompOp ( const GCompositingOperation CompOp ) [protected, virtual]

Do the effective set of group compositing operation.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoSetGroupOpacity ( const GReal Opacity ) [protected, virtual]

Do the effective set of group opacity.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoSetProjection | ( | const GReal | Left,
 |  | const GReal | Right,
 |  | const GReal | Bottom,
 |  | const GReal | Top
 | ) | [protected, virtual]

Do the effective set of the logical viewport.

Logical viewport (that defines implicitly a projection matrix) is used to select a rectangular portion of infinitive canvas. This can be used to do all kind of panning and zooming operations. When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block, in addition Left is ensure to be different than Right and Bottom is ensured to be different from Top.

Parameters:
Left | the abscissa of the bottom-left corner of current logical window.
Right | the abscissa of the top-right corner of current logical window.
Bottom | the ordinate of the bottom-left corner of current logical window.
Top | the ordinate of the top-right corner of current logical window.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoSetRenderingQuality ( const GRenderingQuality Quality ) [protected, virtual]

Do the effective set of rendering quality settings.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoSetTargetMode ( const GTargetMode Mode ) [protected, virtual]

Do the effective set of target mode (target buffer).

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DoSetViewport | ( | const GUInt32 | LowLeftCornerX,
 |  | const GUInt32 | LowLeftCornerY,
 |  | const GUInt32 | Width,
 |  | const GUInt32 | Height
 | ) | [protected, virtual]

Do the effective set of physical viewport.

When this method is called, it's ensured that drawboard is not inside a GroupBegin() / GroupEnd() block.

Parameters:
LowLeftCornerX | lowleft corner abscissa of the viewport.
LowLeftCornerY | lowleft corner ordinate of the viewport.
Width | width of the viewport expressed in pixels, it's ensured to be grater than 0.
Height | height of the viewport expressed in pixels, it's ensured to be grater than 0.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::DrawGLRadialSector | ( | const GPoint2 & | Center,
 |  | const GPoint2 & | Focus,
 |  | const GReal | Radius,
 |  | const GReal | Time0,
 |  | const GReal | Time1,
 |  | const GPoint2 & | P0,
 |  | const GPoint2 & | P1,
 |  | const GBool | WholeDisk,
 |  | const GDynArray< GKeyValue > & | ColorKeys,
 |  | const GColorRampInterpolation | Interpolation,
 |  | const GColorRampSpreadMode | SpreadMode,
 |  | const GReal | MultAlpha
 | ) | const [protected]

Todo:
Handle exact Hermitian interpolation
Todo:
Handle exact Hermitian interpolation
Todo:
optimize skip, summing whole intervals
Todo:
Handle exact Hermitian interpolation
Todo:
Handle exact Hermitian interpolation
Todo:
optimize skip, summing whole intervals
Todo:
Handle exact Hermitian interpolation
Todo:
Handle exact Hermitian interpolation

void Amanith::GOpenGLBoard::EllipticalArcTo | ( | const GReal | Rx,
 |  | const GReal | Ry,
 |  | const GReal | XRot,
 |  | const GBool | LargeArc,
 |  | const GBool | Sweep,
 |  | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [virtual]

Draw an elliptical arc from the current cursor position to P. The size and orientation of the ellipse are defined by two radii (Rx, Ry) and an x-axis-rotation (XRot, expressed in radians), which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. LargeArc flag and Sweep flag contribute to the automatic calculations and help determine how the arc is drawn.

Parameters:
Rx | x-axis radius.
Ry | y-axis radius.
XRot | an offset rotation (in radians) which indicates how the ellipse as a whole is rotated relative to the current coordinate system.
LargeArc | if G_TRUE then one of the two larger arc sweeps will be chosen; otherwise, if G_FALSE one of the smaller arc sweeps will be chosen.
Sweep | if G_TRUE then the arc will be drawn in a "positive-angle" direction. A value of G_FALSE causes the arc to be drawn in a "negative-angle" direction.
P | the final endpoint to reach.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

Implements Amanith::GDrawBoard.

GInt32 Amanith::GOpenGLBoard::EndPaths ( ) [virtual]

Close an SVG-like path block.

Returns:
if caching is enabled (G_CACHE_MODE, G_CLIP_AND_CACHE_MODE and G_COLOR_AND_CACHE_MODE target modes) and a valid cache bank is currently set, it returns the slot index (where the primitive has been inserted) in the active cache bank, else an error code.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::HorizontalLineTo | ( | const GReal | X,
 |  | const GBool | Relative
 | ) | [virtual]

Draw an horizontal line from the current cursor position to the specified location.

Parameters:
X | the endpoint abscissa.
Relative | if G_TRUE end point coordinates are relative to the current cursor position, else they are absolute.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::LineTo | ( | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [virtual]

Draw a line from the current cursor position to the specified point.

Parameters:
P | the endpoint of the line.
Relative | if G_TRUE end point coordinates are relative to the current cursor position, else they are absolute.

Implements Amanith::GDrawBoard.

GUInt32 Amanith::GOpenGLBoard::MaxColorKeys ( ) const [virtual]

Get the maximum supported number of color keys.

Implements Amanith::GDrawBoard.

GUInt32 Amanith::GOpenGLBoard::MaxDashCount ( ) const [virtual]

Get the maximum supported number of dash entries.

Implements Amanith::GDrawBoard.

GUInt32 Amanith::GOpenGLBoard::MaxImageBytes ( ) const [virtual]

Get the maximum supported pattern memory size (in bytes).

Implements Amanith::GDrawBoard.

GUInt32 Amanith::GOpenGLBoard::MaxImageHeight ( ) const [virtual]

Get the maximum supported pattern height (in pixels).

Implements Amanith::GDrawBoard.

GUInt32 Amanith::GOpenGLBoard::MaxImageWidth ( ) const [virtual]

Get the maximum supported pattern width (in pixels).

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::MoveTo | ( | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [virtual]

Begin an SVG-like sub-path.

This function is in unique correspondence with SVG path command 'M'/'m'.

Parameters:
P | the start point.
Relative | if G_TRUE start point coordinates are relative to the current cursor position, else they are absolute.

Implements Amanith::GDrawBoard.

GBool Amanith::GOpenGLBoard::NeedDepthMask | ( | const GOpenGLDrawStyle & | Style,
 |  | const GBool | Fill
 | ) | const [protected]

Return G_TRUE if a depth mask is required to draw Fill/Stroke according to specified Style.

void Amanith::GOpenGLBoard::SetCacheBank ( GCacheBank * Bank ) [virtual]

Set current cache bank, a NULL value is valid.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::SetCustomRenderingQuality ( const GReal Deviation )

Set a rendering quality, specifying deviation used to flatten curves. The more the Deviation parameter is, the worst is the rendering quality.

Parameters:
Deviation the custom rendering quality level.
Note:
Deviation is the maximum squared chordal distance threshold, and it must be positive.

GBool Amanith::GOpenGLBoard::SetGLStyleCompOp | ( | const GCompositingOperation | CompOp,
 |  | const GUInt32 | PassIndex
 | ) | [protected]

Set compositing operation OpenGL states for the specified pass, and returns G_TRUE if framebuffer must be grabbed.

void Amanith::GOpenGLBoard::SetRectTextureEnabled ( const GBool Enabled )

Enable or disable the use of rectangular textures to do group opacity.

As default, OpenGL drawboard disables the use of rectangular texture. This is due to the fact that on some graphics board (especially ATI ones) there could be memory leaks inside the driver, making the application crash. Enabling rectangular texture could speed up a little the use of group opacity and it uses less memory.

void Amanith::GOpenGLBoard::SetShadersEnabled ( const GBool Enabled )

Enable or disable fragment programs for radial and conical gradients.

As default, OpenGL drawboard always chooses the best performance drawing pipeline, according to the hardware features supported by the underlying graphic device. In some situations it could be useful to disable fragment programs versions of some rendering pipelines (radial and conical gradients). Using this function the user can force the OpenGL drawboard to use always the geometric-based pipelines.

void Amanith::GOpenGLBoard::SmoothCurveTo | ( | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [virtual]

Draw a quadratic Bezier curve using smooth tangent.

Draws a quadratic Bezier curve from the current cursor position to P. The control point is assumed to be the reflection of the control point on the previous command relative to the current point. At the end of the command, the new cursor position becomes P.

Parameters:
P | the final curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::SmoothCurveTo | ( | const GPoint2 & | P2,
 |  | const GPoint2 & | P,
 |  | const GBool | Relative
 | ) | [virtual]

Draw a cubic Bezier curve using smooth tangent.

Draws a cubic Bezier curve from the current cursor position to P. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. At the end of the command, the new cursor position becomes P.

Parameters:
P2 | the second control point.
P | the final curve end point.
Relative | if G_TRUE points coordinates are relative to the current cursor position, else they are absolute.

Implements Amanith::GDrawBoard.

void Amanith::GOpenGLBoard::UpdateGrabBuffer | ( | const GUInt32 | Width,
 |  | const GUInt32 | Height,
 |  | GLGrabbedRect & | GrabRect
 | ) | [protected]

Update the texture used to grab a portion of the framebuffer.

void Amanith::GOpenGLBoard::VerticalLineTo | ( | const GReal | Y,
 |  | const GBool | Relative
 | ) | [virtual]

Draw a vertical line from the current cursor position to the specified location.

Parameters:
Y | the endpoint ordinate.
Relative | if G_TRUE end point coordinates are relative to the current cursor position, else they are absolute.

Implements Amanith::GDrawBoard.

The documentation for this class was generated from the following files:
  • gopenglboard.h
  • gopenglboard.cpp
  • gopenglcache.cpp
  • gopenglcompositing.cpp
  • gopenglconicalgrad.cpp
  • gopenglgeometries.cpp
  • gopenglgroups.cpp
  • gopenglmasks.cpp
  • gopenglradialgrad.cpp
  • gopenglstroke.cpp
  • gopenglstyles.cpp


Amanith::GOpenGLBoard Member List

This is the complete list of members for Amanith::GOpenGLBoard, including all inherited members.

BeginPaths() | Amanith::GOpenGLBoard | [virtual]
CacheBank() const | Amanith::GOpenGLBoard | [virtual]
Clear(const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha, const GBool ClearClipMasks=G_TRUE) | Amanith::GDrawBoard |
ClipEnabled() const | Amanith::GDrawBoard |
ClipOperation() const | Amanith::GDrawBoard |
ClosePath() | Amanith::GOpenGLBoard | [virtual]
ColorFromString(const GString &Color) | Amanith::GOpenGLBoard |
CompOpPassesCount(const GCompositingOperation CompOp, GUInt32 &PassesCount, GUInt32 &FrameBufferPassesCount) | Amanith::GOpenGLBoard | [protected]
CreateCacheBank() | Amanith::GOpenGLBoard | [virtual]
CreateConicalGradient(const GPoint2 &Center, const GPoint2 &Target, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33) | Amanith::GOpenGLBoard | [virtual]
CreateDrawStyle() const | Amanith::GOpenGLBoard | [protected, virtual]
CreateLinearGradient(const GPoint2 &StartPoint, const GPoint2 &EndPoint, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GColorRampSpreadMode SpreadMode=G_PAD_COLOR_RAMP_SPREAD, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33) | Amanith::GOpenGLBoard | [virtual]
CreatePattern(const GPixelMap *Image, const GImageQuality Quality, const GTilingMode TilingMode=G_REPEAT_TILE, const GAABox2 *LogicalWindow=NULL, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33) | Amanith::GOpenGLBoard | [virtual]
CreateRadialGradient(const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation=G_HERMITE_COLOR_INTERPOLATION, const GColorRampSpreadMode SpreadMode=G_PAD_COLOR_RAMP_SPREAD, const GMatrix33 &Matrix=G_MATRIX_IDENTITY33) | Amanith::GOpenGLBoard | [virtual]
CurveTo(const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P, const GBool Relative) | Amanith::GOpenGLBoard | [virtual]
CurveTo(const GPoint2 &P1, const GPoint2 &P, const GBool Relative) | Amanith::GOpenGLBoard | [virtual]
Amanith::GDrawBoard::CurveTo(const GReal X1, const GReal Y1, const GReal X2, const GReal Y2, const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
Amanith::GDrawBoard::CurveTo(const GReal X1, const GReal Y1, const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
DeleteCacheBanks() | Amanith::GOpenGLBoard | [protected]
DeleteGradients() | Amanith::GOpenGLBoard | [protected]
DeletePatterns() | Amanith::GOpenGLBoard | [protected]
DoClear(const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha, const GBool ClearClipMasks) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawBezier(GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawBezier(GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P3) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawCacheSlot(const GDrawStyle &Style, const GOpenGLCacheSlot &CacheSlot) | Amanith::GOpenGLBoard | [protected]
DoDrawCacheSlots(GDrawStyle &Style, const GInt32 FirstSlotIndex, const GInt32 LastSlotIndex) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawCircle(GDrawStyle &Style, const GPoint2 &Center, const GReal Radius) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawEllipse(GDrawStyle &Style, const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawEllipseArc(GDrawStyle &Style, const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation, const GReal StartAngle, const GReal EndAngle, const GBool CCW) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawEllipseArc(GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation, const GBool LargeArc, const GBool CCW) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawLine(GDrawStyle &Style, const GPoint2 &P0, const GPoint2 &P1) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawPath(GDrawStyle &Style, const GCurve2D &Curve) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawPaths(GDrawStyle &Style, const GDynArray< GCurve2D * > &Curves) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawPolygon(GDrawStyle &Style, const GDynArray< GPoint2 > &Points, const GBool Closed) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawRectangle(GDrawStyle &Style, const GPoint2 &MinCorner, const GPoint2 &MaxCorner) | Amanith::GOpenGLBoard | [protected, virtual]
DoDrawRoundRectangle(GDrawStyle &Style, const GPoint2 &MinCorner, const GPoint2 &MaxCorner, const GReal ArcWidth, const GReal ArcHeight) | Amanith::GOpenGLBoard | [protected, virtual]
DoFinish() | Amanith::GOpenGLBoard | [protected, virtual]
DoFlush() | Amanith::GOpenGLBoard | [protected, virtual]
DoGroupBegin(const GAABox2 &LogicBox) | Amanith::GOpenGLBoard | [protected, virtual]
DoGroupEnd() | Amanith::GOpenGLBoard | [protected, virtual]
DoPopClipMask() | Amanith::GOpenGLBoard | [protected, virtual]
DoScreenShot(GPixelMap &Output, const GVectBase< GUInt32, 2 > &P0, const GVectBase< GUInt32, 2 > &P1) const | Amanith::GOpenGLBoard | [protected, virtual]
DoSetClipEnabled(const GBool Enabled) | Amanith::GOpenGLBoard | [protected, virtual]
DoSetClipOperation(const GClipOperation Operation) | Amanith::GOpenGLBoard | [protected, virtual]
DoSetGroupCompOp(const GCompositingOperation CompOp) | Amanith::GOpenGLBoard | [protected, virtual]
DoSetGroupOpacity(const GReal Opacity) | Amanith::GOpenGLBoard | [protected, virtual]
DoSetProjection(const GReal Left, const GReal Right, const GReal Bottom, const GReal Top) | Amanith::GOpenGLBoard | [protected, virtual]
DoSetRenderingQuality(const GRenderingQuality Quality) | Amanith::GOpenGLBoard | [protected, virtual]
DoSetTargetMode(const GTargetMode Mode) | Amanith::GOpenGLBoard | [protected, virtual]
DoSetViewport(const GUInt32 LowLeftCornerX, const GUInt32 LowLeftCornerY, const GUInt32 Width, const GUInt32 Height) | Amanith::GOpenGLBoard | [protected, virtual]
DrawBezier(const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2) | Amanith::GDrawBoard |
DrawBezier(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal X2, const GReal Y2) | Amanith::GDrawBoard |
DrawBezier(const GPoint2 &P0, const GPoint2 &P1, const GPoint2 &P2, const GPoint2 &P3) | Amanith::GDrawBoard |
DrawBezier(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal X2, const GReal Y2, const GReal X3, const GReal Y3) | Amanith::GDrawBoard |
DrawCacheBank() | Amanith::GDrawBoard |
DrawCacheSlot(const GInt32 SlotIndex) | Amanith::GDrawBoard |
DrawCacheSlots(const GInt32 FirstSlotIndex, const GInt32 LastSlotIndex) | Amanith::GDrawBoard |
DrawCircle(const GPoint2 &Center, const GReal Radius) | Amanith::GDrawBoard |
DrawCircle(const GReal X, const GReal Y, const GReal Radius) | Amanith::GDrawBoard |
DrawEllipse(const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength) | Amanith::GDrawBoard |
DrawEllipse(const GReal X, const GReal Y, const GReal XSemiAxisLength, const GReal YSemiAxisLength) | Amanith::GDrawBoard |
DrawEllipseArc(const GPoint2 &Center, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GReal StartAngle=0, const GReal EndAngle=G_2PI, const GBool CCW=G_TRUE) | Amanith::GDrawBoard |
DrawEllipseArc(const GReal X, const GReal Y, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GReal StartAngle=0, const GReal EndAngle=G_2PI, const GBool CCW=G_TRUE) | Amanith::GDrawBoard |
DrawEllipseArc(const GPoint2 &P0, const GPoint2 &P1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GBool LargeArc=G_TRUE, const GBool CCW=G_FALSE) | Amanith::GDrawBoard |
DrawEllipseArc(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal XSemiAxisLength, const GReal YSemiAxisLength, const GReal OffsetRotation=0, const GBool LargeArc=G_TRUE, const GBool CCW=G_FALSE) | Amanith::GDrawBoard |
DrawGLRadialSector(const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const | Amanith::GOpenGLBoard | [protected]
DrawLine(const GPoint2 &P0, const GPoint2 &P1) | Amanith::GDrawBoard |
DrawLine(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1) | Amanith::GDrawBoard |
DrawPath(const GCurve2D &Curve) | Amanith::GDrawBoard |
DrawPaths(const GDynArray< GCurve2D * > &Curves) | Amanith::GDrawBoard |
DrawPaths(const GString &SVGPathDescription, const GAnglesMeasureUnit AnglesMeasureUnits=G_DEGREE_UNIT) | Amanith::GDrawBoard |
DrawPaths(const GChar8 *SVGPathDescription, const GAnglesMeasureUnit AnglesMeasureUnits=G_DEGREE_UNIT) | Amanith::GDrawBoard |
DrawPolygon(const GDynArray< GPoint2 > &Points, const GBool Closed) | Amanith::GDrawBoard |
DrawRectangle(const GPoint2 &P0, const GPoint2 &P1) | Amanith::GDrawBoard |
DrawRectangle(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1) | Amanith::GDrawBoard |
DrawRoundRectangle(const GPoint2 &P0, const GPoint2 &P1, const GReal ArcWidth, const GReal ArcHeight) | Amanith::GDrawBoard |
DrawRoundRectangle(const GReal X0, const GReal Y0, const GReal X1, const GReal Y1, const GReal ArcWidth, const GReal ArcHeight) | Amanith::GDrawBoard |
EllipticalArcTo(const GReal Rx, const GReal Ry, const GReal XRot, const GBool LargeArc, const GBool Sweep, const GPoint2 &P, const GBool Relative) | Amanith::GOpenGLBoard | [virtual]
Amanith::GDrawBoard::EllipticalArcTo(const GReal Rx, const GReal Ry, const GReal XRot, const GBool LargeArc, const GBool Sweep, const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
EndPaths() | Amanith::GOpenGLBoard | [virtual]
FillColor() const | Amanith::GDrawBoard |
FillCompOp() const | Amanith::GDrawBoard |
FillEnabled() const | Amanith::GDrawBoard |
FillGradient() const | Amanith::GDrawBoard |
FillPaintType() const | Amanith::GDrawBoard |
FillPattern() const | Amanith::GDrawBoard |
FillRule() const | Amanith::GDrawBoard |
Finish() | Amanith::GDrawBoard |
Flush() | Amanith::GDrawBoard |
GDrawBoard() | Amanith::GDrawBoard |
GOpenGLBoard(const GUInt32 LowLeftCornerX, const GUInt32 LowLeftCornerY, const GUInt32 Width, const GUInt32 Height) | Amanith::GOpenGLBoard |
gProjection | Amanith::GDrawBoard | [protected]
GroupBegin() | Amanith::GDrawBoard |
GroupBegin(const GAABox2 &LogicBox) | Amanith::GDrawBoard |
GroupCompOp() const | Amanith::GDrawBoard |
GroupEnd() | Amanith::GDrawBoard |
GroupOpacity() const | Amanith::GDrawBoard |
gViewport | Amanith::GDrawBoard | [protected]
HorizontalLineTo(const GReal X, const GBool Relative) | Amanith::GOpenGLBoard | [virtual]
InsideGroup() const | Amanith::GDrawBoard |
LineTo(const GPoint2 &P, const GBool Relative) | Amanith::GOpenGLBoard | [virtual]
Amanith::GDrawBoard::LineTo(const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
LogicalToPhysicalInt(const GPoint2 &LogicalPoint) | Amanith::GDrawBoard |
LogicalToPhysicalMatrix() const | Amanith::GDrawBoard |
LogicalToPhysicalReal(const GPoint2 &LogicalPoint) | Amanith::GDrawBoard |
MaxColorKeys() const | Amanith::GOpenGLBoard | [virtual]
MaxDashCount() const | Amanith::GOpenGLBoard | [virtual]
MaxImageBytes() const | Amanith::GOpenGLBoard | [virtual]
MaxImageHeight() const | Amanith::GOpenGLBoard | [virtual]
MaxImageWidth() const | Amanith::GOpenGLBoard | [virtual]
ModelViewMatrix() const | Amanith::GDrawBoard |
MoveTo(const GPoint2 &P, const GBool Relative) | Amanith::GOpenGLBoard | [virtual]
Amanith::GDrawBoard::MoveTo(const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
NeedDepthMask(const GOpenGLDrawStyle &Style, const GBool Fill) const | Amanith::GOpenGLBoard | [protected]
PhysicalToLogical(const GPoint< GInt32, 2 > &PhysicalPoint) | Amanith::GDrawBoard |
PhysicalToLogicalMatrix() const | Amanith::GDrawBoard |
PopClipMask() | Amanith::GDrawBoard |
Projection(GReal &Left, GReal &Right, GReal &Bottom, GReal &Top) | Amanith::GDrawBoard |
RenderingQuality() const | Amanith::GDrawBoard |
ScreenShot(GPixelMap &Output, const GVectBase< GUInt32, 2 > &P0, const GVectBase< GUInt32, 2 > &P1) const | Amanith::GDrawBoard |
ScreenShot(GPixelMap &Output, const GUInt32 X0, const GUInt32 Y0, const GUInt32 X1, const GUInt32 Y1) const | Amanith::GDrawBoard |
ScreenShot(GPixelMap &Output) const | Amanith::GDrawBoard |
SetCacheBank(GCacheBank *Bank) | Amanith::GOpenGLBoard | [virtual]
SetClipEnabled(const GBool Enabled) | Amanith::GDrawBoard |
SetClipOperation(const GClipOperation Operation) | Amanith::GDrawBoard |
SetCustomRenderingQuality(const GReal Deviation) | Amanith::GOpenGLBoard |
SetFillColor(const GVectBase< GReal, 4 > &Color) | Amanith::GDrawBoard |
SetFillColor(const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha) | Amanith::GDrawBoard |
SetFillColor(const GVectBase< GReal, 3 > &Color) | Amanith::GDrawBoard |
SetFillColor(const GReal Red, const GReal Green, const GReal Blue) | Amanith::GDrawBoard |
SetFillCompOp(const GCompositingOperation CompOp) | Amanith::GDrawBoard |
SetFillEnabled(const GBool Enabled) | Amanith::GDrawBoard |
SetFillGradient(GGradientDesc *Gradient) | Amanith::GDrawBoard |
SetFillOpacity(const GReal Opacity) | Amanith::GDrawBoard |
SetFillPaintType(const GPaintType PaintType) | Amanith::GDrawBoard |
SetFillPattern(GPatternDesc *Pattern) | Amanith::GDrawBoard |
SetFillRule(const GFillRule Rule) | Amanith::GDrawBoard |
SetGLStyleCompOp(const GCompositingOperation CompOp, const GUInt32 PassIndex) | Amanith::GOpenGLBoard | [protected]
SetGroupCompOp(const GCompositingOperation CompOp) | Amanith::GDrawBoard |
SetGroupOpacity(const GReal Opacity) | Amanith::GDrawBoard |
SetModelViewMatrix(const GMatrix33 &Matrix) | Amanith::GDrawBoard |
SetProjection(const GReal Left, const GReal Right, const GReal Bottom, const GReal Top) | Amanith::GDrawBoard |
SetRectTextureEnabled(const GBool Enabled) | Amanith::GOpenGLBoard |
SetRenderingQuality(const GRenderingQuality Quality) | Amanith::GDrawBoard |
SetShadersEnabled(const GBool Enabled) | Amanith::GOpenGLBoard |
SetStrokeColor(const GVectBase< GReal, 4 > &Color) | Amanith::GDrawBoard |
SetStrokeColor(const GReal Red, const GReal Green, const GReal Blue, const GReal Alpha) | Amanith::GDrawBoard |
SetStrokeColor(const GVectBase< GReal, 3 > &Color) | Amanith::GDrawBoard |
SetStrokeColor(const GReal Red, const GReal Green, const GReal Blue) | Amanith::GDrawBoard |
SetStrokeCompOp(const GCompositingOperation CompOp) | Amanith::GDrawBoard |
SetStrokeDashPattern(const GDynArray< GReal > &Pattern) | Amanith::GDrawBoard |
SetStrokeDashPhase(const GReal DashPhase) | Amanith::GDrawBoard |
SetStrokeEnabled(const GBool Enabled) | Amanith::GDrawBoard |
SetStrokeEndCapStyle(const GCapStyle Style) | Amanith::GDrawBoard |
SetStrokeGradient(GGradientDesc *Gradient) | Amanith::GDrawBoard |
SetStrokeJoinStyle(const GJoinStyle Style) | Amanith::GDrawBoard |
SetStrokeMiterLimit(const GReal Limit) | Amanith::GDrawBoard |
SetStrokeOpacity(const GReal Opacity) | Amanith::GDrawBoard |
SetStrokePaintType(const GPaintType PaintType) | Amanith::GDrawBoard |
SetStrokePattern(GPatternDesc *Pattern) | Amanith::GDrawBoard |
SetStrokeStartCapStyle(const GCapStyle Style) | Amanith::GDrawBoard |
SetStrokeStyle(const GStrokeStyle Style) | Amanith::GDrawBoard |
SetStrokeWidth(const GReal Width) | Amanith::GDrawBoard |
SetTargetMode(const GTargetMode Mode) | Amanith::GDrawBoard |
SetViewport(const GUInt32 LowLeftCornerX, const GUInt32 LowLeftCornerY, const GUInt32 Width, const GUInt32 Height) | Amanith::GDrawBoard |
SmoothCurveTo(const GPoint2 &P2, const GPoint2 &P, const GBool Relative) | Amanith::GOpenGLBoard | [virtual]
SmoothCurveTo(const GPoint2 &P, const GBool Relative) | Amanith::GOpenGLBoard | [virtual]
Amanith::GDrawBoard::SmoothCurveTo(const GReal X2, const GReal Y2, const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
Amanith::GDrawBoard::SmoothCurveTo(const GReal X, const GReal Y, const GBool Relative) | Amanith::GDrawBoard |
StrokeColor() const | Amanith::GDrawBoard |
StrokeCompOp() const | Amanith::GDrawBoard |
StrokeDashPattern() const | Amanith::GDrawBoard |
StrokeDashPhase() const | Amanith::GDrawBoard |
StrokeEnabled() const | Amanith::GDrawBoard |
StrokeEndCapStyle() const | Amanith::GDrawBoard |
StrokeGradient() const | Amanith::GDrawBoard |
StrokeJoinStyle() const | Amanith::GDrawBoard |
StrokeMiterLimit() const | Amanith::GDrawBoard |
StrokePaintType() const | Amanith::GDrawBoard |
StrokePattern() const | Amanith::GDrawBoard |
StrokeStartCapStyle() const | Amanith::GDrawBoard |
StrokeStyle() const | Amanith::GDrawBoard |
StrokeWidth() const | Amanith::GDrawBoard |
TargetMode() const | Amanith::GDrawBoard |
UpdateGrabBuffer(const GUInt32 Width, const GUInt32 Height, GLGrabbedRect &GrabRect) | Amanith::GOpenGLBoard | [protected]
VerticalLineTo(const GReal Y, const GBool Relative) | Amanith::GOpenGLBoard | [virtual]
Viewport(GUInt32 &LowLeftCornerX, GUInt32 &LowLeftCornerY, GUInt32 &Width, GUInt32 &Height) | Amanith::GDrawBoard |
~GDrawBoard() | Amanith::GDrawBoard | [virtual]
~GOpenGLBoard() | Amanith::GOpenGLBoard | [virtual]


Amanith::GOpenGLCacheBank

Amanith::GOpenGLCacheBank Class Reference

This is the OpenGL implementation of a cache bank class, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer). More...

Inheritance diagram for Amanith::GOpenGLCacheBank:

Amanith::GCacheBank List of all members.

Public Member Functions

  • GOpenGLCacheBank ()
  • ~GOpenGLCacheBank ()
  • GInt32 SlotsCount () const
  • void Invalidate ()

Detailed Description

This is the OpenGL implementation of a cache bank class, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer).

A cache bank, after being filled, can be reused to draw cached shapes. The bank can be invalidated using the function Invalidate(). This implementation uses OpenGL display lists, and stroke and fill parts are always cached independently of StrokeEnabled() and FillEnabled() style flags.

Constructor & Destructor Documentation

Amanith::GOpenGLCacheBank::GOpenGLCacheBank ( )

Constructor, it build an empty cache bank.

Amanith::GOpenGLCacheBank::~GOpenGLCacheBank ( )

Destructor, it invalidates cached shapes and frees memory.

Member Function Documentation

void Amanith::GOpenGLCacheBank::Invalidate ( ) [virtual]

Invalidate the cache, freeing associated (video) memory.

Implements Amanith::GCacheBank.

GInt32 Amanith::GOpenGLCacheBank::SlotsCount ( ) const [virtual]

Get the number of slots (cached shapes).

Implements Amanith::GCacheBank.

The documentation for this class was generated from the following files:
  • gopenglboard.h
  • gopenglcache.cpp


Amanith::GOpenGLCacheBank Member List

This is the complete list of members for Amanith::GOpenGLCacheBank, including all inherited members.

GCacheBank() Amanith::GCacheBank
GOpenGLCacheBank() Amanith::GOpenGLCacheBank
Invalidate() | Amanith::GOpenGLCacheBank | [virtual]
SlotsCount() const | Amanith::GOpenGLCacheBank | [virtual]
~GCacheBank() | Amanith::GCacheBank | [virtual]


Amanith::GOpenGLDrawStyle

Amanith::GOpenGLDrawStyle Class Reference

This is an OpenGL-based implementation drawstyle descriptor class. More...

Inheritance diagram for Amanith::GOpenGLDrawStyle:

Amanith::GDrawStyle List of all members.

Public Member Functions

  • GOpenGLDrawStyle ()
  • void SetStrokeColor (const GVectBase< GReal, 4 > &Color)
  • void SetFillColor (const GVectBase< GReal, 4 > &Color)
  • void SetStrokeMiterLimit (const GReal MiterLimit)
  • void SetStrokeWidth (const GReal Width)
  • GReal StrokeMiterLimitMulThickness () const

Detailed Description

This is an OpenGL-based implementation drawstyle descriptor class.

In this implementation, the basic GDrawStyle class has been extended to include some precalculated constants, very useful to speed up stroke and join computation.

Constructor & Destructor Documentation

Amanith::GOpenGLDrawStyle::GOpenGLDrawStyle ( )

Constructor.

Member Function Documentation

void Amanith::GOpenGLDrawStyle::SetFillColor ( const GVectBase< GReal, 4 > & Color ) [virtual]

Set fill color. This implementation clamps each entry in the range [0; 1].

Reimplemented from Amanith::GDrawStyle.

void Amanith::GOpenGLDrawStyle::SetStrokeColor ( const GVectBase< GReal, 4 > & Color ) [virtual]

Set stroke color. This implementation clamps each entry in the range [0; 1].

Reimplemented from Amanith::GDrawStyle.

void Amanith::GOpenGLDrawStyle::SetStrokeMiterLimit ( const GReal MiterLimit ) [virtual]

Set srtoke miter limit; in this implementation, additional internal constants are calculated.

Reimplemented from Amanith::GDrawStyle.

void Amanith::GOpenGLDrawStyle::SetStrokeWidth ( const GReal Width ) [virtual]

Set srtoke pen width; in this implementation, additional internal constants are calculated.

Reimplemented from Amanith::GDrawStyle.

GReal Amanith::GOpenGLDrawStyle::StrokeMiterLimitMulThickness ( ) const

Get Miterlimit * Thickness.

The documentation for this class was generated from the following files:
  • gopenglboard.h
  • gopenglstyles.cpp


Amanith::GOpenGLDrawStyle Member List

This is the complete list of members for Amanith::GOpenGLDrawStyle, including all inherited members.

FillColor() const | Amanith::GDrawStyle |
FillColorModified() const | Amanith::GDrawStyle |
FillCompOp() const | Amanith::GDrawStyle |
FillCompOpModified() const | Amanith::GDrawStyle |
FillEnabled() const | Amanith::GDrawStyle |
FillEnabledModified() const | Amanith::GDrawStyle |
FillGradient() const | Amanith::GDrawStyle |
FillGradientModified() const | Amanith::GDrawStyle |
FillPaintType() const | Amanith::GDrawStyle |
FillPaintTypeModified() const | Amanith::GDrawStyle |
FillPattern() const | Amanith::GDrawStyle |
FillPatternModified() const | Amanith::GDrawStyle |
FillRule() const | Amanith::GDrawStyle |
FillRuleModified() const | Amanith::GDrawStyle |
GDrawStyle() | Amanith::GDrawStyle |
GOpenGLDrawStyle() | Amanith::GOpenGLDrawStyle |
InverseModelView() const | Amanith::GDrawStyle |
ModelView() const | Amanith::GDrawStyle |
ModelViewModified() const | Amanith::GDrawStyle |
Modified() const | Amanith::GDrawStyle |
operator=(const GDrawStyle &Source) | Amanith::GDrawStyle |
SetFillColor(const GVectBase< GReal, 4 > &Color) | Amanith::GOpenGLDrawStyle | [virtual]
SetFillColorModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetFillCompOp(const GCompositingOperation CompOp) | Amanith::GDrawStyle | [virtual]
SetFillCompOpModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetFillEnabled(const GBool Enabled) | Amanith::GDrawStyle | [virtual]
SetFillEnabledModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetFillGradient(GGradientDesc *Gradient) | Amanith::GDrawStyle |
SetFillPaintType(const GPaintType Type) | Amanith::GDrawStyle | [virtual]
SetFillPaintTypeModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetFillPattern(GPatternDesc *Pattern) | Amanith::GDrawStyle |
SetFillRule(const GFillRule Rule) | Amanith::GDrawStyle | [virtual]
SetFillRuleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetModelView(const GMatrix33 &Matrix) | Amanith::GDrawStyle | [virtual]
SetStrokeColor(const GVectBase< GReal, 4 > &Color) | Amanith::GOpenGLDrawStyle | [virtual]
SetStrokeColorModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeCompOp(const GCompositingOperation CompOp) | Amanith::GDrawStyle | [virtual]
SetStrokeCompOpModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeDashPattern(const GDynArray< GReal > DashPattern) | Amanith::GDrawStyle | [virtual]
SetStrokeDashPatternModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeDashPhase(const GReal DashPhase) | Amanith::GDrawStyle | [virtual]
SetStrokeDashPhaseModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeEnabled(const GBool Enabled) | Amanith::GDrawStyle | [virtual]
SetStrokeEnabledModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeEndCapStyle(const GCapStyle CapStyle) | Amanith::GDrawStyle | [virtual]
SetStrokeEndCapStyleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeGradient(GGradientDesc *Gradient) | Amanith::GDrawStyle |
SetStrokeJoinStyle(const GJoinStyle JoinStyle) | Amanith::GDrawStyle | [virtual]
SetStrokeJoinStyleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeMiterLimit(const GReal MiterLimit) | Amanith::GOpenGLDrawStyle | [virtual]
SetStrokeMiterLimitModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokePaintType(const GPaintType Type) | Amanith::GDrawStyle | [virtual]
SetStrokePaintTypeModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokePattern(GPatternDesc *Pattern) | Amanith::GDrawStyle |
SetStrokeStartCapStyle(const GCapStyle CapStyle) | Amanith::GDrawStyle | [virtual]
SetStrokeStartCapStyleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeStyle(const GStrokeStyle Style) | Amanith::GDrawStyle | [virtual]
SetStrokeStyleModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
SetStrokeWidth(const GReal Width) | Amanith::GOpenGLDrawStyle | [virtual]
SetStrokeWidthModified(const GBool Modified) | Amanith::GDrawStyle | [protected]
StrokeColor() const | Amanith::GDrawStyle |
StrokeColorModified() const | Amanith::GDrawStyle |
StrokeCompOp() const | Amanith::GDrawStyle |
StrokeCompOpModified() const | Amanith::GDrawStyle |
StrokeDashPattern() const | Amanith::GDrawStyle |
StrokeDashPatternModified() const | Amanith::GDrawStyle |
StrokeDashPatternSum() const | Amanith::GDrawStyle |
StrokeDashPhase() const | Amanith::GDrawStyle |
StrokeDashPhaseModified() const | Amanith::GDrawStyle |
StrokeEnabled() const | Amanith::GDrawStyle |
StrokeEnabledModified() const | Amanith::GDrawStyle |
StrokeEndCapStyle() const | Amanith::GDrawStyle |
StrokeEndCapStyleModified() const | Amanith::GDrawStyle |
StrokeGradient() const | Amanith::GDrawStyle |
StrokeGradientModified() const | Amanith::GDrawStyle |
StrokeJoinStyle() const | Amanith::GDrawStyle |
StrokeJoinStyleModified() const | Amanith::GDrawStyle |
StrokeMiterLimit() const | Amanith::GDrawStyle |
StrokeMiterLimitModified() const | Amanith::GDrawStyle |
StrokeMiterLimitMulThickness() const | Amanith::GOpenGLDrawStyle |
StrokeOffsettedDashPattern() const | Amanith::GDrawStyle |
StrokeOffsettedDashPatternEmpty() const | Amanith::GDrawStyle |
StrokePaintType() const | Amanith::GDrawStyle |
StrokePaintTypeModified() const | Amanith::GDrawStyle |
StrokePattern() const | Amanith::GDrawStyle |
StrokePatternModified() const | Amanith::GDrawStyle |
StrokeStartCapStyle() const | Amanith::GDrawStyle |
StrokeStartCapStyleModified() const | Amanith::GDrawStyle |
StrokeStyle() const | Amanith::GDrawStyle |
StrokeStyleModified() const | Amanith::GDrawStyle |
StrokeThickness() const | Amanith::GDrawStyle |
StrokeWidth() const | Amanith::GDrawStyle |
StrokeWidthModified() const | Amanith::GDrawStyle |
~GDrawStyle() | Amanith::GDrawStyle | [virtual]


Amanith::GOpenglExt

Amanith::GOpenglExt Class Reference

OpenGL extensions manager. More...

List of all members.

Public Member Functions

  • GOpenglExt ()
  • GBool IsFunctionSupported (const GString &FunctionName) const
  • GBool IsGLVersionSupported (const GString &Version) const
  • GBool IsGLVersionSupported (const GInt32 MajVers, const GInt32 MinVers) const
  • GBool IsGLExtensionSupported (const GString &ExtensionName) const
  • GBool IsMultitextureSupported () const
  • GBool IsCubemapSupported () const
  • GBool IsRectTextureSupported ()
  • GBool IsMirroredRepeatSupported () const
  • GBool IsArbShadersSupported () const
  • GBool IsArbProgramsSupported () const
  • GBool IsOcclusionQuerySupported () const
  • GBool IsFBOSupported () const
  • const GStringList & SupportedFunctions () const
  • void PrintInfoLog (GLhandleARB obj)

Static Public Member Functions

  • static GInt32 TextureUnitsCount ()
  • static GUInt32 MaxConvolutionWidth ()
  • static GUInt32 MaxConvolutionHeight ()
  • static GUInt32 MaxTextureSize ()
  • static GUInt32 MaxRenderBufferSize ()
  • static GUInt32 RedBits ()
  • static GUInt32 GreenBits ()
  • static GUInt32 BlueBits ()
  • static GUInt32 AlphaBits ()
  • static GUInt32 DepthBits ()
  • static GUInt32 StencilBits ()
  • static GUInt32 MultiSamples ()
  • static GUInt32 FBOMaxColorAttachments ()
  • static GBool PrintOglError (const GString &FileName, const GInt32 Line)
  • static GUInt32 PowerOfTwo (const GUInt32 Value)

Detailed Description

OpenGL extensions manager.

GOpenglExt implements a simple OpenGL extension manager.
It's based on the wonderful glew library (http://glew.sourceforge.net) for the low level stuff. Using the manager we can know some useful informations about the used OpenGL device, like number of texture units, multitexture support, shaders support and so on.

Constructor & Destructor Documentation

Amanith::GOpenglExt::GOpenglExt ( )

Constructor.

It initializes glew library, and builds the internal list of supported functions.

Member Function Documentation

GUInt32 Amanith::GOpenglExt::AlphaBits ( ) [static]

Get number of bits per alpha component in color buffers.

GUInt32 Amanith::GOpenglExt::BlueBits ( ) [static]

Get number of bits per blue component in color buffers.

GUInt32 Amanith::GOpenglExt::DepthBits ( ) [static]

Get number of depth-buffer bitplanes.

GUInt32 Amanith::GOpenglExt::FBOMaxColorAttachments ( ) [static]

Get the number of maximum color attachments permitted for FBO.

GUInt32 Amanith::GOpenglExt::GreenBits ( ) [static]

Get number of bits per green component in color buffers.

GBool Amanith::GOpenglExt::IsArbProgramsSupported ( ) const

Check if underlying OpenGL device supports ARB programs.

Returns:
G_TRUE if both GL_ARB_vertex_program and GL_ARB_fragment_program extensions are supported, G_FALSE otherwise.

GBool Amanith::GOpenglExt::IsArbShadersSupported ( ) const

Check if underlying OpenGL device supports ARB shaders.

Returns:
G_TRUE if GL_ARB_fragment_shader, GL_ARB_shader_objects, GL_ARB_shading_language_100 and GL_ARB_vertex_shader extensions are supported, G_FALSE otherwise.

GBool Amanith::GOpenglExt::IsCubemapSupported ( ) const

Check if underlying OpenGL device supports cubemaps.

Returns:
G_TRUE if GL_ARB_texture_cube_map extension is supported, G_FALSE otherwise.

GBool Amanith::GOpenglExt::IsFBOSupported ( ) const

Check if FBO (frame buffer object) extension is supported by the underlying OpenGL device.

Returns:
G_TRUE if GL_EXT_framebuffer_object extension is supported, G_FALSE otherwise.

GBool Amanith::GOpenglExt::IsFunctionSupported ( const GString & FunctionName ) const

Check if an OpenGL function is supported.

Parameters:
FunctionName a string containing the function name we are asking support for (ex: "glCopyTexSubImage3D")
Returns:
G_TRUE if function is supported, G_FALSE otherwise
Note:
Comparison is case-insensitive.
An equivalent (and faster) method, is to check the function pointer directly, for example:
if (Manager->IsFunctionSupported("glCopyTexSubImage3D") {
    ...
}
// or equivalently
if (glCopyTexSubImage3D) {
...
}

GBool Amanith::GOpenglExt::IsGLExtensionSupported ( const GString & ExtensionName ) const

Check if an OpenGL extension is supported.

Parameters:
ExtensionName a string that specifies the extension name we are asking support for (ex: "GL_ARB_multitexture")
Returns:
G_TRUE if extension is supported, G_FALSE otherwise;
Note:
Comparison is made in case-insensitive manner.

GBool Amanith::GOpenglExt::IsGLVersionSupported | ( | const GInt32 | MajVers,
 |  | const GInt32 | MinVers
 | ) | const

Check if an OpenGL version is supported.

Parameters:
MajVers | major version number to test
MinVers | minor version number to test
Returns:
G_TRUE if OpenGL MajVers.MinVers is supported, G_FALSE otherwise

GBool Amanith::GOpenglExt::IsGLVersionSupported ( const GString & Version ) const

Check if an OpenGL version is supported. Wildcard characters are supported in this version.

Parameters:
Version a string containing an OpenGL version (ex. "1.4")
Note:
.* and .x wildcard characters are supported. So IsGLVersionSupported("1.x") and IsGLVersionSupported("1.*") are valid calls. The first call returns G_TRUE if any 1.x OpenGL version is supported (1.1 or 1.2 or 1.3 or 1.4 or 1.5). The second call returns G_TRUE if all 1.x OpenGL versions are supported (1.1 and 1.2 and 1.3 and 1.4 and 1.5).

GBool Amanith::GOpenglExt::IsMirroredRepeatSupported ( ) const

Check if underlying OpenGL device supports mirrored repeat UV texture coordinates.

Returns:
G_TRUE if GL_ARB_texture_cube_map or GL_IBM_texture_mirrored_repeat extension is supported, G_FALSE otherwise.

GBool Amanith::GOpenglExt::IsMultitextureSupported ( ) const

Check if underlying OpenGL device supports multi-texturing.

Returns:
G_TRUE if GL_ARB_multitexture extension is supported, G_FALSE otherwise.

GBool Amanith::GOpenglExt::IsOcclusionQuerySupported ( ) const

Check if underlying OpenGL device supports occlusion queries.

Returns:
G_TRUE if GL_ARB_occlusion_query extension is supported, G_FALSE otherwise.

GBool Amanith::GOpenglExt::IsRectTextureSupported ( )

Check if underlying OpenGL device supports rectangle textures.

Returns:
G_TRUE if GL_ARB_texture_cube_map extension is supported, G_FALSE otherwise.

GUInt32 Amanith::GOpenglExt::MaxConvolutionHeight ( ) [static]

Return maximum acceptable filter kernel height (0 if no convolution support).

GUInt32 Amanith::GOpenglExt::MaxConvolutionWidth ( ) [static]

Return maximum acceptable filter kernel width (0 if no convolution support).

GUInt32 Amanith::GOpenglExt::MaxRenderBufferSize ( ) [static]

Return the maximum renderbuffer size.

GUInt32 Amanith::GOpenglExt::MaxTextureSize ( ) [static]

Return the maximum width or height of any texture image (without borders).

GUInt32 Amanith::GOpenglExt::MultiSamples ( ) [static]

Get number of multisamples used by render context.

GUInt32 Amanith::GOpenglExt::PowerOfTwo ( const GUInt32 Value ) [static]

Give the power of two value greater (or equal) to a specified value.

void Amanith::GOpenglExt::PrintInfoLog ( GLhandleARB obj )

Print out the information log for a shader object or a program object.

GBool Amanith::GOpenglExt::PrintOglError | ( | const GString & | FileName,
 |  | const GInt32 | Line
 | ) | [static]

Print OpenGL error message, if one.

Print a possible pending OpenGL error. Error message is delivered to the standard error output.
This function uses the glGetError call, to see if there was a pending error. The two parameters are frequently used in conjunction with __FILE__ and __LINE__ macros. Example:

if (Manager->IsArbShadersSupported()) {
    glCompileShaderARB(brickVS);
    // Check for OpenGL errors; in case of error, standard error output will be filled by
    // and extended error message built by PrintOglError function
    if (Manager->PrintOglError(__FILE__, __LINE__))
        return -1;
}
Parameters:
FileName | a string containing the file name that will be appended into error message.
Line | a line number that specifies where the error has been found in source code.
Returns:
G_TRUE if an OpenGL error occurred, false otherwise.

GUInt32 Amanith::GOpenglExt::RedBits ( ) [static]

Get number of bits per red component in color buffers.

GUInt32 Amanith::GOpenglExt::StencilBits ( ) [static]

Get number of stencil bitplanes.

const GStringList & Amanith::GOpenglExt::SupportedFunctions ( ) const

Get the list of supported OpenGL functions over OpenGL 1.1 version.

GInt32 Amanith::GOpenglExt::TextureUnitsCount ( ) [static]

Return the number of texture units of the underlying OpenGL device.

The documentation for this class was generated from the following files:
  • gopenglext.h
  • gopenglext.cpp


Amanith::GOpenglExt Member List

This is the complete list of members for Amanith::GOpenglExt, including all inherited members.

AlphaBits() | Amanith::GOpenglExt | [static]
BlueBits() | Amanith::GOpenglExt | [static]
DepthBits() | Amanith::GOpenglExt | [static]
FBOMaxColorAttachments() | Amanith::GOpenglExt | [static]
GOpenglExt() | Amanith::GOpenglExt |
GreenBits() | Amanith::GOpenglExt | [static]
IsArbProgramsSupported() const | Amanith::GOpenglExt |
IsArbShadersSupported() const | Amanith::GOpenglExt |
IsCubemapSupported() const | Amanith::GOpenglExt |
IsFBOSupported() const | Amanith::GOpenglExt |
IsFunctionSupported(const GString &FunctionName) const | Amanith::GOpenglExt |
IsGLExtensionSupported(const GString &ExtensionName) const | Amanith::GOpenglExt |
IsGLVersionSupported(const GString &Version) const | Amanith::GOpenglExt |
IsGLVersionSupported(const GInt32 MajVers, const GInt32 MinVers) const | Amanith::GOpenglExt |
IsMirroredRepeatSupported() const | Amanith::GOpenglExt |
IsMultitextureSupported() const | Amanith::GOpenglExt |
IsOcclusionQuerySupported() const | Amanith::GOpenglExt |
IsRectTextureSupported() | Amanith::GOpenglExt |
MaxConvolutionHeight() | Amanith::GOpenglExt | [static]
MaxConvolutionWidth() | Amanith::GOpenglExt | [static]
MaxRenderBufferSize() | Amanith::GOpenglExt | [static]
MaxTextureSize() | Amanith::GOpenglExt | [static]
MultiSamples() | Amanith::GOpenglExt | [static]
PowerOfTwo(const GUInt32 Value) | Amanith::GOpenglExt | [static]
PrintInfoLog(GLhandleARB obj) | Amanith::GOpenglExt |
PrintOglError(const GString &FileName, const GInt32 Line) | Amanith::GOpenglExt | [static]
RedBits() | Amanith::GOpenglExt | [static]
StencilBits() | Amanith::GOpenglExt | [static]
SupportedFunctions() const | Amanith::GOpenglExt |
TextureUnitsCount() | Amanith::GOpenglExt | [static]


Amanith::GOpenGLGradientDesc

Amanith::GOpenGLGradientDesc Class Reference

This is an OpenGL-based implementation gradient descriptor class. More...

Inheritance diagram for Amanith::GOpenGLGradientDesc:

Amanith::GGradientDesc List of all members.

Public Member Functions

  • GOpenGLGradientDesc ()
  • ~GOpenGLGradientDesc ()
  • void SetColorKeys (const GDynArray< GKeyValue > &ColorKeys)
  • const GLuint GradientTexture () const

Detailed Description

This is an OpenGL-based implementation gradient descriptor class.

In this implementation, the basic GGradientDesc class has been extended to include reference to some OpenGL textures used to draw the gradient. In addition all color keys components are clamped in the range [0; 1].

Constructor & Destructor Documentation

Amanith::GOpenGLGradientDesc::GOpenGLGradientDesc ( )

Default constructor.

Amanith::GOpenGLGradientDesc::~GOpenGLGradientDesc ( )

Destructor, it deletes created OpenGL textures.

Member Function Documentation

const GLuint Amanith::GOpenGLGradientDesc::GradientTexture ( ) const

Get OpenGL texture handle (valid only for linear gradients and for shader versions of radial and conical gradients).

void Amanith::GOpenGLGradientDesc::SetColorKeys ( const GDynArray< GKeyValue > & ColorKeys ) [virtual]

Set color keys; this overridden implementation claps all color components in the range [0; 1].

Reimplemented from Amanith::GGradientDesc.

The documentation for this class was generated from the following files:
  • gopenglboard.h
  • gopenglstyles.cpp


Amanith::GOpenGLGradientDesc Member List

This is the complete list of members for Amanith::GOpenGLGradientDesc, including all inherited members.

AuxPoint() const | Amanith::GGradientDesc
AuxPointModified() const | Amanith::GGradientDesc
ColorInterpolation() const | Amanith::GGradientDesc
ColorInterpolationModified() const | Amanith::GGradientDesc
ColorKeys() const | Amanith::GGradientDesc
ColorKeysModified() const | Amanith::GGradientDesc
GGradientDesc() Amanith::GGradientDesc
gModified | Amanith::GGradientDesc | [protected]
GOpenGLGradientDesc() Amanith::GOpenGLGradientDesc
GradientTexture() const | Amanith::GOpenGLGradientDesc
InverseMatrix() const | Amanith::GGradientDesc
Matrix() const | Amanith::GGradientDesc
MatrixModified() const | Amanith::GGradientDesc
Modified() const | Amanith::GGradientDesc
Radius() const | Amanith::GGradientDesc
SetAuxPoint(const GPoint2 &Point) | Amanith::GGradientDesc
SetAuxPointModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetColorInterpolation(const GColorRampInterpolation Interpolation) | Amanith::GGradientDesc
SetColorInterpolationModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetColorKeys(const GDynArray< GKeyValue > &ColorKeys) | Amanith::GOpenGLGradientDesc | [virtual]
SetColorKeysModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetMatrix(const GMatrix33 &Matrix) | Amanith::GGradientDesc
SetMatrixModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetRadius(const GReal Radius) | Amanith::GGradientDesc
SetSpreadMode(const GColorRampSpreadMode SpreadMode) | Amanith::GGradientDesc
SetSpreadModeModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetStartPoint(const GPoint2 &Point) | Amanith::GGradientDesc
SetStartPointModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SetType(const GGradientType Type) | Amanith::GGradientDesc
SetTypeModified(const GBool Modified) | Amanith::GGradientDesc | [protected]
SpreadMode() const | Amanith::GGradientDesc
SpreadModeModified() const | Amanith::GGradientDesc
StartPoint() const | Amanith::GGradientDesc
StartPointModified() const | Amanith::GGradientDesc
Type() const | Amanith::GGradientDesc
TypeModified() const | Amanith::GGradientDesc
~GGradientDesc() | Amanith::GGradientDesc | [virtual]


Amanith::GOpenGLPatternDesc

Amanith::GOpenGLPatternDesc Class Reference

This is an OpenGL-based implementation pattern descriptor class. More...

Inheritance diagram for Amanith::GOpenGLPatternDesc:

Amanith::GPatternDesc List of all members.

Public Member Functions

  • GOpenGLPatternDesc ()
  • ~GOpenGLPatternDesc ()
  • void SetImage (const GPixelMap *Image, const GImageQuality Quality)
  • const GLuint PatternTexture () const

Detailed Description

This is an OpenGL-based implementation pattern descriptor class.

In this implementation, the basic GPatternDesc class has been extended to include reference to some OpenGL textures used to draw the pattern.

Constructor & Destructor Documentation

Amanith::GOpenGLPatternDesc::GOpenGLPatternDesc ( )

Default constructor.

Amanith::GOpenGLPatternDesc::~GOpenGLPatternDesc ( )

Destructor, it deletes generated OpenGL texture.

Member Function Documentation

const GLuint Amanith::GOpenGLPatternDesc::PatternTexture ( ) const

Get OpenGL texture handle.

void Amanith::GOpenGLPatternDesc::SetImage | ( | const GPixelMap * | Image,
 |  | const GImageQuality | Quality
 | ) | [virtual]

Set pattern image; in this implementation an OpenGL texture is created, and according to Quality parameter mipmaps could be created too.

Note:
if the Image has non-power-of-two dimensions, then it will be rescaled to the closest power-of-two dimensions. This is needed because tile; rectangular textures, in OpenGL, do not support repeat and reflect tile modes.

Implements Amanith::GPatternDesc.

The documentation for this class was generated from the following files:
  • gopenglboard.h
  • gopenglstyles.cpp


Amanith::GOpenGLPatternDesc Member List

This is the complete list of members for Amanith::GOpenGLPatternDesc, including all inherited members.

gModified | Amanith::GPatternDesc | [protected]
GOpenGLPatternDesc() | Amanith::GOpenGLPatternDesc |
GPatternDesc() | Amanith::GPatternDesc |
InverseMatrix() const | Amanith::GPatternDesc |
LogicalWindow() const | Amanith::GPatternDesc |
LogicalWindowModified() const | Amanith::GPatternDesc |
Matrix() const | Amanith::GPatternDesc |
MatrixModified() const | Amanith::GPatternDesc |
Modified() const | Amanith::GPatternDesc |
PatternTexture() const | Amanith::GOpenGLPatternDesc |
SetImage(const GPixelMap *Image, const GImageQuality Quality) | Amanith::GOpenGLPatternDesc | [virtual]
SetLogicalWindow(const GPoint2 &LowLeft, const GPoint2 &UpperRight) | Amanith::GPatternDesc |
SetLogicalWindowModified(const GBool Modified) | Amanith::GPatternDesc | [protected]
SetMatrix(const GMatrix33 &Matrix) | Amanith::GPatternDesc |
SetMatrixModified(const GBool Modified) | Amanith::GPatternDesc | [protected]
SetTilingMode(const GTilingMode TilingMode) | Amanith::GPatternDesc |
SetTilingModeModified(const GBool Modified) | Amanith::GPatternDesc | [protected]
TilingMode() const | Amanith::GPatternDesc |
TilingModeModified() const | Amanith::GPatternDesc |
~GOpenGLPatternDesc() | Amanith::GOpenGLPatternDesc |
~GPatternDesc() | Amanith::GPatternDesc | [virtual]


Amanith::GPath2D

Amanith::GPath2D Class Reference

This class represents a path, intended as a series of "linked" curves of different flavors. More...

Inheritance diagram for Amanith::GPath2D:

Amanith::GMultiCurve2D Amanith::GCurve2D Amanith::GElement List of all members.

Public Member Functions

  • GPath2D ()
  • GPath2D (const GElement *Owner)
  • ~GPath2D ()
  • void Clear ()
  • GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • GBool IntersectRay (const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const
  • GError Flatten (GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const
  • GReal Variation () const
  • GPoint2 Evaluate (const GReal u) const
  • GVector2 Derivative (const GDerivativeOrder Order, const GReal u) const
  • void DerivativeLR (const GDerivativeOrder Order, const GReal u, GVector2 &LeftDerivative, GVector2 &RightDerivative) const
  • GReal Length (const GReal u0, const GReal u1, const GReal MaxError=2 *G_EPSILON) const
  • GError ParamToSegmentIndex (const GReal Param, GUInt32 &SegmentIndex, GBool &PointShared) const
  • GUInt32 PointsCount () const
  • GError SetPoint (const GUInt32 Index, const GPoint2 &NewValue)
  • GPoint2 Point (const GUInt32 Index) const
  • GError AppendCurve (const GCurve2D &Curve)
  • GUInt32 SegmentsCount () const
  • GError SegmentType (const GUInt32 Index, GClassID &Type) const
  • GError Segment (const GUInt32 Index, GCurve2D &Curve) const
  • const GCurve2D * Segment (const GUInt32 Index) const
  • GError SetSegment (const GUInt32 Index, const GCurve2D &Curve)
  • GError RemoveSegment (const GUInt32 Index, GPath2D *RightPath)
  • GBool GlobalParameter (GReal &Result, const GReal PathPos, const GReal MaxError=2 *G_EPSILON, const GUInt32 MaxIterations=100) const
  • GError TwoWaysCut (const GReal u0, const GReal u1, GCurve2D *OutCurve) const
  • GBool IsClosed () const
  • GBool IsOpen () const
  • void ClosePath (const GBool MoveStartPoint=G_FALSE)
  • void OpenPath ()
  • GError OpenPath (const GReal Parameter)
  • void XForm (const GMatrix23 &Matrix)
  • void XForm (const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GError BaseClone (const GElement &Source)
  • GUInt32 PointsCountAndLocate (const GUInt32 GlobalIndex, GUInt32 &SegmentIndex, GUInt32 &LocalIndex, GBool &Shared) const
  • GReal CalcLength (const GReal StartParam, const GReal EndParam, const GReal MaxError=2 *G_EPSILON) const
  • GBool PushBackCurve (GCurve2D *Curve)
  • GBool PushFrontCurve (GCurve2D *Curve)
  • GError DoGetPointParameter (const GUInt32 Index, GReal &Parameter) const
  • GError DoSetPointParameter (const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)
  • GError DoRemovePoint (const GUInt32 Index)
  • GError DoAddPoint (const GReal Parameter, const GPoint2 *NewPoint, GUInt32 &Index, GBool &AlreadyExists)
  • GError DoCut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const
  • GError FirstPointInSegment (const GUInt32 SegmentIndex, GUInt32 &PointIndex) const
  • GError AppendSegment (const GCurve2D &Curve)
  • GError AppendPath (const GPath2D &Path)

Detailed Description

This class represents a path, intended as a series of "linked" curves of different flavors.

A parametric path is a parametric 2D shape. The shape is made of curves (GCurve2D classes, so also GMultiCurve2D classes are included)) linked together. As for curves, a path has a parameter domain. Giving a domain value, this class can provide several informations, like derivatives, curvature, length and so on. Here's an example that build a closed path using two Bezier traits and one BSpline trait:

    // temporary array of points, used to build curve segments
    GDynArray<GPoint2> pts;

    // Bezier segment, domain [0; 0.2]
    pts.push_back(GPoint2(2, 8));
    pts.push_back(GPoint2(5, 13));
    pts.push_back(GPoint2(8, 11));
    bezCurve.SetPoints(pts);
    bezCurve.SetDomain(0, 0.2);
    path->AppendSegment(bezCurve);

    // another Bezier segment, domain [0.2; 0.5]
    pts.clear();
    pts.push_back(GPoint2(8, 11));
    pts.push_back(GPoint2(11, 15));
    pts.push_back(GPoint2(15, 10));
    pts.push_back(GPoint2(13, 5));
    pts.SetPoints(pts);
    pts.SetDomain(0.2, 0.5);
    path->AppendSegment(bezCurve);

    // third degree BSpline segment, domain [0.5; 1]
    pts.clear();
    pts.push_back(GPoint2(13, 5));
    pts.push_back(GPoint2(5, 3));
    pts.push_back(GPoint2(10, 8));
    pts.push_back(GPoint2(8, 3));
    pts.SetPoints(pts, 3, 0.5, 1);
    path->AppendSegment(bsplineCurve);

    // close the path
    path->ClosePath();

As for curves, a path can be flattened using a maximum variation parameter (squared chordal distance). This can be useful for an OpenGL rendering. Every path point can be moved and changed, furthermore points "on path" can be added too. At the design level, GPath2D class has been derived from GMultiCurve2D class because of the non differentiable global parameter (at shared points), so calls like DerivativeLR, TangentLR and so on are meaningful. The main differences are:

  • AddPoint() method (the one that permit adding points outside domain) is valid if and only if first/last path curve segment is a GMultiCurve2D.

  • RemovePoint() method is not valid. This is due to the fact that removing a (control) point of some kind of curves (for example B-Spline and Bezier) has no sense in the general case.

  • PointParameter() method is not supported. This is due to the fact that for some kind of curves (for example B-Spline and Bezier) have not a direct correspondence between control points and domain parameter.

  • SetPointParameter() method is not supported for the same reason of PointParameter().

Constructor & Destructor Documentation

Amanith::GPath2D::GPath2D ( )

Default constructor, build an empty path.

Amanith::GPath2D::GPath2D ( const GElement * Owner )

Constructor with owner (kernel) specification, build an empty path.

Amanith::GPath2D::~GPath2D ( )

Destructor, free all curve segments.

Member Function Documentation

GError Amanith::GPath2D::AppendCurve ( const GCurve2D & Curve )

Append a new curve segment at the begin or at the end of this path. The specified curve can be also a GPath2D.

The path must be open, this operation is not valid for closed paths. If the specified curve is a path, then it must be open too, elsewhere the operation is not valid. To make a valid append, the passed curve must satisfy these requirements:

  • Append to back:
    • Curve's domain lower bound must be equal (under G_EPSILON precision) to the path's domain upper bound.
    • Curve's start point, must be geometrically equal (under G_EPSILON precision) to the path end point.

  • Append to front:
    • Curve's domain upper bound must be equal (under G_EPSILON precision) to the path's domain lower bound.
    • Curve's end point, must be geometrically equal (under G_EPSILON precision) to the path start point.

Parameters:
Curve the curve segment to append. It must be made of at least 2 points, else G_INVALID_PARAMETER will be returned. This curve can be also a path.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if the path is empty, the specified curve is always added, and the path domain will be set to respect the specified curve domain. Implementation first check if the curve is a GPath2D; if so AppendPath is used, else AppendSegment is used.

GError Amanith::GPath2D::AppendPath ( const GPath2D & Path ) [protected]

Append a path at the begin or at the end of this path.

Both paths must be open, this operation is not valid for closed paths. To make a valid append, the passed path must satisfy these requirements:

  • Append to back:
    • Path's domain lower bound must be equal (under G_EPSILON precision) to this path's domain upper bound.
    • Path's start point, must be geometrically equal (under G_EPSILON precision) to this path end point.

  • Append to front:
    • Path's domain upper bound must be equal (under G_EPSILON precision) to this path's domain lower bound.
    • Path's end point, must be geometrically equal (under G_EPSILON precision) to this path start point.

Parameters:
Path the path to append. It must be made of at least one curve segment.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if the path is empty, Path is always added (in this case a physical copy is called).

GError Amanith::GPath2D::AppendSegment ( const GCurve2D & Curve ) [protected]

Append a new curve segment at the begin or at the end of this path.

The path must be open, this operation is not valid for closed paths. To make a valid append, the passed curve must satisfy these requirements:

  • Append to back:
    • Curve's domain lower bound must be equal (under G_EPSILON precision) to the path's domain upper bound.
    • Curve's start point, must be geometrically equal (under G_EPSILON precision) to the path end point.

  • Append to front:
    • Curve's domain upper bound must be equal (under G_EPSILON precision) to the path's domain lower bound.
    • Curve's end point, must be geometrically equal (under G_EPSILON precision) to the path start point.

Parameters:
Curve the curve segment to append. It must be made of at least 2 points, else G_INVALID_PARAMETER will be returned.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if the path is empty, the segment is always added, and the path domain will be set to respect the specified segment domain.

GError Amanith::GPath2D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function.

Reimplemented from Amanith::GMultiCurve2D.

GReal Amanith::GPath2D::CalcLength | ( | const GReal | StartParam,
 |  | const GReal | EndParam,
 |  | const GReal | MaxError = 2 *G_EPSILON
 | ) | const [protected]

Calculate path length for the specified domain sub-interval, with the assumption that StartParam <= EndParam.

Parameters:
StartParam | the lower bound of interested interval
EndParam | the upper bound of interested interval
MaxError | the maximum relative error (precision) at witch we wanna calculate length.

const GClassID& Amanith::GPath2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiCurve2D.

void Amanith::GPath2D::Clear ( ) [virtual]

Clear the entire path, remove all curve segments and set an empty domain.

Reimplemented from Amanith::GCurve2D.

void Amanith::GPath2D::ClosePath ( const GBool MoveStartPoint = G_FALSE )

Close the path, moving an end point to the other one.

GVector2 Amanith::GPath2D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate path derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve2D.

void Amanith::GPath2D::DerivativeLR | ( | const GDerivativeOrder | Order,
 |  | const GReal | u,
 |  | GVector2 & | LeftDerivative,
 |  | GVector2 & | RightDerivative
 | ) | const [virtual]

Return the path derivative calculated at specified domain parameter. This method differs from the one of base GCurve2D class in the number of returned values. This is due to the possibility that the path is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate path derivative.
LeftDerivative | the left derivative.
RightDerivative | the right derivative.
Note:
specified domain parameter is clamped by domain interval.

Reimplemented from Amanith::GMultiCurve2D.

const GClassID& Amanith::GPath2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiCurve2D.

GError Amanith::GPath2D::DoAddPoint | ( | const GReal | Parameter,
 |  | const GPoint2 * | NewPoint,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Add a new (key)point for the path.

Parameters:
Parameter | the domain parameter where to add the (key)point.
NewPoint | if not specified (NULL value) the point is created on path. In this case the specified domain Parameter must reside completely inside the domain, else an G_OUT_OF_RANGE error is returned. If Newpoint is specified (non NULL) the point is created also outside domain range.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | a G_TRUE value means that the point has been created at a domain position already occupied by another (key)point. In this case the already existing point is overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

Implements Amanith::GMultiCurve2D.

GError Amanith::GPath2D::DoCut | ( | const GReal | u,
 |  | GCurve2D * | RightCurve,
 |  | GCurve2D * | LeftCurve
 | ) | const [protected, virtual]

Path subdivision.

Cuts the path at specified parameter, and return left and right path arcs.

Parameters:
u | domain parameter specifying where to cut the path.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the path domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GPath2D classes (so cast is type-safe).

Implements Amanith::GCurve2D.

GError Amanith::GPath2D::DoGetPointParameter | ( | const GUInt32 | Index,
 |  | GReal & | Parameter
 | ) | const [protected, virtual]

Get domain parameter corresponding to specified (key)point index. Index is ensured to be valid. This method must be implemented by all derived classes.

Parameters:
Index | the point index, is ensured to be always valid.
Parameter | the outputted domain parameter, corresponding to the specified (key)point index.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve2D.

GError Amanith::GPath2D::DoRemovePoint ( const GUInt32 Index ) [protected, virtual]

Remove a (key)point from the curve. Index is ensured to be valid and we are sure that after removing we'll have (at least) a minimal (2-(key)points made) multi-curve. This method must be implemented by all derived classes.

Parameters:
Index the index of (key)point to be removed. Note that this value is ensured to be always valid.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve2D.

GError Amanith::GPath2D::DoSetPointParameter | ( | const GUInt32 | Index,
 |  | const GReal | NewParamValue,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Set domain parameter corresponding to specified (key)point index. The final effect is that a (key)point is moved from its domain position to another domain position. This method must be implemented by all derived classes.

Parameters:
Index | the point index, is ensured to be always valid.
NewParamValue | the new domain parameter, where to move the specified (key)point. It must be outside current domain.
NewIndex | the new position (internal index) occupied by the moved (key)point. This method must output this value.
AlreadyExists | this method must write to this flag a G_TRUE value if the point has been moved in a domain position already occupied by another (key)point. In this case the already existing point must be overridden by the moved point.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve2D.

GPoint2 Amanith::GPath2D::Evaluate ( const GReal u ) const [virtual]

Return the path value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve2D.

GError Amanith::GPath2D::FirstPointInSegment | ( | const GUInt32 | SegmentIndex,
 |  | GUInt32 & | PointIndex
 | ) | const [protected]

Given a segment index, returns the global point-index of the first point of the specified segment.

GError Amanith::GPath2D::Flatten | ( | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint = G_TRUE
 | ) | const [virtual]

Flats the path specifying a max error/variation (squared chordal distance).

Parameters:
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.

Implements Amanith::GCurve2D.

GBool Amanith::GPath2D::GlobalParameter | ( | GReal & | Result,
 |  | const GReal | PathPos,
 |  | const GReal | MaxError = 2 *G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [virtual]

Giving CurvePos = Length(t), this function solves for t = Inverse(Length(s))

This function uses the Newton method to find the numerical root solution. This method has a quadratic convergence.

Parameters:
Result | the solution, the domain parameter that correspond to the specified position on path.
PathPos | the position along the path track.
MaxError | the wanted result precision, it must be a positive value. The less this parameter is, the more iteration have to be done by this method.
MaxIterations | the number of max iterations. If the specified MaxError has not been reached in MaxIterations iterations, this method exits.
Returns:
G_TRUE if solution has been found (respecting MaxError parameter) before MaxIterations iterations. G_FALSE otherwise.
Note:
If PathPos is less than 0, the lower bound of domain in returned. If PathPos is greater than total curve length, then the upper bound of domain is returned.

Reimplemented from Amanith::GCurve2D.

GBool Amanith::GPath2D::IntersectRay | ( | const GRay2 & | NormalizedRay,
 |  | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision = G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [virtual]

Intersect the path with a ray, and returns a list of intersections.

Parameters:
NormalizedRay | a normalized ray used for intersection test. If the ray has not been normalized incorrect results are possible.
Intersections | every found intersection will be appended to this array. Each intersection is a 2D vector; it has at position 0 the curve parameter (domain) value corresponding to the intersection, and at position 1 the ray parameter value corresponding to the intersection.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution. If the current solution calculus does not reach the specified Precision within MaxIterations iterations, the current solution calculus is stopped, the solution is appended into output array, and calculus go for the next found solution. The more this value is, the more is the accuracy of each solution (and the more is the time taken from this method).

Implements Amanith::GCurve2D.

GBool Amanith::GPath2D::IsClosed ( ) const

Return if the path is closed.

GBool Amanith::GPath2D::IsOpen ( ) const

Return if the path is open.

GReal Amanith::GPath2D::Length | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | const GReal | MaxError = 2 *G_EPSILON
 | ) | const [virtual]

Returns the length of the path between the 2 specified domain parameter values.

Formally, a length of a differentiable curve segment is the finite integral of first derivative module, over the desired interval:

This method loops over all interested curve segments, and sums partial results.

Parameters:
u0 | the lower bound of interested interval.
u1 | the upper bound of interested interval.
MaxError | the maximum relative error (precision) at witch we wanna calculate length.
Returns:
The length of path, calculated in the domain interval [u0; u1].
Note:
Before integration, the specified interval is checked and clamped to be be valid for this path domain.

Reimplemented from Amanith::GCurve2D.

GError Amanith::GPath2D::OpenPath ( const GReal Parameter )

Open the path at a specified domain parameter.

The behavior is to open the path at specified parameter. Possible cases are:

  • Parameter correspond to StartDomain() or EndDomain(): in this case path will be opened without any modifications.

  • Parameter corresponds to an already existing point: in this case path will be opened and only internal segments domains will be changed; path domain will remain unchanged.

  • Parameter do not correspond to any already existing point: in this case a point will be added on path, and only internal segments domains will be changed; path domain will remain unchanged. The path will result to have a one more segment and to be opened.

Example:

    // temporary array of points, used to build curve segments
    GDynArray<GPoint2> pts;

    // a new brand empty path
    GPath2D path;

    // add a Bezier segment, domain [0.0; 30.0]
    pts.push_back(GPoint2(2, 8));
    pts.push_back(GPoint2(5, 13));
    pts.push_back(GPoint2(8, 11));
    bezCurve.SetPoints(pts);
    bezCurve.SetDomain(0, 30.0);
    path->AppendSegment(bezCurve);
    // close the path
    path->ClosePath();

    // lets open the path at domain parameter 10.0; note that this value do not correspond to any existing point
    gPath.OpenPath(10.0);

    // now the path will have a domain of [0.0; 30.0] and consist of 2 Bezier segment
    GReal dStart = path.DomainStart();  // dStart will be 0.0
    GReal dEnd = path.DomainEnd();  // dEnd will be 30.0
    GUInt32 segsCount = path.SegmentsCount();  // segsCount will be 2
Parameters:
Parameter domain parameter where to open this path. It must be inside current domain.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

void Amanith::GPath2D::OpenPath ( )

Open the path without modifying it.

GError Amanith::GPath2D::ParamToSegmentIndex | ( | const GReal | Param,
 |  | GUInt32 & | SegmentIndex,
 |  | GBool & | PointShared
 | ) | const

Returns the total length of the curve. It uses Length() function passing it the whole domain as interval.

Given a global (domain) parameter value, extract its relative relative segment index.

Parameters:
Param | the domain parameter we wanna get the segment index; it must be valid for domain range, else a G_OUT_OF_RANGE error will be returned.
SegmentIndex | the segment index that corresponds to the specified domain parameter value.
PointShared | it'll be set to G_TRUE if the specified domain parameter value corresponds to a shared path point (a point that belongs to 2 consecutive curve segments).
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GPoint2 Amanith::GPath2D::Point ( const GUInt32 Index ) const [virtual]

Get a path point.

Parameters:
Index the index of point wanna get; it must be valid, else a point with infinitive components is returned.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

Implements Amanith::GCurve2D.

GUInt32 Amanith::GPath2D::PointsCount ( ) const [virtual]

Returns number of "global" points of the path (typically control points).

Implements Amanith::GCurve2D.

GUInt32 Amanith::GPath2D::PointsCountAndLocate | ( | const GUInt32 | GlobalIndex,
 |  | GUInt32 & | SegmentIndex,
 |  | GUInt32 & | LocalIndex,
 |  | GBool & | Shared
 | ) | const [protected]

Return the number of "global" points, and curve index relative to the specified "global" index.

GBool Amanith::GPath2D::PushBackCurve ( GCurve2D * Curve ) [protected]

Push back a curve into internal array, taking care that curve is made of at least 2 points.

GBool Amanith::GPath2D::PushFrontCurve ( GCurve2D * Curve ) [protected]

Push back a curve into internal array, taking care that curve is made of at least 2 points.

GError Amanith::GPath2D::RemoveSegment | ( | const GUInt32 | Index,
 |  | GPath2D * | RightPath
 | ) |

Remove a curve segment from this path.

Parameters:
Index | he index of segment we wanna delete. It must be valid.
RightPath | an optional path that will contain the right "part" of split path. This parameter has sense if and only if the original path is open.
Note:
If the path is closed RightPath has no sense, and it won't be touched.

const GCurve2D * Amanith::GPath2D::Segment ( const GUInt32 Index ) const

Get a pointer to a curve segment maintained by this path. Note that this pointer is constant, so you can use only constant methods of the returned segment.

Parameters:
Index the index of segment we wanna get the copy of. It must be valid, else a NULL pointer will be returned.

GError Amanith::GPath2D::Segment | ( | const GUInt32 | Index,
 |  | GCurve2D & | Curve
 | ) | const

Get a copy of a curve segment.

Parameters:
Index | the index of segment we wanna get the copy of. It must be valid.
Curve | the output segment, that will contain the copy of internal Index-th curve segment.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
implementation calls Curve.CopyFrom() function.

GUInt32 Amanith::GPath2D::SegmentsCount ( ) const

Return the number of curve segments.

GError Amanith::GPath2D::SegmentType | ( | const GUInt32 | Index,
 |  | GClassID & | Type
 | ) | const

Get the type of Index-th curve segment.

Parameters:
Index | the index of segment that we wanna get the type of; it must be valid.
Type | the class descriptor of the requested segment.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GPath2D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set path domain.

Reimplemented from Amanith::GCurve2D.

GError Amanith::GPath2D::SetPoint | ( | const GUInt32 | Index,
 |  | const GPoint2 & | NewValue
 | ) | [virtual]

Set a path point to the specified new value.

Parameters:
Index | the index of point wanna set, must be valid.
NewValue | the point's new value.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

Implements Amanith::GCurve2D.

GError Amanith::GPath2D::SetSegment | ( | const GUInt32 | Index,
 |  | const GCurve2D & | Curve
 | ) |

Replace/set a curve segment (already existing inside path) with a new one specified.

Parameters:
Index | Index the index of segment we wanna replace/set. It must be valid.
Curve | the new curve segment. This curve MUST have the same domain of the existing segment, and MUST have the same (geometrically) StartPoint() and EndPoint().
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
Curve can be also a GPath2D class.

GError Amanith::GPath2D::TwoWaysCut | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | GCurve2D * | OutCurve
 | ) | const

Cuts a path slice corresponding to specified domain interval, and return the path arc.

If the path is closed, this cut operation is not symmetrical, in the sense that cutting the domain subinterval [a; b] is not the same as cutting domain subinterval [b; a]. If the path is open, this call is equivalent to Cut(u0, u1, OutCurve) call.

Parameters:
u0 | lower domain parameter specifying where to begin to cut the path.
u1 | upper domain parameter specifying where to end to cut the path.
OutCurve | the path arc generated by cutting operation.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
specified domain interval must be a valid interval for this path. The returned path will be ensured to be open.

GReal Amanith::GPath2D::Variation ( ) const [virtual]

Get variation (squared chordal distance) in the current domain range.

Implements Amanith::GCurve2D.

void Amanith::GPath2D::XForm | ( | const GMatrix33 & | Matrix,
 |  | const GBool | DoProjection = G_TRUE
 | ) | [virtual]

Apply full transformation to all curve segments.

Parameters:
Matrix | a 3x3 matrix, specifying the transformation.
DoProjection | if G_TRUE the projective transformation (described by the last row vector of matrix) will be done. In this case all transformed vertexes will be divided by the last W component. If G_FALSE only the affine portion will be used for transformation, and no projective division will be executed.

Reimplemented from Amanith::GCurve2D.

void Amanith::GPath2D::XForm ( const GMatrix23 & Matrix ) [virtual]

Apply an affine transformation to all curve segments.

Parameters:
Matrix a 2x3 matrix, specifying the affine transformation.
Note:
the leftmost 2x2 matrix contains the rotation/scale portion, the last column vector contains the translation.

Reimplemented from Amanith::GCurve2D.

The documentation for this class was generated from the following files:
  • gpath2d.h
  • gpath2d.cpp


Amanith::GPath2D Member List

This is the complete list of members for Amanith::GPath2D, including all inherited members.

AddPoint(const GReal Parameter, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve2D
AddPoint(const GReal Parameter, const GPoint2 &Point, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve2D
AppendCurve(const GCurve2D &Curve) | Amanith::GPath2D
AppendPath(const GPath2D &Path) | Amanith::GPath2D | [protected]
AppendSegment(const GCurve2D &Curve) | Amanith::GPath2D | [protected]
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GPath2D | [protected, virtual]
CalcLength(const GReal StartParam, const GReal EndParam, const GReal MaxError=2 *G_EPSILON) const | Amanith::GPath2D | [protected]
ClassID() const | Amanith::GPath2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GPath2D | [virtual]
ClosePath(const GBool MoveStartPoint=G_FALSE) | Amanith::GPath2D
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Curvature(const GReal u) const | Amanith::GCurve2D
CurvatureLR(const GReal u, GReal &LeftCurvature, GReal &RightCurvature) const | Amanith::GMultiCurve2D
Cut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GCurve2D
Cut(const GReal u0, const GReal u1, GCurve2D *OutCurve) const | Amanith::GCurve2D
CutByLength(const GReal CurvePos, GCurve2D *RightCurve, GCurve2D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve2D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GPath2D | [virtual]
DerivativeLR(const GDerivativeOrder Order, const GReal u, GVector2 &LeftDerivative, GVector2 &RightDerivative) const | Amanith::GPath2D | [virtual]
DerivedClassID() const | Amanith::GPath2D | [virtual]
DoAddPoint(const GReal Parameter, const GPoint2 *NewPoint, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GPath2D | [protected, virtual]
DoCut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GPath2D | [protected, virtual]
DoGetPointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GPath2D | [protected, virtual]
Domain() const | Amanith::GCurve2D
DomainEnd() const | Amanith::GCurve2D
DomainStart() const | Amanith::GCurve2D
DoRemovePoint(const GUInt32 Index) | Amanith::GPath2D | [protected, virtual]
DoSetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GPath2D | [protected, virtual]
EndPoint() const | Amanith::GCurve2D
Evaluate(const GReal u) const | Amanith::GPath2D | [virtual]
FirstPointInSegment(const GUInt32 SegmentIndex, GUInt32 &PointIndex) const | Amanith::GPath2D | [protected]
Flatten(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const | Amanith::GPath2D | [virtual]
GCurve2D() Amanith::GCurve2D
GCurve2D(const GElement *Owner) | Amanith::GCurve2D
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GlobalParameter(GReal &Result, const GReal PathPos, const GReal MaxError=2 *G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GPath2D | [virtual]
GMultiCurve2D() Amanith::GMultiCurve2D
GMultiCurve2D(const GElement *Owner) | Amanith::GMultiCurve2D
GPath2D() Amanith::GPath2D
GPath2D(const GElement *Owner) | Amanith::GPath2D
IntersectRay(const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GPath2D | [virtual]
IsClosed() const | Amanith::GPath2D
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsOpen() const | Amanith::GPath2D
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Length(const GReal u0, const GReal u1, const GReal MaxError=2 *G_EPSILON) const | Amanith::GPath2D | [virtual]
Normal(const GReal u) const | Amanith::GCurve2D
NormalLR(const GReal u, GVector2 &LeftNormal, GVector2 &RightNormal) const | Amanith::GMultiCurve2D
OpenPath() Amanith::GPath2D
OpenPath(const GReal Parameter) | Amanith::GPath2D
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
ParamToSegmentIndex(const GReal Param, GUInt32 &SegmentIndex, GBool &PointShared) const | Amanith::GPath2D
Point(const GUInt32 Index) const | Amanith::GPath2D | [virtual]
PointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GMultiCurve2D
PointsCount() const | Amanith::GPath2D | [virtual]
PointsCountAndLocate(const GUInt32 GlobalIndex, GUInt32 &SegmentIndex, GUInt32 &LocalIndex, GBool &Shared) const | Amanith::GPath2D | [protected]
PushBackCurve(GCurve2D *Curve) | Amanith::GPath2D | [protected]
PushFrontCurve(GCurve2D *Curve) | Amanith::GPath2D | [protected]
RemovePoint(const GUInt32 Index) | Amanith::GMultiCurve2D
RemoveSegment(const GUInt32 Index, GPath2D *RightPath) | Amanith::GPath2D
Rotate(const GPoint2 &Pivot, const GReal RadAmount) | Amanith::GCurve2D | [virtual]
Scale(const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount) | Amanith::GCurve2D | [virtual]
Segment(const GUInt32 Index, GCurve2D &Curve) const | Amanith::GPath2D
Segment(const GUInt32 Index) const | Amanith::GPath2D
SegmentsCount() const | Amanith::GPath2D
SegmentType(const GUInt32 Index, GClassID &Type) const | Amanith::GPath2D
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GPath2D | [virtual]
SetEndPoint(const GPoint2 &NewValue) | Amanith::GCurve2D
SetPoint(const GUInt32 Index, const GPoint2 &NewValue) | Amanith::GPath2D | [virtual]
SetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GMultiCurve2D
SetSegment(const GUInt32 Index, const GCurve2D &Curve) | Amanith::GPath2D
SetStartPoint(const GPoint2 &NewValue) | Amanith::GCurve2D
Speed(const GReal u) const | Amanith::GCurve2D
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve2D | [protected, static]
SpeedLR(const GReal u, GReal &LeftSpeed, GReal &RightSpeed) const | Amanith::GMultiCurve2D
StartPoint() const | Amanith::GCurve2D
Tangent(const GReal u) const | Amanith::GCurve2D
TangentLR(const GReal u, GVector2 &LeftTangent, GVector2 &RightTangent) const | Amanith::GMultiCurve2D
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D
Translate(const GVector2 &Translation) | Amanith::GCurve2D | [virtual]
TwoWaysCut(const GReal u0, const GReal u1, GCurve2D *OutCurve) const | Amanith::GPath2D
Variation() const | Amanith::GPath2D | [virtual]
XForm(const GMatrix23 &Matrix) | Amanith::GPath2D | [virtual]
XForm(const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE) | Amanith::GPath2D | [virtual]
~GCurve2D() | Amanith::GCurve2D | [virtual]
~GElement() | Amanith::GElement | [virtual]
~GMultiCurve2D() | Amanith::GMultiCurve2D | [virtual]


Amanith::GPath2DProxy

Amanith::GPath2DProxy Class Reference

This class implements a GPath2D proxy (provider). More...

Inheritance diagram for Amanith::GPath2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GPath2D proxy (provider).

This proxy provides the creation of GPath2D class instances.

Member Function Documentation

const GClassID& Amanith::GPath2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GPath2DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GPath2D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GPath2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gpath2d.h


Amanith::GPath2DProxy Member List

This is the complete list of members for Amanith::GPath2DProxy, including all inherited members.

ClassID() const | Amanith::GPath2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GPath2DProxy | [virtual]
DerivedClassID() const | Amanith::GPath2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GPatternDesc

Amanith::GPatternDesc Class Reference

This class maintains informations used to describe a graphic pattern. More...

Inheritance diagram for Amanith::GPatternDesc:

Amanith::GOpenGLPatternDesc List of all members.

Public Member Functions

  • GPatternDesc ()
  • virtual ~GPatternDesc ()
  • const GAABox2 & LogicalWindow () const
  • void SetLogicalWindow (const GPoint2 &LowLeft, const GPoint2 &UpperRight)
  • const GTilingMode TilingMode () const
  • void SetTilingMode (const GTilingMode TilingMode)
  • const GMatrix33 & Matrix () const
  • const GMatrix33 & InverseMatrix () const
  • void SetMatrix (const GMatrix33 &Matrix)
  • virtual void SetImage (const GPixelMap *Image, const GImageQuality Quality)=0
  • GBool TilingModeModified () const
  • GBool MatrixModified () const
  • GBool LogicalWindowModified () const
  • GBool Modified () const

Protected Member Functions

  • void SetTilingModeModified (const GBool Modified)
  • void SetMatrixModified (const GBool Modified)
  • void SetLogicalWindowModified (const GBool Modified)

Protected Attributes

  • GUInt32 gModified

Detailed Description

This class maintains informations used to describe a graphic pattern.

Every used graphic pattern has an associated GPatternDesc class instance. A pattern is used to fill or stroke an object using a pre-defined graphic object (a bitmap) which can be replicated (tiled) at fixed intervals in x and y to cover the areas to be painted. This class describes completely a graphic pattern. Maintained informations are:

  • Tiling mode: defines possible methods for defining colors for source pixels that lie outside the bounds of the source image. Possible values are: PAD (specifies that pixels outside the bounds of the source image should be taken as having the same color as the closest edge pixel of the source image), REPEAT (specifies that source image should be repeated indefinitely in all directions) and REFLECT (specifies that source image should be reflected indefinitely in all directions).

  • Logical window: it defines a reference rectangle somewhere on the infinite canvas. The tiling theoretically extends a series of such rectangles to infinity in X and Y (positive and negative).
  • Matrix: an optional 3x3 matrix, used to transform the pattern into another coordinates system.

Constructor & Destructor Documentation

Amanith::GPatternDesc::GPatternDesc ( )

Constructor, it builds an empty pattern.

Amanith::GPatternDesc::~GPatternDesc ( ) [virtual]

Destructor.

Member Function Documentation

const GMatrix33& Amanith::GPatternDesc::InverseMatrix ( ) const

Get inverse pattern matrix.

const GAABox2& Amanith::GPatternDesc::LogicalWindow ( ) const

Get pattern logical window.

GBool Amanith::GPatternDesc::LogicalWindowModified ( ) const

G_TRUE if pattern logical window has been modified from last time it was used, else G_FALSE.

const GMatrix33& Amanith::GPatternDesc::Matrix ( ) const

Get pattern matrix, used to transform the pattern into another coordinates system.

GBool Amanith::GPatternDesc::MatrixModified ( ) const

G_TRUE if pattern matrix has been modified from last time it was used, else G_FALSE.

GBool Amanith::GPatternDesc::Modified ( ) const

G_TRUE if at least one pattern attribute has been modified from last time it was used, else G_FALSE.

virtual void Amanith::GPatternDesc::SetImage | ( | const GPixelMap * | Image,
 |  | const GImageQuality | Quality
 | ) | [pure virtual]

Set pattern image/bitmap.

Parameters:
Image | the source bitmap, it can be in any color depth.
Quality | the image quality that must be used when drawing is done using this pattern.
Note:
every derived classes MUST implement this method.

Implemented in Amanith::GOpenGLPatternDesc.

void Amanith::GPatternDesc::SetLogicalWindow | ( | const GPoint2 & | LowLeft,
 |  | const GPoint2 & | UpperRight
 | ) |

Set pattern logical window.

void Amanith::GPatternDesc::SetLogicalWindowModified ( const GBool Modified ) [protected]

Set logical window modified flag.

void Amanith::GPatternDesc::SetMatrix ( const GMatrix33 & Matrix )

Set pattern matrix, used to transform the pattern into another coordinates system.

Note:
the specified new Matrix MUST NOT be singular; in this case the new Matrix wont be set.

void Amanith::GPatternDesc::SetMatrixModified ( const GBool Modified ) [protected]

Set matrix modified flag.

void Amanith::GPatternDesc::SetTilingMode ( const GTilingMode TilingMode )

Set tiling mode.

void Amanith::GPatternDesc::SetTilingModeModified ( const GBool Modified ) [protected]

Set tiling mode modified flag.

const GTilingMode Amanith::GPatternDesc::TilingMode ( ) const

Get tiling mode.

GBool Amanith::GPatternDesc::TilingModeModified ( ) const

G_TRUE if pattern tiling mode has been modified from last time it was used, else G_FALSE.

Member Data Documentation

GUInt32 Amanith::GPatternDesc::gModified [protected]

Modified bit flags.

The documentation for this class was generated from the following files:
  • gdrawstyle.h
  • gdrawstyle.cpp


Amanith::GPatternDesc Member List

This is the complete list of members for Amanith::GPatternDesc, including all inherited members.

gModified | Amanith::GPatternDesc | [protected]
GPatternDesc() | Amanith::GPatternDesc |
InverseMatrix() const | Amanith::GPatternDesc |
LogicalWindow() const | Amanith::GPatternDesc |
LogicalWindowModified() const | Amanith::GPatternDesc |
Matrix() const | Amanith::GPatternDesc |
MatrixModified() const | Amanith::GPatternDesc |
Modified() const | Amanith::GPatternDesc |
SetImage(const GPixelMap *Image, const GImageQuality Quality)=0 | Amanith::GPatternDesc | [pure virtual]
SetLogicalWindow(const GPoint2 &LowLeft, const GPoint2 &UpperRight) | Amanith::GPatternDesc |
SetLogicalWindowModified(const GBool Modified) | Amanith::GPatternDesc | [protected]
SetMatrix(const GMatrix33 &Matrix) | Amanith::GPatternDesc |
SetMatrixModified(const GBool Modified) | Amanith::GPatternDesc | [protected]
SetTilingMode(const GTilingMode TilingMode) | Amanith::GPatternDesc |
SetTilingModeModified(const GBool Modified) | Amanith::GPatternDesc | [protected]
TilingMode() const | Amanith::GPatternDesc |
TilingModeModified() const | Amanith::GPatternDesc |
~GPatternDesc() | Amanith::GPatternDesc | [virtual]


Amanith::GPixelMap

Amanith::GPixelMap Class Reference

A 2D cross-platform bitmap class. More...

Inheritance diagram for Amanith::GPixelMap:

Amanith::GElement List of all members.

Public Member Functions

  • GPixelMap ()
  • GPixelMap (const GElement *Owner)
  • ~GPixelMap ()
  • GInt32 Width () const
  • GInt32 Height () const
  • GPixelFormat PixelFormat () const
  • GInt32 PixelsCount () const
  • GInt32 PaletteEntriesCount () const
  • GInt32 BitsPerPixel () const
  • GInt32 BytesPerPixel () const
  • GInt32 BytesPerLine () const
  • GInt32 Size () const
  • GInt32 PaletteSize () const
  • GBool HasAlphaChannel () const
  • GBool IsPaletted () const
  • GBool IsGrayScale () const
  • GBool IsHighColor () const
  • GBool IsTrueColor () const
  • void Clear (const GUInt32 &Index_Or_A8R8G8B8)
  • GError Pixel (const GUInt32 X, const GUInt32 Y, GUInt32 &Index_Or_A8R8G8B8) const
  • GError SetPixel (const GUInt32 X, const GUInt32 Y, const GUInt32 Index_Or_A8R8G8B8)
  • GError ReverseChannels (const GBool ReverseAlphaToo=G_FALSE)
  • GError ReverseChannels (GPixelMap &ReversedImage, const GBool ReverseAlphaToo=G_FALSE) const
  • GError Flip (const GBool Horizontal, const GBool Vertical)
  • GError Negative ()
  • GError Negative (GPixelMap &NegativePixelMap) const
  • GError Resize (const GUInt32 NewWidth, const GUInt32 NewHeight, const GResizeOp ResizeOp=G_RESIZE_QUADRATIC)
  • GError Resize (const GUInt32 NewWidth, const GUInt32 NewHeight, GPixelMap &ResizedPixelMap, const GResizeOp ResizeOp=G_RESIZE_QUADRATIC) const
  • GError ResizeCanvas (const GInt32 Top, const GInt32 Bottom, const GInt32 Left, const GInt32 Right, const GUInt32 Index_Or_A8R8G8B8=0)
  • GError ResizeCanvas (const GInt32 Top, const GInt32 Bottom, const GInt32 Left, const GInt32 Right, GPixelMap &ResizedPixelMap, const GUInt32 Index_Or_A8R8G8B8=0) const
  • GError ResizeCanvasMirror (const GInt32 Top, const GInt32 Bottom, const GInt32 Left, const GInt32 Right)
  • GError ResizeCanvasMirror (const GInt32 Top, const GInt32 Bottom, const GInt32 Left, const GInt32 Right, GPixelMap &ResizedPixelMap) const
  • GError Create (const GInt32 NewWidth, const GInt32 NewHeight, const GPixelFormat NewPixelFormat)
  • GError EdgePreservingSmooth (const GInt32 DistThres=4, const GInt32 BrighThres=20, const GBool Fast=G_FALSE)
  • GError TraceContours (const GInt32 BrighThres=20, const GBool Thinning=G_TRUE, const GBool Fast=G_FALSE)
  • GError EdgeEnhance (const GInt32 Divisor=1, const GBool Strong=G_FALSE)
  • GError SetPixelFormat (const GPixelFormat NewPixelFormat)
  • GError SetPixelFormat (const GPixelFormat NewPixelFormat, GPixelMap &ConvertedImage) const
  • GError SplitChannels (GPixelMap *AlphaImage, GPixelMap *RedImage, GPixelMap *GreenImage, GPixelMap *BlueImage) const
  • GError MergeChannels (const GPixelMap &RedImage, const GPixelMap &GreenImage, const GPixelMap &BlueImage, const GPixelMap *AlphaImage=NULL)
  • GUChar8 * Pixels () const
  • GUInt32 * Palette () const
  • GError Load (const GChar8 *FileName, const GChar8 *Options=NULL, const GChar8 *FormatName=NULL)
  • GError Save (const GChar8 *FileName, const GChar8 *Options=NULL, const GChar8 *FormatName=NULL)
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Static Public Member Functions

  • static GUInt32 RGBToGray (const GUInt32 Red, const GUInt32 Green, const GUInt32 Blue)
  • static GUInt32 RGBToGray (const GUInt32 RGB)
  • static GUInt32 RGBToCMY (const GUInt32 RGB)
  • static GUInt32 CMYToRGB (const GUInt32 CMY)
  • static GUInt32 CMYToKCMY (const GUInt32 CMY)
  • static GUInt32 KCMYToCMY (const GUInt32 KCMY)
  • static GUInt32 RGBToKCMY (const GUInt32 RGB)
  • static GUInt32 KCMYToRGB (const GUInt32 KCMY)
  • static GUInt32 RGBToHSV (const GUInt32 RGB)
  • static GUInt32 HSVToRGB (const GUInt32 HSV)
  • static GUInt32 RGBToHSL (const GUInt32 RGB)
  • static GUInt32 HSLToRGB (const GUInt32 HSL)
  • static GInt32 HueDistance (const GUChar8 Hue1, const GUChar8 Hue2)

Protected Member Functions

  • GError BaseClone (const GElement &Source)
  • void ReferenceMove (GPixelMap &Source)
  • void Reset ()
  • void ExtractColumn (const GUInt32 Index, const GUInt32 StartY, const GUInt32 EndY, GDynArray< GUChar8 > &Pixels) const
  • void ExtractRow (const GUInt32 Index, const GUInt32 StartX, const GUInt32 EndX, GDynArray< GUChar8 > &Pixels) const
  • GError EdgeEnhanceMono (const GInt32 Divisor, const GBool Strong)
  • GError EdgePreservingSmoothMono (const GInt32 DistThres, const GInt32 BrighThres, const GBool Fast)
  • GError TraceContoursMono (const GInt32 BrighThres, const GBool Thinning, const GBool Fast)

Static Protected Member Functions

  • static GInt32 NeededBytes (const GInt32 _Width, const GInt32 _Height, const GPixelFormat PixelFormat)
  • static GInt32 PaletteSize (const GPixelFormat PixelFormat)
  • static void BuildFiltersBrightnessLUT (GUChar8 *LUT, const GUInt32 Threshold, const GBool SixDeg)
  • static GError TraceContoursFast (GUChar8 *in, GInt32 *r, GUChar8 *mid, GUChar8 *bp, GInt32 max_no, GInt32 x_size, GInt32 y_size)
  • static GError TraceContoursAccurate (GUChar8 *in, GInt32 *r, GUChar8 *mid, GUChar8 *bp, GInt32 max_no, GInt32 x_size, GInt32 y_size)
  • static GError ThinContours (GInt32 *r, GUChar8 *mid, GInt32 x_size, GInt32 y_size)
  • static GError ResizeRGB (const GUInt32 NewWidth, const GUInt32 NewHeight, const GPixelMap &FullColorSource, GPixelMap &ResizedPixelMap, const GResizeOp ResizeOp)
  • static GError ResizeGray (const GUInt32 NewWidth, const GUInt32 NewHeight, const GPixelMap &GraySource, GPixelMap &ResizedPixelMap, const GResizeOp ResizeOp)

Detailed Description

A 2D cross-platform bitmap class.

The GPixelMap class provides a hardware-independent pixmap representation with direct access to the pixel data. An image has the parameters width, height and color depth (bits per pixel), a color table and the actual pixels. GPixelMap supports 8-bpp (grayscale and paletted formats), 16-bpp, 24 and 32 bpp image data. Here are details of internal formats:

  • 8-bpp images: they can be grayscale (G_GRAYSCALE) or paletted (G_RGB_PALETTE). In both cases each pixel is 1 byte. In grayscale bitmpas, the pixel value represent a gray level (form 0 to 255). For paletted bitmaps, the pixel value is a color table index (from 0 to 255). Each palette entry is maintained in memory as a single (4 bytes long) integer, where the most significant byte is an optional alpha value, then come (going down to the least significant byte) 8bit red value, 8bit green value and finally 8bit blue value.

  • 16-bpp images: they can be with (G_A1R5G5B5) and without (G_R5G6B5) alpha channel. In the first case the most significant bit is an alpha value, and then come (from most to least significants bits positions) 5bits red, 5bits green and 5 bits blue values.

  • 24/32-bpp images: they can be with (G_A8R8G8B8) and without (G_R8G8B8) alpha channel. In the first case the most significant byte is an 8bits alpha value, and then come (from most to least significant bytes) 8bits red, 8bits green and 8 bits blue values. Internally each pixel is always maintained as a (4 bytes long) integer.

Constructor & Destructor Documentation

Amanith::GPixelMap::GPixelMap ( )

Default constructor.

Amanith::GPixelMap::GPixelMap ( const GElement * Owner )

Constructor with owner (kernel) parameter.

Amanith::GPixelMap::~GPixelMap ( )

Destructor, free memory allocated for pixels and palette.

Member Function Documentation

GError Amanith::GPixelMap::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source bitmap curve into this image.

Reimplemented from Amanith::GElement.

GInt32 Amanith::GPixelMap::BitsPerPixel ( ) const

Number of bits used to encode a single pixel, also called bits per pixel (bpp) or bit planes of an image.

void Amanith::GPixelMap::BuildFiltersBrightnessLUT | ( | GUChar8 * | LUT,
 |  | const GUInt32 | Threshold,
 |  | const GBool | SixDeg
 | ) | [static, protected]

Build a brightness LUT (lookup table), used by edge preserving smooth filter.

GInt32 Amanith::GPixelMap::BytesPerLine ( ) const

Number of bytes per scanline (a scanline is a row of pixels).

GInt32 Amanith::GPixelMap::BytesPerPixel ( ) const

number of bytes used to encode a single pixel.

const GClassID& Amanith::GPixelMap::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GElement.

void Amanith::GPixelMap::Clear ( const GUInt32 & Index_Or_A8R8G8B8 )

Clear (fill) the image with a specified color.

Parameters:
Index_Or_A8R8G8B8 the color used for filling.
If the image is an 8 bit image, this value represents an index (between 0 and 255). If the image is an high-color, this value represent a full 32bit ARGB color, that will be automatically converted into the appropriate 15/16 bit value. If the image is a full 24/32 bits image, this value is the direct value that will be written to all pixels.

GUInt32 Amanith::GPixelMap::CMYToKCMY ( const GUInt32 CMY ) [static]

CMY to KCMY conversion.

The black (K) component is calculated as the Min(C, M, Y). Then output C, M and Y values are scaled according to the black component.

Parameters:
CMY color to be converted, containing cyan, magenta and yellow values packed in 8 bits each. Yellow occupies the least significant byte.
Returns:
the corresponding KCMY value (yellow occupies the least significant byte, and black the most significant one).

static GUInt32 Amanith::GPixelMap::CMYToRGB ( const GUInt32 CMY ) [static]

CMY to RGB conversion.

Parameters:
CMY color to be converted, containing cyan, magenta and yellow values packed in 8 bits each. Yellow occupies the least significant byte.
Returns:
the corresponding RGB value (blue occupies the least significant byte).

GError Amanith::GPixelMap::Create | ( | const GInt32 | NewWidth,
 |  | const GInt32 | NewHeight,
 |  | const GPixelFormat | NewPixelFormat
 | ) |

Reset the image, setting new dimensions and pixel format. All pixels (and eventually the new palette) will be filled in black (zeros).

Parameters:
NewWidth | the new width in pixels, must be greater than 0, else G_INVALID_PARAMETER will be returned.
NewHeight | the new height in pixels , must be greater than 0, else G_INVALID_PARAMETER will be returned.
NewPixelFormat | the new pixel format.
Returns:
G_NO_ERROR if the operation succeeds, else an error code;

const GClassID& Amanith::GPixelMap::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GElement.

GError Amanith::GPixelMap::EdgeEnhance | ( | const GInt32 | Divisor = 1,
 |  | const GBool | Strong = G_FALSE
 | ) |

Apply a top-bottom hat filter to enhance edges.

The implementation uses two filter versions (regulated by Strong parameter). Their respective matrices are:

  • Soft version

  • Strong version

Parameters:
Divisor | the divisor used, must be positive. The more the value is, the less is edge enhancement.
Strong | if G_TRUE the strong filter version is used, else the soft one.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
this filter cannot be applied on paletted image, in this case an G_INVALID_OPERATION error code is returned.

GError Amanith::GPixelMap::EdgeEnhanceMono | ( | const GInt32 | Divisor,
 |  | const GBool | Strong
 | ) | [protected]

Apply a top-bottom hat filter to a grayscale image.

The implementation uses two filter versions (regulated by Strong parameter). Their respective matrices are:

  • Soft version

  • Strong version

Parameters:
Divisor | the divisor used, must be positive. The more the value is, the less is edge enhancement.
Strong | if G_TRUE the strong filter version is used, else the soft one.

GError Amanith::GPixelMap::EdgePreservingSmooth | ( | const GInt32 | DistThres = 4,
 |  | const GInt32 | BrighThres = 20,
 |  | const GBool | Fast = G_FALSE
 | ) |

Apply an edge-preserving smooth filter (based on Susan).

Parameters:
DistThres | distance threshold, must be positive.
BrighThres | brightness threshold, must be between 0 and 255; it determines the maximum difference in gray levels between two pixels which allows them to be considered part of the same "region" in the image.
Fast | if G_TRUE the fast schema (1 radius mask) is used, else an accurate mask in accord to DistThres parameter is used.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
this filter cannot be applied on paletted image, in this case an G_INVALID_OPERATION error code is returned.

GError Amanith::GPixelMap::EdgePreservingSmoothMono | ( | const GInt32 | DistThres,
 |  | const GInt32 | BrighThres,
 |  | const GBool | Fast
 | ) | [protected]

Apply an edge-preservin smooth filter to a grayscale image.

Parameters:
DistThres | distance threshold, must be positive
BrighThres | brightness threshold, must be between 0 and 255; it determines the maximum difference in gray levels between two pixels which allows them to be considered part of the same "region" in the image.
Fast | if G_TRUE the fast schema (1 radius mask) is used, else an accurate mask in accord to DistThres parameter is used.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
this filter is based on Susan, and can be applied just to grayscale images.

void Amanith::GPixelMap::ExtractColumn | ( | const GUInt32 | Index,
 |  | const GUInt32 | StartY,
 |  | const GUInt32 | EndY,
 |  | GDynArray< GUChar8 > & | Pixels
 | ) | const [protected]

Pick a pixels column from image.

Parameters:
Index | the column index, must be valid.
StartY | the y coordinate where to begin pixel copy
EndY | the y coordinate where to end pixel copy
Pixels | the output buffer where to put pixels

void Amanith::GPixelMap::ExtractRow | ( | const GUInt32 | Index,
 |  | const GUInt32 | StartX,
 |  | const GUInt32 | EndX,
 |  | GDynArray< GUChar8 > & | Pixels
 | ) | const [protected]

Pick a pixels row form image.

Parameters:
Index | the row index, must be valid.
StartX | the x coordinate where to begin pixel copy
EndX | the x coordinate where to end pixel copy
Pixels | the output buffer where to put pixels

GError Amanith::GPixelMap::Flip | ( | const GBool | Horizontal,
 |  | const GBool | Vertical
 | ) |

Flip the image.

Parameters:
Horizontal | if G_TRUE an horizontal flip is done.
Vertical | if G_TRUE a vertical flip is done.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
flipping order is not relevant, in fact HorzFlip(VertFlip(image)) is equal to VertFlip(HorzFlip(image)).

GBool Amanith::GPixelMap::HasAlphaChannel ( ) const

returns if the image has an alpha channel.

GInt32 Amanith::GPixelMap::Height ( ) const

Bitmap height, expressed in pixel.

GUInt32 Amanith::GPixelMap::HSLToRGB ( const GUInt32 HSL ) [static]

HSL to RGB conversion.

Parameters:
HSL color to be converted, containing hue, saturation and luminance values packed in 8 bits each. Luminance occupies the least significant byte.
Returns:
the corresponding RGB value (blue occupies the least significant byte).

GUInt32 Amanith::GPixelMap::HSVToRGB ( const GUInt32 HSV ) [static]

RGB to HSV conversion.

Parameters:
HSV color to be converted, containing hue, saturation and brightness values packed in 8 bits each. Brightness occupies the least significant byte.
Returns:
the corresponding RGB value (blue occupies the least significant byte).

GInt32 Amanith::GPixelMap::HueDistance | ( | const GUChar8 | Hue1,
 |  | const GUChar8 | Hue2
 | ) | [static]

Calculate hue distance (caring of hue wrapping).

GBool Amanith::GPixelMap::IsGrayScale ( ) const

Returns if image is gray scale.

GBool Amanith::GPixelMap::IsHighColor ( ) const

Returns if image is high color (15bits or 16bits).

GBool Amanith::GPixelMap::IsPaletted ( ) const

Returns if the image is paletted (it has an associated palette).

GBool Amanith::GPixelMap::IsTrueColor ( ) const

Returns if image is truecolor (24 or 32 bits).

GUInt32 Amanith::GPixelMap::KCMYToCMY ( const GUInt32 KCMY ) [static]

KCMY to CMY conversion.

Parameters:
KCMY color to be converted, containing cyan, magenta and yellow values packed in 8 bits each. Yellow occupies the least significant byte and black the most significant one.
Returns:
the corresponding CMY value (yellow occupies the least significant byte).

static GUInt32 Amanith::GPixelMap::KCMYToRGB ( const GUInt32 KCMY ) [static]

KCMY to RGB conversion, provided for convenience.

It's just a CMYToRGB(KCMYToCMY(KCMY)).

GError Amanith::GPixelMap::Load | ( | const GChar8 * | FileName,
 |  | const GChar8 * | Options = NULL,
 |  | const GChar8 * | FormatName = NULL
 | ) |

Load a pixmap from external file (using kernel plugins). This method is provided for convenience.

Internally this method look for kernel that has created this instances. If such kernel exists, call kernel->Load() function passing specified parameters, else return a G_MISSING_KERNEL error code.

Parameters:
FileName | is a string containing the full file name (path + name + extension) of the file we wanna read from. It must be non-empty.
Options | a string containing a semicolon-separated options. Each option must be in the format name=value.
FormatName | an optional filter; it's case insensitive.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

GError Amanith::GPixelMap::MergeChannels | ( | const GPixelMap & | RedImage,
 |  | const GPixelMap & | GreenImage,
 |  | const GPixelMap & | BlueImage,
 |  | const GPixelMap * | AlphaImage = NULL
 | ) |

Merge RGB and Alpha channels to build the final full color image.

Parameters:
RedImage | the pixelmap containing the red channel. Must be a non-NULL grayscale pixelmap.
GreenImage | the pixelmap containing the green channel. Must be a non-NULL grayscale pixelmap.
BlueImage | the pixelmap containing the blue channel. Must be a non-NULL grayscale pixelmap.
AlphaImage | the pixelmap containing the optional alpha channel. If specified must be a grayscale pixelmap.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
all specified channels must have the same dimensions, else G_INVALID_PARAMETER error code is returned.

GInt32 Amanith::GPixelMap::NeededBytes | ( | const GInt32 | _Width,
 |  | const GInt32 | _Height,
 |  | const GPixelFormat | PixelFormat
 | ) | [static, protected]

Returns how many bytes are needed to store pixels, specifying a bitmap dimensions and pixel format.

GError Amanith::GPixelMap::Negative ( GPixelMap & NegativePixelMap ) const

Negative image, it negates every color channel, and put result into specified output image

Parameters:
NegativePixelMap the output (negated) image.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
paletted images are not supported.

GError Amanith::GPixelMap::Negative ( )

Negative image, it negates every color channel.

Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
paletted images are not supported.

GUInt32* Amanith::GPixelMap::Palette ( ) const

Get pointer to the first palette entry (if present). For non paletted images a NULL value will be returned.

Here's an example that accesses every palette entry (it supposes a paletted image):

    GUInt32 *palette = Image.Palette();
    GInt32 i, j = Image.PaletteEntriesCount();
    for (i = 0; i < j; ++i)
        < do something with palette[i] >

GInt32 Amanith::GPixelMap::PaletteEntriesCount ( ) const

Number of palette entries. If image is not paletted, zero will be returned.

GInt32 Amanith::GPixelMap::PaletteSize ( ) const

Number of bytes allocated by the colors palette.

GInt32 Amanith::GPixelMap::PaletteSize ( const GPixelFormat PixelFormat ) [static, protected]

Returns how many bytes are needed to store a color palette, specifying the pixel format.

GError Amanith::GPixelMap::Pixel | ( | const GUInt32 | X,
 |  | const GUInt32 | Y,
 |  | GUInt32 & | Index_Or_A8R8G8B8
 | ) | const

Get a pixel.

Parameters:
X | the x coordinate of wanted pixel, must be valid.
Y | the y coordinate of wanted pixel, must be valid.
Index_Or_A8R8G8B8 the color of specified pixel.
If the image is an 8 bit image, this value represents an index (between 0 and 255). If the image is an high-color image, this value represents a full 32bit ARGB color, expanded from internal 15/16 bits value. If the image is a full 24/32 bits image, this value is the direct value taken from pixels array.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
the pixel coordinates must be inside permitted range, else an G_OUT_OF_RANGE error code will be returned.

GPixelFormat Amanith::GPixelMap::PixelFormat ( ) const

Get current pixel format.

GUChar8* Amanith::GPixelMap::Pixels ( ) const

Get pointer to the first pixel.

Here's an example that accesses every image pixels (it supposes a grayscale or paletted image, so every pixel is a byte):

    GUChar8 *pixelsArray = Image.Pixels();
    GInt32 i, j = Image.PixelsCount();
    for (i = 0; i < j; ++i)
        < do something with pixelsArray[i] >

GInt32 Amanith::GPixelMap::PixelsCount ( ) const

Number of pixels, equal to Width() * Height().

void Amanith::GPixelMap::ReferenceMove ( GPixelMap & Source ) [protected]

Do a reference copy, "moving" only pixels and palette pointers from Source parameter.

void Amanith::GPixelMap::Reset ( ) [protected]

Free the memory occupied by pixels and palette, then reset internal dimensions to 0.

GError Amanith::GPixelMap::Resize | ( | const GUInt32 | NewWidth,
 |  | const GUInt32 | NewHeight,
 |  | GPixelMap & | ResizedPixelMap,
 |  | const GResizeOp | ResizeOp = G_RESIZE_QUADRATIC
 | ) | const

Resize the bitmap, using the specified "smoothing" filter, and put the result into specified output pixelmap.

Parameters:
NewWidth | the new width of the image, must be positive.
NewHeight | the new height of the image, must be positive.
ResizedPixelMap | the resized bitmap, used as output.
ResizeOp | filter used during rescaling.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
resize is possible only on grayscale, high color and full color images. If this function is called by a paletted image, a G_INVALID_OPERATION error code is returned.

GError Amanith::GPixelMap::Resize | ( | const GUInt32 | NewWidth,
 |  | const GUInt32 | NewHeight,
 |  | const GResizeOp | ResizeOp = G_RESIZE_QUADRATIC
 | ) |

Resize the bitmap, using the specified "smoothing" filter.

Parameters:
NewWidth | the new width of the image, must be positive.
NewHeight | the new height of the image, must be positive.
ResizeOp | filter used during rescaling.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
resize is possible only on grayscale, high color and full color images. If this function is called by a paletted image, a G_INVALID_OPERATION error code is returned.

GError Amanith::GPixelMap::ResizeCanvas | ( | const GInt32 | Top,
 |  | const GInt32 | Bottom,
 |  | const GInt32 | Left,
 |  | const GInt32 | Right,
 |  | GPixelMap & | ResizedPixelMap,
 |  | const GUInt32 | Index_Or_A8R8G8B8 = 0
 | ) | const

Resize (enlarge or reduce) the bitmap canvas, and put the result into specified output image. The Top and Bottom values control the vertical placement; the Left and Right values control the horizontal placement

Parameters:
Top | how many pixels we wanna add/subtract to/from top border.
Bottom | how many pixels we wanna add/subtract to/from bottom border.
Right | how many pixels we wanna add/subtract to/from right border.
Left | how many pixels we wanna add/subtract to/from left border.
ResizedPixelMap | the canvas-resized bitmap, used as output.
Index_Or_A8R8G8B8 the pixel value used to fill extra added pixel on borders.
If the image is an 8 bit image, this value represents an index (between 0 and 255). If the image is an high-color image, this value represents a full 32bit ARGB color, that will be automatically converted into the appropriate 15/16 bit value 15/16 bits value. If the image is a full 24/32 bits image, this value will be written directly into pixels array.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
if specified borders would result in a 0-width or o-height new picture, an G_INVALID_PARAMETER error code is returned.

GError Amanith::GPixelMap::ResizeCanvas | ( | const GInt32 | Top,
 |  | const GInt32 | Bottom,
 |  | const GInt32 | Left,
 |  | const GInt32 | Right,
 |  | const GUInt32 | Index_Or_A8R8G8B8 = 0
 | ) |

Resize (enlarge or reduce) the bitmap canvas. The Top and Bottom values control the vertical placement; the Left and Right values control the horizontal placement

Parameters:
Top | how many pixels we wanna add/subtract to/from top border.
Bottom | how many pixels we wanna add/subtract to/from bottom border.
Right | how many pixels we wanna add/subtract to/from right border.
Left | how many pixels we wanna add/subtract to/from left border.
Index_Or_A8R8G8B8 the pixel value used to fill extra added pixel on borders.
If the image is an 8 bit image, this value represents an index (between 0 and 255). If the image is an high-color image, this value represents a full 32bit ARGB color, that will be automatically converted into the appropriate 15/16 bit value 15/16 bits value. If the image is a full 24/32 bits image, this value will be written directly into pixels array.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
if specified borders would result in a 0-width or o-height new picture, an G_INVALID_PARAMETER error code is returned.

GError Amanith::GPixelMap::ResizeCanvasMirror | ( | const GInt32 | Top,
 |  | const GInt32 | Bottom,
 |  | const GInt32 | Left,
 |  | const GInt32 | Right,
 |  | GPixelMap & | ResizedPixelMap
 | ) | const

Resize (enlarge or reduce) the bitmap canvas, doing pixel mirroring for enlarged borders. Output is then put into specified destination image.

This method can be useful to build tiled pictures.

Parameters:
Top | how many pixels we wanna add/subtract to/from top border.
Bottom | how many pixels we wanna add/subtract to/from bottom border.
Right | how many pixels we wanna add/subtract to/from right border.
Left | how many pixels we wanna add/subtract to/from left border.
ResizedPixelMap | the canvas-resized bitmap, used as output.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
if specified borders would result in a 0-width or o-height new picture, an G_INVALID_PARAMETER error code is returned.

GError Amanith::GPixelMap::ResizeCanvasMirror | ( | const GInt32 | Top,
 |  | const GInt32 | Bottom,
 |  | const GInt32 | Left,
 |  | const GInt32 | Right
 | ) |

Resize (enlarge or reduce) the bitmap canvas, doing pixel mirroring for enlarged borders. This method can be useful to build tiled pictures.

Parameters:
Top | how many pixels we wanna add/subtract to/from top border.
Bottom | how many pixels we wanna add/subtract to/from bottom border.
Right | how many pixels we wanna add/subtract to/from right border.
Left | how many pixels we wanna add/subtract to/from left border.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
if specified borders would result in a 0-width or o-height new picture, an G_INVALID_PARAMETER error code is returned.

GError Amanith::GPixelMap::ResizeGray | ( | const GUInt32 | NewWidth,
 |  | const GUInt32 | NewHeight,
 |  | const GPixelMap & | GraySource,
 |  | GPixelMap & | ResizedPixelMap,
 |  | const GResizeOp | ResizeOp
 | ) | [static, protected]

Resize a grayscale pixmap, using digital filters.

Parameters:
NewWidth | the new width, must be positive.
NewHeight | the new height, must be positive.
GraySource | the source image.
ResizedPixelMap | the destination (resized) image.
ResizeOp | the operation (filter) used during resizing
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.

GError Amanith::GPixelMap::ResizeRGB | ( | const GUInt32 | NewWidth,
 |  | const GUInt32 | NewHeight,
 |  | const GPixelMap & | FullColorSource,
 |  | GPixelMap & | ResizedPixelMap,
 |  | const GResizeOp | ResizeOp
 | ) | [static, protected]

Resize a full color pixmap, using digital filters.

Parameters:
NewWidth | the new width, must be positive.
NewHeight | the new height, must be positive.
FullColorSource | the source image.
ResizedPixelMap | the destination (resized) image.
ResizeOp | the operation (filter) used during resizing
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.

GError Amanith::GPixelMap::ReverseChannels | ( | GPixelMap & | ReversedImage,
 |  | const GBool | ReverseAlphaToo = G_FALSE
 | ) | const

Swap (reverse) color channels from ARGB to ABGR, and put result into specified output image.

Parameters:
ReversedImage | the output (reversed) image.
ReverseAlphaToo | if G_TRUE also the alpha channel (if present) is reversed. In this case format is converted from ARGB to BGRA.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
this operation can be done only on high-color and full color images. Grayscale and paletted images are not supported (G_INVALID_OPERATION will be returned in these cases).

GError Amanith::GPixelMap::ReverseChannels ( const GBool ReverseAlphaToo = G_FALSE )

Swap (reverse) color channels from ARGB to ABGR.

Parameters:
ReverseAlphaToo if G_TRUE also the alpha channel (if present) is reversed. In this case format is converted from ARGB to BGRA.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
this operation can be done only on high-color and full color images. Grayscale and paletted images are not supported (G_INVALID_OPERATION will be returned in these cases).

static GUInt32 Amanith::GPixelMap::RGBToCMY ( const GUInt32 RGB ) [static]

RGB to CMY conversion.

Parameters:
RGB color to be converted, containing red, green and blue values packed in 8 bits each. Blue occupies the least significant byte.
Returns:
the corresponding CMY value (yellow occupies the least significant byte).

static GUInt32 Amanith::GPixelMap::RGBToGray ( const GUInt32 RGB ) [static]

RGB to gray conversion.

The method used is based on a barycentric sum, where weights are taken from 'Luma' table.

Parameters:
RGB color to be converted, containing red, green and blue values packed in 8 bits each. Blue occupies the least significant byte.
Returns:
the corresponding gray value.

static GUInt32 Amanith::GPixelMap::RGBToGray | ( | const GUInt32 | Red,
 |  | const GUInt32 | Green,
 |  | const GUInt32 | Blue
 | ) | [static]

RGB to gray conversion.

The method used is based on a barycentric sum, where weights are taken from 'Luma' table.

Parameters:
Red | the red value.
Green | the green value.
Blue | the blue value.
Returns:
the corresponding gray value.

GUInt32 Amanith::GPixelMap::RGBToHSL ( const GUInt32 RGB ) [static]

RGB to HSL conversion.

Parameters:
RGB color to be converted, containing red, green and blue values packed in 8 bits each. Blue occupies the least significant byte.
Returns:
the corresponding HSL value (the luminance L occupies the least significant byte).

GUInt32 Amanith::GPixelMap::RGBToHSV ( const GUInt32 RGB ) [static]

RGB to HSV conversion.

Parameters:
RGB color to be converted, containing red, green and blue values packed in 8 bits each. Blue occupies the least significant byte.
Returns:
the corresponding HSV value (the brightness V occupies the least significant byte).

static GUInt32 Amanith::GPixelMap::RGBToKCMY ( const GUInt32 RGB ) [static]

RGB to KCMY conversion, provided for convenience.

It's just a CMYToKCMY(RGBToCMY(RGB)).

GError Amanith::GPixelMap::Save | ( | const GChar8 * | FileName,
 |  | const GChar8 * | Options = NULL,
 |  | const GChar8 * | FormatName = NULL
 | ) |

Save the pixmap to external file (using kernel plugins). This method is provided for convenience.

Internally this method look for kernel that has created this instances. If such kernel exists, call kernel->Load() function passing specified parameters, else return a G_MISSING_KERNEL error code.

Parameters:
FileName | is a string containing the full file name (path + name + extension) of the file we wanna write to. It must be non-empty.
Options | a string containing a semicolon-separated options. Each option must be in the format name=value.
FormatName | an optional filter; it's case insensitive.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

GError Amanith::GPixelMap::SetPixel | ( | const GUInt32 | X,
 |  | const GUInt32 | Y,
 |  | const GUInt32 | Index_Or_A8R8G8B8
 | ) |

Set a pixel color.

Parameters:
X | the x coordinate of wanted pixel, must be valid.
Y | the y coordinate of wanted pixel, must be valid.
Index_Or_A8R8G8B8 the new color for specified pixel.
If the image is an 8 bit image, this value represents an index (between 0 and 255). If the image is an high-color image, this value represents a full 32bit ARGB color, that will be automatically converted into the appropriate 15/16 bit value 15/16 bits value. If the image is a full 24/32 bits image, this value will be written directly into pixels array.
Returns:
G_NO_ERROR is operation succeeds, an error code otherwise.
Note:
the pixel coordinates must be inside permitted range, else an G_OUT_OF_RANGE error code will be returned.

GError Amanith::GPixelMap::SetPixelFormat | ( | const GPixelFormat | NewPixelFormat,
 |  | GPixelMap & | ConvertedImage
 | ) | const

Convert the image to a new specified pixel format, and put the converted image into the specified destination.

Every pixel will be converted from current format to the new specified one.

Parameters:
NewPixelFormat | the new pixel format
ConvertedImage | the destination image.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

GError Amanith::GPixelMap::SetPixelFormat ( const GPixelFormat NewPixelFormat )

Convert the image to a new specified pixel format.

Every pixel will be converted from current format to the new specified one.

Parameters:
NewPixelFormat the new pixel format
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.

GInt32 Amanith::GPixelMap::Size ( ) const

Number of bytes allocated by the image data (pixels).

GError Amanith::GPixelMap::SplitChannels | ( | GPixelMap * | AlphaImage,
 |  | GPixelMap * | RedImage,
 |  | GPixelMap * | GreenImage,
 |  | GPixelMap * | BlueImage
 | ) | const

Split red, green, blue and alpha channels into single images.

Parameters:
AlphaImage | is specified (non-NULL), it will contain a grayscale image with alpha values extracted from this bitmap.
RedImage | is specified (non-NULL), it will contain a grayscale image with red values extracted from this bitmap.
GreenImage | is specified (non-NULL), it will contain a grayscale image with green values extracted from this bitmap.
BlueImage | is specified (non-NULL), it will contain a grayscale image with blue values extracted from this bitmap.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
grayscale and paletted images are not supported, in this case an G_INVALID_OPERATION error code will be returned.

GError Amanith::GPixelMap::ThinContours | ( | GInt32 * | r,
 |  | GUChar8 * | mid,
 |  | GInt32 | x_size,
 |  | GInt32 | y_size
 | ) | [static, protected]

Do a thinning operation. Some basic informations about thinning can be found here: http://www.mip.sdu.dk/ipl98/how_to_use_ipl98/tutorial/node52.html

GError Amanith::GPixelMap::TraceContours | ( | const GInt32 | BrighThres = 20,
 |  | const GBool | Thinning = G_TRUE,
 |  | const GBool | Fast = G_FALSE
 | ) |

Trace image contours, using an edge detector filter (based on Susan) .

Parameters:
BrighThres | brightness threshold, must be between 0 and 255; it determines the maximum difference in gray levels between two pixels which allows them to be considered part of the same "region" in the image.
Thinning | if G_TRUE, after tracing contours are also thinned.
Fast | if G_TRUE the fast schema is used, else an accurate mask (slow but accurate schema) is used.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
this filter cannot be applied on paletted image, in this case an G_INVALID_OPERATION error code is returned.

GError Amanith::GPixelMap::TraceContoursAccurate | ( | GUChar8 * | in,
 |  | GInt32 * | r,
 |  | GUChar8 * | mid,
 |  | GUChar8 * | bp,
 |  | GInt32 | max_no,
 |  | GInt32 | x_size,
 |  | GInt32 | y_size
 | ) | [static, protected]

Trace contours, using the accurate schema.

GError Amanith::GPixelMap::TraceContoursFast | ( | GUChar8 * | in,
 |  | GInt32 * | r,
 |  | GUChar8 * | mid,
 |  | GUChar8 * | bp,
 |  | GInt32 | max_no,
 |  | GInt32 | x_size,
 |  | GInt32 | y_size
 | ) | [static, protected]

Trace contours, using the fast schema.

GError Amanith::GPixelMap::TraceContoursMono | ( | const GInt32 | BrighThres,
 |  | const GBool | Thinning,
 |  | const GBool | Fast
 | ) | [protected]

Trace contours of a grayscale image.

Parameters:
BrighThres | brightness threshold, must be between 0 and 255; it determines the maximum difference in gray levels between two pixels which allows them to be considered part of the same "region" in the image.
Thinning | if G_TRUE, after tracing contours are also thinned.
Fast | if G_TRUE the fast schema is used, else an accurate mask (slow but accurate schema) is used.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
this filter is based on Susan, and can be applied just to grayscale images.

GInt32 Amanith::GPixelMap::Width ( ) const

Bitmap width, expressed in pixel.

The documentation for this class was generated from the following files:
  • gpixelmap.h
  • gpixelmap.cpp


Amanith::GPixelMap Member List

This is the complete list of members for Amanith::GPixelMap, including all inherited members.

As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GPixelMap | [protected, virtual]
BitsPerPixel() const | Amanith::GPixelMap
BuildFiltersBrightnessLUT(GUChar8 *LUT, const GUInt32 Threshold, const GBool SixDeg) | Amanith::GPixelMap | [protected, static]
BytesPerLine() const | Amanith::GPixelMap
BytesPerPixel() const | Amanith::GPixelMap
ClassID() const | Amanith::GPixelMap | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear(const GUInt32 &Index_Or_A8R8G8B8) | Amanith::GPixelMap
CMYToKCMY(const GUInt32 CMY) | Amanith::GPixelMap | [static]
CMYToRGB(const GUInt32 CMY) | Amanith::GPixelMap | [static]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
Create(const GInt32 NewWidth, const GInt32 NewHeight, const GPixelFormat NewPixelFormat) | Amanith::GPixelMap
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DerivedClassID() const | Amanith::GPixelMap | [virtual]
EdgeEnhance(const GInt32 Divisor=1, const GBool Strong=G_FALSE) | Amanith::GPixelMap
EdgeEnhanceMono(const GInt32 Divisor, const GBool Strong) | Amanith::GPixelMap | [protected]
EdgePreservingSmooth(const GInt32 DistThres=4, const GInt32 BrighThres=20, const GBool Fast=G_FALSE) | Amanith::GPixelMap
EdgePreservingSmoothMono(const GInt32 DistThres, const GInt32 BrighThres, const GBool Fast) | Amanith::GPixelMap | [protected]
ExtractColumn(const GUInt32 Index, const GUInt32 StartY, const GUInt32 EndY, GDynArray< GUChar8 > &Pixels) const | Amanith::GPixelMap | [protected]
ExtractRow(const GUInt32 Index, const GUInt32 StartX, const GUInt32 EndX, GDynArray< GUChar8 > &Pixels) const | Amanith::GPixelMap | [protected]
Flip(const GBool Horizontal, const GBool Vertical) | Amanith::GPixelMap
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GPixelMap() Amanith::GPixelMap
GPixelMap(const GElement *Owner) | Amanith::GPixelMap
HasAlphaChannel() const | Amanith::GPixelMap
Height() const | Amanith::GPixelMap
HSLToRGB(const GUInt32 HSL) | Amanith::GPixelMap | [static]
HSVToRGB(const GUInt32 HSV) | Amanith::GPixelMap | [static]
HueDistance(const GUChar8 Hue1, const GUChar8 Hue2) | Amanith::GPixelMap | [static]
IsGrayScale() const | Amanith::GPixelMap
IsHighColor() const | Amanith::GPixelMap
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsPaletted() const | Amanith::GPixelMap
IsRootClass() const | Amanith::GElement
IsTrueColor() const | Amanith::GPixelMap
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
KCMYToCMY(const GUInt32 KCMY) | Amanith::GPixelMap | [static]
KCMYToRGB(const GUInt32 KCMY) | Amanith::GPixelMap | [static]
Load(const GChar8 *FileName, const GChar8 *Options=NULL, const GChar8 *FormatName=NULL) | Amanith::GPixelMap
MergeChannels(const GPixelMap &RedImage, const GPixelMap &GreenImage, const GPixelMap &BlueImage, const GPixelMap *AlphaImage=NULL) | Amanith::GPixelMap
NeededBytes(const GInt32 _Width, const GInt32 _Height, const GPixelFormat PixelFormat) | Amanith::GPixelMap | [protected, static]
Negative() Amanith::GPixelMap
Negative(GPixelMap &NegativePixelMap) const | Amanith::GPixelMap
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Palette() const | Amanith::GPixelMap
PaletteEntriesCount() const | Amanith::GPixelMap
PaletteSize(const GPixelFormat PixelFormat) | Amanith::GPixelMap | [protected, static]
PaletteSize() const | Amanith::GPixelMap
Pixel(const GUInt32 X, const GUInt32 Y, GUInt32 &Index_Or_A8R8G8B8) const | Amanith::GPixelMap
PixelFormat() const | Amanith::GPixelMap
Pixels() const | Amanith::GPixelMap
PixelsCount() const | Amanith::GPixelMap
ReferenceMove(GPixelMap &Source) | Amanith::GPixelMap | [protected]
Reset() | Amanith::GPixelMap | [protected]
Resize(const GUInt32 NewWidth, const GUInt32 NewHeight, const GResizeOp ResizeOp=G_RESIZE_QUADRATIC) | Amanith::GPixelMap
Resize(const GUInt32 NewWidth, const GUInt32 NewHeight, GPixelMap &ResizedPixelMap, const GResizeOp ResizeOp=G_RESIZE_QUADRATIC) const | Amanith::GPixelMap
ResizeCanvas(const GInt32 Top, const GInt32 Bottom, const GInt32 Left, const GInt32 Right, const GUInt32 Index_Or_A8R8G8B8=0) | Amanith::GPixelMap
ResizeCanvas(const GInt32 Top, const GInt32 Bottom, const GInt32 Left, const GInt32 Right, GPixelMap &ResizedPixelMap, const GUInt32 Index_Or_A8R8G8B8=0) const | Amanith::GPixelMap
ResizeCanvasMirror(const GInt32 Top, const GInt32 Bottom, const GInt32 Left, const GInt32 Right) | Amanith::GPixelMap
ResizeCanvasMirror(const GInt32 Top, const GInt32 Bottom, const GInt32 Left, const GInt32 Right, GPixelMap &ResizedPixelMap) const | Amanith::GPixelMap
ResizeGray(const GUInt32 NewWidth, const GUInt32 NewHeight, const GPixelMap &GraySource, GPixelMap &ResizedPixelMap, const GResizeOp ResizeOp) | Amanith::GPixelMap | [protected, static]
ResizeRGB(const GUInt32 NewWidth, const GUInt32 NewHeight, const GPixelMap &FullColorSource, GPixelMap &ResizedPixelMap, const GResizeOp ResizeOp) | Amanith::GPixelMap | [protected, static]
ReverseChannels(const GBool ReverseAlphaToo=G_FALSE) | Amanith::GPixelMap
ReverseChannels(GPixelMap &ReversedImage, const GBool ReverseAlphaToo=G_FALSE) const | Amanith::GPixelMap
RGBToCMY(const GUInt32 RGB) | Amanith::GPixelMap | [static]
RGBToGray(const GUInt32 Red, const GUInt32 Green, const GUInt32 Blue) | Amanith::GPixelMap | [static]
RGBToGray(const GUInt32 RGB) | Amanith::GPixelMap | [static]
RGBToHSL(const GUInt32 RGB) | Amanith::GPixelMap | [static]
RGBToHSV(const GUInt32 RGB) | Amanith::GPixelMap | [static]
RGBToKCMY(const GUInt32 RGB) | Amanith::GPixelMap | [static]
Save(const GChar8 *FileName, const GChar8 *Options=NULL, const GChar8 *FormatName=NULL) | Amanith::GPixelMap
SetPixel(const GUInt32 X, const GUInt32 Y, const GUInt32 Index_Or_A8R8G8B8) | Amanith::GPixelMap
SetPixelFormat(const GPixelFormat NewPixelFormat) | Amanith::GPixelMap
SetPixelFormat(const GPixelFormat NewPixelFormat, GPixelMap &ConvertedImage) const | Amanith::GPixelMap
Size() const | Amanith::GPixelMap
SplitChannels(GPixelMap *AlphaImage, GPixelMap *RedImage, GPixelMap *GreenImage, GPixelMap *BlueImage) const | Amanith::GPixelMap
ThinContours(GInt32 *r, GUChar8 *mid, GInt32 x_size, GInt32 y_size) | Amanith::GPixelMap | [protected, static]
TraceContours(const GInt32 BrighThres=20, const GBool Thinning=G_TRUE, const GBool Fast=G_FALSE) | Amanith::GPixelMap
TraceContoursAccurate(GUChar8 *in, GInt32 *r, GUChar8 *mid, GUChar8 *bp, GInt32 max_no, GInt32 x_size, GInt32 y_size) | Amanith::GPixelMap | [protected, static]
TraceContoursFast(GUChar8 *in, GInt32 *r, GUChar8 *mid, GUChar8 *bp, GInt32 max_no, GInt32 x_size, GInt32 y_size) | Amanith::GPixelMap | [protected, static]
TraceContoursMono(const GInt32 BrighThres, const GBool Thinning, const GBool Fast) | Amanith::GPixelMap | [protected]
Width() const | Amanith::GPixelMap
~GElement() | Amanith::GElement | [virtual]


Amanith::GPixelMapProxy

Amanith::GPixelMapProxy Class Reference

This class implements a GPixelMap proxy (provider). More...

Inheritance diagram for Amanith::GPixelMapProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GPixelMap proxy (provider).

This proxy provides the creation of GPixelMap class instances.

Member Function Documentation

const GClassID& Amanith::GPixelMapProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GPixelMapProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GPixelMap instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GPixelMapProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gpixelmap.h


Amanith::GPixelMapProxy Member List

This is the complete list of members for Amanith::GPixelMapProxy, including all inherited members.

ClassID() const | Amanith::GPixelMapProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GPixelMapProxy | [virtual]
DerivedClassID() const | Amanith::GPixelMapProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GPlugLoader

Amanith::GPlugLoader Class Reference

Low level dynamic library loader class. More...

List of all members.

Public Member Functions

  • GPlugLoader (const GChar8 *FullLibraryName=NULL)
  • ~GPlugLoader ()
  • GError LoadPlug ()
  • GError UnloadPlug ()
  • GBool IsPlugLoaded () const
  • GString PlugName () const
  • const GPlugHandle PlugHandle () const
  • GError ResolveSymbol (const GChar8 *SymbolName, GPlugSymbolAddress *ResolvedSymbol) const
  • GBool UnloadOnDestroy () const
  • void SetUnloadOnDestroy (const GBool MustUnload)

Protected Member Functions

  • GError LoadFilePlug (const GChar8 *FullLibraryName)

Detailed Description

Low level dynamic library loader class.

The GPlugLoader class provides a wrapper for handling shared libraries.
An instance of a GPlugLoader object can handle a single shared library and provide access to the functionality in the library in a platform independent way. GPlugLoader can also unload the library on destruction and release unused resources.
A typical use of GPlugLoader is to resolve an exported symbol in a shared object, and to call the function that this symbol represents. The following code loads a library, resolves the symbol "ProxiesCount", and calls the function.

    typedef GUInt32 (*ProxiesCountFunc)();
    GError err;
    ProxiesCountFunc dllFunc;
    GPlugLoader myDLL("some.dll");

    // load dynamic library
    err = myDLL.LoadPlug();
    if (err == G_NO_ERROR) {
        err = myDLL.ResolveSymbol("ProxiesCount", (GPlugSymbolAddress *)&dllFunc);
        if (err == G_NO_ERROR)
            GUInt32 proxCount = dllFunc();
    }
}

When the GPlugLoader object is destroyed the library will be unloaded, making all references to memory allocated in the library invalid.

Constructor & Destructor Documentation

Amanith::GPlugLoader::GPlugLoader ( const GChar8 * FullLibraryName = NULL )

Constructor.

Initialize internal fields: set library handle to NULL, copy specified library filename and set the 'UnloadOnDestroy' flag to G_TRUE.

Amanith::GPlugLoader::~GPlugLoader ( )

Destructor.

If 'UnloadOnDestroy' flag is G_TRUE, then library (if loaded) will be unloaded from memory.

Member Function Documentation

GBool Amanith::GPlugLoader::IsPlugLoaded ( ) const

Returns G_TRUE if a dynamic library has been loaded by this class, G_FALSE otherwise.

GError Amanith::GPlugLoader::LoadFilePlug ( const GChar8 * FullLibraryName ) [protected]

Do the effective loading of FullLibraryName shared library.

GError Amanith::GPlugLoader::LoadPlug ( )

Load external dynamic library.

This function is the one that allows to load the dynamic library whose filename has been set with constructor method.

Returns:
If the operation will succeed G_NO_ERROR constant will be returned, else an error code.
Note:
This function can fail for different reasons, for example:
  • The specified filename in the constructor is an empty (or invalid) string; in this case a G_INVALID_PARAMETER error code will be returned.
  • The specified filename in the constructor does not refer to an existing filename; in this case a G_FILE_NOT_FOUND error code will be returned.
  • The specified filename in the constructor does refer to an existing filename, but it's not a dynamic library; in this case a G_INVALID_FORMAT error code will be returned.

const GPlugHandle Amanith::GPlugLoader::PlugHandle ( ) const

Get the handle of loaded dynamic library.

GString Amanith::GPlugLoader::PlugName ( ) const

Returns the full filename of loaded dynamic library.

GError Amanith::GPlugLoader::ResolveSymbol | ( | const GChar8 * | SymbolName,
 |  | GPlugSymbolAddress * | ResolvedSymbol
 | ) | const

Resolve (get a pointer to) a symbol exported by loaded dynamic library.

void Amanith::GPlugLoader::SetUnloadOnDestroy ( const GBool MustUnload )

Set 'unload on destroy' flag.

GBool Amanith::GPlugLoader::UnloadOnDestroy ( ) const

Get 'unload on destroy' flag.

GError Amanith::GPlugLoader::UnloadPlug ( )

Unload dynamic library from memory.

The documentation for this class was generated from the following files:
  • gpluglib.h
  • gpluglib.cpp


Amanith::GPlugLoader Member List

This is the complete list of members for Amanith::GPlugLoader, including all inherited members.

GPlugLoader(const GChar8 *FullLibraryName=NULL) | Amanith::GPlugLoader
IsPlugLoaded() const | Amanith::GPlugLoader
LoadFilePlug(const GChar8 *FullLibraryName) | Amanith::GPlugLoader | [protected]
LoadPlug() Amanith::GPlugLoader
PlugHandle() const | Amanith::GPlugLoader
PlugName() const | Amanith::GPlugLoader
ResolveSymbol(const GChar8 *SymbolName, GPlugSymbolAddress *ResolvedSymbol) const | Amanith::GPlugLoader
SetUnloadOnDestroy(const GBool MustUnload) | Amanith::GPlugLoader
UnloadOnDestroy() const | Amanith::GPlugLoader


Amanith::GPoint

Amanith::GPoint< DATA_TYPE, SIZE > Class Template Reference

A geometric point entity. More...

Inheritance diagram for Amanith::GPoint< DATA_TYPE, SIZE >:

Amanith::GVectBase< DATA_TYPE, SIZE > List of all members.

Public Types

  • typedef GVectBase< DATA_TYPE,
    SIZE > BaseType

Public Member Functions

  • GPoint ()
  • GPoint (const GPoint< DATA_TYPE, SIZE > &SrcPoint)
  • GPoint (const GVectBase< DATA_TYPE, SIZE > &SrcBaseVect)
  • GPoint (const DATA_TYPE &Val0, const DATA_TYPE &Val1)
  • GPoint (const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2)
  • GPoint (const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3)

Detailed Description

template<typename DATA_TYPE, GUInt32 SIZE>
class Amanith::GPoint< DATA_TYPE, SIZE >

A geometric point entity.

Use points when you need to represent a position. Don't use points to represent a vector. One difference you should note is that certain matrix operations are different between GPoint and GVect such as transform and operator*. A GVect transform by matrix is simply a rotation, while a GPoint transformed by a matrix is a full matrix transform (rotation, skew, translation, scale).

Member Typedef Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
typedef GVectBase<DATA_TYPE, SIZE> Amanith::GPoint< DATA_TYPE, SIZE >::BaseType

Placeholder for the base type.

Constructor & Destructor Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GPoint< DATA_TYPE, SIZE >::GPoint ( )

Default constructor. All components are initialized to zero.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GPoint< DATA_TYPE, SIZE >::GPoint ( const GPoint< DATA_TYPE, SIZE > & SrcPoint )

Copy constructor, construct a point with copy of SrcPoint

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GPoint< DATA_TYPE, SIZE >::GPoint ( const GVectBase< DATA_TYPE, SIZE > & SrcBaseVect )

Copy constructor, construct a point with copy of SrcBaseVect

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GPoint< DATA_TYPE, SIZE >::GPoint | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1
 | ) |

Construct a 2D point with 2 given values.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GPoint< DATA_TYPE, SIZE >::GPoint | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1,
 |  | const DATA_TYPE & | Val2
 | ) |

Construct a 3D point with 3 given values.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GPoint< DATA_TYPE, SIZE >::GPoint | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1,
 |  | const DATA_TYPE & | Val2,
 |  | const DATA_TYPE & | Val3
 | ) |

Construct a 4D point with 4 given values.

The documentation for this class was generated from the following file:
  • gvect.h


Amanith::GPoint< DATA_TYPE, SIZE > Member List

This is the complete list of members for Amanith::GPoint< DATA_TYPE, SIZE >, including all inherited members.

BaseType typedef | Amanith::GPoint< DATA_TYPE, SIZE >
Data() const | Amanith::GVectBase< DATA_TYPE, SIZE >
Fill(const DATA_TYPE Value) | Amanith::GVectBase< DATA_TYPE, SIZE >
GPoint() | Amanith::GPoint< DATA_TYPE, SIZE >
GPoint(const GPoint< DATA_TYPE, SIZE > &SrcPoint) | Amanith::GPoint< DATA_TYPE, SIZE >
GPoint(const GVectBase< DATA_TYPE, SIZE > &SrcBaseVect) | Amanith::GPoint< DATA_TYPE, SIZE >
GPoint(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GPoint< DATA_TYPE, SIZE >
GPoint(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GPoint< DATA_TYPE, SIZE >
GPoint(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3) | Amanith::GPoint< DATA_TYPE, SIZE >
GVectBase() | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const GVectBase< DATA_TYPE, SIZE > &SrcVec) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3) | Amanith::GVectBase< DATA_TYPE, SIZE >
operator!=(const GVectBase< DATA_TYPE, SIZE > &Vect) const | Amanith::GVectBase< DATA_TYPE, SIZE >
operator==(const GVectBase< DATA_TYPE, SIZE > &Vect) const | Amanith::GVectBase< DATA_TYPE, SIZE >
operator[](const GUInt32 Index) | Amanith::GVectBase< DATA_TYPE, SIZE >
operator[](const GUInt32 Index) const | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE *DataPtr) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3) | Amanith::GVectBase< DATA_TYPE, SIZE >
Swap(const GUInt32 Index1, const GUInt32 Index2) | Amanith::GVectBase< DATA_TYPE, SIZE >


Amanith::GPolyLineCurve1D

Amanith::GPolyLineCurve1D Class Reference

This class implements a 1D polyline multicurve. More...

Inheritance diagram for Amanith::GPolyLineCurve1D:

Amanith::GMultiCurve1D Amanith::GCurve1D Amanith::GElement List of all members.

Public Member Functions

  • GPolyLineCurve1D ()
  • GPolyLineCurve1D (const GElement *Owner)
  • ~GPolyLineCurve1D ()
  • void Clear ()
  • GUInt32 PointsCount () const
  • GBool ParamToKeyIndex (const GReal Param, GUInt32 &KeyIndex) const
  • GReal Point (const GUInt32 Index) const
  • GError SetPoint (const GUInt32 Index, const GReal NewPoint)
  • GError SetPoints (const GDynArray< GReal > &NewPoints, const GReal NewMinValue, const GReal NewMaxValue, const GBool Uniform=G_FALSE)
  • GError Key (const GUInt32 Index, GPolyLineKey1D &KeyValue) const
  • const GDynArray< GPolyLineKey1D > & Keys () const
  • GError SetKeys (const GDynArray< GPolyLineKey1D > &NewKeys)
  • GError SetKey (const GUInt32 Index, const GReal NewKeyValue)
  • GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • GReal Length (const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const
  • GReal Evaluate (const GReal u) const
  • GReal Derivative (const GDerivativeOrder Order, const GReal u) const
  • void DerivativeLR (const GDerivativeOrder Order, const GReal u, GReal &LeftDerivative, GReal &RightDerivative) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • void SortKeys ()
  • GError BaseClone (const GElement &Source)
  • GError DoCut (const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const
  • GError DoAddPoint (const GReal Parameter, const GReal *NewPoint, GUInt32 &Index, GBool &AlreadyExists)
  • GError DoRemovePoint (const GUInt32 Index)
  • GError DoGetPointParameter (const GUInt32 Index, GReal &Parameter) const
  • GError DoSetPointParameter (const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)

Detailed Description

This class implements a 1D polyline multicurve.

A polyline multicurve is a curve made of straight line traits.

Constructor & Destructor Documentation

Amanith::GPolyLineCurve1D::GPolyLineCurve1D ( )

Default constructor, constructs and empty polyline curve.

Amanith::GPolyLineCurve1D::GPolyLineCurve1D ( const GElement * Owner )

Constructor with kernel specification, constructs and empty polyline curve.

Amanith::GPolyLineCurve1D::~GPolyLineCurve1D ( )

Destructor, free all keys and other internal structures.

Member Function Documentation

GError Amanith::GPolyLineCurve1D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source polyline curve into this curve.

Reimplemented from Amanith::GMultiCurve1D.

const GClassID& Amanith::GPolyLineCurve1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiCurve1D.

void Amanith::GPolyLineCurve1D::Clear ( ) [virtual]

Clear the curve (remove keys, free internal structures and set an empty domain).

Reimplemented from Amanith::GCurve1D.

GReal Amanith::GPolyLineCurve1D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve1D.

void Amanith::GPolyLineCurve1D::DerivativeLR | ( | const GDerivativeOrder | Order,
 |  | const GReal | u,
 |  | GReal & | LeftDerivative,
 |  | GReal & | RightDerivative
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter. This method differs from the one of base GCurve1D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
LeftDerivative | the left derivative.
RightDerivative | the right derivative.
Note:
specified domain parameter is clamped by domain interval.

Reimplemented from Amanith::GMultiCurve1D.

const GClassID& Amanith::GPolyLineCurve1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiCurve1D.

GError Amanith::GPolyLineCurve1D::DoAddPoint | ( | const GReal | Parameter,
 |  | const GReal * | NewPoint,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Add a new (key)point for the curve.

Parameters:
Parameter | the domain parameter where to add the (key)point.
NewPoint | if not specified (NULL value) the point is created on curve. In this case the specified domain Parameter must reside completely inside the domain, else an G_OUT_OF_RANGE error is returned. If Newpoint is specified (non NULL) the point is created also outside domain range.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | a G_TRUE value means that the point has been created at a domain position already occupied by another (key)point. In this case the already existing point is overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

Implements Amanith::GMultiCurve1D.

GError Amanith::GPolyLineCurve1D::DoCut | ( | const GReal | u,
 |  | GCurve1D * | RightCurve,
 |  | GCurve1D * | LeftCurve
 | ) | const [protected, virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right polyline arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GPolyLineCurve1D classes (so cast is type-safe).

Implements Amanith::GCurve1D.

GError Amanith::GPolyLineCurve1D::DoGetPointParameter | ( | const GUInt32 | Index,
 |  | GReal & | Parameter
 | ) | const [protected, virtual]

Get domain parameter corresponding to specified (key)point index. Index is ensured to be valid.

Parameters:
Index | the point index, is ensured to be always valid.
Parameter | the outputted domain parameter, corresponding to the specified (key)point index.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve1D.

GError Amanith::GPolyLineCurve1D::DoRemovePoint ( const GUInt32 Index ) [protected, virtual]

Remove a (key)point from the curve. Index is ensured to be valid and we are sure that after removing we'll have (at least) a minimal (2-(key)points made) multi-curve.

Parameters:
Index the index of (key)point to be removed. Note that this value is ensured to be always valid.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve1D.

GError Amanith::GPolyLineCurve1D::DoSetPointParameter | ( | const GUInt32 | Index,
 |  | const GReal | NewParamValue,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Set domain parameter corresponding to specified (key)point index. The final effect is that a (key)point is moved from its domain position to another domain position.

Parameters:
Index | the point index, is ensured to be always valid.
NewParamValue | the new domain parameter, where to move the specified (key)point. It can be outside current domain.
NewIndex | the new position (internal index) occupied by the moved (key)point. This method outputs this value.
AlreadyExists | this method writes to this flag a G_TRUE value if the point has been moved in a domain position already occupied by another (key)point. In this case the already existing point is overridden by the moved point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

Implements Amanith::GMultiCurve1D.

GReal Amanith::GPolyLineCurve1D::Evaluate ( const GReal u ) const [virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve1D.

GError Amanith::GPolyLineCurve1D::Key | ( | const GUInt32 | Index,
 |  | GPolyLineKey1D & | KeyValue
 | ) | const

Get a key, specifying its index.

Parameters:
Index | the index of the key to be retrieved.
KeyValue | the variable where the requested key will be outputted.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

const GDynArray<GPolyLineKey1D>& Amanith::GPolyLineCurve1D::Keys ( ) const

Get the internal keys array.

GReal Amanith::GPolyLineCurve1D::Length | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const [virtual]

Returns the length of the curve between the 2 specified global domain values.

Parameters:
u0 | the lower bound of integral
u1 | the upper bound of integral
MaxError | the maximum relative error (precision) at witch we wanna calculate length.
Returns:
The length of curve, calculated in the domain interval [u0; u1].
Note:
For polyline curves the MaxError parameter is not used, but still required for consistent public interface.

Reimplemented from Amanith::GCurve1D.

GBool Amanith::GPolyLineCurve1D::ParamToKeyIndex | ( | const GReal | Param,
 |  | GUInt32 & | KeyIndex
 | ) | const

Given a domain value, it returns the span index that includes it.

Parameters:
Param | the domain parameter
KeyIndex | the lower key index of the interval where Param is included. Param is contained in the interval [KeyIndex, KeyIndex+1)
Returns:
G_TRUE if the domain value is inside the current domain, G_FALSE otherwise.
Note:
if Param is equal to DomainEnd(), then the index KeyIndex+1 is not valid. So you must check this case before calling ParamToKeyIndex.

GReal Amanith::GPolyLineCurve1D::Point ( const GUInt32 Index ) const [virtual]

Get Index-th key point; Index must be valid, else a point with infinitive components is returned.

Implements Amanith::GCurve1D.

GUInt32 Amanith::GPolyLineCurve1D::PointsCount ( ) const [virtual]

Returns number of key points.

Implements Amanith::GCurve1D.

GError Amanith::GPolyLineCurve1D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain.

All (key)points domain positions will be scaled and shifted to respect the new domain. The reparametrized curve is geometrically the same curve but parametrically it is different. In particular internal knots (key domain values) are scale/shifted, and derivatives module (magnitudes) are scaled too.

Parameters:
NewMinValue | the lower bound of the new domain.
NewMaxValue | the upper bound of the new domain.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if NewMinValue is greater than NewMaxValue they will be swapped, so any combination of values is valid.

Reimplemented from Amanith::GCurve1D.

GError Amanith::GPolyLineCurve1D::SetKey | ( | const GUInt32 | Index,
 |  | const GReal | NewKeyValue
 | ) |

Set a new geometric value.

Parameters:
Index | the index of the key we want to set. Must be valid.
NewKeyValue | the new value.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GPolyLineCurve1D::SetKeys ( const GDynArray< GPolyLineKey1D > & NewKeys )

Build the polyline curve, specifying keys.

Parameters:
NewKeys the keys that will constitute the curve. Can be unsorted by domain values.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
The specified keys array must contain at least 2 keys, else a G_INVALID_PARAMETER error code will be returned.

GError Amanith::GPolyLineCurve1D::SetPoint | ( | const GUInt32 | Index,
 |  | const GReal | NewPoint
 | ) | [virtual]

Set Index-th (key)point; Index must be valid.

Implements Amanith::GCurve1D.

GError Amanith::GPolyLineCurve1D::SetPoints | ( | const GDynArray< GReal > & | NewPoints,
 |  | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue,
 |  | const GBool | Uniform = G_FALSE
 | ) |

Construct a new polyline curve, specifying just interpolated (key)points.

Parameters:
NewPoints | the array of points of the curve. Each point will be interpolated (polyline curves passes through key points).
NewMinValue | the lower bound of the curve domain.
NewMaxValue | the upper bound of the curve domain.
Uniform | if G_TRUE, keys will be generated uniformly (spanning the new domain uniformly). If G_FALSE keys position will be calculated using a chord-length parametrization.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

void Amanith::GPolyLineCurve1D::SortKeys ( ) [protected]

Sort keys, in ascending order respect to domain parameters.

The documentation for this class was generated from the following files:
  • gpolylinecurve1d.h
  • gpolylinecurve1d.cpp


Amanith::GPolyLineCurve1D Member List

This is the complete list of members for Amanith::GPolyLineCurve1D, including all inherited members.

AddPoint(const GReal Parameter, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve1D
AddPoint(const GReal Parameter, const GReal Point, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve1D
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GPolyLineCurve1D | [protected, virtual]
ClassID() const | Amanith::GPolyLineCurve1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GPolyLineCurve1D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Cut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GCurve1D
Cut(const GReal u0, const GReal u1, GCurve1D *OutCurve) const | Amanith::GCurve1D
CutByLength(const GReal CurvePos, GCurve1D *RightCurve, GCurve1D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve1D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GPolyLineCurve1D | [virtual]
DerivativeLR(const GDerivativeOrder Order, const GReal u, GReal &LeftDerivative, GReal &RightDerivative) const | Amanith::GPolyLineCurve1D | [virtual]
DerivedClassID() const | Amanith::GPolyLineCurve1D | [virtual]
DoAddPoint(const GReal Parameter, const GReal *NewPoint, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GPolyLineCurve1D | [protected, virtual]
DoCut(const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const | Amanith::GPolyLineCurve1D | [protected, virtual]
DoGetPointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GPolyLineCurve1D | [protected, virtual]
Domain() const | Amanith::GCurve1D
DomainEnd() const | Amanith::GCurve1D
DomainStart() const | Amanith::GCurve1D
DoRemovePoint(const GUInt32 Index) | Amanith::GPolyLineCurve1D | [protected, virtual]
DoSetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GPolyLineCurve1D | [protected, virtual]
EndPoint() const | Amanith::GCurve1D
Evaluate(const GReal u) const | Amanith::GPolyLineCurve1D | [virtual]
GCurve1D() Amanith::GCurve1D
GCurve1D(const GElement *Owner) | Amanith::GCurve1D
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve1D | [virtual]
GMultiCurve1D() Amanith::GMultiCurve1D
GMultiCurve1D(const GElement *Owner) | Amanith::GMultiCurve1D
GPolyLineCurve1D() Amanith::GPolyLineCurve1D
GPolyLineCurve1D(const GElement *Owner) | Amanith::GPolyLineCurve1D
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GPolyLineKey1D &KeyValue) const | Amanith::GPolyLineCurve1D
Keys() const | Amanith::GPolyLineCurve1D
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GPolyLineCurve1D | [virtual]
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
ParamToKeyIndex(const GReal Param, GUInt32 &KeyIndex) const | Amanith::GPolyLineCurve1D
Point(const GUInt32 Index) const | Amanith::GPolyLineCurve1D | [virtual]
PointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GMultiCurve1D
PointsCount() const | Amanith::GPolyLineCurve1D | [virtual]
RemovePoint(const GUInt32 Index) | Amanith::GMultiCurve1D
Scale(const GReal Pivot, const GReal ScaleAmount) | Amanith::GCurve1D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GPolyLineCurve1D | [virtual]
SetEndPoint(const GReal NewValue) | Amanith::GCurve1D
SetKey(const GUInt32 Index, const GReal NewKeyValue) | Amanith::GPolyLineCurve1D
SetKeys(const GDynArray< GPolyLineKey1D > &NewKeys) | Amanith::GPolyLineCurve1D
SetPoint(const GUInt32 Index, const GReal NewPoint) | Amanith::GPolyLineCurve1D | [virtual]
SetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GMultiCurve1D
SetPoints(const GDynArray< GReal > &NewPoints, const GReal NewMinValue, const GReal NewMaxValue, const GBool Uniform=G_FALSE) | Amanith::GPolyLineCurve1D
SetStartPoint(const GReal NewValue) | Amanith::GCurve1D
SortKeys() | Amanith::GPolyLineCurve1D | [protected]
Speed(const GReal u) const | Amanith::GCurve1D
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve1D | [protected, static]
SpeedLR(const GReal u, GReal &LeftSpeed, GReal &RightSpeed) const | Amanith::GMultiCurve1D
StartPoint() const | Amanith::GCurve1D
Tangent(const GReal u) const | Amanith::GCurve1D
TangentLR(const GReal u, GReal &LeftTangent, GReal &RightTangent) const | Amanith::GMultiCurve1D
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve1D
Translate(const GReal Translation) | Amanith::GCurve1D
~GCurve1D() | Amanith::GCurve1D | [virtual]
~GElement() | Amanith::GElement | [virtual]
~GMultiCurve1D() | Amanith::GMultiCurve1D | [virtual]


Amanith::GPolyLineCurve1DProxy

Amanith::GPolyLineCurve1DProxy Class Reference

This class implements a GPolyLineCurve1D proxy (provider). More...

Inheritance diagram for Amanith::GPolyLineCurve1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GPolyLineCurve1D proxy (provider).

This proxy provides the creation of GPolyLineCurve1D class instances.

Member Function Documentation

const GClassID& Amanith::GPolyLineCurve1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GPolyLineCurve1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GPolyLineCurve1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GPolyLineCurve1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gpolylinecurve1d.h


Amanith::GPolyLineCurve1DProxy Member List

This is the complete list of members for Amanith::GPolyLineCurve1DProxy, including all inherited members.

ClassID() const | Amanith::GPolyLineCurve1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GPolyLineCurve1DProxy | [virtual]
DerivedClassID() const | Amanith::GPolyLineCurve1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GPolyLineCurve2D

Amanith::GPolyLineCurve2D Class Reference

This class implements a 2D polyline multicurve. More...

Inheritance diagram for Amanith::GPolyLineCurve2D:

Amanith::GMultiCurve2D Amanith::GCurve2D Amanith::GElement List of all members.

Public Member Functions

  • GPolyLineCurve2D ()
  • GPolyLineCurve2D (const GElement *Owner)
  • ~GPolyLineCurve2D ()
  • void Clear ()
  • GUInt32 PointsCount () const
  • GBool ParamToKeyIndex (const GReal Param, GUInt32 &KeyIndex) const
  • GPoint2 Point (const GUInt32 Index) const
  • GError SetPoint (const GUInt32 Index, const GPoint2 &NewPoint)
  • GError SetPoints (const GDynArray< GPoint2 > &NewPoints, const GReal NewMinValue, const GReal NewMaxValue, const GBool Uniform=G_FALSE)
  • GError Key (const GUInt32 Index, GPolyLineKey2D &KeyValue) const
  • const GDynArray< GPolyLineKey2D > & Keys () const
  • GError SetKeys (const GDynArray< GPolyLineKey2D > &NewKeys)
  • GError SetKey (const GUInt32 Index, const GPoint2 &NewKeyValue)
  • GError SetDomain (const GReal NewMinValue, const GReal NewMaxValue)
  • GBool IntersectRay (const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const
  • GReal Variation () const
  • GError Flatten (GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const
  • GReal Length (const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const
  • GPoint2 Evaluate (const GReal u) const
  • GVector2 Derivative (const GDerivativeOrder Order, const GReal u) const
  • void DerivativeLR (const GDerivativeOrder Order, const GReal u, GVector2 &LeftDerivative, GVector2 &RightDerivative) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • void SortKeys ()
  • GError BaseClone (const GElement &Source)
  • GError DoCut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const
  • GError DoAddPoint (const GReal Parameter, const GPoint2 *NewPoint, GUInt32 &Index, GBool &AlreadyExists)
  • GError DoRemovePoint (const GUInt32 Index)
  • GError DoGetPointParameter (const GUInt32 Index, GReal &Parameter) const
  • GError DoSetPointParameter (const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists)

Detailed Description

This class implements a 2D polyline multicurve.

A polyline multicurve is a curve made of straight line traits.

Constructor & Destructor Documentation

Amanith::GPolyLineCurve2D::GPolyLineCurve2D ( )

Default constructor, constructs and empty polyline curve.

Amanith::GPolyLineCurve2D::GPolyLineCurve2D ( const GElement * Owner )

Constructor with kernel specification, constructs and empty polyline curve.

Amanith::GPolyLineCurve2D::~GPolyLineCurve2D ( )

Destructor, free all keys and other internal structures.

Member Function Documentation

GError Amanith::GPolyLineCurve2D::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source polyline curve into this curve.

Reimplemented from Amanith::GMultiCurve2D.

const GClassID& Amanith::GPolyLineCurve2D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiCurve2D.

void Amanith::GPolyLineCurve2D::Clear ( ) [virtual]

Clear the curve (remove keys, free internal structures and set an empty domain).

Reimplemented from Amanith::GCurve2D.

GVector2 Amanith::GPolyLineCurve2D::Derivative | ( | const GDerivativeOrder | Order,
 |  | const GReal | u
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter.

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
Note:
specified domain parameter is clamped by domain interval.

Implements Amanith::GCurve2D.

void Amanith::GPolyLineCurve2D::DerivativeLR | ( | const GDerivativeOrder | Order,
 |  | const GReal | u,
 |  | GVector2 & | LeftDerivative,
 |  | GVector2 & | RightDerivative
 | ) | const [virtual]

Return the curve derivative calculated at specified domain parameter. This method differs from the one of base GCurve2D class in the number of returned values. This is due to the possibility that the curve is continuous but not derivable (in the sense that left and right derivatives are different).

Parameters:
Order | the order of derivative.
u | the domain parameter at witch we wanna evaluate curve derivative.
LeftDerivative | the left derivative.
RightDerivative | the right derivative.
Note:
specified domain parameter is clamped by domain interval.

Reimplemented from Amanith::GMultiCurve2D.

const GClassID& Amanith::GPolyLineCurve2D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiCurve2D.

GError Amanith::GPolyLineCurve2D::DoAddPoint | ( | const GReal | Parameter,
 |  | const GPoint2 * | NewPoint,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Add a new (key)point for the curve.

Parameters:
Parameter | the domain parameter where to add the (key)point.
NewPoint | if not specified (NULL value) the point is created on curve. In this case the specified domain Parameter must reside completely inside the domain, else an G_OUT_OF_RANGE error is returned. If Newpoint is specified (non NULL) the point is created also outside domain range.
Index | the position (internal index) occupied by the created (key)point.
AlreadyExists | a G_TRUE value means that the point has been created at a domain position already occupied by another (key)point. In this case the already existing point is overridden by the created point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

Implements Amanith::GMultiCurve2D.

GError Amanith::GPolyLineCurve2D::DoCut | ( | const GReal | u,
 |  | GCurve2D * | RightCurve,
 |  | GCurve2D * | LeftCurve
 | ) | const [protected, virtual]

Curve subdivision.

Cuts the curve at specified parameter, and return left and right polyline arcs.

Parameters:
u | domain parameter specifying where to cut the curve.
RightCurve | if non-NULL, the function must return the right arc generated by cutting operation.
LeftCurve | if non-NULL, the function must return the left arc generated by cutting operation.
Note:
The domain parameter is ensured to be completely inside the curve domain. Furthermore RightCurve and LeftCurve parameters, if specified, are ensured to be GPolyLineCurve2D classes (so cast is type-safe).

Implements Amanith::GCurve2D.

GError Amanith::GPolyLineCurve2D::DoGetPointParameter | ( | const GUInt32 | Index,
 |  | GReal & | Parameter
 | ) | const [protected, virtual]

Get domain parameter corresponding to specified (key)point index. Index is ensured to be valid.

Parameters:
Index | the point index, is ensured to be always valid.
Parameter | the outputted domain parameter, corresponding to the specified (key)point index.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve2D.

GError Amanith::GPolyLineCurve2D::DoRemovePoint ( const GUInt32 Index ) [protected, virtual]

Remove a (key)point from the curve. Index is ensured to be valid and we are sure that after removing we'll have (at least) a minimal (2-(key)points made) multi-curve.

Parameters:
Index the index of (key)point to be removed. Note that this value is ensured to be always valid.
Returns:
G_NO_ERROR if the function succeeds, an error code must be returned otherwise.

Implements Amanith::GMultiCurve2D.

GError Amanith::GPolyLineCurve2D::DoSetPointParameter | ( | const GUInt32 | Index,
 |  | const GReal | NewParamValue,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Set domain parameter corresponding to specified (key)point index. The final effect is that a (key)point is moved from its domain position to another domain position.

Parameters:
Index | the point index, is ensured to be always valid.
NewParamValue | the new domain parameter, where to move the specified (key)point. It can be outside current domain.
NewIndex | the new position (internal index) occupied by the moved (key)point. This method outputs this value.
AlreadyExists | this method writes to this flag a G_TRUE value if the point has been moved in a domain position already occupied by another (key)point. In this case the already existing point is overridden by the moved point.
Returns:
G_NO_ERROR if the function succeeds, an error code otherwise.

Implements Amanith::GMultiCurve2D.

GPoint2 Amanith::GPolyLineCurve2D::Evaluate ( const GReal u ) const [virtual]

Return the curve value calculated at specified domain parameter.

Parameters:
u the domain parameter at witch we wanna evaluate curve value.
Note:
if specified domain parameter is out of domain, StartPoint() or EndPoint() are returned (depending of witch side the parameter is out).

Implements Amanith::GCurve2D.

GError Amanith::GPolyLineCurve2D::Flatten | ( | GDynArray< GPoint2 > & | Contour,
 |  | const GReal | MaxDeviation,
 |  | const GBool | IncludeLastPoint = G_TRUE
 | ) | const [virtual]

Flats the curve specifying a max error/variation (squared chordal distance).

Parameters:
Contour | a dynamic array where this function has to append generated points.
MaxDeviation | maximum squared chordal distance we wanna reach (maximum permitted deviation).
IncludeLastPoint | if G_TRUE the function must append last curve point (the point corresponding to domain upper bound parameter). If G_FALSE last point must not be included.
Note:
For polyline curves the MaxDeviation parameter is not used, but still required for consistent public interface.

Implements Amanith::GCurve2D.

GBool Amanith::GPolyLineCurve2D::IntersectRay | ( | const GRay2 & | NormalizedRay,
 |  | GDynArray< GVector2 > & | Intersections,
 |  | const GReal | Precision = G_EPSILON,
 |  | const GUInt32 | MaxIterations = 100
 | ) | const [virtual]

Intersect the polyline curve with a normalized ray, and returns a list of intersections.

Parameters:
NormalizedRay | a normalized ray used for intersection test. Ray must be normalized, else incorrect results are possible.
Intersections | every found intersection will be appended to this array. Each intersection is a 2D vector; it has at position 0 the curve parameter (domain) value corresponding to the intersection, and at position 1 the ray parameter value corresponding to the intersection.
Precision | the precision used to find every solution.
MaxIterations | number of max iterations this method can loop for each found solution.
Note:
For polyline curves the MaxIterations parameter is not used, but still required for consistent public interface.

Implements Amanith::GCurve2D.

GError Amanith::GPolyLineCurve2D::Key | ( | const GUInt32 | Index,
 |  | GPolyLineKey2D & | KeyValue
 | ) | const

Get a key, specifying its index.

Parameters:
Index | the index of the key to be retrieved.
KeyValue | the variable where the requested key will be outputted.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

const GDynArray<GPolyLineKey2D>& Amanith::GPolyLineCurve2D::Keys ( ) const

Get the internal keys array.

GReal Amanith::GPolyLineCurve2D::Length | ( | const GReal | u0,
 |  | const GReal | u1,
 |  | const GReal | MaxError = G_EPSILON
 | ) | const [virtual]

Returns the length of the curve between the 2 specified domain parameter values.

Formally, a length of a differentiable curve is the finite integral of first derivative module, over the desired interval:

This implementation uses a Romberg integration schema.

Parameters:
u0 | the lower bound of integral
u1 | the upper bound of integral
MaxError | the maximum relative error (precision) at witch we wanna calculate length.
Returns:
The length of curve, calculated in the domain interval [u0; u1].
Note:
Before integration, the specified interval is checked and clamped to be be valid for this curve domain.
This method is virtual because for some specific curves (ex: polylines) this implementation couldn't be the faster one nor the correct (this implementation require a differentiable curve to be correct).

Reimplemented from Amanith::GCurve2D.

GBool Amanith::GPolyLineCurve2D::ParamToKeyIndex | ( | const GReal | Param,
 |  | GUInt32 & | KeyIndex
 | ) | const

Given a domain value, it returns the span index that includes it.

Parameters:
Param | the domain parameter
KeyIndex | the lower key index of the interval where Param is included. Param is contained in the interval [KeyIndex, KeyIndex+1)
Returns:
G_TRUE if the domain value is inside the current domain, G_FALSE otherwise.
Note:
if Param is equal to DomainEnd(), then the index KeyIndex+1 is not valid. So you must check this case before calling ParamToKeyIndex.

GPoint2 Amanith::GPolyLineCurve2D::Point ( const GUInt32 Index ) const [virtual]

Get Index-th key point; Index must be valid, else a point with infinitive components is returned.

Implements Amanith::GCurve2D.

GUInt32 Amanith::GPolyLineCurve2D::PointsCount ( ) const [virtual]

Returns number of key points.

Implements Amanith::GCurve2D.

GError Amanith::GPolyLineCurve2D::SetDomain | ( | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue
 | ) | [virtual]

Set curve domain.

All (key)points domain positions will be scaled and shifted to respect the new domain. The reparametrized curve is geometrically the same curve but parametrically it is different. In particular internal knots (key domain values) are scale/shifted, and derivatives module (magnitudes) are scaled too.

Parameters:
NewMinValue | the lower bound of the new domain.
NewMaxValue | the upper bound of the new domain.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
if NewMinValue is greater than NewMaxValue they will be swapped, so any combination of values is valid.

Reimplemented from Amanith::GCurve2D.

GError Amanith::GPolyLineCurve2D::SetKey | ( | const GUInt32 | Index,
 |  | const GPoint2 & | NewKeyValue
 | ) |

Set a new geometric value.

Parameters:
Index | the index of the key we want to set. Must be valid.
NewKeyValue | the new point 2D position.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

GError Amanith::GPolyLineCurve2D::SetKeys ( const GDynArray< GPolyLineKey2D > & NewKeys )

Build the polyline curve, specifying keys.

Parameters:
NewKeys the keys that will constitute the curve. Can be unsorted by domain values.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
The specified keys array must contain at least 2 keys, else a G_INVALID_PARAMETER error code will be returned.

GError Amanith::GPolyLineCurve2D::SetPoint | ( | const GUInt32 | Index,
 |  | const GPoint2 & | NewPoint
 | ) | [virtual]

Set Index-th (key)point; Index must be valid.

Implements Amanith::GCurve2D.

GError Amanith::GPolyLineCurve2D::SetPoints | ( | const GDynArray< GPoint2 > & | NewPoints,
 |  | const GReal | NewMinValue,
 |  | const GReal | NewMaxValue,
 |  | const GBool | Uniform = G_FALSE
 | ) |

Construct a new polyline curve, specifying just interpolated (key)points.

Parameters:
NewPoints | the array of points of the curve. Each point will be interpolated (polyline curves passes through key points).
NewMinValue | the lower bound of the curve domain.
NewMaxValue | the upper bound of the curve domain.
Uniform | if G_TRUE, keys will be generated uniformly (spanning the new domain uniformly). If G_FALSE keys position will be calculated using a chord-length parametrization.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

void Amanith::GPolyLineCurve2D::SortKeys ( ) [protected]

Sort keys, in ascending order respect to domain parameters.

GReal Amanith::GPolyLineCurve2D::Variation ( ) const [virtual]

Get variation (squared chordal distance) in the current domain range.

Implements Amanith::GCurve2D.

The documentation for this class was generated from the following files:
  • gpolylinecurve2d.h
  • gpolylinecurve2d.cpp


Amanith::GPolyLineCurve2D Member List

This is the complete list of members for Amanith::GPolyLineCurve2D, including all inherited members.

AddPoint(const GReal Parameter, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve2D
AddPoint(const GReal Parameter, const GPoint2 &Point, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GMultiCurve2D
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GPolyLineCurve2D | [protected, virtual]
ClassID() const | Amanith::GPolyLineCurve2D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
Clear() | Amanith::GPolyLineCurve2D | [virtual]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
Curvature(const GReal u) const | Amanith::GCurve2D
CurvatureLR(const GReal u, GReal &LeftCurvature, GReal &RightCurvature) const | Amanith::GMultiCurve2D
Cut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GCurve2D
Cut(const GReal u0, const GReal u1, GCurve2D *OutCurve) const | Amanith::GCurve2D
CutByLength(const GReal CurvePos, GCurve2D *RightCurve, GCurve2D *LeftCurve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D
CutByLength(const GReal CurvePos0, const GReal CurvePos1, GCurve2D *Curve, const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D
Derivative(const GDerivativeOrder Order, const GReal u) const | Amanith::GPolyLineCurve2D | [virtual]
DerivativeLR(const GDerivativeOrder Order, const GReal u, GVector2 &LeftDerivative, GVector2 &RightDerivative) const | Amanith::GPolyLineCurve2D | [virtual]
DerivedClassID() const | Amanith::GPolyLineCurve2D | [virtual]
DoAddPoint(const GReal Parameter, const GPoint2 *NewPoint, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GPolyLineCurve2D | [protected, virtual]
DoCut(const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const | Amanith::GPolyLineCurve2D | [protected, virtual]
DoGetPointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GPolyLineCurve2D | [protected, virtual]
Domain() const | Amanith::GCurve2D
DomainEnd() const | Amanith::GCurve2D
DomainStart() const | Amanith::GCurve2D
DoRemovePoint(const GUInt32 Index) | Amanith::GPolyLineCurve2D | [protected, virtual]
DoSetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GPolyLineCurve2D | [protected, virtual]
EndPoint() const | Amanith::GCurve2D
Evaluate(const GReal u) const | Amanith::GPolyLineCurve2D | [virtual]
Flatten(GDynArray< GPoint2 > &Contour, const GReal MaxDeviation, const GBool IncludeLastPoint=G_TRUE) const | Amanith::GPolyLineCurve2D | [virtual]
GCurve2D() Amanith::GCurve2D
GCurve2D(const GElement *Owner) | Amanith::GCurve2D
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GlobalParameter(GReal &Result, const GReal CurvePos, const GReal MaxError=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GCurve2D | [virtual]
GMultiCurve2D() Amanith::GMultiCurve2D
GMultiCurve2D(const GElement *Owner) | Amanith::GMultiCurve2D
GPolyLineCurve2D() Amanith::GPolyLineCurve2D
GPolyLineCurve2D(const GElement *Owner) | Amanith::GPolyLineCurve2D
IntersectRay(const GRay2 &NormalizedRay, GDynArray< GVector2 > &Intersections, const GReal Precision=G_EPSILON, const GUInt32 MaxIterations=100) const | Amanith::GPolyLineCurve2D | [virtual]
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GPolyLineKey2D &KeyValue) const | Amanith::GPolyLineCurve2D
Keys() const | Amanith::GPolyLineCurve2D
Length(const GReal u0, const GReal u1, const GReal MaxError=G_EPSILON) const | Amanith::GPolyLineCurve2D | [virtual]
Normal(const GReal u) const | Amanith::GCurve2D
NormalLR(const GReal u, GVector2 &LeftNormal, GVector2 &RightNormal) const | Amanith::GMultiCurve2D
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
ParamToKeyIndex(const GReal Param, GUInt32 &KeyIndex) const | Amanith::GPolyLineCurve2D
Point(const GUInt32 Index) const | Amanith::GPolyLineCurve2D | [virtual]
PointParameter(const GUInt32 Index, GReal &Parameter) const | Amanith::GMultiCurve2D
PointsCount() const | Amanith::GPolyLineCurve2D | [virtual]
RemovePoint(const GUInt32 Index) | Amanith::GMultiCurve2D
Rotate(const GPoint2 &Pivot, const GReal RadAmount) | Amanith::GCurve2D | [virtual]
Scale(const GPoint2 &Pivot, const GReal XScaleAmount, const GReal YScaleAmount) | Amanith::GCurve2D | [virtual]
SetDomain(const GReal NewMinValue, const GReal NewMaxValue) | Amanith::GPolyLineCurve2D | [virtual]
SetEndPoint(const GPoint2 &NewValue) | Amanith::GCurve2D
SetKey(const GUInt32 Index, const GPoint2 &NewKeyValue) | Amanith::GPolyLineCurve2D
SetKeys(const GDynArray< GPolyLineKey2D > &NewKeys) | Amanith::GPolyLineCurve2D
SetPoint(const GUInt32 Index, const GPoint2 &NewPoint) | Amanith::GPolyLineCurve2D | [virtual]
SetPointParameter(const GUInt32 Index, const GReal NewParamValue, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GMultiCurve2D
SetPoints(const GDynArray< GPoint2 > &NewPoints, const GReal NewMinValue, const GReal NewMaxValue, const GBool Uniform=G_FALSE) | Amanith::GPolyLineCurve2D
SetStartPoint(const GPoint2 &NewValue) | Amanith::GCurve2D
SortKeys() | Amanith::GPolyLineCurve2D | [protected]
Speed(const GReal u) const | Amanith::GCurve2D
SpeedEvaluationCallBack(const GReal u, void *Data) | Amanith::GCurve2D | [protected, static]
SpeedLR(const GReal u, GReal &LeftSpeed, GReal &RightSpeed) const | Amanith::GMultiCurve2D
StartPoint() const | Amanith::GCurve2D
Tangent(const GReal u) const | Amanith::GCurve2D
TangentLR(const GReal u, GVector2 &LeftTangent, GVector2 &RightTangent) const | Amanith::GMultiCurve2D
TotalLength(const GReal MaxError=G_EPSILON) const | Amanith::GCurve2D
Translate(const GVector2 &Translation) | Amanith::GCurve2D | [virtual]
Variation() const | Amanith::GPolyLineCurve2D | [virtual]
XForm(const GMatrix23 &Matrix) | Amanith::GCurve2D | [virtual]
XForm(const GMatrix33 &Matrix, const GBool DoProjection=G_TRUE) | Amanith::GCurve2D | [virtual]
~GCurve2D() | Amanith::GCurve2D | [virtual]
~GElement() | Amanith::GElement | [virtual]
~GMultiCurve2D() | Amanith::GMultiCurve2D | [virtual]


Amanith::GPolyLineCurve2DProxy

Amanith::GPolyLineCurve2DProxy Class Reference

This class implements a GPolyLineCurve2D proxy (provider). More...

Inheritance diagram for Amanith::GPolyLineCurve2DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GPolyLineCurve2D proxy (provider).

This proxy provides the creation of GPolyLineCurve2D class instances.

Member Function Documentation

const GClassID& Amanith::GPolyLineCurve2DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GPolyLineCurve2DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GPolyLineCurve2D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GPolyLineCurve2DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gpolylinecurve2d.h


Amanith::GPolyLineCurve2DProxy Member List

This is the complete list of members for Amanith::GPolyLineCurve2DProxy, including all inherited members.

ClassID() const | Amanith::GPolyLineCurve2DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GPolyLineCurve2DProxy | [virtual]
DerivedClassID() const | Amanith::GPolyLineCurve2DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GPolyLineKey1D

Amanith::GPolyLineKey1D Struct Reference

1D Polyline key structure. More...

List of all members.

Public Member Functions

  • GPolyLineKey1D ()
  • GPolyLineKey1D (const GReal _Parameter, const GReal _Value)
  • GPolyLineKey1D (const GPolyLineKey1D &Source)
  • GPolyLineKey1D & operator= (const GPolyLineKey1D &Source)

Public Attributes

  • GReal Parameter
  • GReal Value

Detailed Description

1D Polyline key structure.

This structure represents a 1D polyline key. The key is described by its domain parameter and its point position.

Constructor & Destructor Documentation

Amanith::GPolyLineKey1D::GPolyLineKey1D ( )

Default constructor, set domain parameter at 0 and point value at origin.

Amanith::GPolyLineKey1D::GPolyLineKey1D | ( | const GReal | _Parameter,
 |  | const GReal | _Value
 | ) |

Set constructor, specifying domain parameter and the 2D point value.

Amanith::GPolyLineKey1D::GPolyLineKey1D ( const GPolyLineKey1D & Source )

Copy constructor.

Member Function Documentation

GPolyLineKey1D& Amanith::GPolyLineKey1D::operator= ( const GPolyLineKey1D & Source )

Assignment operator.

Member Data Documentation

GReal Amanith::GPolyLineKey1D::Parameter

Domain parameter.

GReal Amanith::GPolyLineKey1D::Value

Key value.

The documentation for this struct was generated from the following file:
  • gpolylinecurve1d.h


Amanith::GPolyLineKey1D Member List

This is the complete list of members for Amanith::GPolyLineKey1D, including all inherited members.

GPolyLineKey1D() Amanith::GPolyLineKey1D
GPolyLineKey1D(const GReal _Parameter, const GReal _Value) | Amanith::GPolyLineKey1D
GPolyLineKey1D(const GPolyLineKey1D &Source) | Amanith::GPolyLineKey1D
operator=(const GPolyLineKey1D &Source) | Amanith::GPolyLineKey1D


Amanith::GPolyLineKey2D

Amanith::GPolyLineKey2D Struct Reference

Polyline key structure. More...

List of all members.

Public Member Functions

  • GPolyLineKey2D ()
  • GPolyLineKey2D (const GReal _Parameter, const GPoint2 &_Value)
  • GPolyLineKey2D (const GPolyLineKey2D &Source)
  • GPolyLineKey2D & operator= (const GPolyLineKey2D &Source)

Public Attributes

  • GReal Parameter
  • GPoint2 Value

Detailed Description

Polyline key structure.

This structure represents a polyline key. The key is described by its domain parameter and its point position.

Constructor & Destructor Documentation

Amanith::GPolyLineKey2D::GPolyLineKey2D ( )

Default constructor, set domain parameter at 0 and point value at origin.

Amanith::GPolyLineKey2D::GPolyLineKey2D | ( | const GReal | _Parameter,
 |  | const GPoint2 & | _Value
 | ) |

Set constructor, specifying domain parameter and the 2D point value.

Amanith::GPolyLineKey2D::GPolyLineKey2D ( const GPolyLineKey2D & Source )

Copy constructor.

Member Function Documentation

GPolyLineKey2D& Amanith::GPolyLineKey2D::operator= ( const GPolyLineKey2D & Source )

Assignment operator.

Member Data Documentation

GReal Amanith::GPolyLineKey2D::Parameter

Domain parameter.

GPoint2 Amanith::GPolyLineKey2D::Value

Key value, a 2D geometric point.

The documentation for this struct was generated from the following file:
  • gpolylinecurve2d.h


Amanith::GPolyLineKey2D Member List

This is the complete list of members for Amanith::GPolyLineKey2D, including all inherited members.

GPolyLineKey2D() Amanith::GPolyLineKey2D
GPolyLineKey2D(const GReal _Parameter, const GPoint2 &_Value) | Amanith::GPolyLineKey2D
GPolyLineKey2D(const GPolyLineKey2D &Source) | Amanith::GPolyLineKey2D
operator=(const GPolyLineKey2D &Source) | Amanith::GPolyLineKey2D


Amanith::GProperty

Amanith::GProperty Class Reference

This class represents a generic animated property. More...

Inheritance diagram for Amanith::GProperty:

Amanith::GAnimElement Amanith::GElement Amanith::GConstantProperty1D Amanith::GHermiteProperty1D Amanith::GLinearProperty1D Amanith::GMultiProperty1D Amanith::GFourConstantProperty1D Amanith::GFourHermiteProperty1D Amanith::GFourLinearProperty1D Amanith::GThreeConstantProperty1D Amanith::GThreeHermiteProperty1D Amanith::GThreeLinearProperty1D Amanith::GTwoConstantProperty1D Amanith::GTwoHermiteProperty1D Amanith::GTwoLinearProperty1D List of all members.

Public Member Functions

  • GProperty ()
  • GProperty (const GElement *Owner)
  • ~GProperty ()
  • const GString & Name () const
  • const GString & UpperName () const
  • virtual GTimeInterval Domain () const
  • const GKeyValue & DefaultValue () const
  • void SetDefaultValue (const GKeyValue &NewValue)
  • GBool IsKeyBased () const
  • GInt32 KeysCount () const
  • GError Key (const GUInt32 Index, GKeyValue &OutputKey) const
  • GError SetKey (const GUInt32 Index, const GKeyValue &NewKeyValue)
  • GError AddKey (const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists)
  • GError MoveKey (const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists)
  • GError RemoveKey (const GUInt32 Index)
  • GError SetKeys (const GDynArray< GKeyValue > &Keys)
  • GError RemoveKeys ()
  • virtual GError Value (GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const
  • virtual GError SetValue (const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE)
  • GProperty * EaseProperty () const
  • GError SetEaseProperty (const GProperty &EaseProperty)
  • void RemoveEaseProperty ()
  • const GBool ApplyEase ()
  • void SetApplyEasy (const GBool Apply)
  • GOORType OORBefore () const
  • void SetOORBefore (const GOORType NewOOR)
  • GOORType OORAfter () const
  • void SetOORAfter (const GOORType NewOOR)
  • GTimeValue OORTime (const GTimeValue TimePos) const
  • virtual GKeyType HandledType () const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Protected Member Functions

  • GError SetName (const GString &NewName)
  • void SetIsKeyBased (const GBool IsKeyBased)
  • virtual GError DoGetKey (const GUInt32 Index, GKeyValue &OutputKey) const
  • virtual GError DoSetKey (const GUInt32 Index, const GKeyValue &NewKeyValue)
  • virtual GError DoGetValue (GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const
  • virtual GError DoSetValue (const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod)
  • virtual GError DoAddKey (const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists)
  • virtual GError DoMoveKey (const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists)
  • virtual GError DoRemoveKey (const GUInt32 Index)
  • virtual GInt32 DoGetKeysCount () const
  • virtual GError DoSetKeys (const GDynArray< GKeyValue > &Keys)
  • GError BaseClone (const GElement &Source)

Detailed Description

This class represents a generic animated property.

An animated property is an 'entity' that changes its value during the time. Every GProperty has a name that identifies it, as well as an handled value type that represent the type of value that the property maintains (for example boolean, real, and so on). A property can be key-based or procedural, it can be checked using IsKeyBased() method. Key-based properties are the more used ones, and there are several methods to build and manipulate them. To get the property value at a specific time position, Value() method must be used. To set the property value at a specific time position, SetValue() method must be used.
Properties supports 2 important features, that are OOR (Out-Of-Range) behaviors and ease curves. OOR behaviors make sure that if we wanna get a value of a property outside its time domain (defined by its keys), we can get it, using a constant, loop or ping-pong time mapping. Ease curve can be used to remap time into itself (also knows as a time-spline or time-map), and produce accelerations and decelerations (and also time inversion!) during the property life.

Constructor & Destructor Documentation

Amanith::GProperty::GProperty ( )

Default constructor.

Amanith::GProperty::GProperty ( const GElement * Owner )

Default constructor with owner specification.

Amanith::GProperty::~GProperty ( )

Destructor, delete all keys and internal ease curve (if it exists).

Member Function Documentation

GError Amanith::GProperty::AddKey | ( | const GTimeValue | Time,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) |

Add a key on curve.

Parameters:
Time | the time position where to add the key.
Index | index of the created key.
AlreadyExists | G_TRUE if at specified Time position a key was already existing. In this case all remains untouched.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

const GBool Amanith::GProperty::ApplyEase ( )

If the property is keybased, this flag specify if easy spline must be applied or not.

GError Amanith::GProperty::BaseClone ( const GElement & Source ) [protected, virtual]

Cloning function, copies (physically) a Source GProperty class.

Reimplemented from Amanith::GAnimElement.

Reimplemented in Amanith::GMultiProperty1D, Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

const GClassID& Amanith::GProperty::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GAnimElement.

Reimplemented in Amanith::GMultiProperty1D, Amanith::GTwoHermiteProperty1D, Amanith::GThreeHermiteProperty1D, Amanith::GFourHermiteProperty1D, Amanith::GTwoLinearProperty1D, Amanith::GThreeLinearProperty1D, Amanith::GFourLinearProperty1D, Amanith::GTwoConstantProperty1D, Amanith::GThreeConstantProperty1D, Amanith::GFourConstantProperty1D, Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

const GKeyValue& Amanith::GProperty::DefaultValue ( ) const

Get default value.

const GClassID& Amanith::GProperty::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GAnimElement.

Reimplemented in Amanith::GMultiProperty1D, Amanith::GTwoHermiteProperty1D, Amanith::GThreeHermiteProperty1D, Amanith::GFourHermiteProperty1D, Amanith::GTwoLinearProperty1D, Amanith::GThreeLinearProperty1D, Amanith::GFourLinearProperty1D, Amanith::GTwoConstantProperty1D, Amanith::GThreeConstantProperty1D, Amanith::GFourConstantProperty1D, Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

virtual GError Amanith::GProperty::DoAddKey | ( | const GTimeValue | TimePos,
 |  | GUInt32 & | Index,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Add a point on curve, TimePos is ensured to be inside domain. Index will be the index occupied by the created key. AlreadyExists will be G_TRUE if at the specified TimePos there was already an existing key. This method must be implemented by all keybased properties.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

virtual GError Amanith::GProperty::DoGetKey | ( | const GUInt32 | Index,
 |  | GKeyValue & | OutputKey
 | ) | const [protected, virtual]

Here is ensured that Index is valid; This method MUST be implemented by all keybased properties.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

virtual GInt32 Amanith::GProperty::DoGetKeysCount ( ) const [protected, virtual]

Return the number of keys (if keybased). this method MUST be implemented by all keybased properties.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

virtual GError Amanith::GProperty::DoGetValue | ( | GKeyValue & | OutputValue,
 |  | GTimeInterval & | ValidInterval,
 |  | const GTimeValue | TimePos,
 |  | const GValueMethod | GetMethod
 | ) | const [protected, virtual]

Get property value at a specified time position.

Parameters:
OutputValue | the returned property value.
ValidInterval | the validity interval to update; property validity interval should be intersected with this interval.
TimePos | the time position where to sample the property value. In this method it is ensured to be inside domain interval.
GetMethod | the method used to get value.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
This method MUST be implemented by all properties.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

GTimeInterval Amanith::GProperty::Domain ( ) const [virtual]

Get time domain range; Every procedural property MUST implement this method.

virtual GError Amanith::GProperty::DoMoveKey | ( | const GUInt32 | Index,
 |  | const GReal | NewTimePos,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) | [protected, virtual]

Move a key to a different time position.

Parameters:
Index | the key that we wanna move, it is ensured valid.
NewTimePos | the new time position where to move the Index-th key.
NewIndex | the new index position associated to the moved key.
AlreadyExists | G_TRUE if at specified NewTimePos there was already a key. In this key it will be overridden by the moved key.
Note:
This method must be implemented by all keybased properties.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

virtual GError Amanith::GProperty::DoRemoveKey ( const GUInt32 Index ) [protected, virtual]

Index is ensured to be valid; This method must be implemented by all keybased properties.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

virtual GError Amanith::GProperty::DoSetKey | ( | const GUInt32 | Index,
 |  | const GKeyValue & | NewKeyValue
 | ) | [protected, virtual]

Here is ensured that Index is valid; This method MUST be implemented by all keybased properties.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

virtual GError Amanith::GProperty::DoSetKeys ( const GDynArray< GKeyValue > & Keys ) [protected, virtual]

Set all keys (they don't need to be sorted by time).

This function rebuilds the property animated track, specifying all the new keys.

Parameters:
Keys the array of keys, it is ensured to contain at least one entry.
Note:
Every key must be filled with value and time position. This method MUST be implemented by all keybased properties.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

virtual GError Amanith::GProperty::DoSetValue | ( | const GKeyValue & | InputValue,
 |  | const GTimeValue | TimePos,
 |  | const GValueMethod | SetMethod
 | ) | [protected, virtual]

Set the property value at a specified time position.

This method adds a new key at the specified time position, with the passed value.

Parameters:
InputValue | the value to set.
TimePos | the time position where to set the property value.
SetMethod | method used to set the value. For now, the only supported method is G_ABSOLUTE_VALUE.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
TimePos can be outside range, behavior is to append (at front/back) created key and expand domain. This method has sense only for key-based properties, and MUST be implemented by all key-based properties.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

GProperty* Amanith::GProperty::EaseProperty ( ) const

Get ease property, if exists.

Note:
Please do not call delete on returned pointer; if you want to remove ease property please call RemoveEaseProperty() method.

virtual GKeyType Amanith::GProperty::HandledType ( ) const [virtual]

Get handled key values. Every property MUST implement this method.

Reimplemented in Amanith::GHermiteProperty1D, Amanith::GLinearProperty1D, and Amanith::GConstantProperty1D.

GBool Amanith::GProperty::IsKeyBased ( ) const

G_TRUE if the property is keybased, G_FALSE if the property is procedural.

GError Amanith::GProperty::Key | ( | const GUInt32 | Index,
 |  | GKeyValue & | OutputKey
 | ) | const

Get a key value, specifying index. OutputKey will contain the value and the time-position.

GInt32 Amanith::GProperty::KeysCount ( ) const

Number of keys, -1 if property is not keybased.

GError Amanith::GProperty::MoveKey | ( | const GUInt32 | Index,
 |  | const GReal | NewTimePos,
 |  | GUInt32 & | NewIndex,
 |  | GBool & | AlreadyExists
 | ) |

Move a key to a different time position.

Parameters:
Index | the key that we wanna move, it must be valid.
NewTimePos | the new time position where to move the Index-th key.
NewIndex | the new index position associated to the moved key.
AlreadyExists | G_TRUE if at specified NewTimePos there was already a key. In this key it will be overridden by the moved key.

const GString& Amanith::GProperty::Name ( ) const

Get property name.

GOORType Amanith::GProperty::OORAfter ( ) const

Get OOR (out of range) behavior for time positions after (time)domain upper bound.

GOORType Amanith::GProperty::OORBefore ( ) const

Get OOR (out of range) behavior for time positions before (time)domain lower bound.

GTimeValue Amanith::GProperty::OORTime ( const GTimeValue TimePos ) const

Remap a (possible out of range) time into the corresponding one that it's ensured to lie inside domain interval.

void Amanith::GProperty::RemoveEaseProperty ( )

Remove and delete ease property.

GError Amanith::GProperty::RemoveKey ( const GUInt32 Index )

Remove a key by index.

GError Amanith::GProperty::RemoveKeys ( )

Remove all keys.

Note:
: the default/cached value will be the value associated to the first key.

void Amanith::GProperty::SetApplyEasy ( const GBool Apply )

If the property is keybased, this methods permit to specify if easy spline must be applied or not.

void Amanith::GProperty::SetDefaultValue ( const GKeyValue & NewValue )

Set default value. If passed value is not of the same type as HandledType(), a default 0(s) value will be used (only if current default value is undefined).

GError Amanith::GProperty::SetEaseProperty ( const GProperty & EaseProperty )

Set ease property.

The specified EaseProperty must have an HandledType() equal to G_REAL_KEY. Internally this method creates a new ease value and copies EaseProperty, so the specified parameter won't be touched.

void Amanith::GProperty::SetIsKeyBased ( const GBool IsKeyBased ) [protected]

Set keybased internal flag.

GError Amanith::GProperty::SetKey | ( | const GUInt32 | Index,
 |  | const GKeyValue & | NewKeyValue
 | ) |

Set a key value, specifying key index (NewKeyValue time position will be ignored, just value will be used).

GError Amanith::GProperty::SetKeys ( const GDynArray< GKeyValue > & Keys )

Set all keys (they don't need to be sorted by time).

This function rebuilds the property animated track, specifying all the new keys. The specified keys can be in any time-order, they will be sorted internally.

Parameters:
Keys the array of keys, it must contain at least one entry.
Note:
Every key must be filled with value and time position..

GError Amanith::GProperty::SetName ( const GString & NewName ) [protected]

Set property name.

void Amanith::GProperty::SetOORAfter ( const GOORType NewOOR )

Set OOR (out of range) behavior for time positions after (time)domain upper bound.

void Amanith::GProperty::SetOORBefore ( const GOORType NewOOR )

Set OOR (out of range) behavior for time positions before (time)domain lower bound.

GError Amanith::GProperty::SetValue | ( | const GKeyValue & | InputValue,
 |  | const GTimeValue | TimePos = 0,
 |  | const GValueMethod | SetMethod = G_ABSOLUTE_VALUE
 | ) | [virtual]

Set the property value at a specified time position.

This method adds a new key at the specified time position, with the passed value.

Parameters:
InputValue | the value to set.
TimePos | the time position where to set the property value.
SetMethod | method used to set the value. For now, the only supported method is G_ABSOLUTE_VALUE.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
Note:
TimePos can be outside range, behavior is to append (at front/back) created key and expand domain.

const GString& Amanith::GProperty::UpperName ( ) const

Get the upper-case version of property name; used by GAnimElement to do a fast property search by name.

GError Amanith::GProperty::Value | ( | GKeyValue & | OutputValue,
 |  | GTimeInterval & | ValidInterval,
 |  | const GTimeValue | TimePos = 0,
 |  | const GValueMethod | GetMethod = G_ABSOLUTE_VALUE
 | ) | const [virtual]

Get property value at a specified time position.

Parameters:
OutputValue | the returned property value.
ValidInterval | the validity interval to update; property validity interval should be intersected with this interval.
TimePos | the time position where to sample the property value.
GetMethod | the method used to get value. For now, the only supported method is G_ABSOLUTE_VALUE.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
The documentation for this class was generated from the following files:
  • gelement.h
  • gelement.cpp


Amanith::GProperty Member List

This is the complete list of members for Amanith::GProperty, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GProperty | [protected, virtual]
ClassID() const | Amanith::GProperty | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GProperty | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
HandledType() const | Amanith::GProperty | [virtual]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GPropertyProxy

Amanith::GPropertyProxy Class Reference

This class implements a GProperty proxy (provider). More...

Inheritance diagram for Amanith::GPropertyProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GProperty proxy (provider).

This proxy provides the creation of GProperty class instances.

Member Function Documentation

const GClassID& Amanith::GPropertyProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GPropertyProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GProperty instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GPropertyProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gelement.h


Amanith::GPropertyProxy Member List

This is the complete list of members for Amanith::GPropertyProxy, including all inherited members.

ClassID() const | Amanith::GPropertyProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GPropertyProxy | [virtual]
DerivedClassID() const | Amanith::GPropertyProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GProxyState

Amanith::GProxyState Class Reference

Proxy state descriptor. More...

List of all members.

Public Member Functions

  • GProxyState ()
  • const GElementProxy * Proxy () const

Detailed Description

Proxy state descriptor.

GProxyState class maintains the state of a proxy. State description is made of several fields:

Proxy: a reference to the proxy that this class maintains the state of. External: flag, if true it means that proxy has been loaded from an external file (typically a plugin). Loader: if proxy has been loaded from an external file, this field is an instance of a GPlugLoader that has been used to load file.

Constructor & Destructor Documentation

Amanith::GProxyState::GProxyState ( )

Constructor.

Member Function Documentation

const GElementProxy* Amanith::GProxyState::Proxy ( ) const

Get proxy pointer.

The documentation for this class was generated from the following file:
  • gkernel.h


Amanith::GProxyState Member List

This is the complete list of members for Amanith::GProxyState, including all inherited members.

GProxyState() | Amanith::GProxyState
Proxy() const | Amanith::GProxyState


Amanith::GQuadEdge2D

Amanith::GQuadEdge2D< DATA_TYPE > Class Template Reference

This class describes a quad-edge. More...

List of all members.

Public Member Functions

  • GQuadEdge2D (GMesh2D< DATA_TYPE > *Mesh)
  • GMeshEdge2D< DATA_TYPE > * Edges ()
  • GMesh2D< DATA_TYPE > * Mesh ()

Detailed Description

template<typename DATA_TYPE>
class Amanith::GQuadEdge2D< DATA_TYPE >

This class describes a quad-edge.

The quad-edge data structure is useful for describing the topology and geometry of polyhedra. It can be used, for examples, when implementing subdivision surfaces because it is elegant and it can answer adjacency queries efficiently.

It can't represent all collections of polygons; it is limited to manifolds (surfaces where the neighborhood of each point is topologically equivalent to a disk; edges are always shared by two faces). In the quad-edge data structure, there are classes for vertexes, edges, and faces, but edges play the leading role. The edges store complete topological information; all of the topological information stored by the faces and vertexes is redundant with information in the edges. Figuratively speaking, the edges form the skeleton, and the vertexes and faces are optional decorations, hanging off of the edges. Vertexes hold most of the geometric (shape) information.

Original quad-edge data structure due to Guibas and Stolfi (1985). "Leonidas Guibas and Jorge Stolfi, Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams, ACM Transactions on Graphics, 4(2), 1985, 75-123"

Constructor & Destructor Documentation

template<typename DATA_TYPE>
Amanith::GQuadEdge2D< DATA_TYPE >::GQuadEdge2D ( GMesh2D< DATA_TYPE > * Mesh )

Constructor, initialize the edges of this quad edge with no connections.

Member Function Documentation

template<typename DATA_TYPE>
GMeshEdge2D<DATA_TYPE>* Amanith::GQuadEdge2D< DATA_TYPE >::Edges ( )

Get edges.

template<typename DATA_TYPE>
GMesh2D<DATA_TYPE>* Amanith::GQuadEdge2D< DATA_TYPE >::Mesh ( )

Return the mesh this edge belongs to.

The documentation for this class was generated from the following file:
  • gmesh2d.h


Amanith::GQuadEdge2D< DATA_TYPE > Member List

This is the complete list of members for Amanith::GQuadEdge2D< DATA_TYPE >, including all inherited members.

Edges() Amanith::GQuadEdge2D< DATA_TYPE >
GQuadEdge2D(GMesh2D< DATA_TYPE > *Mesh) Amanith::GQuadEdge2D< DATA_TYPE >


Amanith::GQuat

Amanith::GQuat< DATA_TYPE > Class Template Reference

This template class encapsulate quaternion behaviors. More...

List of all members.

Public Member Functions

  • GQuat ()
  • GQuat (const DATA_TYPE X, const DATA_TYPE Y, const DATA_TYPE Z, const DATA_TYPE W)
  • GQuat (const GQuat< DATA_TYPE > &Source)
  • void Set (const DATA_TYPE X, const DATA_TYPE Y, const DATA_TYPE Z, const DATA_TYPE W)
  • void Get (DATA_TYPE &X, DATA_TYPE &Y, DATA_TYPE &Z, DATA_TYPE &W)
  • DATA_TYPE & operator[] (const GUInt32 Index)
  • const DATA_TYPE & operator[] (const GUInt32 Index) const
  • const DATA_TYPE * Data () const
  • void Swap (const GUInt32 Index1, const GUInt32 Index2)
  • GBool operator== (const GQuat< DATA_TYPE > &Quat) const
  • GBool operator!= (const GQuat< DATA_TYPE > &Quat) const
  • GQuat< DATA_TYPE > & operator *= (const DATA_TYPE s)
  • GQuat< DATA_TYPE > operator * (const DATA_TYPE s)
  • GQuat< DATA_TYPE > operator- ()
  • GQuat< DATA_TYPE > & operator/= (const DATA_TYPE s)
  • GQuat< DATA_TYPE > operator/ (const DATA_TYPE s)
  • GQuat< DATA_TYPE > & operator+= (const GQuat< DATA_TYPE > &Quat)
  • GQuat< DATA_TYPE > operator+ (const GQuat< DATA_TYPE > &Quat)
  • GQuat< DATA_TYPE > & operator-= (const GQuat< DATA_TYPE > &Quat)
  • GQuat< DATA_TYPE > operator- (const GQuat< DATA_TYPE > &Quat)
  • GQuat< DATA_TYPE > operator * (const GQuat< DATA_TYPE > &Quat)
  • GQuat< DATA_TYPE > & operator *= (const GQuat< DATA_TYPE > &Quat)
  • GQuat< DATA_TYPE > operator/ (const GQuat< DATA_TYPE > &Quat)
  • GQuat< DATA_TYPE > & operator/= (const GQuat< DATA_TYPE > &Quat)
  • DATA_TYPE LengthSquared () const
  • DATA_TYPE Length () const
  • DATA_TYPE Normalize ()
  • GBool IsNormalized (const DATA_TYPE Epsilon=G_EPSILON)
  • GQuat< DATA_TYPE > Conj () const
  • GQuat< DATA_TYPE > Invert () const
  • GQuat< DATA_TYPE > Exp () const
  • GQuat< DATA_TYPE > Log () const

Protected Member Functions

  • void Mult (GQuat< DATA_TYPE > &Result, const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2)
  • void Div (GQuat< DATA_TYPE > &Result, const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > Quat2)

Detailed Description

template<typename DATA_TYPE>
class Amanith::GQuat< DATA_TYPE >

This template class encapsulate quaternion behaviors.

For exhaustive informations about quaternions, please have a see at these references:

  • Advanced Animation and Rendering Techniques: pp363-365
  • Animating Rotation with Quaternion Curves, Ken Shoemake, SIGGRAPH Proceedings Vol 19, Number 3, 1985
  • Quaternion Calculus for Animation, Ken Shoemake SIGGRAPH course notes 1989
  • Game Developer Magazine: Feb 98, pg.34-42
  • On quaternions; or on a new system of imaginaries in algebra, Sir William Rowan Hamilton, Philosophical Magazine, xxv, pp. 10-13 (July 1844)
  • You also can find more on quaternions at http://www.gamasutra.com/features/19980703/quaternions_01.htm

Parameters:
DATA_TYPE the internal type used for the quaternion components.

Constructor & Destructor Documentation

template<typename DATA_TYPE>
Amanith::GQuat< DATA_TYPE >::GQuat ( )

Default constructor, initializes to quaternion multiplication identity [x, y, z, w] == [0, 0, 0, 1].

Note:
the addition identity is [0, 0, 0, 0]

template<typename DATA_TYPE>
Amanith::GQuat< DATA_TYPE >::GQuat | ( | const DATA_TYPE | X,
 |  | const DATA_TYPE | Y,
 |  | const DATA_TYPE | Z,
 |  | const DATA_TYPE | W
 | ) |

Set constructor.

template<typename DATA_TYPE>
Amanith::GQuat< DATA_TYPE >::GQuat ( const GQuat< DATA_TYPE > & Source )

Copy constructor.

Member Function Documentation

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::Conj ( ) const

Quaternion complex conjugate.

template<typename DATA_TYPE>
const DATA_TYPE* Amanith::GQuat< DATA_TYPE >::Data ( ) const

Get a pointer to the quaternion internal data.

template<typename DATA_TYPE>
void Amanith::GQuat< DATA_TYPE >::Div | ( | GQuat< DATA_TYPE > & | Result,
 |  | const GQuat< DATA_TYPE > & | Quat1,
 |  | const GQuat< DATA_TYPE > | Quat2
 | ) | [protected]

Quotient of two quaternions.

Returns:
= Quat1 * (1 / Quat2) (where 1 / Quat2 is applied first to any transformed geometry)

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::Exp ( ) const

Complex exponentiation.

template<typename DATA_TYPE>
void Amanith::GQuat< DATA_TYPE >::Get | ( | DATA_TYPE & | X,
 |  | DATA_TYPE & | Y,
 |  | DATA_TYPE & | Z,
 |  | DATA_TYPE & | W
 | ) |

Get the raw data elements of the quaternion.

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::Invert ( ) const

Quaternion multiplicative inverse.

Returns:
(conjugate / length)

template<typename DATA_TYPE>
GBool Amanith::GQuat< DATA_TYPE >::IsNormalized ( const DATA_TYPE Epsilon = G_EPSILON )

Determines if the given quaternion is normalized within the given tolerance. The quaternion is normalized if its lengthSquared is 1.

Parameters:
Epsilon the epsilon tolerance
Returns:
G_TRUE if the quaternion is normalized under the specified epsilon, G_FALSE otherwise.

template<typename DATA_TYPE>
DATA_TYPE Amanith::GQuat< DATA_TYPE >::Length ( ) const

Quaternion "absolute" (also known as vector length or magnitude).

template<typename DATA_TYPE>
DATA_TYPE Amanith::GQuat< DATA_TYPE >::LengthSquared ( ) const

Quaternion "norm" (also known as vector length squared).

Using this can be faster than using length for some operations.

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::Log ( ) const

Complex logarithm.

template<typename DATA_TYPE>
void Amanith::GQuat< DATA_TYPE >::Mult | ( | GQuat< DATA_TYPE > & | Result,
 |  | const GQuat< DATA_TYPE > & | Quat1,
 |  | const GQuat< DATA_TYPE > & | Quat2
 | ) | [protected]

Product of two quaternions (quaternion product).

Multiplication of quaternions is much like multiplication of typical complex numbers.

Returns:
Quat1 * Quat2 (where Quat2 would be applied first to any transformed geometry)

template<typename DATA_TYPE>
DATA_TYPE Amanith::GQuat< DATA_TYPE >::Normalize ( )

Normalized this quaternion.

Precondition:
magnitude should be > 0, otherwise no calculation is done.
Returns:
the quaternion length before normalization.

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::operator * ( const GQuat< DATA_TYPE > & Quat )

Product of two quaternions (quaternion product).

Does quaternion multiplication.

Returns:
q1 * q2 (where q2 would be applied first to any transformed geometry)
Todo:
meta programming on quaternion operator*()

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::operator * ( const DATA_TYPE s )

Quaternion scalar multiplication.

template<typename DATA_TYPE>
GQuat<DATA_TYPE>& Amanith::GQuat< DATA_TYPE >::operator *= ( const GQuat< DATA_TYPE > & Quat )

Quaternion post multiplication

Returns:
this * q2 (where q2 is applied first to any transformed geometry)

template<typename DATA_TYPE>
GQuat<DATA_TYPE>& Amanith::GQuat< DATA_TYPE >::operator *= ( const DATA_TYPE s )

Quaternion scalar multiplication.

template<typename DATA_TYPE>
GBool Amanith::GQuat< DATA_TYPE >::operator!= ( const GQuat< DATA_TYPE > & Quat ) const

Compare two quaternions to see if they are not EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Quat the quaternion to compare to
Returns:
G_TRUE if they are not equal, G_FALSE otherwise.

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::operator+ ( const GQuat< DATA_TYPE > & Quat )

Quaternion addition.

template<typename DATA_TYPE>
GQuat<DATA_TYPE>& Amanith::GQuat< DATA_TYPE >::operator+= ( const GQuat< DATA_TYPE > & Quat )

Quaternion addition.

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::operator- ( const GQuat< DATA_TYPE > & Quat )

Quaternion subtraction.

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::operator- ( )

Quaternion negation, unary operator-.

Return a quaternion that is the negative of this quaternion. The negative of a rotation quaternion is geometrically equivalent to the original. There exist 2 quaternions for every possible rotation.

Returns:
returns the negation of the given quaternion.

template<typename DATA_TYPE>
GQuat<DATA_TYPE>& Amanith::GQuat< DATA_TYPE >::operator-= ( const GQuat< DATA_TYPE > & Quat )

Quaternion subtraction.

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::operator/ ( const GQuat< DATA_TYPE > & Quat )

Quotient of two quaternions

Returns:
this * (1 / Quat) (where 1 / Quat is applied first to any transformed geometry)

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::GQuat< DATA_TYPE >::operator/ ( const DATA_TYPE s )

Quaternion scalar division.

template<typename DATA_TYPE>
GQuat<DATA_TYPE>& Amanith::GQuat< DATA_TYPE >::operator/= ( const GQuat< DATA_TYPE > & Quat )

Quotient of two quaternions.

template<typename DATA_TYPE>
GQuat<DATA_TYPE>& Amanith::GQuat< DATA_TYPE >::operator/= ( const DATA_TYPE s )

Quaternion scalar division.

template<typename DATA_TYPE>
GBool Amanith::GQuat< DATA_TYPE >::operator== ( const GQuat< DATA_TYPE > & Quat ) const

Compare two quaternions to see if they are EXACTLY the same. In other words, this comparison is done with zero tolerance.

Parameters:
Quat the quaternion to compare to
Returns:
G_TRUE if they are equal, G_FALSE otherwise.

template<typename DATA_TYPE>
const DATA_TYPE& Amanith::GQuat< DATA_TYPE >::operator[] ( const GUInt32 Index ) const

Bracket operator, raw data accessor (const version).

template<typename DATA_TYPE>
DATA_TYPE& Amanith::GQuat< DATA_TYPE >::operator[] ( const GUInt32 Index )

Bracket operator, raw data accessor.

template<typename DATA_TYPE>
void Amanith::GQuat< DATA_TYPE >::Set | ( | const DATA_TYPE | X,
 |  | const DATA_TYPE | Y,
 |  | const DATA_TYPE | Z,
 |  | const DATA_TYPE | W
 | ) |

Directly set the quaternion's values.

template<typename DATA_TYPE>
void Amanith::GQuat< DATA_TYPE >::Swap | ( | const GUInt32 | Index1,
 |  | const GUInt32 | Index2
 | ) |

Swap function: swap two data elements.

The documentation for this class was generated from the following file:
  • gquat.h


Amanith::GQuat< DATA_TYPE > Member List

This is the complete list of members for Amanith::GQuat< DATA_TYPE >, including all inherited members.

Conj() const | Amanith::GQuat< DATA_TYPE > |
Data() const | Amanith::GQuat< DATA_TYPE > |
Div(GQuat< DATA_TYPE > &Result, const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > Quat2) | Amanith::GQuat< DATA_TYPE > | [protected]
Exp() const | Amanith::GQuat< DATA_TYPE > |
Get(DATA_TYPE &X, DATA_TYPE &Y, DATA_TYPE &Z, DATA_TYPE &W) | Amanith::GQuat< DATA_TYPE > |
GQuat() | Amanith::GQuat< DATA_TYPE > |
GQuat(const DATA_TYPE X, const DATA_TYPE Y, const DATA_TYPE Z, const DATA_TYPE W) | Amanith::GQuat< DATA_TYPE > |
GQuat(const GQuat< DATA_TYPE > &Source) | Amanith::GQuat< DATA_TYPE > |
Invert() const | Amanith::GQuat< DATA_TYPE > |
IsNormalized(const DATA_TYPE Epsilon=G_EPSILON) | Amanith::GQuat< DATA_TYPE > |
Length() const | Amanith::GQuat< DATA_TYPE > |
LengthSquared() const | Amanith::GQuat< DATA_TYPE > |
Log() const | Amanith::GQuat< DATA_TYPE > |
Mult(GQuat< DATA_TYPE > &Result, const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2) | Amanith::GQuat< DATA_TYPE > | [protected]
Normalize() | Amanith::GQuat< DATA_TYPE > |
operator *(const DATA_TYPE s) | Amanith::GQuat< DATA_TYPE > |
operator *(const GQuat< DATA_TYPE > &Quat) | Amanith::GQuat< DATA_TYPE > |
operator *=(const DATA_TYPE s) | Amanith::GQuat< DATA_TYPE > |
operator *=(const GQuat< DATA_TYPE > &Quat) | Amanith::GQuat< DATA_TYPE > |
operator!=(const GQuat< DATA_TYPE > &Quat) const | Amanith::GQuat< DATA_TYPE > |
operator+(const GQuat< DATA_TYPE > &Quat) | Amanith::GQuat< DATA_TYPE > |
operator+=(const GQuat< DATA_TYPE > &Quat) | Amanith::GQuat< DATA_TYPE > |
operator-() | Amanith::GQuat< DATA_TYPE > |
operator-(const GQuat< DATA_TYPE > &Quat) | Amanith::GQuat< DATA_TYPE > |
operator-=(const GQuat< DATA_TYPE > &Quat) | Amanith::GQuat< DATA_TYPE > |
operator/(const DATA_TYPE s) | Amanith::GQuat< DATA_TYPE > |
operator/(const GQuat< DATA_TYPE > &Quat) | Amanith::GQuat< DATA_TYPE > |
operator/=(const DATA_TYPE s) | Amanith::GQuat< DATA_TYPE > |
operator/=(const GQuat< DATA_TYPE > &Quat) | Amanith::GQuat< DATA_TYPE > |
operator==(const GQuat< DATA_TYPE > &Quat) const | Amanith::GQuat< DATA_TYPE > |
operator[](const GUInt32 Index) | Amanith::GQuat< DATA_TYPE > |
operator[](const GUInt32 Index) const | Amanith::GQuat< DATA_TYPE > |
Set(const DATA_TYPE X, const DATA_TYPE Y, const DATA_TYPE Z, const DATA_TYPE W) | Amanith::GQuat< DATA_TYPE > |
Swap(const GUInt32 Index1, const GUInt32 Index2) | Amanith::GQuat< DATA_TYPE > |


Amanith::GSubChar2D

Amanith::GSubChar2D Struct Reference

This structure describe a subchar used by multy-glyphs font character. More...

List of all members.

Public Attributes

  • GInt32 GlyphIndex
  • GInt32 Flags
  • GMatrix33 Transformation

Detailed Description

This structure describe a subchar used by multy-glyphs font character.

Member Data Documentation

GInt32 Amanith::GSubChar2D::Flags

Internal flag (sorry, but it's not documented by FreeType).

GInt32 Amanith::GSubChar2D::GlyphIndex

The glyph index of the subchar.

GMatrix33 Amanith::GSubChar2D::Transformation

Transformation to apply to this subchar.

The documentation for this struct was generated from the following file:
  • gfont2d.h


Amanith::GSubChar2D Member List

This is the complete list of members for Amanith::GSubChar2D, including all inherited members.

Flags | Amanith::GSubChar2D
GlyphIndex | Amanith::GSubChar2D
Transformation | Amanith::GSubChar2D


Amanith::GSystemInfo

Amanith::GSystemInfo Struct Reference

Structure used to store system informations. More...

List of all members.

Public Attributes

  • GUInt32 WordSize
  • GEndianType EndianType
  • GChar8 TrailerPathDelimiter
  • GString DynamicLibExtension
  • GInt32 OSMinorVersion
  • GInt32 OSMajorVersion
  • GInt32 OSBuildNumber

Detailed Description

Structure used to store system informations.

Member Data Documentation

GString Amanith::GSystemInfo::DynamicLibExtension

Extension used by dynamic library files.

GEndianType Amanith::GSystemInfo::EndianType

Endian type.

GInt32 Amanith::GSystemInfo::OSBuildNumber

Operating system build number.

GInt32 Amanith::GSystemInfo::OSMajorVersion

Operating system major version.

GInt32 Amanith::GSystemInfo::OSMinorVersion

Operating system minor version.

GChar8 Amanith::GSystemInfo::TrailerPathDelimiter

Delimiter character used to delimit paths.

GUInt32 Amanith::GSystemInfo::WordSize

Word size, expressed in bits.

The documentation for this struct was generated from the following file:
  • gglobal.h


Amanith::GSystemInfo Member List

This is the complete list of members for Amanith::GSystemInfo, including all inherited members.

DynamicLibExtension | Amanith::GSystemInfo
EndianType | Amanith::GSystemInfo
OSBuildNumber | Amanith::GSystemInfo
OSMajorVersion | Amanith::GSystemInfo
OSMinorVersion | Amanith::GSystemInfo
TrailerPathDelimiter | Amanith::GSystemInfo
WordSize | Amanith::GSystemInfo


Amanith::GTesselator2D

Amanith::GTesselator2D Class Reference

This class implements a 2D shape triangulator. More...

List of all members.

Public Member Functions

  • GTesselator2D ()
  • ~GTesselator2D ()
  • GError Tesselate (const GDynArray< GPoint2 > &Points, const GDynArray< GInt32 > &PointsPerContour, GDynArray< GPoint< GDouble, 2 > > &Triangles, const GFillBehavior FillRule=G_ODD_EVEN_RULE)
  • GError Tesselate (const GDynArray< GPoint2 > &Points, const GDynArray< GInt32 > &PointsPerContour, GDynArray< GPoint< GDouble, 2 > > &TriangPoints, GDynArray< GULong > &TriangIds, const GFillBehavior FillRule=G_ODD_EVEN_RULE)

Detailed Description

This class implements a 2D shape triangulator.

Amanith triangulator handles holes and non-simple contours. Some common degenerations are supported too, for example repeated points, coincident points and (partially)overlapping edges. The implemented algorithm is a robust sweep-line. It consist of two main steps:

  1. Decompose the 'interior' region (the plane region that will be solid/filled) into X-axis monotone disjointed regions.
  2. Triangulate each monotone piece with a greedy linear (in time complexity) algorithm.

The general step is to sweep a vertical line, as the classic Bentley-Ottmann algorithm do. The so called Y-structure (also known as edges dictionary) is an AVL tree (maybe next version will use a skip list), and the so called X-structure is a priority queue (implemented as a simple sorted list).
The overall complexity is (N + K)Log2(N), where N is the total number of segments, K is the number of intersections that occur between segments (intersections can derive from non simple contours or they can be due to contours intersections), and Log2 is the logarithm to base 2 function. Internally, the topology of generated monotone regions, is maintained by a GMesh2D, that is used to quickly manage adjacencies and split/merge operations.
For a simple triangulation history and theory you can check this clear document (we have based out work also on this paper): http://www.cs.ucsb.edu/~suri/cs235/Triangulation.pdf

Constructor & Destructor Documentation

Amanith::GTesselator2D::GTesselator2D ( )

Default constructor.

Amanith::GTesselator2D::~GTesselator2D ( )

Destructor.

Member Function Documentation

GError Amanith::GTesselator2D::Tesselate | ( | const GDynArray< GPoint2 > & | Points,
 |  | const GDynArray< GInt32 > & | PointsPerContour,
 |  | GDynArray< GPoint< GDouble, 2 > > & | TriangPoints,
 |  | GDynArray< GULong > & | TriangIds,
 |  | const GFillBehavior | FillRule = G_ODD_EVEN_RULE
 | ) |

Build a valid triangulation of given contours and holes. The triangulation is based on a robust sweep-line algorithm, see GTesselator2D class reference and forum posts for more details and use example. Unlike other triangulators, Amanith tesselator does not require that contours (be they holes or not) must be given in ccw or cw order. This make Amanith tesselator more general and adaptable to other high-level libraries. Here's an example of the typical use:

    GDynArray< GPoint<GDouble, 2> > pts;
    GDynArray<GInt32> idx;

    // push point for a square
    pts.push_back(GPoint2(0, 0));
    pts.push_back(GPoint2(10, 0));
    pts.push_back(GPoint2(10, 10));
    pts.push_back(GPoint2(0, 10));
    idx.push_back(4);
    // push points for a triangle hole (inside the previous square).
    pts.push_back(GPoint2(3, 3));
    pts.push_back(GPoint2(7, 3));
    pts.push_back(GPoint2(5, 8));
    idx.push_back(3);

    GDynArray< GPoint<GDouble, 2> > triPoints;
    GDynArray<GULong> triIndexes;
    GTesselator2D tesselator;

    tesselator.Tesselate(pts, idx, triPoints, triIndexes);
    for (GUInt32 i = 0; i < triPoints.size(); i+=3)
        DrawTriangle(triPoints[triIndexes[i]], triPoints[triIndexes[i + 1]], triPoints[triIndexes[i + 2]]);
Parameters:
Points | the array containing the contours points.
PointsPerContour | an array containing the number of point for every contour.
TriangPoints | the outputted array of triangles points.
TriangIds | the outputted array of triangles indexes. Each triangle is made of 3 vertexes, so in this array there will be triplets of indexes, one triple for each triangle. Indexes are consecutive, so first triplet describes the first triangle, second triplet describes the second triangle, and so on.
FillRule | the filling rule.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
Please keep OddFill parameter G_TRUE. This is the only supported mode for this version.

GError Amanith::GTesselator2D::Tesselate | ( | const GDynArray< GPoint2 > & | Points,
 |  | const GDynArray< GInt32 > & | PointsPerContour,
 |  | GDynArray< GPoint< GDouble, 2 > > & | Triangles,
 |  | const GFillBehavior | FillRule = G_ODD_EVEN_RULE
 | ) |

Build a valid triangulation of given contours and holes. The triangulation is based on a robust sweep-line algorithm, see GTesselator2D class reference and forum posts for more details and use example. Unlike other triangulators, Amanith tesselator does not require that contours (be they holes or not) must be given in ccw or cw order. This make Amanith tesselator more general and adaptable to other high-level libraries. Here's an example of the typical use:

    GDynArray< GPoint<GDouble, 2> > pts;
    GDynArray<GInt32> idx;

    // push point for a square
    pts.push_back(GPoint2(0, 0));
    pts.push_back(GPoint2(10, 0));
    pts.push_back(GPoint2(10, 10));
    pts.push_back(GPoint2(0, 10));
    idx.push_back(4);
    // push points for a triangle hole (inside the previous square).
    pts.push_back(GPoint2(3, 3));
    pts.push_back(GPoint2(7, 3));
    pts.push_back(GPoint2(5, 8));
    idx.push_back(3);

    GDynArray< GPoint<GDouble, 2> > triPoints;
    GTesselator2D tesselator;

    tesselator.Tesselate(pts, idx, triPoints);
    for (GUInt32 i = 0; i < triPoints.size(); i+=3)
        DrawTriangle(triPoints[i], triPoints[i + 1], triPoints[i + 2]);
Parameters:
Points | the array containing the contours points.
PointsPerContour | an array containing the number of point for every contour.
Triangles | the outputted array of triangles. Every triangle is built by 3 vertexes.
FillRule | the filling rule.
Returns:
G_NO_ERROR if operation succeeds, an error code otherwise.
Note:
Please keep OddFill parameter G_TRUE. This is the only supported mode for this version.
The documentation for this class was generated from the following files:
  • gtesselator2d.h
  • gtesselator2d.cpp


Amanith::GTesselator2D Member List

This is the complete list of members for Amanith::GTesselator2D, including all inherited members.

GTesselator2D() Amanith::GTesselator2D
Tesselate(const GDynArray< GPoint2 > &Points, const GDynArray< GInt32 > &PointsPerContour, GDynArray< GPoint< GDouble, 2 > > &Triangles, const GFillBehavior FillRule=G_ODD_EVEN_RULE) | Amanith::GTesselator2D
Tesselate(const GDynArray< GPoint2 > &Points, const GDynArray< GInt32 > &PointsPerContour, GDynArray< GPoint< GDouble, 2 > > &TriangPoints, GDynArray< GULong > &TriangIds, const GFillBehavior FillRule=G_ODD_EVEN_RULE) | Amanith::GTesselator2D


Amanith::GThreeConstantProperty1D

Amanith::GThreeConstantProperty1D Class Reference

This class represent a 3-dimensional constant multi-property, a container of three GConstantProperty1D properties. They are accessible with the default names "x", "y" and "z". More...

Inheritance diagram for Amanith::GThreeConstantProperty1D:

Amanith::GMultiProperty1D Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GThreeConstantProperty1D ()
  • GThreeConstantProperty1D (const GElement *Owner)
  • ~GThreeConstantProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class represent a 3-dimensional constant multi-property, a container of three GConstantProperty1D properties. They are accessible with the default names "x", "y" and "z".

Constructor & Destructor Documentation

Amanith::GThreeConstantProperty1D::GThreeConstantProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GThreeConstantProperty1D::GThreeConstantProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GThreeConstantProperty1D::~GThreeConstantProperty1D ( )

Destructor.

Member Function Documentation

const GClassID& Amanith::GThreeConstantProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiProperty1D.

const GClassID& Amanith::GThreeConstantProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiProperty1D.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GThreeConstantProperty1D Member List

This is the complete list of members for Amanith::GThreeConstantProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GThreeConstantProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GThreeConstantProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
GThreeConstantProperty1D() Amanith::GThreeConstantProperty1D
GThreeConstantProperty1D(const GElement *Owner) | Amanith::GThreeConstantProperty1D
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GThreeConstantProperty1DProxy

Amanith::GThreeConstantProperty1DProxy Class Reference

This class implements a GThreeConstantProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GThreeConstantProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GThreeConstantProperty1D proxy (provider).

This proxy provides the creation of GThreeConstantProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GThreeConstantProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GThreeConstantProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GThreeConstantProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GThreeConstantProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GThreeConstantProperty1DProxy Member List

This is the complete list of members for Amanith::GThreeConstantProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GThreeConstantProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GThreeConstantProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GThreeConstantProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GThreeHermiteProperty1D

Amanith::GThreeHermiteProperty1D Class Reference

This class represent a 3-dimensional Hermite multi-property, a container of three GHermiteProperty1D properties. They are accessible with the default names "x", "y" and "z". More...

Inheritance diagram for Amanith::GThreeHermiteProperty1D:

Amanith::GMultiProperty1D Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GThreeHermiteProperty1D ()
  • GThreeHermiteProperty1D (const GElement *Owner)
  • ~GThreeHermiteProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class represent a 3-dimensional Hermite multi-property, a container of three GHermiteProperty1D properties. They are accessible with the default names "x", "y" and "z".

Constructor & Destructor Documentation

Amanith::GThreeHermiteProperty1D::GThreeHermiteProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GThreeHermiteProperty1D::GThreeHermiteProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GThreeHermiteProperty1D::~GThreeHermiteProperty1D ( )

Destructor.

Member Function Documentation

const GClassID& Amanith::GThreeHermiteProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiProperty1D.

const GClassID& Amanith::GThreeHermiteProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiProperty1D.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GThreeHermiteProperty1D Member List

This is the complete list of members for Amanith::GThreeHermiteProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GThreeHermiteProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GThreeHermiteProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
GThreeHermiteProperty1D() Amanith::GThreeHermiteProperty1D
GThreeHermiteProperty1D(const GElement *Owner) | Amanith::GThreeHermiteProperty1D
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GThreeHermiteProperty1DProxy

Amanith::GThreeHermiteProperty1DProxy Class Reference

This class implements a GThreeHermiteProperty proxy (provider). More...

Inheritance diagram for Amanith::GThreeHermiteProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GThreeHermiteProperty proxy (provider).

This proxy provides the creation of GThreeHermiteProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GThreeHermiteProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GThreeHermiteProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GThreeHermiteProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GThreeHermiteProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GThreeHermiteProperty1DProxy Member List

This is the complete list of members for Amanith::GThreeHermiteProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GThreeHermiteProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GThreeHermiteProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GThreeHermiteProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GThreeLinearProperty1D

Amanith::GThreeLinearProperty1D Class Reference

This class represent a 3-dimensional linear multi-property, a container of three GLinearProperty1D properties. They are accessible with the default names "x", "y" and "z". More...

Inheritance diagram for Amanith::GThreeLinearProperty1D:

Amanith::GMultiProperty1D Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GThreeLinearProperty1D ()
  • GThreeLinearProperty1D (const GElement *Owner)
  • ~GThreeLinearProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class represent a 3-dimensional linear multi-property, a container of three GLinearProperty1D properties. They are accessible with the default names "x", "y" and "z".

Constructor & Destructor Documentation

Amanith::GThreeLinearProperty1D::GThreeLinearProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GThreeLinearProperty1D::GThreeLinearProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GThreeLinearProperty1D::~GThreeLinearProperty1D ( )

Destructor.

Member Function Documentation

const GClassID& Amanith::GThreeLinearProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiProperty1D.

const GClassID& Amanith::GThreeLinearProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiProperty1D.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GThreeLinearProperty1D Member List

This is the complete list of members for Amanith::GThreeLinearProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GThreeLinearProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GThreeLinearProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
GThreeLinearProperty1D() Amanith::GThreeLinearProperty1D
GThreeLinearProperty1D(const GElement *Owner) | Amanith::GThreeLinearProperty1D
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GThreeLinearProperty1DProxy

Amanith::GThreeLinearProperty1DProxy Class Reference

This class implements a GThreeLinearProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GThreeLinearProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GThreeLinearProperty1D proxy (provider).

This proxy provides the creation of GThreeLinearProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GThreeLinearProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GThreeLinearProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GThreeLinearProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GThreeLinearProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GThreeLinearProperty1DProxy Member List

This is the complete list of members for Amanith::GThreeLinearProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GThreeLinearProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GThreeLinearProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GThreeLinearProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GTracedContour

Amanith::GTracedContour Class Reference

This class represents a closed contour built by tracer. More...

List of all members.

Public Member Functions

  • GTracedContour (const GDynArray< GInt32 > &PointFlags, const GDynArray< ThreePoints > &Points)
  • ~GTracedContour ()
  • void DrawContour (GDynArray< GPoint2 > &Points, const GReal Variation) const
  • GError ConvertToPath (GPath2D &Path) const

Detailed Description

This class represents a closed contour built by tracer.

Internally a contour is compactly described by its "main" points and a sequence of flags, associated with main points, that clarify each point "degree". A such contour can be flattened using the well know maximum deviation schema.
.

Constructor & Destructor Documentation

Amanith::GTracedContour::GTracedContour | ( | const GDynArray< GInt32 > & | PointFlags,
 |  | const GDynArray< ThreePoints > & | Points
 | ) |

Set constructor.

Amanith::GTracedContour::~GTracedContour ( )

Destructor.

Member Function Documentation

GError Amanith::GTracedContour::ConvertToPath ( GPath2D & Path ) const

Convert the contour into a GPath2D representation.

Parameters:
Path the output paths.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.

void Amanith::GTracedContour::DrawContour | ( | GDynArray< GPoint2 > & | Points,
 |  | const GReal | Variation
 | ) | const

Draw (flatten) the contour, specifying a maximum deviation (squared chordal distance)

Parameters:
Points | the output array, where generated points will be appended.
Variation | maximum variation permitted by this flattening operation.
The documentation for this class was generated from the following files:
  • gtracer2d.h
  • gtracer2d.cpp


Amanith::GTracedContour Member List

This is the complete list of members for Amanith::GTracedContour, including all inherited members.

ConvertToPath(GPath2D &Path) const | Amanith::GTracedContour
DrawContour(GDynArray< GPoint2 > &Points, const GReal Variation) const | Amanith::GTracedContour
GTracedContour(const GDynArray< GInt32 > &PointFlags, const GDynArray< ThreePoints > &Points) | Amanith::GTracedContour


Amanith::GTracer2D

Amanith::GTracer2D Class Reference

This class implements a bitmap vectorizer. More...

List of all members.

Static Public Member Functions

  • static GError Trace (const GPixelMap &Image, GDynArray< GTracedContour > &Paths, const GUChar8 WhiteColor=255, const GTurnPolicy TurnPolicy=G_CONNECT_NOT_DOMINANT, const GInt32 MaxRadius=6, const GInt32 MinArea=10, const GReal Alpha=0.55)

Detailed Description

This class implements a bitmap vectorizer.

The implemented algorithm follows the Peter Selinger Potrace schema. For more informations about algorithm can be found here: http://potrace.sourceforge.net/potrace.pdf
We have introduced some little improvements, for example the routine that pick the first pixel where to begin path vectorization, some useful thresholds (mask radius to resolve cross roads for G_CONNECT_DOMINANT and G_CONNECT_NOT_DOMINANT turn policies, minimum area of path to vectorize, and so on).

Member Function Documentation

GError Amanith::GTracer2D::Trace | ( | const GPixelMap & | Image,
 |  | GDynArray< GTracedContour > & | Paths,
 |  | const GUChar8 | WhiteColor = 255,
 |  | const GTurnPolicy | TurnPolicy = G_CONNECT_NOT_DOMINANT,
 |  | const GInt32 | MaxRadius = 6,
 |  | const GInt32 | MinArea = 10,
 |  | const GReal | Alpha = 0.55
 | ) | [static]

Convert a bitmap into vector format.

Parameters:
Image | the image that will be converted into vector format. It must be an 8-bpp image (gray scale or paletted), else an G_INVALID_FORMAT error code will be returned.
Paths | the output array, where all traced closed paths will be returned.
WhiteColor | the color (index) used as white color. Every pixel with a value not equal to this value is considered as a 'black' pixel.
TurnPolicy | policy to take in case of cross roads pixels.
MaxRadius | radius of pixels mask that is used to resolve black/white dominance in case of G_CONNECT_NOT_DOMINANT or G_CONNECT_DOMINANT turn policies.
MinArea | the minimum area of closed contours. Every closed contours found into image will be vectorized if and only if its area is grater that the specified value. This parameter can be useful to avoid vectorization of isolated pixels or isolated small pixel areas. This area is expressed in pixels.
Alpha | corner detection threshold, smaller values lead to more corners and larger values lead to more rounded shapes. The default values is a good compromise.
Returns:
G_NO_ERROR if the operation succeeds, an error code otherwise.
The documentation for this class was generated from the following files:
  • gtracer2d.h
  • gtracer2d.cpp


Amanith::GTracer2D Member List

This is the complete list of members for Amanith::GTracer2D, including all inherited members.

Trace(const GPixelMap &Image, GDynArray< GTracedContour > &Paths, const GUChar8 WhiteColor=255, const GTurnPolicy TurnPolicy=G_CONNECT_NOT_DOMINANT, const GInt32 MaxRadius=6, const GInt32 MinArea=10, const GReal Alpha=0.55) Amanith::GTracer2D [static]


Amanith::GTwoConstantProperty1D

Amanith::GTwoConstantProperty1D Class Reference

This class represent a 2-dimensional constant multi-property, a container of two GConstantProperty1D properties. They are accessible with the default names "x" and "y". More...

Inheritance diagram for Amanith::GTwoConstantProperty1D:

Amanith::GMultiProperty1D Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GTwoConstantProperty1D ()
  • GTwoConstantProperty1D (const GElement *Owner)
  • ~GTwoConstantProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class represent a 2-dimensional constant multi-property, a container of two GConstantProperty1D properties. They are accessible with the default names "x" and "y".

Constructor & Destructor Documentation

Amanith::GTwoConstantProperty1D::GTwoConstantProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GTwoConstantProperty1D::GTwoConstantProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GTwoConstantProperty1D::~GTwoConstantProperty1D ( )

Destructor.

Member Function Documentation

const GClassID& Amanith::GTwoConstantProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiProperty1D.

const GClassID& Amanith::GTwoConstantProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiProperty1D.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GTwoConstantProperty1D Member List

This is the complete list of members for Amanith::GTwoConstantProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GTwoConstantProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GTwoConstantProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
GTwoConstantProperty1D() Amanith::GTwoConstantProperty1D
GTwoConstantProperty1D(const GElement *Owner) | Amanith::GTwoConstantProperty1D
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GTwoConstantProperty1DProxy

Amanith::GTwoConstantProperty1DProxy Class Reference

This class implements a GTwoConstantProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GTwoConstantProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GTwoConstantProperty1D proxy (provider).

This proxy provides the creation of GTwoConstantProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GTwoConstantProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GTwoConstantProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GTwoConstantProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GTwoConstantProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GTwoConstantProperty1DProxy Member List

This is the complete list of members for Amanith::GTwoConstantProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GTwoConstantProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GTwoConstantProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GTwoConstantProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GTwoHermiteProperty1D

Amanith::GTwoHermiteProperty1D Class Reference

This class represent a 2-dimensional Hermite multi-property, a container of two GHermiteProperty1D properties. They are accessible with the default names "x" and "y". More...

Inheritance diagram for Amanith::GTwoHermiteProperty1D:

Amanith::GMultiProperty1D Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GTwoHermiteProperty1D ()
  • GTwoHermiteProperty1D (const GElement *Owner)
  • ~GTwoHermiteProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class represent a 2-dimensional Hermite multi-property, a container of two GHermiteProperty1D properties. They are accessible with the default names "x" and "y".

Constructor & Destructor Documentation

Amanith::GTwoHermiteProperty1D::GTwoHermiteProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GTwoHermiteProperty1D::GTwoHermiteProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GTwoHermiteProperty1D::~GTwoHermiteProperty1D ( )

Destructor.

Member Function Documentation

const GClassID& Amanith::GTwoHermiteProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiProperty1D.

const GClassID& Amanith::GTwoHermiteProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiProperty1D.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GTwoHermiteProperty1D Member List

This is the complete list of members for Amanith::GTwoHermiteProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GTwoHermiteProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GTwoHermiteProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
GTwoHermiteProperty1D() Amanith::GTwoHermiteProperty1D
GTwoHermiteProperty1D(const GElement *Owner) | Amanith::GTwoHermiteProperty1D
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GTwoHermiteProperty1DProxy

Amanith::GTwoHermiteProperty1DProxy Class Reference

This class implements a GTwoHermiteProperty proxy (provider). More...

Inheritance diagram for Amanith::GTwoHermiteProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GTwoHermiteProperty proxy (provider).

This proxy provides the creation of GTwoHermiteProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GTwoHermiteProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GTwoHermiteProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GTwoHermiteProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GTwoHermiteProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GTwoHermiteProperty1DProxy Member List

This is the complete list of members for Amanith::GTwoHermiteProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GTwoHermiteProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GTwoHermiteProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GTwoHermiteProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GTwoLinearProperty1D

Amanith::GTwoLinearProperty1D Class Reference

This class represent a 2-dimensional linear multi-property, a container of two GLinearProperty1D properties. They are accessible with the default names "x" and "y". More...

Inheritance diagram for Amanith::GTwoLinearProperty1D:

Amanith::GMultiProperty1D Amanith::GProperty Amanith::GAnimElement Amanith::GElement List of all members.

Public Member Functions

  • GTwoLinearProperty1D ()
  • GTwoLinearProperty1D (const GElement *Owner)
  • ~GTwoLinearProperty1D ()
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class represent a 2-dimensional linear multi-property, a container of two GLinearProperty1D properties. They are accessible with the default names "x" and "y".

Constructor & Destructor Documentation

Amanith::GTwoLinearProperty1D::GTwoLinearProperty1D ( )

Default constructor, set owner to NULL.

Amanith::GTwoLinearProperty1D::GTwoLinearProperty1D ( const GElement * Owner )

Constructor, specifying owner.

Amanith::GTwoLinearProperty1D::~GTwoLinearProperty1D ( )

Destructor.

Member Function Documentation

const GClassID& Amanith::GTwoLinearProperty1D::ClassID ( ) const [virtual]

Get class descriptor.

Reimplemented from Amanith::GMultiProperty1D.

const GClassID& Amanith::GTwoLinearProperty1D::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor.

Reimplemented from Amanith::GMultiProperty1D.

The documentation for this class was generated from the following files:
  • gmultiproperty.h
  • gmultiproperty.cpp


Amanith::GTwoLinearProperty1D Member List

This is the complete list of members for Amanith::GTwoLinearProperty1D, including all inherited members.

AddKey(const GTimeValue Time, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty
AddProperty(const GString &Name, const GClassID &ClassID, const GKeyValue &DefaultValue, GBool &AlreadyExist, GUInt32 &PropertyIndex) | Amanith::GAnimElement
ApplyEase() Amanith::GProperty
As(const GClassID &Class_ID) | Amanith::GElement
As(const GClassID &Class_ID) const | Amanith::GElement
BaseClone(const GElement &Source) | Amanith::GMultiProperty1D | [protected, virtual]
ClassID() const | Amanith::GTwoLinearProperty1D | [virtual]
ClassIDFromClassName(const GString &Class_Name, GClassID &OutID) const | Amanith::GElement | [protected]
CopyFrom(const GElement &Source) | Amanith::GElement
CopyTo(GElement &Destination) const | Amanith::GElement
CreateNew(const GClassID &Class_ID) const | Amanith::GElement | [protected]
CreateNew(const GString &Class_Name) | Amanith::GElement | [protected]
DefaultValue() const | Amanith::GProperty
DerivedClassID() const | Amanith::GTwoLinearProperty1D | [virtual]
DoAddKey(const GTimeValue TimePos, GUInt32 &Index, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoGetKey(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty | [protected, virtual]
DoGetKeysCount() const | Amanith::GProperty | [protected, virtual]
DoGetValue(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const | Amanith::GProperty | [protected, virtual]
Domain() const | Amanith::GProperty | [virtual]
DoMoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty | [protected, virtual]
DoRemoveKey(const GUInt32 Index) | Amanith::GProperty | [protected, virtual]
DoSetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty | [protected, virtual]
DoSetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty | [protected, virtual]
DoSetValue(const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod) | Amanith::GProperty | [protected, virtual]
EaseProperty() const | Amanith::GProperty
Amanith::GAnimElement::GAnimElement() Amanith::GAnimElement
Amanith::GAnimElement::GAnimElement(const GElement *Owner) | Amanith::GAnimElement
GElement() Amanith::GElement
GElement(const GElement *Owner) | Amanith::GElement
GMultiProperty1D() Amanith::GMultiProperty1D
GMultiProperty1D(const GElement *Owner) | Amanith::GMultiProperty1D
GProperty() Amanith::GProperty
GProperty(const GElement *Owner) | Amanith::GProperty
GTwoLinearProperty1D() Amanith::GTwoLinearProperty1D
GTwoLinearProperty1D(const GElement *Owner) | Amanith::GTwoLinearProperty1D
HandledType() const | Amanith::GProperty | [virtual]
Init(const GUInt32 SubPropertiesCount, const GClassID &SubPropertiesType, const GKeyValue &DefaultValue, const GString &Labels="") | Amanith::GMultiProperty1D | [protected]
IsKeyBased() const | Amanith::GProperty
IsOfType(const GClassID &Class_ID) const | Amanith::GElement
IsRootClass() const | Amanith::GElement
IsTypeOfType(const GClassID &InspectedType, const GClassID &Class_ID) const | Amanith::GElement | [virtual]
Key(const GUInt32 Index, GKeyValue &OutputKey) const | Amanith::GProperty
KeysCount() const | Amanith::GProperty
MoveKey(const GUInt32 Index, const GReal NewTimePos, GUInt32 &NewIndex, GBool &AlreadyExists) | Amanith::GProperty
Name() const | Amanith::GProperty
OORAfter() const | Amanith::GProperty
OORBefore() const | Amanith::GProperty
OORTime(const GTimeValue TimePos) const | Amanith::GProperty
operator=(const GElement &Source) | Amanith::GElement
Owner() const | Amanith::GElement
Properties() const | Amanith::GAnimElement
PropertiesCount() const | Amanith::GAnimElement
Property(const GString &Name) const | Amanith::GAnimElement
Property(const GUInt32 Index) const | Amanith::GAnimElement
RemoveEaseProperty() Amanith::GProperty
RemoveKey(const GUInt32 Index) | Amanith::GProperty
RemoveKeys() Amanith::GProperty
RemoveProperties() Amanith::GAnimElement
RemoveProperty(const GString &Name) | Amanith::GAnimElement
RemoveProperty(const GUInt32 Index) | Amanith::GAnimElement
RenameProperty(const GString &CurrentName, const GString &NewName) | Amanith::GAnimElement
SetApplyEasy(const GBool Apply) | Amanith::GProperty
SetDefaultValue(const GKeyValue &NewValue) | Amanith::GProperty
SetEaseProperty(const GProperty &EaseProperty) | Amanith::GProperty
SetIsKeyBased(const GBool IsKeyBased) | Amanith::GProperty | [protected]
SetKey(const GUInt32 Index, const GKeyValue &NewKeyValue) | Amanith::GProperty
SetKeys(const GDynArray< GKeyValue > &Keys) | Amanith::GProperty
SetName(const GString &NewName) | Amanith::GProperty | [protected]
SetOORAfter(const GOORType NewOOR) | Amanith::GProperty
SetOORBefore(const GOORType NewOOR) | Amanith::GProperty
SetValue(const GKeyValue &InputValue, const GTimeValue TimePos=0, const GValueMethod SetMethod=G_ABSOLUTE_VALUE) | Amanith::GProperty | [virtual]
SubPropertiesType() const | Amanith::GMultiProperty1D
UpperName() const | Amanith::GProperty
Value(GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const | Amanith::GProperty | [virtual]
~GAnimElement() | Amanith::GAnimElement | [virtual]
~GElement() | Amanith::GElement | [virtual]


Amanith::GTwoLinearProperty1DProxy

Amanith::GTwoLinearProperty1DProxy Class Reference

This class implements a GTwoLinearProperty1D proxy (provider). More...

Inheritance diagram for Amanith::GTwoLinearProperty1DProxy:

Amanith::GElementProxy List of all members.

Public Member Functions

  • GElement * CreateNew (const GElement *Owner=NULL) const
  • const GClassID & ClassID () const
  • const GClassID & DerivedClassID () const

Detailed Description

This class implements a GTwoLinearProperty1D proxy (provider).

This proxy provides the creation of GTwoLinearProperty1D class instances.

Member Function Documentation

const GClassID& Amanith::GTwoLinearProperty1DProxy::ClassID ( ) const [virtual]

Get class descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

GElement* Amanith::GTwoLinearProperty1DProxy::CreateNew ( const GElement * Owner = NULL ) const [virtual]

Creates a new GTwoLinearProperty1D instance.

Reimplemented from Amanith::GElementProxy.

const GClassID& Amanith::GTwoLinearProperty1DProxy::DerivedClassID ( ) const [virtual]

Get base class (father class) descriptor of elements type "provided" by this proxy.

Reimplemented from Amanith::GElementProxy.

The documentation for this class was generated from the following file:
  • gmultiproperty.h


Amanith::GTwoLinearProperty1DProxy Member List

This is the complete list of members for Amanith::GTwoLinearProperty1DProxy, including all inherited members.

ClassID() const | Amanith::GTwoLinearProperty1DProxy | [virtual]
CreateNew(const GElement *Owner=NULL) const | Amanith::GTwoLinearProperty1DProxy | [virtual]
DerivedClassID() const | Amanith::GTwoLinearProperty1DProxy | [virtual]
IsRootClass() const | Amanith::GElementProxy |
Version() const | Amanith::GElementProxy | [virtual]
~GElementProxy() | Amanith::GElementProxy | [virtual]


Amanith::GVect

Amanith::GVect< DATA_TYPE, SIZE > Class Template Reference

A representation of a vector with SIZE components using DATA_TYPE as the data type for each component. More...

Inheritance diagram for Amanith::GVect< DATA_TYPE, SIZE >:

Amanith::GVectBase< DATA_TYPE, SIZE > List of all members.

Public Types

  • typedef GVectBase< DATA_TYPE,
    SIZE > BaseType

Public Member Functions

  • GVect ()
  • GVect (const GVect< DATA_TYPE, SIZE > &SrcVect)
  • GVect (const GVectBase< DATA_TYPE, SIZE > &SrcBaseVect)
  • GVect (const DATA_TYPE &Val0, const DATA_TYPE &Val1)
  • GVect (const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2)
  • GVect (const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3)
  • DATA_TYPE LengthSquared () const
  • DATA_TYPE Length () const
  • DATA_TYPE Normalize ()
  • GBool IsNormalized (const DATA_TYPE Epsilon=DATA_TYPE(2.5 *G_EPSILON)) const

Detailed Description

template<typename DATA_TYPE, GUInt32 SIZE>
class Amanith::GVect< DATA_TYPE, SIZE >

A representation of a vector with SIZE components using DATA_TYPE as the data type for each component.

Parameters:
DATA_TYPE | the datatype to use for the components
SIZE | the number of components this VecBase has; it must be a positive number.

Member Typedef Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
typedef GVectBase<DATA_TYPE, SIZE> Amanith::GVect< DATA_TYPE, SIZE >::BaseType

The superclass type.

Constructor & Destructor Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVect< DATA_TYPE, SIZE >::GVect ( )

Default constructor. All components are initialized to zero.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVect< DATA_TYPE, SIZE >::GVect ( const GVect< DATA_TYPE, SIZE > & SrcVect )

Copy constructor, make an exact copy of the given GVect object.

Precondition:
vector should be the same size and type as the one copied
Parameters:
SrcVect the GVect object to copy

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVect< DATA_TYPE, SIZE >::GVect ( const GVectBase< DATA_TYPE, SIZE > & SrcBaseVect )

Copy constructor, make an exact copy of the given SrcBaseVect object.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVect< DATA_TYPE, SIZE >::GVect | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1
 | ) |

Creates a new vector initialized to the given values.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVect< DATA_TYPE, SIZE >::GVect | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1,
 |  | const DATA_TYPE & | Val2
 | ) |

Creates a new vector initialized to the given values.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVect< DATA_TYPE, SIZE >::GVect | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1,
 |  | const DATA_TYPE & | Val2,
 |  | const DATA_TYPE & | Val3
 | ) |

Creates a new vector initialized to the given values.

Member Function Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GVect< DATA_TYPE, SIZE >::IsNormalized ( const DATA_TYPE Epsilon = DATA_TYPE(2.5 * G_EPSILON) ) const

Determines if the vector is normalized within the given tolerance. The vector is normalized if its LengthSquared is 1.

Parameters:
Epsilon the epsilon tolerance, must be >= 0.
Returns:
G_TRUE if the vector is normalized, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::GVect< DATA_TYPE, SIZE >::Length ( ) const

Computes the length of the vector.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::GVect< DATA_TYPE, SIZE >::LengthSquared ( ) const

Computes the square of the squared length of the vector. This can be used in many calculations instead of length to increase speed by saving you an expensive sqrt call.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::GVect< DATA_TYPE, SIZE >::Normalize ( )

Normalizes the vector in place causing it to be of unit length. If the vector is already of length 1.0, nothing is done. For convenience, the original length of the vector is returned.

Returns:
the length of vector before it was normalized.
The documentation for this class was generated from the following file:
  • gvect.h


Amanith::GVect< DATA_TYPE, SIZE > Member List

This is the complete list of members for Amanith::GVect< DATA_TYPE, SIZE >, including all inherited members.

BaseType typedef | Amanith::GVect< DATA_TYPE, SIZE >
Data() const | Amanith::GVectBase< DATA_TYPE, SIZE >
Fill(const DATA_TYPE Value) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVect() | Amanith::GVect< DATA_TYPE, SIZE >
GVect(const GVect< DATA_TYPE, SIZE > &SrcVect) | Amanith::GVect< DATA_TYPE, SIZE >
GVect(const GVectBase< DATA_TYPE, SIZE > &SrcBaseVect) | Amanith::GVect< DATA_TYPE, SIZE >
GVect(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GVect< DATA_TYPE, SIZE >
GVect(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GVect< DATA_TYPE, SIZE >
GVect(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3) | Amanith::GVect< DATA_TYPE, SIZE >
GVectBase() | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const GVectBase< DATA_TYPE, SIZE > &SrcVec) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3) | Amanith::GVectBase< DATA_TYPE, SIZE >
IsNormalized(const DATA_TYPE Epsilon=DATA_TYPE(2.5 *G_EPSILON)) const | Amanith::GVect< DATA_TYPE, SIZE >
Length() const | Amanith::GVect< DATA_TYPE, SIZE >
LengthSquared() const | Amanith::GVect< DATA_TYPE, SIZE >
Normalize() | Amanith::GVect< DATA_TYPE, SIZE >
operator!=(const GVectBase< DATA_TYPE, SIZE > &Vect) const | Amanith::GVectBase< DATA_TYPE, SIZE >
operator==(const GVectBase< DATA_TYPE, SIZE > &Vect) const | Amanith::GVectBase< DATA_TYPE, SIZE >
operator[](const GUInt32 Index) | Amanith::GVectBase< DATA_TYPE, SIZE >
operator[](const GUInt32 Index) const | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE *DataPtr) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3) | Amanith::GVectBase< DATA_TYPE, SIZE >
Swap(const GUInt32 Index1, const GUInt32 Index2) | Amanith::GVectBase< DATA_TYPE, SIZE >


Amanith::GVectBase

Amanith::GVectBase< DATA_TYPE, SIZE > Class Template Reference

Base type for vector-like objects including Points and Vectors. More...

Inheritance diagram for Amanith::GVectBase< DATA_TYPE, SIZE >:

Amanith::GPoint< DATA_TYPE, SIZE > Amanith::GVect< DATA_TYPE, SIZE > List of all members.

Public Member Functions

  • GVectBase ()
  • GVectBase (const GVectBase< DATA_TYPE, SIZE > &SrcVec)
  • GVectBase (const DATA_TYPE &Val0, const DATA_TYPE &Val1)
  • GVectBase (const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2)
  • GVectBase (const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3)
  • void Set (const DATA_TYPE *DataPtr)
  • void Set (const DATA_TYPE &Val0)
  • void Set (const DATA_TYPE &Val0, const DATA_TYPE &Val1)
  • void Set (const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2)
  • void Set (const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3)
  • const DATA_TYPE * Data () const
  • DATA_TYPE & operator[] (const GUInt32 Index)
  • const DATA_TYPE & operator[] (const GUInt32 Index) const
  • void Swap (const GUInt32 Index1, const GUInt32 Index2)
  • void Fill (const DATA_TYPE Value)
  • GBool operator== (const GVectBase< DATA_TYPE, SIZE > &Vect) const
  • GBool operator!= (const GVectBase< DATA_TYPE, SIZE > &Vect) const

Detailed Description

template<typename DATA_TYPE, GUInt32 SIZE>
class Amanith::GVectBase< DATA_TYPE, SIZE >

Base type for vector-like objects including Points and Vectors.

It is templated on the component datatype as well as the number of components that make it up.

Parameters:
DATA_TYPE | the datatype to use for the components
SIZE | the number of components this GVectBase has; it must be a positive number.

Constructor & Destructor Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVectBase< DATA_TYPE, SIZE >::GVectBase ( )

Default constructor.

Does nothing, leaves data alone. This is for performance because this constructor is called by derived class constructors, even when they just want to set the data directly.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVectBase< DATA_TYPE, SIZE >::GVectBase ( const GVectBase< DATA_TYPE, SIZE > & SrcVec )

Copy constructor, makes an exact copy of the given GVectBase object.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVectBase< DATA_TYPE, SIZE >::GVectBase | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1
 | ) |

Creates a new VecBase initialized to the given values.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVectBase< DATA_TYPE, SIZE >::GVectBase | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1,
 |  | const DATA_TYPE & | Val2
 | ) |

Creates a new VecBase initialized to the given values.

template<typename DATA_TYPE, GUInt32 SIZE>
Amanith::GVectBase< DATA_TYPE, SIZE >::GVectBase | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1,
 |  | const DATA_TYPE & | Val2,
 |  | const DATA_TYPE & | Val3
 | ) |

Creates a new VecBase initialized to the given values.

Member Function Documentation

template<typename DATA_TYPE, GUInt32 SIZE>
const DATA_TYPE* Amanith::GVectBase< DATA_TYPE, SIZE >::Data ( ) const

Get a pointer to the internal data array.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GVectBase< DATA_TYPE, SIZE >::Fill ( const DATA_TYPE Value )

Fills all components to the given value.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GVectBase< DATA_TYPE, SIZE >::operator!= ( const GVectBase< DATA_TYPE, SIZE > & Vect ) const

Compares vectors if they are NOT exactly the same with zero tolerance.

Parameters:
Vect the vector to compare to
Returns:
G_TRUE if vectors are different, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::GVectBase< DATA_TYPE, SIZE >::operator== ( const GVectBase< DATA_TYPE, SIZE > & Vect ) const

Compares vectors if they are exactly the same.

Parameters:
Vect the vector to compare to
Returns:
G_TRUE if vectors are identical, G_FALSE if they differ.

template<typename DATA_TYPE, GUInt32 SIZE>
const DATA_TYPE& Amanith::GVectBase< DATA_TYPE, SIZE >::operator[] ( const GUInt32 Index ) const

Return the value at given location (const version).

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE& Amanith::GVectBase< DATA_TYPE, SIZE >::operator[] ( const GUInt32 Index )

Return the value at given location.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GVectBase< DATA_TYPE, SIZE >::Set | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1,
 |  | const DATA_TYPE & | Val2,
 |  | const DATA_TYPE & | Val3
 | ) |

Set first 4 elements to the given values. Vector must have a SIZE of at least 4.

Reimplemented in Amanith::GAxisAng< DATA_TYPE >.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GVectBase< DATA_TYPE, SIZE >::Set | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1,
 |  | const DATA_TYPE & | Val2
 | ) |

Set first 3 elements to the given values. Vector must have a SIZE of at least 3.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GVectBase< DATA_TYPE, SIZE >::Set | ( | const DATA_TYPE & | Val0,
 |  | const DATA_TYPE & | Val1
 | ) |

Set first 2 elements to the given values. Vector must have a SIZE of at least 2.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GVectBase< DATA_TYPE, SIZE >::Set ( const DATA_TYPE & Val0 )

Set first element to the given value.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GVectBase< DATA_TYPE, SIZE >::Set ( const DATA_TYPE * DataPtr )

Set all components.

Note:
DataPtr must be of a length of at least SIZE

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::GVectBase< DATA_TYPE, SIZE >::Swap | ( | const GUInt32 | Index1,
 |  | const GUInt32 | Index2
 | ) |

Swap two data element.

The documentation for this class was generated from the following file:
  • gvect.h


Amanith::GVectBase< DATA_TYPE, SIZE > Member List

This is the complete list of members for Amanith::GVectBase< DATA_TYPE, SIZE >, including all inherited members.

Data() const | Amanith::GVectBase< DATA_TYPE, SIZE >
Fill(const DATA_TYPE Value) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase() | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const GVectBase< DATA_TYPE, SIZE > &SrcVec) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GVectBase< DATA_TYPE, SIZE >
GVectBase(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3) | Amanith::GVectBase< DATA_TYPE, SIZE >
operator!=(const GVectBase< DATA_TYPE, SIZE > &Vect) const | Amanith::GVectBase< DATA_TYPE, SIZE >
operator==(const GVectBase< DATA_TYPE, SIZE > &Vect) const | Amanith::GVectBase< DATA_TYPE, SIZE >
operator[](const GUInt32 Index) | Amanith::GVectBase< DATA_TYPE, SIZE >
operator[](const GUInt32 Index) const | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE *DataPtr) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2) | Amanith::GVectBase< DATA_TYPE, SIZE >
Set(const DATA_TYPE &Val0, const DATA_TYPE &Val1, const DATA_TYPE &Val2, const DATA_TYPE &Val3) | Amanith::GVectBase< DATA_TYPE, SIZE >
Swap(const GUInt32 Index1, const GUInt32 Index2) | Amanith::GVectBase< DATA_TYPE, SIZE >


Amanith::StrUtils

Amanith::StrUtils Class Reference

A collection of cross-platform generic string utilities. More...

List of all members.

Static Public Member Functions

  • static GString Lower (const GString &Str)
  • static GString Upper (const GString &Str)
  • static GString Right (const GString &Str, const GUInt32 HowMany)
  • static GString Left (const GString &Str, const GUInt32 HowMany)
  • static GString Replace (const GString &Str, const GChar8 Before, const GChar8 After)
  • static GBool Find (const GString &Source, const GString &StrToFind, const GBool CaseInsensitive=G_TRUE, const GUInt32 StartOffset=0, GUInt32 *PosFound=NULL)
  • static GString ExtractFilePath (const GString &FullFileName)
  • static GString ExtractFileName (const GString &FullFileName, const GBool IncludeExtension=G_TRUE)
  • static GString ExtractFileExt (const GString &FullFileName)
  • static GString OSFixPath (const GString &GeneralPath, const GBool InsureFinalDelimiter=G_FALSE)
  • static GBool SameText (const GString &Str1, const GString &Str2)
  • static GString Purge (const GString &DustySource, const GString &Dust)
  • template<typename DATA_TYPE, GUInt32 SIZE> static GString ToString (const GVectBase< DATA_TYPE, SIZE > &v, const GString &Separator=",", const GChar8 *Format=NULL)
  • template<typename DATA_TYPE> static GString ToString (const GQuat< DATA_TYPE > &q, const GString &Separator=",", const GChar8 *Format=NULL)
  • static GString ToString (const GInt32 Value, const GChar8 *Format="%d")
  • static GString ToString (const GUInt32 Value, const GChar8 *Format="%d")
  • static GString ToString (const GInt16 Value, const GChar8 *Format="%d")
  • static GString ToString (const GUInt16 Value, const GChar8 *Format="%d")
  • static GString ToString (const GInt8 Value, const GChar8 *Format="%d")
  • static GString ToString (const GUInt8 Value, const GChar8 *Format="%d")
  • static GString ToString (const GFloat Value, const GChar8 *Format="%f")
  • static GString ToString (const GDouble Value, const GChar8 *Format="%f")
  • static const GChar8 * ToAscii (const GString &Value)
  • static GInt32 ToInt (const GString &Value)
  • static GLong ToLong (const GString &Value)
  • static GDouble ToDouble (const GString &Value)
  • static GString ToHex (const GUInt32 Number, const GUInt32 Width)
  • static GStringList Split (const GString &Value, const GString &Separator, GBool Empties=G_FALSE)
  • static GString Merge (const GStringList &InputList, const GChar8 *InterStr="")
  • template<GUInt32 SIZE> static GError FromString (const GString &SourceStr, GVectBase< GReal, SIZE > &Vect)
  • static GError FromString (const GString &SourceStr, GQuaternion &Quat)

Detailed Description

A collection of cross-platform generic string utilities.

Member Function Documentation

GString Amanith::StrUtils::ExtractFileExt ( const GString & FullFileName ) [static]

Extract the file extension portion of specified parameter.

See also:
Lets see the lowlevel_stuff example located at $AMANITHDIR/examples/others/lowlevel_stuff.

GString Amanith::StrUtils::ExtractFileName | ( | const GString & | FullFileName,
 |  | const GBool | IncludeExtension = G_TRUE
 | ) | [static]

Extract the file name portion of specified parameter. If IncludeExtension is set to G_TRUE, the file extension will be included too.

GString Amanith::StrUtils::ExtractFilePath ( const GString & FullFileName ) [static]

Extract the path portion of specified parameter.

Note:
The returned string will have all slash characters set according to the current OS type ('\' for Windows, '/' for *nix).
See also:
Lets see the lowlevel_stuff example located at $AMANITHDIR/examples/others/lowlevel_stuff.

GBool Amanith::StrUtils::Find | ( | const GString & | Source,
 |  | const GString & | StrToFind,
 |  | const GBool | CaseInsensitive = G_TRUE,
 |  | const GUInt32 | StartOffset = 0,
 |  | GUInt32 * | PosFound = NULL
 | ) | [static]

Searches a string in a forward direction for the first occurrence of a substring that matches a specified sequence of characters.

Parameters:
Source | the source string, where to search for StrToFind.
StrToFind | the string for which the member function is to search.
CaseInsensitive | G_TRUE if comparison must be done case-insensitive, else G_FALSE.
StartOffset | index of the position at which the search is to begin.
PosFound | the index of the first character of the substring searched for when successful.
Returns:
G_TRUE if substring has been found, else G_FALSE.

GError Amanith::StrUtils::FromString | ( | const GString & | SourceStr,
 |  | GQuaternion & | Quat
 | ) | [static]

Set quaternion values from string representation.

Example:

    GError err;
    GQuaternion q;
    // q will have components set to, respectively, X = 3, Y = 4.5, Z = 0, W = 1
    err = StrUtils::FromString("3, 4.5, 0, 1", q);
    // this call fails with an error code of G_INVALID_FORMAT, because of non-matching components number
    err = StrUtils::FromString("0, 1, 2, 5, 6", q);

template<GUInt32 SIZE>
static GError Amanith::StrUtils::FromString | ( | const GString & | SourceStr,
 |  | GVectBase< GReal, SIZE > & | Vect
 | ) | [static]

Set vector values from string representation.

GString Amanith::StrUtils::Left | ( | const GString & | Str,
 |  | const GUInt32 | HowMany
 | ) | [static]

Returns a substring that contains the 'HowMany' leftmost characters of the string 'Str'.

GString Amanith::StrUtils::Lower ( const GString & Str ) [static]

Returns lowered string.

GString Amanith::StrUtils::Merge | ( | const GStringList & | InputList,
 |  | const GChar8 * | InterStr = ""
 | ) | [static]

Joins the string list into a single string with each element separated by the string InterStr.

GString Amanith::StrUtils::OSFixPath | ( | const GString & | GeneralPath,
 |  | const GBool | InsureFinalDelimiter = G_FALSE
 | ) | [static]

Fix a path for the current OS.

Every slash present in the path, will be set according to the current OS type ('\' for Windows, '/' for *nix). Example:

    // suppose we are on a Windows platform
    GString path = StrUtils::OSFixPath("c:\windows/system32", G_TRUE);
    // now path contains "c:\windows\system32\"

Parameters:
GeneralPath | the path string that we wanna fix
InsureFinalDelimiter | if G_TRUE, return fixed path is ensured to include as last character a path delimiter

GString Amanith::StrUtils::Purge | ( | const GString & | DustySource,
 |  | const GString & | Dust
 | ) | [static]

Purge a string; remove all dusty characters specified in 'Dust' string and return the purged string.

Example:

    GString s = StrUtils::Purge("username@"_[_$]amanith.org", "$_[]");
    // now s contains the string "username@amanith.org"

GString Amanith::StrUtils::Replace | ( | const GString & | Str,
 |  | const GChar8 | Before,
 |  | const GChar8 | After
 | ) | [static]

Replace every 'Before' char occurrence with 'After' char.

GString Amanith::StrUtils::Right | ( | const GString & | Str,
 |  | const GUInt32 | HowMany
 | ) | [static]

Returns a string that contains the 'HowMany' rightmost characters of the string 'Str'.

GBool Amanith::StrUtils::SameText | ( | const GString & | Str1,
 |  | const GString & | Str2
 | ) | [static]

Case-insensitive string comparison.

GStringList Amanith::StrUtils::Split | ( | const GString & | Value,
 |  | const GString & | Separator,
 |  | GBool | Empties = G_FALSE
 | ) | [static]

Split a string into a sequence of strings, specifying split separator.

Splits the string Value into strings wherever the Separator expression occurs, and returns the list of those strings. If Empties is G_TRUE, an empty string is inserted in the list wherever the separator matches twice without intervening text. For example, if you split the string "a,,b,c" on commas, Split() returns the three-item list "a", "b", "c" if Empties is G_FALSE (the default), and the four-item list "a", "", "b", "c" if Empties is G_TRUE.

const GChar8 * Amanith::StrUtils::ToAscii ( const GString & Value ) [static]

Converts the contents of a string as a C-style, null-terminated string.

GDouble Amanith::StrUtils::ToDouble ( const GString & Value ) [static]

Converts a string (representing a number) into a GDouble number; the return value is 0 the input cannot be converted to a value of that type

GString Amanith::StrUtils::ToHex | ( | const GUInt32 | Number,
 |  | const GUInt32 | Width
 | ) | [static]

Convert a number to its hexadecimal string representation.

Example:

    // s will contain the string "0x00007F"
    GString s = StrUtils::ToHex(127, 8);
    // r will contain the string "0x10000"
    GString r = StrUtils::ToHex(65536, 3);
Parameters:
Number | the number to convert into hexadecimal string representation
Width | length of the output string;
Note:
The output string will have a length of exactly Width, including '0x' prefix and extra characters will be set to '0'; just in case that hexadecimal representation needs more than Width characters, then the output string will have a length greater than Width.

GInt32 Amanith::StrUtils::ToInt ( const GString & Value ) [static]

Converts a string (representing a number) into a GInt32 number; the return value is 0 if the input cannot be converted to a value of that type

GLong Amanith::StrUtils::ToLong ( const GString & Value ) [static]

Converts a string (representing a number) into a GLong number; the return value is 0 if the input cannot be converted to a value of that type

GString Amanith::StrUtils::ToString | ( | const GDouble | Value,
 |  | const GChar8 * | Format = "%f"
 | ) | [static]

Convert a double into string format.

GString Amanith::StrUtils::ToString | ( | const GFloat | Value,
 |  | const GChar8 * | Format = "%f"
 | ) | [static]

Convert a float into string format.

GString Amanith::StrUtils::ToString | ( | const GUInt8 | Value,
 |  | const GChar8 * | Format = "%d"
 | ) | [static]

Convert an integer into string format.

GString Amanith::StrUtils::ToString | ( | const GInt8 | Value,
 |  | const GChar8 * | Format = "%d"
 | ) | [static]

Convert an integer into string format.

GString Amanith::StrUtils::ToString | ( | const GUInt16 | Value,
 |  | const GChar8 * | Format = "%d"
 | ) | [static]

Convert an integer into string format.

GString Amanith::StrUtils::ToString | ( | const GInt16 | Value,
 |  | const GChar8 * | Format = "%d"
 | ) | [static]

Convert an integer into string format.

GString Amanith::StrUtils::ToString | ( | const GUInt32 | Value,
 |  | const GChar8 * | Format = "%d"
 | ) | [static]

Convert an integer into string format.

GString Amanith::StrUtils::ToString | ( | const GInt32 | Value,
 |  | const GChar8 * | Format = "%d"
 | ) | [static]

Convert an integer into string format.

template<typename DATA_TYPE>
static GString Amanith::StrUtils::ToString | ( | const GQuat< DATA_TYPE > & | q,
 |  | const GString & | Separator = ",",
 |  | const GChar8 * | Format = NULL
 | ) | [static]

Convert a quaternion into string format.

template<typename DATA_TYPE, GUInt32 SIZE>
static GString Amanith::StrUtils::ToString | ( | const GVectBase< DATA_TYPE, SIZE > & | v,
 |  | const GString & | Separator = ",",
 |  | const GChar8 * | Format = NULL
 | ) | [static]

Convert a vector into string format.

GString Amanith::StrUtils::Upper ( const GString & Str ) [static]

Returns uppered string.

The documentation for this class was generated from the following files:
  • gutilities.h
  • gutilities.cpp


Amanith::StrUtils Member List

This is the complete list of members for Amanith::StrUtils, including all inherited members.

ExtractFileExt(const GString &FullFileName) | Amanith::StrUtils | [static]
ExtractFileName(const GString &FullFileName, const GBool IncludeExtension=G_TRUE) | Amanith::StrUtils | [static]
ExtractFilePath(const GString &FullFileName) | Amanith::StrUtils | [static]
Find(const GString &Source, const GString &StrToFind, const GBool CaseInsensitive=G_TRUE, const GUInt32 StartOffset=0, GUInt32 *PosFound=NULL) | Amanith::StrUtils | [static]
FromString(const GString &SourceStr, GVectBase< GReal, SIZE > &Vect) | Amanith::StrUtils | [static]
FromString(const GString &SourceStr, GQuaternion &Quat) | Amanith::StrUtils | [static]
Left(const GString &Str, const GUInt32 HowMany) | Amanith::StrUtils | [static]
Lower(const GString &Str) | Amanith::StrUtils | [static]
Merge(const GStringList &InputList, const GChar8 *InterStr="") | Amanith::StrUtils | [static]
OSFixPath(const GString &GeneralPath, const GBool InsureFinalDelimiter=G_FALSE) | Amanith::StrUtils | [static]
Purge(const GString &DustySource, const GString &Dust) | Amanith::StrUtils | [static]
Replace(const GString &Str, const GChar8 Before, const GChar8 After) | Amanith::StrUtils | [static]
Right(const GString &Str, const GUInt32 HowMany) | Amanith::StrUtils | [static]
SameText(const GString &Str1, const GString &Str2) | Amanith::StrUtils | [static]
Split(const GString &Value, const GString &Separator, GBool Empties=G_FALSE) | Amanith::StrUtils | [static]
ToAscii(const GString &Value) | Amanith::StrUtils | [static]
ToDouble(const GString &Value) | Amanith::StrUtils | [static]
ToHex(const GUInt32 Number, const GUInt32 Width) | Amanith::StrUtils | [static]
ToInt(const GString &Value) | Amanith::StrUtils | [static]
ToLong(const GString &Value) | Amanith::StrUtils | [static]
ToString(const GVectBase< DATA_TYPE, SIZE > &v, const GString &Separator=",", const GChar8 *Format=NULL) | Amanith::StrUtils | [static]
ToString(const GQuat< DATA_TYPE > &q, const GString &Separator=",", const GChar8 *Format=NULL) | Amanith::StrUtils | [static]
ToString(const GInt32 Value, const GChar8 *Format="%d") | Amanith::StrUtils | [static]
ToString(const GUInt32 Value, const GChar8 *Format="%d") | Amanith::StrUtils | [static]
ToString(const GInt16 Value, const GChar8 *Format="%d") | Amanith::StrUtils | [static]
ToString(const GUInt16 Value, const GChar8 *Format="%d") | Amanith::StrUtils | [static]
ToString(const GInt8 Value, const GChar8 *Format="%d") | Amanith::StrUtils | [static]
ToString(const GUInt8 Value, const GChar8 *Format="%d") | Amanith::StrUtils | [static]
ToString(const GFloat Value, const GChar8 *Format="%f") | Amanith::StrUtils | [static]
ToString(const GDouble Value, const GChar8 *Format="%f") | Amanith::StrUtils | [static]
Upper(const GString &Str) | Amanith::StrUtils | [static]


Amanith::SysUtils

Amanith::SysUtils Class Reference

A collection of generic cross-platform system utilities. More...

List of all members.

Static Public Member Functions

  • static GBool SystemInfo (GSystemInfo &SysInfo)
  • static GString AmanithPath ()
  • static GString AmanithPluginsPath ()
  • static GError MachineGUID (GString &Identifier)
  • static void RedirectIOToConsole ()

Detailed Description

A collection of generic cross-platform system utilities.

Member Function Documentation

GString Amanith::SysUtils::AmanithPath ( ) [static]

Get path where Amanith framework is installed. It uses the environment AMANITHDIR variable.

GString Amanith::SysUtils::AmanithPluginsPath ( ) [static]

Get path where standard Amanith plugins are located. It uses the environment AMANITHDIR variable.

GError Amanith::SysUtils::MachineGUID ( GString & Identifier ) [static]

Get a unique machine identifier.

Note:
It works only for Windows platform, and it uses WMI.

void Amanith::SysUtils::RedirectIOToConsole ( ) [static]

Redirect I/O text to console, for Win32 applications.

GBool Amanith::SysUtils::SystemInfo ( GSystemInfo & SysInfo ) [static]

Get system information.

The documentation for this class was generated from the following files:
  • gutilities.h
  • gutilities.cpp


Amanith::SysUtils Member List

This is the complete list of members for Amanith::SysUtils, including all inherited members.

AmanithPath() | Amanith::SysUtils | [static]
AmanithPluginsPath() | Amanith::SysUtils | [static]
MachineGUID(GString &Identifier) | Amanith::SysUtils | [static]
RedirectIOToConsole() | Amanith::SysUtils | [static]
SystemInfo(GSystemInfo &SysInfo) | Amanith::SysUtils | [static]


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- a -

  • AddChar() : Amanith::GFont2D
  • AddCharMap() : Amanith::GFont2D
  • AddEdge() : Amanith::GMesh2D< DATA_TYPE >, Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >
  • AddElementReference() : Amanith::GKernel
  • AddEntry() : Amanith::GImpExp
  • AddFace() : Amanith::GMesh2D< DATA_TYPE >
  • AddKey() : Amanith::GProperty
  • AddPoint() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • AddProperty() : Amanith::GAnimElement
  • AddSubManifold() : Amanith::GMesh2D< DATA_TYPE >
  • AddVertex() : Amanith::GMesh2D< DATA_TYPE >
  • Advance() : Amanith::GFontChar2D
  • AlphaBits() : Amanith::GOpenglExt
  • AmanithPath() : Amanith::SysUtils
  • AmanithPluginsPath() : Amanith::SysUtils
  • Angle() : Amanith::GAxisAng< DATA_TYPE >
  • AppendCurve() : Amanith::GPath2D
  • AppendPath() : Amanith::GPath2D
  • AppendSegment() : Amanith::GPath2D
  • ApplyEase() : Amanith::GProperty
  • As() : Amanith::GElement
  • Ascender() : Amanith::GFont2D
  • AttachChildNode() : Amanith::GAnimTRSNode2D
  • AuxPoint() : Amanith::GGradientDesc
  • AuxPointModified() : Amanith::GGradientDesc
  • Axes() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • Axis() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GAxisAng< DATA_TYPE >


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- k -

  • KCMYToCMY() : Amanith::GPixelMap
  • KCMYToRGB() : Amanith::GPixelMap
  • Kerning : Amanith::GKerningEntry
  • KerningByCharCode() : Amanith::GFont2D
  • KerningByIndex() : Amanith::GFont2D
  • Key() : Amanith::GProperty, Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • Keys() : Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • KeysCount() : Amanith::GProperty
  • KeyType() : Amanith::GKeyValue
  • KillFaceEdge() : Amanith::GMesh2D< DATA_TYPE >
  • KillVertexEdge() : Amanith::GMesh2D< DATA_TYPE >
  • Knots() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • KnotsCount() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- l -

  • LabelContour() : Amanith::GFontChar2D
  • LabelHolesAndFilled() : Amanith::GFontChar2D
  • LargeArc() : Amanith::GEllipseCurve2D
  • Left() : Amanith::StrUtils, Amanith::GMeshEdge2D< DATA_TYPE >
  • LeftChild() : Amanith::GAVLNode
  • Length() : Amanith::GVect< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GLineSeg< DATA_TYPE, SIZE >, Amanith::GInterval< DATA_TYPE >, Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D
  • LengthSquared() : Amanith::GVect< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GLineSeg< DATA_TYPE, SIZE >
  • LinearHoriAdvance() : Amanith::GFontChar2D
  • LinearVertAdvance() : Amanith::GFontChar2D
  • LineTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • Lnext() : Amanith::GMeshEdge2D< DATA_TYPE >
  • Load() : Amanith::GKernel, Amanith::GPixelMap, Amanith::GFont2D
  • LoadFilePlug() : Amanith::GPlugLoader
  • LoadPlug() : Amanith::GPlugLoader
  • LoadPlugin() : Amanith::GKernel
  • LoadPlugins() : Amanith::GKernel
  • Log() : Amanith::GQuat< DATA_TYPE >
  • LogicalToPhysicalInt() : Amanith::GDrawBoard
  • LogicalToPhysicalMatrix() : Amanith::GDrawBoard
  • LogicalToPhysicalReal() : Amanith::GDrawBoard
  • LogicalWindow() : Amanith::GPatternDesc
  • LogicalWindowModified() : Amanith::GPatternDesc
  • Lower() : Amanith::StrUtils
  • LowerDegree() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • Lprev() : Amanith::GMeshEdge2D< DATA_TYPE >
  • LSBDelta() : Amanith::GFontChar2D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- m -

  • MachineGUID() : Amanith::SysUtils
  • MainRotation() : Amanith::GAffineParts
  • MakeFaceEdge() : Amanith::GMesh2D< DATA_TYPE >
  • MakeVertexEdge() : Amanith::GMesh2D< DATA_TYPE >
  • MapAngle() : Amanith::GEllipseCurve2D
  • Matrix() : Amanith::GPatternDesc, Amanith::GGradientDesc, Amanith::GAnimTRSNode2D
  • MatrixModified() : Amanith::GPatternDesc, Amanith::GGradientDesc
  • Max() : Amanith::GAVLTree, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • MaxAdvanceHeight() : Amanith::GFont2D
  • MaxAdvanceWidth() : Amanith::GFont2D
  • MaxColorKeys() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxConvolutionHeight() : Amanith::GOpenglExt
  • MaxConvolutionWidth() : Amanith::GOpenglExt
  • MaxDashCount() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxImageBytes() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxImageHeight() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxImageWidth() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxRenderBufferSize() : Amanith::GOpenglExt
  • MaxTextureSize() : Amanith::GOpenglExt
  • Merge() : Amanith::StrUtils
  • MergeChannels() : Amanith::GPixelMap
  • Mesh() : Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GQuadEdge2D< DATA_TYPE >, Amanith::GMeshEdge2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >
  • Min() : Amanith::GAVLTree, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • MirrorPoints() : Amanith::GFontCharContour2D
  • ModelView() : Amanith::GDrawStyle
  • ModelViewMatrix() : Amanith::GDrawBoard
  • ModelViewModified() : Amanith::GDrawStyle
  • Modified() : Amanith::GDrawStyle, Amanith::GPatternDesc, Amanith::GGradientDesc
  • MoveKey() : Amanith::GProperty
  • MoveTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • Mult() : Amanith::GQuat< DATA_TYPE >
  • Multiplicities() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • Multiplicity : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D, Amanith::GKnotMultiplicity
  • MultiSamples() : Amanith::GOpenglExt


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- n -

  • Name() : Amanith::GProperty
  • NeedDepthMask() : Amanith::GOpenGLBoard
  • NeededBytes() : Amanith::GPixelMap
  • Negative() : Amanith::GPixelMap
  • Next() : Amanith::GAVLTree
  • NodesCount() : Amanith::GAVLTree
  • Norm1() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • Normal() : Amanith::GGenericPlane< DATA_TYPE >, Amanith::GCurve2D
  • Normalize() : Amanith::GVect< DATA_TYPE, SIZE >, Amanith::GGenericRay< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >
  • NormalLR() : Amanith::GMultiCurve2D
  • NormFrobenius() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • NormInf() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • Null : Amanith::GClassID


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- o -

  • Offset() : Amanith::GGenericPlane< DATA_TYPE >
  • OffsetPositionTrack() : Amanith::GAnimTRSNode2D
  • OffsetRotation() : Amanith::GEllipseCurve2D
  • OffsetRotationTrack() : Amanith::GAnimTRSNode2D
  • OffsetScaleTrack() : Amanith::GAnimTRSNode2D
  • Onext() : Amanith::GMeshEdge2D< DATA_TYPE >
  • OORAfter() : Amanith::GProperty
  • OORBefore() : Amanith::GProperty
  • OORTime() : Amanith::GProperty
  • OpenPath() : Amanith::GPath2D
  • operator &() : Amanith::GInterval< DATA_TYPE >
  • operator &=() : Amanith::GInterval< DATA_TYPE >
  • operator *() : Amanith::GQuat< DATA_TYPE >
  • operator *=() : Amanith::GQuat< DATA_TYPE >
  • operator!=() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericRay< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GGenericPlane< DATA_TYPE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >, Amanith::GGenericAABox< DATA_TYPE, SIZE >, Amanith::GClassID
  • operator()() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • operator+() : Amanith::GQuat< DATA_TYPE >
  • operator+=() : Amanith::GQuat< DATA_TYPE >
  • operator-() : Amanith::GQuat< DATA_TYPE >
  • operator-=() : Amanith::GQuat< DATA_TYPE >
  • operator/() : Amanith::GQuat< DATA_TYPE >
  • operator/=() : Amanith::GQuat< DATA_TYPE >
  • operator=() : Amanith::GDrawStyle, Amanith::GInterval< DATA_TYPE >, Amanith::GElement, Amanith::GClassID, Amanith::GPolyLineKey2D, Amanith::GMesh2D< DATA_TYPE >, Amanith::GHermiteKey2D, Amanith::GPolyLineKey1D, Amanith::GHermiteKey1D
  • operator==() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericRay< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GGenericPlane< DATA_TYPE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >, Amanith::GGenericAABox< DATA_TYPE, SIZE >, Amanith::GClassID
  • operator[]() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • operator|() : Amanith::GInterval< DATA_TYPE >
  • operator|=() : Amanith::GInterval< DATA_TYPE >
  • Oprev() : Amanith::GMeshEdge2D< DATA_TYPE >
  • OrbitOrg() : Amanith::GMesh2D< DATA_TYPE >
  • Org() : Amanith::GMeshEdge2D< DATA_TYPE >
  • Origin() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • OSBuildNumber : Amanith::GSystemInfo
  • OSFixPath() : Amanith::StrUtils
  • OSMajorVersion : Amanith::GSystemInfo
  • OSMinorVersion : Amanith::GSystemInfo
  • OutTangent : Amanith::GHermiteKey2D, Amanith::GHermiteKey1D
  • Owner() : Amanith::GElement


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- ~ -

  • ~GAnimElement() : Amanith::GAnimElement
  • ~GAnimTRSNode2D() : Amanith::GAnimTRSNode2D
  • ~GAVLNode() : Amanith::GAVLNode
  • ~GAVLTree() : Amanith::GAVLTree
  • ~GBezierCurve1D() : Amanith::GBezierCurve1D
  • ~GBezierCurve2D() : Amanith::GBezierCurve2D
  • ~GBSplineCurve1D() : Amanith::GBSplineCurve1D
  • ~GBSplineCurve2D() : Amanith::GBSplineCurve2D
  • ~GCacheBank() : Amanith::GCacheBank
  • ~GClassID() : Amanith::GClassID
  • ~GConstantProperty1D() : Amanith::GConstantProperty1D
  • ~GCurve1D() : Amanith::GCurve1D
  • ~GCurve2D() : Amanith::GCurve2D
  • ~GDrawBoard() : Amanith::GDrawBoard
  • ~GDrawStyle() : Amanith::GDrawStyle
  • ~GElement() : Amanith::GElement
  • ~GElementProxy() : Amanith::GElementProxy
  • ~GEllipseCurve2D() : Amanith::GEllipseCurve2D
  • ~GFont2D() : Amanith::GFont2D
  • ~GFontChar2D() : Amanith::GFontChar2D
  • ~GFontCharContour2D() : Amanith::GFontCharContour2D
  • ~GFourConstantProperty1D() : Amanith::GFourConstantProperty1D
  • ~GFourHermiteProperty1D() : Amanith::GFourHermiteProperty1D
  • ~GFourLinearProperty1D() : Amanith::GFourLinearProperty1D
  • ~GGradientDesc() : Amanith::GGradientDesc
  • ~GHermiteCurve1D() : Amanith::GHermiteCurve1D
  • ~GHermiteCurve2D() : Amanith::GHermiteCurve2D
  • ~GHermiteProperty1D() : Amanith::GHermiteProperty1D
  • ~GImpExp() : Amanith::GImpExp
  • ~GInterval() : Amanith::GInterval< DATA_TYPE >
  • ~GKernel() : Amanith::GKernel
  • ~GLinearProperty1D() : Amanith::GLinearProperty1D
  • ~GMesh2D() : Amanith::GMesh2D< DATA_TYPE >
  • ~GMeshEdge2D() : Amanith::GMeshEdge2D< DATA_TYPE >
  • ~GMeshFace2D() : Amanith::GMeshFace2D< DATA_TYPE >
  • ~GMeshVertex2D() : Amanith::GMeshVertex2D< DATA_TYPE >
  • ~GMultiCurve1D() : Amanith::GMultiCurve1D
  • ~GMultiCurve2D() : Amanith::GMultiCurve2D
  • ~GMultiProperty1D() : Amanith::GMultiProperty1D
  • ~GOpenGLBoard() : Amanith::GOpenGLBoard
  • ~GOpenGLCacheBank() : Amanith::GOpenGLCacheBank
  • ~GOpenGLGradientDesc() : Amanith::GOpenGLGradientDesc
  • ~GOpenGLPatternDesc() : Amanith::GOpenGLPatternDesc
  • ~GPath2D() : Amanith::GPath2D
  • ~GPatternDesc() : Amanith::GPatternDesc
  • ~GPixelMap() : Amanith::GPixelMap
  • ~GPlugLoader() : Amanith::GPlugLoader
  • ~GPolyLineCurve1D() : Amanith::GPolyLineCurve1D
  • ~GPolyLineCurve2D() : Amanith::GPolyLineCurve2D
  • ~GProperty() : Amanith::GProperty
  • ~GTesselator2D() : Amanith::GTesselator2D
  • ~GThreeConstantProperty1D() : Amanith::GThreeConstantProperty1D
  • ~GThreeHermiteProperty1D() : Amanith::GThreeHermiteProperty1D
  • ~GThreeLinearProperty1D() : Amanith::GThreeLinearProperty1D
  • ~GTracedContour() : Amanith::GTracedContour
  • ~GTwoConstantProperty1D() : Amanith::GTwoConstantProperty1D
  • ~GTwoHermiteProperty1D() : Amanith::GTwoHermiteProperty1D
  • ~GTwoLinearProperty1D() : Amanith::GTwoLinearProperty1D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- b -

  • BalanceFactor() : Amanith::GAVLNode
  • BaseClone() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GMultiProperty1D, Amanith::GKernel, Amanith::GProperty, Amanith::GAnimElement, Amanith::GElement, Amanith::GPolyLineCurve2D, Amanith::GPixelMap, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GFont2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GAnimTRSNode2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • BaseType : Amanith::GPoint< DATA_TYPE, SIZE >, Amanith::GVect< DATA_TYPE, SIZE >
  • BeginPaths() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • BitsPerPixel() : Amanith::GPixelMap
  • BlueBits() : Amanith::GOpenglExt
  • BoolValue() : Amanith::GKeyValue
  • BoundBox() : Amanith::GFontCharContour2D
  • BuildFiltersBrightnessLUT() : Amanith::GPixelMap
  • BuildFromFaces() : Amanith::GMesh2D< DATA_TYPE >
  • BuildFromPointsCloud() : Amanith::GMesh2D< DATA_TYPE >
  • BuildGoodContour() : Amanith::GFontCharContour2D
  • BytesPerLine() : Amanith::GPixelMap
  • BytesPerPixel() : Amanith::GPixelMap


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- c -

  • CacheBank() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CalcCatmullRomTangents() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • CalcLength() : Amanith::GPath2D
  • Center() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >, Amanith::GEllipseCurve2D
  • CharByCode() : Amanith::GFont2D
  • CharByIndex() : Amanith::GFont2D
  • CharCode : Amanith::GEncodedChar
  • CharIndexByCharCode() : Amanith::GFont2D
  • CharMap : Amanith::GFont2D, Amanith::GCharMap
  • CharMapsCount() : Amanith::GFont2D
  • CharsCount() : Amanith::GFont2D
  • Child() : Amanith::GAnimTRSNode2D
  • ChildClassProxies() : Amanith::GKernel
  • ChildrenCounts() : Amanith::GAnimTRSNode2D
  • ClassID() : Amanith::GConstantProperty1DProxy, Amanith::GConstantProperty1D, Amanith::GLinearProperty1DProxy, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1DProxy, Amanith::GHermiteProperty1D, Amanith::GFourConstantProperty1DProxy, Amanith::GFourConstantProperty1D, Amanith::GThreeConstantProperty1DProxy, Amanith::GThreeConstantProperty1D, Amanith::GTwoConstantProperty1DProxy, Amanith::GTwoConstantProperty1D, Amanith::GFourLinearProperty1DProxy, Amanith::GFourLinearProperty1D, Amanith::GThreeLinearProperty1DProxy, Amanith::GThreeLinearProperty1D, Amanith::GTwoLinearProperty1DProxy, Amanith::GTwoLinearProperty1D, Amanith::GFourHermiteProperty1DProxy, Amanith::GFourHermiteProperty1D, Amanith::GThreeHermiteProperty1DProxy, Amanith::GThreeHermiteProperty1D, Amanith::GTwoHermiteProperty1DProxy, Amanith::GTwoHermiteProperty1D, Amanith::GMultiProperty1DProxy, Amanith::GMultiProperty1D, Amanith::GKernelProxy, Amanith::GKernel, Amanith::GImpExpProxy, Amanith::GImpExp, Amanith::GImpExpFeature, Amanith::GPropertyProxy, Amanith::GProperty, Amanith::GAnimElementProxy, Amanith::GAnimElement, Amanith::GElementProxy, Amanith::GElement, Amanith::GPolyLineCurve2DProxy, Amanith::GPolyLineCurve2D, Amanith::GPixelMapProxy, Amanith::GPixelMap, Amanith::GPath2DProxy, Amanith::GPath2D, Amanith::GMultiCurve2DProxy, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2DProxy, Amanith::GHermiteCurve2D, Amanith::GFont2DProxy, Amanith::GFont2D, Amanith::GEllipseCurve2DProxy, Amanith::GEllipseCurve2D, Amanith::GCurve2DProxy, Amanith::GCurve2D, Amanith::GBSplineCurve2DProxy, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2DProxy, Amanith::GBezierCurve2D, Amanith::GAnimTRSNode2DProxy, Amanith::GAnimTRSNode2D, Amanith::GPolyLineCurve1DProxy, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1DProxy, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1DProxy, Amanith::GHermiteCurve1D, Amanith::GCurve1DProxy, Amanith::GCurve1D, Amanith::GBSplineCurve1DProxy, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1DProxy, Amanith::GBezierCurve1D
  • ClassIDFromClassName() : Amanith::GKernel, Amanith::GElement
  • Clear() : Amanith::GDrawBoard, Amanith::GPolyLineCurve2D, Amanith::GPixelMap, Amanith::GPath2D, Amanith::GMesh2D< DATA_TYPE >, Amanith::GHermiteCurve2D, Amanith::GFont2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • ClipEnabled() : Amanith::GDrawBoard
  • ClipOperation() : Amanith::GDrawBoard
  • CloneChars() : Amanith::GFont2D
  • ClosePath() : Amanith::GOpenGLBoard, Amanith::GDrawBoard, Amanith::GPath2D
  • CMYToKCMY() : Amanith::GPixelMap
  • CMYToRGB() : Amanith::GPixelMap
  • ColorFromString() : Amanith::GOpenGLBoard
  • ColorInterpolation() : Amanith::GGradientDesc
  • ColorInterpolationModified() : Amanith::GGradientDesc
  • ColorKeys() : Amanith::GGradientDesc
  • ColorKeysModified() : Amanith::GGradientDesc
  • Compare() : Amanith::GAVLTree
  • CompOpPassesCount() : Amanith::GOpenGLBoard
  • Conj() : Amanith::GQuat< DATA_TYPE >
  • Connect() : Amanith::GMesh2D< DATA_TYPE >
  • Contour() : Amanith::GFontChar2D
  • ContoursCount() : Amanith::GFontChar2D
  • ControlPolygonLength() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • ConvertToHermite() : Amanith::GBezierCurve2D, Amanith::GBezierCurve1D
  • ConvertToPath() : Amanith::GTracedContour, Amanith::GFontCharContour2D
  • ConvertToPaths() : Amanith::GFontChar2D
  • Copy() : Amanith::GKernel
  • CopyFrom() : Amanith::GElement, Amanith::GClassID
  • CopyTo() : Amanith::GElement
  • Create() : Amanith::GPixelMap
  • CreateCacheBank() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateConicalGradient() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateDrawStyle() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateLinearGradient() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateNew() : Amanith::GConstantProperty1DProxy, Amanith::GLinearProperty1DProxy, Amanith::GHermiteProperty1DProxy, Amanith::GFourConstantProperty1DProxy, Amanith::GThreeConstantProperty1DProxy, Amanith::GTwoConstantProperty1DProxy, Amanith::GFourLinearProperty1DProxy, Amanith::GThreeLinearProperty1DProxy, Amanith::GTwoLinearProperty1DProxy, Amanith::GFourHermiteProperty1DProxy, Amanith::GThreeHermiteProperty1DProxy, Amanith::GTwoHermiteProperty1DProxy, Amanith::GKernelProxy, Amanith::GKernel, Amanith::GPropertyProxy, Amanith::GElementProxy, Amanith::GElement, Amanith::GPolyLineCurve2DProxy, Amanith::GPixelMapProxy, Amanith::GPath2DProxy, Amanith::GHermiteCurve2DProxy, Amanith::GFont2DProxy, Amanith::GEllipseCurve2DProxy, Amanith::GBSplineCurve2DProxy, Amanith::GBezierCurve2DProxy, Amanith::GAnimTRSNode2DProxy, Amanith::GPolyLineCurve1DProxy, Amanith::GHermiteCurve1DProxy, Amanith::GBSplineCurve1DProxy, Amanith::GBezierCurve1DProxy
  • CreatePattern() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateRadialGradient() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CrossingCount() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • CrossingCountX() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • Curvature() : Amanith::GCurve2D
  • CurvatureLR() : Amanith::GMultiCurve2D
  • CurveTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CustomData() : Amanith::GAVLNode, Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshEdge2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >, Amanith::GAnimTRSNode2D
  • Cut() : Amanith::GCurve2D, Amanith::GCurve1D
  • CutByLength() : Amanith::GCurve2D, Amanith::GCurve1D
  • CyclesCount() : Amanith::GInterval< DATA_TYPE >
  • CycleValue() : Amanith::GInterval< DATA_TYPE >


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- d -

  • Data() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • DecompAffine() : Amanith::GAffineParts
  • DecomposeBezier() : Amanith::GFontCharContour2D
  • DefaultValue() : Amanith::GProperty
  • Degree() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • Delete() : Amanith::GAVLTree
  • DeleteCacheBanks() : Amanith::GOpenGLBoard
  • DeleteChars() : Amanith::GFont2D
  • DeleteContours() : Amanith::GFontChar2D
  • DeleteGradients() : Amanith::GOpenGLBoard
  • DeleteKerning() : Amanith::GFont2D
  • DeleteNode() : Amanith::GAVLTree
  • DeletePatterns() : Amanith::GOpenGLBoard
  • DepthBits() : Amanith::GOpenglExt
  • Derivative() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • DerivativeLR() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DerivedClassID() : Amanith::GConstantProperty1DProxy, Amanith::GConstantProperty1D, Amanith::GLinearProperty1DProxy, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1DProxy, Amanith::GHermiteProperty1D, Amanith::GFourConstantProperty1DProxy, Amanith::GFourConstantProperty1D, Amanith::GThreeConstantProperty1DProxy, Amanith::GThreeConstantProperty1D, Amanith::GTwoConstantProperty1DProxy, Amanith::GTwoConstantProperty1D, Amanith::GFourLinearProperty1DProxy, Amanith::GFourLinearProperty1D, Amanith::GThreeLinearProperty1DProxy, Amanith::GThreeLinearProperty1D, Amanith::GTwoLinearProperty1DProxy, Amanith::GTwoLinearProperty1D, Amanith::GFourHermiteProperty1DProxy, Amanith::GFourHermiteProperty1D, Amanith::GThreeHermiteProperty1DProxy, Amanith::GThreeHermiteProperty1D, Amanith::GTwoHermiteProperty1DProxy, Amanith::GTwoHermiteProperty1D, Amanith::GMultiProperty1DProxy, Amanith::GMultiProperty1D, Amanith::GKernelProxy, Amanith::GKernel, Amanith::GImpExpProxy, Amanith::GImpExp, Amanith::GPropertyProxy, Amanith::GProperty, Amanith::GAnimElementProxy, Amanith::GAnimElement, Amanith::GElementProxy, Amanith::GElement, Amanith::GPolyLineCurve2DProxy, Amanith::GPolyLineCurve2D, Amanith::GPixelMapProxy, Amanith::GPixelMap, Amanith::GPath2DProxy, Amanith::GPath2D, Amanith::GMultiCurve2DProxy, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2DProxy, Amanith::GHermiteCurve2D, Amanith::GFont2DProxy, Amanith::GFont2D, Amanith::GEllipseCurve2DProxy, Amanith::GEllipseCurve2D, Amanith::GCurve2DProxy, Amanith::GCurve2D, Amanith::GBSplineCurve2DProxy, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2DProxy, Amanith::GBezierCurve2D, Amanith::GAnimTRSNode2DProxy, Amanith::GAnimTRSNode2D, Amanith::GPolyLineCurve1DProxy, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1DProxy, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1DProxy, Amanith::GHermiteCurve1D, Amanith::GCurve1DProxy, Amanith::GCurve1D, Amanith::GBSplineCurve1DProxy, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1DProxy, Amanith::GBezierCurve1D
  • Descender() : Amanith::GFont2D
  • Dest() : Amanith::GMeshEdge2D< DATA_TYPE >
  • DetachChildNode() : Amanith::GAnimTRSNode2D
  • DetachEdge() : Amanith::GMesh2D< DATA_TYPE >
  • DeterminantSign() : Amanith::GAffineParts
  • Dimension() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • Direction() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • Div() : Amanith::GQuat< DATA_TYPE >
  • Dnext() : Amanith::GMeshEdge2D< DATA_TYPE >
  • DoAddKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoAddPoint() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DoClear() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoCut() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • DoDrawBezier() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawCacheSlot() : Amanith::GOpenGLBoard
  • DoDrawCacheSlots() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawCircle() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawEllipse() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawEllipseArc() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawLine() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawPath() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawPaths() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawPolygon() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawRectangle() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawRoundRectangle() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoFinish() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoFlush() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoGetKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoGetKeysCount() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoGetPointParameter() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DoGetValue() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoGroupBegin() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoGroupEnd() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • Domain() : Amanith::GProperty, Amanith::GCurve2D, Amanith::GCurve1D
  • DomainEnd() : Amanith::GCurve2D, Amanith::GCurve1D
  • DomainStart() : Amanith::GCurve2D, Amanith::GCurve1D
  • DoMoveKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoPopClipMask() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoRead() : Amanith::GImpExp
  • DoRemoveKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoRemovePoint() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DoScreenShot() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetClipEnabled() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetClipOperation() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetGroupCompOp() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetGroupOpacity() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoSetKeys() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoSetPointParameter() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DoSetProjection() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetRenderingQuality() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetTargetMode() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetValue() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoSetViewport() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoWrite() : Amanith::GImpExp
  • Dprev() : Amanith::GMeshEdge2D< DATA_TYPE >
  • DrawBezier() : Amanith::GDrawBoard
  • DrawCacheBank() : Amanith::GDrawBoard
  • DrawCacheSlot() : Amanith::GDrawBoard
  • DrawCacheSlots() : Amanith::GDrawBoard
  • DrawCircle() : Amanith::GDrawBoard
  • DrawContour() : Amanith::GTracedContour, Amanith::GFontCharContour2D
  • DrawEllipse() : Amanith::GDrawBoard
  • DrawEllipseArc() : Amanith::GDrawBoard
  • DrawGLRadialSector() : Amanith::GOpenGLBoard
  • DrawLine() : Amanith::GDrawBoard
  • DrawPath() : Amanith::GDrawBoard
  • DrawPaths() : Amanith::GDrawBoard
  • DrawPolygon() : Amanith::GDrawBoard
  • DrawRectangle() : Amanith::GDrawBoard
  • DrawRoundRectangle() : Amanith::GDrawBoard
  • DynamicLibExtension : Amanith::GSystemInfo


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- e -

  • EaseProperty() : Amanith::GProperty
  • Edge() : Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >
  • EdgeEnhance() : Amanith::GPixelMap
  • EdgeEnhanceMono() : Amanith::GPixelMap
  • EdgePreservingSmooth() : Amanith::GPixelMap
  • EdgePreservingSmoothMono() : Amanith::GPixelMap
  • Edges() : Amanith::GQuadEdge2D< DATA_TYPE >
  • EdgesInRingCount() : Amanith::GMeshVertex2D< DATA_TYPE >
  • EllipticalArcTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • Encoding : Amanith::GCharMap
  • EncodingID : Amanith::GCharMap
  • End() : Amanith::GInterval< DATA_TYPE >
  • EndAngle() : Amanith::GEllipseCurve2D
  • EndianType : Amanith::GSystemInfo
  • EndPaths() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • EndPoint() : Amanith::GLineSeg< DATA_TYPE, SIZE >, Amanith::GCurve2D, Amanith::GCurve1D
  • ErrToString() : Amanith::ErrorUtils
  • Evaluate() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • EvaluateBasisFunc() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • EvaluateByAngle() : Amanith::GEllipseCurve2D
  • EvenOddFill() : Amanith::GFontChar2D
  • Exp() : Amanith::GQuat< DATA_TYPE >
  • ExtendToInclude() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • ExternalLeading() : Amanith::GFont2D
  • ExtractColumn() : Amanith::GPixelMap
  • ExtractFileExt() : Amanith::StrUtils
  • ExtractFileName() : Amanith::StrUtils
  • ExtractFilePath() : Amanith::StrUtils
  • ExtractRow() : Amanith::GPixelMap


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- f -

  • Face() : Amanith::GMesh2D< DATA_TYPE >
  • FacesCount() : Amanith::GMesh2D< DATA_TYPE >
  • FamilyName() : Amanith::GFont2D
  • Father() : Amanith::GAVLNode, Amanith::GAnimTRSNode2D
  • FBOMaxColorAttachments() : Amanith::GOpenglExt
  • Features() : Amanith::GImpExp
  • FileExists() : Amanith::FileUtils
  • FileExtension() : Amanith::GImpExpFeature
  • FileExtensionsCount() : Amanith::GImpExpFeature
  • FileExtensionSupported() : Amanith::GImpExp, Amanith::GImpExpFeature
  • Fill() : Amanith::GVectBase< DATA_TYPE, SIZE >
  • FillColor() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillColorModified() : Amanith::GDrawStyle
  • FillCompOp() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillCompOpModified() : Amanith::GDrawStyle
  • FillEnabled() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillEnabledModified() : Amanith::GDrawStyle
  • FillGradient() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillGradientModified() : Amanith::GDrawStyle
  • FillPaintType() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillPaintTypeModified() : Amanith::GDrawStyle
  • FillPattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillPatternModified() : Amanith::GDrawStyle
  • FillRule() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillRuleModified() : Amanith::GDrawStyle
  • Find() : Amanith::StrUtils, Amanith::GAVLTree
  • FindNext() : Amanith::GAVLTree
  • FindPrev() : Amanith::GAVLTree
  • FindProxy() : Amanith::GKernel
  • FindSpan() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • FindSpanMult() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • FindUnitCircles() : Amanith::GEllipseCurve2D
  • FindVertex() : Amanith::GMesh2D< DATA_TYPE >
  • Finish() : Amanith::GDrawBoard
  • FirstPointInSegment() : Amanith::GPath2D
  • FixAngle() : Amanith::GEllipseCurve2D
  • FixHolesAndFilledWiseOrder() : Amanith::GFontChar2D
  • Flags : Amanith::GSubChar2D
  • Flatten() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • Flatten2() : Amanith::GBezierCurve2D
  • Flatten3() : Amanith::GBezierCurve2D
  • Flip() : Amanith::GPixelMap
  • Flush() : Amanith::GDrawBoard
  • FormatName() : Amanith::GImpExpFeature
  • FormatSupported() : Amanith::GImpExp, Amanith::GImpExpFeature
  • FromString() : Amanith::StrUtils


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- g -

  • GAffineParts() : Amanith::GAffineParts
  • GAnimElement() : Amanith::GAnimElement
  • GAnimTRSNode2D() : Amanith::GAnimTRSNode2D
  • GAVLNode() : Amanith::GAVLNode
  • GAVLTree() : Amanith::GAVLTree
  • GAxisAng() : Amanith::GAxisAng< DATA_TYPE >
  • GBezierCurve1D() : Amanith::GBezierCurve1D
  • GBezierCurve2D() : Amanith::GBezierCurve2D
  • GBSplineCurve1D() : Amanith::GBSplineCurve1D
  • GBSplineCurve2D() : Amanith::GBSplineCurve2D
  • GCacheBank() : Amanith::GCacheBank
  • GClassID() : Amanith::GClassID
  • GConstantProperty1D() : Amanith::GConstantProperty1D
  • GCurve1D() : Amanith::GCurve1D
  • GCurve2D() : Amanith::GCurve2D
  • gDirection : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • GDrawBoard() : Amanith::GDrawBoard
  • GDrawStyle() : Amanith::GDrawStyle
  • GEigen() : Amanith::GEigen
  • GElement() : Amanith::GElement
  • GEllipseCurve2D() : Amanith::GEllipseCurve2D
  • Get() : Amanith::GQuat< DATA_TYPE >
  • GFont2D() : Amanith::GFont2D
  • GFontChar2D() : Amanith::GFontChar2D
  • GFontCharContour2D() : Amanith::GFontCharContour2D
  • GFourConstantProperty1D() : Amanith::GFourConstantProperty1D
  • GFourHermiteProperty1D() : Amanith::GFourHermiteProperty1D
  • GFourLinearProperty1D() : Amanith::GFourLinearProperty1D
  • GFunction : Amanith::GIntegration
  • GGenericAABox() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • GGenericOOBox() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • GGenericPlane() : Amanith::GGenericPlane< DATA_TYPE >
  • GGenericRay() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • GGenericSphere() : Amanith::GGenericSphere< DATA_TYPE, SIZE >
  • GGradientDesc() : Amanith::GGradientDesc
  • GHermiteCurve1D() : Amanith::GHermiteCurve1D
  • GHermiteCurve2D() : Amanith::GHermiteCurve2D
  • GHermiteKey1D() : Amanith::GHermiteKey1D
  • GHermiteKey2D() : Amanith::GHermiteKey2D
  • GHermiteProperty1D() : Amanith::GHermiteProperty1D
  • GImpExp() : Amanith::GImpExp
  • GImpExpFeature() : Amanith::GImpExpFeature
  • GInterval() : Amanith::GInterval< DATA_TYPE >
  • GKernel() : Amanith::GKernel
  • GKeyValue() : Amanith::GKeyValue
  • GLinearProperty1D() : Amanith::GLinearProperty1D
  • GLineSeg() : Amanith::GLineSeg< DATA_TYPE, SIZE >
  • GlobalFit() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • GlobalNaturalFit() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • GlobalParameter() : Amanith::GPath2D, Amanith::GCurve2D, Amanith::GCurve1D
  • GlyphIndex : Amanith::GEncodedChar, Amanith::GSubChar2D
  • GlyphIndexLeft : Amanith::GKerningEntry
  • GlyphIndexRight : Amanith::GKerningEntry
  • GlyphMetrics() : Amanith::GFontChar2D
  • GMatrix() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • GMesh2D() : Amanith::GMesh2D< DATA_TYPE >
  • GMeshEdge2D() : Amanith::GMeshEdge2D< DATA_TYPE >
  • GMeshFace2D() : Amanith::GMeshFace2D< DATA_TYPE >
  • GMeshVertex2D() : Amanith::GMeshVertex2D< DATA_TYPE >
  • gModified : Amanith::GPatternDesc, Amanith::GGradientDesc
  • GMultiCurve1D() : Amanith::GMultiCurve1D
  • GMultiCurve2D() : Amanith::GMultiCurve2D
  • GMultiProperty1D() : Amanith::GMultiProperty1D
  • GOpenGLBoard() : Amanith::GOpenGLBoard
  • GOpenGLCacheBank() : Amanith::GOpenGLCacheBank
  • GOpenGLDrawStyle() : Amanith::GOpenGLDrawStyle
  • GOpenglExt() : Amanith::GOpenglExt
  • GOpenGLGradientDesc() : Amanith::GOpenGLGradientDesc
  • GOpenGLPatternDesc() : Amanith::GOpenGLPatternDesc
  • gOrigin : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • GPath2D() : Amanith::GPath2D
  • GPatternDesc() : Amanith::GPatternDesc
  • GPixelMap() : Amanith::GPixelMap
  • GPlugLoader() : Amanith::GPlugLoader
  • GPoint() : Amanith::GPoint< DATA_TYPE, SIZE >
  • GPolyLineCurve1D() : Amanith::GPolyLineCurve1D
  • GPolyLineCurve2D() : Amanith::GPolyLineCurve2D
  • GPolyLineKey1D() : Amanith::GPolyLineKey1D
  • GPolyLineKey2D() : Amanith::GPolyLineKey2D
  • gProjection : Amanith::GDrawBoard
  • GProperty() : Amanith::GProperty
  • GProxyState() : Amanith::GProxyState
  • GQuadEdge2D() : Amanith::GQuadEdge2D< DATA_TYPE >
  • GQuat() : Amanith::GQuat< DATA_TYPE >
  • GradientTexture() : Amanith::GOpenGLGradientDesc
  • GreenBits() : Amanith::GOpenglExt
  • GroupBegin() : Amanith::GDrawBoard
  • GroupCompOp() : Amanith::GDrawBoard
  • GroupEnd() : Amanith::GDrawBoard
  • GroupOpacity() : Amanith::GDrawBoard
  • GRow : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor
  • GTesselator2D() : Amanith::GTesselator2D
  • GThreeConstantProperty1D() : Amanith::GThreeConstantProperty1D
  • GThreeHermiteProperty1D() : Amanith::GThreeHermiteProperty1D
  • GThreeLinearProperty1D() : Amanith::GThreeLinearProperty1D
  • GTracedContour() : Amanith::GTracedContour
  • GTwoConstantProperty1D() : Amanith::GTwoConstantProperty1D
  • GTwoHermiteProperty1D() : Amanith::GTwoHermiteProperty1D
  • GTwoLinearProperty1D() : Amanith::GTwoLinearProperty1D
  • GVect() : Amanith::GVect< DATA_TYPE, SIZE >
  • GVectBase() : Amanith::GVectBase< DATA_TYPE, SIZE >
  • gViewport : Amanith::GDrawBoard


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- h -

  • HalfDimension() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • HalfDimensions() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • HandledType() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • HasAlphaChannel() : Amanith::GPixelMap
  • HasKerningInfos() : Amanith::GFont2D
  • HasVertex() : Amanith::GMeshFace2D< DATA_TYPE >
  • HasVertices() : Amanith::GMeshFace2D< DATA_TYPE >
  • Height : Amanith::GPixelMap, Amanith::GFont2D, Amanith::GGlyphMetrics
  • HermiteKey() : Amanith::GHermiteProperty1D
  • HigherDegree() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • HoriAdvance : Amanith::GGlyphMetrics
  • HoriBearingX : Amanith::GGlyphMetrics
  • HoriBearingY : Amanith::GGlyphMetrics
  • HorizontalLineTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • HSLToRGB() : Amanith::GPixelMap
  • HSVToRGB() : Amanith::GPixelMap
  • HueDistance() : Amanith::GPixelMap


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- i -

  • IDName() : Amanith::GClassID
  • ImpExpFeatures() : Amanith::GKernel
  • Init() : Amanith::GMultiProperty1D
  • Insert() : Amanith::GAVLTree
  • InsertKnot() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • InsideAngleDomain() : Amanith::GEllipseCurve2D
  • InsideGroup() : Amanith::GDrawBoard
  • InTangent : Amanith::GHermiteKey2D, Amanith::GHermiteKey1D
  • IntersectRay() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • IntersectXRay() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • IntValue() : Amanith::GKeyValue
  • Invalidate() : Amanith::GOpenGLCacheBank, Amanith::GCacheBank
  • InverseMatrix() : Amanith::GPatternDesc, Amanith::GGradientDesc, Amanith::GAnimTRSNode2D
  • InverseModelView() : Amanith::GDrawStyle
  • InversePivotMatrix() : Amanith::GAnimTRSNode2D
  • Invert() : Amanith::GQuat< DATA_TYPE >
  • InvRot() : Amanith::GMeshEdge2D< DATA_TYPE >
  • IsArbProgramsSupported() : Amanith::GOpenglExt
  • IsArbShadersSupported() : Amanith::GOpenglExt
  • IsBold() : Amanith::GFont2D
  • IsClosed() : Amanith::GPath2D
  • IsComposite() : Amanith::GFontChar2D
  • IsConnected() : Amanith::GMesh2D< DATA_TYPE >
  • IsCubemapSupported() : Amanith::GOpenglExt
  • IsEmpty() : Amanith::GInterval< DATA_TYPE >
  • IsFBOSupported() : Amanith::GOpenglExt
  • IsFunctionSupported() : Amanith::GOpenglExt
  • IsGLExtensionSupported() : Amanith::GOpenglExt
  • IsGLVersionSupported() : Amanith::GOpenglExt
  • IsGrayScale() : Amanith::GPixelMap
  • IsHighColor() : Amanith::GPixelMap
  • IsHole() : Amanith::GFontCharContour2D
  • IsIncluded() : Amanith::GInterval< DATA_TYPE >
  • IsInInterval() : Amanith::GInterval< DATA_TYPE >
  • IsIsolated() : Amanith::GMeshVertex2D< DATA_TYPE >
  • IsItalic() : Amanith::GFont2D
  • IsKeyBased() : Amanith::GProperty
  • IsLeaf() : Amanith::GAnimTRSNode2D
  • IsMirroredRepeatSupported() : Amanith::GOpenglExt
  • IsMultitextureSupported() : Amanith::GOpenglExt
  • IsNormalized() : Amanith::GVect< DATA_TYPE, SIZE >, Amanith::GGenericRay< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >
  • IsNull() : Amanith::GClassID
  • IsOcclusionQuerySupported() : Amanith::GOpenglExt
  • IsOfType() : Amanith::GElement
  • IsOnEdge() : Amanith::GMeshEdge2D< DATA_TYPE >
  • IsOpen() : Amanith::GPath2D
  • IsPaletted() : Amanith::GPixelMap
  • IsPlugLoaded() : Amanith::GPlugLoader
  • IsPointInside() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • IsPointOnSurface() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • IsPointOutside() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • IsRectTextureSupported() : Amanith::GOpenglExt
  • IsRoot() : Amanith::GAnimTRSNode2D
  • IsRootClass() : Amanith::GElementProxy, Amanith::GElement
  • IsSupported() : Amanith::GKernel
  • IsTrueColor() : Amanith::GPixelMap
  • IsTypeOfType() : Amanith::GKernel, Amanith::GElement


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- p -

  • Palette() : Amanith::GPixelMap
  • PaletteEntriesCount() : Amanith::GPixelMap
  • PaletteSize() : Amanith::GPixelMap
  • Parameter : Amanith::GPolyLineKey2D, Amanith::GHermiteKey2D, Amanith::GPolyLineKey1D, Amanith::GHermiteKey1D
  • ParamToKeyIndex() : Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • ParamToSegmentIndex() : Amanith::GPath2D
  • ParseOptions() : Amanith::GImpExp
  • PatternTexture() : Amanith::GOpenGLPatternDesc
  • PhysicalToLogical() : Amanith::GDrawBoard
  • PhysicalToLogicalMatrix() : Amanith::GDrawBoard
  • PivotMatrix() : Amanith::GAnimTRSNode2D
  • PivotPosition() : Amanith::GAnimTRSNode2D
  • PivotRotation() : Amanith::GAnimTRSNode2D
  • PivotScale() : Amanith::GAnimTRSNode2D
  • Pixel() : Amanith::GPixelMap
  • PixelFormat() : Amanith::GPixelMap
  • Pixels() : Amanith::GPixelMap
  • PixelsCount() : Amanith::GPixelMap
  • PlatformID : Amanith::GCharMap
  • PlugHandle() : Amanith::GPlugLoader
  • PlugName() : Amanith::GPlugLoader
  • Point() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • PointParameter() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • Points() : Amanith::GFontCharContour2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • PointsCount() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GFontCharContour2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • PointsCountAndLocate() : Amanith::GPath2D
  • PointsFlags() : Amanith::GFontCharContour2D
  • PointSign() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • PopClipMask() : Amanith::GDrawBoard
  • Position() : Amanith::GMeshVertex2D< DATA_TYPE >, Amanith::GAnimTRSNode2D
  • PowerOfTwo() : Amanith::GOpenglExt
  • Prev() : Amanith::GAVLTree
  • PrintInfoLog() : Amanith::GOpenglExt
  • PrintOglError() : Amanith::GOpenglExt
  • Projection() : Amanith::GDrawBoard
  • Properties() : Amanith::GAnimElement
  • PropertiesCount() : Amanith::GAnimElement
  • Property() : Amanith::GAnimElement
  • Proxies() : Amanith::GKernel
  • ProxiesCount() : Amanith::GKernel
  • Proxy() : Amanith::GKernel, Amanith::GProxyState
  • Purge() : Amanith::StrUtils
  • PushBackCurve() : Amanith::GPath2D
  • PushFrontCurve() : Amanith::GPath2D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- r -

  • Radius() : Amanith::GGradientDesc, Amanith::GGenericSphere< DATA_TYPE, SIZE >
  • Read() : Amanith::GImpExp
  • ReadFile() : Amanith::FileUtils
  • ReadWriteOp() : Amanith::GImpExpFeature
  • RealValue() : Amanith::GKeyValue
  • RecalcSmoothTangents() : Amanith::GHermiteProperty1D, Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • RedBits() : Amanith::GOpenglExt
  • RedirectIOToConsole() : Amanith::SysUtils
  • ReferenceMove() : Amanith::GPixelMap
  • Reflect() : Amanith::GGenericPlane< DATA_TYPE >
  • RegisterElementProxy() : Amanith::GKernel
  • RemoveChar() : Amanith::GFont2D
  • RemoveCharMap() : Amanith::GFont2D
  • RemoveCharsMaps() : Amanith::GFont2D
  • RemoveEaseProperty() : Amanith::GProperty
  • RemoveEdge() : Amanith::GMesh2D< DATA_TYPE >, Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >
  • RemoveElementReference() : Amanith::GKernel
  • RemoveFace() : Amanith::GMesh2D< DATA_TYPE >
  • RemoveKey() : Amanith::GProperty
  • RemoveKeys() : Amanith::GProperty
  • RemovePoint() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • RemoveProperties() : Amanith::GAnimElement
  • RemoveProperty() : Amanith::GAnimElement
  • RemoveSegment() : Amanith::GPath2D
  • RemoveVertex() : Amanith::GMesh2D< DATA_TYPE >
  • RenameProperty() : Amanith::GAnimElement
  • RenderingQuality() : Amanith::GDrawBoard
  • Replace() : Amanith::StrUtils
  • Reset() : Amanith::GPixelMap
  • Resize() : Amanith::GPixelMap
  • ResizeCanvas() : Amanith::GPixelMap
  • ResizeCanvasMirror() : Amanith::GPixelMap
  • ResizeGray() : Amanith::GPixelMap
  • ResizeRGB() : Amanith::GPixelMap
  • ResolveSymbol() : Amanith::GPlugLoader
  • ReverseChannels() : Amanith::GPixelMap
  • RGBToCMY() : Amanith::GPixelMap
  • RGBToGray() : Amanith::GPixelMap
  • RGBToHSL() : Amanith::GPixelMap
  • RGBToHSV() : Amanith::GPixelMap
  • RGBToKCMY() : Amanith::GPixelMap
  • Right() : Amanith::StrUtils, Amanith::GMeshEdge2D< DATA_TYPE >
  • RightChild() : Amanith::GAVLNode
  • RightFace() : Amanith::GMesh2D< DATA_TYPE >
  • Rnext() : Amanith::GMeshEdge2D< DATA_TYPE >
  • Romberg() : Amanith::GIntegration
  • Root() : Amanith::GAVLTree
  • RootClassProxies() : Amanith::GKernel
  • Rot() : Amanith::GMeshEdge2D< DATA_TYPE >
  • Rotate() : Amanith::GEllipseCurve2D, Amanith::GCurve2D
  • Rotation() : Amanith::GAnimTRSNode2D
  • Rprev() : Amanith::GMeshEdge2D< DATA_TYPE >
  • RSBDelta() : Amanith::GFontChar2D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- s -

  • SameText() : Amanith::StrUtils
  • Save() : Amanith::GKernel, Amanith::GPixelMap
  • Scale() : Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GAnimTRSNode2D, Amanith::GHermiteCurve1D, Amanith::GCurve1D
  • ScanDirectory() : Amanith::GKernel
  • ScanPath() : Amanith::FileUtils
  • ScreenShot() : Amanith::GDrawBoard
  • Segment() : Amanith::GPath2D
  • SegmentDerivative() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentEvaluate() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentFlatten() : Amanith::GHermiteCurve2D
  • SegmentIntersectRay() : Amanith::GHermiteCurve2D
  • SegmentLength() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentsCount() : Amanith::GPath2D
  • SegmentToBezier() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentToBezierConversion() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentType() : Amanith::GPath2D
  • SegmentVariation() : Amanith::GHermiteCurve2D
  • Set() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >, Amanith::GInterval< DATA_TYPE >, Amanith::GAxisAng< DATA_TYPE >
  • SetAdvance() : Amanith::GFontChar2D
  • SetAngle() : Amanith::GAxisAng< DATA_TYPE >
  • SetAngleDomain() : Amanith::GEllipseCurve2D
  • SetApplyEasy() : Amanith::GProperty
  • SetAscender() : Amanith::GFont2D
  • SetAuxPoint() : Amanith::GGradientDesc
  • SetAuxPointModified() : Amanith::GGradientDesc
  • SetAxis() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GAxisAng< DATA_TYPE >
  • SetBold() : Amanith::GFont2D
  • SetCacheBank() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • SetCenter() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GEllipseCurve2D
  • SetClipEnabled() : Amanith::GDrawBoard
  • SetClipOperation() : Amanith::GDrawBoard
  • SetColorInterpolation() : Amanith::GGradientDesc
  • SetColorInterpolationModified() : Amanith::GGradientDesc
  • SetColorKeys() : Amanith::GOpenGLGradientDesc, Amanith::GGradientDesc
  • SetColorKeysModified() : Amanith::GGradientDesc
  • SetCustomData() : Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshEdge2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >, Amanith::GAnimTRSNode2D
  • SetCustomRenderingQuality() : Amanith::GOpenGLBoard
  • SetDefaultValue() : Amanith::GProperty
  • SetDescender() : Amanith::GFont2D
  • SetDest() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SetDimension() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • SetDirection() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • SetDomain() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • SetEaseProperty() : Amanith::GProperty
  • SetEllipse() : Amanith::GEllipseCurve2D
  • SetEnd() : Amanith::GInterval< DATA_TYPE >
  • SetEndPoint() : Amanith::GCurve2D, Amanith::GCurve1D
  • SetEvenOddFill() : Amanith::GFontChar2D
  • SetExternalLeading() : Amanith::GFont2D
  • SetFamilyName() : Amanith::GFont2D
  • SetFather() : Amanith::GAnimTRSNode2D
  • SetFillColor() : Amanith::GOpenGLDrawStyle, Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillColorModified() : Amanith::GDrawStyle
  • SetFillCompOp() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillCompOpModified() : Amanith::GDrawStyle
  • SetFillEnabled() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillEnabledModified() : Amanith::GDrawStyle
  • SetFillGradient() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillOpacity() : Amanith::GDrawBoard
  • SetFillPaintType() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillPaintTypeModified() : Amanith::GDrawStyle
  • SetFillPattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillRule() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillRuleModified() : Amanith::GDrawStyle
  • SetGLStyleCompOp() : Amanith::GOpenGLBoard
  • SetGroupCompOp() : Amanith::GDrawBoard
  • SetGroupOpacity() : Amanith::GDrawBoard
  • SetHalfDimension() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • SetHermiteKey() : Amanith::GHermiteProperty1D
  • SetHermiteKeys() : Amanith::GHermiteProperty1D
  • SetImage() : Amanith::GOpenGLPatternDesc, Amanith::GPatternDesc
  • SetIsKeyBased() : Amanith::GProperty
  • SetItalic() : Amanith::GFont2D
  • SetKerning() : Amanith::GFont2D
  • SetKey() : Amanith::GProperty, Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • SetKeys() : Amanith::GProperty, Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • SetKeyType() : Amanith::GKeyValue
  • SetLeft() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SetLinearHoriAdvance() : Amanith::GFontChar2D
  • SetLinearVertAdvance() : Amanith::GFontChar2D
  • SetLogicalWindow() : Amanith::GPatternDesc
  • SetLogicalWindowModified() : Amanith::GPatternDesc
  • SetLSBDelta() : Amanith::GFontChar2D
  • SetMatrix() : Amanith::GPatternDesc, Amanith::GGradientDesc
  • SetMatrixModified() : Amanith::GPatternDesc, Amanith::GGradientDesc
  • SetMax() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • SetMaxAdvanceHeight() : Amanith::GFont2D
  • SetMaxAdvanceWidth() : Amanith::GFont2D
  • SetMetrics() : Amanith::GFontChar2D
  • SetMin() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • SetMinMax() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • SetModelView() : Amanith::GDrawStyle
  • SetModelViewMatrix() : Amanith::GDrawBoard
  • SetName() : Amanith::GProperty
  • SetNormal() : Amanith::GGenericPlane< DATA_TYPE >
  • SetOffset() : Amanith::GGenericPlane< DATA_TYPE >
  • SetOffsetRotation() : Amanith::GEllipseCurve2D
  • SetOORAfter() : Amanith::GProperty
  • SetOORBefore() : Amanith::GProperty
  • SetOrbitOrg() : Amanith::GMesh2D< DATA_TYPE >
  • SetOrg() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SetOrigin() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • SetPivotPosition() : Amanith::GAnimTRSNode2D
  • SetPivotRotation() : Amanith::GAnimTRSNode2D
  • SetPivotScale() : Amanith::GAnimTRSNode2D
  • SetPixel() : Amanith::GPixelMap
  • SetPixelFormat() : Amanith::GPixelMap
  • SetPoint() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • SetPointParameter() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • SetPoints() : Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • SetPosition() : Amanith::GMeshVertex2D< DATA_TYPE >, Amanith::GAnimTRSNode2D
  • SetProjection() : Amanith::GDrawBoard
  • SetRadius() : Amanith::GGradientDesc, Amanith::GGenericSphere< DATA_TYPE, SIZE >
  • SetRectTextureEnabled() : Amanith::GOpenGLBoard
  • SetRenderingQuality() : Amanith::GDrawBoard
  • SetRight() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SetRotation() : Amanith::GAnimTRSNode2D
  • SetScale() : Amanith::GAnimTRSNode2D
  • SetSegment() : Amanith::GPath2D
  • SetShadersEnabled() : Amanith::GOpenGLBoard
  • SetSpreadMode() : Amanith::GGradientDesc
  • SetSpreadModeModified() : Amanith::GGradientDesc
  • SetStart() : Amanith::GInterval< DATA_TYPE >
  • SetStartPoint() : Amanith::GGradientDesc, Amanith::GLineSeg< DATA_TYPE, SIZE >, Amanith::GCurve2D, Amanith::GCurve1D
  • SetStartPointModified() : Amanith::GGradientDesc
  • SetStrokeColor() : Amanith::GOpenGLDrawStyle, Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeColorModified() : Amanith::GDrawStyle
  • SetStrokeCompOp() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeCompOpModified() : Amanith::GDrawStyle
  • SetStrokeDashPattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeDashPatternModified() : Amanith::GDrawStyle
  • SetStrokeDashPhase() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeDashPhaseModified() : Amanith::GDrawStyle
  • SetStrokeEnabled() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeEnabledModified() : Amanith::GDrawStyle
  • SetStrokeEndCapStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeEndCapStyleModified() : Amanith::GDrawStyle
  • SetStrokeGradient() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeJoinStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeJoinStyleModified() : Amanith::GDrawStyle
  • SetStrokeMiterLimit() : Amanith::GOpenGLDrawStyle, Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeMiterLimitModified() : Amanith::GDrawStyle
  • SetStrokeOpacity() : Amanith::GDrawBoard
  • SetStrokePaintType() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokePaintTypeModified() : Amanith::GDrawStyle
  • SetStrokePattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeStartCapStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeStartCapStyleModified() : Amanith::GDrawStyle
  • SetStrokeStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeStyleModified() : Amanith::GDrawStyle
  • SetStrokeWidth() : Amanith::GOpenGLDrawStyle, Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeWidthModified() : Amanith::GDrawStyle
  • SetStyleName() : Amanith::GFont2D
  • SetTargetMode() : Amanith::GDrawBoard
  • SetTilingMode() : Amanith::GPatternDesc
  • SetTilingModeModified() : Amanith::GPatternDesc
  • SetTimePosition() : Amanith::GKeyValue
  • SetTranspose() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • SetType() : Amanith::GGradientDesc
  • SetTypeModified() : Amanith::GGradientDesc
  • SetUndefined() : Amanith::GKeyValue
  • SetUnderlinePosition() : Amanith::GFont2D
  • SetUnderlineThickness() : Amanith::GFont2D
  • SetUnitsPerEM() : Amanith::GFont2D
  • SetUnloadOnDestroy() : Amanith::GPlugLoader
  • SetValue() : Amanith::GProperty, Amanith::GKeyValue
  • SetViewport() : Amanith::GDrawBoard
  • SetXSemiAxisLength() : Amanith::GEllipseCurve2D
  • SetYSemiAxisLength() : Amanith::GEllipseCurve2D
  • Size() : Amanith::GPixelMap
  • SlotsCount() : Amanith::GOpenGLCacheBank, Amanith::GCacheBank
  • SmoothCurveTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • SolveBandedSystem() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • SortKeys() : Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • Speed() : Amanith::GCurve2D, Amanith::GCurve1D
  • SpeedEvaluationCallBack() : Amanith::GCurve2D, Amanith::GCurve1D
  • SpeedLR() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • Splice() : Amanith::GMesh2D< DATA_TYPE >
  • Split() : Amanith::StrUtils
  • SplitChannels() : Amanith::GPixelMap
  • SpreadMode() : Amanith::GGradientDesc
  • SpreadModeModified() : Amanith::GGradientDesc
  • Start() : Amanith::GInterval< DATA_TYPE >
  • StartAngle() : Amanith::GEllipseCurve2D
  • StartPoint() : Amanith::GGradientDesc, Amanith::GLineSeg< DATA_TYPE, SIZE >, Amanith::GCurve2D, Amanith::GCurve1D
  • StartPointModified() : Amanith::GGradientDesc
  • StencilBits() : Amanith::GOpenglExt
  • StretchFactors() : Amanith::GAffineParts
  • StretchRotation() : Amanith::GAffineParts
  • StrokeColor() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeColorModified() : Amanith::GDrawStyle
  • StrokeCompOp() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeCompOpModified() : Amanith::GDrawStyle
  • StrokeDashPattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeDashPatternModified() : Amanith::GDrawStyle
  • StrokeDashPatternSum() : Amanith::GDrawStyle
  • StrokeDashPhase() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeDashPhaseModified() : Amanith::GDrawStyle
  • StrokeEnabled() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeEnabledModified() : Amanith::GDrawStyle
  • StrokeEndCapStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeEndCapStyleModified() : Amanith::GDrawStyle
  • StrokeGradient() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeGradientModified() : Amanith::GDrawStyle
  • StrokeJoinStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeJoinStyleModified() : Amanith::GDrawStyle
  • StrokeMiterLimit() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeMiterLimitModified() : Amanith::GDrawStyle
  • StrokeMiterLimitMulThickness() : Amanith::GOpenGLDrawStyle
  • StrokeOffsettedDashPattern() : Amanith::GDrawStyle
  • StrokeOffsettedDashPatternEmpty() : Amanith::GDrawStyle
  • StrokePaintType() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokePaintTypeModified() : Amanith::GDrawStyle
  • StrokePattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokePatternModified() : Amanith::GDrawStyle
  • StrokeStartCapStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeStartCapStyleModified() : Amanith::GDrawStyle
  • StrokeStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeStyleModified() : Amanith::GDrawStyle
  • StrokeThickness() : Amanith::GDrawStyle
  • StrokeWidth() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeWidthModified() : Amanith::GDrawStyle
  • StyleName() : Amanith::GFont2D
  • SubChar() : Amanith::GFontChar2D
  • SubCharsCount() : Amanith::GFontChar2D
  • SubPropertiesType() : Amanith::GMultiProperty1D
  • SupportedFunctions() : Amanith::GOpenglExt
  • Swap() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >
  • SwapColumn() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • SwapHolesAndFilledLabels() : Amanith::GFontChar2D
  • SwapRow() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • Sym() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SystemInfo() : Amanith::SysUtils


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- t -

  • Tangent() : Amanith::GCurve2D, Amanith::GCurve1D
  • TangentLR() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • TargetMode() : Amanith::GDrawBoard
  • Tesselate() : Amanith::GTesselator2D
  • TextureUnitsCount() : Amanith::GOpenglExt
  • ThinContours() : Amanith::GPixelMap
  • TilingMode() : Amanith::GPatternDesc
  • TilingModeModified() : Amanith::GPatternDesc
  • TimePosition() : Amanith::GKeyValue
  • ToAscii() : Amanith::StrUtils
  • ToDouble() : Amanith::StrUtils
  • ToHex() : Amanith::StrUtils
  • ToInt() : Amanith::StrUtils
  • ToLong() : Amanith::StrUtils
  • ToString() : Amanith::StrUtils
  • TotalLength() : Amanith::GCurve2D, Amanith::GCurve1D
  • Trace() : Amanith::GTracer2D
  • TraceContours() : Amanith::GPixelMap
  • TraceContoursAccurate() : Amanith::GPixelMap
  • TraceContoursFast() : Amanith::GPixelMap
  • TraceContoursMono() : Amanith::GPixelMap
  • TrailerPathDelimiter : Amanith::GSystemInfo
  • Transformation : Amanith::GSubChar2D
  • Translate() : Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GCurve1D
  • Translation() : Amanith::GAffineParts
  • TryToInsert() : Amanith::GAVLTree
  • TwoWaysCut() : Amanith::GPath2D
  • Type() : Amanith::GGradientDesc
  • TypeModified() : Amanith::GGradientDesc


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- u -

  • UnderlinePosition() : Amanith::GFont2D
  • UnderlineThickness() : Amanith::GFont2D
  • UnitsPerEM() : Amanith::GFont2D
  • UnloadOnDestroy() : Amanith::GPlugLoader
  • UnloadPlug() : Amanith::GPlugLoader
  • UnLoadPlugin() : Amanith::GKernel
  • UpdateGrabBuffer() : Amanith::GOpenGLBoard
  • Upper() : Amanith::StrUtils
  • UpperName() : Amanith::GProperty


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- v -

  • Value : Amanith::GProperty, Amanith::GPolyLineKey2D, Amanith::GHermiteKey2D, Amanith::GPolyLineKey1D, Amanith::GHermiteKey1D, Amanith::GKnotMultiplicity
  • Variation() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • Vect2Value() : Amanith::GKeyValue
  • Vect3Value() : Amanith::GKeyValue
  • Vect4Value() : Amanith::GKeyValue
  • Version() : Amanith::GImpExpFeature, Amanith::GElementProxy
  • VertAdvance : Amanith::GGlyphMetrics
  • VertBearingX : Amanith::GGlyphMetrics
  • VertBearingY : Amanith::GGlyphMetrics
  • Vertex() : Amanith::GMesh2D< DATA_TYPE >
  • VerticalLineTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • VerticesCount() : Amanith::GMesh2D< DATA_TYPE >
  • Viewport() : Amanith::GDrawBoard
  • Volume() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- w -

  • WhichSide() : Amanith::GGenericPlane< DATA_TYPE >
  • Width : Amanith::GPixelMap, Amanith::GGlyphMetrics
  • WordSize : Amanith::GSystemInfo
  • Write() : Amanith::GImpExp
  • WriteFile() : Amanith::FileUtils


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- x -

  • XAxis() : Amanith::GEllipseCurve2D
  • XForm() : Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D
  • XSemiAxisLength() : Amanith::GEllipseCurve2D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

Here is a list of all documented class members with links to the class documentation for each member:

- y -

  • YAxis() : Amanith::GEllipseCurve2D
  • YSemiAxisLength() : Amanith::GEllipseCurve2D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- a -

  • AddChar() : Amanith::GFont2D
  • AddCharMap() : Amanith::GFont2D
  • AddEdge() : Amanith::GMesh2D< DATA_TYPE >, Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >
  • AddElementReference() : Amanith::GKernel
  • AddEntry() : Amanith::GImpExp
  • AddFace() : Amanith::GMesh2D< DATA_TYPE >
  • AddKey() : Amanith::GProperty
  • AddPoint() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • AddProperty() : Amanith::GAnimElement
  • AddSubManifold() : Amanith::GMesh2D< DATA_TYPE >
  • AddVertex() : Amanith::GMesh2D< DATA_TYPE >
  • Advance() : Amanith::GFontChar2D
  • AlphaBits() : Amanith::GOpenglExt
  • AmanithPath() : Amanith::SysUtils
  • AmanithPluginsPath() : Amanith::SysUtils
  • Angle() : Amanith::GAxisAng< DATA_TYPE >
  • AppendCurve() : Amanith::GPath2D
  • AppendPath() : Amanith::GPath2D
  • AppendSegment() : Amanith::GPath2D
  • ApplyEase() : Amanith::GProperty
  • As() : Amanith::GElement
  • Ascender() : Amanith::GFont2D
  • AttachChildNode() : Amanith::GAnimTRSNode2D
  • AuxPoint() : Amanith::GGradientDesc
  • AuxPointModified() : Amanith::GGradientDesc
  • Axes() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • Axis() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GAxisAng< DATA_TYPE >


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- k -

  • KCMYToCMY() : Amanith::GPixelMap
  • KCMYToRGB() : Amanith::GPixelMap
  • KerningByCharCode() : Amanith::GFont2D
  • KerningByIndex() : Amanith::GFont2D
  • Key() : Amanith::GProperty, Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • Keys() : Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • KeysCount() : Amanith::GProperty
  • KeyType() : Amanith::GKeyValue
  • KillFaceEdge() : Amanith::GMesh2D< DATA_TYPE >
  • KillVertexEdge() : Amanith::GMesh2D< DATA_TYPE >
  • Knots() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • KnotsCount() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- l -

  • LabelContour() : Amanith::GFontChar2D
  • LabelHolesAndFilled() : Amanith::GFontChar2D
  • LargeArc() : Amanith::GEllipseCurve2D
  • Left() : Amanith::StrUtils, Amanith::GMeshEdge2D< DATA_TYPE >
  • LeftChild() : Amanith::GAVLNode
  • Length() : Amanith::GVect< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GLineSeg< DATA_TYPE, SIZE >, Amanith::GInterval< DATA_TYPE >, Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D
  • LengthSquared() : Amanith::GVect< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GLineSeg< DATA_TYPE, SIZE >
  • LinearHoriAdvance() : Amanith::GFontChar2D
  • LinearVertAdvance() : Amanith::GFontChar2D
  • LineTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • Lnext() : Amanith::GMeshEdge2D< DATA_TYPE >
  • Load() : Amanith::GKernel, Amanith::GPixelMap, Amanith::GFont2D
  • LoadFilePlug() : Amanith::GPlugLoader
  • LoadPlug() : Amanith::GPlugLoader
  • LoadPlugin() : Amanith::GKernel
  • LoadPlugins() : Amanith::GKernel
  • Log() : Amanith::GQuat< DATA_TYPE >
  • LogicalToPhysicalInt() : Amanith::GDrawBoard
  • LogicalToPhysicalMatrix() : Amanith::GDrawBoard
  • LogicalToPhysicalReal() : Amanith::GDrawBoard
  • LogicalWindow() : Amanith::GPatternDesc
  • LogicalWindowModified() : Amanith::GPatternDesc
  • Lower() : Amanith::StrUtils
  • LowerDegree() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • Lprev() : Amanith::GMeshEdge2D< DATA_TYPE >
  • LSBDelta() : Amanith::GFontChar2D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- m -

  • MachineGUID() : Amanith::SysUtils
  • MainRotation() : Amanith::GAffineParts
  • MakeFaceEdge() : Amanith::GMesh2D< DATA_TYPE >
  • MakeVertexEdge() : Amanith::GMesh2D< DATA_TYPE >
  • MapAngle() : Amanith::GEllipseCurve2D
  • Matrix() : Amanith::GPatternDesc, Amanith::GGradientDesc, Amanith::GAnimTRSNode2D
  • MatrixModified() : Amanith::GPatternDesc, Amanith::GGradientDesc
  • Max() : Amanith::GAVLTree, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • MaxAdvanceHeight() : Amanith::GFont2D
  • MaxAdvanceWidth() : Amanith::GFont2D
  • MaxColorKeys() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxConvolutionHeight() : Amanith::GOpenglExt
  • MaxConvolutionWidth() : Amanith::GOpenglExt
  • MaxDashCount() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxImageBytes() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxImageHeight() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxImageWidth() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • MaxRenderBufferSize() : Amanith::GOpenglExt
  • MaxTextureSize() : Amanith::GOpenglExt
  • Merge() : Amanith::StrUtils
  • MergeChannels() : Amanith::GPixelMap
  • Mesh() : Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GQuadEdge2D< DATA_TYPE >, Amanith::GMeshEdge2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >
  • Min() : Amanith::GAVLTree, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • MirrorPoints() : Amanith::GFontCharContour2D
  • ModelView() : Amanith::GDrawStyle
  • ModelViewMatrix() : Amanith::GDrawBoard
  • ModelViewModified() : Amanith::GDrawStyle
  • Modified() : Amanith::GDrawStyle, Amanith::GPatternDesc, Amanith::GGradientDesc
  • MoveKey() : Amanith::GProperty
  • MoveTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • Mult() : Amanith::GQuat< DATA_TYPE >
  • Multiplicities() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • Multiplicity() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D, Amanith::GKnotMultiplicity
  • MultiSamples() : Amanith::GOpenglExt


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- n -

  • Name() : Amanith::GProperty
  • NeedDepthMask() : Amanith::GOpenGLBoard
  • NeededBytes() : Amanith::GPixelMap
  • Negative() : Amanith::GPixelMap
  • Next() : Amanith::GAVLTree
  • NodesCount() : Amanith::GAVLTree
  • Norm1() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • Normal() : Amanith::GGenericPlane< DATA_TYPE >, Amanith::GCurve2D
  • Normalize() : Amanith::GVect< DATA_TYPE, SIZE >, Amanith::GGenericRay< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >
  • NormalLR() : Amanith::GMultiCurve2D
  • NormFrobenius() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • NormInf() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- o -

  • Offset() : Amanith::GGenericPlane< DATA_TYPE >
  • OffsetPositionTrack() : Amanith::GAnimTRSNode2D
  • OffsetRotation() : Amanith::GEllipseCurve2D
  • OffsetRotationTrack() : Amanith::GAnimTRSNode2D
  • OffsetScaleTrack() : Amanith::GAnimTRSNode2D
  • Onext() : Amanith::GMeshEdge2D< DATA_TYPE >
  • OORAfter() : Amanith::GProperty
  • OORBefore() : Amanith::GProperty
  • OORTime() : Amanith::GProperty
  • OpenPath() : Amanith::GPath2D
  • operator &() : Amanith::GInterval< DATA_TYPE >
  • operator &=() : Amanith::GInterval< DATA_TYPE >
  • operator *() : Amanith::GQuat< DATA_TYPE >
  • operator *=() : Amanith::GQuat< DATA_TYPE >
  • operator!=() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericRay< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GGenericPlane< DATA_TYPE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >, Amanith::GGenericAABox< DATA_TYPE, SIZE >, Amanith::GClassID
  • operator()() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • operator+() : Amanith::GQuat< DATA_TYPE >
  • operator+=() : Amanith::GQuat< DATA_TYPE >
  • operator-() : Amanith::GQuat< DATA_TYPE >
  • operator-=() : Amanith::GQuat< DATA_TYPE >
  • operator/() : Amanith::GQuat< DATA_TYPE >
  • operator/=() : Amanith::GQuat< DATA_TYPE >
  • operator=() : Amanith::GDrawStyle, Amanith::GInterval< DATA_TYPE >, Amanith::GElement, Amanith::GClassID, Amanith::GPolyLineKey2D, Amanith::GMesh2D< DATA_TYPE >, Amanith::GHermiteKey2D, Amanith::GPolyLineKey1D, Amanith::GHermiteKey1D
  • operator==() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericRay< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GGenericPlane< DATA_TYPE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >, Amanith::GGenericAABox< DATA_TYPE, SIZE >, Amanith::GClassID
  • operator[]() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • operator|() : Amanith::GInterval< DATA_TYPE >
  • operator|=() : Amanith::GInterval< DATA_TYPE >
  • Oprev() : Amanith::GMeshEdge2D< DATA_TYPE >
  • OrbitOrg() : Amanith::GMesh2D< DATA_TYPE >
  • Org() : Amanith::GMeshEdge2D< DATA_TYPE >
  • Origin() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • OSFixPath() : Amanith::StrUtils
  • Owner() : Amanith::GElement


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- ~ -

  • ~GAnimElement() : Amanith::GAnimElement
  • ~GAnimTRSNode2D() : Amanith::GAnimTRSNode2D
  • ~GAVLNode() : Amanith::GAVLNode
  • ~GAVLTree() : Amanith::GAVLTree
  • ~GBezierCurve1D() : Amanith::GBezierCurve1D
  • ~GBezierCurve2D() : Amanith::GBezierCurve2D
  • ~GBSplineCurve1D() : Amanith::GBSplineCurve1D
  • ~GBSplineCurve2D() : Amanith::GBSplineCurve2D
  • ~GCacheBank() : Amanith::GCacheBank
  • ~GClassID() : Amanith::GClassID
  • ~GConstantProperty1D() : Amanith::GConstantProperty1D
  • ~GCurve1D() : Amanith::GCurve1D
  • ~GCurve2D() : Amanith::GCurve2D
  • ~GDrawBoard() : Amanith::GDrawBoard
  • ~GDrawStyle() : Amanith::GDrawStyle
  • ~GElement() : Amanith::GElement
  • ~GElementProxy() : Amanith::GElementProxy
  • ~GEllipseCurve2D() : Amanith::GEllipseCurve2D
  • ~GFont2D() : Amanith::GFont2D
  • ~GFontChar2D() : Amanith::GFontChar2D
  • ~GFontCharContour2D() : Amanith::GFontCharContour2D
  • ~GFourConstantProperty1D() : Amanith::GFourConstantProperty1D
  • ~GFourHermiteProperty1D() : Amanith::GFourHermiteProperty1D
  • ~GFourLinearProperty1D() : Amanith::GFourLinearProperty1D
  • ~GGradientDesc() : Amanith::GGradientDesc
  • ~GHermiteCurve1D() : Amanith::GHermiteCurve1D
  • ~GHermiteCurve2D() : Amanith::GHermiteCurve2D
  • ~GHermiteProperty1D() : Amanith::GHermiteProperty1D
  • ~GImpExp() : Amanith::GImpExp
  • ~GInterval() : Amanith::GInterval< DATA_TYPE >
  • ~GKernel() : Amanith::GKernel
  • ~GLinearProperty1D() : Amanith::GLinearProperty1D
  • ~GMesh2D() : Amanith::GMesh2D< DATA_TYPE >
  • ~GMeshEdge2D() : Amanith::GMeshEdge2D< DATA_TYPE >
  • ~GMeshFace2D() : Amanith::GMeshFace2D< DATA_TYPE >
  • ~GMeshVertex2D() : Amanith::GMeshVertex2D< DATA_TYPE >
  • ~GMultiCurve1D() : Amanith::GMultiCurve1D
  • ~GMultiCurve2D() : Amanith::GMultiCurve2D
  • ~GMultiProperty1D() : Amanith::GMultiProperty1D
  • ~GOpenGLBoard() : Amanith::GOpenGLBoard
  • ~GOpenGLCacheBank() : Amanith::GOpenGLCacheBank
  • ~GOpenGLGradientDesc() : Amanith::GOpenGLGradientDesc
  • ~GOpenGLPatternDesc() : Amanith::GOpenGLPatternDesc
  • ~GPath2D() : Amanith::GPath2D
  • ~GPatternDesc() : Amanith::GPatternDesc
  • ~GPixelMap() : Amanith::GPixelMap
  • ~GPlugLoader() : Amanith::GPlugLoader
  • ~GPolyLineCurve1D() : Amanith::GPolyLineCurve1D
  • ~GPolyLineCurve2D() : Amanith::GPolyLineCurve2D
  • ~GProperty() : Amanith::GProperty
  • ~GTesselator2D() : Amanith::GTesselator2D
  • ~GThreeConstantProperty1D() : Amanith::GThreeConstantProperty1D
  • ~GThreeHermiteProperty1D() : Amanith::GThreeHermiteProperty1D
  • ~GThreeLinearProperty1D() : Amanith::GThreeLinearProperty1D
  • ~GTracedContour() : Amanith::GTracedContour
  • ~GTwoConstantProperty1D() : Amanith::GTwoConstantProperty1D
  • ~GTwoHermiteProperty1D() : Amanith::GTwoHermiteProperty1D
  • ~GTwoLinearProperty1D() : Amanith::GTwoLinearProperty1D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- b -

  • BalanceFactor() : Amanith::GAVLNode
  • BaseClone() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GMultiProperty1D, Amanith::GKernel, Amanith::GProperty, Amanith::GAnimElement, Amanith::GElement, Amanith::GPolyLineCurve2D, Amanith::GPixelMap, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GFont2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GAnimTRSNode2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • BeginPaths() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • BitsPerPixel() : Amanith::GPixelMap
  • BlueBits() : Amanith::GOpenglExt
  • BoolValue() : Amanith::GKeyValue
  • BoundBox() : Amanith::GFontCharContour2D
  • BuildFiltersBrightnessLUT() : Amanith::GPixelMap
  • BuildFromFaces() : Amanith::GMesh2D< DATA_TYPE >
  • BuildFromPointsCloud() : Amanith::GMesh2D< DATA_TYPE >
  • BuildGoodContour() : Amanith::GFontCharContour2D
  • BytesPerLine() : Amanith::GPixelMap
  • BytesPerPixel() : Amanith::GPixelMap


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- c -

  • CacheBank() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CalcCatmullRomTangents() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • CalcLength() : Amanith::GPath2D
  • Center() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >, Amanith::GEllipseCurve2D
  • CharByCode() : Amanith::GFont2D
  • CharByIndex() : Amanith::GFont2D
  • CharIndexByCharCode() : Amanith::GFont2D
  • CharMap() : Amanith::GFont2D, Amanith::GCharMap
  • CharMapsCount() : Amanith::GFont2D
  • CharsCount() : Amanith::GFont2D
  • Child() : Amanith::GAnimTRSNode2D
  • ChildClassProxies() : Amanith::GKernel
  • ChildrenCounts() : Amanith::GAnimTRSNode2D
  • ClassID() : Amanith::GConstantProperty1DProxy, Amanith::GConstantProperty1D, Amanith::GLinearProperty1DProxy, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1DProxy, Amanith::GHermiteProperty1D, Amanith::GFourConstantProperty1DProxy, Amanith::GFourConstantProperty1D, Amanith::GThreeConstantProperty1DProxy, Amanith::GThreeConstantProperty1D, Amanith::GTwoConstantProperty1DProxy, Amanith::GTwoConstantProperty1D, Amanith::GFourLinearProperty1DProxy, Amanith::GFourLinearProperty1D, Amanith::GThreeLinearProperty1DProxy, Amanith::GThreeLinearProperty1D, Amanith::GTwoLinearProperty1DProxy, Amanith::GTwoLinearProperty1D, Amanith::GFourHermiteProperty1DProxy, Amanith::GFourHermiteProperty1D, Amanith::GThreeHermiteProperty1DProxy, Amanith::GThreeHermiteProperty1D, Amanith::GTwoHermiteProperty1DProxy, Amanith::GTwoHermiteProperty1D, Amanith::GMultiProperty1DProxy, Amanith::GMultiProperty1D, Amanith::GKernelProxy, Amanith::GKernel, Amanith::GImpExpProxy, Amanith::GImpExp, Amanith::GImpExpFeature, Amanith::GPropertyProxy, Amanith::GProperty, Amanith::GAnimElementProxy, Amanith::GAnimElement, Amanith::GElementProxy, Amanith::GElement, Amanith::GPolyLineCurve2DProxy, Amanith::GPolyLineCurve2D, Amanith::GPixelMapProxy, Amanith::GPixelMap, Amanith::GPath2DProxy, Amanith::GPath2D, Amanith::GMultiCurve2DProxy, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2DProxy, Amanith::GHermiteCurve2D, Amanith::GFont2DProxy, Amanith::GFont2D, Amanith::GEllipseCurve2DProxy, Amanith::GEllipseCurve2D, Amanith::GCurve2DProxy, Amanith::GCurve2D, Amanith::GBSplineCurve2DProxy, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2DProxy, Amanith::GBezierCurve2D, Amanith::GAnimTRSNode2DProxy, Amanith::GAnimTRSNode2D, Amanith::GPolyLineCurve1DProxy, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1DProxy, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1DProxy, Amanith::GHermiteCurve1D, Amanith::GCurve1DProxy, Amanith::GCurve1D, Amanith::GBSplineCurve1DProxy, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1DProxy, Amanith::GBezierCurve1D
  • ClassIDFromClassName() : Amanith::GKernel, Amanith::GElement
  • Clear() : Amanith::GDrawBoard, Amanith::GPolyLineCurve2D, Amanith::GPixelMap, Amanith::GPath2D, Amanith::GMesh2D< DATA_TYPE >, Amanith::GHermiteCurve2D, Amanith::GFont2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • ClipEnabled() : Amanith::GDrawBoard
  • ClipOperation() : Amanith::GDrawBoard
  • CloneChars() : Amanith::GFont2D
  • ClosePath() : Amanith::GOpenGLBoard, Amanith::GDrawBoard, Amanith::GPath2D
  • CMYToKCMY() : Amanith::GPixelMap
  • CMYToRGB() : Amanith::GPixelMap
  • ColorFromString() : Amanith::GOpenGLBoard
  • ColorInterpolation() : Amanith::GGradientDesc
  • ColorInterpolationModified() : Amanith::GGradientDesc
  • ColorKeys() : Amanith::GGradientDesc
  • ColorKeysModified() : Amanith::GGradientDesc
  • Compare() : Amanith::GAVLTree
  • CompOpPassesCount() : Amanith::GOpenGLBoard
  • Conj() : Amanith::GQuat< DATA_TYPE >
  • Connect() : Amanith::GMesh2D< DATA_TYPE >
  • Contour() : Amanith::GFontChar2D
  • ContoursCount() : Amanith::GFontChar2D
  • ControlPolygonLength() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • ConvertToHermite() : Amanith::GBezierCurve2D, Amanith::GBezierCurve1D
  • ConvertToPath() : Amanith::GTracedContour, Amanith::GFontCharContour2D
  • ConvertToPaths() : Amanith::GFontChar2D
  • Copy() : Amanith::GKernel
  • CopyFrom() : Amanith::GElement, Amanith::GClassID
  • CopyTo() : Amanith::GElement
  • Create() : Amanith::GPixelMap
  • CreateCacheBank() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateConicalGradient() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateDrawStyle() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateLinearGradient() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateNew() : Amanith::GConstantProperty1DProxy, Amanith::GLinearProperty1DProxy, Amanith::GHermiteProperty1DProxy, Amanith::GFourConstantProperty1DProxy, Amanith::GThreeConstantProperty1DProxy, Amanith::GTwoConstantProperty1DProxy, Amanith::GFourLinearProperty1DProxy, Amanith::GThreeLinearProperty1DProxy, Amanith::GTwoLinearProperty1DProxy, Amanith::GFourHermiteProperty1DProxy, Amanith::GThreeHermiteProperty1DProxy, Amanith::GTwoHermiteProperty1DProxy, Amanith::GKernelProxy, Amanith::GKernel, Amanith::GPropertyProxy, Amanith::GElementProxy, Amanith::GElement, Amanith::GPolyLineCurve2DProxy, Amanith::GPixelMapProxy, Amanith::GPath2DProxy, Amanith::GHermiteCurve2DProxy, Amanith::GFont2DProxy, Amanith::GEllipseCurve2DProxy, Amanith::GBSplineCurve2DProxy, Amanith::GBezierCurve2DProxy, Amanith::GAnimTRSNode2DProxy, Amanith::GPolyLineCurve1DProxy, Amanith::GHermiteCurve1DProxy, Amanith::GBSplineCurve1DProxy, Amanith::GBezierCurve1DProxy
  • CreatePattern() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CreateRadialGradient() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CrossingCount() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • CrossingCountX() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • Curvature() : Amanith::GCurve2D
  • CurvatureLR() : Amanith::GMultiCurve2D
  • CurveTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • CustomData() : Amanith::GAVLNode, Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshEdge2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >, Amanith::GAnimTRSNode2D
  • Cut() : Amanith::GCurve2D, Amanith::GCurve1D
  • CutByLength() : Amanith::GCurve2D, Amanith::GCurve1D
  • CyclesCount() : Amanith::GInterval< DATA_TYPE >
  • CycleValue() : Amanith::GInterval< DATA_TYPE >


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- d -

  • Data() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • DecompAffine() : Amanith::GAffineParts
  • DecomposeBezier() : Amanith::GFontCharContour2D
  • DefaultValue() : Amanith::GProperty
  • Degree() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • Delete() : Amanith::GAVLTree
  • DeleteCacheBanks() : Amanith::GOpenGLBoard
  • DeleteChars() : Amanith::GFont2D
  • DeleteContours() : Amanith::GFontChar2D
  • DeleteGradients() : Amanith::GOpenGLBoard
  • DeleteKerning() : Amanith::GFont2D
  • DeleteNode() : Amanith::GAVLTree
  • DeletePatterns() : Amanith::GOpenGLBoard
  • DepthBits() : Amanith::GOpenglExt
  • Derivative() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • DerivativeLR() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DerivedClassID() : Amanith::GConstantProperty1DProxy, Amanith::GConstantProperty1D, Amanith::GLinearProperty1DProxy, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1DProxy, Amanith::GHermiteProperty1D, Amanith::GFourConstantProperty1DProxy, Amanith::GFourConstantProperty1D, Amanith::GThreeConstantProperty1DProxy, Amanith::GThreeConstantProperty1D, Amanith::GTwoConstantProperty1DProxy, Amanith::GTwoConstantProperty1D, Amanith::GFourLinearProperty1DProxy, Amanith::GFourLinearProperty1D, Amanith::GThreeLinearProperty1DProxy, Amanith::GThreeLinearProperty1D, Amanith::GTwoLinearProperty1DProxy, Amanith::GTwoLinearProperty1D, Amanith::GFourHermiteProperty1DProxy, Amanith::GFourHermiteProperty1D, Amanith::GThreeHermiteProperty1DProxy, Amanith::GThreeHermiteProperty1D, Amanith::GTwoHermiteProperty1DProxy, Amanith::GTwoHermiteProperty1D, Amanith::GMultiProperty1DProxy, Amanith::GMultiProperty1D, Amanith::GKernelProxy, Amanith::GKernel, Amanith::GImpExpProxy, Amanith::GImpExp, Amanith::GPropertyProxy, Amanith::GProperty, Amanith::GAnimElementProxy, Amanith::GAnimElement, Amanith::GElementProxy, Amanith::GElement, Amanith::GPolyLineCurve2DProxy, Amanith::GPolyLineCurve2D, Amanith::GPixelMapProxy, Amanith::GPixelMap, Amanith::GPath2DProxy, Amanith::GPath2D, Amanith::GMultiCurve2DProxy, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2DProxy, Amanith::GHermiteCurve2D, Amanith::GFont2DProxy, Amanith::GFont2D, Amanith::GEllipseCurve2DProxy, Amanith::GEllipseCurve2D, Amanith::GCurve2DProxy, Amanith::GCurve2D, Amanith::GBSplineCurve2DProxy, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2DProxy, Amanith::GBezierCurve2D, Amanith::GAnimTRSNode2DProxy, Amanith::GAnimTRSNode2D, Amanith::GPolyLineCurve1DProxy, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1DProxy, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1DProxy, Amanith::GHermiteCurve1D, Amanith::GCurve1DProxy, Amanith::GCurve1D, Amanith::GBSplineCurve1DProxy, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1DProxy, Amanith::GBezierCurve1D
  • Descender() : Amanith::GFont2D
  • Dest() : Amanith::GMeshEdge2D< DATA_TYPE >
  • DetachChildNode() : Amanith::GAnimTRSNode2D
  • DetachEdge() : Amanith::GMesh2D< DATA_TYPE >
  • DeterminantSign() : Amanith::GAffineParts
  • Dimension() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • Direction() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • Div() : Amanith::GQuat< DATA_TYPE >
  • Dnext() : Amanith::GMeshEdge2D< DATA_TYPE >
  • DoAddKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoAddPoint() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DoClear() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoCut() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • DoDrawBezier() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawCacheSlot() : Amanith::GOpenGLBoard
  • DoDrawCacheSlots() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawCircle() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawEllipse() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawEllipseArc() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawLine() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawPath() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawPaths() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawPolygon() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawRectangle() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoDrawRoundRectangle() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoFinish() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoFlush() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoGetKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoGetKeysCount() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoGetPointParameter() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DoGetValue() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoGroupBegin() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoGroupEnd() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • Domain() : Amanith::GProperty, Amanith::GCurve2D, Amanith::GCurve1D
  • DomainEnd() : Amanith::GCurve2D, Amanith::GCurve1D
  • DomainStart() : Amanith::GCurve2D, Amanith::GCurve1D
  • DoMoveKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoPopClipMask() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoRead() : Amanith::GImpExp
  • DoRemoveKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoRemovePoint() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DoScreenShot() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetClipEnabled() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetClipOperation() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetGroupCompOp() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetGroupOpacity() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetKey() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoSetKeys() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoSetPointParameter() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GMultiCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GMultiCurve1D, Amanith::GHermiteCurve1D
  • DoSetProjection() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetRenderingQuality() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetTargetMode() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoSetValue() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • DoSetViewport() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • DoWrite() : Amanith::GImpExp
  • Dprev() : Amanith::GMeshEdge2D< DATA_TYPE >
  • DrawBezier() : Amanith::GDrawBoard
  • DrawCacheBank() : Amanith::GDrawBoard
  • DrawCacheSlot() : Amanith::GDrawBoard
  • DrawCacheSlots() : Amanith::GDrawBoard
  • DrawCircle() : Amanith::GDrawBoard
  • DrawContour() : Amanith::GTracedContour, Amanith::GFontCharContour2D
  • DrawEllipse() : Amanith::GDrawBoard
  • DrawEllipseArc() : Amanith::GDrawBoard
  • DrawGLRadialSector() : Amanith::GOpenGLBoard
  • DrawLine() : Amanith::GDrawBoard
  • DrawPath() : Amanith::GDrawBoard
  • DrawPaths() : Amanith::GDrawBoard
  • DrawPolygon() : Amanith::GDrawBoard
  • DrawRectangle() : Amanith::GDrawBoard
  • DrawRoundRectangle() : Amanith::GDrawBoard


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- e -

  • EaseProperty() : Amanith::GProperty
  • Edge() : Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >
  • EdgeEnhance() : Amanith::GPixelMap
  • EdgeEnhanceMono() : Amanith::GPixelMap
  • EdgePreservingSmooth() : Amanith::GPixelMap
  • EdgePreservingSmoothMono() : Amanith::GPixelMap
  • Edges() : Amanith::GQuadEdge2D< DATA_TYPE >
  • EdgesInRingCount() : Amanith::GMeshVertex2D< DATA_TYPE >
  • EllipticalArcTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • End() : Amanith::GInterval< DATA_TYPE >
  • EndAngle() : Amanith::GEllipseCurve2D
  • EndPaths() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • EndPoint() : Amanith::GLineSeg< DATA_TYPE, SIZE >, Amanith::GCurve2D, Amanith::GCurve1D
  • ErrToString() : Amanith::ErrorUtils
  • Evaluate() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • EvaluateBasisFunc() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • EvaluateByAngle() : Amanith::GEllipseCurve2D
  • EvenOddFill() : Amanith::GFontChar2D
  • Exp() : Amanith::GQuat< DATA_TYPE >
  • ExtendToInclude() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • ExternalLeading() : Amanith::GFont2D
  • ExtractColumn() : Amanith::GPixelMap
  • ExtractFileExt() : Amanith::StrUtils
  • ExtractFileName() : Amanith::StrUtils
  • ExtractFilePath() : Amanith::StrUtils
  • ExtractRow() : Amanith::GPixelMap


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- f -

  • Face() : Amanith::GMesh2D< DATA_TYPE >
  • FacesCount() : Amanith::GMesh2D< DATA_TYPE >
  • FamilyName() : Amanith::GFont2D
  • Father() : Amanith::GAVLNode, Amanith::GAnimTRSNode2D
  • FBOMaxColorAttachments() : Amanith::GOpenglExt
  • Features() : Amanith::GImpExp
  • FileExists() : Amanith::FileUtils
  • FileExtension() : Amanith::GImpExpFeature
  • FileExtensionsCount() : Amanith::GImpExpFeature
  • FileExtensionSupported() : Amanith::GImpExp, Amanith::GImpExpFeature
  • Fill() : Amanith::GVectBase< DATA_TYPE, SIZE >
  • FillColor() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillColorModified() : Amanith::GDrawStyle
  • FillCompOp() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillCompOpModified() : Amanith::GDrawStyle
  • FillEnabled() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillEnabledModified() : Amanith::GDrawStyle
  • FillGradient() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillGradientModified() : Amanith::GDrawStyle
  • FillPaintType() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillPaintTypeModified() : Amanith::GDrawStyle
  • FillPattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillPatternModified() : Amanith::GDrawStyle
  • FillRule() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • FillRuleModified() : Amanith::GDrawStyle
  • Find() : Amanith::StrUtils, Amanith::GAVLTree
  • FindNext() : Amanith::GAVLTree
  • FindPrev() : Amanith::GAVLTree
  • FindProxy() : Amanith::GKernel
  • FindSpan() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • FindSpanMult() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • FindUnitCircles() : Amanith::GEllipseCurve2D
  • FindVertex() : Amanith::GMesh2D< DATA_TYPE >
  • Finish() : Amanith::GDrawBoard
  • FirstPointInSegment() : Amanith::GPath2D
  • FixAngle() : Amanith::GEllipseCurve2D
  • FixHolesAndFilledWiseOrder() : Amanith::GFontChar2D
  • Flatten() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • Flatten2() : Amanith::GBezierCurve2D
  • Flatten3() : Amanith::GBezierCurve2D
  • Flip() : Amanith::GPixelMap
  • Flush() : Amanith::GDrawBoard
  • FormatName() : Amanith::GImpExpFeature
  • FormatSupported() : Amanith::GImpExp, Amanith::GImpExpFeature
  • FromString() : Amanith::StrUtils


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- g -

  • GAffineParts() : Amanith::GAffineParts
  • GAnimElement() : Amanith::GAnimElement
  • GAnimTRSNode2D() : Amanith::GAnimTRSNode2D
  • GAVLNode() : Amanith::GAVLNode
  • GAVLTree() : Amanith::GAVLTree
  • GAxisAng() : Amanith::GAxisAng< DATA_TYPE >
  • GBezierCurve1D() : Amanith::GBezierCurve1D
  • GBezierCurve2D() : Amanith::GBezierCurve2D
  • GBSplineCurve1D() : Amanith::GBSplineCurve1D
  • GBSplineCurve2D() : Amanith::GBSplineCurve2D
  • GCacheBank() : Amanith::GCacheBank
  • GClassID() : Amanith::GClassID
  • GConstantProperty1D() : Amanith::GConstantProperty1D
  • GCurve1D() : Amanith::GCurve1D
  • GCurve2D() : Amanith::GCurve2D
  • GDrawBoard() : Amanith::GDrawBoard
  • GDrawStyle() : Amanith::GDrawStyle
  • GEigen() : Amanith::GEigen
  • GElement() : Amanith::GElement
  • GEllipseCurve2D() : Amanith::GEllipseCurve2D
  • Get() : Amanith::GQuat< DATA_TYPE >
  • GFont2D() : Amanith::GFont2D
  • GFontChar2D() : Amanith::GFontChar2D
  • GFontCharContour2D() : Amanith::GFontCharContour2D
  • GFourConstantProperty1D() : Amanith::GFourConstantProperty1D
  • GFourHermiteProperty1D() : Amanith::GFourHermiteProperty1D
  • GFourLinearProperty1D() : Amanith::GFourLinearProperty1D
  • GGenericAABox() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • GGenericOOBox() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • GGenericPlane() : Amanith::GGenericPlane< DATA_TYPE >
  • GGenericRay() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • GGenericSphere() : Amanith::GGenericSphere< DATA_TYPE, SIZE >
  • GGradientDesc() : Amanith::GGradientDesc
  • GHermiteCurve1D() : Amanith::GHermiteCurve1D
  • GHermiteCurve2D() : Amanith::GHermiteCurve2D
  • GHermiteKey1D() : Amanith::GHermiteKey1D
  • GHermiteKey2D() : Amanith::GHermiteKey2D
  • GHermiteProperty1D() : Amanith::GHermiteProperty1D
  • GImpExp() : Amanith::GImpExp
  • GImpExpFeature() : Amanith::GImpExpFeature
  • GInterval() : Amanith::GInterval< DATA_TYPE >
  • GKernel() : Amanith::GKernel
  • GKeyValue() : Amanith::GKeyValue
  • GLinearProperty1D() : Amanith::GLinearProperty1D
  • GLineSeg() : Amanith::GLineSeg< DATA_TYPE, SIZE >
  • GlobalFit() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • GlobalNaturalFit() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • GlobalParameter() : Amanith::GPath2D, Amanith::GCurve2D, Amanith::GCurve1D
  • GlyphMetrics() : Amanith::GFontChar2D
  • GMatrix() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • GMesh2D() : Amanith::GMesh2D< DATA_TYPE >
  • GMeshEdge2D() : Amanith::GMeshEdge2D< DATA_TYPE >
  • GMeshFace2D() : Amanith::GMeshFace2D< DATA_TYPE >
  • GMeshVertex2D() : Amanith::GMeshVertex2D< DATA_TYPE >
  • GMultiCurve1D() : Amanith::GMultiCurve1D
  • GMultiCurve2D() : Amanith::GMultiCurve2D
  • GMultiProperty1D() : Amanith::GMultiProperty1D
  • GOpenGLBoard() : Amanith::GOpenGLBoard
  • GOpenGLCacheBank() : Amanith::GOpenGLCacheBank
  • GOpenGLDrawStyle() : Amanith::GOpenGLDrawStyle
  • GOpenglExt() : Amanith::GOpenglExt
  • GOpenGLGradientDesc() : Amanith::GOpenGLGradientDesc
  • GOpenGLPatternDesc() : Amanith::GOpenGLPatternDesc
  • GPath2D() : Amanith::GPath2D
  • GPatternDesc() : Amanith::GPatternDesc
  • GPixelMap() : Amanith::GPixelMap
  • GPlugLoader() : Amanith::GPlugLoader
  • GPoint() : Amanith::GPoint< DATA_TYPE, SIZE >
  • GPolyLineCurve1D() : Amanith::GPolyLineCurve1D
  • GPolyLineCurve2D() : Amanith::GPolyLineCurve2D
  • GPolyLineKey1D() : Amanith::GPolyLineKey1D
  • GPolyLineKey2D() : Amanith::GPolyLineKey2D
  • GProperty() : Amanith::GProperty
  • GProxyState() : Amanith::GProxyState
  • GQuadEdge2D() : Amanith::GQuadEdge2D< DATA_TYPE >
  • GQuat() : Amanith::GQuat< DATA_TYPE >
  • GradientTexture() : Amanith::GOpenGLGradientDesc
  • GreenBits() : Amanith::GOpenglExt
  • GroupBegin() : Amanith::GDrawBoard
  • GroupCompOp() : Amanith::GDrawBoard
  • GroupEnd() : Amanith::GDrawBoard
  • GroupOpacity() : Amanith::GDrawBoard
  • GTesselator2D() : Amanith::GTesselator2D
  • GThreeConstantProperty1D() : Amanith::GThreeConstantProperty1D
  • GThreeHermiteProperty1D() : Amanith::GThreeHermiteProperty1D
  • GThreeLinearProperty1D() : Amanith::GThreeLinearProperty1D
  • GTracedContour() : Amanith::GTracedContour
  • GTwoConstantProperty1D() : Amanith::GTwoConstantProperty1D
  • GTwoHermiteProperty1D() : Amanith::GTwoHermiteProperty1D
  • GTwoLinearProperty1D() : Amanith::GTwoLinearProperty1D
  • GVect() : Amanith::GVect< DATA_TYPE, SIZE >
  • GVectBase() : Amanith::GVectBase< DATA_TYPE, SIZE >


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- h -

  • HalfDimension() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • HalfDimensions() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • HandledType() : Amanith::GConstantProperty1D, Amanith::GLinearProperty1D, Amanith::GHermiteProperty1D, Amanith::GProperty
  • HasAlphaChannel() : Amanith::GPixelMap
  • HasKerningInfos() : Amanith::GFont2D
  • HasVertex() : Amanith::GMeshFace2D< DATA_TYPE >
  • HasVertices() : Amanith::GMeshFace2D< DATA_TYPE >
  • Height() : Amanith::GPixelMap, Amanith::GFont2D, Amanith::GGlyphMetrics
  • HermiteKey() : Amanith::GHermiteProperty1D
  • HigherDegree() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • HorizontalLineTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • HSLToRGB() : Amanith::GPixelMap
  • HSVToRGB() : Amanith::GPixelMap
  • HueDistance() : Amanith::GPixelMap


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- i -

  • IDName() : Amanith::GClassID
  • ImpExpFeatures() : Amanith::GKernel
  • Init() : Amanith::GMultiProperty1D
  • Insert() : Amanith::GAVLTree
  • InsertKnot() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • InsideAngleDomain() : Amanith::GEllipseCurve2D
  • InsideGroup() : Amanith::GDrawBoard
  • IntersectRay() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • IntersectXRay() : Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • IntValue() : Amanith::GKeyValue
  • Invalidate() : Amanith::GOpenGLCacheBank, Amanith::GCacheBank
  • InverseMatrix() : Amanith::GPatternDesc, Amanith::GGradientDesc, Amanith::GAnimTRSNode2D
  • InverseModelView() : Amanith::GDrawStyle
  • InversePivotMatrix() : Amanith::GAnimTRSNode2D
  • Invert() : Amanith::GQuat< DATA_TYPE >
  • InvRot() : Amanith::GMeshEdge2D< DATA_TYPE >
  • IsArbProgramsSupported() : Amanith::GOpenglExt
  • IsArbShadersSupported() : Amanith::GOpenglExt
  • IsBold() : Amanith::GFont2D
  • IsClosed() : Amanith::GPath2D
  • IsComposite() : Amanith::GFontChar2D
  • IsConnected() : Amanith::GMesh2D< DATA_TYPE >
  • IsCubemapSupported() : Amanith::GOpenglExt
  • IsEmpty() : Amanith::GInterval< DATA_TYPE >
  • IsFBOSupported() : Amanith::GOpenglExt
  • IsFunctionSupported() : Amanith::GOpenglExt
  • IsGLExtensionSupported() : Amanith::GOpenglExt
  • IsGLVersionSupported() : Amanith::GOpenglExt
  • IsGrayScale() : Amanith::GPixelMap
  • IsHighColor() : Amanith::GPixelMap
  • IsHole() : Amanith::GFontCharContour2D
  • IsIncluded() : Amanith::GInterval< DATA_TYPE >
  • IsInInterval() : Amanith::GInterval< DATA_TYPE >
  • IsIsolated() : Amanith::GMeshVertex2D< DATA_TYPE >
  • IsItalic() : Amanith::GFont2D
  • IsKeyBased() : Amanith::GProperty
  • IsLeaf() : Amanith::GAnimTRSNode2D
  • IsMirroredRepeatSupported() : Amanith::GOpenglExt
  • IsMultitextureSupported() : Amanith::GOpenglExt
  • IsNormalized() : Amanith::GVect< DATA_TYPE, SIZE >, Amanith::GGenericRay< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >
  • IsNull() : Amanith::GClassID
  • IsOcclusionQuerySupported() : Amanith::GOpenglExt
  • IsOfType() : Amanith::GElement
  • IsOnEdge() : Amanith::GMeshEdge2D< DATA_TYPE >
  • IsOpen() : Amanith::GPath2D
  • IsPaletted() : Amanith::GPixelMap
  • IsPlugLoaded() : Amanith::GPlugLoader
  • IsPointInside() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • IsPointOnSurface() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • IsPointOutside() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • IsRectTextureSupported() : Amanith::GOpenglExt
  • IsRoot() : Amanith::GAnimTRSNode2D
  • IsRootClass() : Amanith::GElementProxy, Amanith::GElement
  • IsSupported() : Amanith::GKernel
  • IsTrueColor() : Amanith::GPixelMap
  • IsTypeOfType() : Amanith::GKernel, Amanith::GElement


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- p -

  • Palette() : Amanith::GPixelMap
  • PaletteEntriesCount() : Amanith::GPixelMap
  • PaletteSize() : Amanith::GPixelMap
  • ParamToKeyIndex() : Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • ParamToSegmentIndex() : Amanith::GPath2D
  • ParseOptions() : Amanith::GImpExp
  • PatternTexture() : Amanith::GOpenGLPatternDesc
  • PhysicalToLogical() : Amanith::GDrawBoard
  • PhysicalToLogicalMatrix() : Amanith::GDrawBoard
  • PivotMatrix() : Amanith::GAnimTRSNode2D
  • PivotPosition() : Amanith::GAnimTRSNode2D
  • PivotRotation() : Amanith::GAnimTRSNode2D
  • PivotScale() : Amanith::GAnimTRSNode2D
  • Pixel() : Amanith::GPixelMap
  • PixelFormat() : Amanith::GPixelMap
  • Pixels() : Amanith::GPixelMap
  • PixelsCount() : Amanith::GPixelMap
  • PlugHandle() : Amanith::GPlugLoader
  • PlugName() : Amanith::GPlugLoader
  • Point() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • PointParameter() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • Points() : Amanith::GFontCharContour2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • PointsCount() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GFontCharContour2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • PointsCountAndLocate() : Amanith::GPath2D
  • PointsFlags() : Amanith::GFontCharContour2D
  • PointSign() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • PopClipMask() : Amanith::GDrawBoard
  • Position() : Amanith::GMeshVertex2D< DATA_TYPE >, Amanith::GAnimTRSNode2D
  • PowerOfTwo() : Amanith::GOpenglExt
  • Prev() : Amanith::GAVLTree
  • PrintInfoLog() : Amanith::GOpenglExt
  • PrintOglError() : Amanith::GOpenglExt
  • Projection() : Amanith::GDrawBoard
  • Properties() : Amanith::GAnimElement
  • PropertiesCount() : Amanith::GAnimElement
  • Property() : Amanith::GAnimElement
  • Proxies() : Amanith::GKernel
  • ProxiesCount() : Amanith::GKernel
  • Proxy() : Amanith::GKernel, Amanith::GProxyState
  • Purge() : Amanith::StrUtils
  • PushBackCurve() : Amanith::GPath2D
  • PushFrontCurve() : Amanith::GPath2D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- r -

  • Radius() : Amanith::GGradientDesc, Amanith::GGenericSphere< DATA_TYPE, SIZE >
  • Read() : Amanith::GImpExp
  • ReadFile() : Amanith::FileUtils
  • ReadWriteOp() : Amanith::GImpExpFeature
  • RealValue() : Amanith::GKeyValue
  • RecalcSmoothTangents() : Amanith::GHermiteProperty1D, Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • RedBits() : Amanith::GOpenglExt
  • RedirectIOToConsole() : Amanith::SysUtils
  • ReferenceMove() : Amanith::GPixelMap
  • Reflect() : Amanith::GGenericPlane< DATA_TYPE >
  • RegisterElementProxy() : Amanith::GKernel
  • RemoveChar() : Amanith::GFont2D
  • RemoveCharMap() : Amanith::GFont2D
  • RemoveCharsMaps() : Amanith::GFont2D
  • RemoveEaseProperty() : Amanith::GProperty
  • RemoveEdge() : Amanith::GMesh2D< DATA_TYPE >, Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >
  • RemoveElementReference() : Amanith::GKernel
  • RemoveFace() : Amanith::GMesh2D< DATA_TYPE >
  • RemoveKey() : Amanith::GProperty
  • RemoveKeys() : Amanith::GProperty
  • RemovePoint() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • RemoveProperties() : Amanith::GAnimElement
  • RemoveProperty() : Amanith::GAnimElement
  • RemoveSegment() : Amanith::GPath2D
  • RemoveVertex() : Amanith::GMesh2D< DATA_TYPE >
  • RenameProperty() : Amanith::GAnimElement
  • RenderingQuality() : Amanith::GDrawBoard
  • Replace() : Amanith::StrUtils
  • Reset() : Amanith::GPixelMap
  • Resize() : Amanith::GPixelMap
  • ResizeCanvas() : Amanith::GPixelMap
  • ResizeCanvasMirror() : Amanith::GPixelMap
  • ResizeGray() : Amanith::GPixelMap
  • ResizeRGB() : Amanith::GPixelMap
  • ResolveSymbol() : Amanith::GPlugLoader
  • ReverseChannels() : Amanith::GPixelMap
  • RGBToCMY() : Amanith::GPixelMap
  • RGBToGray() : Amanith::GPixelMap
  • RGBToHSL() : Amanith::GPixelMap
  • RGBToHSV() : Amanith::GPixelMap
  • RGBToKCMY() : Amanith::GPixelMap
  • Right() : Amanith::StrUtils, Amanith::GMeshEdge2D< DATA_TYPE >
  • RightChild() : Amanith::GAVLNode
  • RightFace() : Amanith::GMesh2D< DATA_TYPE >
  • Rnext() : Amanith::GMeshEdge2D< DATA_TYPE >
  • Romberg() : Amanith::GIntegration
  • Root() : Amanith::GAVLTree
  • RootClassProxies() : Amanith::GKernel
  • Rot() : Amanith::GMeshEdge2D< DATA_TYPE >
  • Rotate() : Amanith::GEllipseCurve2D, Amanith::GCurve2D
  • Rotation() : Amanith::GAnimTRSNode2D
  • Rprev() : Amanith::GMeshEdge2D< DATA_TYPE >
  • RSBDelta() : Amanith::GFontChar2D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- s -

  • SameText() : Amanith::StrUtils
  • Save() : Amanith::GKernel, Amanith::GPixelMap
  • Scale() : Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GAnimTRSNode2D, Amanith::GHermiteCurve1D, Amanith::GCurve1D
  • ScanDirectory() : Amanith::GKernel
  • ScanPath() : Amanith::FileUtils
  • ScreenShot() : Amanith::GDrawBoard
  • Segment() : Amanith::GPath2D
  • SegmentDerivative() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentEvaluate() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentFlatten() : Amanith::GHermiteCurve2D
  • SegmentIntersectRay() : Amanith::GHermiteCurve2D
  • SegmentLength() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentsCount() : Amanith::GPath2D
  • SegmentToBezier() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentToBezierConversion() : Amanith::GHermiteCurve2D, Amanith::GHermiteCurve1D
  • SegmentType() : Amanith::GPath2D
  • SegmentVariation() : Amanith::GHermiteCurve2D
  • Set() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >, Amanith::GInterval< DATA_TYPE >, Amanith::GAxisAng< DATA_TYPE >
  • SetAdvance() : Amanith::GFontChar2D
  • SetAngle() : Amanith::GAxisAng< DATA_TYPE >
  • SetAngleDomain() : Amanith::GEllipseCurve2D
  • SetApplyEasy() : Amanith::GProperty
  • SetAscender() : Amanith::GFont2D
  • SetAuxPoint() : Amanith::GGradientDesc
  • SetAuxPointModified() : Amanith::GGradientDesc
  • SetAxis() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GAxisAng< DATA_TYPE >
  • SetBold() : Amanith::GFont2D
  • SetCacheBank() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • SetCenter() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GEllipseCurve2D
  • SetClipEnabled() : Amanith::GDrawBoard
  • SetClipOperation() : Amanith::GDrawBoard
  • SetColorInterpolation() : Amanith::GGradientDesc
  • SetColorInterpolationModified() : Amanith::GGradientDesc
  • SetColorKeys() : Amanith::GOpenGLGradientDesc, Amanith::GGradientDesc
  • SetColorKeysModified() : Amanith::GGradientDesc
  • SetCustomData() : Amanith::GMeshFace2D< DATA_TYPE >, Amanith::GMeshEdge2D< DATA_TYPE >, Amanith::GMeshVertex2D< DATA_TYPE >, Amanith::GAnimTRSNode2D
  • SetCustomRenderingQuality() : Amanith::GOpenGLBoard
  • SetDefaultValue() : Amanith::GProperty
  • SetDescender() : Amanith::GFont2D
  • SetDest() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SetDimension() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • SetDirection() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • SetDomain() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • SetEaseProperty() : Amanith::GProperty
  • SetEllipse() : Amanith::GEllipseCurve2D
  • SetEnd() : Amanith::GInterval< DATA_TYPE >
  • SetEndPoint() : Amanith::GCurve2D, Amanith::GCurve1D
  • SetEvenOddFill() : Amanith::GFontChar2D
  • SetExternalLeading() : Amanith::GFont2D
  • SetFamilyName() : Amanith::GFont2D
  • SetFather() : Amanith::GAnimTRSNode2D
  • SetFillColor() : Amanith::GOpenGLDrawStyle, Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillColorModified() : Amanith::GDrawStyle
  • SetFillCompOp() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillCompOpModified() : Amanith::GDrawStyle
  • SetFillEnabled() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillEnabledModified() : Amanith::GDrawStyle
  • SetFillGradient() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillOpacity() : Amanith::GDrawBoard
  • SetFillPaintType() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillPaintTypeModified() : Amanith::GDrawStyle
  • SetFillPattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillRule() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetFillRuleModified() : Amanith::GDrawStyle
  • SetGLStyleCompOp() : Amanith::GOpenGLBoard
  • SetGroupCompOp() : Amanith::GDrawBoard
  • SetGroupOpacity() : Amanith::GDrawBoard
  • SetHalfDimension() : Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • SetHermiteKey() : Amanith::GHermiteProperty1D
  • SetHermiteKeys() : Amanith::GHermiteProperty1D
  • SetImage() : Amanith::GOpenGLPatternDesc, Amanith::GPatternDesc
  • SetIsKeyBased() : Amanith::GProperty
  • SetItalic() : Amanith::GFont2D
  • SetKerning() : Amanith::GFont2D
  • SetKey() : Amanith::GProperty, Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • SetKeys() : Amanith::GProperty, Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • SetKeyType() : Amanith::GKeyValue
  • SetLeft() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SetLinearHoriAdvance() : Amanith::GFontChar2D
  • SetLinearVertAdvance() : Amanith::GFontChar2D
  • SetLogicalWindow() : Amanith::GPatternDesc
  • SetLogicalWindowModified() : Amanith::GPatternDesc
  • SetLSBDelta() : Amanith::GFontChar2D
  • SetMatrix() : Amanith::GPatternDesc, Amanith::GGradientDesc
  • SetMatrixModified() : Amanith::GPatternDesc, Amanith::GGradientDesc
  • SetMax() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • SetMaxAdvanceHeight() : Amanith::GFont2D
  • SetMaxAdvanceWidth() : Amanith::GFont2D
  • SetMetrics() : Amanith::GFontChar2D
  • SetMin() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • SetMinMax() : Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • SetModelView() : Amanith::GDrawStyle
  • SetModelViewMatrix() : Amanith::GDrawBoard
  • SetName() : Amanith::GProperty
  • SetNormal() : Amanith::GGenericPlane< DATA_TYPE >
  • SetOffset() : Amanith::GGenericPlane< DATA_TYPE >
  • SetOffsetRotation() : Amanith::GEllipseCurve2D
  • SetOORAfter() : Amanith::GProperty
  • SetOORBefore() : Amanith::GProperty
  • SetOrbitOrg() : Amanith::GMesh2D< DATA_TYPE >
  • SetOrg() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SetOrigin() : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • SetPivotPosition() : Amanith::GAnimTRSNode2D
  • SetPivotRotation() : Amanith::GAnimTRSNode2D
  • SetPivotScale() : Amanith::GAnimTRSNode2D
  • SetPixel() : Amanith::GPixelMap
  • SetPixelFormat() : Amanith::GPixelMap
  • SetPoint() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • SetPointParameter() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • SetPoints() : Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D, Amanith::GBSplineCurve1D, Amanith::GBezierCurve1D
  • SetPosition() : Amanith::GMeshVertex2D< DATA_TYPE >, Amanith::GAnimTRSNode2D
  • SetProjection() : Amanith::GDrawBoard
  • SetRadius() : Amanith::GGradientDesc, Amanith::GGenericSphere< DATA_TYPE, SIZE >
  • SetRectTextureEnabled() : Amanith::GOpenGLBoard
  • SetRenderingQuality() : Amanith::GDrawBoard
  • SetRight() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SetRotation() : Amanith::GAnimTRSNode2D
  • SetScale() : Amanith::GAnimTRSNode2D
  • SetSegment() : Amanith::GPath2D
  • SetShadersEnabled() : Amanith::GOpenGLBoard
  • SetSpreadMode() : Amanith::GGradientDesc
  • SetSpreadModeModified() : Amanith::GGradientDesc
  • SetStart() : Amanith::GInterval< DATA_TYPE >
  • SetStartPoint() : Amanith::GGradientDesc, Amanith::GLineSeg< DATA_TYPE, SIZE >, Amanith::GCurve2D, Amanith::GCurve1D
  • SetStartPointModified() : Amanith::GGradientDesc
  • SetStrokeColor() : Amanith::GOpenGLDrawStyle, Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeColorModified() : Amanith::GDrawStyle
  • SetStrokeCompOp() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeCompOpModified() : Amanith::GDrawStyle
  • SetStrokeDashPattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeDashPatternModified() : Amanith::GDrawStyle
  • SetStrokeDashPhase() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeDashPhaseModified() : Amanith::GDrawStyle
  • SetStrokeEnabled() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeEnabledModified() : Amanith::GDrawStyle
  • SetStrokeEndCapStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeEndCapStyleModified() : Amanith::GDrawStyle
  • SetStrokeGradient() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeJoinStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeJoinStyleModified() : Amanith::GDrawStyle
  • SetStrokeMiterLimit() : Amanith::GOpenGLDrawStyle, Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeMiterLimitModified() : Amanith::GDrawStyle
  • SetStrokeOpacity() : Amanith::GDrawBoard
  • SetStrokePaintType() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokePaintTypeModified() : Amanith::GDrawStyle
  • SetStrokePattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeStartCapStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeStartCapStyleModified() : Amanith::GDrawStyle
  • SetStrokeStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeStyleModified() : Amanith::GDrawStyle
  • SetStrokeWidth() : Amanith::GOpenGLDrawStyle, Amanith::GDrawStyle, Amanith::GDrawBoard
  • SetStrokeWidthModified() : Amanith::GDrawStyle
  • SetStyleName() : Amanith::GFont2D
  • SetTargetMode() : Amanith::GDrawBoard
  • SetTilingMode() : Amanith::GPatternDesc
  • SetTilingModeModified() : Amanith::GPatternDesc
  • SetTimePosition() : Amanith::GKeyValue
  • SetTranspose() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • SetType() : Amanith::GGradientDesc
  • SetTypeModified() : Amanith::GGradientDesc
  • SetUndefined() : Amanith::GKeyValue
  • SetUnderlinePosition() : Amanith::GFont2D
  • SetUnderlineThickness() : Amanith::GFont2D
  • SetUnitsPerEM() : Amanith::GFont2D
  • SetUnloadOnDestroy() : Amanith::GPlugLoader
  • SetValue() : Amanith::GProperty, Amanith::GKeyValue
  • SetViewport() : Amanith::GDrawBoard
  • SetXSemiAxisLength() : Amanith::GEllipseCurve2D
  • SetYSemiAxisLength() : Amanith::GEllipseCurve2D
  • Size() : Amanith::GPixelMap
  • SlotsCount() : Amanith::GOpenGLCacheBank, Amanith::GCacheBank
  • SmoothCurveTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • SolveBandedSystem() : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D
  • SortKeys() : Amanith::GPolyLineCurve2D, Amanith::GHermiteCurve2D, Amanith::GPolyLineCurve1D, Amanith::GHermiteCurve1D
  • Speed() : Amanith::GCurve2D, Amanith::GCurve1D
  • SpeedEvaluationCallBack() : Amanith::GCurve2D, Amanith::GCurve1D
  • SpeedLR() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • Splice() : Amanith::GMesh2D< DATA_TYPE >
  • Split() : Amanith::StrUtils
  • SplitChannels() : Amanith::GPixelMap
  • SpreadMode() : Amanith::GGradientDesc
  • SpreadModeModified() : Amanith::GGradientDesc
  • Start() : Amanith::GInterval< DATA_TYPE >
  • StartAngle() : Amanith::GEllipseCurve2D
  • StartPoint() : Amanith::GGradientDesc, Amanith::GLineSeg< DATA_TYPE, SIZE >, Amanith::GCurve2D, Amanith::GCurve1D
  • StartPointModified() : Amanith::GGradientDesc
  • StencilBits() : Amanith::GOpenglExt
  • StretchFactors() : Amanith::GAffineParts
  • StretchRotation() : Amanith::GAffineParts
  • StrokeColor() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeColorModified() : Amanith::GDrawStyle
  • StrokeCompOp() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeCompOpModified() : Amanith::GDrawStyle
  • StrokeDashPattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeDashPatternModified() : Amanith::GDrawStyle
  • StrokeDashPatternSum() : Amanith::GDrawStyle
  • StrokeDashPhase() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeDashPhaseModified() : Amanith::GDrawStyle
  • StrokeEnabled() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeEnabledModified() : Amanith::GDrawStyle
  • StrokeEndCapStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeEndCapStyleModified() : Amanith::GDrawStyle
  • StrokeGradient() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeGradientModified() : Amanith::GDrawStyle
  • StrokeJoinStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeJoinStyleModified() : Amanith::GDrawStyle
  • StrokeMiterLimit() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeMiterLimitModified() : Amanith::GDrawStyle
  • StrokeMiterLimitMulThickness() : Amanith::GOpenGLDrawStyle
  • StrokeOffsettedDashPattern() : Amanith::GDrawStyle
  • StrokeOffsettedDashPatternEmpty() : Amanith::GDrawStyle
  • StrokePaintType() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokePaintTypeModified() : Amanith::GDrawStyle
  • StrokePattern() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokePatternModified() : Amanith::GDrawStyle
  • StrokeStartCapStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeStartCapStyleModified() : Amanith::GDrawStyle
  • StrokeStyle() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeStyleModified() : Amanith::GDrawStyle
  • StrokeThickness() : Amanith::GDrawStyle
  • StrokeWidth() : Amanith::GDrawStyle, Amanith::GDrawBoard
  • StrokeWidthModified() : Amanith::GDrawStyle
  • StyleName() : Amanith::GFont2D
  • SubChar() : Amanith::GFontChar2D
  • SubCharsCount() : Amanith::GFontChar2D
  • SubPropertiesType() : Amanith::GMultiProperty1D
  • SupportedFunctions() : Amanith::GOpenglExt
  • Swap() : Amanith::GVectBase< DATA_TYPE, SIZE >, Amanith::GQuat< DATA_TYPE >
  • SwapColumn() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • SwapHolesAndFilledLabels() : Amanith::GFontChar2D
  • SwapRow() : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • Sym() : Amanith::GMeshEdge2D< DATA_TYPE >
  • SystemInfo() : Amanith::SysUtils


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- t -

  • Tangent() : Amanith::GCurve2D, Amanith::GCurve1D
  • TangentLR() : Amanith::GMultiCurve2D, Amanith::GMultiCurve1D
  • TargetMode() : Amanith::GDrawBoard
  • Tesselate() : Amanith::GTesselator2D
  • TextureUnitsCount() : Amanith::GOpenglExt
  • ThinContours() : Amanith::GPixelMap
  • TilingMode() : Amanith::GPatternDesc
  • TilingModeModified() : Amanith::GPatternDesc
  • TimePosition() : Amanith::GKeyValue
  • ToAscii() : Amanith::StrUtils
  • ToDouble() : Amanith::StrUtils
  • ToHex() : Amanith::StrUtils
  • ToInt() : Amanith::StrUtils
  • ToLong() : Amanith::StrUtils
  • ToString() : Amanith::StrUtils
  • TotalLength() : Amanith::GCurve2D, Amanith::GCurve1D
  • Trace() : Amanith::GTracer2D
  • TraceContours() : Amanith::GPixelMap
  • TraceContoursAccurate() : Amanith::GPixelMap
  • TraceContoursFast() : Amanith::GPixelMap
  • TraceContoursMono() : Amanith::GPixelMap
  • Translate() : Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GCurve1D
  • Translation() : Amanith::GAffineParts
  • TryToInsert() : Amanith::GAVLTree
  • TwoWaysCut() : Amanith::GPath2D
  • Type() : Amanith::GGradientDesc
  • TypeModified() : Amanith::GGradientDesc


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- u -

  • UnderlinePosition() : Amanith::GFont2D
  • UnderlineThickness() : Amanith::GFont2D
  • UnitsPerEM() : Amanith::GFont2D
  • UnloadOnDestroy() : Amanith::GPlugLoader
  • UnloadPlug() : Amanith::GPlugLoader
  • UnLoadPlugin() : Amanith::GKernel
  • UpdateGrabBuffer() : Amanith::GOpenGLBoard
  • Upper() : Amanith::StrUtils
  • UpperName() : Amanith::GProperty


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- v -

  • Value() : Amanith::GProperty, Amanith::GPolyLineKey2D, Amanith::GHermiteKey2D, Amanith::GPolyLineKey1D, Amanith::GHermiteKey1D, Amanith::GKnotMultiplicity
  • Variation() : Amanith::GPolyLineCurve2D, Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D, Amanith::GBSplineCurve2D, Amanith::GBezierCurve2D
  • Vect2Value() : Amanith::GKeyValue
  • Vect3Value() : Amanith::GKeyValue
  • Vect4Value() : Amanith::GKeyValue
  • Version() : Amanith::GImpExpFeature, Amanith::GElementProxy
  • Vertex() : Amanith::GMesh2D< DATA_TYPE >
  • VerticalLineTo() : Amanith::GOpenGLBoard, Amanith::GDrawBoard
  • VerticesCount() : Amanith::GMesh2D< DATA_TYPE >
  • Viewport() : Amanith::GDrawBoard
  • Volume() : Amanith::GGenericSphere< DATA_TYPE, SIZE >, Amanith::GGenericOOBox< DATA_TYPE, SIZE >, Amanith::GGenericAABox< DATA_TYPE, SIZE >


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- w -

  • WhichSide() : Amanith::GGenericPlane< DATA_TYPE >
  • Width() : Amanith::GPixelMap, Amanith::GGlyphMetrics
  • Write() : Amanith::GImpExp
  • WriteFile() : Amanith::FileUtils


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- x -

  • XAxis() : Amanith::GEllipseCurve2D
  • XForm() : Amanith::GPath2D, Amanith::GHermiteCurve2D, Amanith::GEllipseCurve2D, Amanith::GCurve2D
  • XSemiAxisLength() : Amanith::GEllipseCurve2D


  • All
  • Functions
  • Variables
  • Typedefs
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • ~

- y -

  • YAxis() : Amanith::GEllipseCurve2D
  • YSemiAxisLength() : Amanith::GEllipseCurve2D


  • All
  • Functions
  • Variables
  • Typedefs

  • BaseType : Amanith::GPoint< DATA_TYPE, SIZE >, Amanith::GVect< DATA_TYPE, SIZE >
  • GFunction : Amanith::GIntegration


  • All
  • Functions
  • Variables
  • Typedefs
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • m
  • n
  • o
  • p
  • t
  • v
  • w

- c -

  • CharCode : Amanith::GEncodedChar
  • CharMap : Amanith::GFont2D, Amanith::GCharMap

- d -

  • DynamicLibExtension : Amanith::GSystemInfo

- e -

  • Encoding : Amanith::GCharMap
  • EncodingID : Amanith::GCharMap
  • EndianType : Amanith::GSystemInfo

- f -

  • Flags : Amanith::GSubChar2D

- g -

  • gDirection : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • GlyphIndex : Amanith::GEncodedChar, Amanith::GSubChar2D
  • GlyphIndexLeft : Amanith::GKerningEntry
  • GlyphIndexRight : Amanith::GKerningEntry
  • gModified : Amanith::GPatternDesc, Amanith::GGradientDesc
  • gOrigin : Amanith::GGenericRay< DATA_TYPE, SIZE >
  • gProjection : Amanith::GDrawBoard
  • GRow : Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor, Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor
  • gViewport : Amanith::GDrawBoard

- h -

  • Height : Amanith::GPixelMap, Amanith::GFont2D, Amanith::GGlyphMetrics
  • HoriAdvance : Amanith::GGlyphMetrics
  • HoriBearingX : Amanith::GGlyphMetrics
  • HoriBearingY : Amanith::GGlyphMetrics

- i -

  • InTangent : Amanith::GHermiteKey2D, Amanith::GHermiteKey1D

- k -

  • Kerning : Amanith::GKerningEntry

- m -

  • Multiplicity : Amanith::GBSplineCurve2D, Amanith::GBSplineCurve1D, Amanith::GKnotMultiplicity

- n -

  • Null : Amanith::GClassID

- o -

  • OSBuildNumber : Amanith::GSystemInfo
  • OSMajorVersion : Amanith::GSystemInfo
  • OSMinorVersion : Amanith::GSystemInfo
  • OutTangent : Amanith::GHermiteKey2D, Amanith::GHermiteKey1D

- p -

  • Parameter : Amanith::GPolyLineKey2D, Amanith::GHermiteKey2D, Amanith::GPolyLineKey1D, Amanith::GHermiteKey1D
  • PlatformID : Amanith::GCharMap

- t -

  • TrailerPathDelimiter : Amanith::GSystemInfo
  • Transformation : Amanith::GSubChar2D

- v -

  • Value : Amanith::GProperty, Amanith::GPolyLineKey2D, Amanith::GHermiteKey2D, Amanith::GPolyLineKey1D, Amanith::GHermiteKey1D, Amanith::GKnotMultiplicity
  • VertAdvance : Amanith::GGlyphMetrics
  • VertBearingX : Amanith::GGlyphMetrics
  • VertBearingY : Amanith::GGlyphMetrics

- w -

  • Width : Amanith::GPixelMap, Amanith::GGlyphMetrics
  • WordSize : Amanith::GSystemInfo


  • Namespace List
  • Namespace Members

Amanith Namespace Reference

Amanith framework. More...

Classes

  • class GBezierCurve1D
    A generic degree 1D Bezier curve. More...
  • class GBezierCurve1DProxy
    This class implements a GBezierCurve1D proxy (provider). More...
  • struct GKnotMultiplicity
    A simple pair-like structure that describes a spline knot multiplicity. More...
  • class GBSplineCurve1D
    A generic degree 1D B-spline curve. More...
  • class GBSplineCurve1DProxy
    This class implements a GBSplineCurve1D proxy (provider). More...
  • class GCurve1D
    This class represents a generic parametric continuous 1D curve. More...
  • class GCurve1DProxy
    This class implements a GCurve1D proxy (provider). More...
  • struct GHermiteKey1D
    1D Hermite key structure. More...
  • class GHermiteCurve1D
    This class implements a 1D Hermite multicurve. More...
  • class GHermiteCurve1DProxy
    This class implements a GHermiteCurve1D proxy (provider). More...
  • class GMultiCurve1D
    This class represents a parametric continuous piece-wise 1D curve. More...
  • class GMultiCurve1DProxy
    This class implements a GMultiCurve1D proxy (provider). More...
  • struct GPolyLineKey1D
    1D Polyline key structure. More...
  • class GPolyLineCurve1D
    This class implements a 1D polyline multicurve. More...
  • class GPolyLineCurve1DProxy
    This class implements a GPolyLineCurve1D proxy (provider). More...
  • class GAnimTRSNode2D
    This class implements a simple TRS (Translate-Rotation-Scale) transformation node, in a 2D space. More...
  • class GAnimTRSNode2DProxy
    This class implements a GAnimTRSNode2D proxy (provider). More...
  • class GBezierCurve2D
    A generic degree 2D Bezier curve. More...
  • class GBezierCurve2DProxy
    This class implements a GBezierCurve2D proxy (provider). More...
  • class GBSplineCurve2D
    A generic degree 2D B-spline curve. More...
  • class GBSplineCurve2DProxy
    This class implements a GBSplineCurve2D proxy (provider). More...
  • class GCurve2D
    This class represents a generic parametric continuous 2D curve. More...
  • class GCurve2DProxy
    This class implements a GCurve2D proxy (provider). More...
  • class GEllipseCurve2D
    2D ellipse arc/curve. More...
  • class GEllipseCurve2DProxy
    This class implements a GEllipseCurve2D proxy (provider). More...
  • class GFontCharContour2D
    This class represents a character closed contour. More...
  • struct GSubChar2D
    This structure describe a subchar used by multy-glyphs font character. More...
  • struct GGlyphMetrics
    A structure used to model the metrics of a single glyph. More...
  • class GFontChar2D
    This class represent a 2D font character. More...
  • struct GEncodedChar
    An association between a char code to its glyph index (for a charsmap). More...
  • struct GCharMap
    This structure describes a characters map. More...
  • struct GKerningEntry
    Describes the kerning to be used for two characters. More...
  • class GFont2D
    2D font class manager. More...
  • class GFont2DProxy
    This class implements a GFont2DProxy proxy (provider). More...
  • struct GHermiteKey2D
    Hermite key structure. More...
  • class GHermiteCurve2D
    This class implements a 2D Hermite multicurve. More...
  • class GHermiteCurve2DProxy
    This class implements a GHermiteCurve2D proxy (provider). More...
  • class GMeshVertex2D
    This class represent a mesh vertex. More...
  • class GMeshEdge2D
    A directed edge from one vertex to another, adjacent to two faces. More...
  • class GQuadEdge2D
    This class describes a quad-edge. More...
  • class GMeshFace2D
    A face of a mesh, bounded by a set of directed edges. More...
  • class GMesh2D
    This class represents an enclosed volume, bounded by a set of vertexes and faces. More...
  • class GMultiCurve2D
    This class represents a parametric continuous piece-wise 2D curve. More...
  • class GMultiCurve2DProxy
    This class implements a GMultiCurve2D proxy (provider). More...
  • class GPath2D
    This class represents a path, intended as a series of "linked" curves of different flavors. More...
  • class GPath2DProxy
    This class implements a GPath2D proxy (provider). More...
  • class GPixelMap
    A 2D cross-platform bitmap class. More...
  • class GPixelMapProxy
    This class implements a GPixelMap proxy (provider). More...
  • struct GPolyLineKey2D
    Polyline key structure. More...
  • class GPolyLineCurve2D
    This class implements a 2D polyline multicurve. More...
  • class GPolyLineCurve2DProxy
    This class implements a GPolyLineCurve2D proxy (provider). More...
  • class GTesselator2D
    This class implements a 2D shape triangulator. More...
  • class GTracedContour
    This class represents a closed contour built by tracer. More...
  • class GTracer2D
    This class implements a bitmap vectorizer. More...
  • class GClassID
    Amanith class descriptor, used by the introspection system. More...
  • class GElement
    Minimum element class equipped with introspection and cloning system. More...
  • class GElementProxy
    This class implements a GElement proxy (provider). More...
  • class GKeyValue
    Generic key value. More...
  • class GAnimElement
    This class implements an 'animated' element. More...
  • class GAnimElementProxy
    This class implements a GAnimElement proxy (provider). More...
  • class GProperty
    This class represents a generic animated property. More...
  • class GPropertyProxy
    This class implements a GProperty proxy (provider). More...
  • class GGenericAABox
    An axially aligned box in N-dimensional space. More...
  • class GAffineParts
    Affine matrix polar decomposition. More...
  • class GAxisAng
    GAxisAng represents a "twist about an axis", it is used to specify a rotation in 3D-space. More...
  • class GInterval
    GInterval represents a mono dimensional interval. More...
  • class GLineSeg
    Describes a compact (finite) line segment. More...
  • class GMatrix
    N x M dimensional matrix (ordered in memory by Column). More...
  • class GGenericOOBox
    Object oriented box, in N-dimensional space. More...
  • class GGenericPlane
    Defines a 3D geometrical plane. More...
  • class GQuat
    This template class encapsulate quaternion behaviors. More...
  • class GGenericRay
    GGenericRay class describes an N-dimensional ray. More...
  • class GGenericSphere
    Describes a sphere in N-dimensional space by its center point and its radius. More...
  • class GVectBase
    Base type for vector-like objects including Points and Vectors. More...
  • class GVect
    A representation of a vector with SIZE components using DATA_TYPE as the data type for each component. More...
  • class GPoint
    A geometric point entity. More...
  • class ErrorUtils
    This class implements some error utilities. More...
  • struct GSystemInfo
    Structure used to store system informations. More...
  • class GImpExpFeature
    Generic import/export feature descriptor. More...
  • class GImpExp
    Import/Export plugin interface class. More...
  • class GImpExpProxy
    This class implements a GImpExp proxy (provider). More...
  • class GProxyState
    Proxy state descriptor. More...
  • class GKernel
    It's the core class that make introspection and plugins system possible and full working. More...
  • class GKernelProxy
    This class implements a GKernel proxy (provider). More...
  • class GMultiProperty1D
    This class represent a multi-property, intended as a container of properties of the same type. More...
  • class GMultiProperty1DProxy
    This class implements a GMultiProperty1D proxy (provider). More...
  • class GTwoHermiteProperty1D
    This class represent a 2-dimensional Hermite multi-property, a container of two GHermiteProperty1D properties. They are accessible with the default names "x" and "y". More...
  • class GTwoHermiteProperty1DProxy
    This class implements a GTwoHermiteProperty proxy (provider). More...
  • class GThreeHermiteProperty1D
    This class represent a 3-dimensional Hermite multi-property, a container of three GHermiteProperty1D properties. They are accessible with the default names "x", "y" and "z". More...
  • class GThreeHermiteProperty1DProxy
    This class implements a GThreeHermiteProperty proxy (provider). More...
  • class GFourHermiteProperty1D
    This class represent a 4-dimensional Hermite multi-property, a container of four GHermiteProperty1D properties. They are accessible with the default names "x", "y", "z" and "w". More...
  • class GFourHermiteProperty1DProxy
    This class implements a GFourHermiteProperty proxy (provider). More...
  • class GTwoLinearProperty1D
    This class represent a 2-dimensional linear multi-property, a container of two GLinearProperty1D properties. They are accessible with the default names "x" and "y". More...
  • class GTwoLinearProperty1DProxy
    This class implements a GTwoLinearProperty1D proxy (provider). More...
  • class GThreeLinearProperty1D
    This class represent a 3-dimensional linear multi-property, a container of three GLinearProperty1D properties. They are accessible with the default names "x", "y" and "z". More...
  • class GThreeLinearProperty1DProxy
    This class implements a GThreeLinearProperty1D proxy (provider). More...
  • class GFourLinearProperty1D
    This class represent a 4-dimensional linear multi-property, a container of four GLinearProperty1D properties. They are accessible with the default names "x", "y", "z" and "w". More...
  • class GFourLinearProperty1DProxy
    This class implements a GFourLinearProperty1D proxy (provider). More...
  • class GTwoConstantProperty1D
    This class represent a 2-dimensional constant multi-property, a container of two GConstantProperty1D properties. They are accessible with the default names "x" and "y". More...
  • class GTwoConstantProperty1DProxy
    This class implements a GTwoConstantProperty1D proxy (provider). More...
  • class GThreeConstantProperty1D
    This class represent a 3-dimensional constant multi-property, a container of three GConstantProperty1D properties. They are accessible with the default names "x", "y" and "z". More...
  • class GThreeConstantProperty1DProxy
    This class implements a GThreeConstantProperty1D proxy (provider). More...
  • class GFourConstantProperty1D
    This class represent a 4-dimensional constant multi-property, a container of four GConstantProperty1D properties. They are accessible with the default names "x", "y", "z" and "w". More...
  • class GFourConstantProperty1DProxy
    This class implements a GFourConstantProperty1D proxy (provider). More...
  • class GOpenglExt
    OpenGL extensions manager. More...
  • class GPlugLoader
    Low level dynamic library loader class. More...
  • class GHermiteProperty1D
    A key-frame based property, that uses an Hermite interpolation schema. More...
  • class GHermiteProperty1DProxy
    This class implements a GHermiteProperty1D proxy (provider). More...
  • class GLinearProperty1D
    A key-frame based property, that uses a linear interpolation schema. More...
  • class GLinearProperty1DProxy
    This class implements a GLinearProperty1D proxy (provider). More...
  • class GConstantProperty1D
    A key-frame based property, that uses a constant interpolation schema. More...
  • class GConstantProperty1DProxy
    This class implements a GConstantProperty1D proxy (provider). More...
  • class GEigen
    This class implements an eigenvalues/eigenvectors solver for square matrices. More...
  • struct GMitchellDataFloat
    Data structure for parameterized Mitchell filter. (float version). More...
  • struct GMitchellDataDouble
    Data structure for parameterized Mitchell filter. (double version). More...
  • struct GKaiserDataFloat
    Data structure for parameterized Kaiser window. (float version). More...
  • struct GKaiserDataDouble
    Data structure for parameterized Kaiser window. (double version). More...
  • class GIntegration
    This class implements numerical integration of scalar functions. More...
  • class GCacheBank
    This virtual class represents a cache bank, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer). More...
  • class GDrawBoard
    An abstract drawboard paint server. More...
  • class GGradientDesc
    This class maintains informations used to describe a gradient. More...
  • class GPatternDesc
    This class maintains informations used to describe a graphic pattern. More...
  • class GDrawStyle
    This class maintains informations used to describe a render style. More...
  • class GOpenGLGradientDesc
    This is an OpenGL-based implementation gradient descriptor class. More...
  • class GOpenGLPatternDesc
    This is an OpenGL-based implementation pattern descriptor class. More...
  • class GOpenGLDrawStyle
    This is an OpenGL-based implementation drawstyle descriptor class. More...
  • class GOpenGLCacheBank
    This is the OpenGL implementation of a cache bank class, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer). More...
  • class GOpenGLBoard
    This is an OpenGL-based implementation drawboard. More...
  • class GAVLNode
    This class implements a parented AVL node. More...
  • class GAVLTree
    This class implements an AVL (Adelson-Velskii and Landis) tree. More...
  • class SysUtils
    A collection of generic cross-platform system utilities. More...
  • class StrUtils
    A collection of cross-platform generic string utilities. More...
  • class FileUtils
    A collection of cross-platform generic file utilities. More...

Namespaces

  • namespace GMath

Typedefs

  • typedef GInterval< GReal > GTimeInterval
  • typedef GGenericAABox< GReal, 2 > GAABox2
  • typedef GGenericAABox< GReal, 3 > GAABox3
  • typedef GAxisAng< GReal > GAxisAngle
  • typedef GLineSeg< GReal, 2 > GLineSegment2
  • typedef GLineSeg< GReal, 3 > GLineSegment3
  • typedef GMatrix< GReal, 2, 2 > GMatrix22
  • typedef GMatrix< GReal, 2, 3 > GMatrix23
  • typedef GMatrix< GReal, 3, 3 > GMatrix33
  • typedef GMatrix< GReal, 3, 4 > GMatrix34
  • typedef GMatrix< GReal, 4, 3 > GMatrix43
  • typedef GMatrix< GReal, 4, 4 > GMatrix44
  • typedef GGenericOOBox< GReal, 2 > GOOBox2
  • typedef GGenericOOBox< GReal, 3 > GOOBox3
  • typedef GGenericPlane< GReal > GPlane
  • typedef GQuat< GReal > GQuaternion
  • typedef GGenericRay< GReal, 2 > GRay2
  • typedef GGenericRay< GReal, 3 > GRay3
  • typedef GGenericSphere< GReal, 2 > GSphere2
  • typedef GGenericSphere< GReal, 3 > GSphere3
  • typedef GVect< GReal, 2 > GVector2
  • typedef GVect< GReal, 3 > GVector3
  • typedef GVect< GReal, 4 > GVector4
  • typedef GPoint< GReal, 2 > GPoint2
  • typedef GPoint< GReal, 3 > GPoint3
  • typedef GPoint< GReal, 4 > GPoint4
  • typedef GInt64 GLLong
  • typedef GUInt64 GULLong
  • typedef GUInt8 GUChar8
  • typedef GInt32 GError
  • typedef GFloat GReal
  • typedef GReal GTimeValue

Enumerations

  • enum GDerivativeOrder { G_FIRST_ORDER_DERIVATIVE = 1, G_SECOND_ORDER_DERIVATIVE = 2 }
  • enum GSpaceSystem { G_LOCAL_SPACE = 0, G_WORLD_SPACE = 1 }
  • enum GCharMapEncoding {
    G_ENCODING_NONE, G_ENCODING_MS_SYMBOL, G_ENCODING_UNICODE, G_ENCODING_SJIS,
    G_ENCODING_GB2312, G_ENCODING_BIG5, G_ENCODING_WANSUNG, G_ENCODING_JOHAB,
    G_ENCODING_ADOBE_STANDARD, G_ENCODING_ADOBE_EXPERT, G_ENCODING_ADOBE_CUSTOM , G_ENCODING_OLD_LATIN_2,
    G_ENCODING_APPLE_ROMAN
    }
  • enum GPixelFormat {
    G_GRAYSCALE, G_RGB_PALETTE, G_R8G8B8, G_A8R8G8B8,
    G_A1R5G5B5, G_R5G6B5
    }
  • enum GResizeOp {
    G_RESIZE_BOX, G_RESIZE_TRIANGLE, G_RESIZE_QUADRATIC, G_RESIZE_CUBIC,
    G_RESIZE_CATMULLROM, G_RESIZE_GAUSSIAN, G_RESIZE_SINC, G_RESIZE_BESSEL,
    G_RESIZE_BELL, G_RESIZE_HANNING, G_RESIZE_HAMMING, G_RESIZE_BLACKMAN,
    G_RESIZE_NORMAL
    }
  • enum GFillBehavior { G_ODD_EVEN_RULE, G_EVEN_ODD_RULE, G_NON_ZERO_RULE, G_ANY_RULE }
  • enum GTurnPolicy { G_CONNECT_BLACK, G_CONNECT_WHITE, G_CONNECT_DOMINANT, G_CONNECT_NOT_DOMINANT }
  • enum GKeyType {
    G_UNDEFINED_KEY, G_BOOL_KEY, G_INT_KEY, G_REAL_KEY,
    G_VECTOR2_KEY, G_VECTOR3_KEY, G_VECTOR4_KEY
    }
  • enum GOORType { G_CONSTANT_OOR, G_LOOP_OOR, G_PINGPONG_OOR }
  • enum GValueMethod { G_ABSOLUTE_VALUE, G_RELATIVE_VALUE }
  • enum GVectorIndex { G_X =  0,
G_Y =  1,
G_Z =  2,
G_W =  3
 }
  • enum GEulerOrder
  • enum GAnglesMeasureUnit {
G_DEGREE_UNIT =  0,
G_GRAD_UNIT =  1,
G_MIL_UNIT =  2,
G_MINUTE_UNIT =  3,
G_OCTANT_UNIT =  4,
G_QUADRANT_UNIT =  5,
G_RADIAN_UNIT =  6,
G_SECOND_UNIT =  7,
G_SEXTANT_UNIT =  8,
G_SIGN_UNIT =  9,
G_CIRCLE_UNIT =  10,
G_TURN_UNIT =  11,
G_REVOLUTION_UNIT =  12,
G_RIGHTANGLE_UNIT =  13
}
  • enum GSortType { G_NO_SORT, G_ASCENDING_SORT, G_DESCENDING_SORT }
  • enum GSurfaceSide { G_ONSURFACE, G_INSIDE, G_OUTSIDE }
  • enum GBoxSide {
    G_LEFTSIDE, G_RIGHTSIDE, G_TOPSIDE, G_BOTTOMSIDE,
    G_FRONTSIDE, G_BACKSIDE
    }
  • enum GEndianType { G_BIG_ENDIAN, G_LITTLE_ENDIAN }
  • enum GReadWriteOp { G_IMPEXP_READ, G_IMPEXP_WRITE, G_IMPEXP_READWRITE }
  • enum GRenderingQuality { G_LOW_RENDERING_QUALITY, G_NORMAL_RENDERING_QUALITY, G_HIGH_RENDERING_QUALITY }
  • enum GTargetMode {
    G_COLOR_MODE, G_CLIP_MODE, G_COLOR_AND_CACHE_MODE, G_CLIP_AND_CACHE_MODE,
    G_CACHE_MODE
    }
  • enum GClipOperation { G_REPLACE_CLIP, G_INTERSECTION_CLIP }
  • enum GCapStyle { G_BUTT_CAP, G_ROUND_CAP, G_SQUARE_CAP }
  • enum GJoinStyle { G_MITER_JOIN, G_ROUND_JOIN, G_BEVEL_JOIN }
  • enum GStrokeStyle { G_SOLID_STROKE, G_DASHED_STROKE }
  • enum GFillRule { G_ODD_EVEN_FILLRULE, G_EVEN_ODD_FILLRULE, G_NON_ZERO_FILLRULE, G_ANY_FILLRULE }
  • enum GPaintType { G_COLOR_PAINT_TYPE, G_GRADIENT_PAINT_TYPE, G_PATTERN_PAINT_TYPE }
  • enum GGradientType { G_LINEAR_GRADIENT, G_RADIAL_GRADIENT, G_CONICAL_GRADIENT }
  • enum GColorRampSpreadMode { G_PAD_COLOR_RAMP_SPREAD, G_REPEAT_COLOR_RAMP_SPREAD, G_REFLECT_COLOR_RAMP_SPREAD }
  • enum GColorRampInterpolation { G_CONSTANT_COLOR_INTERPOLATION, G_LINEAR_COLOR_INTERPOLATION, G_HERMITE_COLOR_INTERPOLATION }
  • enum GTilingMode { G_PAD_TILE, G_REPEAT_TILE, G_REFLECT_TILE }
  • enum GImageQuality { G_LOW_IMAGE_QUALITY, G_NORMAL_IMAGE_QUALITY, G_HIGH_IMAGE_QUALITY }
  • enum GCompositingOperation {
    G_CLEAR_OP, G_SRC_OP, G_DST_OP, G_SRC_OVER_OP,
    G_DST_OVER_OP, G_SRC_IN_OP, G_DST_IN_OP, G_SRC_OUT_OP,
    G_DST_OUT_OP, G_SRC_ATOP_OP, G_DST_ATOP_OP, G_XOR_OP,
    G_PLUS_OP, G_MULTIPLY_OP, G_SCREEN_OP, G_OVERLAY_OP,
    G_DARKEN_OP, G_LIGHTEN_OP, G_COLOR_DODGE_OP, G_COLOR_BURN_OP,
    G_HARD_LIGHT_OP, G_SOFT_LIGHT_OP, G_DIFFERENCE_OP, G_EXCLUSION_OP
    }

Functions

  • template<typename DATA_TYPE, GUInt32 SIZE> GBool IsEqual (const GGenericAABox< DATA_TYPE, SIZE > &Box1, const GGenericAABox< DATA_TYPE, SIZE > &Box2, const DATA_TYPE &Epsilon)
  • template<typename DATA_TYPE> DATA_TYPE TwiceSignedArea (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3)
  • template<typename DATA_TYPE> DATA_TYPE SignedArea (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3)
  • template<typename DATA_TYPE> GBool IsInCircle (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const GVectBase< DATA_TYPE, 2 > &TestPoint)
  • template<typename DATA_TYPE> GBool CounterClockWise (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GBool CounterClockWiseOrAligned (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GBool ClockWise (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GBool ClockWiseOrAligned (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GBool Aligned (const GVectBase< DATA_TYPE, 2 > &P1, const GVectBase< DATA_TYPE, 2 > &P2, const GVectBase< DATA_TYPE, 2 > &P3, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE> GUInt32 CCWSmallerAngleSpan (const GPoint< DATA_TYPE, 2 > &Origin, const GPoint< DATA_TYPE, 2 > &Dest1, const GPoint< DATA_TYPE, 2 > &Dest2, const GPoint< DATA_TYPE, 2 > &Destination, const DATA_TYPE Precision=(DATA_TYPE) G_EPSILON)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Identity (GMatrix< DATA_TYPE, ROWS, COLS > &Result)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Zero (GMatrix< DATA_TYPE, ROWS, COLS > &Result)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 INTERNAL, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Mult (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GMatrix< DATA_TYPE, ROWS, INTERNAL > &lhs, const GMatrix< DATA_TYPE, INTERNAL, COLS > &rhs)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 INTERNAL, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > operator * (const GMatrix< DATA_TYPE, ROWS, INTERNAL > &lhs, const GMatrix< DATA_TYPE, INTERNAL, COLS > &rhs)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > operator- (GMatrix< DATA_TYPE, ROWS, COLS > &lhs)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & operator-= (GMatrix< DATA_TYPE, ROWS, COLS > &lhs, const GMatrix< DATA_TYPE, ROWS, COLS > &rhs)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & operator+= (GMatrix< DATA_TYPE, ROWS, COLS > &lhs, const GMatrix< DATA_TYPE, ROWS, COLS > &rhs)
  • template<typename DATA_TYPE, GUInt32 SIZE> GMatrix< DATA_TYPE, SIZE,
    SIZE > & PostMult (GMatrix< DATA_TYPE, SIZE, SIZE > &result, const GMatrix< DATA_TYPE, SIZE, SIZE > &operand)
  • template<typename DATA_TYPE, GUInt32 SIZE> GMatrix< DATA_TYPE, SIZE,
    SIZE > & PreMult (GMatrix< DATA_TYPE, SIZE, SIZE > &result, const GMatrix< DATA_TYPE, SIZE, SIZE > &operand)
  • template<typename DATA_TYPE, GUInt32 SIZE> GMatrix< DATA_TYPE, SIZE,
    SIZE > & operator *= (GMatrix< DATA_TYPE, SIZE, SIZE > &result, const GMatrix< DATA_TYPE, SIZE, SIZE > &operand)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, class SCALAR_TYPE> GMatrix< DATA_TYPE, ROWS,
    COLS > & operator *= (GMatrix< DATA_TYPE, ROWS, COLS > &result, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, class SCALAR_TYPE> GMatrix< DATA_TYPE, ROWS,
    COLS > operator * (const GMatrix< DATA_TYPE, ROWS, COLS > &mat, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE> GMatrix< DATA_TYPE, SIZE,
    SIZE > & Transpose (GMatrix< DATA_TYPE, SIZE, SIZE > &result)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & Transpose (GMatrix< DATA_TYPE, ROWS, COLS > &result, const GMatrix< DATA_TYPE, COLS, ROWS > &source)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GBool InvertTrans (GMatrix< DATA_TYPE, ROWS, COLS > &result, const GMatrix< DATA_TYPE, ROWS, COLS > &src)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GMatrix< DATA_TYPE, ROWS,
    COLS > & InvertOrthogonal (GMatrix< DATA_TYPE, ROWS, COLS > &result, const GMatrix< DATA_TYPE, ROWS, COLS > &src)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool InvertFull_GJ (GMatrix< DATA_TYPE, SIZE, SIZE > &result, const GMatrix< DATA_TYPE, SIZE, SIZE > &src, DATA_TYPE &Determinant, const DATA_TYPE Epsilon=1e-20)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GBool DecompLU (const GMatrix< DATA_TYPE, ROWS, COLS > &Src, GMatrix< DATA_TYPE, ROWS, COLS > &L, GMatrix< DATA_TYPE, COLS, COLS > &U, GVect< GInt32, ROWS > &Permutation, DATA_TYPE &Determinant)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GBool DecompQR (const GMatrix< DATA_TYPE, ROWS, COLS > &Src, GMatrix< DATA_TYPE, ROWS, COLS > &Q, GMatrix< DATA_TYPE, COLS, COLS > &R)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool DecompCholesky (const GMatrix< DATA_TYPE, SIZE, SIZE > &Src, GMatrix< DATA_TYPE, SIZE, SIZE > &L)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void DecompSVD (const GMatrix< DATA_TYPE, ROWS, COLS > &Src, GMatrix< DATA_TYPE, ROWS, COLS > &U, GMatrix< DATA_TYPE, COLS, COLS > &S, GMatrix< DATA_TYPE, COLS, COLS > &V, DATA_TYPE &Norm2, DATA_TYPE &ConditionNumber, GInt32 &Rank)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void HouseholderColumnsReflect (GMatrix< DATA_TYPE, ROWS, COLS > &M, const GVect< DATA_TYPE, COLS > &u)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void HouseholderRowsReflect (GMatrix< DATA_TYPE, ROWS, COLS > &M, const GVect< DATA_TYPE, COLS > &u)
  • template<typename DATA_TYPE> void DecompPolar_Rank1 (GMatrix< DATA_TYPE, 3, 3 > &M, GMatrix< DATA_TYPE, 3, 3 > &Q)
  • template<typename DATA_TYPE> void DecompPolar_Rank2 (GMatrix< DATA_TYPE, 3, 3 > &M, const GMatrix< DATA_TYPE, 3, 3 > &MadjT, GMatrix< DATA_TYPE, 3, 3 > &Q)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool DecompPolar (const GMatrix< DATA_TYPE, SIZE, SIZE > &Src, GMatrix< DATA_TYPE, SIZE, SIZE > &Q, DATA_TYPE &QDeterminant, GMatrix< DATA_TYPE, SIZE, SIZE > &S, const DATA_TYPE Epsilon=G_EPSILON)
  • template<typename DATA_TYPE, GUInt32 SIZE> void SymHouseholderTridReduction (GMatrix< DATA_TYPE, SIZE, SIZE > &V, GVect< DATA_TYPE, SIZE > &d, GVect< DATA_TYPE, SIZE > &e)
  • template<typename DATA_TYPE, GUInt32 SIZE> void SymTridQL (GMatrix< DATA_TYPE, SIZE, SIZE > &V, GVect< DATA_TYPE, SIZE > &d, GVect< DATA_TYPE, SIZE > &e, const GBool Sort=G_TRUE)
  • template<typename DATA_TYPE, GUInt32 SIZE> void NonSymHessenbergReduction (GMatrix< DATA_TYPE, SIZE, SIZE > &V, GMatrix< DATA_TYPE, SIZE, SIZE > &H)
  • template<typename DATA_TYPE, GUInt32 SIZE> void NonSymSchurReduction (GMatrix< DATA_TYPE, SIZE, SIZE > &V, GMatrix< DATA_TYPE, SIZE, SIZE > &H, GVect< DATA_TYPE, SIZE > &d, GVect< DATA_TYPE, SIZE > &e)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GBool IsEqual (const GMatrix< DATA_TYPE, ROWS, COLS > &lhs, const GMatrix< DATA_TYPE, ROWS, COLS > &rhs, const DATA_TYPE &eps=(DATA_TYPE) 0)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool IsEqual (const GGenericOOBox< DATA_TYPE, SIZE > &Box1, const GGenericOOBox< DATA_TYPE, SIZE > &Box2, const DATA_TYPE &Epsilon)
  • template<typename DATA_TYPE> GPoint< DATA_TYPE, 3 > FindNearestPoint (const GGenericPlane< DATA_TYPE > &Plane, const GPoint< DATA_TYPE, 3 > &TestPoint)
  • template<typename DATA_TYPE> GBool IsEqual (const GGenericPlane< DATA_TYPE > &Plane1, const GGenericPlane< DATA_TYPE > &Plane2, const DATA_TYPE &Epsilon)
  • template<typename DATA_TYPE> DATA_TYPE Dot (const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2)
  • template<typename DATA_TYPE> GQuat< DATA_TYPE > Slerp (const DATA_TYPE LerpPercentage, const GQuat< DATA_TYPE > &From, const GQuat< DATA_TYPE > &To, const DATA_TYPE SpinAmt, const GBool AdjustSign)
  • template<typename DATA_TYPE> GQuat< DATA_TYPE > Squad (const DATA_TYPE LerpPercentage, const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2, const GQuat< DATA_TYPE > &Tg1, const GQuat< DATA_TYPE > &Tg2, const DATA_TYPE SpinAmt, const GBool AdjustSign)
  • template<typename DATA_TYPE> GBool IsEqual (const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2, const DATA_TYPE Epsilon=0)
  • template<typename DATA_TYPE> GBool IsEquivalent (const GQuat< DATA_TYPE > &Quat1, const GQuat< DATA_TYPE > &Quat2, const DATA_TYPE Epsilon=0)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool IsEqual (const GGenericRay< DATA_TYPE, SIZE > &Ray1, const GGenericRay< DATA_TYPE, SIZE > &Ray2, const DATA_TYPE &Epsilon)
  • template<typename DATA_TYPE, GUInt32 SIZE> GPoint< DATA_TYPE, SIZE > FindNearestPoint (const GGenericRay< DATA_TYPE, SIZE > &Ray, const GPoint< DATA_TYPE, SIZE > &TestPoint)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool IsEqual (const GGenericSphere< DATA_TYPE, SIZE > &Sph1, const GGenericSphere< DATA_TYPE, SIZE > &Sph2, const DATA_TYPE &Epsilon)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVect< DATA_TYPE, SIZE > operator- (const GVectBase< DATA_TYPE, SIZE > &v1)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVectBase< DATA_TYPE, SIZE > & operator+= (GVectBase< DATA_TYPE, SIZE > &v1, const GVectBase< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVectBase< DATA_TYPE, SIZE > operator+ (const GVectBase< DATA_TYPE, SIZE > &v1, const GVectBase< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVectBase< DATA_TYPE, SIZE > & operator-= (GVectBase< DATA_TYPE, SIZE > &v1, const GVectBase< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVect< DATA_TYPE, SIZE > operator- (const GVectBase< DATA_TYPE, SIZE > &v1, const GVectBase< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > & operator *= (GVectBase< DATA_TYPE, SIZE > &v1, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > operator * (const GVectBase< DATA_TYPE, SIZE > &v1, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > operator * (const SCALAR_TYPE &scalar, const GVectBase< DATA_TYPE, SIZE > &v1)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > & operator/= (GVectBase< DATA_TYPE, SIZE > &v1, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE> GVectBase< DATA_TYPE, SIZE > operator/ (const GVectBase< DATA_TYPE, SIZE > &v1, const SCALAR_TYPE &scalar)
  • template<typename DATA_TYPE, GUInt32 SIZE> DATA_TYPE Dot (const GVect< DATA_TYPE, SIZE > &v1, const GVect< DATA_TYPE, SIZE > &v2)
  • template<typename DATA_TYPE> GVect< DATA_TYPE, 3 > Cross (const GVect< DATA_TYPE, 3 > &v1, const GVect< DATA_TYPE, 3 > &v2)
  • template<typename DATA_TYPE> DATA_TYPE Cross (const GVectBase< DATA_TYPE, 2 > &v1, const GVectBase< DATA_TYPE, 2 > &v2)
  • template<typename DATA_TYPE, GUInt32 SIZE> GVectBase< DATA_TYPE, SIZE > Reflect (const GVectBase< DATA_TYPE, SIZE > &Vect, const GVect< DATA_TYPE, SIZE > &Normal)
  • template<typename DATA_TYPE, GUInt32 SIZE> DATA_TYPE LengthSquared (const GVect< DATA_TYPE, SIZE > &Vect)
  • template<typename DATA_TYPE, GUInt32 SIZE> DATA_TYPE Length (const GVect< DATA_TYPE, SIZE > &Vect)
  • template<typename DATA_TYPE, GUInt32 SIZE> GBool IsEqual (const GVectBase< DATA_TYPE, SIZE > &Vect1, const GVectBase< DATA_TYPE, SIZE > &Vect2, const DATA_TYPE &Epsilon=G_EPSILON)
  • template<typename DATA_TYPE> GBool IsClockWise (const GDynArray< GPoint< DATA_TYPE, 2 > > &Contour)
  • template<typename DATA_TYPE, GUInt32 SIZE, GUInt32 POINT_SIZE> DATA_TYPE QuadraticForm (const GMatrix< DATA_TYPE, SIZE, SIZE > &matrix, const GPoint< DATA_TYPE, POINT_SIZE > &p)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 TRANS_SIZE> void TranslationToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GVectBase< DATA_TYPE, TRANS_SIZE > &Translation)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void RotationToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE RadAngle1, const DATA_TYPE RadAngle2, const DATA_TYPE RadAngle3, const GEulerOrder ApplicationOrder=G_ZYX, const GBool RightOrder=G_TRUE)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void RotationToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE RadAngle)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void RotationToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE RadAngle, const GVectBase< DATA_TYPE, 2 > &Pivot)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 SIZE> void ScaleToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GVectBase< DATA_TYPE, SIZE > &ScaleFactors)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 SIZE> void ScaleToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GVectBase< DATA_TYPE, SIZE > &ScaleFactors, const GVectBase< DATA_TYPE, SIZE > &Pivot)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void ScaleToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE ScaleFactor)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 SIZE> void ScaleToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE ScaleFactor, const GVectBase< DATA_TYPE, SIZE > &Pivot)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void MatrixToRotation (GQuat< DATA_TYPE > &Result, const GMatrix< DATA_TYPE, ROWS, COLS > &M)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GError MatrixToRotation (DATA_TYPE &RadAngle, const GMatrix< DATA_TYPE, ROWS, COLS > &M)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> GError MatrixToRotation (DATA_TYPE &RadAngle1, DATA_TYPE &RadAngle2, DATA_TYPE &RadAngle3, const GMatrix< DATA_TYPE, ROWS, COLS > &M, const GEulerOrder ApplicationOrder=G_ZYX, const GBool RightOrder=G_TRUE, const GBool DoConsistenceCheck=G_TRUE)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Shear2DToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const DATA_TYPE ShearX, const DATA_TYPE ShearY)
  • template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS> void Shear3DToMatrix (GMatrix< DATA_TYPE, ROWS, COLS > &Result, const GVectorIndex Axis0, const DATA_TYPE Shear0, const GVectorIndex Axis1, const DATA_TYPE Shear1)
  • GDouble BoxFilter (const GDouble x)
  • GFloat BoxFilter (const GFloat x)
  • GDouble TriangleFilter (const GDouble x)
  • GFloat TriangleFilter (const GFloat x)
  • GDouble QuadraticFilter (const GDouble x)
  • GFloat QuadraticFilter (const GFloat x)
  • GDouble CubicFilter (const GDouble x)
  • GFloat CubicFilter (const GFloat x)
  • GDouble CatmullRomFilter (const GDouble x)
  • GFloat CatmullRomFilter (const GFloat x)
  • GDouble GaussianFilter (const GDouble x)
  • GFloat GaussianFilter (const GFloat x)
  • GDouble SincFilter (const GDouble x)
  • GFloat SincFilter (const GFloat x)
  • GDouble BesselFilter (const GDouble x)
  • GFloat BesselFilter (const GFloat x)
  • GDouble BellFilter (const GDouble x)
  • GFloat BellFilter (const GFloat x)
  • GDouble MitchellFilter (const GDouble x, const GMitchellDataDouble *d)
  • GFloat MitchellFilter (const GFloat x, const GMitchellDataFloat *d)
  • GDouble HanningFilter (const GDouble x)
  • GFloat HanningFilter (const GFloat x)
  • GDouble HammingFilter (const GDouble x)
  • GFloat HammingFilter (const GFloat x)
  • GDouble BlackmanFilter (const GDouble x)
  • GFloat BlackmanFilter (const GFloat x)
  • GDouble KaiserFilter (const GDouble x, const GKaiserDataDouble *d)
  • GFloat KaiserFilter (const GFloat x, const GKaiserDataFloat *d)
  • GDouble NormalFilter (const GDouble x)
  • GFloat NormalFilter (const GFloat x)
  • template<typename DATA_TYPE> void ReverseArray (GDynArray< DATA_TYPE > &Array, const GUInt32 FromIndex, const GUInt32 ToIndex)

Variables

  • const GQuat< GReal > G_QUAT_MULT_IDENTITYF (0, 0, 0, 1)
  • const GQuat< GReal > G_QUAT_ADD_IDENTITYF (0, 0, 0, 0)
  • const GReal G_EPSILON = 1.1920928955078125e-07
  • const GReal G_MAX_REAL = 3.4028234663852886e+38
  • const GReal G_MIN_REAL = -3.4028234663852886e+38

Detailed Description

Amanith framework.

Typedef Documentation

typedef GGenericAABox<GReal, 2> Amanith::GAABox2

Common 2D axes aligned box class, it uses GReal data type.

typedef GGenericAABox<GReal, 3> Amanith::GAABox3

Common 3D axes aligned box class, it uses GReal data type.

typedef GAxisAng<GReal> Amanith::GAxisAngle

Common axis-angle class, it uses GReal data type.

typedef GInt32 Amanith::GError

Error type. As a general rule, all error values are negative numbers.

typedef GLineSeg<GReal, 2> Amanith::GLineSegment2

Common 2D line segment class, it uses GReal data type.

typedef GLineSeg<GReal, 3> Amanith::GLineSegment3

Common 3D line segment class, it uses GReal data type.

typedef GInt64 Amanith::GLLong

Signed long long type.

typedef GMatrix<GReal, 2, 2> Amanith::GMatrix22

Common 2x2 matrix class, it uses GReal data type.

typedef GMatrix<GReal, 2, 3> Amanith::GMatrix23

Common 2x3 matrix class, it uses GReal data type.

typedef GMatrix<GReal, 3, 3> Amanith::GMatrix33

Common 3x3 matrix class, it uses GReal data type.

typedef GMatrix<GReal, 3, 4> Amanith::GMatrix34

Common 3x4 matrix class, it uses GReal data type.

typedef GMatrix<GReal, 4, 3> Amanith::GMatrix43

Common 4x3 matrix class, it uses GReal data type.

typedef GMatrix<GReal, 4, 4> Amanith::GMatrix44

Common 4x4 matrix class, it uses GReal data type.

typedef GGenericOOBox<GReal, 2> Amanith::GOOBox2

Common 2D oriented box class, it uses GReal data type.

typedef GGenericOOBox<GReal, 3> Amanith::GOOBox3

Common 3D oriented box class, it uses GReal data type.

typedef GGenericPlane<GReal> Amanith::GPlane

Common 3D plane class, it uses GReal data type.

typedef GPoint<GReal, 2> Amanith::GPoint2

Common 2D point class, it uses GReal data type.

typedef GPoint<GReal, 3> Amanith::GPoint3

Common 3D point class, it uses GReal data type.

typedef GPoint<GReal, 4> Amanith::GPoint4

Common 4D point class, it uses GReal data type.

typedef GQuat<GReal> Amanith::GQuaternion

Common quaternion class, it uses GReal data type.

typedef GGenericRay<GReal, 2> Amanith::GRay2

Common 2D ray class, it uses GReal data type.

typedef GGenericRay<GReal, 3> Amanith::GRay3

Common 3D ray class, it uses GReal data type.

typedef GFloat Amanith::GReal

Scalar type used for geometry types (point, matrix, quaternion, and so on).

typedef GGenericSphere<GReal, 2> Amanith::GSphere2

Common 2D sphere class, it uses GReal data type.

typedef GGenericSphere<GReal, 3> Amanith::GSphere3

Common 3D sphere class, it uses GReal data type.

typedef GInterval<GReal> Amanith::GTimeInterval

Time interval, it's an interval where values are of type GTimeValue.

typedef GReal Amanith::GTimeValue

time value type

typedef GUInt8 Amanith::GUChar8

8-bit unsigned char type (sometime known as byte)

typedef GUInt64 Amanith::GULLong

Unsigned long long type.

typedef GVect<GReal, 2> Amanith::GVector2

Common 2D vector class, it uses GReal data type.

typedef GVect<GReal, 3> Amanith::GVector3

Common 3D vector class, it uses GReal data type.

typedef GVect<GReal, 4> Amanith::GVector4

Common 4D vector class, it uses GReal data type.

Enumeration Type Documentation

enum Amanith::GAnglesMeasureUnit

Angles measurement systems.

Enumerator:
G_DEGREE_UNIT | Degree measure unit.
G_GRAD_UNIT | Grade measure unit.
G_MIL_UNIT | Mil measure unit.
G_MINUTE_UNIT | Minute measure unit.
G_OCTANT_UNIT | Octant measure unit.
G_QUADRANT_UNIT | Quadrant measure unit.
G_RADIAN_UNIT | Radian measure unit.
G_SECOND_UNIT | Second measure unit.
G_SEXTANT_UNIT | Sextant measure unit.
G_SIGN_UNIT | Sign measure unit.
G_CIRCLE_UNIT | Circle measure unit.
G_TURN_UNIT | Turn measure unit.
G_REVOLUTION_UNIT | Revolution measure unit.
G_RIGHTANGLE_UNIT | Right angle measure unit.

enum Amanith::GBoxSide

Box side enumeration constants.

Enumerator:
G_LEFTSIDE | Left box side.
G_RIGHTSIDE | Right box side.
G_TOPSIDE | Top box side.
G_BOTTOMSIDE | Bottom box side.
G_FRONTSIDE | Front box side.
G_BACKSIDE | Back box side.

enum Amanith::GCapStyle

Cap style.

Enumerator:
G_BUTT_CAP | Butt cap style.
G_ROUND_CAP | Round cap style.
G_SQUARE_CAP | Square cap style.

enum Amanith::GCharMapEncoding

Charsmap types.

Enumerator:
G_ENCODING_NONE | Reserved.
G_ENCODING_MS_SYMBOL | Corresponds to the Microsoft Symbol encoding, used to encode mathematical symbols in the 32..255 character code range.
G_ENCODING_UNICODE | Corresponds to the Unicode character set. This value covers all versions of the Unicode repertoire, including ASCII and Latin-1. Most fonts include a Unicode charsmap, but not all of them.
G_ENCODING_SJIS | Corresponds to Japanese SJIS encoding.
G_ENCODING_GB2312 | Corresponds to an encoding system for Simplified Chinese as used used in mainland China.
G_ENCODING_BIG5 | Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong.
G_ENCODING_WANSUNG | Corresponds to the Korean encoding system known as Wansung.
G_ENCODING_JOHAB | The Korean standard character set (KS C-5601-1992), which corresponds to MS Windows code page 1361. This character set includes all possible Hangeul character combinations.
G_ENCODING_ADOBE_STANDARD | Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.
G_ENCODING_ADOBE_EXPERT | Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.
G_ENCODING_ADOBE_CUSTOM | Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.
G_ENCODING_OLD_LATIN_2 | This value is deprecated and was never used nor reported by FreeType. Don't use or test for it.
G_ENCODING_APPLE_ROMAN | Corresponds to the 8-bit Apple roman encoding. Many TrueType and OpenType fonts contain a charsmap for this encoding, since older versions of Mac OS are able to use it.

enum Amanith::GClipOperation

Clipping operation (when target mode is clip).

Enumerator:
G_REPLACE_CLIP | Replace operation.
G_INTERSECTION_CLIP | Intersection operation.

enum Amanith::GColorRampInterpolation

Color interpolation.

Enumerator:
G_CONSTANT_COLOR_INTERPOLATION | Constant color interpolation.
G_LINEAR_COLOR_INTERPOLATION | Linear color interpolation.
G_HERMITE_COLOR_INTERPOLATION | Hermite color interpolation.

enum Amanith::GColorRampSpreadMode

Color ramp spread mode.

Enumerator:
G_PAD_COLOR_RAMP_SPREAD | Pad spread mode.
G_REPEAT_COLOR_RAMP_SPREAD | Repeat spread mode.
G_REFLECT_COLOR_RAMP_SPREAD | Reflect (known also as ping-pong) spread mode.

enum Amanith::GCompositingOperation

Compositing operations, for mathematical details, please refer to http://www.w3.org/TR/2004/WD-SVG12-20041027/rendering.html.

Enumerator:
G_CLEAR_OP | Clear Porter-Duff operation.
G_SRC_OP | Src Porter-Duff operation.
G_DST_OP | Dst Porter-Duff operation.
G_SRC_OVER_OP | Src over Porter-Duff operation.
G_DST_OVER_OP | Dst over Porter-Duff operation.
G_SRC_IN_OP | Src in Porter-Duff operation.
G_DST_IN_OP | Dst in Porter-Duff operation.
G_SRC_OUT_OP | Src out Porter-Duff operation.
G_DST_OUT_OP | Dst out Porter-Duff operation.
G_SRC_ATOP_OP | Src atop Porter-Duff operation.
G_DST_ATOP_OP | Dst atop Porter-Duff operation.
G_XOR_OP | Xor Porter-Duff operation.
G_PLUS_OP | Plus extended Porter-Duff operation.
G_MULTIPLY_OP | Multiply extended Porter-Duff operation.
G_SCREEN_OP | Screen extended Porter-Duff operation.
G_OVERLAY_OP | Overlay extended Porter-Duff operation.
G_DARKEN_OP | Darken extended Porter-Duff operation.
G_LIGHTEN_OP | Lighten extended Porter-Duff operation.
G_COLOR_DODGE_OP | Color dodge extended Porter-Duff operation.
G_COLOR_BURN_OP | Color burn extended Porter-Duff operation.
G_HARD_LIGHT_OP | Hard light extended Porter-Duff operation.
G_SOFT_LIGHT_OP | Soft light extended Porter-Duff operation.
G_DIFFERENCE_OP | Difference extended Porter-Duff operation.
G_EXCLUSION_OP | Exclusion extended Porter-Duff operation.

enum Amanith::GDerivativeOrder

Order of derivative.

Enumerator:
G_FIRST_ORDER_DERIVATIVE | First order derivative.
G_SECOND_ORDER_DERIVATIVE | Second order derivative.

enum Amanith::GEndianType

Endian types.

Enumerator:
G_BIG_ENDIAN | Big endian order (Motorola, PowerPC).
G_LITTLE_ENDIAN | Little endian order (Intel).

enum Amanith::GEulerOrder

Type used to specify in which order Euler transforms will be applied (ex: rotations).

enum Amanith::GFillBehavior

Fill rules for tessellation.

Enumerator:
G_ODD_EVEN_RULE | Odd-even rule.
G_EVEN_ODD_RULE | Even-odd rule.
G_NON_ZERO_RULE | Non-zero rule (not yet supported).
G_ANY_RULE | Any rule.

enum Amanith::GFillRule

Fill rule.

Enumerator:
G_ODD_EVEN_FILLRULE | Odd-even fill rule.
G_EVEN_ODD_FILLRULE | Even-odd fill rule.
G_NON_ZERO_FILLRULE | Non-zero fill rule.
G_ANY_FILLRULE | Any fill rule.

enum Amanith::GGradientType

Gradient type.

Enumerator:
G_LINEAR_GRADIENT | Linear gradient.
G_RADIAL_GRADIENT | Radial gradient.
G_CONICAL_GRADIENT | Conical gradient.

enum Amanith::GImageQuality

Image/pattern quality level.

Enumerator:
G_LOW_IMAGE_QUALITY | Low image/pattern quality.
G_NORMAL_IMAGE_QUALITY | Normal image/pattern quality.
G_HIGH_IMAGE_QUALITY | High image/pattern quality.

enum Amanith::GJoinStyle

Join style.

Enumerator:
G_MITER_JOIN | Miter join style.
G_ROUND_JOIN | Round join style.
G_BEVEL_JOIN | Bevel join style.

enum Amanith::GKeyType

Key value types.

Enumerator:
G_UNDEFINED_KEY | Undefined value.
G_BOOL_KEY | Boolean value.
G_INT_KEY | Integer value.
G_REAL_KEY | Real value.
G_VECTOR2_KEY | 2D vector/point value.
G_VECTOR3_KEY | 3D vector/point value.
G_VECTOR4_KEY | 4D vector/point value.

enum Amanith::GOORType

Available OOR (Out Of Range) type definition.

Enumerator:
G_CONSTANT_OOR | Constant.
G_LOOP_OOR | Loop (also known as 'wrap').
G_PINGPONG_OOR | Ping-pong.

enum Amanith::GPaintType

Paint type.

Enumerator:
G_COLOR_PAINT_TYPE | Color paint type.
G_GRADIENT_PAINT_TYPE | Gradient paint type.
G_PATTERN_PAINT_TYPE | Pattern paint type.

enum Amanith::GPixelFormat

Supported pixel formats.

Enumerator:
G_GRAYSCALE | 8 bits grayscale pixel format
G_RGB_PALETTE | 8 bits RGB paltetted pixel format
G_R8G8B8 | 24 bits RGB pixel format (8 bits per channel)
G_A8R8G8B8 | 32 bits ARGB pixel format (8 bits per channel)
G_A1R5G5B5 | 16 bits ARGB pixel format (1 bit for alpha, 5 bits for R, G and B channels)
G_R5G6B5 | 16 bits RGB pixel format (5 bits for red, 6 bits for green, and 5 bits for blue)

enum Amanith::GReadWriteOp

Read/Write ability.

Enumerator:
G_IMPEXP_READ | Feature provides only read operations.
G_IMPEXP_WRITE | Feature provides only write operations.
G_IMPEXP_READWRITE | Feature provides read and write operations.

enum Amanith::GRenderingQuality

Rendering quality.

Enumerator:
G_LOW_RENDERING_QUALITY | Low rendering quality.
G_NORMAL_RENDERING_QUALITY | Normal rendering quality.
G_HIGH_RENDERING_QUALITY | High rendering quality.

enum Amanith::GResizeOp

Available filters for bitmap resize operation.

Enumerator:
G_RESIZE_BOX | Box filter.
G_RESIZE_TRIANGLE | Triangle filter.
G_RESIZE_QUADRATIC | 3rd order (quadratic) b-spline filter
G_RESIZE_CUBIC | 4th order (cubic) b-spline filter
G_RESIZE_CATMULLROM | Catmull-Rom spline, Overhauser spline filter.
G_RESIZE_GAUSSIAN | Gaussian filter.
G_RESIZE_SINC | Sinc, perfect low-pass filter.
G_RESIZE_BESSEL | Bessel filter.
G_RESIZE_BELL | Bell filter.
G_RESIZE_HANNING | Hanning filter.
G_RESIZE_HAMMING | Hamming filter.
G_RESIZE_BLACKMAN | Black-man filter.
G_RESIZE_NORMAL | Normal distribution filter (Normal(x) = Gaussian(x/2) / 2).

enum Amanith::GSortType

Sort options.

Enumerator:
G_NO_SORT | No sort.
G_ASCENDING_SORT | Ascending sort.
G_DESCENDING_SORT | Descending sort.

enum Amanith::GSpaceSystem

Available coordinates space systems.

Enumerator:
G_LOCAL_SPACE | Local space.
G_WORLD_SPACE | World space.

enum Amanith::GStrokeStyle

Stroke style.

Enumerator:
G_SOLID_STROKE | Solid stroke style.
G_DASHED_STROKE | Dashed stroke style.

enum Amanith::GSurfaceSide

Relative position of an entity respect to a surface.

Enumerator:
G_ONSURFACE | On surface.
G_INSIDE | Inside surface.
G_OUTSIDE | Outside surface.

enum Amanith::GTargetMode

Target mode.

Enumerator:
G_COLOR_MODE | Color mode.
G_CLIP_MODE | Clip mode.
G_COLOR_AND_CACHE_MODE | Color and cache mode.
G_CLIP_AND_CACHE_MODE | Clip and cache mode.
G_CACHE_MODE | Cache mode.

enum Amanith::GTilingMode

Tiling mode.

Enumerator:
G_PAD_TILE | Pad tiling mode.
G_REPEAT_TILE | Repeat tiling mode.
G_REFLECT_TILE | Reflect (known also as ping-pong) tiling mode.

enum Amanith::GTurnPolicy

Turn policy used during contours extraction.

Enumerator:
G_CONNECT_BLACK | Prefers to connect black components.
G_CONNECT_WHITE | Prefers to connect white components.
G_CONNECT_DOMINANT | Prefers to connect the color which occurs most frequently.
G_CONNECT_NOT_DOMINANT | Prefers to connect the color (black or white) which occurs least frequently within a given neighborhood of the current position.

enum Amanith::GValueMethod

Gettin/Setting value behaviors.

Enumerator:
G_ABSOLUTE_VALUE | Specified get/set value is absolute.
G_RELATIVE_VALUE | Specified get/set value is relative (not yet well supported).

enum Amanith::GVectorIndex

Indexes enumeration for single component access.

Enumerator:
G_X | X component.
G_Y | Y component.
G_Z | Z component.
G_W | W component.

Function Documentation

template<typename DATA_TYPE>
GBool Amanith::Aligned | ( | const GVectBase< DATA_TYPE, 2 > & | P1,
 |  | const GVectBase< DATA_TYPE, 2 > & | P2,
 |  | const GVectBase< DATA_TYPE, 2 > & | P3,
 |  | const DATA_TYPE | Precision = (DATA_TYPE)G_EPSILON
 | ) |

Returns G_TRUE if the points P1, P2, P3 are aligned (under an epsilon precision).

Parameters:
P1 | first point of test sequence.
P2 | second point of test sequence.
P3 | third point of test sequence.
Precision | a tolerance value used in the test.
Note:
Result is in accord with Amanith coordinate system (x going left to right, and y upward).

GFloat Amanith::BellFilter ( const GFloat x )

Bell filter (3 box convolutions). Float version.

GDouble Amanith::BellFilter ( const GDouble x )

Bell filter (3 box convolutions). Double version.

GFloat Amanith::BesselFilter ( const GFloat x )

Bessel (for circularly symmetric 2D filter, infinite). Float version.

GDouble Amanith::BesselFilter ( const GDouble x )

Bessel (for circularly symmetric 2D filter, infinite). Double version.

GFloat Amanith::BlackmanFilter ( const GFloat x )

Blackman window. Float version.

GDouble Amanith::BlackmanFilter ( const GDouble x )

Blackman window. Double version.

GFloat Amanith::BoxFilter ( const GFloat x )

Box, pulse, Fourier window (1st order (constant) b-spline). Float version.

GDouble Amanith::BoxFilter ( const GDouble x )

Box, pulse, Fourier window (1st order (constant) b-spline). Double version.

GFloat Amanith::CatmullRomFilter ( const GFloat x )

Catmull-Rom spline, Overhauser spline. Float version.

GDouble Amanith::CatmullRomFilter ( const GDouble x )

Catmull-Rom spline, Overhauser spline. Double version.

template<typename DATA_TYPE>
GUInt32 Amanith::CCWSmallerAngleSpan | ( | const GPoint< DATA_TYPE, 2 > & | Origin,
 |  | const GPoint< DATA_TYPE, 2 > & | Dest1,
 |  | const GPoint< DATA_TYPE, 2 > & | Dest2,
 |  | const GPoint< DATA_TYPE, 2 > & | Destination,
 |  | const DATA_TYPE | Precision = (DATA_TYPE)G_EPSILON
 | ) |

Given 3 vectors with the same origin:

  1. target: Origin-->Destination
  2. v1: Origin-->Dest1
  3. v2: Origin-->Dest2

it finds witch vector (v1 or v2) span the smallest angle in counter clock wise order to overlap target vector.

Returns:
1 if v1 spans the smallest angle in counter clock wise order to overlap target vector, else 2.

template<typename DATA_TYPE>
GBool Amanith::ClockWise | ( | const GVectBase< DATA_TYPE, 2 > & | P1,
 |  | const GVectBase< DATA_TYPE, 2 > & | P2,
 |  | const GVectBase< DATA_TYPE, 2 > & | P3,
 |  | const DATA_TYPE | Precision = (DATA_TYPE)G_EPSILON
 | ) |

Returns G_TRUE if the points P1, P2, P3 are in a clockwise order.

Parameters:
P1 | first point of test sequence
P2 | second point of test sequence
P3 | third point of test sequence
Precision | a tolerance value used in the test.
Note:
Result is in accord with Amanith coordinate system (x going left to right, and y upward)

template<typename DATA_TYPE>
GBool Amanith::ClockWiseOrAligned | ( | const GVectBase< DATA_TYPE, 2 > & | P1,
 |  | const GVectBase< DATA_TYPE, 2 > & | P2,
 |  | const GVectBase< DATA_TYPE, 2 > & | P3,
 |  | const DATA_TYPE | Precision = (DATA_TYPE)G_EPSILON
 | ) |

Returns G_TRUE if the points P1, P2, P3 are in a clockwise order or they are aligned (under an epsilon precision).

Parameters:
P1 | first point of test sequence
P2 | second point of test sequence
P3 | third point of test sequence
Precision | a tolerance value used in the test.
Note:
Result is in accord with Amanith coordinate system (x going left to right, and y upward)

template<typename DATA_TYPE>
GBool Amanith::CounterClockWise | ( | const GVectBase< DATA_TYPE, 2 > & | P1,
 |  | const GVectBase< DATA_TYPE, 2 > & | P2,
 |  | const GVectBase< DATA_TYPE, 2 > & | P3,
 |  | const DATA_TYPE | Precision = (DATA_TYPE)G_EPSILON
 | ) |

Returns G_TRUE if the points P1, P2, P3 are in a counterclockwise order.

Parameters:
P1 | first point of test sequence
P2 | second point of test sequence
P3 | third point of test sequence
Precision | a tolerance value used in the test.
Note:
Result is in accord with Amanith coordinate system (x going left to right, and y upward)

template<typename DATA_TYPE>
GBool Amanith::CounterClockWiseOrAligned | ( | const GVectBase< DATA_TYPE, 2 > & | P1,
 |  | const GVectBase< DATA_TYPE, 2 > & | P2,
 |  | const GVectBase< DATA_TYPE, 2 > & | P3,
 |  | const DATA_TYPE | Precision = (DATA_TYPE)G_EPSILON
 | ) |

Returns G_TRUE if the points P1, P2, P3 are in a counterclockwise order or they are aligned (under an epsilon precision).

Parameters:
P1 | first point of test sequence
P2 | second point of test sequence
P3 | third point of test sequence
Precision | a tolerance value used in the test.
Note:
Result is in accord with Amanith coordinate system (x going left to right, and y upward)

template<typename DATA_TYPE>
DATA_TYPE Amanith::Cross | ( | const GVectBase< DATA_TYPE, 2 > & | v1,
 |  | const GVectBase< DATA_TYPE, 2 > & | v2
 | ) |

Computes the third (Z) coordinate of the 3D vector obtained with a cross product of two 2D vectors (they are considered 3D vectors with a Z = 0)

Parameters:
v1 | the first vector.
v2 | the second vector.

template<typename DATA_TYPE>
GVect<DATA_TYPE, 3> Amanith::Cross | ( | const GVect< DATA_TYPE, 3 > & | v1,
 |  | const GVect< DATA_TYPE, 3 > & | v2
 | ) |

Computes the cross product between v1 and v2 and returns the result. Note that this only applies to 3D vectors.

Parameters:
v1 | the first vector
v2 | the second vector
Returns:
the cross product of v1 x v2
Note:
Cross product is not commutative

GFloat Amanith::CubicFilter ( const GFloat x )

4th order (cubic) b-spline. Float version.

GDouble Amanith::CubicFilter ( const GDouble x )

4th order (cubic) b-spline. Double version.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::DecompCholesky | ( | const GMatrix< DATA_TYPE, SIZE, SIZE > & | Src,
 |  | GMatrix< DATA_TYPE, SIZE, SIZE > & | L
 | ) |

For a symmetric, positive definite matrix A, this function computes the Cholesky factorization. It computes a lower triangular matrix L such that A = L*L'. If the matrix is not symmetric or positive definite, the function computes only a partial decomposition.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GBool Amanith::DecompLU | ( | const GMatrix< DATA_TYPE, ROWS, COLS > & | Src,
 |  | GMatrix< DATA_TYPE, ROWS, COLS > & | L,
 |  | GMatrix< DATA_TYPE, COLS, COLS > & | U,
 |  | GVect< GInt32, ROWS > & | Permutation,
 |  | DATA_TYPE & | Determinant
 | ) |

For an m-by-n matrix A with m >= n, the LU decomposition is an m-by-n unit lower triangular matrix L, an n-by-n upper triangular matrix U, and a permutation vector piv of length m so that A(piv,:) = L*U. If m < n, then L is m-by-m and U is m-by-n. The LU decomposition with pivoting always exists, even if the matrix is singular.

Returns:
G_TRUE if matrix is full rank (not singular), G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::DecompPolar | ( | const GMatrix< DATA_TYPE, SIZE, SIZE > & | Src,
 |  | GMatrix< DATA_TYPE, SIZE, SIZE > & | Q,
 |  | DATA_TYPE & | QDeterminant,
 |  | GMatrix< DATA_TYPE, SIZE, SIZE > & | S,
 |  | const DATA_TYPE | Epsilon = G_EPSILON
 | ) |

Polar decomposition.

Polar Decomposition produces factors QS which are unique, coordinate independent. The factors have a physical, visual interpretation not found with other decomposition methods. The decomposition is useful for a variety of purposes, including matrix animation and interactive interfaces. It has the minor disadvantage that it does not directly represent shear.

template<typename DATA_TYPE>
void Amanith::DecompPolar_Rank1 | ( | GMatrix< DATA_TYPE, 3, 3 > & | M,
 |  | GMatrix< DATA_TYPE, 3, 3 > & | Q
 | ) |

Find orthogonal factor Q of rank 1 (or less) M.

template<typename DATA_TYPE>
void Amanith::DecompPolar_Rank2 | ( | GMatrix< DATA_TYPE, 3, 3 > & | M,
 |  | const GMatrix< DATA_TYPE, 3, 3 > & | MadjT,
 |  | GMatrix< DATA_TYPE, 3, 3 > & | Q
 | ) |

Find orthogonal factor Q of rank 2 (or less) M using partial inverse matrix.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GBool Amanith::DecompQR | ( | const GMatrix< DATA_TYPE, ROWS, COLS > & | Src,
 |  | GMatrix< DATA_TYPE, ROWS, COLS > & | Q,
 |  | GMatrix< DATA_TYPE, COLS, COLS > & | R
 | ) |

Classical QR Decomposition: for an m-by-n matrix A with m >= n, the QR decomposition is an m-by-n orthogonal matrix Q and an n-by-n upper triangular matrix R so that A = Q*R.

The QR decomposition always exists, even if the matrix does not have full rank, so the constructor will never fail. The primary use of the QR decomposition is in the least squares solution of non-square systems of simultaneous linear equations.

Returns:
G_TRUE if matrix is full rank (not singular), G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::DecompSVD | ( | const GMatrix< DATA_TYPE, ROWS, COLS > & | Src,
 |  | GMatrix< DATA_TYPE, ROWS, COLS > & | U,
 |  | GMatrix< DATA_TYPE, COLS, COLS > & | S,
 |  | GMatrix< DATA_TYPE, COLS, COLS > & | V,
 |  | DATA_TYPE & | Norm2,
 |  | DATA_TYPE & | ConditionNumber,
 |  | GInt32 & | Rank
 | ) |

Singular Value Decomposition. For an m-by-n matrix A with m >= n, the singular value decomposition is an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and an n-by-n orthogonal matrix V so that A = U*S*V'. The singular values, sigma[k] = S[k][k], are ordered so that sigma[0] >= sigma[1] >= ... >= sigma[n-1]. The singular value decomposition always exists. The matrix condition number and the effective numerical rank can be computed from this decomposition.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::Dot | ( | const GVect< DATA_TYPE, SIZE > & | v1,
 |  | const GVect< DATA_TYPE, SIZE > & | v2
 | ) |

Computes dot product of v1 and v2 and returns the result.

Parameters:
v1 | the first vector
v2 | the second vector
Returns:
the dot product of v1 and v2
Note:
Dot product is commutative

template<typename DATA_TYPE>
DATA_TYPE Amanith::Dot | ( | const GQuat< DATA_TYPE > & | Quat1,
 |  | const GQuat< DATA_TYPE > & | Quat2
 | ) |

Quaternion dot product between two quaternions.

template<typename DATA_TYPE, GUInt32 SIZE>
GPoint<DATA_TYPE, SIZE> Amanith::FindNearestPoint | ( | const GGenericRay< DATA_TYPE, SIZE > & | Ray,
 |  | const GPoint< DATA_TYPE, SIZE > & | TestPoint
 | ) |

Finds the closest point along the infinitive line spanned by ray direction, to a given point.

Parameters:
Ray | the ray whose direction describes the infinitive line
TestPoint | the point which to test against ray
Returns:
the point along the ray direction closest to TestPoint

template<typename DATA_TYPE>
GPoint<DATA_TYPE, 3> Amanith::FindNearestPoint | ( | const GGenericPlane< DATA_TYPE > & | Plane,
 |  | const GPoint< DATA_TYPE, 3 > & | TestPoint
 | ) |

Finds the point on the plane that is nearest to the given point.

Parameters:
Plane | the plane to compare the point to.
TestPoint | the point to test.
Returns:
the point on Plane closest to TestPoint.

GFloat Amanith::GaussianFilter ( const GFloat x )

Gaussian (infinite) filter. Float version.

GDouble Amanith::GaussianFilter ( const GDouble x )

Gaussian (infinite) filter. Double version.

GFloat Amanith::HammingFilter ( const GFloat x )

Hamming window. Float version.

GDouble Amanith::HammingFilter ( const GDouble x )

Hamming window. Double version.

GFloat Amanith::HanningFilter ( const GFloat x )

Hanning window. Float version.

GDouble Amanith::HanningFilter ( const GDouble x )

Hanning window. Double version.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::HouseholderColumnsReflect | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | M,
 |  | const GVect< DATA_TYPE, COLS > & | u
 | ) |

Apply Householder reflection represented by u to column vectors of M.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::HouseholderRowsReflect | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | M,
 |  | const GVect< DATA_TYPE, COLS > & | u
 | ) |

Apply Householder reflection represented by u to row vectors of M.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GMatrix<DATA_TYPE, ROWS, COLS>& Amanith::Identity ( GMatrix< DATA_TYPE, ROWS, COLS > & Result )

Make identity matrix out the matrix.

Postcondition:
Every element is 0 except the matrix's diagonal, whose elements are 1.
Todo:
meta programming
Todo:
meta programming

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::InvertFull_GJ | ( | GMatrix< DATA_TYPE, SIZE, SIZE > & | result,
 |  | const GMatrix< DATA_TYPE, SIZE, SIZE > & | src,
 |  | DATA_TYPE & | Determinant,
 |  | const DATA_TYPE | Epsilon = 1e-20
 | ) |

Full matrix inversion using Gauss-Jordan elimination using maximum pivot strategy. Check for error with Matrix::isError().

Postcondition:
: result' = inverse(result)

: if inversion failed, then error bit is set within the Matrix.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GMatrix<DATA_TYPE, ROWS, COLS>& Amanith::InvertOrthogonal | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | result,
 |  | const GMatrix< DATA_TYPE, ROWS, COLS > & | src
 | ) |

Orthogonal matrix inversion. Matrix inversion that acts on a affine matrix (matrix with only trans, rot, uniform scale).

Precondition:
any size matrix
Postcondition:
result' = inverse(result)

If inversion failed, then error bit is set within the Matrix.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GBool Amanith::InvertTrans | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | result,
 |  | const GMatrix< DATA_TYPE, ROWS, COLS > & | src
 | ) |

Translational matrix inversion. Matrix inversion that acts on a translational matrix (matrix with only translation)

Precondition:
number of rows >= number of columns
Postcondition:
result' = inverse(result)

If inversion failed, then error bit is set within the Matrix.

template<typename DATA_TYPE>
GBool Amanith::IsClockWise ( const GDynArray< GPoint< DATA_TYPE, 2 > > & Contour )

Finds if a contour specified by a sequence of points has been given in a clockwise order.

Algorithm: find the lowest, rightmost point of the polygon, and then take the cross product of the edges before and after of it. The reason that the lowest, rightmost point works is that the internal angle at this vertex is necessarily convex, strictly less than pi (even if there are several equally-lowest points)

Parameters:
Contour the sequence of points defining the contour.
Returns:
G_TRUE if points have been given in a clockwise order, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::IsEqual | ( | const GVectBase< DATA_TYPE, SIZE > & | Vect1,
 |  | const GVectBase< DATA_TYPE, SIZE > & | Vect2,
 |  | const DATA_TYPE & | Epsilon = G_EPSILON
 | ) |

Compares Vect1 and Vect1 to see if they are the same within the given epsilon tolerance.

Parameters:
Vect1 | the first vector
Vect2 | the second vector
Epsilon | the epsilon tolerance value, it must be >= 0
Returns:
G_TRUE if v1 equals v2 within the tolerance; G_FALSE if they differ

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::IsEqual | ( | const GGenericSphere< DATA_TYPE, SIZE > & | Sph1,
 |  | const GGenericSphere< DATA_TYPE, SIZE > & | Sph2,
 |  | const DATA_TYPE & | Epsilon
 | ) |

Compare two spheres to see if they are the same within the given tolerance.

Parameters:
Sph1 | the first sphere to compare
Sph2 | the second sphere to compare
Epsilon | the tolerance value to use
Precondition:
Epsilon must be >= 0
Returns:
G_TRUE if they are equal within a tolerance, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::IsEqual | ( | const GGenericRay< DATA_TYPE, SIZE > & | Ray1,
 |  | const GGenericRay< DATA_TYPE, SIZE > & | Ray2,
 |  | const DATA_TYPE & | Epsilon
 | ) |

Compare two rays to see if the are the same within the given tolerance.

Parameters:
Ray1 | the first Ray to compare
Ray2 | the second Ray to compare
Epsilon | the tolerance value to use
Precondition:
Epsilon must be >= 0
Returns:
G_TRUE if they are equal within the tolerance, G_FALSE otherwise.

template<typename DATA_TYPE>
GBool Amanith::IsEqual | ( | const GQuat< DATA_TYPE > & | Quat1,
 |  | const GQuat< DATA_TYPE > & | Quat2,
 |  | const DATA_TYPE | Epsilon = 0
 | ) |

Compare two quaternions for equality with tolerance.

template<typename DATA_TYPE>
GBool Amanith::IsEqual | ( | const GGenericPlane< DATA_TYPE > & | Plane1,
 |  | const GGenericPlane< DATA_TYPE > & | Plane2,
 |  | const DATA_TYPE & | Epsilon
 | ) |

Compare two planes to see if they are the same within the given tolerance.

Parameters:
Plane1 | the first plane to compare
Plane2 | the second plane to compare
Epsilon | the tolerance value to use
Precondition:
Epsilon must be>= 0
Returns:
G_TRUE if they are equal within a tolerance, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::IsEqual | ( | const GGenericOOBox< DATA_TYPE, SIZE > & | Box1,
 |  | const GGenericOOBox< DATA_TYPE, SIZE > & | Box2,
 |  | const DATA_TYPE & | Epsilon
 | ) |

Compare two boxes to see if they are the same within the given tolerance.

Parameters:
Box1 | the first box to compare
Box2 | the second box to compare
Epsilon | the tolerance value to use
Precondition:
Epsilon must be >= 0
Returns:
G_TRUE if their points are within the given tolerance of each other, G_FALSE otherwise.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GBool Amanith::IsEqual | ( | const GMatrix< DATA_TYPE, ROWS, COLS > & | lhs,
 |  | const GMatrix< DATA_TYPE, ROWS, COLS > & | rhs,
 |  | const DATA_TYPE & | eps = (DATA_TYPE)0
 | ) |

Tests 2 matrices for equality within a tolerance

Parameters:
lhs | The first matrix
rhs | The second matrix
eps | The tolerance value
Precondition:
Both matrices must be of the same size.
Returns:
true if the matrices' elements are within the tolerance value of each other; false otherwise

template<typename DATA_TYPE, GUInt32 SIZE>
GBool Amanith::IsEqual | ( | const GGenericAABox< DATA_TYPE, SIZE > & | Box1,
 |  | const GGenericAABox< DATA_TYPE, SIZE > & | Box2,
 |  | const DATA_TYPE & | Epsilon
 | ) |

Compare two boxes to see if they are the same within the given tolerance.

Parameters:
Box1 | the first box to compare
Box2 | the second box to compare
Epsilon | the tolerance value to use
Precondition:
Epsilon must be >= 0
Returns:
G_TRUE if their points are within the given tolerance of each other, G_FALSE otherwise.

template<typename DATA_TYPE>
GBool Amanith::IsEquivalent | ( | const GQuat< DATA_TYPE > & | Quat1,
 |  | const GQuat< DATA_TYPE > & | Quat2,
 |  | const DATA_TYPE | Epsilon = 0
 | ) |

Compare two quaternions for geometric equivalence (with tolerance). There exist 2 quaternions for every possible rotation: the original, and its negative. The negative of a rotation quaternion is geometrically equivalent to the original.

template<typename DATA_TYPE>
GBool Amanith::IsInCircle | ( | const GVectBase< DATA_TYPE, 2 > & | P1,
 |  | const GVectBase< DATA_TYPE, 2 > & | P2,
 |  | const GVectBase< DATA_TYPE, 2 > & | P3,
 |  | const GVectBase< DATA_TYPE, 2 > & | TestPoint
 | ) |

Returns G_TRUE if the point TestPoint is inside the circle defined by the points P1, P2, P3.

GFloat Amanith::KaiserFilter | ( | const GFloat | x,
 |  | const GKaiserDataFloat * | d
 | ) |

Parameterized Kaiser window. Float version.

GDouble Amanith::KaiserFilter | ( | const GDouble | x,
 |  | const GKaiserDataDouble * | d
 | ) |

Parameterized Kaiser window. Double version.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::Length ( const GVect< DATA_TYPE, SIZE > & Vect )

Computes the length of the vector.

template<typename DATA_TYPE, GUInt32 SIZE>
DATA_TYPE Amanith::LengthSquared ( const GVect< DATA_TYPE, SIZE > & Vect )

Computes the squared length of the vector.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GError Amanith::MatrixToRotation | ( | DATA_TYPE & | RadAngle1,
 |  | DATA_TYPE & | RadAngle2,
 |  | DATA_TYPE & | RadAngle3,
 |  | const GMatrix< DATA_TYPE, ROWS, COLS > & | M,
 |  | const GEulerOrder | ApplicationOrder = G_ZYX,
 |  | const GBool | RightOrder = G_TRUE,
 |  | const GBool | DoConsistenceCheck = G_TRUE
 | ) |

Convert matrix to Euler angles (in radians).

Note:
Adapted from Graphics Gems IV "Euler Angle Conversion".

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GError Amanith::MatrixToRotation | ( | DATA_TYPE & | RadAngle,
 |  | const GMatrix< DATA_TYPE, ROWS, COLS > & | M
 | ) |

Given a matrix extract the 2D rotation amount corresponding to the upper-leftmost 2x2 submatrix.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::MatrixToRotation | ( | GQuat< DATA_TYPE > & | Result,
 |  | const GMatrix< DATA_TYPE, ROWS, COLS > & | M
 | ) |

Convert a matrix to a quaternion representation. Sets the rotation quaternion using the given matrix; this algorithm avoids near-zero divides by looking for a large component (3x3, 3x4, 4x3, or 4x4 are all valid sizes. In general n x m are valid if n and m are >= 3).

GFloat Amanith::MitchellFilter | ( | const GFloat | x,
 |  | const GMitchellDataFloat * | d
 | ) |

Mitchell & Netravali's two-param cubic. Float version.

GDouble Amanith::MitchellFilter | ( | const GDouble | x,
 |  | const GMitchellDataDouble * | d
 | ) |

Mitchell & Netravali's two-param cubic. Double version.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 INTERNAL, GUInt32 COLS>
GMatrix<DATA_TYPE, ROWS, COLS>& Amanith::Mult | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const GMatrix< DATA_TYPE, ROWS, INTERNAL > & | lhs,
 |  | const GMatrix< DATA_TYPE, INTERNAL, COLS > & | rhs
 | ) |

Matrix multiply.

Precondition:
With regard to size (ROWS/COLS): if lhs is m x p, and rhs is p x n, then result is m x n (undefined otherwise)
Postcondition:
returns a m x n sized matrix

Result = lhs * rhs (where rhs is applied first)

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::NonSymHessenbergReduction | ( | GMatrix< DATA_TYPE, SIZE, SIZE > & | V,
 |  | GMatrix< DATA_TYPE, SIZE, SIZE > & | H
 | ) |

Non-symmetric reduction to Hessenberg form.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::NonSymSchurReduction | ( | GMatrix< DATA_TYPE, SIZE, SIZE > & | V,
 |  | GMatrix< DATA_TYPE, SIZE, SIZE > & | H,
 |  | GVect< DATA_TYPE, SIZE > & | d,
 |  | GVect< DATA_TYPE, SIZE > & | e
 | ) |

Non-symmetric reduction from Hessenberg to real Schur form.

GFloat Amanith::NormalFilter ( const GFloat x )

Normal distribution (infinite). Float version.

GDouble Amanith::NormalFilter ( const GDouble x )

Normal distribution (infinite). Double version.

template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE>
GVectBase<DATA_TYPE, SIZE> Amanith::operator * | ( | const SCALAR_TYPE & | scalar,
 |  | const GVectBase< DATA_TYPE, SIZE > & | v1
 | ) |

Multiplies v1 by a scalar value and returns the result. Thus result = scalar * v1. This is equivalent to result = v1 * scalar.

Parameters:
scalar | the amount by which to scale v1
v1 | the vector to scale
Returns:
the result of multiplying v1 by scalar

template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE>
GVectBase<DATA_TYPE, SIZE> Amanith::operator * | ( | const GVectBase< DATA_TYPE, SIZE > & | v1,
 |  | const SCALAR_TYPE & | scalar
 | ) |

Multiplies v1 by a scalar value and returns the result. Thus result = v1 * scalar.

Parameters:
v1 | the vector to scale
scalar | the amount by which to scale v1
Returns:
the result of multiplying v1 by scalar

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, class SCALAR_TYPE>
GMatrix<DATA_TYPE, ROWS, COLS> Amanith::operator * | ( | const GMatrix< DATA_TYPE, ROWS, COLS > & | mat,
 |  | const SCALAR_TYPE & | scalar
 | ) |

Matrix scalar multiply. Multiplies each element in a matrix by a scalar value.

Postcondition:
result = mat * scalar

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 INTERNAL, GUInt32 COLS>
GMatrix<DATA_TYPE, ROWS, COLS> Amanith::operator * | ( | const GMatrix< DATA_TYPE, ROWS, INTERNAL > & | lhs,
 |  | const GMatrix< DATA_TYPE, INTERNAL, COLS > & | rhs
 | ) |

Matrix * Matrix.

Precondition:
With regard to size (ROWS/COLS): if lhs is m x p, and rhs is p x n, then result is m x n (undefined otherwise)
Postcondition:
returns a m x n sized matrix == lhs * rhs (where rhs is applied first) returns a temporary, is slower.

template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE>
GVectBase<DATA_TYPE, SIZE>& Amanith::operator *= | ( | GVectBase< DATA_TYPE, SIZE > & | v1,
 |  | const SCALAR_TYPE & | scalar
 | ) |

Multiplies v1 by a scalar value and stores the result in v1. This is equivalent to the expression v1 = v1 * scalar.

Parameters:
v1 | the vector to scale
scalar | the amount by which to scale v1

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, class SCALAR_TYPE>
GMatrix<DATA_TYPE, ROWS, COLS>& Amanith::operator *= | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | result,
 |  | const SCALAR_TYPE & | scalar
 | ) |

Matrix scalar multiply (operator*=). Multiply matrix elements by a scalar.

Postcondition:
result *= scalar

template<typename DATA_TYPE, GUInt32 SIZE>
GMatrix<DATA_TYPE, SIZE, SIZE>& Amanith::operator *= | ( | GMatrix< DATA_TYPE, SIZE, SIZE > & | result,
 |  | const GMatrix< DATA_TYPE, SIZE, SIZE > & | operand
 | ) |

Matrix post multiply (operator*=). Does a post multiply on the matrix.

Precondition:
args must both be n x n sized (this function is undefined otherwise)
Postcondition:
result' = result * operand (where operand is applied first)

template<typename DATA_TYPE, GUInt32 SIZE>
GVectBase<DATA_TYPE, SIZE> Amanith::operator+ | ( | const GVectBase< DATA_TYPE, SIZE > & | v1,
 |  | const GVectBase< DATA_TYPE, SIZE > & | v2
 | ) |

Adds v2 to v1 and returns the result. Thus result = v1 + v2.

Parameters:
v1 | the first vector
v2 | the second vector
Returns:
the result of adding v2 to v1

template<typename DATA_TYPE, GUInt32 SIZE>
GVectBase<DATA_TYPE, SIZE>& Amanith::operator+= | ( | GVectBase< DATA_TYPE, SIZE > & | v1,
 |  | const GVectBase< DATA_TYPE, SIZE > & | v2
 | ) |

Adds v2 to v1 and stores the result in V1. This is equivalent to the expression v1 = v1 + v2.

Parameters:
v1 | the first vector
v2 | the second vector

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GMatrix<DATA_TYPE, ROWS, COLS>& Amanith::operator+= | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | lhs,
 |  | const GMatrix< DATA_TYPE, ROWS, COLS > & | rhs
 | ) |

Matrix addition (algebraic operation for matrix).

Precondition:
lhs is m x n, and rhs is m x n, then result is m x n
Postcondition:
returns a m x n matrix

template<typename DATA_TYPE, GUInt32 SIZE>
GVect<DATA_TYPE, SIZE> Amanith::operator- | ( | const GVectBase< DATA_TYPE, SIZE > & | v1,
 |  | const GVectBase< DATA_TYPE, SIZE > & | v2
 | ) |

Subtracts v2 from v1 and returns the result. Thus result = v1 - v2.

Parameters:
v1 | the first vector
v2 | the second vector
Returns:
the result of subtracting v2 from v1

template<typename DATA_TYPE, GUInt32 SIZE>
GVect<DATA_TYPE, SIZE> Amanith::operator- ( const GVectBase< DATA_TYPE, SIZE > & v1 )

Unary - operator.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GMatrix<DATA_TYPE, ROWS, COLS> Amanith::operator- ( GMatrix< DATA_TYPE, ROWS, COLS > & lhs )

Unary - operator.

template<typename DATA_TYPE, GUInt32 SIZE>
GVectBase<DATA_TYPE, SIZE>& Amanith::operator-= | ( | GVectBase< DATA_TYPE, SIZE > & | v1,
 |  | const GVectBase< DATA_TYPE, SIZE > & | v2
 | ) |

Subtracts v2 from v1 and stores the result in v1. This is equivalent to the expression v1 = v1 - v2.

Parameters:
v1 | the first vector
v2 | the second vector

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GMatrix<DATA_TYPE, ROWS, COLS>& Amanith::operator-= | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | lhs,
 |  | const GMatrix< DATA_TYPE, ROWS, COLS > & | rhs
 | ) |

Matrix subtraction (algebraic operation for matrix).

Precondition:
lhs is m x n, and rhs is m x n, then result is m x n
Postcondition:
returns a m x n matrix

enforce the sizes with templates...

template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE>
GVectBase<DATA_TYPE, SIZE> Amanith::operator/ | ( | const GVectBase< DATA_TYPE, SIZE > & | v1,
 |  | const SCALAR_TYPE & | scalar
 | ) |

Divides v1 by a scalar value and returns the result. Thus result = v1 / scalar.

Parameters:
v1 | the vector to scale
scalar | the amount by which to scale v1
Returns:
the result of dividing v1 by scalar

template<typename DATA_TYPE, GUInt32 SIZE, typename SCALAR_TYPE>
GVectBase<DATA_TYPE, SIZE>& Amanith::operator/= | ( | GVectBase< DATA_TYPE, SIZE > & | v1,
 |  | const SCALAR_TYPE & | scalar
 | ) |

Divides v1 by a scalar value and stores the result in v1. This is equivalent to the expression v1 = v1 / scalar.

Parameters:
v1 | the vector to scale
scalar | the amount by which to scale v1 1return v1 after it has been divided by scalar

template<typename DATA_TYPE, GUInt32 SIZE>
GMatrix<DATA_TYPE, SIZE, SIZE>& Amanith::PostMult | ( | GMatrix< DATA_TYPE, SIZE, SIZE > & | result,
 |  | const GMatrix< DATA_TYPE, SIZE, SIZE > & | operand
 | ) |

Matrix post multiply.

Precondition:
args must both be n x n (this function is undefined otherwise)
Postcondition:
result' = result * operand

template<typename DATA_TYPE, GUInt32 SIZE>
GMatrix<DATA_TYPE, SIZE, SIZE>& Amanith::PreMult | ( | GMatrix< DATA_TYPE, SIZE, SIZE > & | result,
 |  | const GMatrix< DATA_TYPE, SIZE, SIZE > & | operand
 | ) |

Matrix pre multiply.

Precondition:
args must both be n x n (this function is undefined otherwise)
Postcondition:
result' = operand * result

GFloat Amanith::QuadraticFilter ( const GFloat x )

3rd order (quadratic) b-spline. Float version.

GDouble Amanith::QuadraticFilter ( const GDouble x )

3rd order (quadratic) b-spline. Double version.

template<typename DATA_TYPE, GUInt32 SIZE, GUInt32 POINT_SIZE>
DATA_TYPE Amanith::QuadraticForm | ( | const GMatrix< DATA_TYPE, SIZE, SIZE > & | matrix,
 |  | const GPoint< DATA_TYPE, POINT_SIZE > & | p
 | ) |

Quadratic form.

Parameters:
matrix | the characteristic matrix that describes quadratic form.
p | the point used to evaluate quadratic form value.
Returns:
the quadratic form evaluated at specified point.

template<typename DATA_TYPE, GUInt32 SIZE>
GVectBase<DATA_TYPE, SIZE> Amanith::Reflect | ( | const GVectBase< DATA_TYPE, SIZE > & | Vect,
 |  | const GVect< DATA_TYPE, SIZE > & | Normal
 | ) |

Reflect a vector about a normal.

Parameters:
Vect | the original vector that we want to reflect.
Normal | the normal vector.
Returns:
the reflected vector.

template<typename DATA_TYPE>
void Amanith::ReverseArray | ( | GDynArray< DATA_TYPE > & | Array,
 |  | const GUInt32 | FromIndex,
 |  | const GUInt32 | ToIndex
 | ) |

Reverses the order of the elements within a range. Example:

        GDynArray<GInt32> a;

        a.push_back(0);
        a.push_back(1);
        a.push_back(2);
        a.push_back(3);
        a.push_back(4);

        ReverseArray(a, 2, 7);
        // now array has this sequence of elements
        //
        // a[0] == 0
        // a[1] == 1
        // a[2] == 4
        // a[3] == 3
        // a[4] == 2
Parameters:
Array | the elements's container.
FromIndex | the lower bound (index) of reverse range
ToIndex | the upper bound (index) of reverse range
Note:
If specified range is out of permitted range, just valid element positions will be reversed.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::RotationToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const DATA_TYPE | RadAngle,
 |  | const GVectBase< DATA_TYPE, 2 > & | Pivot
 | ) |

Build a 2D rotation matrix, specifying the ccw rotation amount (in radians) and a pivot point (the center of rotation).

Parameters:
Result | the output matrix.
RadAngle | the amount of ccw rotation, in radians.
Pivot | the center of rotation.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::RotationToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const DATA_TYPE | RadAngle
 | ) |

Build a 2D rotation matrix, specifying the ccw rotation amount (in radians).

Parameters:
Result | the output matrix.
RadAngle | the amount of ccw rotation, in radians.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::RotationToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const DATA_TYPE | RadAngle1,
 |  | const DATA_TYPE | RadAngle2,
 |  | const DATA_TYPE | RadAngle3,
 |  | const GEulerOrder | ApplicationOrder = G_ZYX,
 |  | const GBool | RightOrder = G_TRUE
 | ) |

Construct matrix from Euler angles. For examples:

    GMatrix33 m;

    // this rotation is a 0.5 radians around X axis, then 1.1 radians around Y axis and 0.2 radians around Z axis.
    RotationToMatrix(m, 0.5, 1.1, 0.2, G_ZYX, G_TRUE);

    // this rotation is a 0.5 radians around Z axis, then 1.1 radians around Y axis and 0.2 radians around X axis.
    RotationToMatrix(m, 0.5, 1, 0.2, G_ZYX, G_FALSE);

Parameters:
Result | the result matrix
RadAngle1 | first rotation angle
RadAngle2 | second rotation angle
RadAngle3 | third rotation angle
ApplicationOrder | rotations application order.
RightOrder | specify if specified ApplicationOrder must be "seen" from right to left (G_TRUE value) or from left to right (G_FALSE value).
Note:
Adapted from Graphics Gems IV "Euler Angle Conversion".

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 SIZE>
void Amanith::ScaleToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const DATA_TYPE | ScaleFactor,
 |  | const GVectBase< DATA_TYPE, SIZE > & | Pivot
 | ) |

Build a uniform scale matrix, specifying a pivot (the center of scaling).

Parameters:
Result | the output matrix.
ScaleFactor | the uniform scale factor.
Pivot | the center of scale.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::ScaleToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const DATA_TYPE | ScaleFactor
 | ) |

Build a uniform scale matrix.

Parameters:
Result | the output matrix.
ScaleFactor | the uniform scale factor.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 SIZE>
void Amanith::ScaleToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const GVectBase< DATA_TYPE, SIZE > & | ScaleFactors,
 |  | const GVectBase< DATA_TYPE, SIZE > & | Pivot
 | ) |

Build a scale matrix, specifying scaling factors and a pivot point (the center of scaling).

Parameters:
Result | the output matrix.
ScaleFactors | the scale factors.
Pivot | the center of scaling.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 SIZE>
void Amanith::ScaleToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const GVectBase< DATA_TYPE, SIZE > & | ScaleFactors
 | ) |

Build a scale matrix, specifying scaling factors.

Parameters:
Result | the output matrix.
ScaleFactors | the scale factors.
Note:
Each scale factor is inserted respectively into a diagonal matrix position.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::Shear2DToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const DATA_TYPE | ShearX,
 |  | const DATA_TYPE | ShearY
 | ) |

Build a 2D shear matrix, specifying shear factors. Result matrix must have at least 2 rows and 2 columns. Shear factors are inserted respectively into [0][1] position ShearX, and into [1][0] position ShearY, see the picture below:

Note:
Result matrix is first set as an identity, then shear factors are inserted.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
void Amanith::Shear3DToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const GVectorIndex | Axis0,
 |  | const DATA_TYPE | Shear0,
 |  | const GVectorIndex | Axis1,
 |  | const DATA_TYPE | Shear1
 | ) |

Build a 3D shear matrix, specifying shear factors and their respective axes. Result matrix must have at least 3 rows and 3 columns. Shear factors are inserted according to specified application axes, see the picture belove for the possible 3 cases:

Note:
Result matrix is first set as an identity, then shear factors are inserted.

template<typename DATA_TYPE>
DATA_TYPE Amanith::SignedArea | ( | const GVectBase< DATA_TYPE, 2 > & | P1,
 |  | const GVectBase< DATA_TYPE, 2 > & | P2,
 |  | const GVectBase< DATA_TYPE, 2 > & | P3
 | ) |

Compute the signed area of triangle defined by P1-P2-P3 points.

GFloat Amanith::SincFilter ( const GFloat x )

Sinc, perfect low-pass filter (infinite). Float version.

GDouble Amanith::SincFilter ( const GDouble x )

Sinc, perfect low-pass filter (infinite). Double version.

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::Slerp | ( | const DATA_TYPE | LerpPercentage,
 |  | const GQuat< DATA_TYPE > & | From,
 |  | const GQuat< DATA_TYPE > & | To,
 |  | const DATA_TYPE | SpinAmt,
 |  | const GBool | AdjustSign
 | ) |

Spherical linear interpolation between two rotation quaternions (modified to include also extra spin)

Parameters:
LerpPercentage | a value between 0 and 1 that interpolates between from and to.
From | quaternion, corresponding to LerpPercentage = 0
To | quaternion, corresponding to LerpPercentage = 1
SpinAmt | extra spin expressed in radiants
AdjustSign | if G_TRUE, then slerp will operate by adjusting the sign of the slerp to take shortest path
Returns:
Interpolated quaternion

template<typename DATA_TYPE>
GQuat<DATA_TYPE> Amanith::Squad | ( | const DATA_TYPE | LerpPercentage,
 |  | const GQuat< DATA_TYPE > & | Quat1,
 |  | const GQuat< DATA_TYPE > & | Quat2,
 |  | const GQuat< DATA_TYPE > & | Tg1,
 |  | const GQuat< DATA_TYPE > & | Tg2,
 |  | const DATA_TYPE | SpinAmt,
 |  | const GBool | AdjustSign
 | ) |

Spherical spline quaternion interpolation, between two rotation quaternions (modified to include also extra spin)

Parameters:
LerpPercentage | a value between 0 and 1 that interpolates between from and to.
Quat1 | quaternion, corresponding to LerpPercentage = 0
Quat2 | quaternion, corresponding to LerpPercentage = 1
Tg1 | quaternion, Bezier point corresponding to Quat1
Tg2 | quaternion, Bezier point corresponding to Quat2
SpinAmt | extra spin expressed in radiants
AdjustSign | if G_TRUE, then slerp will operate by adjusting the sign of the slerp to take shortest path
Returns:
Interpolated quaternion

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::SymHouseholderTridReduction | ( | GMatrix< DATA_TYPE, SIZE, SIZE > & | V,
 |  | GVect< DATA_TYPE, SIZE > & | d,
 |  | GVect< DATA_TYPE, SIZE > & | e
 | ) |

Symmetric Householder reduction to tridiagonal form.

template<typename DATA_TYPE, GUInt32 SIZE>
void Amanith::SymTridQL | ( | GMatrix< DATA_TYPE, SIZE, SIZE > & | V,
 |  | GVect< DATA_TYPE, SIZE > & | d,
 |  | GVect< DATA_TYPE, SIZE > & | e,
 |  | const GBool | Sort = G_TRUE
 | ) |

Symmetric tridiagonal QL algorithm.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS, GUInt32 TRANS_SIZE>
void Amanith::TranslationToMatrix | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | Result,
 |  | const GVectBase< DATA_TYPE, TRANS_SIZE > & | Translation
 | ) |

Build a translation matrix, setting last column with specified translation.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GMatrix<DATA_TYPE, ROWS, COLS>& Amanith::Transpose | ( | GMatrix< DATA_TYPE, ROWS, COLS > & | result,
 |  | const GMatrix< DATA_TYPE, COLS, ROWS > & | source
 | ) |

Matrix transpose from one type to another (i.e. 3x4 to 4x3)

Precondition:
source needs to be an M x N matrix, while destination needs to be N x M
Postcondition:
flip along diagonal

template<typename DATA_TYPE, GUInt32 SIZE>
GMatrix<DATA_TYPE, SIZE, SIZE>& Amanith::Transpose ( GMatrix< DATA_TYPE, SIZE, SIZE > & result )

Matrix transpose in place.

Precondition:
needs to be an N x N matrix
Postcondition:
flip along diagonal

GFloat Amanith::TriangleFilter ( const GFloat x )

Triangle, Bartlett window (2nd order (linear) b-spline). Float version.

GDouble Amanith::TriangleFilter ( const GDouble x )

Triangle, Bartlett window (2nd order (linear) b-spline). Double version.

template<typename DATA_TYPE>
DATA_TYPE Amanith::TwiceSignedArea | ( | const GVectBase< DATA_TYPE, 2 > & | P1,
 |  | const GVectBase< DATA_TYPE, 2 > & | P2,
 |  | const GVectBase< DATA_TYPE, 2 > & | P3
 | ) |

Compute the twice signed area of triangle defined by P1-P2-P3 points.

template<typename DATA_TYPE, GUInt32 ROWS, GUInt32 COLS>
GMatrix<DATA_TYPE, ROWS, COLS>& Amanith::Zero ( GMatrix< DATA_TYPE, ROWS, COLS > & Result )

Zero out the matrix.

Postcondition:
every element is 0.

Variable Documentation

const GReal Amanith::G_EPSILON = 1.1920928955078125e-07

Tolerance constants for equal comparisons (smallest number such that 1 + G_EPSILON != 1).

const GReal Amanith::G_MAX_REAL = 3.4028234663852886e+38

Maximum GReal value.

const GReal Amanith::G_MIN_REAL = -3.4028234663852886e+38

Minimum GReal value.

const GQuat<GReal> Amanith::G_QUAT_ADD_IDENTITYF(0, 0, 0, 0)

GReal quaternion addition identity.

const GQuat<GReal> Amanith::G_QUAT_MULT_IDENTITYF(0, 0, 0, 1)

GReal quaternion multiplication identity.


  • Namespace List
  • Namespace Members
Amanith::GMath

Amanith::GMath Namespace Reference

Math Functions. More...

Functions

  • GFloat Abs (const GFloat Value)
  • GDouble Abs (const GDouble Value)
  • template<typename T> T Abs (const T Value)
  • template<typename T> T Ceil (T fValue)
  • GFloat Ceil (const GFloat Value)
  • GDouble Ceil (const GDouble Value)
  • template<typename T> T Floor (T Value)
  • GFloat Floor (const GFloat Value)
  • GDouble Floor (const GDouble fValue)
  • template<typename T> GInt32 Sign (const T Value)
  • template<typename T> T ZeroClamp (const T Value, const T Eps=T(0))
  • template<typename DATA_TYPE> DATA_TYPE Factorial (const DATA_TYPE Value)
  • template<typename DATA_TYPE> DATA_TYPE Binomial (DATA_TYPE N, DATA_TYPE I)
  • template<typename T> T Acos (T Value)
  • GFloat Acos (const GFloat Value)
  • GDouble Acos (const GDouble Value)
  • template<typename T> T Asin (T Value)
  • GFloat Asin (const GFloat Value)
  • GDouble Asin (const GDouble Value)
  • template<typename T> T Atan (T Value)
  • GDouble Atan (const GDouble Value)
  • GFloat Atan (const GFloat Value)
  • template<typename T> T Atan2 (const T Y, const T X)
  • GFloat Atan2 (const GFloat Y, const GFloat X)
  • GDouble Atan2 (const GDouble Y, const GDouble X)
  • template<typename T> T Cos (const T Value)
  • GFloat Cos (const GFloat Value)
  • GDouble Cos (const GDouble Value)
  • template<typename T> T Exp (const T Value)
  • GFloat Exp (const GFloat Value)
  • GDouble Exp (const GDouble Value)
  • template<typename T> T Log (const T Value)
  • GDouble Log (const GDouble Value)
  • GFloat Log (const GFloat Value)
  • template<typename T> T Log2 (const T Value)
  • GDouble Log2 (const GDouble Value)
  • GFloat Log2 (const GFloat Value)
  • template<typename T> T Log10 (const T Value)
  • GDouble Log10 (const GDouble Value)
  • GFloat Log10 (const GFloat Value)
  • GUInt32 LogStar (const GUInt32 Value)
  • GUInt32 Log2Star (const GUInt32 Value)
  • GUInt32 Log10Star (const GUInt32 Value)
  • template<typename T> T Pow (const T Base, const T Exponent)
  • GDouble Pow (const GDouble Base, const GDouble Exponent)
  • GFloat Pow (const GFloat Base, const GFloat Exponent)
  • template<typename T> T Sin (const T Value)
  • GDouble Sin (const GDouble Value)
  • GFloat Sin (const GFloat Value)
  • template<typename T> T Tan (const T Value)
  • GDouble Tan (const GDouble Value)
  • GFloat Tan (const GFloat Value)
  • template<typename T> T Sqr (const T Value)
  • template<typename T> T Sqrt (const T Value)
  • GDouble Sqrt (const GDouble Value)
  • GFloat Sqrt (const GFloat Value)
  • GDouble BesselJ0 (const GDouble Value)
  • GFloat BesselJ0 (const GFloat Value)
  • GDouble BesselJ1 (const GDouble Value)
  • GFloat BesselJ1 (const GFloat Value)
  • GDouble BesselJN (const GInt32 Order, const GDouble Value)
  • GFloat BesselJN (const GInt32 Order, const GFloat Value)
  • GDouble BesselY0 (const GDouble Value)
  • GFloat BesselY0 (const GFloat Value)
  • GDouble BesselY1 (const GDouble Value)
  • GFloat BesselY1 (const GFloat Value)
  • GDouble BesselYN (const GInt32 Order, const GDouble Value)
  • GFloat BesselYN (const GInt32 Order, const GFloat Value)
  • GDouble BesselI0 (const GDouble Value)
  • GFloat BesselI0 (const GFloat Value)
  • GDouble BesslI1 (const GDouble Value)
  • GFloat BesslI1 (const GFloat Value)
  • GInt32 MCM (GInt32 N1, GInt32 N2)
  • void SeedRandom (const GUInt32 Seed)
  • void SeedRandom ()
  • GFloat UnitRandomf ()
  • GDouble UnitRandom ()
  • GFloat RangeRandom (const GFloat X1, const GFloat X2)
  • GDouble RangeRandom (const GDouble X1, const GDouble X2)
  • GUInt32 RangeRandom (const GInt32 X1, const GInt32 X2)
  • GFloat Deg2Rad (const GFloat DegValue)
  • GDouble Deg2Rad (const GDouble DegValue)
  • GFloat Rad2Deg (const GFloat RadValue)
  • GDouble Rad2Deg (const GDouble RadValue)
  • GFloat AngleConversion (const GFloat InputValue, const GAnglesMeasureUnit InputSystem, const GAnglesMeasureUnit OutputSystem)
  • GDouble AngleConversion (const GDouble InputValue, const GAnglesMeasureUnit InputSystem, const GAnglesMeasureUnit OutputSystem)
  • template<typename T> GBool IsEqual (const T A, const T B, const T Tolerance=T(0))
  • template<typename T> T Trunc (const T Value)
  • template<typename T> T Round (const T Value)
  • GInt32 FloorDiv (const GInt32 A, const GInt32 B)
  • template<typename T> T Min (const T X, const T Y)
  • template<typename T> T Min (const T X, const T Y, const T Z)
  • template<typename T> T Min (const T X, const T Y, const T Z, const T W)
  • template<typename T> T Max (const T X, const T Y)
  • template<typename T> T Max (const T X, const T Y, const T Z)
  • template<typename T> T Max (const T X, const T Y, const T Z, const T W)
  • template<typename T> T Clamp (const T Number, const T Lo, const T Hi)
  • template<typename T, typename U> T Lerp (const U &LerpPercentage, const T &A, const T &B)
  • template<typename T, typename U> T BarycentricConvexSum (const U &WeightA, const T &A, const U &WeightB, const T &B)
  • template<typename T> GInt32 QuadraticFormula (T &R1, T &R2, const T &A, const T &B, const T &C, const T Epsilon=G_EPSILON)

Detailed Description

Math Functions.

Function Documentation

template<typename T>
T Amanith::GMath::Abs ( const T Value )

Absolute function (template for others types).

GDouble Amanith::GMath::Abs ( const GDouble Value )

Absolute function (double specific version).

GFloat Amanith::GMath::Abs ( const GFloat Value )

Absolute function (float specific version).

GDouble Amanith::GMath::Acos ( const GDouble Value )

Calculates the arccosine (double version).

Parameters:
Value the value that we wanna calculate the arccosine of
Returns:
The arccosine of passed value.
Note:
If Value is lesser than -1, this function returns G_PI constant.
If Value is greater than 1, this function returns 0.

GFloat Amanith::GMath::Acos ( const GFloat Value )

Calculates the arccosine (float version).

Parameters:
Value the value that we wanna calculate the arccosine of
Returns:
The arccosine of passed value.
Note:
If Value is lesser than -1, this function returns G_PI constant.
If Value is greater than 1, this function returns 0.

template<typename T>
T Amanith::GMath::Acos ( T Value )

Acos function can't be called for types other than float and double. This template prevents an incorrect use of Acos function.

GDouble Amanith::GMath::AngleConversion | ( | const GDouble | InputValue,
 |  | const GAnglesMeasureUnit | InputSystem,
 |  | const GAnglesMeasureUnit | OutputSystem
 | ) |

Converts an angle from one measurement system into another system.

Parameters:
InputValue | the angle to convert.
InputSystem | the system units in which InputValue is expressed.
OutputSystem | the system units into which to convert InputValue.
Returns:
the converted angle.

GFloat Amanith::GMath::AngleConversion | ( | const GFloat | InputValue,
 |  | const GAnglesMeasureUnit | InputSystem,
 |  | const GAnglesMeasureUnit | OutputSystem
 | ) |

Converts an angle from one measurement system into another system.

Parameters:
InputValue | the angle to convert.
InputSystem | the system units in which InputValue is expressed.
OutputSystem | the system units into which to convert InputValue.
Returns:
the converted angle.

GDouble Amanith::GMath::Asin ( const GDouble Value )

Calculates the arcsine (double version).

Parameters:
Value the value that we wanna calculate the arcsine of
Returns:
The arcsine of passed value.
Note:
If Value is lesser than -1, this function returns G_PI_OVER2 constant.
If Value is greater than 1, this function returns -G_PI_OVER2 constant.

GFloat Amanith::GMath::Asin ( const GFloat Value )

Calculates the arcsine (float version).

Parameters:
Value the value that we wanna calculate the arcsine of
Returns:
The arcsine of passed value.
Note:
If Value is lesser than -1, this function returns G_PI_OVER2 constant.
If Value is greater than 1, this function returns -G_PI_OVER2 constant.

template<typename T>
T Amanith::GMath::Asin ( T Value )

Asin function can't be called for types other than float and double. This template prevents an incorrect use of Asin function.

GFloat Amanith::GMath::Atan ( const GFloat Value )

Calculates the arctangent (float version, optimized for some platforms).

Parameters:
Value the value that we wanna calculate the arctangent of
Returns:
The arctangent of passed value, in the range [-PI/2, PI/2] radians.
Note:
If Value is 0, this function returns 0.

GDouble Amanith::GMath::Atan ( const GDouble Value )

Calculates the arctangent (double version).

Parameters:
Value the value that we wanna calculate the arctangent of
Returns:
The arctangent of passed value, in the range [-PI/2, PI/2] radians.
Note:
If Value is 0, this function returns 0.

template<typename T>
T Amanith::GMath::Atan ( T Value )

Atan function can't be called for types other than float and double. This template prevents an incorrect use of Atan function.

GDouble Amanith::GMath::Atan2 | ( | const GDouble | Y,
 |  | const GDouble | X
 | ) |

Calculates the arctangent of Y/X (double version).

Returns:
the arctangent of Y/X, in the range [_PI; PI] radians.
Note:
If both Y and X are 0, this function returns 0.
This function uses the signs of both parameters to determine the quadrant of the return value

GFloat Amanith::GMath::Atan2 | ( | const GFloat | Y,
 |  | const GFloat | X
 | ) |

Calculates the arctangent of Y/X (float version, optimized for some platforms).

Returns:
the arctangent of Y/X, in the range [_PI; PI] radians.
Note:
If both Y and X are 0, this function returns 0.
This function uses the signs of both parameters to determine the quadrant of the return value

template<typename T>
T Amanith::GMath::Atan2 | ( | const T | Y,
 |  | const T | X
 | ) |

Atan2 function can't be called for types other than float and double. This template prevents an incorrect use of Atan2 function.

template<typename T, typename U>
T Amanith::GMath::BarycentricConvexSum | ( | const U & | WeightA,
 |  | const T & | A,
 |  | const U & | WeightB,
 |  | const T & | B
 | ) |

Barycentric convex interpolation between objects A and B. Weights must be positive.

Parameters:
WeightA | the weight assigned to object A
A | the first object operand
WeightB | the weight assigned to object B
B | the second object operand
Returns:
The barycentric sum, (WeightA * A + WeightB * B) / (WeightA + WeightB)
Note:
The implementation is very stable numerically.

GFloat Amanith::GMath::BesselI0 ( const GFloat Value )

Return the modified Bessel function of the first kind, order 0 (float version, provided for convenience)

Note:
If Value is negative, then its absolute value will be used during calculation.
This function is taken from Numerical Recipes in C.

GDouble Amanith::GMath::BesselI0 ( const GDouble Value )

Return the modified Bessel function of the first kind, order 0 (double version)

Note:
If Value is negative, then its absolute value will be used during calculation.
This function is taken from Numerical Recipes in C.

GFloat Amanith::GMath::BesselJ0 ( const GFloat Value )

Return Bessel function of the first kind, order 0 (float version, provided for convenience)

Note:
Value must be nonnegative for correct results

GDouble Amanith::GMath::BesselJ0 ( const GDouble Value )

Return Bessel function of the first kind, order 0 (double version)

Note:
Value must be nonnegative for correct results

GFloat Amanith::GMath::BesselJ1 ( const GFloat Value )

Return Bessel function of the first kind, order 1 (float version, provided for convenience)

Note:
Value must be nonnegative for correct results

GDouble Amanith::GMath::BesselJ1 ( const GDouble Value )

Return Bessel function of the first kind, order 1 (double version)

Note:
Value must be nonnegative for correct results

GFloat Amanith::GMath::BesselJN | ( | const GInt32 | Order,
 |  | const GFloat | Value
 | ) |

Return Bessel function of the first kind, specifying order (float version, provided for convenience)

Note:
Value must be nonnegative for correct results

GDouble Amanith::GMath::BesselJN | ( | const GInt32 | Order,
 |  | const GDouble | Value
 | ) |

Return Bessel function of the first kind, specifying order (double version)

Note:
Value must be nonnegative for correct results

GFloat Amanith::GMath::BesselY0 ( const GFloat Value )

Return Bessel function of the second kind, order 0 (float version, provided for convenience)

Note:
Value must be nonnegative for correct results

GDouble Amanith::GMath::BesselY0 ( const GDouble Value )

Return Bessel function of the second kind, order 0 (double version)

Note:
Value must be nonnegative for correct results

GFloat Amanith::GMath::BesselY1 ( const GFloat Value )

Return Bessel function of the second kind, order 1 (float version, provided for convenience)

Note:
Value must be nonnegative for correct results

GDouble Amanith::GMath::BesselY1 ( const GDouble Value )

Return Bessel function of the second kind, order 1 (double version)

Note:
Value must be nonnegative for correct results

GFloat Amanith::GMath::BesselYN | ( | const GInt32 | Order,
 |  | const GFloat | Value
 | ) |

Return Bessel function of the second kind, specifying order (float version, provided for convenience)

Note:
Value must be nonnegative for correct results

GDouble Amanith::GMath::BesselYN | ( | const GInt32 | Order,
 |  | const GDouble | Value
 | ) |

Return Bessel function of the second kind, specifying order (double version)

Note:
Value must be nonnegative for correct results

GFloat Amanith::GMath::BesslI1 ( const GFloat Value )

Return the modified Bessel function of the first kind, order 1 (float version, provided for convenience)

Note:
If Value is negative, then its absolute value will be used during calculation.
This function is taken from Numerical Recipes in C.

GDouble Amanith::GMath::BesslI1 ( const GDouble Value )

Return the modified Bessel function of the first kind, order 1 (double version)

Note:
If Value is negative, then its absolute value will be used during calculation.
This function is taken from Numerical Recipes in C.

template<typename DATA_TYPE>
DATA_TYPE Amanith::GMath::Binomial | ( | DATA_TYPE | N,
 |  | DATA_TYPE | I
 | ) |

Compute the binomial coefficient "n over i".

Parameters:
N | an object who's type has operator++, operator=, operator<=, and operator*= defined. It should be a single valued scalar type such as an int, float, double etc....
I | an object who's type has operator++, operator=, operator<=, and operator*= defined. It should be a single valued scalar type such as an int, float, double etc....

GDouble Amanith::GMath::Ceil ( const GDouble Value )

Calculates the ceiling of Value (double version).

GFloat Amanith::GMath::Ceil ( const GFloat Value )

Calculates the ceiling of Value (float version, optimized for some platforms).

template<typename T>
T Amanith::GMath::Ceil ( T fValue )

Ceil function can't be called for types other than float and double. This template prevents an incorrect use of ceiling function.

template<typename T>
T Amanith::GMath::Clamp | ( | const T | Number,
 |  | const T | Lo,
 |  | const T | Hi
 | ) |

Clamp Number to a range between Lo and Hi.

Parameters:
Number | the number to clamp
Lo | the lower bound of the clamping range
Hi | the upper bound of the clamping range
Returns:
The clamped number.

GDouble Amanith::GMath::Cos ( const GDouble Value )

Calculates the cosine of Value (double version).

Parameters:
Value angle in radians

GFloat Amanith::GMath::Cos ( const GFloat Value )

Calculates the cosine of Value (float version, optimized for some platforms).

Parameters:
Value angle in radians

template<typename T>
T Amanith::GMath::Cos ( const T Value )

Cos function can't be called for types other than float and double. This template prevents an incorrect use of Cos function.

GDouble Amanith::GMath::Deg2Rad ( const GDouble DegValue )

Degree to radian conversion (double version).

Parameters:
DegValue value to convert, expressed in degrees.
Returns:
Radian representation of DegValue parameter.

GFloat Amanith::GMath::Deg2Rad ( const GFloat DegValue )

Degree to radian conversion (float version).

Parameters:
DegValue value to convert, expressed in degrees.
Returns:
Radian representation of DegValue parameter.

GDouble Amanith::GMath::Exp ( const GDouble Value )

Calculates the exponential of Value (double version).

GFloat Amanith::GMath::Exp ( const GFloat Value )

Calculates the exponential of Value (float version, optimized for some platforms).

template<typename T>
T Amanith::GMath::Exp ( const T Value )

Exp function can't be called for types other than float and double. This template prevents an incorrect use of Exp function.

template<typename DATA_TYPE>
DATA_TYPE Amanith::GMath::Factorial ( const DATA_TYPE Value )

Compute the factorial.

Parameters:
Value an object who's type has operator++, operator=, operator<=, and operator*= defined. It should be a single valued scalar type such as an int, float, double etc....
Returns:
The factorial of Value.

GDouble Amanith::GMath::Floor ( const GDouble fValue )

Calculates the floor of Value (double version).

GFloat Amanith::GMath::Floor ( const GFloat Value )

Calculates the floor of Value (float version, optimized for some platforms).

template<typename T>
T Amanith::GMath::Floor ( T Value )

Floor function can't be called for types other than float and double. This template prevents an incorrect use of floor function.

GInt32 Amanith::GMath::FloorDiv | ( | const GInt32 | A,
 |  | const GInt32 | B
 | ) |

Returns the largest integer <= (A / B), (this works correctly for negatives A and negatives B)

template<typename T>
GBool Amanith::GMath::IsEqual | ( | const T | A,
 |  | const T | B,
 |  | const T | Tolerance = T(0)
 | ) |

Test for equality within some Tolerance.

Parameters:
A | first object operand to be tested for equality
B | second object operand to be tested for equality
Tolerance | the tolerance used in the comparison
Returns:
G_TRUE if the operands are equal under the specified tolerance, G_FALSE otherwise
Precondition:
tolerance must be >= 0

template<typename T, typename U>
T Amanith::GMath::Lerp | ( | const U & | LerpPercentage,
 |  | const T & | A,
 |  | const T & | B
 | ) |

Linear interpolation between objects A and B.

Precondition:
LerpPercentage must be in the range [0; 1]
Note:
The implementation is very stable numerically

GFloat Amanith::GMath::Log ( const GFloat Value )

Calculates the natural logarithm of Value (float version, optimized for some platforms).

Note:
If Value is negative, this function returns an indefinite result.
If Value is 0, this function returns infinite.

GDouble Amanith::GMath::Log ( const GDouble Value )

Calculates the natural logarithm of Value (double version).

Note:
If Value is negative, this function returns an indefinite result.
If Value is 0, this function returns infinite.

template<typename T>
T Amanith::GMath::Log ( const T Value )

Log function can't be called for types other than float and double. This template prevents an incorrect use of Log function.

GFloat Amanith::GMath::Log10 ( const GFloat Value )

Calculates the logarithm to base 10 of Value (float version, optimized for some platforms).

Note:
If Value is negative, this function returns an indefinite result.
If Value is 0, this function returns infinite.

GDouble Amanith::GMath::Log10 ( const GDouble Value )

Calculates the logarithm to base 10 of Value (double version).

Note:
If Value is negative, this function returns an indefinite result.
If Value is 0, this function returns infinite.

template<typename T>
T Amanith::GMath::Log10 ( const T Value )

Log10 function can't be called for types other than float and double. This template prevents an incorrect use of Log10 function.

GUInt32 Amanith::GMath::Log10Star ( const GUInt32 Value )

Calculates the log* to base 10 of Value.

GFloat Amanith::GMath::Log2 ( const GFloat Value )

Calculates the logarithm to base 2 of Value (float version, optimized for some platforms).

Note:
If Value is negative, this function returns an indefinite result.
If Value is 0, this function returns infinite.

GDouble Amanith::GMath::Log2 ( const GDouble Value )

Calculates the logarithm to base 2 of Value (double version).

Note:
If Value is negative, this function returns an indefinite result.
If Value is 0, this function returns infinite.

template<typename T>
T Amanith::GMath::Log2 ( const T Value )

Log2 function can't be called for types other than float and double. This template prevents an incorrect use of Log2 function.

GUInt32 Amanith::GMath::Log2Star ( const GUInt32 Value )

Calculates the log* to base 2 of Value.

GUInt32 Amanith::GMath::LogStar ( const GUInt32 Value )

Calculates the natural log* of Value.

template<typename T>
T Amanith::GMath::Max | ( | const T | X,
 |  | const T | Y,
 |  | const T | Z,
 |  | const T | W
 | ) |

Returns the maximum of 4 values

template<typename T>
T Amanith::GMath::Max | ( | const T | X,
 |  | const T | Y,
 |  | const T | Z
 | ) |

Returns the maximum of 3 values

template<typename T>
T Amanith::GMath::Max | ( | const T | X,
 |  | const T | Y
 | ) |

Returns the maximum of 2 values

GInt32 Amanith::GMath::MCM | ( | GInt32 | N1,
 |  | GInt32 | N2
 | ) |

Finds the minimal common multiple of N! and N2.

template<typename T>
T Amanith::GMath::Min | ( | const T | X,
 |  | const T | Y,
 |  | const T | Z,
 |  | const T | W
 | ) |

Returns the minimum of 4 values

template<typename T>
T Amanith::GMath::Min | ( | const T | X,
 |  | const T | Y,
 |  | const T | Z
 | ) |

Returns the minimum of 3 values

template<typename T>
T Amanith::GMath::Min | ( | const T | X,
 |  | const T | Y
 | ) |

Returns the minimum of 2 values

GFloat Amanith::GMath::Pow | ( | const GFloat | Base,
 |  | const GFloat | Exponent
 | ) |

Calculates Base raised to the power of Exponent (float version, optimized for some platforms).

GDouble Amanith::GMath::Pow | ( | const GDouble | Base,
 |  | const GDouble | Exponent
 | ) |

Calculates Base raised to the power of Exponent (double version).

template<typename T>
T Amanith::GMath::Pow | ( | const T | Base,
 |  | const T | Exponent
 | ) |

Pow function can't be called for types other than float and double. This template prevents an incorrect use of Pow function.

template<typename T>
GInt32 Amanith::GMath::QuadraticFormula | ( | T & | R1,
 |  | T & | R2,
 |  | const T & | A,
 |  | const T & | B,
 |  | const T & | C,
 |  | const T | Epsilon = G_EPSILON
 | ) |

Quadratic formula used to compute the 2 roots of the given 2nd degree polynomial in the form of Ax^2 + Bx + C. Here's a numerical stable implementation (modified from the one proposed in Geometric Tools for Computer Graphics), avoiding underflow/overflow.

Parameters:
R1 | set to the first root
R2 | set to the second root
A | the coefficient to x^2
B | the coefficient to x^1
C | the coefficient to x^0
Epsilon | the precision used in tests for 0 made on equation coefficients
Returns:
Number of roots.

GDouble Amanith::GMath::Rad2Deg ( const GDouble RadValue )

Radians to degrees conversion (double version).

Parameters:
RadValue value to convert, expressed in radians.
Returns:
Degree representation of RadValue parameter.

GFloat Amanith::GMath::Rad2Deg ( const GFloat RadValue )

Radians to degrees conversion (float version).

Parameters:
RadValue value to convert, expressed in radians.
Returns:
Degree representation of RadValue parameter.

GUInt32 Amanith::GMath::RangeRandom | ( | const GInt32 | X1,
 |  | const GInt32 | X2
 | ) |

Return a random number between X1 and X2 (int version)

GDouble Amanith::GMath::RangeRandom | ( | const GDouble | X1,
 |  | const GDouble | X2
 | ) |

Return a random number between X1 and X2 (double version)

GFloat Amanith::GMath::RangeRandom | ( | const GFloat | X1,
 |  | const GFloat | X2
 | ) |

Return a random number between X1 and X2 (float version)

template<typename T>
T Amanith::GMath::Round ( const T Value )

Round to nearest integer.

void Amanith::GMath::SeedRandom ( )

Seeds the pseudo-random number generator with the clock-time random seed.

void Amanith::GMath::SeedRandom ( const GUInt32 Seed )

Seeds the pseudo-random number generator with the given seed.

Parameters:
Seed the seed for the pseudo-random number generator.

template<typename T>
GInt32 Amanith::GMath::Sign ( const T Value )

Sign function template, it returns:

  • 0 if Value == 0
  • 1 if Value > 0
  • -1 if Value < 0

Parameters:
Value an object who's type has operator> and operator< defined.

GFloat Amanith::GMath::Sin ( const GFloat Value )

Calculates the sine of Value (float version, optimized for some platforms).

Parameters:
Value angle in radians

GDouble Amanith::GMath::Sin ( const GDouble Value )

Calculates the sine of Value (double version).

Parameters:
Value angle in radians

template<typename T>
T Amanith::GMath::Sin ( const T Value )

Sin function can't be called for types other than float and double. This template prevents an incorrect use of Sin function.

template<typename T>
T Amanith::GMath::Sqr ( const T Value )

template function to calculate the square of Value.

GFloat Amanith::GMath::Sqrt ( const GFloat Value )

Calculates the square root of Value (float version, optimized for some platforms).

Note:
Value parameter must be nonnegative.
If Value is negative this function returns an indefinite result.

GDouble Amanith::GMath::Sqrt ( const GDouble Value )

Calculates the square root of Value (double version).

Note:
Value parameter must be nonnegative.
If Value is negative this function returns an indefinite result.

template<typename T>
T Amanith::GMath::Sqrt ( const T Value )

Sqrt function can't be called for types other than float and double. This template prevents an incorrect use of Sqrt function.

GFloat Amanith::GMath::Tan ( const GFloat Value )

Calculates the sine of Value (float version, optimized for some platforms).

Parameters:
Value angle in radians

GDouble Amanith::GMath::Tan ( const GDouble Value )

Calculates the tangent of Value (double version).

Parameters:
Value angle in radians

template<typename T>
T Amanith::GMath::Tan ( const T Value )

Tan function can't be called for types other than float and double. This template prevents an incorrect use of Tan function.

template<typename T>
T Amanith::GMath::Trunc ( const T Value )

Cut off the digits after the decimal place.

GDouble Amanith::GMath::UnitRandom ( )

Get a random number between 0 and 1 (double version)

GFloat Amanith::GMath::UnitRandomf ( )

Get a random number between 0 and 1 (float version)

template<typename T>
T Amanith::GMath::ZeroClamp | ( | const T | Value,
 |  | const T | Eps = T(0)
 | ) |

Clamps the given value down to zero if it is within epsilon of zero.

Parameters:
Value | the value to clamp
Eps | the epsilon tolerance or zero by default
Returns:
zero if the value is close to 0, the value otherwise


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- a -

  • Abs() : gmath.h
  • Acos() : gmath.h
  • Aligned() : garea.h
  • AngleConversion() : gmath.h
  • Asin() : gmath.h
  • Atan() : gmath.h
  • Atan2() : gmath.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- k -

  • KaiserFilter() : gfilter.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- l -

  • Length() : gvect.h
  • LengthSquared() : gvect.h
  • Lerp() : gmath.h
  • Log() : gmath.h
  • Log10() : gmath.h
  • Log10Star() : gmath.h
  • Log2() : gmath.h
  • Log2Star() : gmath.h
  • LogStar() : gmath.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- m -

  • MatrixToRotation() : gxformconv.h
  • Max() : gmath.h
  • MCM() : gmath.h
  • Min() : gmath.h
  • MitchellFilter() : gfilter.h
  • Mult() : gmatrix.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- n -

  • NonSymHessenbergReduction() : gmatrix.h
  • NonSymSchurReduction() : gmatrix.h
  • NormalFilter() : gfilter.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- o -

  • operator *() : gvect.h, gmatrix.h
  • operator *=() : gvect.h, gmatrix.h
  • operator+() : gvect.h
  • operator+=() : gvect.h, gmatrix.h
  • operator-() : gvect.h, gmatrix.h
  • operator-=() : gvect.h, gmatrix.h
  • operator/() : gvect.h
  • operator/=() : gvect.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- z -

  • Zero() : gmatrix.h
  • ZeroClamp() : gmath.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- b -

  • BarycentricConvexSum() : gmath.h
  • BellFilter() : gfilter.h
  • BesselFilter() : gfilter.h
  • BesselI0() : gmath.h
  • BesselJ0() : gmath.h
  • BesselJ1() : gmath.h
  • BesselJN() : gmath.h
  • BesselY0() : gmath.h
  • BesselY1() : gmath.h
  • BesselYN() : gmath.h
  • BesslI1() : gmath.h
  • Binomial() : gmath.h
  • BlackmanFilter() : gfilter.h
  • BoxFilter() : gfilter.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- c -

  • CatmullRomFilter() : gfilter.h
  • CCWSmallerAngleSpan() : garea.h
  • Ceil() : gmath.h
  • Clamp() : gmath.h
  • ClockWise() : garea.h
  • ClockWiseOrAligned() : garea.h
  • Cos() : gmath.h
  • CounterClockWise() : garea.h
  • CounterClockWiseOrAligned() : garea.h
  • Cross() : gvect.h
  • CubicFilter() : gfilter.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- d -

  • DecompCholesky() : gmatrix.h
  • DecompLU() : gmatrix.h
  • DecompPolar() : gmatrix.h
  • DecompPolar_Rank1() : gmatrix.h
  • DecompPolar_Rank2() : gmatrix.h
  • DecompQR() : gmatrix.h
  • DecompSVD() : gmatrix.h
  • Deg2Rad() : gmath.h
  • Dot() : gvect.h, gquat.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- e -

  • Exp() : gmath.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- f -

  • Factorial() : gmath.h
  • FindNearestPoint() : gray.h, gplane.h
  • Floor() : gmath.h
  • FloorDiv() : gmath.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- g -

  • G_2PI : gmath.h
  • G_A1R5G5B5 : gpixelmap.h
  • G_A8R8G8B8 : gpixelmap.h
  • G_ABSOLUTE_VALUE : gelement.h
  • G_ANY_FILLRULE : gdrawstyle.h
  • G_ANY_RULE : gtesselator2d.h
  • G_ASCENDING_SORT : gglobal.h
  • G_ASSERT : gglobal.h
  • G_BACKSIDE : gglobal.h
  • G_BEVEL_JOIN : gdrawstyle.h
  • G_BIG_ENDIAN : gglobal.h
  • G_BOOL_KEY : gelement.h
  • G_BOTTOMSIDE : gglobal.h
  • G_BUTT_CAP : gdrawstyle.h
  • G_CACHE_MODE : gdrawboard.h
  • G_CIRCLE_UNIT : gglobal.h
  • G_CLEAR_OP : gdrawstyle.h
  • G_CLIP_AND_CACHE_MODE : gdrawboard.h
  • G_CLIP_MODE : gdrawboard.h
  • G_COLOR_AND_CACHE_MODE : gdrawboard.h
  • G_COLOR_BURN_OP : gdrawstyle.h
  • G_COLOR_DODGE_OP : gdrawstyle.h
  • G_COLOR_MODE : gdrawboard.h
  • G_COLOR_PAINT_TYPE : gdrawstyle.h
  • G_CONICAL_GRADIENT : gdrawstyle.h
  • G_CONNECT_BLACK : gtracer2d.h
  • G_CONNECT_DOMINANT : gtracer2d.h
  • G_CONNECT_NOT_DOMINANT : gtracer2d.h
  • G_CONNECT_WHITE : gtracer2d.h
  • G_CONSTANT_COLOR_INTERPOLATION : gdrawstyle.h
  • G_CONSTANT_OOR : gelement.h
  • G_DARKEN_OP : gdrawstyle.h
  • G_DASHED_STROKE : gdrawstyle.h
  • G_DEBUG : gglobal.h
  • G_DEGREE_UNIT : gglobal.h
  • G_DESCENDING_SORT : gglobal.h
  • G_DIFFERENCE_OP : gdrawstyle.h
  • G_DRAWBOARD_CACHE_NOT_WRITTEN : gerror.h
  • G_DRAWBOARD_INVALID_CACHEBANK : gerror.h
  • G_DST_ATOP_OP : gdrawstyle.h
  • G_DST_IN_OP : gdrawstyle.h
  • G_DST_OP : gdrawstyle.h
  • G_DST_OUT_OP : gdrawstyle.h
  • G_DST_OVER_OP : gdrawstyle.h
  • G_ENCODING_ADOBE_CUSTOM : gfont2d.h
  • G_ENCODING_ADOBE_EXPERT : gfont2d.h
  • G_ENCODING_ADOBE_STANDARD : gfont2d.h
  • G_ENCODING_APPLE_ROMAN : gfont2d.h
  • G_ENCODING_BIG5 : gfont2d.h
  • G_ENCODING_GB2312 : gfont2d.h
  • G_ENCODING_JOHAB : gfont2d.h
  • G_ENCODING_MS_SYMBOL : gfont2d.h
  • G_ENCODING_NONE : gfont2d.h
  • G_ENCODING_OLD_LATIN_2 : gfont2d.h
  • G_ENCODING_SJIS : gfont2d.h
  • G_ENCODING_UNICODE : gfont2d.h
  • G_ENCODING_WANSUNG : gfont2d.h
  • G_ENTRY_ALREADY_EXISTS : gerror.h
  • G_ENTRY_ALREADY_EXISTS_STR : gerror_it.h, gerror_en.h
  • G_EPSILON : gglobal.h
  • G_EVEN_ODD_FILLRULE : gdrawstyle.h
  • G_EVEN_ODD_RULE : gtesselator2d.h
  • G_EXCLUSION_OP : gdrawstyle.h
  • G_EXP1 : gmath.h
  • G_FALSE : gglobal.h
  • G_FILE_ALREADY_EXISTS : gerror.h
  • G_FILE_ALREADY_EXISTS_STR : gerror_it.h, gerror_en.h
  • G_FILE_NOT_FOUND : gerror.h
  • G_FILE_NOT_FOUND_STR : gerror_it.h, gerror_en.h
  • G_FIRST_ORDER_DERIVATIVE : gcurve1d.h
  • G_FRONTSIDE : gglobal.h
  • G_GRAD_UNIT : gglobal.h
  • G_GRADIENT_PAINT_TYPE : gdrawstyle.h
  • G_GRAYSCALE : gpixelmap.h
  • G_HARD_LIGHT_OP : gdrawstyle.h
  • G_HERMITE_COLOR_INTERPOLATION : gdrawstyle.h
  • G_HIGH_IMAGE_QUALITY : gdrawstyle.h
  • G_HIGH_RENDERING_QUALITY : gdrawboard.h
  • G_HTTP_BAD_PARAM : gerror.h
  • G_HTTP_BAD_REQUEST : gerror.h
  • G_HTTP_BAD_URL : gerror.h
  • G_HTTP_CANCELLED : gerror.h
  • G_HTTP_FILE_ERROR : gerror.h
  • G_HTTP_FORBIDDEN : gerror.h
  • G_HTTP_HOST_UNKNOWN : gerror.h
  • G_HTTP_INSMEMORY : gerror.h
  • G_HTTP_MOVED : gerror.h
  • G_HTTP_NO_CONTENT : gerror.h
  • G_HTTP_NOT_FOUND : gerror.h
  • G_HTTP_OVERFLOW : gerror.h
  • G_HTTP_PROTOCOL_ERROR : gerror.h
  • G_HTTP_TCP_CONNECT : gerror.h
  • G_HTTP_TCP_FAILED : gerror.h
  • G_HTTP_TIMEOUT : gerror.h
  • G_HTTP_UNDEFINED : gerror.h
  • G_IMPEXP_READ : gimpexp.h
  • G_IMPEXP_READWRITE : gimpexp.h
  • G_IMPEXP_WRITE : gimpexp.h
  • G_INSIDE : gglobal.h
  • G_INT_KEY : gelement.h
  • G_INTERSECTION_CLIP : gdrawboard.h
  • G_INVALID_FORMAT : gerror.h
  • G_INVALID_FORMAT_STR : gerror_it.h, gerror_en.h
  • G_INVALID_NODE : gerror.h
  • G_INVALID_NODE_STR : gerror_it.h, gerror_en.h
  • G_INVALID_OPERATION : gerror.h
  • G_INVALID_OPERATION_STR : gerror_it.h, gerror_en.h
  • G_INVALID_PARAMETER : gerror.h
  • G_INVALID_PARAMETER_STR : gerror_it.h, gerror_en.h
  • G_LANG_CN : gglobal.h
  • G_LANG_DE : gglobal.h
  • G_LANG_EN : gglobal.h
  • G_LANG_ES : gglobal.h
  • G_LANG_FI : gglobal.h
  • G_LANG_FR : gglobal.h
  • G_LANG_IT : gglobal.h
  • G_LANG_JP : gglobal.h
  • G_LANG_RU : gglobal.h
  • G_LEFTSIDE : gglobal.h
  • G_LIGHTEN_OP : gdrawstyle.h
  • G_LINEAR_COLOR_INTERPOLATION : gdrawstyle.h
  • G_LINEAR_GRADIENT : gdrawstyle.h
  • G_LITTLE_ENDIAN : gglobal.h
  • G_LOCAL_SPACE : ganimtrsnode2d.h
  • G_LOOP_OOR : gelement.h
  • G_LOW_IMAGE_QUALITY : gdrawstyle.h
  • G_LOW_RENDERING_QUALITY : gdrawboard.h
  • G_MAX_DOUBLE : gglobal.h
  • G_MAX_FLOAT : gglobal.h
  • G_MAX_INT16 : gglobal.h
  • G_MAX_INT32 : gglobal.h
  • G_MAX_INT64 : gglobal.h
  • G_MAX_INT8 : gglobal.h
  • G_MAX_LONG : gglobal.h
  • G_MAX_REAL : gglobal.h
  • G_MAX_UINT16 : gglobal.h
  • G_MAX_UINT32 : gglobal.h
  • G_MAX_UINT64 : gglobal.h
  • G_MAX_UINT8 : gglobal.h
  • G_MAX_ULONG : gglobal.h
  • G_MEMORY_ERROR : gerror.h
  • G_MEMORY_ERROR_STR : gerror_it.h, gerror_en.h
  • G_MIL_UNIT : gglobal.h
  • G_MIN_DOUBLE : gglobal.h
  • G_MIN_FLOAT : gglobal.h
  • G_MIN_INT16 : gglobal.h
  • G_MIN_INT32 : gglobal.h
  • G_MIN_INT64 : gglobal.h
  • G_MIN_INT8 : gglobal.h
  • G_MIN_LONG : gglobal.h
  • G_MIN_REAL : gglobal.h
  • G_MINUTE_UNIT : gglobal.h
  • G_MISSED_FEATURE : gerror.h
  • G_MISSED_FEATURE_STR : gerror_it.h, gerror_en.h
  • G_MISSING_KERNEL : gerror.h
  • G_MISSING_KERNEL_STR : gerror_it.h, gerror_en.h
  • G_MITER_JOIN : gdrawstyle.h
  • G_MULTIPLY_OP : gdrawstyle.h
  • G_NO_ERROR : gerror.h
  • G_NO_ERROR_STR : gerror_it.h, gerror_en.h
  • G_NO_SORT : gglobal.h
  • G_NON_ZERO_FILLRULE : gdrawstyle.h
  • G_NON_ZERO_RULE : gtesselator2d.h
  • G_NORMAL_IMAGE_QUALITY : gdrawstyle.h
  • G_NORMAL_RENDERING_QUALITY : gdrawboard.h
  • G_OCTANT_UNIT : gglobal.h
  • G_ODD_EVEN_FILLRULE : gdrawstyle.h
  • G_ODD_EVEN_RULE : gtesselator2d.h
  • G_ONE_OVER_2PI : gmath.h
  • G_ONE_OVER_PI : gmath.h
  • G_ONSURFACE : gglobal.h
  • G_OUT_OF_RANGE : gerror.h
  • G_OUT_OF_RANGE_STR : gerror_it.h, gerror_en.h
  • G_OUTSIDE : gglobal.h
  • G_OVERLAY_OP : gdrawstyle.h
  • G_PAD_COLOR_RAMP_SPREAD : gdrawstyle.h
  • G_PAD_TILE : gdrawstyle.h
  • G_PATTERN_PAINT_TYPE : gdrawstyle.h
  • G_PERMISSION_DENIED : gerror.h
  • G_PERMISSION_DENIED_STR : gerror_it.h, gerror_en.h
  • G_PI : gmath.h
  • G_PI_OVER2 : gmath.h
  • G_PI_OVER4 : gmath.h
  • G_PINGPONG_OOR : gelement.h
  • G_PLUGIN_ALREADYLOADED : gerror.h
  • G_PLUGIN_ALREADYLOADED_STR : gerror_it.h, gerror_en.h
  • G_PLUGIN_ISTANCED : gerror.h
  • G_PLUGIN_ISTANCED_STR : gerror_it.h, gerror_en.h
  • G_PLUGIN_NOTLOADED : gerror.h
  • G_PLUGIN_NOTLOADED_STR : gerror_it.h, gerror_en.h
  • G_PLUGIN_NOTPRESENT : gerror.h
  • G_PLUGIN_NOTPRESENT_STR : gerror_it.h, gerror_en.h
  • G_PLUGIN_SYMBOL_UNRESOLVED : gerror.h
  • G_PLUGIN_SYMBOL_UNRESOLVED_STR : gerror_it.h, gerror_en.h
  • G_PLUS_OP : gdrawstyle.h
  • G_QUADRANT_UNIT : gglobal.h
  • G_QUAT_ADD_IDENTITYF : gquat.h
  • G_QUAT_MULT_IDENTITYF : gquat.h
  • G_R5G6B5 : gpixelmap.h
  • G_R8G8B8 : gpixelmap.h
  • G_RADIAL_GRADIENT : gdrawstyle.h
  • G_RADIAN_UNIT : gglobal.h
  • G_READ_ERROR : gerror.h
  • G_READ_ERROR_STR : gerror_it.h, gerror_en.h
  • G_REAL_KEY : gelement.h
  • G_REFLECT_COLOR_RAMP_SPREAD : gdrawstyle.h
  • G_REFLECT_TILE : gdrawstyle.h
  • G_RELATIVE_VALUE : gelement.h
  • G_REPEAT_COLOR_RAMP_SPREAD : gdrawstyle.h
  • G_REPEAT_TILE : gdrawstyle.h
  • G_REPLACE_CLIP : gdrawboard.h
  • G_RESIZE_BELL : gpixelmap.h
  • G_RESIZE_BESSEL : gpixelmap.h
  • G_RESIZE_BLACKMAN : gpixelmap.h
  • G_RESIZE_BOX : gpixelmap.h
  • G_RESIZE_CATMULLROM : gpixelmap.h
  • G_RESIZE_CUBIC : gpixelmap.h
  • G_RESIZE_GAUSSIAN : gpixelmap.h
  • G_RESIZE_HAMMING : gpixelmap.h
  • G_RESIZE_HANNING : gpixelmap.h
  • G_RESIZE_NORMAL : gpixelmap.h
  • G_RESIZE_QUADRATIC : gpixelmap.h
  • G_RESIZE_SINC : gpixelmap.h
  • G_RESIZE_TRIANGLE : gpixelmap.h
  • G_REVOLUTION_UNIT : gglobal.h
  • G_RGB_PALETTE : gpixelmap.h
  • G_RIGHTANGLE_UNIT : gglobal.h
  • G_RIGHTSIDE : gglobal.h
  • G_ROUND_CAP : gdrawstyle.h
  • G_ROUND_JOIN : gdrawstyle.h
  • G_SCREEN_OP : gdrawstyle.h
  • G_SECOND_ORDER_DERIVATIVE : gcurve1d.h
  • G_SECOND_UNIT : gglobal.h
  • G_SEXTANT_UNIT : gglobal.h
  • G_SIGN_UNIT : gglobal.h
  • G_SMTP_CANTCONNECT : gerror.h
  • G_SMTP_CANTCONNECT_STR : gerror_it.h, gerror_en.h
  • G_SMTP_DATAERROR : gerror.h
  • G_SMTP_DATAERROR_STR : gerror_it.h, gerror_en.h
  • G_SMTP_FORWARDED : gerror.h
  • G_SMTP_FORWARDED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_MIMENOTSUPPORTED : gerror.h
  • G_SMTP_MIMENOTSUPPORTED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_NOTIMPLEMENTED : gerror.h
  • G_SMTP_NOTIMPLEMENTED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_SERVERCANTEXECUTE : gerror.h
  • G_SMTP_SERVERCANTEXECUTE_STR : gerror_it.h, gerror_en.h
  • G_SMTP_SERVICECLOSED : gerror.h
  • G_SMTP_SERVICECLOSED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_STORAGEEXCEDED : gerror.h
  • G_SMTP_STORAGEEXCEDED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_SYNTAXERROR : gerror.h
  • G_SMTP_SYNTAXERROR_STR : gerror_it.h, gerror_en.h
  • G_SMTP_UNEXPECTEDANSWER : gerror.h
  • G_SMTP_UNEXPECTEDANSWER_STR : gerror_it.h, gerror_en.h
  • G_SMTP_UNKNOWNUSER : gerror.h
  • G_SMTP_UNKNOWNUSER_STR : gerror_it.h, gerror_en.h
  • G_SOFT_LIGHT_OP : gdrawstyle.h
  • G_SOLID_STROKE : gdrawstyle.h
  • G_SQRTHALF : gmath.h
  • G_SQUARE_CAP : gdrawstyle.h
  • G_SRC_ATOP_OP : gdrawstyle.h
  • G_SRC_IN_OP : gdrawstyle.h
  • G_SRC_OP : gdrawstyle.h
  • G_SRC_OUT_OP : gdrawstyle.h
  • G_SRC_OVER_OP : gdrawstyle.h
  • G_TOPSIDE : gglobal.h
  • G_TRUE : gglobal.h
  • G_TURN_UNIT : gglobal.h
  • G_UNDEFINED_KEY : gelement.h
  • G_UNKNOWN_ERROR : gerror.h
  • G_UNKNOWN_ERROR_STR : gerror_it.h, gerror_en.h
  • G_UNSUPPORTED_CLASSID : gerror.h
  • G_UNSUPPORTED_CLASSID_STR : gerror_it.h, gerror_en.h
  • G_USED_LANG : gglobal.h
  • G_VECTOR2_KEY : gelement.h
  • G_VECTOR3_KEY : gelement.h
  • G_VECTOR4_KEY : gelement.h
  • G_W : gglobal.h
  • G_WORLD_SPACE : ganimtrsnode2d.h
  • G_WRITE_ERROR : gerror.h
  • G_WRITE_ERROR_STR : gerror_it.h, gerror_en.h
  • G_X : gglobal.h
  • G_XOR_OP : gdrawstyle.h
  • G_Y : gglobal.h
  • G_Z : gglobal.h
  • GAABox2 : gaabox.h
  • GAABox3 : gaabox.h
  • GAnglesMeasureUnit : gglobal.h
  • GaussianFilter() : gfilter.h
  • GAxisAngle : gaxisangle.h
  • GBool : gglobal.h
  • GBoxSide : gglobal.h
  • GCapStyle : gdrawstyle.h
  • GChar8 : gglobal.h
  • GCharMapEncoding : gfont2d.h
  • GClipOperation : gdrawboard.h
  • GColorRampInterpolation : gdrawstyle.h
  • GColorRampSpreadMode : gdrawstyle.h
  • GCompositingOperation : gdrawstyle.h
  • GDerivativeOrder : gcurve1d.h
  • GDouble : gglobal.h
  • GDynArray : gglobal.h
  • GEndianType : gglobal.h
  • GError : gglobal.h
  • GEulerOrder : gglobal.h
  • GFillBehavior : gtesselator2d.h
  • GFillRule : gdrawstyle.h
  • GFloat : gglobal.h
  • GGradientType : gdrawstyle.h
  • GImageQuality : gdrawstyle.h
  • GInt16 : gglobal.h
  • GInt32 : gglobal.h
  • GInt64 : gglobal.h
  • GInt8 : gglobal.h
  • GJoinStyle : gdrawstyle.h
  • GKeyType : gelement.h
  • GLineSegment2 : glineseg.h
  • GLineSegment3 : glineseg.h
  • GList : gglobal.h
  • GLLong : gglobal.h
  • GLong : gglobal.h
  • GMatrix22 : gmatrix.h
  • GMatrix23 : gmatrix.h
  • GMatrix33 : gmatrix.h
  • GMatrix34 : gmatrix.h
  • GMatrix43 : gmatrix.h
  • GMatrix44 : gmatrix.h
  • GOOBox2 : goobox.h
  • GOOBox3 : goobox.h
  • GOORType : gelement.h
  • GPaintType : gdrawstyle.h
  • GPixelFormat : gpixelmap.h
  • GPlane : gplane.h
  • GPoint2 : gvect.h
  • GPoint3 : gvect.h
  • GPoint4 : gvect.h
  • GQuaternion : gquat.h
  • GRay2 : gray.h
  • GRay3 : gray.h
  • GReadWriteOp : gimpexp.h
  • GReal : gglobal.h
  • GRenderingQuality : gdrawboard.h
  • GResizeOp : gpixelmap.h
  • GSortType : gglobal.h
  • GSpaceSystem : ganimtrsnode2d.h
  • GSphere2 : gsphere.h
  • GSphere3 : gsphere.h
  • GString : gglobal.h
  • GStringList : gglobal.h
  • GStrokeStyle : gdrawstyle.h
  • GSurfaceSide : gglobal.h
  • GTargetMode : gdrawboard.h
  • GTilingMode : gdrawstyle.h
  • GTimeInterval : gelement.h
  • GTimeValue : gglobal.h
  • GTurnPolicy : gtracer2d.h
  • GUChar8 : gglobal.h
  • GUInt16 : gglobal.h
  • GUInt32 : gglobal.h
  • GUInt64 : gglobal.h
  • GUInt8 : gglobal.h
  • GULLong : gglobal.h
  • GULong : gglobal.h
  • GValueMethod : gelement.h
  • GVector2 : gvect.h
  • GVector3 : gvect.h
  • GVector4 : gvect.h
  • GVectorIndex : gglobal.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- h -

  • HammingFilter() : gfilter.h
  • HanningFilter() : gfilter.h
  • HouseholderColumnsReflect() : gmatrix.h
  • HouseholderRowsReflect() : gmatrix.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- i -

  • Identity() : gmatrix.h
  • InvertFull_GJ() : gmatrix.h
  • InvertOrthogonal() : gmatrix.h
  • InvertTrans() : gmatrix.h
  • IsClockWise() : gvect.h
  • IsEqual() : gmath.h, gvect.h, gsphere.h, gray.h, gquat.h, gplane.h, goobox.h, gmatrix.h, gaabox.h
  • IsEquivalent() : gquat.h
  • IsInCircle() : garea.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- p -

  • PostMult() : gmatrix.h
  • Pow() : gmath.h
  • PreMult() : gmatrix.h
  • PrintOpenGLError : gopenglext.cpp


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- q -

  • QuadraticFilter() : gfilter.h
  • QuadraticForm() : gxform.h
  • QuadraticFormula() : gmath.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- r -

  • Rad2Deg() : gmath.h
  • RangeRandom() : gmath.h
  • Reflect() : gvect.h
  • ReverseArray() : gutilities.h
  • RotationToMatrix() : gxformconv.h
  • Round() : gmath.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- s -

  • ScaleToMatrix() : gxformconv.h
  • SeedRandom() : gmath.h
  • Shear2DToMatrix() : gxformconv.h
  • Shear3DToMatrix() : gxformconv.h
  • Sign() : gmath.h
  • SignedArea() : garea.h
  • Sin() : gmath.h
  • SincFilter() : gfilter.h
  • Slerp() : gquat.h
  • Sqr() : gmath.h
  • Sqrt() : gmath.h
  • Squad() : gquat.h
  • SymHouseholderTridReduction() : gmatrix.h
  • SymTridQL() : gmatrix.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- t -

  • Tan() : gmath.h
  • TranslationToMatrix() : gxformconv.h
  • Transpose() : gmatrix.h
  • TriangleFilter() : gfilter.h
  • Trunc() : gmath.h
  • TwiceSignedArea() : garea.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented file members with links to the documentation:

- u -

  • UnitRandom() : gmath.h
  • UnitRandomf() : gmath.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • g
  • p

- g -

  • G_2PI : gmath.h
  • G_ASSERT : gglobal.h
  • G_DEBUG : gglobal.h
  • G_DRAWBOARD_CACHE_NOT_WRITTEN : gerror.h
  • G_DRAWBOARD_INVALID_CACHEBANK : gerror.h
  • G_ENTRY_ALREADY_EXISTS : gerror.h
  • G_ENTRY_ALREADY_EXISTS_STR : gerror_it.h, gerror_en.h
  • G_EXP1 : gmath.h
  • G_FALSE : gglobal.h
  • G_FILE_ALREADY_EXISTS : gerror.h
  • G_FILE_ALREADY_EXISTS_STR : gerror_it.h, gerror_en.h
  • G_FILE_NOT_FOUND : gerror.h
  • G_FILE_NOT_FOUND_STR : gerror_it.h, gerror_en.h
  • G_HTTP_BAD_PARAM : gerror.h
  • G_HTTP_BAD_REQUEST : gerror.h
  • G_HTTP_BAD_URL : gerror.h
  • G_HTTP_CANCELLED : gerror.h
  • G_HTTP_FILE_ERROR : gerror.h
  • G_HTTP_FORBIDDEN : gerror.h
  • G_HTTP_HOST_UNKNOWN : gerror.h
  • G_HTTP_INSMEMORY : gerror.h
  • G_HTTP_MOVED : gerror.h
  • G_HTTP_NO_CONTENT : gerror.h
  • G_HTTP_NOT_FOUND : gerror.h
  • G_HTTP_OVERFLOW : gerror.h
  • G_HTTP_PROTOCOL_ERROR : gerror.h
  • G_HTTP_TCP_CONNECT : gerror.h
  • G_HTTP_TCP_FAILED : gerror.h
  • G_HTTP_TIMEOUT : gerror.h
  • G_HTTP_UNDEFINED : gerror.h
  • G_INVALID_FORMAT : gerror.h
  • G_INVALID_FORMAT_STR : gerror_it.h, gerror_en.h
  • G_INVALID_NODE : gerror.h
  • G_INVALID_NODE_STR : gerror_it.h, gerror_en.h
  • G_INVALID_OPERATION : gerror.h
  • G_INVALID_OPERATION_STR : gerror_it.h, gerror_en.h
  • G_INVALID_PARAMETER : gerror.h
  • G_INVALID_PARAMETER_STR : gerror_it.h, gerror_en.h
  • G_LANG_CN : gglobal.h
  • G_LANG_DE : gglobal.h
  • G_LANG_EN : gglobal.h
  • G_LANG_ES : gglobal.h
  • G_LANG_FI : gglobal.h
  • G_LANG_FR : gglobal.h
  • G_LANG_IT : gglobal.h
  • G_LANG_JP : gglobal.h
  • G_LANG_RU : gglobal.h
  • G_MAX_DOUBLE : gglobal.h
  • G_MAX_FLOAT : gglobal.h
  • G_MAX_INT16 : gglobal.h
  • G_MAX_INT32 : gglobal.h
  • G_MAX_INT64 : gglobal.h
  • G_MAX_INT8 : gglobal.h
  • G_MAX_LONG : gglobal.h
  • G_MAX_UINT16 : gglobal.h
  • G_MAX_UINT32 : gglobal.h
  • G_MAX_UINT64 : gglobal.h
  • G_MAX_UINT8 : gglobal.h
  • G_MAX_ULONG : gglobal.h
  • G_MEMORY_ERROR : gerror.h
  • G_MEMORY_ERROR_STR : gerror_it.h, gerror_en.h
  • G_MIN_DOUBLE : gglobal.h
  • G_MIN_FLOAT : gglobal.h
  • G_MIN_INT16 : gglobal.h
  • G_MIN_INT32 : gglobal.h
  • G_MIN_INT64 : gglobal.h
  • G_MIN_INT8 : gglobal.h
  • G_MIN_LONG : gglobal.h
  • G_MISSED_FEATURE : gerror.h
  • G_MISSED_FEATURE_STR : gerror_it.h, gerror_en.h
  • G_MISSING_KERNEL : gerror.h
  • G_MISSING_KERNEL_STR : gerror_it.h, gerror_en.h
  • G_NO_ERROR : gerror.h
  • G_NO_ERROR_STR : gerror_it.h, gerror_en.h
  • G_ONE_OVER_2PI : gmath.h
  • G_ONE_OVER_PI : gmath.h
  • G_OUT_OF_RANGE : gerror.h
  • G_OUT_OF_RANGE_STR : gerror_it.h, gerror_en.h
  • G_PERMISSION_DENIED : gerror.h
  • G_PERMISSION_DENIED_STR : gerror_it.h, gerror_en.h
  • G_PI : gmath.h
  • G_PI_OVER2 : gmath.h
  • G_PI_OVER4 : gmath.h
  • G_PLUGIN_ALREADYLOADED : gerror.h
  • G_PLUGIN_ALREADYLOADED_STR : gerror_it.h, gerror_en.h
  • G_PLUGIN_ISTANCED : gerror.h
  • G_PLUGIN_ISTANCED_STR : gerror_it.h, gerror_en.h
  • G_PLUGIN_NOTLOADED : gerror.h
  • G_PLUGIN_NOTLOADED_STR : gerror_it.h, gerror_en.h
  • G_PLUGIN_NOTPRESENT : gerror.h
  • G_PLUGIN_NOTPRESENT_STR : gerror_it.h, gerror_en.h
  • G_PLUGIN_SYMBOL_UNRESOLVED : gerror.h
  • G_PLUGIN_SYMBOL_UNRESOLVED_STR : gerror_it.h, gerror_en.h
  • G_READ_ERROR : gerror.h
  • G_READ_ERROR_STR : gerror_it.h, gerror_en.h
  • G_SMTP_CANTCONNECT : gerror.h
  • G_SMTP_CANTCONNECT_STR : gerror_it.h, gerror_en.h
  • G_SMTP_DATAERROR : gerror.h
  • G_SMTP_DATAERROR_STR : gerror_it.h, gerror_en.h
  • G_SMTP_FORWARDED : gerror.h
  • G_SMTP_FORWARDED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_MIMENOTSUPPORTED : gerror.h
  • G_SMTP_MIMENOTSUPPORTED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_NOTIMPLEMENTED : gerror.h
  • G_SMTP_NOTIMPLEMENTED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_SERVERCANTEXECUTE : gerror.h
  • G_SMTP_SERVERCANTEXECUTE_STR : gerror_it.h, gerror_en.h
  • G_SMTP_SERVICECLOSED : gerror.h
  • G_SMTP_SERVICECLOSED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_STORAGEEXCEDED : gerror.h
  • G_SMTP_STORAGEEXCEDED_STR : gerror_it.h, gerror_en.h
  • G_SMTP_SYNTAXERROR : gerror.h
  • G_SMTP_SYNTAXERROR_STR : gerror_it.h, gerror_en.h
  • G_SMTP_UNEXPECTEDANSWER : gerror.h
  • G_SMTP_UNEXPECTEDANSWER_STR : gerror_it.h, gerror_en.h
  • G_SMTP_UNKNOWNUSER : gerror.h
  • G_SMTP_UNKNOWNUSER_STR : gerror_it.h, gerror_en.h
  • G_SQRTHALF : gmath.h
  • G_TRUE : gglobal.h
  • G_UNKNOWN_ERROR : gerror.h
  • G_UNKNOWN_ERROR_STR : gerror_it.h, gerror_en.h
  • G_UNSUPPORTED_CLASSID : gerror.h
  • G_UNSUPPORTED_CLASSID_STR : gerror_it.h, gerror_en.h
  • G_USED_LANG : gglobal.h
  • G_WRITE_ERROR : gerror.h
  • G_WRITE_ERROR_STR : gerror_it.h, gerror_en.h
  • GBool : gglobal.h
  • GChar8 : gglobal.h
  • GDouble : gglobal.h
  • GDynArray : gglobal.h
  • GFloat : gglobal.h
  • GInt16 : gglobal.h
  • GInt32 : gglobal.h
  • GInt64 : gglobal.h
  • GInt8 : gglobal.h
  • GList : gglobal.h
  • GLong : gglobal.h
  • GString : gglobal.h
  • GStringList : gglobal.h
  • GUInt16 : gglobal.h
  • GUInt32 : gglobal.h
  • GUInt64 : gglobal.h
  • GUInt8 : gglobal.h
  • GULong : gglobal.h

- p -

  • PrintOpenGLError : gopenglext.cpp


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • g

- g -

  • GAnglesMeasureUnit : gglobal.h
  • GBoxSide : gglobal.h
  • GCapStyle : gdrawstyle.h
  • GCharMapEncoding : gfont2d.h
  • GClipOperation : gdrawboard.h
  • GColorRampInterpolation : gdrawstyle.h
  • GColorRampSpreadMode : gdrawstyle.h
  • GCompositingOperation : gdrawstyle.h
  • GDerivativeOrder : gcurve1d.h
  • GEndianType : gglobal.h
  • GEulerOrder : gglobal.h
  • GFillBehavior : gtesselator2d.h
  • GFillRule : gdrawstyle.h
  • GGradientType : gdrawstyle.h
  • GImageQuality : gdrawstyle.h
  • GJoinStyle : gdrawstyle.h
  • GKeyType : gelement.h
  • GOORType : gelement.h
  • GPaintType : gdrawstyle.h
  • GPixelFormat : gpixelmap.h
  • GReadWriteOp : gimpexp.h
  • GRenderingQuality : gdrawboard.h
  • GResizeOp : gpixelmap.h
  • GSortType : gglobal.h
  • GSpaceSystem : ganimtrsnode2d.h
  • GStrokeStyle : gdrawstyle.h
  • GSurfaceSide : gglobal.h
  • GTargetMode : gdrawboard.h
  • GTilingMode : gdrawstyle.h
  • GTurnPolicy : gtracer2d.h
  • GValueMethod : gelement.h
  • GVectorIndex : gglobal.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • g

- g -

  • G_A1R5G5B5 : gpixelmap.h
  • G_A8R8G8B8 : gpixelmap.h
  • G_ABSOLUTE_VALUE : gelement.h
  • G_ANY_FILLRULE : gdrawstyle.h
  • G_ANY_RULE : gtesselator2d.h
  • G_ASCENDING_SORT : gglobal.h
  • G_BACKSIDE : gglobal.h
  • G_BEVEL_JOIN : gdrawstyle.h
  • G_BIG_ENDIAN : gglobal.h
  • G_BOOL_KEY : gelement.h
  • G_BOTTOMSIDE : gglobal.h
  • G_BUTT_CAP : gdrawstyle.h
  • G_CACHE_MODE : gdrawboard.h
  • G_CIRCLE_UNIT : gglobal.h
  • G_CLEAR_OP : gdrawstyle.h
  • G_CLIP_AND_CACHE_MODE : gdrawboard.h
  • G_CLIP_MODE : gdrawboard.h
  • G_COLOR_AND_CACHE_MODE : gdrawboard.h
  • G_COLOR_BURN_OP : gdrawstyle.h
  • G_COLOR_DODGE_OP : gdrawstyle.h
  • G_COLOR_MODE : gdrawboard.h
  • G_COLOR_PAINT_TYPE : gdrawstyle.h
  • G_CONICAL_GRADIENT : gdrawstyle.h
  • G_CONNECT_BLACK : gtracer2d.h
  • G_CONNECT_DOMINANT : gtracer2d.h
  • G_CONNECT_NOT_DOMINANT : gtracer2d.h
  • G_CONNECT_WHITE : gtracer2d.h
  • G_CONSTANT_COLOR_INTERPOLATION : gdrawstyle.h
  • G_CONSTANT_OOR : gelement.h
  • G_DARKEN_OP : gdrawstyle.h
  • G_DASHED_STROKE : gdrawstyle.h
  • G_DEGREE_UNIT : gglobal.h
  • G_DESCENDING_SORT : gglobal.h
  • G_DIFFERENCE_OP : gdrawstyle.h
  • G_DST_ATOP_OP : gdrawstyle.h
  • G_DST_IN_OP : gdrawstyle.h
  • G_DST_OP : gdrawstyle.h
  • G_DST_OUT_OP : gdrawstyle.h
  • G_DST_OVER_OP : gdrawstyle.h
  • G_ENCODING_ADOBE_CUSTOM : gfont2d.h
  • G_ENCODING_ADOBE_EXPERT : gfont2d.h
  • G_ENCODING_ADOBE_STANDARD : gfont2d.h
  • G_ENCODING_APPLE_ROMAN : gfont2d.h
  • G_ENCODING_BIG5 : gfont2d.h
  • G_ENCODING_GB2312 : gfont2d.h
  • G_ENCODING_JOHAB : gfont2d.h
  • G_ENCODING_MS_SYMBOL : gfont2d.h
  • G_ENCODING_NONE : gfont2d.h
  • G_ENCODING_OLD_LATIN_2 : gfont2d.h
  • G_ENCODING_SJIS : gfont2d.h
  • G_ENCODING_UNICODE : gfont2d.h
  • G_ENCODING_WANSUNG : gfont2d.h
  • G_EVEN_ODD_FILLRULE : gdrawstyle.h
  • G_EVEN_ODD_RULE : gtesselator2d.h
  • G_EXCLUSION_OP : gdrawstyle.h
  • G_FIRST_ORDER_DERIVATIVE : gcurve1d.h
  • G_FRONTSIDE : gglobal.h
  • G_GRAD_UNIT : gglobal.h
  • G_GRADIENT_PAINT_TYPE : gdrawstyle.h
  • G_GRAYSCALE : gpixelmap.h
  • G_HARD_LIGHT_OP : gdrawstyle.h
  • G_HERMITE_COLOR_INTERPOLATION : gdrawstyle.h
  • G_HIGH_IMAGE_QUALITY : gdrawstyle.h
  • G_HIGH_RENDERING_QUALITY : gdrawboard.h
  • G_IMPEXP_READ : gimpexp.h
  • G_IMPEXP_READWRITE : gimpexp.h
  • G_IMPEXP_WRITE : gimpexp.h
  • G_INSIDE : gglobal.h
  • G_INT_KEY : gelement.h
  • G_INTERSECTION_CLIP : gdrawboard.h
  • G_LEFTSIDE : gglobal.h
  • G_LIGHTEN_OP : gdrawstyle.h
  • G_LINEAR_COLOR_INTERPOLATION : gdrawstyle.h
  • G_LINEAR_GRADIENT : gdrawstyle.h
  • G_LITTLE_ENDIAN : gglobal.h
  • G_LOCAL_SPACE : ganimtrsnode2d.h
  • G_LOOP_OOR : gelement.h
  • G_LOW_IMAGE_QUALITY : gdrawstyle.h
  • G_LOW_RENDERING_QUALITY : gdrawboard.h
  • G_MIL_UNIT : gglobal.h
  • G_MINUTE_UNIT : gglobal.h
  • G_MITER_JOIN : gdrawstyle.h
  • G_MULTIPLY_OP : gdrawstyle.h
  • G_NO_SORT : gglobal.h
  • G_NON_ZERO_FILLRULE : gdrawstyle.h
  • G_NON_ZERO_RULE : gtesselator2d.h
  • G_NORMAL_IMAGE_QUALITY : gdrawstyle.h
  • G_NORMAL_RENDERING_QUALITY : gdrawboard.h
  • G_OCTANT_UNIT : gglobal.h
  • G_ODD_EVEN_FILLRULE : gdrawstyle.h
  • G_ODD_EVEN_RULE : gtesselator2d.h
  • G_ONSURFACE : gglobal.h
  • G_OUTSIDE : gglobal.h
  • G_OVERLAY_OP : gdrawstyle.h
  • G_PAD_COLOR_RAMP_SPREAD : gdrawstyle.h
  • G_PAD_TILE : gdrawstyle.h
  • G_PATTERN_PAINT_TYPE : gdrawstyle.h
  • G_PINGPONG_OOR : gelement.h
  • G_PLUS_OP : gdrawstyle.h
  • G_QUADRANT_UNIT : gglobal.h
  • G_R5G6B5 : gpixelmap.h
  • G_R8G8B8 : gpixelmap.h
  • G_RADIAL_GRADIENT : gdrawstyle.h
  • G_RADIAN_UNIT : gglobal.h
  • G_REAL_KEY : gelement.h
  • G_REFLECT_COLOR_RAMP_SPREAD : gdrawstyle.h
  • G_REFLECT_TILE : gdrawstyle.h
  • G_RELATIVE_VALUE : gelement.h
  • G_REPEAT_COLOR_RAMP_SPREAD : gdrawstyle.h
  • G_REPEAT_TILE : gdrawstyle.h
  • G_REPLACE_CLIP : gdrawboard.h
  • G_RESIZE_BELL : gpixelmap.h
  • G_RESIZE_BESSEL : gpixelmap.h
  • G_RESIZE_BLACKMAN : gpixelmap.h
  • G_RESIZE_BOX : gpixelmap.h
  • G_RESIZE_CATMULLROM : gpixelmap.h
  • G_RESIZE_CUBIC : gpixelmap.h
  • G_RESIZE_GAUSSIAN : gpixelmap.h
  • G_RESIZE_HAMMING : gpixelmap.h
  • G_RESIZE_HANNING : gpixelmap.h
  • G_RESIZE_NORMAL : gpixelmap.h
  • G_RESIZE_QUADRATIC : gpixelmap.h
  • G_RESIZE_SINC : gpixelmap.h
  • G_RESIZE_TRIANGLE : gpixelmap.h
  • G_REVOLUTION_UNIT : gglobal.h
  • G_RGB_PALETTE : gpixelmap.h
  • G_RIGHTANGLE_UNIT : gglobal.h
  • G_RIGHTSIDE : gglobal.h
  • G_ROUND_CAP : gdrawstyle.h
  • G_ROUND_JOIN : gdrawstyle.h
  • G_SCREEN_OP : gdrawstyle.h
  • G_SECOND_ORDER_DERIVATIVE : gcurve1d.h
  • G_SECOND_UNIT : gglobal.h
  • G_SEXTANT_UNIT : gglobal.h
  • G_SIGN_UNIT : gglobal.h
  • G_SOFT_LIGHT_OP : gdrawstyle.h
  • G_SOLID_STROKE : gdrawstyle.h
  • G_SQUARE_CAP : gdrawstyle.h
  • G_SRC_ATOP_OP : gdrawstyle.h
  • G_SRC_IN_OP : gdrawstyle.h
  • G_SRC_OP : gdrawstyle.h
  • G_SRC_OUT_OP : gdrawstyle.h
  • G_SRC_OVER_OP : gdrawstyle.h
  • G_TOPSIDE : gglobal.h
  • G_TURN_UNIT : gglobal.h
  • G_UNDEFINED_KEY : gelement.h
  • G_VECTOR2_KEY : gelement.h
  • G_VECTOR3_KEY : gelement.h
  • G_VECTOR4_KEY : gelement.h
  • G_W : gglobal.h
  • G_WORLD_SPACE : ganimtrsnode2d.h
  • G_X : gglobal.h
  • G_XOR_OP : gdrawstyle.h
  • G_Y : gglobal.h
  • G_Z : gglobal.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

- a -

  • Abs() : gmath.h
  • Acos() : gmath.h
  • Aligned() : garea.h
  • AngleConversion() : gmath.h
  • Asin() : gmath.h
  • Atan() : gmath.h
  • Atan2() : gmath.h

- b -

  • BarycentricConvexSum() : gmath.h
  • BellFilter() : gfilter.h
  • BesselFilter() : gfilter.h
  • BesselI0() : gmath.h
  • BesselJ0() : gmath.h
  • BesselJ1() : gmath.h
  • BesselJN() : gmath.h
  • BesselY0() : gmath.h
  • BesselY1() : gmath.h
  • BesselYN() : gmath.h
  • BesslI1() : gmath.h
  • Binomial() : gmath.h
  • BlackmanFilter() : gfilter.h
  • BoxFilter() : gfilter.h

- c -

  • CatmullRomFilter() : gfilter.h
  • CCWSmallerAngleSpan() : garea.h
  • Ceil() : gmath.h
  • Clamp() : gmath.h
  • ClockWise() : garea.h
  • ClockWiseOrAligned() : garea.h
  • Cos() : gmath.h
  • CounterClockWise() : garea.h
  • CounterClockWiseOrAligned() : garea.h
  • Cross() : gvect.h
  • CubicFilter() : gfilter.h

- d -

  • DecompCholesky() : gmatrix.h
  • DecompLU() : gmatrix.h
  • DecompPolar() : gmatrix.h
  • DecompPolar_Rank1() : gmatrix.h
  • DecompPolar_Rank2() : gmatrix.h
  • DecompQR() : gmatrix.h
  • DecompSVD() : gmatrix.h
  • Deg2Rad() : gmath.h
  • Dot() : gvect.h, gquat.h

- e -

  • Exp() : gmath.h

- f -

  • Factorial() : gmath.h
  • FindNearestPoint() : gray.h, gplane.h
  • Floor() : gmath.h
  • FloorDiv() : gmath.h

- g -

  • GaussianFilter() : gfilter.h

- h -

  • HammingFilter() : gfilter.h
  • HanningFilter() : gfilter.h
  • HouseholderColumnsReflect() : gmatrix.h
  • HouseholderRowsReflect() : gmatrix.h

- i -

  • Identity() : gmatrix.h
  • InvertFull_GJ() : gmatrix.h
  • InvertOrthogonal() : gmatrix.h
  • InvertTrans() : gmatrix.h
  • IsClockWise() : gvect.h
  • IsEqual() : gmath.h, gvect.h, gsphere.h, gray.h, gquat.h, gplane.h, goobox.h, gmatrix.h, gaabox.h
  • IsEquivalent() : gquat.h
  • IsInCircle() : garea.h

- k -

  • KaiserFilter() : gfilter.h

- l -

  • Length() : gvect.h
  • LengthSquared() : gvect.h
  • Lerp() : gmath.h
  • Log() : gmath.h
  • Log10() : gmath.h
  • Log10Star() : gmath.h
  • Log2() : gmath.h
  • Log2Star() : gmath.h
  • LogStar() : gmath.h

- m -

  • MatrixToRotation() : gxformconv.h
  • Max() : gmath.h
  • MCM() : gmath.h
  • Min() : gmath.h
  • MitchellFilter() : gfilter.h
  • Mult() : gmatrix.h

- n -

  • NonSymHessenbergReduction() : gmatrix.h
  • NonSymSchurReduction() : gmatrix.h
  • NormalFilter() : gfilter.h

- o -

  • operator *() : gvect.h, gmatrix.h
  • operator *=() : gvect.h, gmatrix.h
  • operator+() : gvect.h
  • operator+=() : gvect.h, gmatrix.h
  • operator-() : gvect.h, gmatrix.h
  • operator-=() : gvect.h, gmatrix.h
  • operator/() : gvect.h
  • operator/=() : gvect.h

- p -

  • PostMult() : gmatrix.h
  • Pow() : gmath.h
  • PreMult() : gmatrix.h

- q -

  • QuadraticFilter() : gfilter.h
  • QuadraticForm() : gxform.h
  • QuadraticFormula() : gmath.h

- r -

  • Rad2Deg() : gmath.h
  • RangeRandom() : gmath.h
  • Reflect() : gvect.h
  • ReverseArray() : gutilities.h
  • RotationToMatrix() : gxformconv.h
  • Round() : gmath.h

- s -

  • ScaleToMatrix() : gxformconv.h
  • SeedRandom() : gmath.h
  • Shear2DToMatrix() : gxformconv.h
  • Shear3DToMatrix() : gxformconv.h
  • Sign() : gmath.h
  • SignedArea() : garea.h
  • Sin() : gmath.h
  • SincFilter() : gfilter.h
  • Slerp() : gquat.h
  • Sqr() : gmath.h
  • Sqrt() : gmath.h
  • Squad() : gquat.h
  • SymHouseholderTridReduction() : gmatrix.h
  • SymTridQL() : gmatrix.h

- t -

  • Tan() : gmath.h
  • TranslationToMatrix() : gxformconv.h
  • Transpose() : gmatrix.h
  • TriangleFilter() : gfilter.h
  • Trunc() : gmath.h
  • TwiceSignedArea() : garea.h

- u -

  • UnitRandom() : gmath.h
  • UnitRandomf() : gmath.h

- z -

  • Zero() : gmatrix.h
  • ZeroClamp() : gmath.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • g

- g -

  • GAABox2 : gaabox.h
  • GAABox3 : gaabox.h
  • GAxisAngle : gaxisangle.h
  • GError : gglobal.h
  • GLineSegment2 : glineseg.h
  • GLineSegment3 : glineseg.h
  • GLLong : gglobal.h
  • GMatrix22 : gmatrix.h
  • GMatrix23 : gmatrix.h
  • GMatrix33 : gmatrix.h
  • GMatrix34 : gmatrix.h
  • GMatrix43 : gmatrix.h
  • GMatrix44 : gmatrix.h
  • GOOBox2 : goobox.h
  • GOOBox3 : goobox.h
  • GPlane : gplane.h
  • GPoint2 : gvect.h
  • GPoint3 : gvect.h
  • GPoint4 : gvect.h
  • GQuaternion : gquat.h
  • GRay2 : gray.h
  • GRay3 : gray.h
  • GReal : gglobal.h
  • GSphere2 : gsphere.h
  • GSphere3 : gsphere.h
  • GTimeInterval : gelement.h
  • GTimeValue : gglobal.h
  • GUChar8 : gglobal.h
  • GULLong : gglobal.h
  • GVector2 : gvect.h
  • GVector3 : gvect.h
  • GVector4 : gvect.h


  • File List
  • File Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines

  • G_EPSILON : gglobal.h
  • G_MAX_REAL : gglobal.h
  • G_MIN_REAL : gglobal.h
  • G_QUAT_ADD_IDENTITYF : gquat.h
  • G_QUAT_MULT_IDENTITYF : gquat.h


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- a -

  • Abs() : Amanith::GMath
  • Acos() : Amanith::GMath
  • Aligned() : Amanith
  • AngleConversion() : Amanith::GMath
  • Asin() : Amanith::GMath
  • Atan() : Amanith::GMath
  • Atan2() : Amanith::GMath


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- k -

  • KaiserFilter() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- l -

  • Length() : Amanith
  • LengthSquared() : Amanith
  • Lerp() : Amanith::GMath
  • Log() : Amanith::GMath
  • Log10() : Amanith::GMath
  • Log10Star() : Amanith::GMath
  • Log2() : Amanith::GMath
  • Log2Star() : Amanith::GMath
  • LogStar() : Amanith::GMath


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- m -

  • MatrixToRotation() : Amanith
  • Max() : Amanith::GMath
  • MCM() : Amanith::GMath
  • Min() : Amanith::GMath
  • MitchellFilter() : Amanith
  • Mult() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- n -

  • NonSymHessenbergReduction() : Amanith
  • NonSymSchurReduction() : Amanith
  • NormalFilter() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- o -

  • operator *() : Amanith
  • operator *=() : Amanith
  • operator+() : Amanith
  • operator+=() : Amanith
  • operator-() : Amanith
  • operator-=() : Amanith
  • operator/() : Amanith
  • operator/=() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- z -

  • Zero() : Amanith
  • ZeroClamp() : Amanith::GMath


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- b -

  • BarycentricConvexSum() : Amanith::GMath
  • BellFilter() : Amanith
  • BesselFilter() : Amanith
  • BesselI0() : Amanith::GMath
  • BesselJ0() : Amanith::GMath
  • BesselJ1() : Amanith::GMath
  • BesselJN() : Amanith::GMath
  • BesselY0() : Amanith::GMath
  • BesselY1() : Amanith::GMath
  • BesselYN() : Amanith::GMath
  • BesslI1() : Amanith::GMath
  • Binomial() : Amanith::GMath
  • BlackmanFilter() : Amanith
  • BoxFilter() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- c -

  • CatmullRomFilter() : Amanith
  • CCWSmallerAngleSpan() : Amanith
  • Ceil() : Amanith::GMath
  • Clamp() : Amanith::GMath
  • ClockWise() : Amanith
  • ClockWiseOrAligned() : Amanith
  • Cos() : Amanith::GMath
  • CounterClockWise() : Amanith
  • CounterClockWiseOrAligned() : Amanith
  • Cross() : Amanith
  • CubicFilter() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- d -

  • DecompCholesky() : Amanith
  • DecompLU() : Amanith
  • DecompPolar() : Amanith
  • DecompPolar_Rank1() : Amanith
  • DecompPolar_Rank2() : Amanith
  • DecompQR() : Amanith
  • DecompSVD() : Amanith
  • Deg2Rad() : Amanith::GMath
  • Dot() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- e -

  • Exp() : Amanith::GMath


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- f -

  • Factorial() : Amanith::GMath
  • FindNearestPoint() : Amanith
  • Floor() : Amanith::GMath
  • FloorDiv() : Amanith::GMath


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- g -

  • G_A1R5G5B5 : Amanith
  • G_A8R8G8B8 : Amanith
  • G_ABSOLUTE_VALUE : Amanith
  • G_ANY_FILLRULE : Amanith
  • G_ANY_RULE : Amanith
  • G_ASCENDING_SORT : Amanith
  • G_BACKSIDE : Amanith
  • G_BEVEL_JOIN : Amanith
  • G_BIG_ENDIAN : Amanith
  • G_BOOL_KEY : Amanith
  • G_BOTTOMSIDE : Amanith
  • G_BUTT_CAP : Amanith
  • G_CACHE_MODE : Amanith
  • G_CIRCLE_UNIT : Amanith
  • G_CLEAR_OP : Amanith
  • G_CLIP_AND_CACHE_MODE : Amanith
  • G_CLIP_MODE : Amanith
  • G_COLOR_AND_CACHE_MODE : Amanith
  • G_COLOR_BURN_OP : Amanith
  • G_COLOR_DODGE_OP : Amanith
  • G_COLOR_MODE : Amanith
  • G_COLOR_PAINT_TYPE : Amanith
  • G_CONICAL_GRADIENT : Amanith
  • G_CONNECT_BLACK : Amanith
  • G_CONNECT_DOMINANT : Amanith
  • G_CONNECT_NOT_DOMINANT : Amanith
  • G_CONNECT_WHITE : Amanith
  • G_CONSTANT_COLOR_INTERPOLATION : Amanith
  • G_CONSTANT_OOR : Amanith
  • G_DARKEN_OP : Amanith
  • G_DASHED_STROKE : Amanith
  • G_DEGREE_UNIT : Amanith
  • G_DESCENDING_SORT : Amanith
  • G_DIFFERENCE_OP : Amanith
  • G_DST_ATOP_OP : Amanith
  • G_DST_IN_OP : Amanith
  • G_DST_OP : Amanith
  • G_DST_OUT_OP : Amanith
  • G_DST_OVER_OP : Amanith
  • G_ENCODING_ADOBE_CUSTOM : Amanith
  • G_ENCODING_ADOBE_EXPERT : Amanith
  • G_ENCODING_ADOBE_STANDARD : Amanith
  • G_ENCODING_APPLE_ROMAN : Amanith
  • G_ENCODING_BIG5 : Amanith
  • G_ENCODING_GB2312 : Amanith
  • G_ENCODING_JOHAB : Amanith
  • G_ENCODING_MS_SYMBOL : Amanith
  • G_ENCODING_NONE : Amanith
  • G_ENCODING_OLD_LATIN_2 : Amanith
  • G_ENCODING_SJIS : Amanith
  • G_ENCODING_UNICODE : Amanith
  • G_ENCODING_WANSUNG : Amanith
  • G_EPSILON : Amanith
  • G_EVEN_ODD_FILLRULE : Amanith
  • G_EVEN_ODD_RULE : Amanith
  • G_EXCLUSION_OP : Amanith
  • G_FIRST_ORDER_DERIVATIVE : Amanith
  • G_FRONTSIDE : Amanith
  • G_GRAD_UNIT : Amanith
  • G_GRADIENT_PAINT_TYPE : Amanith
  • G_GRAYSCALE : Amanith
  • G_HARD_LIGHT_OP : Amanith
  • G_HERMITE_COLOR_INTERPOLATION : Amanith
  • G_HIGH_IMAGE_QUALITY : Amanith
  • G_HIGH_RENDERING_QUALITY : Amanith
  • G_IMPEXP_READ : Amanith
  • G_IMPEXP_READWRITE : Amanith
  • G_IMPEXP_WRITE : Amanith
  • G_INSIDE : Amanith
  • G_INT_KEY : Amanith
  • G_INTERSECTION_CLIP : Amanith
  • G_LEFTSIDE : Amanith
  • G_LIGHTEN_OP : Amanith
  • G_LINEAR_COLOR_INTERPOLATION : Amanith
  • G_LINEAR_GRADIENT : Amanith
  • G_LITTLE_ENDIAN : Amanith
  • G_LOCAL_SPACE : Amanith
  • G_LOOP_OOR : Amanith
  • G_LOW_IMAGE_QUALITY : Amanith
  • G_LOW_RENDERING_QUALITY : Amanith
  • G_MAX_REAL : Amanith
  • G_MIL_UNIT : Amanith
  • G_MIN_REAL : Amanith
  • G_MINUTE_UNIT : Amanith
  • G_MITER_JOIN : Amanith
  • G_MULTIPLY_OP : Amanith
  • G_NO_SORT : Amanith
  • G_NON_ZERO_FILLRULE : Amanith
  • G_NON_ZERO_RULE : Amanith
  • G_NORMAL_IMAGE_QUALITY : Amanith
  • G_NORMAL_RENDERING_QUALITY : Amanith
  • G_OCTANT_UNIT : Amanith
  • G_ODD_EVEN_FILLRULE : Amanith
  • G_ODD_EVEN_RULE : Amanith
  • G_ONSURFACE : Amanith
  • G_OUTSIDE : Amanith
  • G_OVERLAY_OP : Amanith
  • G_PAD_COLOR_RAMP_SPREAD : Amanith
  • G_PAD_TILE : Amanith
  • G_PATTERN_PAINT_TYPE : Amanith
  • G_PINGPONG_OOR : Amanith
  • G_PLUS_OP : Amanith
  • G_QUADRANT_UNIT : Amanith
  • G_QUAT_ADD_IDENTITYF : Amanith
  • G_QUAT_MULT_IDENTITYF : Amanith
  • G_R5G6B5 : Amanith
  • G_R8G8B8 : Amanith
  • G_RADIAL_GRADIENT : Amanith
  • G_RADIAN_UNIT : Amanith
  • G_REAL_KEY : Amanith
  • G_REFLECT_COLOR_RAMP_SPREAD : Amanith
  • G_REFLECT_TILE : Amanith
  • G_RELATIVE_VALUE : Amanith
  • G_REPEAT_COLOR_RAMP_SPREAD : Amanith
  • G_REPEAT_TILE : Amanith
  • G_REPLACE_CLIP : Amanith
  • G_RESIZE_BELL : Amanith
  • G_RESIZE_BESSEL : Amanith
  • G_RESIZE_BLACKMAN : Amanith
  • G_RESIZE_BOX : Amanith
  • G_RESIZE_CATMULLROM : Amanith
  • G_RESIZE_CUBIC : Amanith
  • G_RESIZE_GAUSSIAN : Amanith
  • G_RESIZE_HAMMING : Amanith
  • G_RESIZE_HANNING : Amanith
  • G_RESIZE_NORMAL : Amanith
  • G_RESIZE_QUADRATIC : Amanith
  • G_RESIZE_SINC : Amanith
  • G_RESIZE_TRIANGLE : Amanith
  • G_REVOLUTION_UNIT : Amanith
  • G_RGB_PALETTE : Amanith
  • G_RIGHTANGLE_UNIT : Amanith
  • G_RIGHTSIDE : Amanith
  • G_ROUND_CAP : Amanith
  • G_ROUND_JOIN : Amanith
  • G_SCREEN_OP : Amanith
  • G_SECOND_ORDER_DERIVATIVE : Amanith
  • G_SECOND_UNIT : Amanith
  • G_SEXTANT_UNIT : Amanith
  • G_SIGN_UNIT : Amanith
  • G_SOFT_LIGHT_OP : Amanith
  • G_SOLID_STROKE : Amanith
  • G_SQUARE_CAP : Amanith
  • G_SRC_ATOP_OP : Amanith
  • G_SRC_IN_OP : Amanith
  • G_SRC_OP : Amanith
  • G_SRC_OUT_OP : Amanith
  • G_SRC_OVER_OP : Amanith
  • G_TOPSIDE : Amanith
  • G_TURN_UNIT : Amanith
  • G_UNDEFINED_KEY : Amanith
  • G_VECTOR2_KEY : Amanith
  • G_VECTOR3_KEY : Amanith
  • G_VECTOR4_KEY : Amanith
  • G_W : Amanith
  • G_WORLD_SPACE : Amanith
  • G_X : Amanith
  • G_XOR_OP : Amanith
  • G_Y : Amanith
  • G_Z : Amanith
  • GAABox2 : Amanith
  • GAABox3 : Amanith
  • GAnglesMeasureUnit : Amanith
  • GaussianFilter() : Amanith
  • GAxisAngle : Amanith
  • GBoxSide : Amanith
  • GCapStyle : Amanith
  • GCharMapEncoding : Amanith
  • GClipOperation : Amanith
  • GColorRampInterpolation : Amanith
  • GColorRampSpreadMode : Amanith
  • GCompositingOperation : Amanith
  • GDerivativeOrder : Amanith
  • GEndianType : Amanith
  • GError : Amanith
  • GEulerOrder : Amanith
  • GFillBehavior : Amanith
  • GFillRule : Amanith
  • GGradientType : Amanith
  • GImageQuality : Amanith
  • GJoinStyle : Amanith
  • GKeyType : Amanith
  • GLineSegment2 : Amanith
  • GLineSegment3 : Amanith
  • GLLong : Amanith
  • GMatrix22 : Amanith
  • GMatrix23 : Amanith
  • GMatrix33 : Amanith
  • GMatrix34 : Amanith
  • GMatrix43 : Amanith
  • GMatrix44 : Amanith
  • GOOBox2 : Amanith
  • GOOBox3 : Amanith
  • GOORType : Amanith
  • GPaintType : Amanith
  • GPixelFormat : Amanith
  • GPlane : Amanith
  • GPoint2 : Amanith
  • GPoint3 : Amanith
  • GPoint4 : Amanith
  • GQuaternion : Amanith
  • GRay2 : Amanith
  • GRay3 : Amanith
  • GReadWriteOp : Amanith
  • GReal : Amanith
  • GRenderingQuality : Amanith
  • GResizeOp : Amanith
  • GSortType : Amanith
  • GSpaceSystem : Amanith
  • GSphere2 : Amanith
  • GSphere3 : Amanith
  • GStrokeStyle : Amanith
  • GSurfaceSide : Amanith
  • GTargetMode : Amanith
  • GTilingMode : Amanith
  • GTimeInterval : Amanith
  • GTimeValue : Amanith
  • GTurnPolicy : Amanith
  • GUChar8 : Amanith
  • GULLong : Amanith
  • GValueMethod : Amanith
  • GVector2 : Amanith
  • GVector3 : Amanith
  • GVector4 : Amanith
  • GVectorIndex : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- h -

  • HammingFilter() : Amanith
  • HanningFilter() : Amanith
  • HouseholderColumnsReflect() : Amanith
  • HouseholderRowsReflect() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- i -

  • Identity() : Amanith
  • InvertFull_GJ() : Amanith
  • InvertOrthogonal() : Amanith
  • InvertTrans() : Amanith
  • IsClockWise() : Amanith
  • IsEqual() : Amanith::GMath, Amanith
  • IsEquivalent() : Amanith
  • IsInCircle() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- p -

  • PostMult() : Amanith
  • Pow() : Amanith::GMath
  • PreMult() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- q -

  • QuadraticFilter() : Amanith
  • QuadraticForm() : Amanith
  • QuadraticFormula() : Amanith::GMath


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- r -

  • Rad2Deg() : Amanith::GMath
  • RangeRandom() : Amanith::GMath
  • Reflect() : Amanith
  • ReverseArray() : Amanith
  • RotationToMatrix() : Amanith
  • Round() : Amanith::GMath


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- s -

  • ScaleToMatrix() : Amanith
  • SeedRandom() : Amanith::GMath
  • Shear2DToMatrix() : Amanith
  • Shear3DToMatrix() : Amanith
  • Sign() : Amanith::GMath
  • SignedArea() : Amanith
  • Sin() : Amanith::GMath
  • SincFilter() : Amanith
  • Slerp() : Amanith
  • Sqr() : Amanith::GMath
  • Sqrt() : Amanith::GMath
  • Squad() : Amanith
  • SymHouseholderTridReduction() : Amanith
  • SymTridQL() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- t -

  • Tan() : Amanith::GMath
  • TranslationToMatrix() : Amanith
  • Transpose() : Amanith
  • TriangleFilter() : Amanith
  • Trunc() : Amanith::GMath
  • TwiceSignedArea() : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

Here is a list of all documented namespace members with links to the namespaces they belong to:

- u -

  • UnitRandom() : Amanith::GMath
  • UnitRandomf() : Amanith::GMath


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • g

- g -

  • GAnglesMeasureUnit : Amanith
  • GBoxSide : Amanith
  • GCapStyle : Amanith
  • GCharMapEncoding : Amanith
  • GClipOperation : Amanith
  • GColorRampInterpolation : Amanith
  • GColorRampSpreadMode : Amanith
  • GCompositingOperation : Amanith
  • GDerivativeOrder : Amanith
  • GEndianType : Amanith
  • GEulerOrder : Amanith
  • GFillBehavior : Amanith
  • GFillRule : Amanith
  • GGradientType : Amanith
  • GImageQuality : Amanith
  • GJoinStyle : Amanith
  • GKeyType : Amanith
  • GOORType : Amanith
  • GPaintType : Amanith
  • GPixelFormat : Amanith
  • GReadWriteOp : Amanith
  • GRenderingQuality : Amanith
  • GResizeOp : Amanith
  • GSortType : Amanith
  • GSpaceSystem : Amanith
  • GStrokeStyle : Amanith
  • GSurfaceSide : Amanith
  • GTargetMode : Amanith
  • GTilingMode : Amanith
  • GTurnPolicy : Amanith
  • GValueMethod : Amanith
  • GVectorIndex : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • g

- g -

  • G_A1R5G5B5 : Amanith
  • G_A8R8G8B8 : Amanith
  • G_ABSOLUTE_VALUE : Amanith
  • G_ANY_FILLRULE : Amanith
  • G_ANY_RULE : Amanith
  • G_ASCENDING_SORT : Amanith
  • G_BACKSIDE : Amanith
  • G_BEVEL_JOIN : Amanith
  • G_BIG_ENDIAN : Amanith
  • G_BOOL_KEY : Amanith
  • G_BOTTOMSIDE : Amanith
  • G_BUTT_CAP : Amanith
  • G_CACHE_MODE : Amanith
  • G_CIRCLE_UNIT : Amanith
  • G_CLEAR_OP : Amanith
  • G_CLIP_AND_CACHE_MODE : Amanith
  • G_CLIP_MODE : Amanith
  • G_COLOR_AND_CACHE_MODE : Amanith
  • G_COLOR_BURN_OP : Amanith
  • G_COLOR_DODGE_OP : Amanith
  • G_COLOR_MODE : Amanith
  • G_COLOR_PAINT_TYPE : Amanith
  • G_CONICAL_GRADIENT : Amanith
  • G_CONNECT_BLACK : Amanith
  • G_CONNECT_DOMINANT : Amanith
  • G_CONNECT_NOT_DOMINANT : Amanith
  • G_CONNECT_WHITE : Amanith
  • G_CONSTANT_COLOR_INTERPOLATION : Amanith
  • G_CONSTANT_OOR : Amanith
  • G_DARKEN_OP : Amanith
  • G_DASHED_STROKE : Amanith
  • G_DEGREE_UNIT : Amanith
  • G_DESCENDING_SORT : Amanith
  • G_DIFFERENCE_OP : Amanith
  • G_DST_ATOP_OP : Amanith
  • G_DST_IN_OP : Amanith
  • G_DST_OP : Amanith
  • G_DST_OUT_OP : Amanith
  • G_DST_OVER_OP : Amanith
  • G_ENCODING_ADOBE_CUSTOM : Amanith
  • G_ENCODING_ADOBE_EXPERT : Amanith
  • G_ENCODING_ADOBE_STANDARD : Amanith
  • G_ENCODING_APPLE_ROMAN : Amanith
  • G_ENCODING_BIG5 : Amanith
  • G_ENCODING_GB2312 : Amanith
  • G_ENCODING_JOHAB : Amanith
  • G_ENCODING_MS_SYMBOL : Amanith
  • G_ENCODING_NONE : Amanith
  • G_ENCODING_OLD_LATIN_2 : Amanith
  • G_ENCODING_SJIS : Amanith
  • G_ENCODING_UNICODE : Amanith
  • G_ENCODING_WANSUNG : Amanith
  • G_EVEN_ODD_FILLRULE : Amanith
  • G_EVEN_ODD_RULE : Amanith
  • G_EXCLUSION_OP : Amanith
  • G_FIRST_ORDER_DERIVATIVE : Amanith
  • G_FRONTSIDE : Amanith
  • G_GRAD_UNIT : Amanith
  • G_GRADIENT_PAINT_TYPE : Amanith
  • G_GRAYSCALE : Amanith
  • G_HARD_LIGHT_OP : Amanith
  • G_HERMITE_COLOR_INTERPOLATION : Amanith
  • G_HIGH_IMAGE_QUALITY : Amanith
  • G_HIGH_RENDERING_QUALITY : Amanith
  • G_IMPEXP_READ : Amanith
  • G_IMPEXP_READWRITE : Amanith
  • G_IMPEXP_WRITE : Amanith
  • G_INSIDE : Amanith
  • G_INT_KEY : Amanith
  • G_INTERSECTION_CLIP : Amanith
  • G_LEFTSIDE : Amanith
  • G_LIGHTEN_OP : Amanith
  • G_LINEAR_COLOR_INTERPOLATION : Amanith
  • G_LINEAR_GRADIENT : Amanith
  • G_LITTLE_ENDIAN : Amanith
  • G_LOCAL_SPACE : Amanith
  • G_LOOP_OOR : Amanith
  • G_LOW_IMAGE_QUALITY : Amanith
  • G_LOW_RENDERING_QUALITY : Amanith
  • G_MIL_UNIT : Amanith
  • G_MINUTE_UNIT : Amanith
  • G_MITER_JOIN : Amanith
  • G_MULTIPLY_OP : Amanith
  • G_NO_SORT : Amanith
  • G_NON_ZERO_FILLRULE : Amanith
  • G_NON_ZERO_RULE : Amanith
  • G_NORMAL_IMAGE_QUALITY : Amanith
  • G_NORMAL_RENDERING_QUALITY : Amanith
  • G_OCTANT_UNIT : Amanith
  • G_ODD_EVEN_FILLRULE : Amanith
  • G_ODD_EVEN_RULE : Amanith
  • G_ONSURFACE : Amanith
  • G_OUTSIDE : Amanith
  • G_OVERLAY_OP : Amanith
  • G_PAD_COLOR_RAMP_SPREAD : Amanith
  • G_PAD_TILE : Amanith
  • G_PATTERN_PAINT_TYPE : Amanith
  • G_PINGPONG_OOR : Amanith
  • G_PLUS_OP : Amanith
  • G_QUADRANT_UNIT : Amanith
  • G_R5G6B5 : Amanith
  • G_R8G8B8 : Amanith
  • G_RADIAL_GRADIENT : Amanith
  • G_RADIAN_UNIT : Amanith
  • G_REAL_KEY : Amanith
  • G_REFLECT_COLOR_RAMP_SPREAD : Amanith
  • G_REFLECT_TILE : Amanith
  • G_RELATIVE_VALUE : Amanith
  • G_REPEAT_COLOR_RAMP_SPREAD : Amanith
  • G_REPEAT_TILE : Amanith
  • G_REPLACE_CLIP : Amanith
  • G_RESIZE_BELL : Amanith
  • G_RESIZE_BESSEL : Amanith
  • G_RESIZE_BLACKMAN : Amanith
  • G_RESIZE_BOX : Amanith
  • G_RESIZE_CATMULLROM : Amanith
  • G_RESIZE_CUBIC : Amanith
  • G_RESIZE_GAUSSIAN : Amanith
  • G_RESIZE_HAMMING : Amanith
  • G_RESIZE_HANNING : Amanith
  • G_RESIZE_NORMAL : Amanith
  • G_RESIZE_QUADRATIC : Amanith
  • G_RESIZE_SINC : Amanith
  • G_RESIZE_TRIANGLE : Amanith
  • G_REVOLUTION_UNIT : Amanith
  • G_RGB_PALETTE : Amanith
  • G_RIGHTANGLE_UNIT : Amanith
  • G_RIGHTSIDE : Amanith
  • G_ROUND_CAP : Amanith
  • G_ROUND_JOIN : Amanith
  • G_SCREEN_OP : Amanith
  • G_SECOND_ORDER_DERIVATIVE : Amanith
  • G_SECOND_UNIT : Amanith
  • G_SEXTANT_UNIT : Amanith
  • G_SIGN_UNIT : Amanith
  • G_SOFT_LIGHT_OP : Amanith
  • G_SOLID_STROKE : Amanith
  • G_SQUARE_CAP : Amanith
  • G_SRC_ATOP_OP : Amanith
  • G_SRC_IN_OP : Amanith
  • G_SRC_OP : Amanith
  • G_SRC_OUT_OP : Amanith
  • G_SRC_OVER_OP : Amanith
  • G_TOPSIDE : Amanith
  • G_TURN_UNIT : Amanith
  • G_UNDEFINED_KEY : Amanith
  • G_VECTOR2_KEY : Amanith
  • G_VECTOR3_KEY : Amanith
  • G_VECTOR4_KEY : Amanith
  • G_W : Amanith
  • G_WORLD_SPACE : Amanith
  • G_X : Amanith
  • G_XOR_OP : Amanith
  • G_Y : Amanith
  • G_Z : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • z

- a -

  • Abs() : Amanith::GMath
  • Acos() : Amanith::GMath
  • Aligned() : Amanith
  • AngleConversion() : Amanith::GMath
  • Asin() : Amanith::GMath
  • Atan() : Amanith::GMath
  • Atan2() : Amanith::GMath

- b -

  • BarycentricConvexSum() : Amanith::GMath
  • BellFilter() : Amanith
  • BesselFilter() : Amanith
  • BesselI0() : Amanith::GMath
  • BesselJ0() : Amanith::GMath
  • BesselJ1() : Amanith::GMath
  • BesselJN() : Amanith::GMath
  • BesselY0() : Amanith::GMath
  • BesselY1() : Amanith::GMath
  • BesselYN() : Amanith::GMath
  • BesslI1() : Amanith::GMath
  • Binomial() : Amanith::GMath
  • BlackmanFilter() : Amanith
  • BoxFilter() : Amanith

- c -

  • CatmullRomFilter() : Amanith
  • CCWSmallerAngleSpan() : Amanith
  • Ceil() : Amanith::GMath
  • Clamp() : Amanith::GMath
  • ClockWise() : Amanith
  • ClockWiseOrAligned() : Amanith
  • Cos() : Amanith::GMath
  • CounterClockWise() : Amanith
  • CounterClockWiseOrAligned() : Amanith
  • Cross() : Amanith
  • CubicFilter() : Amanith

- d -

  • DecompCholesky() : Amanith
  • DecompLU() : Amanith
  • DecompPolar() : Amanith
  • DecompPolar_Rank1() : Amanith
  • DecompPolar_Rank2() : Amanith
  • DecompQR() : Amanith
  • DecompSVD() : Amanith
  • Deg2Rad() : Amanith::GMath
  • Dot() : Amanith

- e -

  • Exp() : Amanith::GMath

- f -

  • Factorial() : Amanith::GMath
  • FindNearestPoint() : Amanith
  • Floor() : Amanith::GMath
  • FloorDiv() : Amanith::GMath

- g -

  • GaussianFilter() : Amanith

- h -

  • HammingFilter() : Amanith
  • HanningFilter() : Amanith
  • HouseholderColumnsReflect() : Amanith
  • HouseholderRowsReflect() : Amanith

- i -

  • Identity() : Amanith
  • InvertFull_GJ() : Amanith
  • InvertOrthogonal() : Amanith
  • InvertTrans() : Amanith
  • IsClockWise() : Amanith
  • IsEqual() : Amanith::GMath, Amanith
  • IsEquivalent() : Amanith
  • IsInCircle() : Amanith

- k -

  • KaiserFilter() : Amanith

- l -

  • Length() : Amanith
  • LengthSquared() : Amanith
  • Lerp() : Amanith::GMath
  • Log() : Amanith::GMath
  • Log10() : Amanith::GMath
  • Log10Star() : Amanith::GMath
  • Log2() : Amanith::GMath
  • Log2Star() : Amanith::GMath
  • LogStar() : Amanith::GMath

- m -

  • MatrixToRotation() : Amanith
  • Max() : Amanith::GMath
  • MCM() : Amanith::GMath
  • Min() : Amanith::GMath
  • MitchellFilter() : Amanith
  • Mult() : Amanith

- n -

  • NonSymHessenbergReduction() : Amanith
  • NonSymSchurReduction() : Amanith
  • NormalFilter() : Amanith

- o -

  • operator *() : Amanith
  • operator *=() : Amanith
  • operator+() : Amanith
  • operator+=() : Amanith
  • operator-() : Amanith
  • operator-=() : Amanith
  • operator/() : Amanith
  • operator/=() : Amanith

- p -

  • PostMult() : Amanith
  • Pow() : Amanith::GMath
  • PreMult() : Amanith

- q -

  • QuadraticFilter() : Amanith
  • QuadraticForm() : Amanith
  • QuadraticFormula() : Amanith::GMath

- r -

  • Rad2Deg() : Amanith::GMath
  • RangeRandom() : Amanith::GMath
  • Reflect() : Amanith
  • ReverseArray() : Amanith
  • RotationToMatrix() : Amanith
  • Round() : Amanith::GMath

- s -

  • ScaleToMatrix() : Amanith
  • SeedRandom() : Amanith::GMath
  • Shear2DToMatrix() : Amanith
  • Shear3DToMatrix() : Amanith
  • Sign() : Amanith::GMath
  • SignedArea() : Amanith
  • Sin() : Amanith::GMath
  • SincFilter() : Amanith
  • Slerp() : Amanith
  • Sqr() : Amanith::GMath
  • Sqrt() : Amanith::GMath
  • Squad() : Amanith
  • SymHouseholderTridReduction() : Amanith
  • SymTridQL() : Amanith

- t -

  • Tan() : Amanith::GMath
  • TranslationToMatrix() : Amanith
  • Transpose() : Amanith
  • TriangleFilter() : Amanith
  • Trunc() : Amanith::GMath
  • TwiceSignedArea() : Amanith

- u -

  • UnitRandom() : Amanith::GMath
  • UnitRandomf() : Amanith::GMath

- z -

  • Zero() : Amanith
  • ZeroClamp() : Amanith::GMath


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • g

- g -

  • GAABox2 : Amanith
  • GAABox3 : Amanith
  • GAxisAngle : Amanith
  • GError : Amanith
  • GLineSegment2 : Amanith
  • GLineSegment3 : Amanith
  • GLLong : Amanith
  • GMatrix22 : Amanith
  • GMatrix23 : Amanith
  • GMatrix33 : Amanith
  • GMatrix34 : Amanith
  • GMatrix43 : Amanith
  • GMatrix44 : Amanith
  • GOOBox2 : Amanith
  • GOOBox3 : Amanith
  • GPlane : Amanith
  • GPoint2 : Amanith
  • GPoint3 : Amanith
  • GPoint4 : Amanith
  • GQuaternion : Amanith
  • GRay2 : Amanith
  • GRay3 : Amanith
  • GReal : Amanith
  • GSphere2 : Amanith
  • GSphere3 : Amanith
  • GTimeInterval : Amanith
  • GTimeValue : Amanith
  • GUChar8 : Amanith
  • GULLong : Amanith
  • GVector2 : Amanith
  • GVector3 : Amanith
  • GVector4 : Amanith


  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator

  • G_EPSILON : Amanith
  • G_MAX_REAL : Amanith
  • G_MIN_REAL : Amanith
  • G_QUAT_ADD_IDENTITYF : Amanith
  • G_QUAT_MULT_IDENTITYF : Amanith


Todo List

Member Amanith::GBezierCurve2D::Variation () const
Optimized variation for a cubic curve

Member Amanith::GConstantProperty1D::DoGetValue (GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const
Implement GConstantProperty1D::DoGetValue with G_RELATIVE_VALUE calculation method.

Member Amanith::GConstantProperty1D::DoSetValue (const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod)
Implement GConstantProperty1D::DoSetValue with G_RELATIVE_VALUE calculation method.

Member Amanith::GCurve1D::Cut (const GReal u0, const GReal u1, GCurve1D *OutCurve) const
a possible solution would be to temporary instance a curve of the same type, then do cutting and if possible convert cut curve into wanted type.

Member Amanith::GCurve1D::Cut (const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const
a possible solution would be to temporary instance 2 curves of the same type, then do cutting and if possible convert cut curves into wanted types

Member Amanith::GCurve1D::Cut (const GReal u, GCurve1D *RightCurve, GCurve1D *LeftCurve) const
a possible solution would be to temporary instance 2 curves of the same type, then do cutting and if possible convert cut curves into wanted types.

Member Amanith::GCurve2D::Cut (const GReal u0, const GReal u1, GCurve2D *OutCurve) const
a possible solution would be to temporary instance a curve of the same type, then do cutting and if possible convert cut curve into wanted type.

Member Amanith::GCurve2D::Cut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const
a possible solution would be to temporary instance 2 curves of the same type, then do cutting and if possible convert cut curves into wanted types

Member Amanith::GCurve2D::Cut (const GReal u, GCurve2D *RightCurve, GCurve2D *LeftCurve) const
a possible solution would be to temporary instance 2 curves of the same type, then do cutting and if possible convert cut curves into wanted types.

Member Amanith::GHermiteProperty1D::DoGetValue (GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const
Implement GHermiteProperty1D::DoGetValue with G_RELATIVE_VALUE calculation method.

Member Amanith::GHermiteProperty1D::DoSetValue (const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod)
Implement GHermiteProperty1D::DoSetValue with G_RELATIVE_VALUE calculation method.

Member Amanith::GKernel::Copy (const GElement &Source, GElement &Destination) const
check if we can choose a converter plugin that support this copy.

Member Amanith::GLinearProperty1D::DoGetValue (GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos, const GValueMethod GetMethod) const
Implement GLinearProperty1D::DoGetValue with G_RELATIVE_VALUE calculation method.

Member Amanith::GLinearProperty1D::DoSetValue (const GKeyValue &InputValue, const GTimeValue TimePos, const GValueMethod SetMethod)
Implement GLinearProperty1D::DoSetValue with G_RELATIVE_VALUE calculation method.

Member Amanith::GMatrix::GMatrix ()
meta programming

Member Amanith::GMatrix::operator== (const GMatrix< DATA_TYPE, ROWS, COLS > &Matrix) const
meta programming.

Member Amanith::GMatrix::Set (const DATA_TYPE *Data)
meta programming

Member Amanith::GMatrix::SetTranspose (const DATA_TYPE *Data)
meta programming

Member Amanith::GOpenGLBoard::DrawGLRadialSector (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const
Handle exact Hermitian interpolation

Member Amanith::GOpenGLBoard::DrawGLRadialSector (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const
Handle exact Hermitian interpolation

Member Amanith::GOpenGLBoard::DrawGLRadialSector (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const
optimize skip, summing whole intervals

Member Amanith::GOpenGLBoard::DrawGLRadialSector (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const
Handle exact Hermitian interpolation

Member Amanith::GOpenGLBoard::DrawGLRadialSector (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const
Handle exact Hermitian interpolation

Member Amanith::GOpenGLBoard::DrawGLRadialSector (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const
optimize skip, summing whole intervals

Member Amanith::GOpenGLBoard::DrawGLRadialSector (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const
Handle exact Hermitian interpolation

Member Amanith::GOpenGLBoard::DrawGLRadialSector (const GPoint2 &Center, const GPoint2 &Focus, const GReal Radius, const GReal Time0, const GReal Time1, const GPoint2 &P0, const GPoint2 &P1, const GBool WholeDisk, const GDynArray< GKeyValue > &ColorKeys, const GColorRampInterpolation Interpolation, const GColorRampSpreadMode SpreadMode, const GReal MultAlpha) const
Handle exact Hermitian interpolation

Member Amanith::GPath2D::TwoWaysCut (const GReal u0, const GReal u1, GCurve2D *OutCurve) const
a possible power solution would be to temporary instance a path of the same type, then do cutting and if possible convert cut path into wanted type.

Member Amanith::GProperty::Value (GKeyValue &OutputValue, GTimeInterval &ValidInterval, const GTimeValue TimePos=0, const GValueMethod GetMethod=G_ABSOLUTE_VALUE) const
Implement relative value getting.

Member Amanith::GQuat::operator * (const GQuat< DATA_TYPE > &Quat)
meta programming on quaternion operator*()

Member Amanith::Identity (GMatrix< DATA_TYPE, ROWS, COLS > &Result)
meta programming

Member Amanith::Identity (GMatrix< DATA_TYPE, ROWS, COLS > &Result)
meta programming


Amanith Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
Amanith::ErrorUtils | This class implements some error utilities
Amanith::FileUtils | A collection of cross-platform generic file utilities
Amanith::GAffineParts | Affine matrix polar decomposition
Amanith::GAnimElement | This class implements an 'animated' element
Amanith::GAnimElementProxy | This class implements a GAnimElement proxy (provider)
Amanith::GAnimTRSNode2D | This class implements a simple TRS (Translate-Rotation-Scale) transformation node, in a 2D space
Amanith::GAnimTRSNode2DProxy | This class implements a GAnimTRSNode2D proxy (provider)
Amanith::GAVLNode | This class implements a parented AVL node
Amanith::GAVLTree | This class implements an AVL (Adelson-Velskii and Landis) tree
Amanith::GAxisAng< DATA_TYPE > | GAxisAng represents a "twist about an axis", it is used to specify a rotation in 3D-space
Amanith::GBezierCurve1D | A generic degree 1D Bezier curve
Amanith::GBezierCurve1DProxy | This class implements a GBezierCurve1D proxy (provider)
Amanith::GBezierCurve2D | A generic degree 2D Bezier curve
Amanith::GBezierCurve2DProxy | This class implements a GBezierCurve2D proxy (provider)
Amanith::GBSplineCurve1D | A generic degree 1D B-spline curve
Amanith::GBSplineCurve1DProxy | This class implements a GBSplineCurve1D proxy (provider)
Amanith::GBSplineCurve2D | A generic degree 2D B-spline curve
Amanith::GBSplineCurve2DProxy | This class implements a GBSplineCurve2D proxy (provider)
Amanith::GCacheBank | This virtual class represents a cache bank, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer)
Amanith::GCharMap | This structure describes a characters map
Amanith::GClassID | Amanith class descriptor, used by the introspection system
Amanith::GConstantProperty1D | A key-frame based property, that uses a constant interpolation schema
Amanith::GConstantProperty1DProxy | This class implements a GConstantProperty1D proxy (provider)
Amanith::GCurve1D | This class represents a generic parametric continuous 1D curve
Amanith::GCurve1DProxy | This class implements a GCurve1D proxy (provider)
Amanith::GCurve2D | This class represents a generic parametric continuous 2D curve
Amanith::GCurve2DProxy | This class implements a GCurve2D proxy (provider)
Amanith::GDrawBoard | An abstract drawboard paint server
Amanith::GDrawStyle | This class maintains informations used to describe a render style
Amanith::GEigen | This class implements an eigenvalues/eigenvectors solver for square matrices
Amanith::GElement | Minimum element class equipped with introspection and cloning system
Amanith::GElementProxy | This class implements a GElement proxy (provider)
Amanith::GEllipseCurve2D | 2D ellipse arc/curve
Amanith::GEllipseCurve2DProxy | This class implements a GEllipseCurve2D proxy (provider)
Amanith::GEncodedChar | An association between a char code to its glyph index (for a charsmap)
Amanith::GFont2D | 2D font class manager
Amanith::GFont2DProxy | This class implements a GFont2DProxy proxy (provider)
Amanith::GFontChar2D | This class represent a 2D font character
Amanith::GFontCharContour2D | This class represents a character closed contour
Amanith::GFourConstantProperty1D | This class represent a 4-dimensional constant multi-property, a container of four GConstantProperty1D properties. They are accessible with the default names "x", "y", "z" and "w"
Amanith::GFourConstantProperty1DProxy | This class implements a GFourConstantProperty1D proxy (provider)
Amanith::GFourHermiteProperty1D | This class represent a 4-dimensional Hermite multi-property, a container of four GHermiteProperty1D properties. They are accessible with the default names "x", "y", "z" and "w"
Amanith::GFourHermiteProperty1DProxy | This class implements a GFourHermiteProperty proxy (provider)
Amanith::GFourLinearProperty1D | This class represent a 4-dimensional linear multi-property, a container of four GLinearProperty1D properties. They are accessible with the default names "x", "y", "z" and "w"
Amanith::GFourLinearProperty1DProxy | This class implements a GFourLinearProperty1D proxy (provider)
Amanith::GGenericAABox< DATA_TYPE, SIZE > | An axially aligned box in N-dimensional space
Amanith::GGenericOOBox< DATA_TYPE, SIZE > | Object oriented box, in N-dimensional space
Amanith::GGenericPlane< DATA_TYPE > | Defines a 3D geometrical plane
Amanith::GGenericRay< DATA_TYPE, SIZE > | GGenericRay class describes an N-dimensional ray
Amanith::GGenericSphere< DATA_TYPE, SIZE > | Describes a sphere in N-dimensional space by its center point and its radius
Amanith::GGlyphMetrics | A structure used to model the metrics of a single glyph
Amanith::GGradientDesc | This class maintains informations used to describe a gradient
Amanith::GHermiteCurve1D | This class implements a 1D Hermite multicurve
Amanith::GHermiteCurve1DProxy | This class implements a GHermiteCurve1D proxy (provider)
Amanith::GHermiteCurve2D | This class implements a 2D Hermite multicurve
Amanith::GHermiteCurve2DProxy | This class implements a GHermiteCurve2D proxy (provider)
Amanith::GHermiteKey1D | 1D Hermite key structure
Amanith::GHermiteKey2D | Hermite key structure
Amanith::GHermiteProperty1D | A key-frame based property, that uses an Hermite interpolation schema
Amanith::GHermiteProperty1DProxy | This class implements a GHermiteProperty1D proxy (provider)
Amanith::GImpExp | Import/Export plugin interface class
Amanith::GImpExpFeature | Generic import/export feature descriptor
Amanith::GImpExpProxy | This class implements a GImpExp proxy (provider)
Amanith::GIntegration | This class implements numerical integration of scalar functions
Amanith::GInterval< DATA_TYPE > | GInterval represents a mono dimensional interval
Amanith::GKaiserDataDouble | Data structure for parameterized Kaiser window. (double version)
Amanith::GKaiserDataFloat | Data structure for parameterized Kaiser window. (float version)
Amanith::GKernel | It's the core class that make introspection and plugins system possible and full working
Amanith::GKernelProxy | This class implements a GKernel proxy (provider)
Amanith::GKerningEntry | Describes the kerning to be used for two characters
Amanith::GKeyValue | Generic key value
Amanith::GKnotMultiplicity | A simple pair-like structure that describes a spline knot multiplicity
Amanith::GLinearProperty1D | A key-frame based property, that uses a linear interpolation schema
Amanith::GLinearProperty1DProxy | This class implements a GLinearProperty1D proxy (provider)
Amanith::GLineSeg< DATA_TYPE, SIZE > | Describes a compact (finite) line segment
Amanith::GMatrix< DATA_TYPE, ROWS, COLS > | N x M dimensional matrix (ordered in memory by Column)
Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor |
Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor |
Amanith::GMesh2D< DATA_TYPE > | This class represents an enclosed volume, bounded by a set of vertexes and faces
Amanith::GMeshEdge2D< DATA_TYPE > | A directed edge from one vertex to another, adjacent to two faces
Amanith::GMeshFace2D< DATA_TYPE > | A face of a mesh, bounded by a set of directed edges
Amanith::GMeshVertex2D< DATA_TYPE > | This class represent a mesh vertex
Amanith::GMitchellDataDouble | Data structure for parameterized Mitchell filter. (double version)
Amanith::GMitchellDataFloat | Data structure for parameterized Mitchell filter. (float version)
Amanith::GMultiCurve1D | This class represents a parametric continuous piece-wise 1D curve
Amanith::GMultiCurve1DProxy | This class implements a GMultiCurve1D proxy (provider)
Amanith::GMultiCurve2D | This class represents a parametric continuous piece-wise 2D curve
Amanith::GMultiCurve2DProxy | This class implements a GMultiCurve2D proxy (provider)
Amanith::GMultiProperty1D | This class represent a multi-property, intended as a container of properties of the same type
Amanith::GMultiProperty1DProxy | This class implements a GMultiProperty1D proxy (provider)
Amanith::GOpenGLBoard | This is an OpenGL-based implementation drawboard
Amanith::GOpenGLCacheBank | This is the OpenGL implementation of a cache bank class, intended as a set of contiguous cache slots (each slot is in unique correspondence to a single drawn primitive on the current target buffer)
Amanith::GOpenGLDrawStyle | This is an OpenGL-based implementation drawstyle descriptor class
Amanith::GOpenglExt | OpenGL extensions manager
Amanith::GOpenGLGradientDesc | This is an OpenGL-based implementation gradient descriptor class
Amanith::GOpenGLPatternDesc | This is an OpenGL-based implementation pattern descriptor class
Amanith::GPath2D | This class represents a path, intended as a series of "linked" curves of different flavors
Amanith::GPath2DProxy | This class implements a GPath2D proxy (provider)
Amanith::GPatternDesc | This class maintains informations used to describe a graphic pattern
Amanith::GPixelMap | A 2D cross-platform bitmap class
Amanith::GPixelMapProxy | This class implements a GPixelMap proxy (provider)
Amanith::GPlugLoader | Low level dynamic library loader class
Amanith::GPoint< DATA_TYPE, SIZE > | A geometric point entity
Amanith::GPolyLineCurve1D | This class implements a 1D polyline multicurve
Amanith::GPolyLineCurve1DProxy | This class implements a GPolyLineCurve1D proxy (provider)
Amanith::GPolyLineCurve2D | This class implements a 2D polyline multicurve
Amanith::GPolyLineCurve2DProxy | This class implements a GPolyLineCurve2D proxy (provider)
Amanith::GPolyLineKey1D | 1D Polyline key structure
Amanith::GPolyLineKey2D | Polyline key structure
Amanith::GProperty | This class represents a generic animated property
Amanith::GPropertyProxy | This class implements a GProperty proxy (provider)
Amanith::GProxyState | Proxy state descriptor
Amanith::GQuadEdge2D< DATA_TYPE > | This class describes a quad-edge
Amanith::GQuat< DATA_TYPE > | This template class encapsulate quaternion behaviors
Amanith::GSubChar2D | This structure describe a subchar used by multy-glyphs font character
Amanith::GSystemInfo | Structure used to store system informations
Amanith::GTesselator2D | This class implements a 2D shape triangulator
Amanith::GThreeConstantProperty1D | This class represent a 3-dimensional constant multi-property, a container of three GConstantProperty1D properties. They are accessible with the default names "x", "y" and "z"
Amanith::GThreeConstantProperty1DProxy | This class implements a GThreeConstantProperty1D proxy (provider)
Amanith::GThreeHermiteProperty1D | This class represent a 3-dimensional Hermite multi-property, a container of three GHermiteProperty1D properties. They are accessible with the default names "x", "y" and "z"
Amanith::GThreeHermiteProperty1DProxy | This class implements a GThreeHermiteProperty proxy (provider)
Amanith::GThreeLinearProperty1D | This class represent a 3-dimensional linear multi-property, a container of three GLinearProperty1D properties. They are accessible with the default names "x", "y" and "z"
Amanith::GThreeLinearProperty1DProxy | This class implements a GThreeLinearProperty1D proxy (provider)
Amanith::GTracedContour | This class represents a closed contour built by tracer
Amanith::GTracer2D | This class implements a bitmap vectorizer
Amanith::GTwoConstantProperty1D | This class represent a 2-dimensional constant multi-property, a container of two GConstantProperty1D properties. They are accessible with the default names "x" and "y"
Amanith::GTwoConstantProperty1DProxy | This class implements a GTwoConstantProperty1D proxy (provider)
Amanith::GTwoHermiteProperty1D | This class represent a 2-dimensional Hermite multi-property, a container of two GHermiteProperty1D properties. They are accessible with the default names "x" and "y"
Amanith::GTwoHermiteProperty1DProxy | This class implements a GTwoHermiteProperty proxy (provider)
Amanith::GTwoLinearProperty1D | This class represent a 2-dimensional linear multi-property, a container of two GLinearProperty1D properties. They are accessible with the default names "x" and "y"
Amanith::GTwoLinearProperty1DProxy | This class implements a GTwoLinearProperty1D proxy (provider)
Amanith::GVect< DATA_TYPE, SIZE > | A representation of a vector with SIZE components using DATA_TYPE as the data type for each component
Amanith::GVectBase< DATA_TYPE, SIZE > | Base type for vector-like objects including Points and Vectors
Amanith::StrUtils | A collection of cross-platform generic string utilities
Amanith::SysUtils | A collection of generic cross-platform system utilities


d:

d: Directory Reference

Directories

  • directory Projects


d: » Projects

Projects Directory Reference

Directories

  • directory libraries


d: » Projects » libraries

libraries Directory Reference

Directories

  • directory amanith


d: » Projects » libraries » amanith

amanith Directory Reference

Directories

  • directory include
  • directory src


d: » Projects » libraries » amanith » include

include Directory Reference

Directories

  • directory amanith


d: » Projects » libraries » amanith » include » amanith

amanith Directory Reference

Directories

  • directory 1d
  • directory 2d
  • directory geometry
  • directory lang
  • directory numerics
  • directory rendering
  • directory support

Files

  • file gclassid.h
  • file gelement.h
  • file gerror.h
  • file gglobal.h
  • file gimpexp.h
  • file gkernel.h
  • file gmath.h
  • file gmultiproperty.h
  • file gopenglext.h
  • file gpluglib.h
  • file gproperty.h


d: » Projects » libraries » amanith » include » amanith » 1d

1d Directory Reference

Files

  • file gbeziercurve1d.h
  • file gbsplinecurve1d.h
  • file gcurve1d.h
  • file ghermitecurve1d.h
  • file gmulticurve1d.h
  • file gpolylinecurve1d.h


d: » Projects » libraries » amanith » include » amanith » 2d

2d Directory Reference

Files

  • file ganimtrsnode2d.h
  • file gbeziercurve2d.h
  • file gbsplinecurve2d.h
  • file gcurve2d.h
  • file gellipsecurve2d.h
  • file gfont2d.h
  • file ghermitecurve2d.h
  • file gmesh2d.h
  • file gmulticurve2d.h
  • file gpath2d.h
  • file gpixelmap.h
  • file gpolylinecurve2d.h
  • file gtesselator2d.h
  • file gtracer2d.h


d: » Projects » libraries » amanith » include » amanith » geometry

geometry Directory Reference

Files

  • file gaabox.h
  • file gaffineparts.h
  • file garea.h
  • file gaxisangle.h
  • file gdistance.h
  • file gintersect.h
  • file ginterval.h
  • file glineseg.h
  • file gmatrix.h
  • file goobox.h
  • file gplane.h
  • file gquat.h
  • file gray.h
  • file gsphere.h
  • file gvect.h
  • file gxform.h
  • file gxformconv.h


d: » Projects » libraries » amanith » include » amanith » lang

lang Directory Reference

Files

  • file gerror_en.h
  • file gerror_it.h


d: » Projects » libraries » amanith » include » amanith » numerics

numerics Directory Reference

Files

  • file geigen.h
  • file gfilter.h
  • file gintegration.h


d: » Projects » libraries » amanith » include » amanith » rendering

rendering Directory Reference

Files

  • file gdrawboard.h
  • file gdrawstyle.h
  • file gopenglboard.h


d: » Projects » libraries » amanith » include » amanith » support

support Directory Reference

Files

  • file gavltree.h
  • file gsvgpathtokenizer.h
  • file gutilities.h


d: » Projects » libraries » amanith » src

src Directory Reference

Directories

  • directory 1d
  • directory 2d
  • directory geometry
  • directory numerics
  • directory rendering
  • directory support

Files

  • file gelement.cpp
  • file gerror.cpp
  • file gimpexp.cpp
  • file gkernel.cpp
  • file gmultiproperty.cpp
  • file gopenglext.cpp
  • file gpluglib.cpp
  • file gproperty.cpp


d: » Projects » libraries » amanith » src » 1d

1d Directory Reference

Files

  • file gbeziercurve1d.cpp
  • file gbsplinecurve1d.cpp
  • file gcurve1d.cpp
  • file ghermitecurve1d.cpp
  • file gmulticurve1d.cpp
  • file gpolylinecurve1d.cpp


d: » Projects » libraries » amanith » src » 2d

2d Directory Reference

Files

  • file ganimtrsnode2d.cpp
  • file gbeziercurve2d.cpp
  • file gbsplinecurve2d.cpp
  • file gcurve2d.cpp
  • file gellipsecurve2d.cpp
  • file gfont2d.cpp
  • file ghermitecurve2d.cpp
  • file gmesh2d.cpp
  • file gmulticurve2d.cpp
  • file gpath2d.cpp
  • file gpixelmap.cpp
  • file gpolylinecurve2d.cpp
  • file gtesselator2d.cpp
  • file gtracer2d.cpp


d: » Projects » libraries » amanith » src » geometry

geometry Directory Reference

Files

  • file gaffineparts.cpp


d: » Projects » libraries » amanith » src » numerics

numerics Directory Reference

Files

  • file geigen.cpp
  • file gintegration.cpp


d: » Projects » libraries » amanith » src » rendering

rendering Directory Reference

Files

  • file gdrawboard.cpp
  • file gdrawstyle.cpp
  • file gopenglboard.cpp
  • file gopenglcache.cpp
  • file gopenglcompositing.cpp
  • file gopenglconicalgrad.cpp
  • file gopenglgeometries.cpp
  • file gopenglgroups.cpp
  • file gopenglmasks.cpp
  • file gopenglradialgrad.cpp
  • file gopenglstroke.cpp
  • file gopenglstyles.cpp


d: » Projects » libraries » amanith » src » support

support Directory Reference

Files

  • file gavltree.cpp
  • file glew.c
  • file gsvgpathtokenizer.cpp
  • file gutilities.cpp


Amanith Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:
  • d:
    • Projects
      • libraries
        • amanith
          • include
            • amanith
              • 1d
              • 2d
              • geometry
              • lang
              • numerics
              • rendering
              • support
          • src
            • 1d
            • 2d
            • geometry
            • numerics
            • rendering
            • support


  • File List
  • File Members

Amanith File List

Here is a list of all documented files with brief descriptions:
gaabox.h | Header file for axially aligned box classes
gaffineparts.cpp | Affine parts decomposition implementation file
gaffineparts.h | Affine parts decomposition header file
ganimtrsnode2d.cpp | Implementation of GAnimTRSNode2D class
ganimtrsnode2d.h | Header file for GAnimTRSNode2D class
garea.h | Area calculation header file
gavltree.cpp | Implementation file for AVL (Adelson-Velskii and Landis) tree classes
gavltree.h | Header file for AVL (Adelson-Velskii and Landis) tree classes
gaxisangle.h | GAxisAng class header file
gbeziercurve1d.cpp | Implementation of 1D Bezier curve class
gbeziercurve1d.h | Header file for 1D Bezier curve class
gbeziercurve2d.cpp | Implementation of 2D Bezier curve class
gbeziercurve2d.h | Header file for 2D Bezier curve class
gbsplinecurve1d.cpp | Implementation of 1D BSpline curve class
gbsplinecurve1d.h | Header file for 1D BSpline curve class
gbsplinecurve2d.cpp | Implementation of 2D BSpline curve class
gbsplinecurve2d.h | Header file for 2D BSpline curve class
gclassid.h | Amanith class descriptor, used by the introspection system
gcurve1d.cpp | Implementation file for the base GCurve1D class
gcurve1d.h | Header file for 1D curve class
gcurve2d.cpp | Implementation file for the base GCurve2D class
gcurve2d.h | Header file for 2D curve class
gdistance.h | Distance queries for all geometric entities (boxes, sphere and so on)
gdrawboard.cpp | Abstract draw board implementation file
gdrawboard.h | Abstract draw board header file
gdrawstyle.cpp | Draw style implementation file
gdrawstyle.h | Types and data structures that define render styles
geigen.cpp | Implementation of eigenvalues/eigenvectors solver class
geigen.h | Header file for eigenvalues/eigenvectors solver class
gelement.cpp | Implementation of GElement class
gelement.h | GElement header file
gellipsecurve2d.cpp | Implementation of 2D ellipse arc/curve class
gellipsecurve2d.h | Header file for 2D ellipse curve/arc class
gerror.h | Global error codes used by Amanith classes and functions
gerror_en.h | English error code translations
gerror_it.h | Italian error code translations
gfilter.h | Scalar filters definitions
gfont2d.cpp | Font engine implementation
gfont2d.h | Font engine header file
gglobal.h | Global Amanith types and constants defintion
ghermitecurve1d.cpp | Implementation of 1D Hermite multicurve class
ghermitecurve1d.h | Header file for 1D Hermite multicurve class
ghermitecurve2d.cpp | Implementation of 2D Hermite multicurve class
ghermitecurve2d.h | Header file for 2D Hermite multicurve class
gimpexp.h | Import/Export plugins interface class
gintegration.cpp | Implementation of numerical integration class
gintegration.h | Header file for numeric integration class
gintersect.h | Intersect queries for all geometric entities (boxes, sphere and so on)
ginterval.h | Header file for GInterval class
gkernel.cpp | Implementation of GKernel class
gkernel.h | GKernel class header file
glineseg.h | Header file GLineSeg class
gmath.h | Mathematics functions and utilities
gmatrix.h | Class for matrix management
gmesh2d.cpp | GMesh2D classes implementation file
gmesh2d.h | GMesh2D classes header file
gmulticurve1d.cpp | Implementation file for GMultiCurve1D class
gmulticurve1d.h | Header file for 1D multicurve class
gmulticurve2d.cpp | Implementation file for GMultiCurve2D class
gmulticurve2d.h | Header file for 2D multicurve class
gmultiproperty.cpp | Implementation of basic animated multi-properties
gmultiproperty.h | Header file for common multi properties
goobox.h | Object oriented box class, header file
gopenglboard.cpp | OpenGL based draw board implementation file
gopenglboard.h | OpenGL based draw board header file
gopenglcache.cpp | OpenGL based draw board cache functions implementation file
gopenglcompositing.cpp | OpenGL based draw board compositing functions implementation file
gopenglconicalgrad.cpp | OpenGL based draw board conical gradient functions implementation file
gopenglext.cpp | Opengl extensions manager implementation
gopenglext.h | GOpenglExt header file
gopenglgeometries.cpp | OpenGL based draw board geometries functions implementation file
gopenglgroups.cpp | OpenGL based draw board group functions implementation file
gopenglmasks.cpp | OpenGL based draw board clip masks functions implementation file
gopenglradialgrad.cpp | OpenGL based draw board radial gradient functions implementation file
gopenglstroke.cpp | OpenGL based draw board stroke functions implementation file
gopenglstyles.cpp | OpenGL based draw board styles functions implementation file
gpath2d.cpp | 2D Path implementation file
gpath2d.h | 2D Path header file
gpixelmap.cpp | Implementation of GPixelMap class
gpixelmap.h | Header for GPixelMap class
gplane.h | Geometrical 3D plane class, header file
gpluglib.cpp | Implementation of GPlugLoader class (dynamic library loader)
gpluglib.h | Dynamic library loader header file
gpolylinecurve1d.cpp | Implementation of 1D poly line multicurve class
gpolylinecurve1d.h | Header file for 1D polyline multicurve class
gpolylinecurve2d.cpp | Implementation of 2D poly line multicurve class
gpolylinecurve2d.h | Header file for 2D polyline multicurve class
gproperty.cpp | Implementation of basic animated properties
gproperty.h | Header file for basic animated properties
gquat.h | Quaternion class header file
gray.h | GRay class header file
gsphere.h | Sphere class header file
gsvgpathtokenizer.cpp | SVG path tokenizer implementation file
gsvgpathtokenizer.h | SVG path tokenizer header file
gtesselator2d.cpp | 2D shape triangulator implementation
gtesselator2d.h | 2D shape triangulator
gtracer2d.cpp | 2D bitmap vectorizer implementation
gtracer2d.h | 2D bitmap vectorizer header file
gutilities.cpp | Implementation of generic utilities on strings, files and system information
gutilities.h | Interfaces for generic utilities on strings, files and system information
gvect.h | Vector class header file
gxform.h | Header file for transformations (vector, matrix and quaternions)
gxformconv.h | Transformations conversion header file


Amanith Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
  • Amanith::ErrorUtils
  • Amanith::FileUtils
  • Amanith::GAffineParts
  • Amanith::GAVLNode
  • Amanith::GAVLTree
  • Amanith::GCacheBank
    • Amanith::GOpenGLCacheBank
  • Amanith::GCharMap
  • Amanith::GClassID
  • Amanith::GDrawBoard
    • Amanith::GOpenGLBoard
  • Amanith::GDrawStyle
    • Amanith::GOpenGLDrawStyle
  • Amanith::GEigen
  • Amanith::GElement
    • Amanith::GAnimElement
      • Amanith::GAnimTRSNode2D
      • Amanith::GProperty
        • Amanith::GConstantProperty1D
        • Amanith::GHermiteProperty1D
        • Amanith::GLinearProperty1D
        • Amanith::GMultiProperty1D
          • Amanith::GFourConstantProperty1D
          • Amanith::GFourHermiteProperty1D
          • Amanith::GFourLinearProperty1D
          • Amanith::GThreeConstantProperty1D
          • Amanith::GThreeHermiteProperty1D
          • Amanith::GThreeLinearProperty1D
          • Amanith::GTwoConstantProperty1D
          • Amanith::GTwoHermiteProperty1D
          • Amanith::GTwoLinearProperty1D
    • Amanith::GCurve1D
      • Amanith::GBezierCurve1D
      • Amanith::GBSplineCurve1D
      • Amanith::GMultiCurve1D
        • Amanith::GHermiteCurve1D
        • Amanith::GPolyLineCurve1D
    • Amanith::GCurve2D
      • Amanith::GBezierCurve2D
      • Amanith::GBSplineCurve2D
      • Amanith::GEllipseCurve2D
      • Amanith::GMultiCurve2D
        • Amanith::GHermiteCurve2D
        • Amanith::GPath2D
        • Amanith::GPolyLineCurve2D
    • Amanith::GFont2D
    • Amanith::GImpExp
    • Amanith::GKernel
    • Amanith::GPixelMap
  • Amanith::GElementProxy
    • Amanith::GAnimElementProxy
    • Amanith::GAnimTRSNode2DProxy
    • Amanith::GBezierCurve1DProxy
    • Amanith::GBezierCurve2DProxy
    • Amanith::GBSplineCurve1DProxy
    • Amanith::GBSplineCurve2DProxy
    • Amanith::GConstantProperty1DProxy
    • Amanith::GCurve1DProxy
    • Amanith::GCurve2DProxy
    • Amanith::GEllipseCurve2DProxy
    • Amanith::GFont2DProxy
    • Amanith::GFourConstantProperty1DProxy
    • Amanith::GFourHermiteProperty1DProxy
    • Amanith::GFourLinearProperty1DProxy
    • Amanith::GHermiteCurve1DProxy
    • Amanith::GHermiteCurve2DProxy
    • Amanith::GHermiteProperty1DProxy
    • Amanith::GImpExpProxy
    • Amanith::GKernelProxy
    • Amanith::GLinearProperty1DProxy
    • Amanith::GMultiCurve1DProxy
    • Amanith::GMultiCurve2DProxy
    • Amanith::GMultiProperty1DProxy
    • Amanith::GPath2DProxy
    • Amanith::GPixelMapProxy
    • Amanith::GPolyLineCurve1DProxy
    • Amanith::GPolyLineCurve2DProxy
    • Amanith::GPropertyProxy
    • Amanith::GThreeConstantProperty1DProxy
    • Amanith::GThreeHermiteProperty1DProxy
    • Amanith::GThreeLinearProperty1DProxy
    • Amanith::GTwoConstantProperty1DProxy
    • Amanith::GTwoHermiteProperty1DProxy
    • Amanith::GTwoLinearProperty1DProxy
  • Amanith::GEncodedChar
  • Amanith::GFontChar2D
  • Amanith::GFontCharContour2D
  • Amanith::GGenericAABox< DATA_TYPE, SIZE >
  • Amanith::GGenericOOBox< DATA_TYPE, SIZE >
  • Amanith::GGenericPlane< DATA_TYPE >
  • Amanith::GGenericRay< DATA_TYPE, SIZE >
    • Amanith::GLineSeg< DATA_TYPE, SIZE >
  • Amanith::GGenericSphere< DATA_TYPE, SIZE >
  • Amanith::GGlyphMetrics
  • Amanith::GGradientDesc
    • Amanith::GOpenGLGradientDesc
  • Amanith::GHermiteKey1D
  • Amanith::GHermiteKey2D
  • Amanith::GImpExpFeature
  • Amanith::GIntegration
  • Amanith::GInterval< DATA_TYPE >
  • Amanith::GKaiserDataDouble
  • Amanith::GKaiserDataFloat
  • Amanith::GKerningEntry
  • Amanith::GKeyValue
  • Amanith::GKnotMultiplicity
  • Amanith::GMatrix< DATA_TYPE, ROWS, COLS >
  • Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::ConstRowAccessor
  • Amanith::GMatrix< DATA_TYPE, ROWS, COLS >::RowAccessor
  • Amanith::GMesh2D< DATA_TYPE >
  • Amanith::GMeshEdge2D< DATA_TYPE >
  • Amanith::GMeshFace2D< DATA_TYPE >
  • Amanith::GMeshVertex2D< DATA_TYPE >
  • Amanith::GMitchellDataDouble
  • Amanith::GMitchellDataFloat
  • Amanith::GOpenglExt
  • Amanith::GPatternDesc
    • Amanith::GOpenGLPatternDesc
  • Amanith::GPlugLoader
  • Amanith::GPolyLineKey1D
  • Amanith::GPolyLineKey2D
  • Amanith::GProxyState
  • Amanith::GQuadEdge2D< DATA_TYPE >
  • Amanith::GQuat< DATA_TYPE >
  • Amanith::GSubChar2D
  • Amanith::GSystemInfo
  • Amanith::GTesselator2D
  • Amanith::GTracedContour
  • Amanith::GTracer2D
  • Amanith::GVectBase< DATA_TYPE, SIZE >
    • Amanith::GPoint< DATA_TYPE, SIZE >
    • Amanith::GVect< DATA_TYPE, SIZE >
  • Amanith::GVectBase< DATA_TYPE, 4 >
    • Amanith::GAxisAng< DATA_TYPE >
  • Amanith::StrUtils
  • Amanith::SysUtils


Amanith Documentation

Official Release 0.3


  • Namespace List
  • Namespace Members

Amanith Namespace List

Here is a list of all documented namespaces with brief descriptions:
Amanith | Amanith framework
Amanith::GMath | Math Functions


Amanith Related Pages

Here is a list of all related documentation pages:
  • Todo List