Enumerations



Miscellaneous


enum {
    kQ3StringMaximumLength                      = 1024,
    kQ3ArrayIndexNULL                           = 0xFFFFFFFFUL
};
Discussion

constants

Constants

kQ3StringMaximumLength
Maximum length of TQ3ObjectClassNameString.
kQ3ArrayIndexNULL
NULL array index.

Object_Types


Type codes of Quesa object classes.
enum {
    kQ3ObjectTypeInvalid                        = ((TQ3ObjectType) 0),
    kQ3ObjectTypeView                           = Q3_OBJECT_TYPE('v', 'i', 'e', 'w'),
    kQ3ObjectTypeViewer                         = Q3_OBJECT_TYPE('v', 'w', 'e', 'r'),
    kQ3ObjectTypeSlab                           = Q3_OBJECT_TYPE('s', 'l', 'a', 'b'),
    kQ3ObjectTypeElement                        = Q3_OBJECT_TYPE('e', 'l', 'm', 'n'),
        kQ3ElementTypeAttribute                 = Q3_OBJECT_TYPE('e', 'a', 't', 't'),
    kQ3ObjectTypePick                           = Q3_OBJECT_TYPE('p', 'i', 'c', 'k'),
        kQ3PickTypeWindowPoint                  = Q3_OBJECT_TYPE('p', 'k', 'w', 'p'),
        kQ3PickTypeWindowRect                   = Q3_OBJECT_TYPE('p', 'k', 'w', 'r'),
        kQ3PickTypeWorldRay                     = Q3_OBJECT_TYPE('p', 'k', 'r', 'y'),
    kQ3ObjectTypeShared                         = Q3_OBJECT_TYPE('s', 'h', 'r', 'd'),
        kQ3SharedTypeRenderer                   = Q3_OBJECT_TYPE('r', 'd', 'd', 'r'),
            kQ3RendererTypeWireFrame            = Q3_OBJECT_TYPE('w', 'r', 'f', 'r'),
            kQ3RendererTypeGeneric              = Q3_OBJECT_TYPE('g', 'n', 'r', 'r'),
            kQ3RendererTypeInteractive          = Q3_OBJECT_TYPE('c', 't', 'w', 'n'),
            kQ3RendererTypeOpenGL               = Q3_OBJECT_TYPE('o', 'g', 'l', 'r'),
            kQ3RendererTypeCartoon              = Q3_OBJECT_TYPE('t', 'o', 'o', 'n'),
            kQ3RendererTypeHiddenLine           = Q3_OBJECT_TYPE('h', 'd', 'n', 'l'),
        kQ3SharedTypeShape                      = Q3_OBJECT_TYPE('s', 'h', 'a', 'p'),
            kQ3ShapeTypeGeometry                = Q3_OBJECT_TYPE('g', 'm', 't', 'r'),
                kQ3GeometryTypeBox              = Q3_OBJECT_TYPE('b', 'o', 'x', ' '),
                kQ3GeometryTypeGeneralPolygon   = Q3_OBJECT_TYPE('g', 'p', 'g', 'n'),
                kQ3GeometryTypeLine             = Q3_OBJECT_TYPE('l', 'i', 'n', 'e'),
                kQ3GeometryTypeMarker           = Q3_OBJECT_TYPE('m', 'r', 'k', 'r'),
                kQ3GeometryTypePixmapMarker     = Q3_OBJECT_TYPE('m', 'r', 'k', 'p'),
                kQ3GeometryTypeMesh             = Q3_OBJECT_TYPE('m', 'e', 's', 'h'),
                kQ3GeometryTypeNURBCurve        = Q3_OBJECT_TYPE('n', 'r', 'b', 'c'),
                kQ3GeometryTypeNURBPatch        = Q3_OBJECT_TYPE('n', 'r', 'b', 'p'),
                kQ3GeometryTypePoint            = Q3_OBJECT_TYPE('p', 'n', 't', ' '),
                kQ3GeometryTypePolygon          = Q3_OBJECT_TYPE('p', 'l', 'y', 'g'),
                kQ3GeometryTypePolyLine         = Q3_OBJECT_TYPE('p', 'l', 'y', 'l'),
                kQ3GeometryTypeTriangle         = Q3_OBJECT_TYPE('t', 'r', 'n', 'g'),
                kQ3GeometryTypeTriGrid          = Q3_OBJECT_TYPE('t', 'r', 'i', 'g'),
                kQ3GeometryTypeCone             = Q3_OBJECT_TYPE('c', 'o', 'n', 'e'),
                kQ3GeometryTypeCylinder         = Q3_OBJECT_TYPE('c', 'y', 'l', 'n'),
                kQ3GeometryTypeDisk             = Q3_OBJECT_TYPE('d', 'i', 's', 'k'),
                kQ3GeometryTypeEllipse          = Q3_OBJECT_TYPE('e', 'l', 'p', 's'),
                kQ3GeometryTypeEllipsoid        = Q3_OBJECT_TYPE('e', 'l', 'p', 'd'),
                kQ3GeometryTypePolyhedron       = Q3_OBJECT_TYPE('p', 'l', 'h', 'd'),
                kQ3GeometryTypeTorus            = Q3_OBJECT_TYPE('t', 'o', 'r', 's'),
                kQ3GeometryTypeTriMesh          = Q3_OBJECT_TYPE('t', 'm', 's', 'h'),
            kQ3ShapeTypeShader                  = Q3_OBJECT_TYPE('s', 'h', 'd', 'r'),
                kQ3ShaderTypeSurface            = Q3_OBJECT_TYPE('s', 'u', 's', 'h'),
                    kQ3SurfaceShaderTypeTexture = Q3_OBJECT_TYPE('t', 'x', 's', 'u'),
                kQ3ShaderTypeIllumination       = Q3_OBJECT_TYPE('i', 'l', 's', 'h'),
                    kQ3IlluminationTypePhong    = Q3_OBJECT_TYPE('p', 'h', 'i', 'l'),
                    kQ3IlluminationTypeLambert  = Q3_OBJECT_TYPE('l', 'm', 'i', 'l'),
                    kQ3IlluminationTypeNULL     = Q3_OBJECT_TYPE('n', 'u', 'i', 'l'),
            kQ3ShapeTypeStyle                   = Q3_OBJECT_TYPE('s', 't', 'y', 'l'),
                kQ3StyleTypeBackfacing          = Q3_OBJECT_TYPE('b', 'c', 'k', 'f'),
                kQ3StyleTypeInterpolation       = Q3_OBJECT_TYPE('i', 'n', 't', 'p'),
                kQ3StyleTypeFill                = Q3_OBJECT_TYPE('f', 'i', 's', 't'),
                kQ3StyleTypePickID              = Q3_OBJECT_TYPE('p', 'k', 'i', 'd'),
                kQ3StyleTypeCastShadows         = Q3_OBJECT_TYPE('c', 'a', 's', 'h'),
                kQ3StyleTypeLineWidth           = Q3_OBJECT_TYPE('l', 'n', 'w', 'd'),
#endif // QUESA_ALLOW_QD3D_EXTENSIONS
                kQ3StyleTypeReceiveShadows      = Q3_OBJECT_TYPE('r', 'c', 's', 'h'),
                kQ3StyleTypeHighlight           = Q3_OBJECT_TYPE('h', 'i', 'g', 'h'),
                kQ3StyleTypeSubdivision         = Q3_OBJECT_TYPE('s', 'b', 'd', 'v'),
                kQ3StyleTypeOrientation         = Q3_OBJECT_TYPE('o', 'f', 'd', 'r'),
                kQ3StyleTypePickParts           = Q3_OBJECT_TYPE('p', 'k', 'p', 't'),
                kQ3StyleTypeAntiAlias           = Q3_OBJECT_TYPE('a', 'n', 't', 'i'),
                kQ3StyleTypeFog                 = Q3_OBJECT_TYPE('f', 'o', 'g', 'g'),
            kQ3ShapeTypeTransform               = Q3_OBJECT_TYPE('x', 'f', 'r', 'm'),
                kQ3TransformTypeMatrix          = Q3_OBJECT_TYPE('m', 't', 'r', 'x'),
                kQ3TransformTypeScale           = Q3_OBJECT_TYPE('s', 'c', 'a', 'l'),
                kQ3TransformTypeTranslate       = Q3_OBJECT_TYPE('t', 'r', 'n', 's'),
                kQ3TransformTypeRotate          = Q3_OBJECT_TYPE('r', 'o', 't', 't'),
                kQ3TransformTypeRotateAboutPoint= Q3_OBJECT_TYPE('r', 't', 'a', 'p'),
                kQ3TransformTypeRotateAboutAxis = Q3_OBJECT_TYPE('r', 't', 'a', 'a'),
                kQ3TransformTypeQuaternion      = Q3_OBJECT_TYPE('q', 't', 'r', 'n'),
                kQ3TransformTypeReset           = Q3_OBJECT_TYPE('r', 's', 'e', 't'),
                kQ3TransformTypeCamera           = Q3_OBJECT_TYPE('c', 'a', 'm', 't'),
                kQ3TransformTypeCameraRasterize  = Q3_OBJECT_TYPE('r', 'a', 's', 't'),
#endif // QUESA_ALLOW_QD3D_EXTENSIONS
            kQ3ShapeTypeLight                   = Q3_OBJECT_TYPE('l', 'g', 'h', 't'),
                kQ3LightTypeAmbient             = Q3_OBJECT_TYPE('a', 'm', 'b', 'n'),
                kQ3LightTypeDirectional         = Q3_OBJECT_TYPE('d', 'r', 'c', 't'),
                kQ3LightTypePoint               = Q3_OBJECT_TYPE('p', 'n', 't', 'l'),
                kQ3LightTypeSpot                = Q3_OBJECT_TYPE('s', 'p', 'o', 't'),
            kQ3ShapeTypeCamera                  = Q3_OBJECT_TYPE('c', 'm', 'r', 'a'),
                kQ3CameraTypeOrthographic       = Q3_OBJECT_TYPE('o', 'r', 't', 'h'),
                kQ3CameraTypeViewPlane          = Q3_OBJECT_TYPE('v', 'w', 'p', 'l'),
                kQ3CameraTypeViewAngleAspect    = Q3_OBJECT_TYPE('v', 'a', 'n', 'a'),
            kQ3ShapeTypeStateOperator           = Q3_OBJECT_TYPE('s', 't', 'o', 'p'),
                kQ3StateOperatorTypePush        = Q3_OBJECT_TYPE('p', 'u', 's', 'h'),
                kQ3StateOperatorTypePop         = Q3_OBJECT_TYPE('p', 'o', 'p', ' '),
            kQ3ShapeTypeGroup                   = Q3_OBJECT_TYPE('g', 'r', 'u', 'p'),
                kQ3GroupTypeDisplay             = Q3_OBJECT_TYPE('d', 's', 'p', 'g'),
                    kQ3DisplayGroupTypeOrdered  = Q3_OBJECT_TYPE('o', 'r', 'd', 'g'),
                    kQ3DisplayGroupTypeIOProxy  = Q3_OBJECT_TYPE('i', 'o', 'p', 'x'),
                kQ3GroupTypeLight               = Q3_OBJECT_TYPE('l', 'g', 'h', 'g'),
                kQ3GroupTypeInfo                = Q3_OBJECT_TYPE('i', 'n', 'f', 'o'),
            kQ3ShapeTypeUnknown                 = Q3_OBJECT_TYPE('u', 'n', 'k', 'n'),
                kQ3UnknownTypeText              = Q3_OBJECT_TYPE('u', 'k', 't', 'x'),
                kQ3UnknownTypeBinary            = Q3_OBJECT_TYPE('u', 'k', 'b', 'n'),
            kQ3ShapeTypeReference               = Q3_OBJECT_TYPE('r', 'f', 'r', 'n'),
                kQ3ReferenceTypeExternal        = Q3_OBJECT_TYPE('r', 'f', 'e', 'x'),
        kQ3SharedTypeSet                        = Q3_OBJECT_TYPE('s', 'e', 't', ' '),
            kQ3SetTypeAttribute                 = Q3_OBJECT_TYPE('a', 't', 't', 'r'),
        kQ3SharedTypeDrawContext                = Q3_OBJECT_TYPE('d', 'c', 't', 'x'),
            kQ3DrawContextTypePixmap            = Q3_OBJECT_TYPE('d', 'p', 'x', 'p'),
            kQ3DrawContextTypeMacintosh         = Q3_OBJECT_TYPE('d', 'm', 'a', 'c'),
            kQ3DrawContextTypeCocoa             = Q3_OBJECT_TYPE('d', 'c', 'c', 'o'),
            kQ3DrawContextTypeWin32DC           = Q3_OBJECT_TYPE('d', 'w', '3', '2'),
            kQ3DrawContextTypeDDSurface         = Q3_OBJECT_TYPE('d', 'd', 'd', 's'),
            kQ3DrawContextTypeX11               = Q3_OBJECT_TYPE('d', 'x', '1', '1'),
        kQ3SharedTypeTexture                    = Q3_OBJECT_TYPE('t', 'x', 't', 'r'),
            kQ3TextureTypePixmap                = Q3_OBJECT_TYPE('t', 'x', 'p', 'm'),
            kQ3TextureTypeMipmap                = Q3_OBJECT_TYPE('t', 'x', 'm', 'm'),
            kQ3TextureTypeCompressedPixmap      = Q3_OBJECT_TYPE('t', 'x', 'c', 'p'),
        kQ3SharedTypeFile                       = Q3_OBJECT_TYPE('f', 'i', 'l', 'e'),
        kQ3SharedTypeStorage                    = Q3_OBJECT_TYPE('s', 't', 'r', 'g'),
            kQ3StorageTypeMemory                = Q3_OBJECT_TYPE('m', 'e', 'm', 's'),
                kQ3MemoryStorageTypeHandle      = Q3_OBJECT_TYPE('h', 'n', 'd', 'l'),
            kQ3StorageTypePath                  = Q3_OBJECT_TYPE('Q', 's', 't', 'p'),
            kQ3StorageTypeUnix                  = Q3_OBJECT_TYPE('u', 'x', 's', 't'),
                kQ3UnixStorageTypePath          = Q3_OBJECT_TYPE('u', 'n', 'i', 'x'),
            kQ3StorageTypeMacintosh             = Q3_OBJECT_TYPE('m', 'a', 'c', 'n'),
                kQ3MacintoshStorageTypeFSSpec   = Q3_OBJECT_TYPE('m', 'a', 'c', 'p'),
            kQ3StorageTypeWin32                 = Q3_OBJECT_TYPE('w', 'i', 's', 't'),
        kQ3SharedTypeString                     = Q3_OBJECT_TYPE('s', 't', 'r', 'n'),
            kQ3StringTypeCString                = Q3_OBJECT_TYPE('s', 't', 'r', 'c'),
        kQ3SharedTypeShapePart                  = Q3_OBJECT_TYPE('s', 'p', 'r', 't'),
            kQ3ShapePartTypeMeshPart            = Q3_OBJECT_TYPE('s', 'p', 'm', 'h'),
                kQ3MeshPartTypeMeshFacePart     = Q3_OBJECT_TYPE('m', 'f', 'a', 'c'),
                kQ3MeshPartTypeMeshEdgePart     = Q3_OBJECT_TYPE('m', 'e', 'd', 'g'),
                kQ3MeshPartTypeMeshVertexPart   = Q3_OBJECT_TYPE('m', 'v', 't', 'x'),
        kQ3SharedTypeControllerState            = Q3_OBJECT_TYPE('c', 't', 's', 't'),
        kQ3SharedTypeTracker                    = Q3_OBJECT_TYPE('t', 'r', 'k', 'r'),
        kQ3SharedTypeViewHints                  = Q3_OBJECT_TYPE('v', 'w', 'h', 'n'),
        kQ3SharedTypeEndGroup                   = Q3_OBJECT_TYPE('e', 'n', 'd', 'g')
};
Discussion

