Home | History | Annotate | Download | only in dom
      1 /*
      2 * Copyright 2006 Sony Computer Entertainment Inc.
      3 *
      4 * Licensed under the MIT Open Source License, for details please see license.txt or the website
      5 * http://www.opensource.org/licenses/mit-license.php
      6 *
      7 */
      8 
      9 #ifndef __DOM_TYPES_H__
     10 #define __DOM_TYPES_H__
     11 
     12 #include <dae/daeDomTypes.h>
     13 
     14 typedef xsBoolean		domBool;
     15 typedef xsDateTime		domDateTime;
     16 typedef xsDouble		domFloat;
     17 typedef xsLong		domInt;
     18 typedef xsName		domName;
     19 typedef xsString		domString;
     20 typedef xsToken		domToken;
     21 typedef xsUnsignedLong		domUint;
     22 typedef daeTArray<domBool>		domListOfBools;
     23 typedef daeTArray<domFloat>		domListOfFloats;
     24 typedef xsHexBinaryArray		domListOfHexBinary;
     25 typedef daeTArray<domInt>		domListOfInts;
     26 typedef daeTArray<domName>		domListOfNames;
     27 typedef daeTArray<domToken>		domListOfTokens;
     28 typedef daeTArray<domUint>		domListOfUInts;
     29 typedef domListOfBools		domBool2;
     30 typedef domListOfBools		domBool3;
     31 typedef domListOfBools		domBool4;
     32 typedef domListOfFloats		domFloat2;
     33 typedef domListOfFloats		domFloat3;
     34 typedef domListOfFloats		domFloat4;
     35 typedef domListOfFloats		domFloat7;
     36 typedef domListOfFloats		domFloat2x2;
     37 typedef domListOfFloats		domFloat3x3;
     38 typedef domListOfFloats		domFloat4x4;
     39 typedef domListOfFloats		domFloat2x3;
     40 typedef domListOfFloats		domFloat2x4;
     41 typedef domListOfFloats		domFloat3x2;
     42 typedef domListOfFloats		domFloat3x4;
     43 typedef domListOfFloats		domFloat4x2;
     44 typedef domListOfFloats		domFloat4x3;
     45 typedef domListOfInts		domInt2;
     46 typedef domListOfInts		domInt3;
     47 typedef domListOfInts		domInt4;
     48 typedef domListOfInts		domInt2x2;
     49 typedef domListOfInts		domInt3x3;
     50 typedef domListOfInts		domInt4x4;
     51 /**
     52  * This type is used for URI reference which can only reference a resource
     53  * declared within it's same document.
     54  */
     55 typedef xsAnyURI		domURIFragmentType;
     56 typedef domFloat4		domFx_color_common;
     57 typedef xsString		domFx_draw_common;
     58 typedef xsNonNegativeInteger		domGL_MAX_LIGHTS_index;
     59 typedef xsNonNegativeInteger		domGL_MAX_CLIP_PLANES_index;
     60 typedef xsNonNegativeInteger		domGL_MAX_TEXTURE_IMAGE_UNITS_index;
     61 typedef xsFloat		domGl_alpha_value_type;
     62 typedef xsFloat		domGlsl_float;
     63 typedef xsInt		domGlsl_int;
     64 typedef xsBoolean		domGlsl_bool;
     65 typedef daeTArray<domGlsl_bool>		domGlsl_ListOfBool;
     66 typedef daeTArray<domGlsl_float>		domGlsl_ListOfFloat;
     67 typedef daeTArray<domGlsl_int>		domGlsl_ListOfInt;
     68 typedef domGlsl_ListOfBool		domGlsl_bool2;
     69 typedef domGlsl_ListOfBool		domGlsl_bool3;
     70 typedef domGlsl_ListOfBool		domGlsl_bool4;
     71 typedef domGlsl_ListOfFloat		domGlsl_float2;
     72 typedef domGlsl_ListOfFloat		domGlsl_float3;
     73 typedef domGlsl_ListOfFloat		domGlsl_float4;
     74 typedef domGlsl_ListOfFloat		domGlsl_float2x2;
     75 typedef domGlsl_ListOfFloat		domGlsl_float3x3;
     76 typedef domGlsl_ListOfFloat		domGlsl_float4x4;
     77 typedef domGlsl_ListOfInt		domGlsl_int2;
     78 typedef domGlsl_ListOfInt		domGlsl_int3;
     79 typedef domGlsl_ListOfInt		domGlsl_int4;
     80 typedef xsToken		domGlsl_identifier;
     81 typedef xsBoolean		domCg_bool;
     82 typedef xsFloat		domCg_float;
     83 typedef xsInt		domCg_int;
     84 typedef xsFloat		domCg_half;
     85 typedef xsFloat		domCg_fixed;
     86 typedef xsBoolean		domCg_bool1;
     87 typedef xsFloat		domCg_float1;
     88 typedef xsInt		domCg_int1;
     89 typedef xsFloat		domCg_half1;
     90 typedef xsFloat		domCg_fixed1;
     91 typedef daeTArray<domCg_bool>		domCg_ListOfBool;
     92 typedef daeTArray<domCg_float>		domCg_ListOfFloat;
     93 typedef daeTArray<domCg_int>		domCg_ListOfInt;
     94 typedef daeTArray<domCg_half>		domCg_ListOfHalf;
     95 typedef daeTArray<domCg_fixed>		domCg_ListOfFixed;
     96 typedef domCg_ListOfBool		domCg_bool2;
     97 typedef domCg_ListOfBool		domCg_bool3;
     98 typedef domCg_ListOfBool		domCg_bool4;
     99 typedef domCg_ListOfBool		domCg_bool1x1;
    100 typedef domCg_ListOfBool		domCg_bool1x2;
    101 typedef domCg_ListOfBool		domCg_bool1x3;
    102 typedef domCg_ListOfBool		domCg_bool1x4;
    103 typedef domCg_ListOfBool		domCg_bool2x1;
    104 typedef domCg_ListOfBool		domCg_bool2x2;
    105 typedef domCg_ListOfBool		domCg_bool2x3;
    106 typedef domCg_ListOfBool		domCg_bool2x4;
    107 typedef domCg_ListOfBool		domCg_bool3x1;
    108 typedef domCg_ListOfBool		domCg_bool3x2;
    109 typedef domCg_ListOfBool		domCg_bool3x3;
    110 typedef domCg_ListOfBool		domCg_bool3x4;
    111 typedef domCg_ListOfBool		domCg_bool4x1;
    112 typedef domCg_ListOfBool		domCg_bool4x2;
    113 typedef domCg_ListOfBool		domCg_bool4x3;
    114 typedef domCg_ListOfBool		domCg_bool4x4;
    115 typedef domCg_ListOfFloat		domCg_float2;
    116 typedef domCg_ListOfFloat		domCg_float3;
    117 typedef domCg_ListOfFloat		domCg_float4;
    118 typedef domCg_ListOfFloat		domCg_float1x1;
    119 typedef domCg_ListOfFloat		domCg_float1x2;
    120 typedef domCg_ListOfFloat		domCg_float1x3;
    121 typedef domCg_ListOfFloat		domCg_float1x4;
    122 typedef domCg_ListOfFloat		domCg_float2x1;
    123 typedef domCg_ListOfFloat		domCg_float2x2;
    124 typedef domCg_ListOfFloat		domCg_float2x3;
    125 typedef domCg_ListOfFloat		domCg_float2x4;
    126 typedef domCg_ListOfFloat		domCg_float3x1;
    127 typedef domCg_ListOfFloat		domCg_float3x2;
    128 typedef domCg_ListOfFloat		domCg_float3x3;
    129 typedef domCg_ListOfFloat		domCg_float3x4;
    130 typedef domCg_ListOfFloat		domCg_float4x1;
    131 typedef domCg_ListOfFloat		domCg_float4x2;
    132 typedef domCg_ListOfFloat		domCg_float4x3;
    133 typedef domCg_ListOfFloat		domCg_float4x4;
    134 typedef domCg_ListOfInt		domCg_int2;
    135 typedef domCg_ListOfInt		domCg_int3;
    136 typedef domCg_ListOfInt		domCg_int4;
    137 typedef domCg_ListOfInt		domCg_int1x1;
    138 typedef domCg_ListOfInt		domCg_int1x2;
    139 typedef domCg_ListOfInt		domCg_int1x3;
    140 typedef domCg_ListOfInt		domCg_int1x4;
    141 typedef domCg_ListOfInt		domCg_int2x1;
    142 typedef domCg_ListOfInt		domCg_int2x2;
    143 typedef domCg_ListOfInt		domCg_int2x3;
    144 typedef domCg_ListOfInt		domCg_int2x4;
    145 typedef domCg_ListOfInt		domCg_int3x1;
    146 typedef domCg_ListOfInt		domCg_int3x2;
    147 typedef domCg_ListOfInt		domCg_int3x3;
    148 typedef domCg_ListOfInt		domCg_int3x4;
    149 typedef domCg_ListOfInt		domCg_int4x1;
    150 typedef domCg_ListOfInt		domCg_int4x2;
    151 typedef domCg_ListOfInt		domCg_int4x3;
    152 typedef domCg_ListOfInt		domCg_int4x4;
    153 typedef domCg_ListOfHalf		domCg_half2;
    154 typedef domCg_ListOfHalf		domCg_half3;
    155 typedef domCg_ListOfHalf		domCg_half4;
    156 typedef domCg_ListOfHalf		domCg_half1x1;
    157 typedef domCg_ListOfHalf		domCg_half1x2;
    158 typedef domCg_ListOfHalf		domCg_half1x3;
    159 typedef domCg_ListOfHalf		domCg_half1x4;
    160 typedef domCg_ListOfHalf		domCg_half2x1;
    161 typedef domCg_ListOfHalf		domCg_half2x2;
    162 typedef domCg_ListOfHalf		domCg_half2x3;
    163 typedef domCg_ListOfHalf		domCg_half2x4;
    164 typedef domCg_ListOfHalf		domCg_half3x1;
    165 typedef domCg_ListOfHalf		domCg_half3x2;
    166 typedef domCg_ListOfHalf		domCg_half3x3;
    167 typedef domCg_ListOfHalf		domCg_half3x4;
    168 typedef domCg_ListOfHalf		domCg_half4x1;
    169 typedef domCg_ListOfHalf		domCg_half4x2;
    170 typedef domCg_ListOfHalf		domCg_half4x3;
    171 typedef domCg_ListOfHalf		domCg_half4x4;
    172 typedef domCg_ListOfFixed		domCg_fixed2;
    173 typedef domCg_ListOfFixed		domCg_fixed3;
    174 typedef domCg_ListOfFixed		domCg_fixed4;
    175 typedef domCg_ListOfFixed		domCg_fixed1x1;
    176 typedef domCg_ListOfFixed		domCg_fixed1x2;
    177 typedef domCg_ListOfFixed		domCg_fixed1x3;
    178 typedef domCg_ListOfFixed		domCg_fixed1x4;
    179 typedef domCg_ListOfFixed		domCg_fixed2x1;
    180 typedef domCg_ListOfFixed		domCg_fixed2x2;
    181 typedef domCg_ListOfFixed		domCg_fixed2x3;
    182 typedef domCg_ListOfFixed		domCg_fixed2x4;
    183 typedef domCg_ListOfFixed		domCg_fixed3x1;
    184 typedef domCg_ListOfFixed		domCg_fixed3x2;
    185 typedef domCg_ListOfFixed		domCg_fixed3x3;
    186 typedef domCg_ListOfFixed		domCg_fixed3x4;
    187 typedef domCg_ListOfFixed		domCg_fixed4x1;
    188 typedef domCg_ListOfFixed		domCg_fixed4x2;
    189 typedef domCg_ListOfFixed		domCg_fixed4x3;
    190 typedef domCg_ListOfFixed		domCg_fixed4x4;
    191 typedef xsToken		domCg_identifier;
    192 typedef xsNonNegativeInteger		domGLES_MAX_LIGHTS_index;
    193 typedef xsNonNegativeInteger		domGLES_MAX_CLIP_PLANES_index;
    194 typedef xsNonNegativeInteger		domGLES_MAX_TEXTURE_COORDS_index;
    195 typedef xsNonNegativeInteger		domGLES_MAX_TEXTURE_IMAGE_UNITS_index;
    196 typedef xsNonNegativeInteger		domGles_texcombiner_argument_index_type;
    197 typedef xsNCName		domGles_rendertarget_common;
    198 
    199 /**
    200  * An enumuerated type specifying the acceptable morph methods.
    201  */
    202 enum domMorphMethodType {
    203 	MORPHMETHODTYPE_NORMALIZED,
    204 	MORPHMETHODTYPE_RELATIVE,
    205 	MORPHMETHODTYPE_COUNT = 2
    206 };
    207 
    208 /**
    209  * An enumerated type specifying the acceptable node types.
    210  */
    211 enum domNodeType {
    212 	NODETYPE_JOINT,
    213 	NODETYPE_NODE,
    214 	NODETYPE_COUNT = 2
    215 };
    216 
    217 /**
    218  * An enumerated type specifying the acceptable up-axis values.
    219  */
    220 enum domUpAxisType {
    221 	UPAXISTYPE_X_UP,
    222 	UPAXISTYPE_Y_UP,
    223 	UPAXISTYPE_Z_UP,
    224 	UPAXISTYPE_COUNT = 3
    225 };
    226 
    227 /**
    228  * An enumerated type specifying the acceptable document versions.
    229  */
    230 enum domVersionType {
    231 	VERSIONTYPE_1_4_0,
    232 	VERSIONTYPE_1_4_1,
    233 	VERSIONTYPE_COUNT = 2
    234 };
    235 
    236 enum domFx_opaque_enum {
    237 	FX_OPAQUE_ENUM_A_ONE,		/**< When a transparent opaque attribute is set to A_ONE, it means the transparency information will be taken from the alpha channel of the color, texture, or parameter supplying the value. The value of 1.0 is opaque in this mode. */
    238 	FX_OPAQUE_ENUM_RGB_ZERO,		/**< When a transparent opaque attribute is set to RGB_ZERO, it means the transparency information will be taken from the red, green, and blue channels of the color, texture, or parameter supplying the value. Each channel is modulated independently. The value of 0.0 is opaque in this mode. */
    239 	FX_OPAQUE_ENUM_COUNT = 2
    240 };
    241 
    242 enum domFx_surface_type_enum {
    243 	FX_SURFACE_TYPE_ENUM_UNTYPED,		/**< When a surface's type attribute is set to UNTYPED, its type is initially unknown and established later by the context in which it is used, such as by a texture sampler that references it. A surface of any other type may be changed into an UNTYPED surface at run-time, as if it were created by <newparam>, using <setparam>. If there is a type mismatch between a <setparam> operation and what the run-time decides the type should be, the result is profile- and platform-specific behavior. */
    244 	FX_SURFACE_TYPE_ENUM_1D,
    245 	FX_SURFACE_TYPE_ENUM_2D,
    246 	FX_SURFACE_TYPE_ENUM_3D,
    247 	FX_SURFACE_TYPE_ENUM_RECT,
    248 	FX_SURFACE_TYPE_ENUM_CUBE,
    249 	FX_SURFACE_TYPE_ENUM_DEPTH,
    250 	FX_SURFACE_TYPE_ENUM_COUNT = 7
    251 };
    252 
    253 enum domFx_surface_face_enum {
    254 	FX_SURFACE_FACE_ENUM_POSITIVE_X,
    255 	FX_SURFACE_FACE_ENUM_NEGATIVE_X,
    256 	FX_SURFACE_FACE_ENUM_POSITIVE_Y,
    257 	FX_SURFACE_FACE_ENUM_NEGATIVE_Y,
    258 	FX_SURFACE_FACE_ENUM_POSITIVE_Z,
    259 	FX_SURFACE_FACE_ENUM_NEGATIVE_Z,
    260 	FX_SURFACE_FACE_ENUM_COUNT = 6
    261 };
    262 
    263 /**
    264  * The per-texel layout of the format.  The length of the string indicate
    265  * how many channels there are and the letter respresents the name of the
    266  * channel.  There are typically 0 to 4 channels.
    267  */
    268 enum domFx_surface_format_hint_channels_enum {
    269 	FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGB,		/**< RGB color  map */
    270 	FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGBA,		/**< RGB color + Alpha map often used for color + transparency or other things packed into channel A like specular power */
    271 	FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_L,		/**< Luminance map often used for light mapping */
    272 	FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_LA,		/**< Luminance+Alpha map often used for light mapping */
    273 	FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_D,		/**< Depth map often used for displacement, parellax, relief, or shadow mapping */
    274 	FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZ,		/**< Typically used for normal maps or 3component displacement maps. */
    275 	FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZW,		/**< Typically used for normal maps where W is the depth for relief or parrallax mapping */
    276 	FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_COUNT = 7
    277 };
    278 
    279 /**
    280  * Each channel of the texel has a precision.  Typically these are all linked
    281  * together.  An exact format lay lower the precision of an individual channel
    282  * but applying a higher precision by linking the channels together may still
    283  * convey the same information.
    284  */
    285 enum domFx_surface_format_hint_precision_enum {
    286 	FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_LOW,		/**< For integers this typically represents 8 bits.  For floats typically 16 bits. */
    287 	FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_MID,		/**< For integers this typically represents 8 to 24 bits.  For floats typically 16 to 32 bits. */
    288 	FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_HIGH,		/**< For integers this typically represents 16 to 32 bits.  For floats typically 24 to 32 bits. */
    289 	FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_COUNT = 3
    290 };
    291 
    292 /**
    293  * Each channel represents a range of values. Some example ranges are signed
    294  * or unsigned integers, or between between a clamped range such as 0.0f to
    295  * 1.0f, or high dynamic range via floating point
    296  */
    297 enum domFx_surface_format_hint_range_enum {
    298 	FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SNORM,		/**< Format is representing a decimal value that remains within the -1 to 1 range. Implimentation could be integer-fixedpoint or floats. */
    299 	FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UNORM,		/**< Format is representing a decimal value that remains within the 0 to 1 range. Implimentation could be integer-fixedpoint or floats. */
    300 	FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SINT,		/**< Format is representing signed integer numbers.  (ex. 8bits = -128 to 127) */
    301 	FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UINT,		/**< Format is representing unsigned integer numbers.  (ex. 8bits = 0 to 255) */
    302 	FX_SURFACE_FORMAT_HINT_RANGE_ENUM_FLOAT,		/**< Format should support full floating point ranges.  High precision is expected to be 32bit. Mid precision may be 16 to 32 bit.  Low precision is expected to be 16 bit. */
    303 	FX_SURFACE_FORMAT_HINT_RANGE_ENUM_COUNT = 5
    304 };
    305 
    306 /**
    307  * Additional hints about data relationships and other things to help the
    308  * application pick the best format.
    309  */
    310 enum domFx_surface_format_hint_option_enum {
    311 	FX_SURFACE_FORMAT_HINT_OPTION_ENUM_SRGB_GAMMA,		/**< colors are stored with respect to the sRGB 2.2 gamma curve rather than linear */
    312 	FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED3,		/**< the texel's XYZ/RGB should be normalized such as in a normal map. */
    313 	FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED4,		/**< the texel's XYZW/RGBA should be normalized such as in a normal map. */
    314 	FX_SURFACE_FORMAT_HINT_OPTION_ENUM_COMPRESSABLE,		/**< The surface may use run-time compression.  Considering the best compression based on desired, channel, range, precision, and options */
    315 	FX_SURFACE_FORMAT_HINT_OPTION_ENUM_COUNT = 4
    316 };
    317 
    318 enum domFx_sampler_wrap_common {
    319 	FX_SAMPLER_WRAP_COMMON_NONE,
    320 	FX_SAMPLER_WRAP_COMMON_WRAP,
    321 	FX_SAMPLER_WRAP_COMMON_MIRROR,
    322 	FX_SAMPLER_WRAP_COMMON_CLAMP,
    323 	FX_SAMPLER_WRAP_COMMON_BORDER,
    324 	FX_SAMPLER_WRAP_COMMON_COUNT = 5
    325 };
    326 
    327 enum domFx_sampler_filter_common {
    328 	FX_SAMPLER_FILTER_COMMON_NONE,
    329 	FX_SAMPLER_FILTER_COMMON_NEAREST,
    330 	FX_SAMPLER_FILTER_COMMON_LINEAR,
    331 	FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_NEAREST,
    332 	FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_NEAREST,
    333 	FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_LINEAR,
    334 	FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_LINEAR,
    335 	FX_SAMPLER_FILTER_COMMON_COUNT = 7
    336 };
    337 
    338 enum domFx_modifier_enum_common {
    339 	FX_MODIFIER_ENUM_COMMON_CONST,
    340 	FX_MODIFIER_ENUM_COMMON_UNIFORM,
    341 	FX_MODIFIER_ENUM_COMMON_VARYING,
    342 	FX_MODIFIER_ENUM_COMMON_STATIC,
    343 	FX_MODIFIER_ENUM_COMMON_VOLATILE,
    344 	FX_MODIFIER_ENUM_COMMON_EXTERN,
    345 	FX_MODIFIER_ENUM_COMMON_SHARED,
    346 	FX_MODIFIER_ENUM_COMMON_COUNT = 7
    347 };
    348 
    349 enum domFx_pipeline_stage_common {
    350 	FX_PIPELINE_STAGE_COMMON_VERTEXPROGRAM,
    351 	FX_PIPELINE_STAGE_COMMON_FRAGMENTPROGRAM,
    352 	FX_PIPELINE_STAGE_COMMON_VERTEXSHADER,
    353 	FX_PIPELINE_STAGE_COMMON_PIXELSHADER,
    354 	FX_PIPELINE_STAGE_COMMON_COUNT = 4
    355 };
    356 
    357 enum domGl_blend_type {
    358 	GL_BLEND_TYPE_ZERO = 0x0,
    359 	GL_BLEND_TYPE_ONE = 0x1,
    360 	GL_BLEND_TYPE_SRC_COLOR = 0x0300,
    361 	GL_BLEND_TYPE_ONE_MINUS_SRC_COLOR = 0x0301,
    362 	GL_BLEND_TYPE_DEST_COLOR = 0x0306,
    363 	GL_BLEND_TYPE_ONE_MINUS_DEST_COLOR = 0x0307,
    364 	GL_BLEND_TYPE_SRC_ALPHA = 0x0302,
    365 	GL_BLEND_TYPE_ONE_MINUS_SRC_ALPHA = 0x0303,
    366 	GL_BLEND_TYPE_DST_ALPHA = 0x0304,
    367 	GL_BLEND_TYPE_ONE_MINUS_DST_ALPHA = 0x0305,
    368 	GL_BLEND_TYPE_CONSTANT_COLOR = 0x8001,
    369 	GL_BLEND_TYPE_ONE_MINUS_CONSTANT_COLOR = 0x8002,
    370 	GL_BLEND_TYPE_CONSTANT_ALPHA = 0x8003,
    371 	GL_BLEND_TYPE_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
    372 	GL_BLEND_TYPE_SRC_ALPHA_SATURATE = 0x0308,
    373 	GL_BLEND_TYPE_COUNT = 15
    374 };
    375 
    376 enum domGl_face_type {
    377 	GL_FACE_TYPE_FRONT = 0x0404,
    378 	GL_FACE_TYPE_BACK = 0x0405,
    379 	GL_FACE_TYPE_FRONT_AND_BACK = 0x0408,
    380 	GL_FACE_TYPE_COUNT = 3
    381 };
    382 
    383 enum domGl_blend_equation_type {
    384 	GL_BLEND_EQUATION_TYPE_FUNC_ADD = 0x8006,
    385 	GL_BLEND_EQUATION_TYPE_FUNC_SUBTRACT = 0x800A,
    386 	GL_BLEND_EQUATION_TYPE_FUNC_REVERSE_SUBTRACT = 0x800B,
    387 	GL_BLEND_EQUATION_TYPE_MIN = 0x8007,
    388 	GL_BLEND_EQUATION_TYPE_MAX = 0x8008,
    389 	GL_BLEND_EQUATION_TYPE_COUNT = 5
    390 };
    391 
    392 enum domGl_func_type {
    393 	GL_FUNC_TYPE_NEVER = 0x0200,
    394 	GL_FUNC_TYPE_LESS = 0x0201,
    395 	GL_FUNC_TYPE_LEQUAL = 0x0203,
    396 	GL_FUNC_TYPE_EQUAL = 0x0202,
    397 	GL_FUNC_TYPE_GREATER = 0x0204,
    398 	GL_FUNC_TYPE_NOTEQUAL = 0x0205,
    399 	GL_FUNC_TYPE_GEQUAL = 0x0206,
    400 	GL_FUNC_TYPE_ALWAYS = 0x0207,
    401 	GL_FUNC_TYPE_COUNT = 8
    402 };
    403 
    404 enum domGl_stencil_op_type {
    405 	GL_STENCIL_OP_TYPE_KEEP = 0x1E00,
    406 	GL_STENCIL_OP_TYPE_ZERO = 0x0,
    407 	GL_STENCIL_OP_TYPE_REPLACE = 0x1E01,
    408 	GL_STENCIL_OP_TYPE_INCR = 0x1E02,
    409 	GL_STENCIL_OP_TYPE_DECR = 0x1E03,
    410 	GL_STENCIL_OP_TYPE_INVERT = 0x150A,
    411 	GL_STENCIL_OP_TYPE_INCR_WRAP = 0x8507,
    412 	GL_STENCIL_OP_TYPE_DECR_WRAP = 0x8508,
    413 	GL_STENCIL_OP_TYPE_COUNT = 8
    414 };
    415 
    416 enum domGl_material_type {
    417 	GL_MATERIAL_TYPE_EMISSION = 0x1600,
    418 	GL_MATERIAL_TYPE_AMBIENT = 0x1200,
    419 	GL_MATERIAL_TYPE_DIFFUSE = 0x1201,
    420 	GL_MATERIAL_TYPE_SPECULAR = 0x1202,
    421 	GL_MATERIAL_TYPE_AMBIENT_AND_DIFFUSE = 0x1602,
    422 	GL_MATERIAL_TYPE_COUNT = 5
    423 };
    424 
    425 enum domGl_fog_type {
    426 	GL_FOG_TYPE_LINEAR = 0x2601,
    427 	GL_FOG_TYPE_EXP = 0x0800,
    428 	GL_FOG_TYPE_EXP2 = 0x0801,
    429 	GL_FOG_TYPE_COUNT = 3
    430 };
    431 
    432 enum domGl_fog_coord_src_type {
    433 	GL_FOG_COORD_SRC_TYPE_FOG_COORDINATE = 0x8451,
    434 	GL_FOG_COORD_SRC_TYPE_FRAGMENT_DEPTH = 0x8452,
    435 	GL_FOG_COORD_SRC_TYPE_COUNT = 2
    436 };
    437 
    438 enum domGl_front_face_type {
    439 	GL_FRONT_FACE_TYPE_CW = 0x0900,
    440 	GL_FRONT_FACE_TYPE_CCW = 0x0901,
    441 	GL_FRONT_FACE_TYPE_COUNT = 2
    442 };
    443 
    444 enum domGl_light_model_color_control_type {
    445 	GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_SINGLE_COLOR = 0x81F9,
    446 	GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_SEPARATE_SPECULAR_COLOR = 0x81FA,
    447 	GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_COUNT = 2
    448 };
    449 
    450 enum domGl_logic_op_type {
    451 	GL_LOGIC_OP_TYPE_CLEAR = 0x1500,
    452 	GL_LOGIC_OP_TYPE_AND = 0x1501,
    453 	GL_LOGIC_OP_TYPE_AND_REVERSE = 0x1502,
    454 	GL_LOGIC_OP_TYPE_COPY = 0x1503,
    455 	GL_LOGIC_OP_TYPE_AND_INVERTED = 0x1504,
    456 	GL_LOGIC_OP_TYPE_NOOP = 0x1505,
    457 	GL_LOGIC_OP_TYPE_XOR = 0x1506,
    458 	GL_LOGIC_OP_TYPE_OR = 0x1507,
    459 	GL_LOGIC_OP_TYPE_NOR = 0x1508,
    460 	GL_LOGIC_OP_TYPE_EQUIV = 0x1509,
    461 	GL_LOGIC_OP_TYPE_INVERT = 0x150A,
    462 	GL_LOGIC_OP_TYPE_OR_REVERSE = 0x150B,
    463 	GL_LOGIC_OP_TYPE_COPY_INVERTED = 0x150C,
    464 	GL_LOGIC_OP_TYPE_NAND = 0x150E,
    465 	GL_LOGIC_OP_TYPE_SET = 0x150F,
    466 	GL_LOGIC_OP_TYPE_COUNT = 15
    467 };
    468 
    469 enum domGl_polygon_mode_type {
    470 	GL_POLYGON_MODE_TYPE_POINT = 0x1B00,
    471 	GL_POLYGON_MODE_TYPE_LINE = 0x1B01,
    472 	GL_POLYGON_MODE_TYPE_FILL = 0x1B02,
    473 	GL_POLYGON_MODE_TYPE_COUNT = 3
    474 };
    475 
    476 enum domGl_shade_model_type {
    477 	GL_SHADE_MODEL_TYPE_FLAT = 0x1D00,
    478 	GL_SHADE_MODEL_TYPE_SMOOTH = 0x1D01,
    479 	GL_SHADE_MODEL_TYPE_COUNT = 2
    480 };
    481 
    482 enum domGlsl_pipeline_stage {
    483 	GLSL_PIPELINE_STAGE_VERTEXPROGRAM,
    484 	GLSL_PIPELINE_STAGE_FRAGMENTPROGRAM,
    485 	GLSL_PIPELINE_STAGE_COUNT = 2
    486 };
    487 
    488 enum domCg_pipeline_stage {
    489 	CG_PIPELINE_STAGE_VERTEX,
    490 	CG_PIPELINE_STAGE_FRAGMENT,
    491 	CG_PIPELINE_STAGE_COUNT = 2
    492 };
    493 
    494 enum domGles_texenv_mode_enums {
    495 	GLES_TEXENV_MODE_ENUMS_REPLACE = 0x1E01,
    496 	GLES_TEXENV_MODE_ENUMS_MODULATE = 0x2100,
    497 	GLES_TEXENV_MODE_ENUMS_DECAL = 0x2101,
    498 	GLES_TEXENV_MODE_ENUMS_BLEND = 0x0BE2,
    499 	GLES_TEXENV_MODE_ENUMS_ADD = 0x0104,
    500 	GLES_TEXENV_MODE_ENUMS_COUNT = 5
    501 };
    502 
    503 enum domGles_texcombiner_operatorRGB_enums {
    504 	GLES_TEXCOMBINER_OPERATORRGB_ENUMS_REPLACE = 0x1E01,
    505 	GLES_TEXCOMBINER_OPERATORRGB_ENUMS_MODULATE = 0x2100,
    506 	GLES_TEXCOMBINER_OPERATORRGB_ENUMS_ADD = 0x0104,
    507 	GLES_TEXCOMBINER_OPERATORRGB_ENUMS_ADD_SIGNED = 0x8574,
    508 	GLES_TEXCOMBINER_OPERATORRGB_ENUMS_INTERPOLATE = 0x8575,
    509 	GLES_TEXCOMBINER_OPERATORRGB_ENUMS_SUBTRACT = 0x84E7,
    510 	GLES_TEXCOMBINER_OPERATORRGB_ENUMS_DOT3_RGB = 0x86AE,
    511 	GLES_TEXCOMBINER_OPERATORRGB_ENUMS_DOT3_RGBA = 0x86AF,
    512 	GLES_TEXCOMBINER_OPERATORRGB_ENUMS_COUNT = 8
    513 };
    514 
    515 enum domGles_texcombiner_operatorAlpha_enums {
    516 	GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_REPLACE = 0x1E01,
    517 	GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_MODULATE = 0x2100,
    518 	GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_ADD = 0x0104,
    519 	GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_ADD_SIGNED = 0x8574,
    520 	GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_INTERPOLATE = 0x8575,
    521 	GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_SUBTRACT = 0x84E7,
    522 	GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_COUNT = 6
    523 };
    524 
    525 enum domGles_texcombiner_source_enums {
    526 	GLES_TEXCOMBINER_SOURCE_ENUMS_TEXTURE = 0x1702,
    527 	GLES_TEXCOMBINER_SOURCE_ENUMS_CONSTANT = 0x8576,
    528 	GLES_TEXCOMBINER_SOURCE_ENUMS_PRIMARY = 0x8577,
    529 	GLES_TEXCOMBINER_SOURCE_ENUMS_PREVIOUS = 0x8578,
    530 	GLES_TEXCOMBINER_SOURCE_ENUMS_COUNT = 4
    531 };
    532 
    533 enum domGles_texcombiner_operandRGB_enums {
    534 	GLES_TEXCOMBINER_OPERANDRGB_ENUMS_SRC_COLOR = 0x0300,
    535 	GLES_TEXCOMBINER_OPERANDRGB_ENUMS_ONE_MINUS_SRC_COLOR = 0x0301,
    536 	GLES_TEXCOMBINER_OPERANDRGB_ENUMS_SRC_ALPHA = 0x0302,
    537 	GLES_TEXCOMBINER_OPERANDRGB_ENUMS_ONE_MINUS_SRC_ALPHA = 0x0303,
    538 	GLES_TEXCOMBINER_OPERANDRGB_ENUMS_COUNT = 4
    539 };
    540 
    541 enum domGles_texcombiner_operandAlpha_enums {
    542 	GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_SRC_ALPHA = 0x0302,
    543 	GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_ONE_MINUS_SRC_ALPHA = 0x0303,
    544 	GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_COUNT = 2
    545 };
    546 
    547 enum domGles_sampler_wrap {
    548 	GLES_SAMPLER_WRAP_REPEAT,
    549 	GLES_SAMPLER_WRAP_CLAMP,
    550 	GLES_SAMPLER_WRAP_CLAMP_TO_EDGE,
    551 	GLES_SAMPLER_WRAP_MIRRORED_REPEAT,		/**< supported by GLES 1.1 only */
    552 	GLES_SAMPLER_WRAP_COUNT = 4
    553 };
    554 
    555 enum domGles_stencil_op_type {
    556 	GLES_STENCIL_OP_TYPE_KEEP = 0x1E00,
    557 	GLES_STENCIL_OP_TYPE_ZERO = 0x0,
    558 	GLES_STENCIL_OP_TYPE_REPLACE = 0x1E01,
    559 	GLES_STENCIL_OP_TYPE_INCR = 0x1E02,
    560 	GLES_STENCIL_OP_TYPE_DECR = 0x1E03,
    561 	GLES_STENCIL_OP_TYPE_INVERT = 0x150A,
    562 	GLES_STENCIL_OP_TYPE_COUNT = 6
    563 };
    564 
    565 enum domSpringType {
    566 	SPRINGTYPE_LINEAR,
    567 	SPRINGTYPE_ANGULAR,
    568 	SPRINGTYPE_COUNT = 2
    569 };
    570 
    571 enum domGl_enumeration {
    572 	GL_ENUMERATION_ZERO = 0x0,
    573 	GL_ENUMERATION_ONE = 0x1,
    574 	GL_ENUMERATION_SRC_COLOR = 0x0300,
    575 	GL_ENUMERATION_ONE_MINUS_SRC_COLOR = 0x0301,
    576 	GL_ENUMERATION_DEST_COLOR = 0x0306,
    577 	GL_ENUMERATION_ONE_MINUS_DEST_COLOR = 0x0307,
    578 	GL_ENUMERATION_SRC_ALPHA = 0x0302,
    579 	GL_ENUMERATION_ONE_MINUS_SRC_ALPHA = 0x0303,
    580 	GL_ENUMERATION_DST_ALPHA = 0x0304,
    581 	GL_ENUMERATION_ONE_MINUS_DST_ALPHA = 0x0305,
    582 	GL_ENUMERATION_CONSTANT_COLOR = 0x8001,
    583 	GL_ENUMERATION_ONE_MINUS_CONSTANT_COLOR = 0x8002,
    584 	GL_ENUMERATION_CONSTANT_ALPHA = 0x8003,
    585 	GL_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
    586 	GL_ENUMERATION_SRC_ALPHA_SATURATE = 0x0308,
    587 	GL_ENUMERATION_FRONT = 0x0404,
    588 	GL_ENUMERATION_BACK = 0x0405,
    589 	GL_ENUMERATION_FRONT_AND_BACK = 0x0408,
    590 	GL_ENUMERATION_FUNC_ADD = 0x8006,
    591 	GL_ENUMERATION_FUNC_SUBTRACT = 0x800A,
    592 	GL_ENUMERATION_FUNC_REVERSE_SUBTRACT = 0x800B,
    593 	GL_ENUMERATION_MIN = 0x8007,
    594 	GL_ENUMERATION_MAX = 0x8008,
    595 	GL_ENUMERATION_NEVER = 0x0200,
    596 	GL_ENUMERATION_LESS = 0x0201,
    597 	GL_ENUMERATION_LEQUAL = 0x0203,
    598 	GL_ENUMERATION_EQUAL = 0x0202,
    599 	GL_ENUMERATION_GREATER = 0x0204,
    600 	GL_ENUMERATION_NOTEQUAL = 0x0205,
    601 	GL_ENUMERATION_GEQUAL = 0x0206,
    602 	GL_ENUMERATION_ALWAYS = 0x0207,
    603 	GL_ENUMERATION_KEEP = 0x1E00,
    604 	GL_ENUMERATION_REPLACE = 0x1E01,
    605 	GL_ENUMERATION_INCR = 0x1E02,
    606 	GL_ENUMERATION_DECR = 0x1E03,
    607 	GL_ENUMERATION_INVERT = 0x150A,
    608 	GL_ENUMERATION_INCR_WRAP = 0x8507,
    609 	GL_ENUMERATION_DECR_WRAP = 0x8508,
    610 	GL_ENUMERATION_EMISSION = 0x1600,
    611 	GL_ENUMERATION_AMBIENT = 0x1200,
    612 	GL_ENUMERATION_DIFFUSE = 0x1201,
    613 	GL_ENUMERATION_SPECULAR = 0x1202,
    614 	GL_ENUMERATION_AMBIENT_AND_DIFFUSE = 0x1602,
    615 	GL_ENUMERATION_LINEAR = 0x2601,
    616 	GL_ENUMERATION_EXP = 0x0800,
    617 	GL_ENUMERATION_EXP2 = 0x0801,
    618 	GL_ENUMERATION_FOG_COORDINATE = 0x8451,
    619 	GL_ENUMERATION_FRAGMENT_DEPTH = 0x8452,
    620 	GL_ENUMERATION_CW = 0x0900,
    621 	GL_ENUMERATION_CCW = 0x0901,
    622 	GL_ENUMERATION_SINGLE_COLOR = 0x81F9,
    623 	GL_ENUMERATION_SEPARATE_SPECULAR_COLOR = 0x81FA,
    624 	GL_ENUMERATION_CLEAR = 0x1500,
    625 	GL_ENUMERATION_AND = 0x1501,
    626 	GL_ENUMERATION_AND_REVERSE = 0x1502,
    627 	GL_ENUMERATION_COPY = 0x1503,
    628 	GL_ENUMERATION_AND_INVERTED = 0x1504,
    629 	GL_ENUMERATION_NOOP = 0x1505,
    630 	GL_ENUMERATION_XOR = 0x1506,
    631 	GL_ENUMERATION_OR = 0x1507,
    632 	GL_ENUMERATION_NOR = 0x1508,
    633 	GL_ENUMERATION_EQUIV = 0x1509,
    634 	GL_ENUMERATION_OR_REVERSE = 0x150B,
    635 	GL_ENUMERATION_COPY_INVERTED = 0x150C,
    636 	GL_ENUMERATION_NAND = 0x150E,
    637 	GL_ENUMERATION_SET = 0x150F,
    638 	GL_ENUMERATION_POINT = 0x1B00,
    639 	GL_ENUMERATION_LINE = 0x1B01,
    640 	GL_ENUMERATION_FILL = 0x1B02,
    641 	GL_ENUMERATION_FLAT = 0x1D00,
    642 	GL_ENUMERATION_SMOOTH = 0x1D01,
    643 	GL_ENUMERATION_COUNT = 72
    644 };
    645 
    646 enum domGles_enumeration {
    647 	GLES_ENUMERATION_ZERO = 0x0,
    648 	GLES_ENUMERATION_ONE = 0x1,
    649 	GLES_ENUMERATION_SRC_COLOR = 0x0300,
    650 	GLES_ENUMERATION_ONE_MINUS_SRC_COLOR = 0x0301,
    651 	GLES_ENUMERATION_DEST_COLOR = 0x0306,
    652 	GLES_ENUMERATION_ONE_MINUS_DEST_COLOR = 0x0307,
    653 	GLES_ENUMERATION_SRC_ALPHA = 0x0302,
    654 	GLES_ENUMERATION_ONE_MINUS_SRC_ALPHA = 0x0303,
    655 	GLES_ENUMERATION_DST_ALPHA = 0x0304,
    656 	GLES_ENUMERATION_ONE_MINUS_DST_ALPHA = 0x0305,
    657 	GLES_ENUMERATION_CONSTANT_COLOR = 0x8001,
    658 	GLES_ENUMERATION_ONE_MINUS_CONSTANT_COLOR = 0x8002,
    659 	GLES_ENUMERATION_CONSTANT_ALPHA = 0x8003,
    660 	GLES_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
    661 	GLES_ENUMERATION_SRC_ALPHA_SATURATE = 0x0308,
    662 	GLES_ENUMERATION_FRONT = 0x0404,
    663 	GLES_ENUMERATION_BACK = 0x0405,
    664 	GLES_ENUMERATION_FRONT_AND_BACK = 0x0408,
    665 	GLES_ENUMERATION_NEVER = 0x0200,
    666 	GLES_ENUMERATION_LESS = 0x0201,
    667 	GLES_ENUMERATION_LEQUAL = 0x0203,
    668 	GLES_ENUMERATION_EQUAL = 0x0202,
    669 	GLES_ENUMERATION_GREATER = 0x0204,
    670 	GLES_ENUMERATION_NOTEQUAL = 0x0205,
    671 	GLES_ENUMERATION_GEQUAL = 0x0206,
    672 	GLES_ENUMERATION_ALWAYS = 0x0207,
    673 	GLES_ENUMERATION_KEEP = 0x1E00,
    674 	GLES_ENUMERATION_REPLACE = 0x1E01,
    675 	GLES_ENUMERATION_INCR = 0x1E02,
    676 	GLES_ENUMERATION_DECR = 0x1E03,
    677 	GLES_ENUMERATION_INVERT = 0x150A,
    678 	GLES_ENUMERATION_INCR_WRAP = 0x8507,
    679 	GLES_ENUMERATION_DECR_WRAP = 0x8508,
    680 	GLES_ENUMERATION_EMISSION = 0x1600,
    681 	GLES_ENUMERATION_AMBIENT = 0x1200,
    682 	GLES_ENUMERATION_DIFFUSE = 0x1201,
    683 	GLES_ENUMERATION_SPECULAR = 0x1202,
    684 	GLES_ENUMERATION_AMBIENT_AND_DIFFUSE = 0x1602,
    685 	GLES_ENUMERATION_LINEAR = 0x2601,
    686 	GLES_ENUMERATION_EXP = 0x0800,
    687 	GLES_ENUMERATION_EXP2 = 0x0801,
    688 	GLES_ENUMERATION_CW = 0x0900,
    689 	GLES_ENUMERATION_CCW = 0x0901,
    690 	GLES_ENUMERATION_SINGLE_COLOR = 0x81F9,
    691 	GLES_ENUMERATION_SEPARATE_SPECULAR_COLOR = 0x81FA,
    692 	GLES_ENUMERATION_CLEAR = 0x1500,
    693 	GLES_ENUMERATION_AND = 0x1501,
    694 	GLES_ENUMERATION_AND_REVERSE = 0x1502,
    695 	GLES_ENUMERATION_COPY = 0x1503,
    696 	GLES_ENUMERATION_AND_INVERTED = 0x1504,
    697 	GLES_ENUMERATION_NOOP = 0x1505,
    698 	GLES_ENUMERATION_XOR = 0x1506,
    699 	GLES_ENUMERATION_OR = 0x1507,
    700 	GLES_ENUMERATION_NOR = 0x1508,
    701 	GLES_ENUMERATION_EQUIV = 0x1509,
    702 	GLES_ENUMERATION_OR_REVERSE = 0x150B,
    703 	GLES_ENUMERATION_COPY_INVERTED = 0x150C,
    704 	GLES_ENUMERATION_NAND = 0x150E,
    705 	GLES_ENUMERATION_SET = 0x150F,
    706 	GLES_ENUMERATION_POINT = 0x1B00,
    707 	GLES_ENUMERATION_LINE = 0x1B01,
    708 	GLES_ENUMERATION_FILL = 0x1B02,
    709 	GLES_ENUMERATION_FLAT = 0x1D00,
    710 	GLES_ENUMERATION_SMOOTH = 0x1D01,
    711 	GLES_ENUMERATION_COUNT = 65
    712 };
    713 
    714 //Element Type Enum
    715 namespace COLLADA_TYPE
    716 {
    717 	const int
    718 		NO_TYPE = 0,
    719 		ANY = 1,
    720 		INPUTGLOBAL = 2,
    721 		INPUTLOCAL = 3,
    722 		INPUTLOCALOFFSET = 4,
    723 		INSTANCEWITHEXTRA = 5,
    724 		TARGETABLEFLOAT = 6,
    725 		TARGETABLEFLOAT3 = 7,
    726 		FX_SURFACE_FORMAT_HINT_COMMON = 8,
    727 		CHANNELS = 9,
    728 		RANGE = 10,
    729 		PRECISION = 11,
    730 		OPTION = 12,
    731 		FX_SURFACE_INIT_PLANAR_COMMON = 13,
    732 		ALL = 14,
    733 		FX_SURFACE_INIT_VOLUME_COMMON = 15,
    734 		PRIMARY = 16,
    735 		FX_SURFACE_INIT_CUBE_COMMON = 17,
    736 		ORDER = 18,
    737 		FACE = 19,
    738 		FX_SURFACE_INIT_FROM_COMMON = 20,
    739 		FX_SURFACE_COMMON = 21,
    740 		FORMAT = 22,
    741 		SIZE = 23,
    742 		VIEWPORT_RATIO = 24,
    743 		MIP_LEVELS = 25,
    744 		MIPMAP_GENERATE = 26,
    745 		FX_SAMPLER1D_COMMON = 27,
    746 		SOURCE = 28,
    747 		WRAP_S = 29,
    748 		MINFILTER = 30,
    749 		MAGFILTER = 31,
    750 		MIPFILTER = 32,
    751 		BORDER_COLOR = 33,
    752 		MIPMAP_MAXLEVEL = 34,
    753 		MIPMAP_BIAS = 35,
    754 		FX_SAMPLER2D_COMMON = 36,
    755 		WRAP_T = 37,
    756 		FX_SAMPLER3D_COMMON = 38,
    757 		WRAP_P = 39,
    758 		FX_SAMPLERCUBE_COMMON = 40,
    759 		FX_SAMPLERRECT_COMMON = 41,
    760 		FX_SAMPLERDEPTH_COMMON = 42,
    761 		FX_COLORTARGET_COMMON = 43,
    762 		FX_DEPTHTARGET_COMMON = 44,
    763 		FX_STENCILTARGET_COMMON = 45,
    764 		FX_CLEARCOLOR_COMMON = 46,
    765 		FX_CLEARDEPTH_COMMON = 47,
    766 		FX_CLEARSTENCIL_COMMON = 48,
    767 		FX_ANNOTATE_COMMON = 49,
    768 		FX_INCLUDE_COMMON = 50,
    769 		FX_NEWPARAM_COMMON = 51,
    770 		SEMANTIC = 52,
    771 		MODIFIER = 53,
    772 		FX_CODE_PROFILE = 54,
    773 		GL_SAMPLER1D = 55,
    774 		GL_SAMPLER2D = 56,
    775 		GL_SAMPLER3D = 57,
    776 		GL_SAMPLERCUBE = 58,
    777 		GL_SAMPLERRECT = 59,
    778 		GL_SAMPLERDEPTH = 60,
    779 		GLSL_NEWARRAY_TYPE = 61,
    780 		GLSL_SETARRAY_TYPE = 62,
    781 		GLSL_SURFACE_TYPE = 63,
    782 		GENERATOR = 64,
    783 		NAME = 65,
    784 		GLSL_NEWPARAM = 66,
    785 		GLSL_SETPARAM_SIMPLE = 67,
    786 		GLSL_SETPARAM = 68,
    787 		COMMON_FLOAT_OR_PARAM_TYPE = 69,
    788 		FLOAT = 70,
    789 		PARAM = 71,
    790 		COMMON_COLOR_OR_TEXTURE_TYPE = 72,
    791 		COLOR = 73,
    792 		TEXTURE = 74,
    793 		COMMON_TRANSPARENT_TYPE = 75,
    794 		COMMON_NEWPARAM_TYPE = 76,
    795 		FLOAT2 = 77,
    796 		FLOAT3 = 78,
    797 		FLOAT4 = 79,
    798 		CG_SAMPLER1D = 80,
    799 		CG_SAMPLER2D = 81,
    800 		CG_SAMPLER3D = 82,
    801 		CG_SAMPLERCUBE = 83,
    802 		CG_SAMPLERRECT = 84,
    803 		CG_SAMPLERDEPTH = 85,
    804 		CG_CONNECT_PARAM = 86,
    805 		CG_NEWARRAY_TYPE = 87,
    806 		CG_SETARRAY_TYPE = 88,
    807 		CG_SETUSER_TYPE = 89,
    808 		CG_SURFACE_TYPE = 90,
    809 		CG_NEWPARAM = 91,
    810 		CG_SETPARAM_SIMPLE = 92,
    811 		CG_SETPARAM = 93,
    812 		GLES_TEXTURE_CONSTANT_TYPE = 94,
    813 		GLES_TEXENV_COMMAND_TYPE = 95,
    814 		GLES_TEXCOMBINER_ARGUMENTRGB_TYPE = 96,
    815 		GLES_TEXCOMBINER_ARGUMENTALPHA_TYPE = 97,
    816 		GLES_TEXCOMBINER_COMMANDRGB_TYPE = 98,
    817 		GLES_TEXCOMBINER_COMMANDALPHA_TYPE = 99,
    818 		GLES_TEXCOMBINER_COMMAND_TYPE = 100,
    819 		GLES_TEXTURE_PIPELINE = 101,
    820 		GLES_TEXTURE_UNIT = 102,
    821 		SURFACE = 103,
    822 		SAMPLER_STATE = 104,
    823 		TEXCOORD = 105,
    824 		GLES_SAMPLER_STATE = 106,
    825 		GLES_NEWPARAM = 107,
    826 		FX_SURFACE_INIT_COMMON = 108,
    827 		INIT_AS_NULL = 109,
    828 		INIT_AS_TARGET = 110,
    829 		FX_ANNOTATE_TYPE_COMMON = 111,
    830 		BOOL = 112,
    831 		BOOL2 = 113,
    832 		BOOL3 = 114,
    833 		BOOL4 = 115,
    834 		INT = 116,
    835 		INT2 = 117,
    836 		INT3 = 118,
    837 		INT4 = 119,
    838 		FLOAT2X2 = 120,
    839 		FLOAT3X3 = 121,
    840 		FLOAT4X4 = 122,
    841 		STRING = 123,
    842 		FX_BASIC_TYPE_COMMON = 124,
    843 		FLOAT1X1 = 125,
    844 		FLOAT1X2 = 126,
    845 		FLOAT1X3 = 127,
    846 		FLOAT1X4 = 128,
    847 		FLOAT2X1 = 129,
    848 		FLOAT2X3 = 130,
    849 		FLOAT2X4 = 131,
    850 		FLOAT3X1 = 132,
    851 		FLOAT3X2 = 133,
    852 		FLOAT3X4 = 134,
    853 		FLOAT4X1 = 135,
    854 		FLOAT4X2 = 136,
    855 		FLOAT4X3 = 137,
    856 		ENUM = 138,
    857 		GL_PIPELINE_SETTINGS = 139,
    858 		ALPHA_FUNC = 140,
    859 		FUNC = 141,
    860 		VALUE = 142,
    861 		BLEND_FUNC = 143,
    862 		SRC = 144,
    863 		DEST = 145,
    864 		BLEND_FUNC_SEPARATE = 146,
    865 		SRC_RGB = 147,
    866 		DEST_RGB = 148,
    867 		SRC_ALPHA = 149,
    868 		DEST_ALPHA = 150,
    869 		BLEND_EQUATION = 151,
    870 		BLEND_EQUATION_SEPARATE = 152,
    871 		RGB = 153,
    872 		ALPHA = 154,
    873 		COLOR_MATERIAL = 155,
    874 		MODE = 156,
    875 		CULL_FACE = 157,
    876 		DEPTH_FUNC = 158,
    877 		FOG_MODE = 159,
    878 		FOG_COORD_SRC = 160,
    879 		FRONT_FACE = 161,
    880 		LIGHT_MODEL_COLOR_CONTROL = 162,
    881 		LOGIC_OP = 163,
    882 		POLYGON_MODE = 164,
    883 		SHADE_MODEL = 165,
    884 		STENCIL_FUNC = 166,
    885 		REF = 167,
    886 		MASK = 168,
    887 		STENCIL_OP = 169,
    888 		FAIL = 170,
    889 		ZFAIL = 171,
    890 		ZPASS = 172,
    891 		STENCIL_FUNC_SEPARATE = 173,
    892 		FRONT = 174,
    893 		BACK = 175,
    894 		STENCIL_OP_SEPARATE = 176,
    895 		STENCIL_MASK_SEPARATE = 177,
    896 		LIGHT_ENABLE = 178,
    897 		LIGHT_AMBIENT = 179,
    898 		LIGHT_DIFFUSE = 180,
    899 		LIGHT_SPECULAR = 181,
    900 		LIGHT_POSITION = 182,
    901 		LIGHT_CONSTANT_ATTENUATION = 183,
    902 		LIGHT_LINEAR_ATTENUATION = 184,
    903 		LIGHT_QUADRATIC_ATTENUATION = 185,
    904 		LIGHT_SPOT_CUTOFF = 186,
    905 		LIGHT_SPOT_DIRECTION = 187,
    906 		LIGHT_SPOT_EXPONENT = 188,
    907 		TEXTURE1D = 189,
    908 		TEXTURE2D = 190,
    909 		TEXTURE3D = 191,
    910 		TEXTURECUBE = 192,
    911 		TEXTURERECT = 193,
    912 		TEXTUREDEPTH = 194,
    913 		TEXTURE1D_ENABLE = 195,
    914 		TEXTURE2D_ENABLE = 196,
    915 		TEXTURE3D_ENABLE = 197,
    916 		TEXTURECUBE_ENABLE = 198,
    917 		TEXTURERECT_ENABLE = 199,
    918 		TEXTUREDEPTH_ENABLE = 200,
    919 		TEXTURE_ENV_COLOR = 201,
    920 		TEXTURE_ENV_MODE = 202,
    921 		CLIP_PLANE = 203,
    922 		CLIP_PLANE_ENABLE = 204,
    923 		BLEND_COLOR = 205,
    924 		CLEAR_COLOR = 206,
    925 		CLEAR_STENCIL = 207,
    926 		CLEAR_DEPTH = 208,
    927 		COLOR_MASK = 209,
    928 		DEPTH_BOUNDS = 210,
    929 		DEPTH_MASK = 211,
    930 		DEPTH_RANGE = 212,
    931 		FOG_DENSITY = 213,
    932 		FOG_START = 214,
    933 		FOG_END = 215,
    934 		FOG_COLOR = 216,
    935 		LIGHT_MODEL_AMBIENT = 217,
    936 		LIGHTING_ENABLE = 218,
    937 		LINE_STIPPLE = 219,
    938 		LINE_WIDTH = 220,
    939 		MATERIAL_AMBIENT = 221,
    940 		MATERIAL_DIFFUSE = 222,
    941 		MATERIAL_EMISSION = 223,
    942 		MATERIAL_SHININESS = 224,
    943 		MATERIAL_SPECULAR = 225,
    944 		MODEL_VIEW_MATRIX = 226,
    945 		POINT_DISTANCE_ATTENUATION = 227,
    946 		POINT_FADE_THRESHOLD_SIZE = 228,
    947 		POINT_SIZE = 229,
    948 		POINT_SIZE_MIN = 230,
    949 		POINT_SIZE_MAX = 231,
    950 		POLYGON_OFFSET = 232,
    951 		PROJECTION_MATRIX = 233,
    952 		SCISSOR = 234,
    953 		STENCIL_MASK = 235,
    954 		ALPHA_TEST_ENABLE = 236,
    955 		AUTO_NORMAL_ENABLE = 237,
    956 		BLEND_ENABLE = 238,
    957 		COLOR_LOGIC_OP_ENABLE = 239,
    958 		COLOR_MATERIAL_ENABLE = 240,
    959 		CULL_FACE_ENABLE = 241,
    960 		DEPTH_BOUNDS_ENABLE = 242,
    961 		DEPTH_CLAMP_ENABLE = 243,
    962 		DEPTH_TEST_ENABLE = 244,
    963 		DITHER_ENABLE = 245,
    964 		FOG_ENABLE = 246,
    965 		LIGHT_MODEL_LOCAL_VIEWER_ENABLE = 247,
    966 		LIGHT_MODEL_TWO_SIDE_ENABLE = 248,
    967 		LINE_SMOOTH_ENABLE = 249,
    968 		LINE_STIPPLE_ENABLE = 250,
    969 		LOGIC_OP_ENABLE = 251,
    970 		MULTISAMPLE_ENABLE = 252,
    971 		NORMALIZE_ENABLE = 253,
    972 		POINT_SMOOTH_ENABLE = 254,
    973 		POLYGON_OFFSET_FILL_ENABLE = 255,
    974 		POLYGON_OFFSET_LINE_ENABLE = 256,
    975 		POLYGON_OFFSET_POINT_ENABLE = 257,
    976 		POLYGON_SMOOTH_ENABLE = 258,
    977 		POLYGON_STIPPLE_ENABLE = 259,
    978 		RESCALE_NORMAL_ENABLE = 260,
    979 		SAMPLE_ALPHA_TO_COVERAGE_ENABLE = 261,
    980 		SAMPLE_ALPHA_TO_ONE_ENABLE = 262,
    981 		SAMPLE_COVERAGE_ENABLE = 263,
    982 		SCISSOR_TEST_ENABLE = 264,
    983 		STENCIL_TEST_ENABLE = 265,
    984 		GLSL_PARAM_TYPE = 266,
    985 		CG_PARAM_TYPE = 267,
    986 		BOOL1 = 268,
    987 		BOOL1X1 = 269,
    988 		BOOL1X2 = 270,
    989 		BOOL1X3 = 271,
    990 		BOOL1X4 = 272,
    991 		BOOL2X1 = 273,
    992 		BOOL2X2 = 274,
    993 		BOOL2X3 = 275,
    994 		BOOL2X4 = 276,
    995 		BOOL3X1 = 277,
    996 		BOOL3X2 = 278,
    997 		BOOL3X3 = 279,
    998 		BOOL3X4 = 280,
    999 		BOOL4X1 = 281,
   1000 		BOOL4X2 = 282,
   1001 		BOOL4X3 = 283,
   1002 		BOOL4X4 = 284,
   1003 		FLOAT1 = 285,
   1004 		INT1 = 286,
   1005 		INT1X1 = 287,
   1006 		INT1X2 = 288,
   1007 		INT1X3 = 289,
   1008 		INT1X4 = 290,
   1009 		INT2X1 = 291,
   1010 		INT2X2 = 292,
   1011 		INT2X3 = 293,
   1012 		INT2X4 = 294,
   1013 		INT3X1 = 295,
   1014 		INT3X2 = 296,
   1015 		INT3X3 = 297,
   1016 		INT3X4 = 298,
   1017 		INT4X1 = 299,
   1018 		INT4X2 = 300,
   1019 		INT4X3 = 301,
   1020 		INT4X4 = 302,
   1021 		HALF = 303,
   1022 		HALF1 = 304,
   1023 		HALF2 = 305,
   1024 		HALF3 = 306,
   1025 		HALF4 = 307,
   1026 		HALF1X1 = 308,
   1027 		HALF1X2 = 309,
   1028 		HALF1X3 = 310,
   1029 		HALF1X4 = 311,
   1030 		HALF2X1 = 312,
   1031 		HALF2X2 = 313,
   1032 		HALF2X3 = 314,
   1033 		HALF2X4 = 315,
   1034 		HALF3X1 = 316,
   1035 		HALF3X2 = 317,
   1036 		HALF3X3 = 318,
   1037 		HALF3X4 = 319,
   1038 		HALF4X1 = 320,
   1039 		HALF4X2 = 321,
   1040 		HALF4X3 = 322,
   1041 		HALF4X4 = 323,
   1042 		FIXED = 324,
   1043 		FIXED1 = 325,
   1044 		FIXED2 = 326,
   1045 		FIXED3 = 327,
   1046 		FIXED4 = 328,
   1047 		FIXED1X1 = 329,
   1048 		FIXED1X2 = 330,
   1049 		FIXED1X3 = 331,
   1050 		FIXED1X4 = 332,
   1051 		FIXED2X1 = 333,
   1052 		FIXED2X2 = 334,
   1053 		FIXED2X3 = 335,
   1054 		FIXED2X4 = 336,
   1055 		FIXED3X1 = 337,
   1056 		FIXED3X2 = 338,
   1057 		FIXED3X3 = 339,
   1058 		FIXED3X4 = 340,
   1059 		FIXED4X1 = 341,
   1060 		FIXED4X2 = 342,
   1061 		FIXED4X3 = 343,
   1062 		FIXED4X4 = 344,
   1063 		GLES_PIPELINE_SETTINGS = 345,
   1064 		TEXTURE_PIPELINE = 346,
   1065 		LIGHT_LINEAR_ATTENUTATION = 347,
   1066 		TEXTURE_PIPELINE_ENABLE = 348,
   1067 		GLES_BASIC_TYPE_COMMON = 349,
   1068 		COLLADA = 350,
   1069 		SCENE = 351,
   1070 		IDREF_ARRAY = 352,
   1071 		NAME_ARRAY = 353,
   1072 		BOOL_ARRAY = 354,
   1073 		FLOAT_ARRAY = 355,
   1074 		INT_ARRAY = 356,
   1075 		ACCESSOR = 357,
   1076 		TECHNIQUE_COMMON = 358,
   1077 		GEOMETRY = 359,
   1078 		MESH = 360,
   1079 		SPLINE = 361,
   1080 		CONTROL_VERTICES = 362,
   1081 		P = 363,
   1082 		LINES = 364,
   1083 		LINESTRIPS = 365,
   1084 		POLYGONS = 366,
   1085 		PH = 367,
   1086 		H = 368,
   1087 		POLYLIST = 369,
   1088 		VCOUNT = 370,
   1089 		TRIANGLES = 371,
   1090 		TRIFANS = 372,
   1091 		TRISTRIPS = 373,
   1092 		VERTICES = 374,
   1093 		LOOKAT = 375,
   1094 		MATRIX = 376,
   1095 		ROTATE = 377,
   1096 		SCALE = 378,
   1097 		SKEW = 379,
   1098 		TRANSLATE = 380,
   1099 		IMAGE = 381,
   1100 		DATA = 382,
   1101 		INIT_FROM = 383,
   1102 		LIGHT = 384,
   1103 		AMBIENT = 385,
   1104 		DIRECTIONAL = 386,
   1105 		POINT = 387,
   1106 		SPOT = 388,
   1107 		MATERIAL = 389,
   1108 		CAMERA = 390,
   1109 		OPTICS = 391,
   1110 		ORTHOGRAPHIC = 392,
   1111 		PERSPECTIVE = 393,
   1112 		IMAGER = 394,
   1113 		ANIMATION = 395,
   1114 		ANIMATION_CLIP = 396,
   1115 		CHANNEL = 397,
   1116 		SAMPLER = 398,
   1117 		CONTROLLER = 399,
   1118 		SKIN = 400,
   1119 		BIND_SHAPE_MATRIX = 401,
   1120 		JOINTS = 402,
   1121 		VERTEX_WEIGHTS = 403,
   1122 		V = 404,
   1123 		MORPH = 405,
   1124 		TARGETS = 406,
   1125 		ASSET = 407,
   1126 		CONTRIBUTOR = 408,
   1127 		AUTHOR = 409,
   1128 		AUTHORING_TOOL = 410,
   1129 		COMMENTS = 411,
   1130 		COPYRIGHT = 412,
   1131 		SOURCE_DATA = 413,
   1132 		CREATED = 414,
   1133 		KEYWORDS = 415,
   1134 		MODIFIED = 416,
   1135 		REVISION = 417,
   1136 		SUBJECT = 418,
   1137 		TITLE = 419,
   1138 		UNIT = 420,
   1139 		UP_AXIS = 421,
   1140 		EXTRA = 422,
   1141 		TECHNIQUE = 423,
   1142 		NODE = 424,
   1143 		VISUAL_SCENE = 425,
   1144 		EVALUATE_SCENE = 426,
   1145 		RENDER = 427,
   1146 		LAYER = 428,
   1147 		BIND_MATERIAL = 429,
   1148 		INSTANCE_CAMERA = 430,
   1149 		INSTANCE_CONTROLLER = 431,
   1150 		SKELETON = 432,
   1151 		INSTANCE_EFFECT = 433,
   1152 		TECHNIQUE_HINT = 434,
   1153 		SETPARAM = 435,
   1154 		INSTANCE_FORCE_FIELD = 436,
   1155 		INSTANCE_GEOMETRY = 437,
   1156 		INSTANCE_LIGHT = 438,
   1157 		INSTANCE_MATERIAL = 439,
   1158 		BIND = 440,
   1159 		BIND_VERTEX_INPUT = 441,
   1160 		INSTANCE_NODE = 442,
   1161 		INSTANCE_PHYSICS_MATERIAL = 443,
   1162 		INSTANCE_PHYSICS_MODEL = 444,
   1163 		INSTANCE_RIGID_BODY = 445,
   1164 		ANGULAR_VELOCITY = 446,
   1165 		VELOCITY = 447,
   1166 		DYNAMIC = 448,
   1167 		MASS_FRAME = 449,
   1168 		SHAPE = 450,
   1169 		HOLLOW = 451,
   1170 		INSTANCE_RIGID_CONSTRAINT = 452,
   1171 		LIBRARY_ANIMATIONS = 453,
   1172 		LIBRARY_ANIMATION_CLIPS = 454,
   1173 		LIBRARY_CAMERAS = 455,
   1174 		LIBRARY_CONTROLLERS = 456,
   1175 		LIBRARY_GEOMETRIES = 457,
   1176 		LIBRARY_EFFECTS = 458,
   1177 		LIBRARY_FORCE_FIELDS = 459,
   1178 		LIBRARY_IMAGES = 460,
   1179 		LIBRARY_LIGHTS = 461,
   1180 		LIBRARY_MATERIALS = 462,
   1181 		LIBRARY_NODES = 463,
   1182 		LIBRARY_PHYSICS_MATERIALS = 464,
   1183 		LIBRARY_PHYSICS_MODELS = 465,
   1184 		LIBRARY_PHYSICS_SCENES = 466,
   1185 		LIBRARY_VISUAL_SCENES = 467,
   1186 		FX_PROFILE_ABSTRACT = 468,
   1187 		EFFECT = 469,
   1188 		GL_HOOK_ABSTRACT = 470,
   1189 		PROFILE_GLSL = 471,
   1190 		PASS = 472,
   1191 		DRAW = 473,
   1192 		SHADER = 474,
   1193 		COMPILER_TARGET = 475,
   1194 		COMPILER_OPTIONS = 476,
   1195 		PROFILE_COMMON = 477,
   1196 		CONSTANT = 478,
   1197 		LAMBERT = 479,
   1198 		PHONG = 480,
   1199 		BLINN = 481,
   1200 		PROFILE_CG = 482,
   1201 		PROFILE_GLES = 483,
   1202 		COLOR_TARGET = 484,
   1203 		DEPTH_TARGET = 485,
   1204 		STENCIL_TARGET = 486,
   1205 		COLOR_CLEAR = 487,
   1206 		DEPTH_CLEAR = 488,
   1207 		STENCIL_CLEAR = 489,
   1208 		BOX = 490,
   1209 		HALF_EXTENTS = 491,
   1210 		PLANE = 492,
   1211 		EQUATION = 493,
   1212 		SPHERE = 494,
   1213 		RADIUS = 495,
   1214 		ELLIPSOID = 496,
   1215 		CYLINDER = 497,
   1216 		HEIGHT = 498,
   1217 		TAPERED_CYLINDER = 499,
   1218 		RADIUS1 = 500,
   1219 		RADIUS2 = 501,
   1220 		CAPSULE = 502,
   1221 		TAPERED_CAPSULE = 503,
   1222 		CONVEX_MESH = 504,
   1223 		FORCE_FIELD = 505,
   1224 		PHYSICS_MATERIAL = 506,
   1225 		PHYSICS_SCENE = 507,
   1226 		RIGID_BODY = 508,
   1227 		RIGID_CONSTRAINT = 509,
   1228 		REF_ATTACHMENT = 510,
   1229 		ATTACHMENT = 511,
   1230 		ENABLED = 512,
   1231 		INTERPENETRATE = 513,
   1232 		LIMITS = 514,
   1233 		SWING_CONE_AND_TWIST = 515,
   1234 		LINEAR = 516,
   1235 		SPRING = 517,
   1236 		ANGULAR = 518,
   1237 		PHYSICS_MODEL = 519;
   1238 }
   1239 
   1240 // Returns the total number of schema types/dom* classes
   1241 daeInt DLLSPEC colladaTypeCount();
   1242 
   1243 #endif
   1244