These values should be considered to be of type TQ3ObjectType.


TQ3Axis


typedef enum {
    kQ3AxisX                                    = 0,
    kQ3AxisY                                    = 1,
    kQ3AxisZ                                    = 2,
    kQ3AxisSize32                               = 0xFFFFFFFF
} TQ3Axis;
Discussion

Fundamental axis type.

Constants

kQ3AxisX
Indicates X axis.
kQ3AxisY
Indicates Y axis.
kQ3AxisZ
Indicates Z axis.

TQ3Boolean


typedef enum {
    kQ3False                                    = 0,
    kQ3True                                     = 1,
    kQ3BooleanSize32                            = 0xFFFFFFFF
} TQ3Boolean;
Discussion

Fundamental boolean type.

Constants

kQ3False
False.
kQ3True
True.

TQ3ComputeBounds


typedef enum {
    kQ3ComputeBoundsExact                       = 0,
    kQ3ComputeBoundsApproximate                 = 1,
    kQ3ComputeBoundsSize32                      = 0xFFFFFFFF
} TQ3ComputeBounds;
Discussion

Bounds accuracy types.

Constants

kQ3ComputeBoundsExact
Compute exact bounds by transforming vertices to world coordinates then calculating bounds. Slower, but more accurate.
kQ3ComputeBoundsApproximate
Compute approximate bounds by transforming local bounding box to world coordinates. Faster, but less accurate.

TQ3ElementTypes


typedef enum {
    kQ3ElementTypeNone                          = 0,
    kQ3ElementTypeUnknown                       = 32,
    kQ3ElementTypeSet                           = 33,
    kQ3ElementTypeSize32                        = 0xFFFFFFFF
} TQ3ElementTypes;
Discussion

Fundamental element types.

Constants

kQ3ElementTypeNone
Indicates no element.
kQ3ElementTypeUnknown
Indicates unknown element type.
kQ3ElementTypeSet
Indicates set element.

TQ3EndCapMasks


typedef enum {
    kQ3EndCapNone                               = 0,
    kQ3EndCapMaskTop                            = (1 << 0),
    kQ3EndCapMaskBottom                         = (1 << 1),
    kQ3EndCapMaskInterior                       = (1 << 2),
    kQ3EndCapSize32                             = 0xFFFFFFFF
} TQ3EndCapMasks;
Discussion

Fundamental end caps type.

Constants

kQ3EndCapNone
No end caps.
kQ3EndCapMaskTop
Top end cap.
kQ3EndCapMaskBottom
Bottom end cap.
kQ3EndCapMaskInterior
Interior end cap.

TQ3Endian


typedef enum {
    kQ3EndianBig                                = 0,
    kQ3EndianLittle                             = 1,
    kQ3EndianSize32                             = 0xFFFFFFFF
} TQ3Endian;
Discussion

Fundamental endian type.

Constants

kQ3EndianBig
Big endian.
kQ3EndianLittle
Little endian.

TQ3Language


typedef enum {
    kQ3LanguageDefault                          = 0,
    kQ3LanguageEnglishUS                        = 1,
    kQ3LanguageSize32                           = 0xFFFFFFFF
} TQ3Language;
Discussion

Languages.

Constants

kQ3LanguageDefault
Default language for current OS.
kQ3LanguageEnglishUS
US English.

TQ3PixelType


Fundamental pixel formats used in pixmaps and mipmaps.
typedef enum {
    kQ3PixelTypeRGB32                           = 0,
    kQ3PixelTypeARGB32                          = 1,
    kQ3PixelTypeRGB16                           = 2,
    kQ3PixelTypeARGB16                          = 3,
    kQ3PixelTypeRGB16_565                       = 4,
    kQ3PixelTypeRGB24                           = 5,
    kQ3PixelTypeUnknown              = 200,
    kQ3PixelTypeSize32                          = 0xFFFFFFFF
} TQ3PixelType;
Discussion

The layout of the pixel bits in memory depend on the byte order as well as the pixel format. For example, kQ3PixelTypeARGB32 with kQ3EndianLittle means you have blue, then green, then red, then alpha.

When dealing with formats that have an alpha channel, you must be aware of whether your data has premultiplied alpha or not. By default, Quesa's built-in OpenGL-based renderers assume that alpha is premultiplied. However, you can attach an object property of type kQ3RendererPropertyConvertToPremultipliedAlpha to the renderer object to tell Quesa to convert non-premultiplied alpha to premultiplied alpha.

Constants

kQ3PixelTypeRGB32
8 bits for red, green, and blue. High-order byte ignored.
kQ3PixelTypeARGB32
8 bits for alpha, red, green, and blue.
kQ3PixelTypeRGB16
5 bits for red, green, and blue. High-order bit ignored.
kQ3PixelTypeARGB16
1 bit for alpha. 5 bits for red, green, and blue.
kQ3PixelTypeRGB16_565
5 bits for red, 6 bits for green, 5 bits for blue.
kQ3PixelTypeRGB24
8 bits for red, green, and blue. No alpha byte.
kQ3PixelTypeUnknown
Unknown pixel type.

TQ3Status


typedef enum {
    kQ3Failure                                  = 0,
    kQ3Success                                  = 1,
    kQ3StatusSize32                             = 0xFFFFFFFF
} TQ3Status;
Discussion

Fundamental status type.

Constants

kQ3Failure
Indicates failure.
kQ3Success
Indicates success

TQ3Switch


typedef enum {
    kQ3Off                                      = 0,
    kQ3On                                       = 1,
    kQ3SwitchSize32                             = 0xFFFFFFFF
} TQ3Switch;
Discussion

Fundamental switch type.

Constants

kQ3Off
Off.
kQ3On
On.

© 1999-2008 Quesa Developers (Last Updated 5/10/2008)