//-----------------------------------------------------------------------------
#ifndef __S3DXAIEngineAPI_h__
#define __S3DXAIEngineAPI_h__
//-----------------------------------------------------------------------------
#include "S3DXMacros.h"
#include "S3DXAIFunction.h"
#include "S3DXAIVariables.h"
//-----------------------------------------------------------------------------
namespace S3DX
{
    class AIEngineAPI ;
}
//-----------------------------------------------------------------------------
namespace S3DX_MODULE_GUID
{
    extern S3DX_API S3DX::AIEngineAPI *__pS3DXEAPIMI ;
}
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
namespace S3DX
//-----------------------------------------------------------------------------
{
    class S3DX_API AIEngineAPI
    {
    public :

        //---------------------------------------------------------------------
        //  Virtual destructor : provided because of inheritence. 
        //  May not be needed to overload it.
        //
        virtual ~AIEngineAPI ( ) { }

        //---------------------------------------------------------------------
        //  Callback registering : this method will be called by the engine, 
        //  for each available callback, at plugin initialization time. 
        //  Once a callback is registered, it is be possible for the plugin to 
        //  use it to call the corresponding AI engine API function. 
        //
        virtual void    RegisterCallback    ( uint32 _iCallbackID, AICallback _pCallback ) = 0 ;

        //---------------------------------------------------------------------
        //  Callback IDs (crc32 of the enum name)
        //
        enum
        {
            CallbackID_animation_setCurrentClip                                             = 0x0C0B94C3,
            CallbackID_animation_getCurrentClip                                             = 0x731527B4,
            CallbackID_animation_setPlaybackSpeed                                           = 0xB3FBBF64,
            CallbackID_animation_getPlaybackSpeed                                           = 0x81EDCD7D,
            CallbackID_animation_setPlaybackLevel                                           = 0x26378D81,
            CallbackID_animation_getPlaybackLevel                                           = 0x1421FF98,
            CallbackID_animation_setPlaybackKeyFrameBegin                                   = 0xB910B1E5,
            CallbackID_animation_getPlaybackKeyFrameBegin                                   = 0xAF7D5087,
            CallbackID_animation_setPlaybackKeyFrameEnd                                     = 0xA3FC74B2,
            CallbackID_animation_getPlaybackKeyFrameEnd                                     = 0x56AAADF3,
            CallbackID_animation_setPlaybackMode                                            = 0x2C08CF1A,
            CallbackID_animation_getPlaybackMode                                            = 0xE2163536,
            CallbackID_animation_setPlaybackBlendMode                                       = 0x12F66939,
            CallbackID_animation_getPlaybackBlendMode                                       = 0xBCDD2945,
            CallbackID_animation_setPlaybackCursor                                          = 0xDBC245A7,
            CallbackID_animation_getPlaybackCursor                                          = 0xBF9BFB15,
            CallbackID_animation_matchPlaybackCursor                                        = 0x8F8AB851,
            CallbackID_animation_setSkeletonScale                                           = 0x2FC07138,
            CallbackID_animation_getSkeletonScale                                           = 0x1DD60321,
            CallbackID_animation_setObjectChannel                                           = 0xD4AE3510,
            CallbackID_animation_setObjectChannelUseTrack                                   = 0xF5DE44F2,
            CallbackID_animation_getObjectChannelUseTrack                                   = 0xE3B3A590,
            CallbackID_animation_setObjectChannelUseTrackIncrementalUpdates                 = 0xFD714BA7,
            CallbackID_animation_getObjectChannelUseTrackIncrementalUpdates                 = 0x07323BB2,
            CallbackID_animation_setObjectChannelUseTrackFullPlaybackLevels                 = 0xBCFA5581,
            CallbackID_animation_getObjectChannelUseTrackFullPlaybackLevels                 = 0x46B92594,
            CallbackID_animation_getClipChannelCount                                        = 0xA592179B,
            CallbackID_animation_getClipChannelName                                         = 0x7AF53473,
            CallbackID_animation_getClipChannelHasTrack                                     = 0xDDD6A216,
            CallbackID_animation_getClipKeyFrameRangeMin                                    = 0xE35831EA,
            CallbackID_animation_getClipKeyFrameRangeMax                                    = 0xDF550EB3,
            CallbackID_animation_getClipName                                                = 0x47C02FB5,
            CallbackID_animation_setPlaybackIgnoreNotAnimatedChannels                       = 0x052A0FF5,
            CallbackID_animation_getPlaybackIgnoreNotAnimatedChannels                       = 0xDC3B353E,
            CallbackID_animation_setPlaybackIgnoreIfCursorOutOfRange                        = 0xBE6A3950,
            CallbackID_animation_getPlaybackIgnoreIfCursorOutOfRange                        = 0x790A2EB9,
            CallbackID_animation_setPlaybackIgnoreJointsScaleTracks                         = 0xFEB349FA,
            CallbackID_animation_getPlaybackIgnoreJointsScaleTracks                         = 0x490C1481,
            CallbackID_animation_enablePlayback                                             = 0xF2D03F29,
                    
            CallbackID_application_getName                                                  = 0x31C05106,
            CallbackID_application_getUniqueIdentifier                                      = 0xAFD80AE0,
            CallbackID_application_getPackDirectory                                         = 0x2F7AB6F7,
            CallbackID_application_getUserCount                                             = 0xD22CF14D,
            CallbackID_application_getUserAt                                                = 0x1A09851A,
            CallbackID_application_getUser                                                  = 0xE270F949,
            CallbackID_application_createUser                                               = 0xE8D08585,
            CallbackID_application_destroyUser                                              = 0xA8F0ACFE,
            CallbackID_application_getCurrentUser                                           = 0x93FD7202,
            CallbackID_application_getCurrentUserScene                                      = 0x443EC2F3,
            CallbackID_application_getCurrentUserSceneName                                  = 0xC89DB4AB,
            CallbackID_application_setCurrentUserScene                                      = 0xBE14F41B,
            CallbackID_application_getCurrentUserSceneTaggedObject                          = 0x18689D05,
            CallbackID_application_getCurrentUserAIVariable                                 = 0xD034DD52,
            CallbackID_application_setCurrentUserAIVariable                                 = 0xC6593C30,
            CallbackID_application_getCurrentUserAIState                                    = 0x3D1397B0,
            CallbackID_application_playOverlayExternalMovie                                 = 0xBB4A7585,
            CallbackID_application_playOverlayMovie                                         = 0xC48499ED,
            CallbackID_application_stopOverlayMovie                                         = 0x2AA921BF,
            CallbackID_application_isOverlayMoviePlaying                                    = 0x36DA2A37,
            CallbackID_application_setAudioListenerObject                                   = 0x3FF3176A,
            CallbackID_application_getAudioListenerObject                                   = 0xCAA5CE2B,
            CallbackID_application_startCurrentUserScenePreloading                          = 0x333B99AB,
            CallbackID_application_getCurrentUserScenePreloadingStatus                      = 0x289178B3,
            CallbackID_application_forceModelToStayLoaded                                   = 0x807CA3DD,
            CallbackID_application_forceResourceToStayLoaded                                = 0xEB1E6A4B,
            CallbackID_application_isModelLoaded                                            = 0x2A746424,
            CallbackID_application_isResourceLoaded                                         = 0x13182860,
            CallbackID_application_isModelReferenced                                        = 0x31571CBC,
            CallbackID_application_isResourceReferenced                                     = 0xCAEC0BD1,
            CallbackID_application_getResourceProperty                                      = 0x1107FB0B,
            CallbackID_application_getLoadedModelCount                                      = 0x39DC6C7B,
            CallbackID_application_getLoadedResourceCount                                   = 0xC570937B,
            CallbackID_application_getCurrentUserMainCamera                                 = 0x3A67E16D,
            CallbackID_application_getCurrentUserActiveCamera                               = 0x745B626E,
            CallbackID_application_setCurrentUserActiveCamera                               = 0xF49DAFC8,
            CallbackID_application_resetCurrentUserActiveCamera                             = 0xA12EFA53,
            CallbackID_application_getCurrentUserViewportAspectRatio                        = 0xD6917366,
            CallbackID_application_getCurrentUserViewportWidth                              = 0x7FC58DAC,
            CallbackID_application_getCurrentUserViewportHeight                             = 0x810FE85D,
            CallbackID_application_saveCurrentUserViewportToTexture                         = 0x96FBD1EF,
            CallbackID_application_getCurrentUserEnvironmentVariableCount                   = 0xD2DF6242,
            CallbackID_application_getCurrentUserEnvironmentVariableNameAt                  = 0x250D5AEE,
            CallbackID_application_setCurrentUserEnvironmentVariable                        = 0xB0CBBD6B,
            CallbackID_application_getCurrentUserEnvironmentVariable                        = 0xB2CAFD15,
            CallbackID_application_unsetCurrentUserEnvironmentVariable                      = 0x3B5F9AAD,
            CallbackID_application_clearCurrentUserEnvironment                              = 0x8CC96FBE,
            CallbackID_application_saveCurrentUserEnvironment                               = 0xF6ED565B,
            CallbackID_application_setCurrentUserEnvironmentName                            = 0x934BB704,
            CallbackID_application_getCurrentUserEnvironmentName                            = 0x42ED58D0,
            CallbackID_application_setCurrentUserEnvironmentTitle                           = 0xC5F5718E,
            CallbackID_application_setCurrentUserEnvironmentDescription                     = 0xE1F91424,
            CallbackID_application_loadCurrentUserEnvironment                               = 0x43850636,
            CallbackID_application_getCurrentUserEnvironmentVariableStatus                  = 0x403943F2,
            CallbackID_application_saveCurrentUserEnvironmentVariable                       = 0x10DC7B67,
            CallbackID_application_loadCurrentUserEnvironmentVariable                       = 0x44672DE9,
            CallbackID_application_setCurrentUserEnvironmentURL                             = 0xE553D031,
            CallbackID_application_getCurrentUserEnvironmentURL                             = 0xF8DBF595,
            CallbackID_application_checkCurrentUserEnvironmentLocalStorageDevice            = 0x177B6221,
            CallbackID_application_closeCurrentUserEnvironmentLocalStorageDevice            = 0x475C4F23,
            CallbackID_application_checkCurrentUserEnvironmentLocalStorageSpace             = 0x7C5406A8,
            CallbackID_application_checkCurrentUserEnvironmentLocalStorageWriteAccess       = 0x1BC47815,
            CallbackID_application_checkCurrentUserEnvironmentLocalStorageExistence         = 0x764DA92B,
            CallbackID_application_checkCurrentUserEnvironmentLocalStorageValidity          = 0xF021971C,
            CallbackID_application_getLastFrameTime                                         = 0x3E72C240,
            CallbackID_application_getAverageFrameTime                                      = 0x5F393987,
            CallbackID_application_setMinFrameTime                                          = 0x30A0AAF1,
            CallbackID_application_setMaxFrameTime                                          = 0xA0D3BA1B,
            CallbackID_application_getTotalFrameTime                                        = 0x3EB9A96C,
            CallbackID_application_resetTotalFrameTime                                      = 0x7C026D14,
            CallbackID_application_resetAverageFrameTime                                    = 0x24D68E6B,
            CallbackID_application_setFrameTimeFactor                                       = 0xE029E253,
            CallbackID_application_getFrameTimeFactor                                       = 0xC522694D,
            CallbackID_application_setUseAverageFrameTime                                   = 0xF10CE863,
            CallbackID_application_getUseAverageFrameTime                                   = 0x045A3122,
            CallbackID_application_setOption                                                = 0x007B4177,
            CallbackID_application_getOption                                                = 0xF157520A,
            CallbackID_application_restart                                                  = 0x8E7A08D6,
            CallbackID_application_quit                                                     = 0x54EC708A,
            CallbackID_application_mightBeCracked                                           = 0xF11E8373,
            CallbackID_application_flushAIEvents                                            = 0xC23E914D,
            CallbackID_application_isPluginRegistered                                       = 0xCB81ED53,
       
            CallbackID_cache_addFile                                                        = 0xAC10CECA,
            CallbackID_cache_addStreamFile                                                  = 0x8D35DCF2,
            CallbackID_cache_getFileStatus                                                  = 0x8F37AFA0,  // Deprecated
            CallbackID_cache_pauseFileReceiving                                             = 0xC52B6093,
            CallbackID_cache_resumeFileReceiving                                            = 0xC68799E8,
            CallbackID_cache_cancelFileReceiving                                            = 0xD809AB6E,
            CallbackID_cache_sendFile                                                       = 0x39ECE510,
            CallbackID_cache_getFileSendStatus                                              = 0x7EBDFD75,  // Deprecated
            CallbackID_cache_removeFile                                                     = 0x4BBEFA7C,
            CallbackID_cache_getFileProperty                                                = 0xB83322F3,
            CallbackID_cache_getFileContentAsString                                         = 0x78F451FB,
            CallbackID_cache_copyFileContent                                                = 0x3A2B8193,  // C/C++ addon
            CallbackID_cache_createFile                                                     = 0x8561FEF1,  // C/C++ addon
            CallbackID_cache_empty                                                          = 0x8DF0CADB,
               
            CallbackID_camera_setRenderMap                                                  = 0xEE349326,
            CallbackID_camera_getRenderMapName                                              = 0x4A9369E2,
            CallbackID_camera_setFieldOfView                                                = 0xBEC04DF6,
            CallbackID_camera_getFieldOfView                                                = 0xC1DEFE81,
            CallbackID_camera_setMinViewDistance                                            = 0xEC31F8DA,
            CallbackID_camera_getMinViewDistance                                            = 0xC93A73C4, 
            CallbackID_camera_setMaxViewDistance                                            = 0xCB8A9FEB, 
            CallbackID_camera_getMaxViewDistance                                            = 0xEE8114F5,                                                                                                  
            CallbackID_camera_projectPoint                                                  = 0x42C2654E,      
            CallbackID_camera_unprojectPoint                                                = 0x8533A523,      
            CallbackID_camera_isPointInFrustum                                              = 0x2EA8CDEF,      
            CallbackID_camera_isSphereInFrustum                                             = 0xFD750B3E,      
            CallbackID_camera_setAspectRatioScale                                           = 0x48741CD8,      
            CallbackID_camera_getAspectRatioScale                                           = 0xB25E2A30,      
            CallbackID_camera_setMotionBlurFactor                                           = 0x1247B807,      
            CallbackID_camera_getMotionBlurFactor                                           = 0xE86D8EEF,      
            CallbackID_camera_setVelocityBlurFactor                                         = 0xB08ABEBF,      
            CallbackID_camera_getVelocityBlurFactor                                         = 0xE997A8E8,      
            CallbackID_camera_setDepthBlurFactor                                            = 0x0C10BB8D,      
            CallbackID_camera_getDepthBlurFactor                                            = 0x291B3093,      
            CallbackID_camera_setDepthBlurFocusRangeMin                                     = 0xC545F3E6,      
            CallbackID_camera_getDepthBlurFocusRangeMin                                     = 0x66EF9E73,      
            CallbackID_camera_setDepthBlurFocusRangeMax                                     = 0xF948CCBF,      
            CallbackID_camera_getDepthBlurFocusRangeMax                                     = 0x5AE2A12A,      
            CallbackID_camera_setDistortionFactor                                           = 0xBDB3342A,      
            CallbackID_camera_getDistortionFactor                                           = 0x479902C2,      
            CallbackID_camera_setDistortionAmplitude                                        = 0x6DFC4EC8,      
            CallbackID_camera_getDistortionAmplitude                                        = 0x98AA9789,      
            CallbackID_camera_setDistortionFrequency                                        = 0x202E6ECA,      
            CallbackID_camera_getDistortionFrequency                                        = 0xD578B78B,      
            CallbackID_camera_setDistortionTiling                                           = 0xFB8629A4,      
            CallbackID_camera_getDistortionTiling                                           = 0x01AC1F4C,             
            CallbackID_camera_setDistortionMapFactor                                        = 0xE60B9C1F,
            CallbackID_camera_getDistortionMapFactor                                        = 0x135D455E,
            CallbackID_camera_setDistortionMapAmplitude                                     = 0xEC3864B7,
            CallbackID_camera_getDistortionMapAmplitude                                     = 0x4F920922,
            CallbackID_camera_setDistortionMapUVOffset                                      = 0xB3AC86C4,
            CallbackID_camera_getDistortionMapUVOffset                                      = 0xA5C167A6,
            CallbackID_camera_setDistortionMapUVScale                                       = 0x9F4D0800,
            CallbackID_camera_getDistortionMapUVScale                                       = 0x9E632FDF,
            CallbackID_camera_setDistortionMapAddressingMode                                = 0xF2B5F134,
            CallbackID_camera_getDistortionMapAddressingMode                                = 0x73DA4116,
            CallbackID_camera_setDistortionMap                                              = 0xDD9A7425,
            CallbackID_camera_createDistortionMesh                                          = 0x2E62A418,
            CallbackID_camera_getDistortionMesh                                             = 0x92CF0D79,
            CallbackID_camera_enableDistortionMesh                                          = 0x94CC3FF3,
            CallbackID_camera_setDistortionMeshClearFlag                                    = 0x62DCFCE1,
            CallbackID_camera_setDistortionMeshClearColor                                   = 0xA132C84A,
            CallbackID_camera_setFrustumMargins                                             = 0x4D9FF618,

            CallbackID_collider_create                                                      = 0x78735A33,
            CallbackID_collider_destroy                                                     = 0xE9026943,
            CallbackID_collider_setAlwaysDisabled                                           = 0xBA75511E,
            CallbackID_collider_isAlwaysDisabled                                            = 0xB859470F,
            CallbackID_collider_setDisabledWhenObjectInactive                               = 0xC8BDD213,
            CallbackID_collider_isDisabledWhenObjectInactive                                = 0x62D4B6D0,
       
            CallbackID_debug_drawLine                                                       = 0x393077CB,
            CallbackID_debug_getTotalMemoryUsed                                             = 0xDDECC97B,
            CallbackID_debug_getLastFrameTotalDrawCalls                                     = 0x5DDDBA59,
            CallbackID_debug_getLastFrameTotalTriangles                                     = 0xDA8558E9,
            CallbackID_debug_getLastFrameTotalVertices                                      = 0x740F98D4,
            CallbackID_debug_getFailedToCompileShaderList                                   = 0x531ECC43,
            CallbackID_debug_getCompiledShaderList                                          = 0x10F11072,
            CallbackID_debug_getLastFrameTotalCompiledShaders                               = 0x9B9B6EE1,
            CallbackID_debug_getLastFrameTotalLinkedShaders                                 = 0xBFEB89B9,
            CallbackID_debug_getLastFrameTotalShaderCompileTime                             = 0x7ADDEEDA,
            CallbackID_debug_getLastFrameTotalShaderLinkTime                                = 0x72917A15,
            CallbackID_debug_getEstimatedShaderVariations                                   = 0xD91FAD31,
            CallbackID_debug_compileShaderList                                              = 0xF47755F3,
            CallbackID_debug_dumpLoadedModels                                               = 0xB462F8A0,
            CallbackID_debug_dumpLoadedResources                                            = 0xF6E0A7C2,
            CallbackID_debug_setDisplayFilter                                               = 0xAA61CB5B,

            CallbackID_dynamics_getBodyType                                                 = 0xAE9F6969,                                         
            CallbackID_dynamics_createSphereBody                                            = 0x87F0F727,
            CallbackID_dynamics_createBoxBody                                               = 0xD6D859CC,
            CallbackID_dynamics_createCapsuleBody                                           = 0xA528FD1D,
            CallbackID_dynamics_createCompositeBody                                         = 0x6C2181AD,
            CallbackID_dynamics_addCompositeBodySphereGeometry                              = 0x62F0FF35,
            CallbackID_dynamics_addCompositeBodyBoxGeometry                                 = 0x636504F7,
            CallbackID_dynamics_addCompositeBodyCapsuleGeometry                             = 0x0B9ABC77,
            CallbackID_dynamics_finalizeCompositeBody                                       = 0x1C37D371,
            CallbackID_dynamics_destroyBody                                                 = 0x2B06690D,
            CallbackID_dynamics_setOffset                                                   = 0x3D93EF7D,
            CallbackID_dynamics_getOffset                                                   = 0xCCBFFC00,
            CallbackID_dynamics_setMass                                                     = 0x836E0C35,
            CallbackID_dynamics_getMass                                                     = 0x10FFB4E8,
            CallbackID_dynamics_setKinematic                                                = 0x15EF2F5C,
            CallbackID_dynamics_isKinematic                                                 = 0xC6C8BC7D,
            CallbackID_dynamics_setFriction                                                 = 0x42A16A71,
            CallbackID_dynamics_getFriction                                                 = 0x5C8EDD38,
            CallbackID_dynamics_setBounce                                                   = 0xE6A5D1F4,
            CallbackID_dynamics_getBounce                                                   = 0x1789C289,
            CallbackID_dynamics_setBounceThreshold                                          = 0xBDA84877,
            CallbackID_dynamics_getBounceThreshold                                          = 0x98A3C369,
            CallbackID_dynamics_setLinearDamping                                            = 0xB157DD28,
            CallbackID_dynamics_setLinearDampingEx                                          = 0x3736E125,
            CallbackID_dynamics_getLinearDamping                                            = 0x8341AF31,
            CallbackID_dynamics_setAngularDamping                                           = 0x65BCF35C,
            CallbackID_dynamics_setAngularDampingEx                                         = 0xA0B384F3,
            CallbackID_dynamics_getAngularDamping                                           = 0x01E54DEE,
            CallbackID_dynamics_addForce                                                    = 0xFEDAD148,
            CallbackID_dynamics_addTorque                                                   = 0x8C5DAFF6,
            CallbackID_dynamics_addLinearImpulse                                            = 0xA18BEC30,
            CallbackID_dynamics_addAngularImpulse                                           = 0xE2C93959,
            CallbackID_dynamics_getAngularVelocity                                          = 0x54487AE7,
            CallbackID_dynamics_setAngularVelocity                                          = 0x7143F1F9,
            CallbackID_dynamics_setAngularSpeedLimit                                        = 0xBB730234,
            CallbackID_dynamics_getAngularSpeedLimit                                        = 0x15584248,
            CallbackID_dynamics_getLinearVelocity                                           = 0x42A61140,
            CallbackID_dynamics_setLinearVelocity                                           = 0x26FFAFF2,
            CallbackID_dynamics_getLinearSpeed                                              = 0xE0E939B4,
            CallbackID_dynamics_setLinearSpeedLimit                                         = 0xD454F0B0,
            CallbackID_dynamics_getLinearSpeedLimit                                         = 0x2E7EC658,
            CallbackID_dynamics_setGuardBox                                                 = 0x6AAA23F1,
            CallbackID_dynamics_enableDynamics                                              = 0x729BE41E,
            CallbackID_dynamics_enableCollisions                                            = 0xD5392E0F,
            CallbackID_dynamics_enableRotations                                             = 0xDC55C9D0,
            CallbackID_dynamics_enableGuardBox                                              = 0x9FD5A601,
            CallbackID_dynamics_enableGravity                                               = 0x825FC480,
            CallbackID_dynamics_enableAutoIdle                                              = 0xB4621D36,
            CallbackID_dynamics_setAutoIdleLinearThreshold                                  = 0xFA256390,
            CallbackID_dynamics_setAutoIdleAngularThreshold                                 = 0x193ACF19,
            CallbackID_dynamics_setAutoIdleTime                                             = 0x913772F3,
            CallbackID_dynamics_setIdle                                                     = 0x3349E246,
            CallbackID_dynamics_isIdle                                                      = 0x8BA95792,
            CallbackID_dynamics_getLastCollisionTime                                        = 0x651FA19F,
            CallbackID_dynamics_getLastCollisionContactCount                                = 0xA523EF6D,
            CallbackID_dynamics_getLastCollisionContactPositionAt                           = 0x0492775A,
            CallbackID_dynamics_getLastCollisionContactNormalAt                             = 0x9D6F1EA4,
            CallbackID_dynamics_getLastCollisionContactObjectAt                             = 0x57DB8E8E,
            CallbackID_dynamics_createBallJoint                                             = 0xE18C0C95,
            CallbackID_dynamics_createSliderJoint                                           = 0x4725A6E8,
            CallbackID_dynamics_createHingeJoint                                            = 0x86E4742C,
            CallbackID_dynamics_createHinge2Joint                                           = 0xC96D4E65,
            CallbackID_dynamics_createUniversalJoint                                        = 0x47D4ECD3,
            CallbackID_dynamics_destroyJoint                                                = 0xC6DB7C78,
            CallbackID_dynamics_setBallJointAnchor                                          = 0x305276FC,
            CallbackID_dynamics_setSliderJointAxis                                          = 0x3C13DE47,
            CallbackID_dynamics_setSliderJointAxisExtensionLimitMin                         = 0xAF89AA6A,
            CallbackID_dynamics_setSliderJointAxisExtensionLimitMax                         = 0x93849533,
            CallbackID_dynamics_setSliderJointAxisExtensionLimitERP                         = 0x5C490941,
            CallbackID_dynamics_setSliderJointAxisExtensionLimitCFM                         = 0x156CCE7F,
            CallbackID_dynamics_setSliderJointAxisExtensionLimitBounce                      = 0xB2C224DE,
            CallbackID_dynamics_setHingeJointAnchor                                         = 0x25D64D37,
            CallbackID_dynamics_setHingeJointAxis                                           = 0xF48155D2,
            CallbackID_dynamics_setHingeJointAxisAngleLimitMin                              = 0x0A1E3C5C,
            CallbackID_dynamics_setHingeJointAxisAngleLimitMax                              = 0x36130305,
            CallbackID_dynamics_setHingeJointAxisAngleLimitERP                              = 0xF9DE9F77,
            CallbackID_dynamics_setHingeJointAxisAngleLimitCFM                              = 0xB0FB5849,
            CallbackID_dynamics_setHinge2JointAnchor                                        = 0x5C0B6C12,
            CallbackID_dynamics_setHinge2JointAxis1                                         = 0xEA6C5C13,
            CallbackID_dynamics_setHinge2JointAxis2                                         = 0x73650DA9,
            CallbackID_dynamics_setHinge2JointAxis1AngleLimitMin                            = 0x8200340F,
            CallbackID_dynamics_setHinge2JointAxis1AngleLimitMax                            = 0xBE0D0B56,
            CallbackID_dynamics_setHinge2JointAxis1AngleLimitERP                            = 0x71C09724,
            CallbackID_dynamics_setHinge2JointAxis1AngleLimitCFM                            = 0x38E5501A,
            CallbackID_dynamics_setHinge2JointAxis2MotorSpeedLimit                          = 0xF27DE27E,
            CallbackID_dynamics_setHinge2JointAxis2MotorAcceleration                        = 0xBF8B6AB5,
            CallbackID_dynamics_setHinge2JointAxis1SuspensionERP                            = 0xA824BD8E,
            CallbackID_dynamics_setHinge2JointAxis1SuspensionCFM                            = 0xE1017AB0,
            CallbackID_dynamics_setUniversalJointAnchor                                     = 0xE3A02226,
            CallbackID_dynamics_setUniversalJointAxis1                                      = 0x91437E20,
            CallbackID_dynamics_setUniversalJointAxis2                                      = 0x084A2F9A,
            CallbackID_dynamics_setUniversalJointAxis1AngleLimitMin                         = 0xD774F5F7,
            CallbackID_dynamics_setUniversalJointAxis1AngleLimitMax                         = 0xEB79CAAE,
            CallbackID_dynamics_setUniversalJointAxis1AngleLimitERP                         = 0x24B456DC,
            CallbackID_dynamics_setUniversalJointAxis1AngleLimitCFM                         = 0x6D9191E2,
            CallbackID_dynamics_setUniversalJointAxis2AngleLimitMin                         = 0xAB15D02C,
            CallbackID_dynamics_setUniversalJointAxis2AngleLimitMax                         = 0x9718EF75,
            CallbackID_dynamics_setUniversalJointAxis2AngleLimitERP                         = 0x58D57307,
            CallbackID_dynamics_setUniversalJointAxis2AngleLimitCFM                         = 0x11F0B439,
            CallbackID_dynamics_setCollisionCategoryBit                                     = 0x3307961B,
            CallbackID_dynamics_getCollisionCategoryBit                                     = 0x3229B1C4,
            CallbackID_dynamics_setCollisionMaskBit                                         = 0x9E09A74D,
            CallbackID_dynamics_getCollisionMaskBit                                         = 0x642391A5,

            CallbackID_group_getSubObjectCount                                              = 0xFC36F255,
            CallbackID_group_getSubObjectAt                                                 = 0x89D1AEB6,

            CallbackID_hashtable_isEmpty                                                    = 0x618A33AE,
            CallbackID_hashtable_getSize                                                    = 0xF1FA5EEF,
            CallbackID_hashtable_get                                                        = 0xB2F5BD3B,
            CallbackID_hashtable_getIndex                                                   = 0x1DA72AD4,
            CallbackID_hashtable_getAt                                                      = 0x76B14B62,
            CallbackID_hashtable_getKeyAt                                                   = 0x5CC6631B,
            CallbackID_hashtable_set                                                        = 0xA9DAB697,
            CallbackID_hashtable_empty                                                      = 0x124C263A,
            CallbackID_hashtable_add                                                        = 0xB2D4E0AC,
            CallbackID_hashtable_remove                                                     = 0x32FF4930,
            CallbackID_hashtable_contains                                                   = 0xE2FCA5EC,
            CallbackID_hashtable_newInstance                                                = 0x4FDB635D,
            CallbackID_hashtable_copy                                                       = 0xACFBED09,

            CallbackID_hud_checkValidity                                                    = 0xB225C06B,  // Deprecated
            CallbackID_hud_newTemplateInstance                                              = 0xF405A5D2,
            CallbackID_hud_destroyTemplateInstance                                          = 0x88910A5F,
            CallbackID_hud_newComponent                                                     = 0x11603C8C,
            CallbackID_hud_newAction                                                        = 0x7619A140,
            CallbackID_hud_newTimer                                                         = 0xD173E3B4,
            CallbackID_hud_destroyComponent                                                 = 0x89B3A1A6,
            CallbackID_hud_destroyAction                                                    = 0x97662A9A,
            CallbackID_hud_destroyTimer                                                     = 0xA06021FF,
            CallbackID_hud_getComponentCount                                                = 0xE1367778,
            CallbackID_hud_getActionCount                                                   = 0x5A662670,
            CallbackID_hud_getTimerCount                                                    = 0xB57665DA,
            CallbackID_hud_getComponentAt                                                   = 0x9E424E8E,
            CallbackID_hud_getActionAt                                                      = 0xECBB71BC,
            CallbackID_hud_getTimerAt                                                       = 0x34E3FCBA,
            CallbackID_hud_getTimer                                                         = 0x48A88A31,
            CallbackID_hud_setInitialAction                                                 = 0xDF9F0F44,  // Deprecated
            CallbackID_hud_setDefaultFont                                                   = 0x590EF84F,
            CallbackID_hud_getDefaultFontName                                               = 0x2F8EF4FB,
            CallbackID_hud_setDefaultTextShadowColor                                        = 0xB38F7B17,
            CallbackID_hud_getDefaultTextShadowColor                                        = 0x10251682,
            CallbackID_hud_getComponent                                                     = 0x67FEBD1E,
            CallbackID_hud_getAction                                                        = 0xEB520D86,
            CallbackID_hud_setFocus                                                         = 0xB8492113,
            CallbackID_hud_killFocus                                                        = 0xE54F4CA2,
            CallbackID_hud_setSoundBank                                                     = 0xBEF81C10,
            CallbackID_hud_getSoundBankName                                                 = 0x799E5B94,
            CallbackID_hud_playSound                                                        = 0x2BB8E5EF,
            CallbackID_hud_pauseSound                                                       = 0x664728DF,
            CallbackID_hud_resumeSound                                                      = 0x3A0047A7,
            CallbackID_hud_stopSound                                                        = 0xCA5BD921,
            CallbackID_hud_stopAllSounds                                                    = 0x7E921F03,
            CallbackID_hud_setSoundVolume                                                   = 0x6957DA39,
            CallbackID_hud_getSoundPlaybackProgress                                         = 0x56B7D115,
            CallbackID_hud_isSoundPlaying                                                   = 0xF915AB9D,
            CallbackID_hud_isSoundPaused                                                    = 0xC502A560,
            CallbackID_hud_getSoundName                                                     = 0x37A50BEF,
            CallbackID_hud_setCursorVisible                                                 = 0xE3BA3709,
            CallbackID_hud_setCursorPosition                                                = 0x2DDEBFDE,
            CallbackID_hud_getCursorPosition                                                = 0x4987016C,
            CallbackID_hud_forceCursorShape                                                 = 0xE316BCB7,
            CallbackID_hud_getComponentType                                                 = 0x08458D30,
            CallbackID_hud_setComponentZOrder                                               = 0x31BC59D2,
            CallbackID_hud_getComponentZOrder                                               = 0x14B7D2CC,
            CallbackID_hud_setComponentContainer                                            = 0x140F5C1C,
            CallbackID_hud_getComponentContainer                                            = 0x4D124A4B,
            CallbackID_hud_setComponentOrigin                                               = 0x06FCCB49,
            CallbackID_hud_getComponentOrigin                                               = 0x23F74057,
            CallbackID_hud_setComponentOffscreenOutput                                      = 0x61F82D87,
            CallbackID_hud_setComponentPosition                                             = 0x3D681892,
            CallbackID_hud_getComponentPosition                                             = 0x934358EE,
            CallbackID_hud_setComponentSize                                                 = 0x414D8C6A,
            CallbackID_hud_getComponentSize                                                 = 0x735BFE73,
            CallbackID_hud_setComponentRotation                                             = 0x52386496,
            CallbackID_hud_getComponentRotation                                             = 0xFC1324EA,
            CallbackID_hud_setComponentOpacity                                              = 0xB62AA4AC,
            CallbackID_hud_getComponentOpacity                                              = 0x4C009244,
            CallbackID_hud_setComponentVisible                                              = 0x8F672193,
            CallbackID_hud_setComponentActive                                               = 0x93136155,
            CallbackID_hud_setComponentBackgroundImage                                      = 0x9D47346C,
            CallbackID_hud_getComponentBackgroundImageName                                  = 0x48E4CCA0,
            CallbackID_hud_setComponentBackgroundColor                                      = 0x3E2C78DA,
            CallbackID_hud_getComponentBackgroundColor                                      = 0x0119B8CA,
            CallbackID_hud_setComponentForegroundColor                                      = 0xFF6BE478,
            CallbackID_hud_getComponentForegroundColor                                      = 0xC05E2468,
            CallbackID_hud_setComponentBorderColor                                          = 0xB3D62D64,
            CallbackID_hud_getComponentBorderColor                                          = 0xB2F80ABB,
            CallbackID_hud_setComponentFillMode                                             = 0x2384E1E0,
            CallbackID_hud_getComponentFillMode                                             = 0x8DAFA19C,
            CallbackID_hud_setComponentBlendMode                                            = 0x510B5313,
            CallbackID_hud_getComponentBlendMode                                            = 0x08164544,
            CallbackID_hud_setComponentShapeType                                            = 0x851D7511,
            CallbackID_hud_getComponentShapeType                                            = 0xDC006346,
            CallbackID_hud_setComponentShapeRoundRectangleCornerRadius                      = 0x9535F9EA,
            CallbackID_hud_getComponentShapeRoundRectangleCornerRadius                      = 0xF8125E71,
            CallbackID_hud_setComponentShapeEllipseMinAngle                                 = 0x0A760B16,
            CallbackID_hud_getComponentShapeEllipseMinAngle                                 = 0x66A57FD5,
            CallbackID_hud_setComponentShapeEllipseMaxAngle                                 = 0xEC16A4F7,
            CallbackID_hud_getComponentShapeEllipseMaxAngle                                 = 0x80C5D034,
            CallbackID_hud_setComponentOpacityWaveModifier                                  = 0x277D73BF,
            CallbackID_hud_setComponentAspectInvariant                                      = 0x60FAAC2E,
            CallbackID_hud_setComponentIgnoredByMouse                                       = 0xB19EAB87,
            CallbackID_hud_setComponentAdjustedToNearestPixels                              = 0x69214BF0,
            CallbackID_hud_addComponentEventHandler                                         = 0x4AB9C89C,
            CallbackID_hud_removeComponentEventHandler                                      = 0x58FEF263,
            CallbackID_hud_getComponentScreenSpaceCenter                                    = 0x27EB8F38,
            CallbackID_hud_getComponentScreenSpaceBottomLeftCorner                          = 0x74B86E4D,
            CallbackID_hud_getComponentScreenSpaceTopLeftCorner                             = 0x7886C495,
            CallbackID_hud_getComponentScreenSpaceBottomRightCorner                         = 0x2800CB48,
            CallbackID_hud_getComponentScreenSpaceTopRightCorner                            = 0xA004AF04,
            CallbackID_hud_matchComponentScreenSpaceCenter                                  = 0x421E7E1C,
            CallbackID_hud_matchComponentScreenSpaceBottomLeftCorner                        = 0xDD866352,
            CallbackID_hud_matchComponentScreenSpaceTopLeftCorner                           = 0x1196CBBA,
            CallbackID_hud_matchComponentScreenSpaceBottomRightCorner                       = 0xA5A1F8B0,
            CallbackID_hud_matchComponentScreenSpaceTopRightCorner                          = 0x0BBC8252,
            CallbackID_hud_setComponentBackgroundImageUVOffset                              = 0x37267DC3,
            CallbackID_hud_getComponentBackgroundImageUVOffset                              = 0xF0466A2A,
            CallbackID_hud_setComponentBackgroundImageUVScale                               = 0xABF7D113,
            CallbackID_hud_getComponentBackgroundImageUVScale                               = 0x1C488C68,
            CallbackID_hud_setComponentBackgroundImageAddressingMode                        = 0xB48C45C3,
            CallbackID_hud_getComponentBackgroundImageAddressingMode                        = 0xF8C133DD,
            CallbackID_hud_setComponentBackgroundImageFilteringMode                         = 0xA334B755,
            CallbackID_hud_getComponentBackgroundImageFilteringMode                         = 0x8752F774,
            CallbackID_hud_isComponentVisible                                               = 0x293EB9C2,
            CallbackID_hud_isComponentActive                                                = 0x76DC57F0,
            CallbackID_hud_getComponentTag                                                  = 0x26127090,
            CallbackID_hud_getActionTag                                                     = 0xEEB7D82F,
            CallbackID_hud_getTimerTag                                                      = 0x070C2597,
            CallbackID_hud_getContainerChildCount                                           = 0xB6162D85,
            CallbackID_hud_getContainerChildAt                                              = 0x1866EB74,
            CallbackID_hud_setContainerClipChildren                                         = 0xF2A2E8BB,
            CallbackID_hud_getContainerClipChildren                                         = 0xE4CF09D9,
            CallbackID_hud_setLabelText                                                     = 0xC32E827D,
            CallbackID_hud_getLabelText                                                     = 0xCC3054FE,
            CallbackID_hud_setLabelTextHeight                                               = 0x5D7FEDC0,
            CallbackID_hud_getLabelTextHeight                                               = 0x787466DE,
            CallbackID_hud_setLabelTextLetterSpacing                                        = 0x1C5C652F,
            CallbackID_hud_getLabelTextLetterSpacing                                        = 0xBFF608BA,
            CallbackID_hud_setLabelTextLineSpacing                                          = 0x04A1843C,
            CallbackID_hud_getLabelTextLineSpacing                                          = 0x058FA3E3,
            CallbackID_hud_setLabelTextAlignment                                            = 0xB6331401,
            CallbackID_hud_getLabelTextAlignment                                            = 0xEF2E0256,
            CallbackID_hud_setLabelTextCase                                                 = 0xAAB41BB3,
            CallbackID_hud_getLabelTextCase                                                 = 0x98A269AA,
            CallbackID_hud_setLabelTextEncoding                                             = 0x2AF112CE,
            CallbackID_hud_getLabelTextEncoding                                             = 0x84DA52B2,
            CallbackID_hud_setLabelTextDirection                                            = 0xA4B7DBEE,
            CallbackID_hud_getLabelTextDirection                                            = 0xFDAACDB9,
            CallbackID_hud_setLabelTextDisplayRange                                         = 0xD98E3345,
            CallbackID_hud_getLabelTextDisplayRange                                         = 0xCFE3D227,
            CallbackID_hud_setLabelFont                                                     = 0x28312D68,
            CallbackID_hud_getLabelFontName                                                 = 0xF1E80636,
            CallbackID_hud_enableLabelTextAntialiasing                                      = 0xF936556B,
            CallbackID_hud_isLabelTextAntialiasingEnabled                                   = 0xEA48594A,
            CallbackID_hud_getLabelTextTotalLineCount                                       = 0x99F4877D,
            CallbackID_hud_setEditText                                                      = 0xB1BAA90C,
            CallbackID_hud_getEditText                                                      = 0xAF951E45,
            CallbackID_hud_setEditTextHeight                                                = 0x4E47E77C,
            CallbackID_hud_getEditTextHeight                                                = 0x2A1E59CE,
            CallbackID_hud_setEditTextLetterSpacing                                         = 0x89EF68AB,
            CallbackID_hud_getEditTextLetterSpacing                                         = 0x9F8289C9,
            CallbackID_hud_setEditTextLineSpacing                                           = 0xF5BC74F7,
            CallbackID_hud_getEditTextLineSpacing                                           = 0x00EAADB6,
            CallbackID_hud_setEditTextAlignment                                             = 0xA89A4372,
            CallbackID_hud_getEditTextAlignment                                             = 0x06B1030E,
            CallbackID_hud_setEditTextCase                                                  = 0xE6092A45,
            CallbackID_hud_getEditTextCase                                                  = 0x2817D069,
            CallbackID_hud_setEditTextEncoding                                              = 0x8254095C,
            CallbackID_hud_getEditTextEncoding                                              = 0x787E3FB4,
            CallbackID_hud_setEditTextDirection                                             = 0xBA1E8C9D,
            CallbackID_hud_getEditTextDirection                                             = 0x1435CCE1,
            CallbackID_hud_setEditTextDisplayRange                                          = 0xD5C9358D,
            CallbackID_hud_getEditTextDisplayRange                                          = 0xD4E71252,
            CallbackID_hud_setEditTextMaxLength                                             = 0xBBA42B3D,
            CallbackID_hud_getEditTextMaxLength                                             = 0x158F6B41,
            CallbackID_hud_setEditFont                                                      = 0x5AA50619,
            CallbackID_hud_getEditFontName                                                  = 0x415DBFF5,
            CallbackID_hud_setEditOnChangedAction                                           = 0xBFEC11DF,
            CallbackID_hud_setEditSecure                                                    = 0xF968F3B7,
            CallbackID_hud_isEditSecure                                                     = 0x3407DF45,
            CallbackID_hud_enableEditTextAntialiasing                                       = 0x6C0DD94E,
            CallbackID_hud_isEditTextAntialiasingEnabled                                    = 0xACCCD313,
            CallbackID_hud_getEditTextTotalLineCount                                        = 0x50D8D37A,
            CallbackID_hud_setEditCursorPosition                                            = 0x203012C4,
            CallbackID_hud_getEditCursorPosition                                            = 0x792D0493,
            CallbackID_hud_getEditTextBeforeCursor                                          = 0xD518F531,
            CallbackID_hud_getEditTextAfterCursor                                           = 0xF00DC64C,
            CallbackID_hud_setCheckText                                                     = 0xA2065704,
            CallbackID_hud_getCheckText                                                     = 0xAD188187,
            CallbackID_hud_setCheckTextHeight                                               = 0x1CD46726,
            CallbackID_hud_getCheckTextHeight                                               = 0x39DFEC38,
            CallbackID_hud_setCheckTextLetterSpacing                                        = 0xE7585063,
            CallbackID_hud_getCheckTextLetterSpacing                                        = 0x44F23DF6,
            CallbackID_hud_setCheckTextLineSpacing                                          = 0x1D9E2CD9,
            CallbackID_hud_getCheckTextLineSpacing                                          = 0x1CB00B06,
            CallbackID_hud_setCheckTextAlignment                                            = 0x9B34B2F3,
            CallbackID_hud_getCheckTextAlignment                                            = 0xC229A4A4,
            CallbackID_hud_setCheckTextCase                                                 = 0x5029FC1A,
            CallbackID_hud_getCheckTextCase                                                 = 0x623F8E03,
            CallbackID_hud_setCheckTextEncoding                                             = 0x2FB86D31,
            CallbackID_hud_getCheckTextEncoding                                             = 0x81932D4D,
            CallbackID_hud_setCheckTextDirection                                            = 0x89B07D1C,
            CallbackID_hud_getCheckTextDirection                                            = 0xD0AD6B4B,
            CallbackID_hud_setCheckIcons                                                    = 0x089E4E84,
            CallbackID_hud_setCheckFont                                                     = 0x4919F811,
            CallbackID_hud_getCheckFontName                                                 = 0x0B75E19F,
            CallbackID_hud_setCheckOnCheckedAction                                          = 0xF4DD42D7,
            CallbackID_hud_setCheckOnUncheckedAction                                        = 0xB42A5BBF,
            CallbackID_hud_getCheckState                                                    = 0xD5D9004D,
            CallbackID_hud_setCheckState                                                    = 0xA167CC01,
            CallbackID_hud_enableCheckTextAntialiasing                                      = 0x294F7C34,
            CallbackID_hud_isCheckTextAntialiasingEnabled                                   = 0xCDE0AFCD,
            CallbackID_hud_getCheckTextTotalLineCount                                       = 0xE6658EF3,
            CallbackID_hud_setButtonText                                                    = 0xA25CC7D1,
            CallbackID_hud_getButtonText                                                    = 0xD6E20B9D,
            CallbackID_hud_setButtonTextHeight                                              = 0x2B91226C,
            CallbackID_hud_getButtonTextHeight                                              = 0xD1BB1484,
            CallbackID_hud_setButtonTextLetterSpacing                                       = 0xA559F6AA,
            CallbackID_hud_getButtonTextLetterSpacing                                       = 0x259F3B0C,
            CallbackID_hud_setButtonTextLineSpacing                                         = 0x45412B21,
            CallbackID_hud_getButtonTextLineSpacing                                         = 0x532CCA43,
            CallbackID_hud_setButtonTextAlignment                                           = 0x6D81B48D,
            CallbackID_hud_getButtonTextAlignment                                           = 0x98D76DCC,
            CallbackID_hud_setButtonTextCase                                                = 0xFCE4B89F,
            CallbackID_hud_getButtonTextCase                                                = 0x98BD062D,
            CallbackID_hud_setButtonTextEncoding                                            = 0x239848E4,
            CallbackID_hud_getButtonTextEncoding                                            = 0x7A855EB3,
            CallbackID_hud_setButtonTextDirection                                           = 0x7F057B62,
            CallbackID_hud_getButtonTextDirection                                           = 0x8A53A223,
            CallbackID_hud_setButtonFont                                                    = 0x494368C4,
            CallbackID_hud_getButtonFontName                                                = 0xF1F769B1,
            CallbackID_hud_setButtonOnClickAction                                           = 0xEE6E2C50,
            CallbackID_hud_setButtonOnClickedAction                                         = 0xA51EEC97,
            CallbackID_hud_getButtonOnClickAction                                           = 0x1B38F511,
            CallbackID_hud_getButtonOnClickedAction                                         = 0xB3730DF5,
            CallbackID_hud_enableButtonTextAntialiasing                                     = 0x44533B52,
            CallbackID_hud_isButtonTextAntialiasingEnabled                                  = 0xC00D67FB,
            CallbackID_hud_getButtonTextTotalLineCount                                      = 0xBB6CF8F7,
            CallbackID_hud_setMovieClip                                                     = 0xBE372D7B,
            CallbackID_hud_setMovieExternalClip                                             = 0xCF2F17FF,
            CallbackID_hud_getMovieBufferingProgress                                        = 0x295CD13B,
            CallbackID_hud_getMoviePlaybackProgress                                         = 0x0B4288C7,
            CallbackID_hud_getMoviePlaybackCursor                                           = 0xC9D5A50F,
            CallbackID_hud_setMovieTransparentColor                                         = 0x59F9952C,
            CallbackID_hud_playMovie                                                        = 0xCE68D404,
            CallbackID_hud_pauseMovie                                                       = 0x83971934,
            CallbackID_hud_stopMovie                                                        = 0x2F8BE8CA,
            CallbackID_hud_setRenderMap                                                     = 0x0DE0447F,
            CallbackID_hud_getRenderMapName                                                 = 0xA807B9A6,
            CallbackID_hud_setPixelMap                                                      = 0xEE903298,
            CallbackID_hud_getPixelMapName                                                  = 0x59E796C4,
            CallbackID_hud_getPixelMap                                                      = 0xF0BF85D1,
            CallbackID_hud_setProgressValue                                                 = 0x9CFA1A97,
            CallbackID_hud_getProgressValue                                                 = 0xAEEC688E,
            CallbackID_hud_setProgressType                                                  = 0xBF8A39FD,
            CallbackID_hud_getProgressType                                                  = 0x7194C3D1,
            CallbackID_hud_getListItemCount                                                 = 0x2CA7EB49,
            CallbackID_hud_addListItem                                                      = 0xFC672486,
            CallbackID_hud_removeListItemAt                                                 = 0x9C5747A8,
            CallbackID_hud_selectListItemAt                                                 = 0x6EACD08E,
            CallbackID_hud_enableListItemSelectionAt                                        = 0x4F311453,
            CallbackID_hud_removeListAllItems                                               = 0x986B89D2,
            CallbackID_hud_selectListAllItems                                               = 0x35DEFEEA,
            CallbackID_hud_getListItemTextAt                                                = 0x9FCF1238,
            CallbackID_hud_getListItemIconAt                                                = 0x73B8BF5D,
            CallbackID_hud_setListItemTextAt                                                = 0xFB96AC8A,
            CallbackID_hud_setListItemIconAt                                                = 0x17E101EF,
            CallbackID_hud_setListItemChildAt                                               = 0xC281905B,
            CallbackID_hud_setListItemsHeight                                               = 0xD9600CBE,
            CallbackID_hud_getListItemsHeight                                               = 0xFC6B87A0,
            CallbackID_hud_setListItemsBackgroundImage                                      = 0xBDCF31F4,
            CallbackID_hud_getListItemsBackgroundImageName                                  = 0xFEEFF58B,
            CallbackID_hud_setListItemsBackgroundColor                                      = 0x1EA47D42,
            CallbackID_hud_setListItemsBackgroundColorOdd                                   = 0xF7FD21F7,
            CallbackID_hud_getListItemsBackgroundColorOdd                                   = 0x769291D5,
            CallbackID_hud_setListItemsBackgroundColorEven                                  = 0x32229F77,
            CallbackID_hud_getListItemsBackgroundColorEven                                  = 0xE7C3B123,
            CallbackID_hud_setListItemsBackgroundImageSelected                              = 0x1C030942,
            CallbackID_hud_getListItemsBackgroundImageSelectedName                          = 0x2D12F27E,
            CallbackID_hud_setListItemsBackgroundColorSelected                              = 0xDA85D3B0,
            CallbackID_hud_getListItemsBackgroundColorSelected                              = 0x1DE5C459,
            CallbackID_hud_setListItemsForegroundColorSelected                              = 0xDCADD4B6,
            CallbackID_hud_getListItemsForegroundColorSelected                              = 0x1BCDC35F,
            CallbackID_hud_setListTextLeftMargin                                            = 0x91721DF4,
            CallbackID_hud_getListTextLeftMargin                                            = 0xC86F0BA3,
            CallbackID_hud_setListTextRightMargin                                           = 0x50570C50,
            CallbackID_hud_getListTextRightMargin                                           = 0xA501D511,
            CallbackID_hud_setListTextHeight                                                = 0x41127DDF,
            CallbackID_hud_getListTextHeight                                                = 0x254BC36D,
            CallbackID_hud_setListTextLetterSpacing                                         = 0xEBC1C490,
            CallbackID_hud_getListTextLetterSpacing                                         = 0xFDAC25F2,
            CallbackID_hud_setListTextLineSpacing                                           = 0xFD2960E5,
            CallbackID_hud_getListTextLineSpacing                                           = 0x087FB9A4,
            CallbackID_hud_setListTextFont                                                  = 0x2824DD24,
            CallbackID_hud_getListTextFontName                                              = 0x6A673086,
            CallbackID_hud_setListTextCase                                                  = 0x80B84CF2,
            CallbackID_hud_getListTextCase                                                  = 0x4EA6B6DE,
            CallbackID_hud_setListTextEncoding                                              = 0x17A49379,
            CallbackID_hud_getListTextEncoding                                              = 0xED8EA591,
            CallbackID_hud_setListTextDirection                                             = 0xF18FA840,
            CallbackID_hud_getListTextDirection                                             = 0x5FA4E83C,
            CallbackID_hud_enableListTextAntialiasing                                       = 0x9FBC3D12,
            CallbackID_hud_isListTextAntialiasingEnabled                                    = 0x7C1891A9,
            CallbackID_hud_getListColumnCount                                               = 0x06716DA6,
            CallbackID_hud_addListColumn                                                    = 0xB3CC5486,
            CallbackID_hud_setListColumnTextAlignmentAt                                     = 0xE8271F8F,
            CallbackID_hud_setListColumnWidthAt                                             = 0xA8769104,
            CallbackID_hud_getListColumnWidthAt                                             = 0x065DD178,
            CallbackID_hud_enableListSelection                                              = 0x3DD54AA5,
            CallbackID_hud_enableListSingleSelection                                        = 0xFAB0D21D,
            CallbackID_hud_enableListSingleSelectionToggling                                = 0x2AA1ED3F,
            CallbackID_hud_enableListSmoothScrolling                                        = 0xFE62F075,
            CallbackID_hud_enableListFingerScrolling                                        = 0x4CD93A47, // Warning: wrong CRC
            CallbackID_hud_enableListMouseWheelHandling                                     = 0xB37E05C5,
            CallbackID_hud_getListSelectedItemCount                                         = 0x15FCFA34,
            CallbackID_hud_getListSelectedItemAt                                            = 0x728F1E6D,
            CallbackID_hud_setListVerticalScrollPos                                         = 0x0CBE389D,
            CallbackID_hud_getListVerticalScrollPos                                         = 0x1AD3D9FF,
            CallbackID_hud_setListVerticalScrollBarWidth                                    = 0x975A5B7C,
            CallbackID_hud_setListVerticalScrollBarArrowHeight                              = 0x6BBE1CDC,
            CallbackID_hud_setListScrollBarBackgroundColor                                  = 0x38D62516,
            CallbackID_hud_setListScrollBarForegroundColor                                  = 0xF991B9B4,
            CallbackID_hud_setListScrollBarArrowColor                                       = 0x0B9F7B9E,
            CallbackID_hud_setListScrollBarBackgroundImages                                 = 0xCD43D18A,
            CallbackID_hud_setListScrollBarForegroundImages                                 = 0xF55A54D2,
            CallbackID_hud_setListScrollBarArrowImages                                      = 0x2E1393C6,
            CallbackID_hud_setListOnSelectionChangedAction                                  = 0x590C0EFF,
            CallbackID_hud_setListFingerScrollingInertia                                    = 0xA506B159,
            CallbackID_hud_getListFingerScrollingInertia                                    = 0x74A05E8D,
            CallbackID_hud_setSliderType                                                    = 0x59EDC812,
            CallbackID_hud_getSliderType                                                    = 0x2D53045E,
            CallbackID_hud_setSliderRange                                                   = 0x225980F2,
            CallbackID_hud_getSliderRange                                                   = 0x5D473385,
            CallbackID_hud_setSliderValue                                                   = 0xACA9828F,
            CallbackID_hud_getSliderValue                                                   = 0xD3B731F8,
            CallbackID_hud_setSliderThumbImage                                              = 0x84408136, // Warning: wrong CRC
            CallbackID_hud_setSliderOnChangedAction                                         = 0xBAB65C88,
            CallbackID_hud_beginActionCommand                                               = 0x7EE31CCD,
            CallbackID_hud_pushActionCommandArgument                                        = 0xDF2046B2,
            CallbackID_hud_pushActionCommandRuntimeArgument                                 = 0xF89743C8,
            CallbackID_hud_endActionCommand                                                 = 0x6A64FA3D,
            CallbackID_hud_setTimerOnTickAction                                             = 0x36E4696B,
            CallbackID_hud_setTimerTickTime                                                 = 0xEEDBECE1,
            CallbackID_hud_startTimer                                                       = 0x6F756C27,
            CallbackID_hud_stopTimer                                                        = 0x5805C4BF,
            CallbackID_hud_callAction                                                       = 0x0E4A7960,
            CallbackID_hud_stopAction                                                       = 0xE1420EEF,
            CallbackID_hud_pauseAction                                                      = 0xBBEBCD05,
            CallbackID_hud_resumeAction                                                     = 0xE5697364,
            CallbackID_hud_finishAction                                                     = 0x702FCEC4,
            CallbackID_hud_stopAllActions                                                   = 0x5674D3C6,
            CallbackID_hud_pauseAllActions                                                  = 0x8824E5C9,
            CallbackID_hud_resumeAllActions                                                 = 0x4118208F,
            CallbackID_hud_finishAllActions                                                 = 0xE7B3DB81,
            CallbackID_hud_isActionRunning                                                  = 0x9403E47A,
            CallbackID_hud_isActionPaused                                                   = 0x6F9B582E,
            CallbackID_hud_getUnderCursorComponent                                          = 0x7B49CE20,
            CallbackID_hud_getUnderCursorListItem                                           = 0x8CC29BDB,
            CallbackID_hud_getFocusedComponent                                              = 0xA58D9C44,
            CallbackID_hud_enterModalMode                                                   = 0xDD00E362,
            CallbackID_hud_leaveModalMode                                                   = 0xF2420136,
            CallbackID_hud_getComponentAtPoint                                              = 0x9FA503E7,
            CallbackID_hud_isComponentAspectInvariant                                       = 0xF1B75424,
            CallbackID_hud_isComponentIgnoredByMouse                                        = 0x980A36C9,
            CallbackID_hud_enableOffscreenOutput                                            = 0xE1B80048,

            CallbackID_input_setJoypadVibrationsMagnitude                                   = 0x7BB71948,
            CallbackID_input_getJoypadType                                                  = 0x552514F7,
            CallbackID_input_enableJoypadMotionSensors                                      = 0x4AA54853,
            CallbackID_input_enableJoypadIRMotionSensors                                    = 0xF373F185,
            CallbackID_input_enableMultiTouch                                               = 0xDCFA5AAA,
            CallbackID_input_enableVirtualMouse                                             = 0xDFE69328,
            CallbackID_input_setVirtualMousePosition                                        = 0x5EC6AC3F,
            CallbackID_input_setVirtualMouseButtonDown                                      = 0xB7AA2BC5,
            CallbackID_input_scanDevices                                                    = 0x60792516,
            CallbackID_input_getJoypadBatteryLevel                                          = 0xB31712DD,
            CallbackID_input_isJoypadExtensionAttached                                      = 0xDC2879EB,

            CallbackID_light_getType                                                        = 0x4E235895,
            CallbackID_light_isDynamic                                                      = 0x1DEA611D,
            CallbackID_light_setDynamic                                                     = 0xED3EBEFE,
            CallbackID_light_isActive                                                       = 0xB9B17637,
            CallbackID_light_setActive                                                      = 0x62FDD1A7,
            CallbackID_light_setColor                                                       = 0x5CB27590,
            CallbackID_light_getColor                                                       = 0xA4434A41,
            CallbackID_light_setClipMaskBit                                                 = 0x14EF8B6D,
            CallbackID_light_getClipMaskBit                                                 = 0x6BF1381A,
            CallbackID_light_setDynamicShadowsViewSpaceClipRectangle                        = 0xF0F8E888,
            CallbackID_light_getDynamicShadowsViewSpaceClipRectangle                        = 0x221B6F7B,
            
            CallbackID_log_message                                                          = 0x7347F97E,
            CallbackID_log_warning                                                          = 0x85B455C7,
            CallbackID_log_error                                                            = 0x7069629B,
            CallbackID_log_enable                                                           = 0xB352778A,
            CallbackID_log_isEnabled                                                        = 0xCD9D66EB,
                    
            CallbackID_math_clamp                                                           = 0xD2393966,
            CallbackID_math_interpolate                                                     = 0xDA2969A9,
            CallbackID_math_sin                                                             = 0x464F82CF,
            CallbackID_math_cos                                                             = 0x6F35EAE0,
            CallbackID_math_tan                                                             = 0x8BD91E42,
            CallbackID_math_asin                                                            = 0xD7751C04,
            CallbackID_math_acos                                                            = 0xFE0F742B,
            CallbackID_math_atan                                                            = 0x1AE38089,
            CallbackID_math_atan2                                                           = 0x8EAB6609,
            CallbackID_math_min                                                             = 0x50F70CB5,
            CallbackID_math_max                                                             = 0x6CFA33EC,
            CallbackID_math_sqrt                                                            = 0x7AB5659E,
            CallbackID_math_resetRandomSeed                                                 = 0x3BEE1942,
            CallbackID_math_random                                                          = 0xEFF03FF4,
            CallbackID_math_gaussianRandom                                                  = 0xE08B4A79,
            CallbackID_math_pow                                                             = 0x763833D0,
            CallbackID_math_floor                                                           = 0xCC7F98B2,
            CallbackID_math_trunc                                                           = 0x04834BE9,
            CallbackID_math_roundToNearestInteger                                           = 0xA75D6C82,
            CallbackID_math_roundToNearestPowerOfTwo                                        = 0x52FAD7EA,
            CallbackID_math_ceil                                                            = 0x8BD96A61,
            CallbackID_math_abs                                                             = 0xD91F40C3,
            CallbackID_math_mod                                                             = 0xE678422D,
            CallbackID_math_log                                                             = 0x7EB379A0,
            CallbackID_math_log10                                                           = 0x26832E23,
            CallbackID_math_evaluateBSpline                                                 = 0x3CDF24BE,
            CallbackID_math_evaluateBezier                                                  = 0x2C09638D,
            CallbackID_math_evaluateCatmullRom                                              = 0xD7BFECAA,
            CallbackID_math_computeRayPlaneIntersection                                     = 0x1FE83EDD,
            CallbackID_math_computeRaySphereIntersection                                    = 0x926BAD4B,
            CallbackID_math_computeRayAABoxIntersection                                     = 0x66F626F2,
            CallbackID_math_vectorAdd                                                       = 0x21244DA0,
            CallbackID_math_vectorSubtract                                                  = 0xD80753CB,
            CallbackID_math_vectorDotProduct                                                = 0xDC92D2C0,
            CallbackID_math_vectorCrossProduct                                              = 0x7FC56AAE,
            CallbackID_math_vectorNormalize                                                 = 0x5679BCBE,
            CallbackID_math_vectorLength                                                    = 0xF40C03FD,
            CallbackID_math_vectorScale                                                     = 0x921F3DD3,
            CallbackID_math_vectorInterpolate                                               = 0x36DC1C3C,
            CallbackID_math_vectorReflect                                                   = 0x6812E3D5,
            CallbackID_math_vectorSetLength                                                 = 0x8033F48B,
            
            CallbackID_mesh_getSubsetCount                                                  = 0x173F69C0,
            CallbackID_mesh_getSubsetVertexCount                                            = 0x6052CBEE,
            CallbackID_mesh_getSubsetIndexCount                                             = 0x041A3CB1,
            CallbackID_mesh_getSubsetLODCount                                               = 0xF5692F32,
            CallbackID_mesh_addSubset                                                       = 0x170A22F8,
            CallbackID_mesh_removeSubset                                                    = 0xCDAAF3C7,
            CallbackID_mesh_createSubsetVertexBuffer                                        = 0xFC73B640,
            CallbackID_mesh_destroySubsetVertexBuffer                                       = 0x8C4CF344,
            CallbackID_mesh_createSubsetIndexBuffer                                         = 0x35CA1E9D,
            CallbackID_mesh_destroySubsetIndexBuffer                                        = 0x607B9598,
            CallbackID_mesh_destroySubsetIndexBuffers                                       = 0xE5BAAFE8,
            CallbackID_mesh_lockSubsetVertexBuffer                                          = 0x4B6B4F74,
            CallbackID_mesh_unlockSubsetVertexBuffer                                        = 0xDAE9AA84,
            CallbackID_mesh_lockSubsetIndexBuffer                                           = 0x906F11E3,
            CallbackID_mesh_unlockSubsetIndexBuffer                                         = 0x76E676AD,
            CallbackID_mesh_setSubsetVertexPosition                                         = 0x695CFF07,
            CallbackID_mesh_getSubsetVertexPosition                                         = 0x6872D8D8,
            CallbackID_mesh_setSubsetVertexNormal                                           = 0x9C733A37,
            CallbackID_mesh_getSubsetVertexNormal                                           = 0xC56E2C60,
            CallbackID_mesh_setSubsetVertexTexCoord                                         = 0x34FC40FB,
            CallbackID_mesh_getSubsetVertexTexCoord                                         = 0x35D26724,
            CallbackID_mesh_setSubsetIndexValue                                             = 0x669E160F,
            CallbackID_mesh_getSubsetIndexValue                                             = 0x9CB420E7,
            CallbackID_mesh_getResourceHandle                                               = 0xC1022106,
            CallbackID_mesh_setSubsetVertexBufferDynamic                                    = 0xAB50CAF1,
            CallbackID_mesh_isSubsetVertexBufferDynamic                                     = 0x49F18979,
            CallbackID_mesh_setSubsetIndexBufferDynamic                                     = 0x2B8B93F4,
            CallbackID_mesh_isSubsetIndexBufferDynamic                                      = 0x32B20F3D,
            CallbackID_mesh_computeSubsetVertexNormals                                      = 0xA47F23C3,
            CallbackID_mesh_computeSubsetVertexTangents                                     = 0x59807A23,
            CallbackID_mesh_setSubsetBoundingBox                                            = 0xEDFF7B97,
            CallbackID_mesh_updateBoundingVolumes                                           = 0xD39C8E06,
            CallbackID_mesh_morphSubsetVertexPositions                                      = 0x4C42D138,
            CallbackID_mesh_morphSubsetVertexNormals                                        = 0xE6A7325E,
            CallbackID_mesh_morphSubsetVertexTangents                                       = 0xD77C4DCB,
            CallbackID_mesh_morphSubsetVertexPositionsAbsolute                              = 0xDBA64A16,
            CallbackID_mesh_setSubsetVertexPositions                                        = 0x85030657,   // C/C++ addon
            CallbackID_mesh_setSubsetVertexNormals                                          = 0xA32F193E,   // C/C++ addon
            CallbackID_mesh_setSubsetVertexTexCoords                                        = 0x315518DF,   // C/C++ addon

            CallbackID_microphone_setRate                                                   = 0xE5C21961,
            CallbackID_microphone_enable                                                    = 0x2620D09B,
            CallbackID_microphone_getActivityLevel                                          = 0xFB2CD432,
            CallbackID_microphone_enableSpectrumAnalyzer                                    = 0x3A9BFD99,
            CallbackID_microphone_setSpectrumWidth                                          = 0x395AC68A,
            CallbackID_microphone_getSpectrumWidth                                          = 0x0B4CB493,
            CallbackID_microphone_getSpectrumLevels                                         = 0x5D7ACD4F,
            CallbackID_microphone_setRecordingQuality                                       = 0xC74C589A,
            CallbackID_microphone_startRecordingAsMusic                                     = 0x7C3D73DC,
            CallbackID_microphone_stopRecording                                             = 0x58125909,
            CallbackID_microphone_startDiffusion                                            = 0x54B50A55,
            CallbackID_microphone_stopDiffusion                                             = 0xBA793301,
            CallbackID_microphone_addUserToDiffusionList                                    = 0xB5847290,
            CallbackID_microphone_removeUserFromDiffusionList                               = 0xF38AA6D2,
            CallbackID_microphone_isUserInDiffusionList                                     = 0x2E20451C,
            CallbackID_microphone_emptyDiffusionList                                        = 0x6B7D14EB,
            CallbackID_microphone_getDiffusionListUserCount                                 = 0xA5E4A776,
            CallbackID_microphone_getDiffusionListUserIDAt                                  = 0xFC952E9D,

            CallbackID_music_play                                                           = 0x5FB0363B,
            CallbackID_music_pause                                                          = 0x4D2418B3,
            CallbackID_music_resume                                                         = 0xEC8812D9,
            CallbackID_music_stop                                                           = 0xB86FFE37,
            CallbackID_music_setVolume                                                      = 0x0D13C7B9,
            CallbackID_music_getPlaybackProgress                                            = 0xD3540E59,
            CallbackID_music_playAdditional                                                 = 0x0ADED058,
                    
            CallbackID_navigation_setTargetNode                                             = 0x73239262,
            CallbackID_navigation_setAcceleration                                           = 0x215C1BC6,
            CallbackID_navigation_getAcceleration                                           = 0xEF42E1EA,
            CallbackID_navigation_setSpeedLimit                                             = 0x70D7CB86,
            CallbackID_navigation_getSpeedLimit                                             = 0x046907CA,
            CallbackID_navigation_setHeightOffset                                           = 0xCE9FAAFA,
            CallbackID_navigation_getHeightOffset                                           = 0x008150D6,
            CallbackID_navigation_getNode                                                   = 0xF046C0B1,
            CallbackID_navigation_getTargetNode                                             = 0x079D5E2E,
            CallbackID_navigation_getTargetNodeDistance                                     = 0x692AC3D4,
            CallbackID_navigation_getSpeed                                                  = 0xB583F1DB,
            CallbackID_navigation_getVelocity                                               = 0xAF694808,
            CallbackID_navigation_setRandomTargetNode                                       = 0xA3FFB4A8,
            CallbackID_navigation_setNearestTargetNode                                      = 0x64960E87,
            CallbackID_navigation_setNearestNode                                            = 0x53E5A216,
            CallbackID_navigation_setPathMaxLength                                          = 0x643F7A15,
            CallbackID_navigation_getPathMaxLength                                          = 0x5629080C,
            CallbackID_navigation_getPathNodeCount                                          = 0xB740E8F4,
            CallbackID_navigation_getPathNodeAt                                             = 0x0451EEC5,
            CallbackID_navigation_enableNodesInBox                                          = 0xA0299941,
            CallbackID_navigation_enableNode                                                = 0x667B9821,
            CallbackID_navigation_getNodeTranslation                                        = 0x86AC0B9D,
            CallbackID_navigation_isNodeOnBorder                                            = 0x1019F515,
            CallbackID_navigation_isNodeEnabled                                             = 0x643A6224,
            CallbackID_navigation_isNodeInUse                                               = 0xBD901EC2,
            CallbackID_navigation_setWaitTimeout                                            = 0x7DF10288,
            CallbackID_navigation_getWaitTimeout                                            = 0x02EFB1FF,

            CallbackID_network_authenticate                                                 = 0x25A464A7,
            CallbackID_network_disconnect                                                   = 0xECB0977B,
            CallbackID_network_getStatus                                                    = 0x7A67AF6C,
            CallbackID_network_getServerCount                                               = 0x261C68D4,
            CallbackID_network_getServerNameAt                                              = 0x3C95AF95,
            CallbackID_network_setCurrentServer                                             = 0x8E441880,
            CallbackID_network_getCurrentServer                                             = 0xBC526A99,
            CallbackID_network_createServer                                                 = 0xC8E22D2E,
            CallbackID_network_searchForServers                                             = 0x2F9BB08E,

            CallbackID_object_getHashCode                                                   = 0x7AB8B1B2,
            CallbackID_object_isEqualTo                                                     = 0xB1F1E88C,
            CallbackID_object_isKindOf                                                      = 0x685C51D5,
            CallbackID_object_hasController                                                 = 0xF2216611,
            CallbackID_object_getScene                                                      = 0x815B09FF,
            CallbackID_object_getParent                                                     = 0x76D296EE,
            CallbackID_object_setParent                                                     = 0x87FE8593,
            CallbackID_object_getModelName                                                  = 0x1E38CEC5,
            CallbackID_object_enableDistanceClipping                                        = 0xD37C6EF9,
            CallbackID_object_setDistanceClippingThresholds                                 = 0x7EA13C1F,
            CallbackID_object_setDistanceClippingFadeTime                                   = 0xF67FF304,
            CallbackID_object_enableDistanceActivation                                      = 0x7B653C39,
            CallbackID_object_setDistanceActivationThresholds                               = 0x49241BEC,
            CallbackID_object_enableFrustumActivation                                       = 0x9ABC5C98,
            CallbackID_object_enableZoneActivation                                          = 0x44FF14A9,
            CallbackID_object_setCanBeReflected                                             = 0xF187DC5B,
            CallbackID_object_setCanBeRefracted                                             = 0x3DDB1970,
            CallbackID_object_setCanBeOccluded                                              = 0xF97FBB7C,
            CallbackID_object_canBeReflected                                                = 0xD9B92458,
            CallbackID_object_canBeRefracted                                                = 0x15E5E173,
            CallbackID_object_canBeOccluded                                                 = 0xC53F2644,
            CallbackID_object_sendEvent                                                     = 0x60981D3B,
            CallbackID_object_sendEventImmediate                                            = 0xE7850B96,
            CallbackID_object_postEvent                                                     = 0xCD0AC2A3,
            CallbackID_object_setTransformOption                                            = 0xFCD11F40,
            CallbackID_object_getTransformOption                                            = 0xD9DA945E,
            CallbackID_object_bindTransformToParentSkeletonJoint                            = 0x8DAB6F09,
            CallbackID_object_unbindTransformFromParentSkeletonJoint                        = 0x62EB1314,
            CallbackID_object_getTranslation                                                = 0x2C08FB28,
            CallbackID_object_getRotation                                                   = 0xCABE092C,
            CallbackID_object_getRotationQuaternion                                         = 0x5666603C,
            CallbackID_object_getScale                                                      = 0xB464C3A1,
            CallbackID_object_getDirection                                                  = 0xC6CBBD4B,
            CallbackID_object_getXAxis                                                      = 0x53DB4CEE,
            CallbackID_object_getYAxis                                                      = 0x6EBB655E,
            CallbackID_object_getZAxis                                                      = 0x291B1F8E,
            CallbackID_object_resetTranslation                                              = 0xBBBA3385,
            CallbackID_object_matchTranslation                                              = 0x9531DA22,
            CallbackID_object_setTranslation                                                = 0x5316485F,
            CallbackID_object_translate                                                     = 0xE9059367,
            CallbackID_object_translateTo                                                   = 0x01B920FD,
            CallbackID_object_resetRotation                                                 = 0xB0F3E88D,
            CallbackID_object_matchRotation                                                 = 0x4E5374BC,
            CallbackID_object_setRotation                                                   = 0xD491BE65,
            CallbackID_object_setRotationYPR                                                = 0x10A0885A,
            CallbackID_object_setRotationAxisAngle                                          = 0xD1374149,
            CallbackID_object_setRotationQuaternion                                         = 0x0F7B766B,
            CallbackID_object_rotate                                                        = 0x94A8E02D,
            CallbackID_object_rotateYPR                                                     = 0x1514ACB0,
            CallbackID_object_rotateAxisAngle                                               = 0xC672EB4F,
            CallbackID_object_rotateQuaternion                                              = 0xE60F96F4,
            CallbackID_object_rotateTo                                                      = 0xC223DA59,
            CallbackID_object_rotateToYPR                                                   = 0x192FE8BB,
            CallbackID_object_rotateToAxisAngle                                             = 0x2FF663C1,
            CallbackID_object_rotateToQuaternion                                            = 0xECE6BC5B,
            CallbackID_object_rotateAround                                                  = 0x972995B2,
            CallbackID_object_lookAt                                                        = 0xEF7A34CA,
            CallbackID_object_lookAtWithUp                                                  = 0x43D50D5F,
            CallbackID_object_setUniformScale                                               = 0xCCD8878C,
            CallbackID_object_setScale                                                      = 0x4C95FC70,
            CallbackID_object_isActive                                                      = 0x238692BA,
            CallbackID_object_forceInactive                                                 = 0xFBFEA304,
            CallbackID_object_setVisible                                                    = 0xF56F0643,
            CallbackID_object_isVisible                                                     = 0xBF624B89,
            CallbackID_object_getDistanceToObject                                           = 0x11176C28,
            CallbackID_object_getBoundingSphereRadius                                       = 0x4E34C2DE,
            CallbackID_object_getBoundingSphereCenter                                       = 0x35B847A0,
            CallbackID_object_getBoundingBoxMin                                             = 0x2C542D6A,
            CallbackID_object_getBoundingBoxMax                                             = 0x10591233,
            CallbackID_object_addAIModel                                                    = 0x8FC8F3EC,
            CallbackID_object_removeAIModel                                                 = 0x42D9BBB7,
            CallbackID_object_getAIModelCount                                               = 0x15BA28D3,
            CallbackID_object_getAIModelNameAt                                              = 0xA2C29C76,
            CallbackID_object_hasAIModel                                                    = 0x4F34A55B,
            CallbackID_object_hasAIEventHandler                                             = 0xB28114A1,
            CallbackID_object_getAIVariable                                                 = 0x4C197394,
            CallbackID_object_setAIVariable                                                 = 0x38A7BFD8,
            CallbackID_object_getAIState                                                    = 0x9D1006E1,
            CallbackID_object_setSoundBank                                                  = 0x68796CA1,
            CallbackID_object_setAnimBank                                                   = 0x48484C56,
            CallbackID_object_transformVector                                               = 0x241838E9,
            CallbackID_object_transformPoint                                                = 0x74D39C82,
            CallbackID_object_getChildCount                                                 = 0x1F9243CD,
            CallbackID_object_getChildAt                                                    = 0x76093EA3,
            CallbackID_object_getStaticHandle                                               = 0x4FA495A4,  // C/C++ addon
            CallbackID_object_fromStaticHandle                                              = 0xFAD55384,  // C/C++ addon
            CallbackID_object_releaseStaticHandle                                           = 0x39914079,  // C/C++ addon
            CallbackID_object_setReceivesCustomAIEventsWhenInactive                         = 0x0D7C3DA6,
            CallbackID_object_getReceivesCustomAIEventsWhenInactive                         = 0x011337A4,
            CallbackID_object_enableAIModel                                                 = 0x3C356EA3,
                                                                
            CallbackID_pixelmap_getResourceHandle                                           = 0xD27289FB,
            CallbackID_pixelmap_getWidth                                                    = 0x16E7B355,
            CallbackID_pixelmap_getHeight                                                   = 0x450780DB,
            CallbackID_pixelmap_lock                                                        = 0x5527937E,
            CallbackID_pixelmap_unlock                                                      = 0x4B009383,
            CallbackID_pixelmap_setPixel                                                    = 0x1DBEED89,
            CallbackID_pixelmap_getPixel                                                    = 0xE54FD258,
            CallbackID_pixelmap_setPixels                                                   = 0x8F774A62,  // C/C++ addon for speed
            CallbackID_pixelmap_getPixels                                                   = 0x7E5B591F,  // C/C++ addon for speed
            CallbackID_pixelmap_createBrushFromTexture                                      = 0x09B99A08,
            CallbackID_pixelmap_createBrushFromRectangle                                    = 0xF7A2E6DD,
            CallbackID_pixelmap_destroyBrush                                                = 0x11149B5F,
            CallbackID_pixelmap_getBrushCount                                               = 0x91BD2060,
            CallbackID_pixelmap_getBrushOrigin                                              = 0x30EB5356,
            CallbackID_pixelmap_setBrushOrigin                                              = 0x4FF5E021,
            CallbackID_pixelmap_getBrushWidth                                               = 0x987E212D,
            CallbackID_pixelmap_getBrushHeight                                              = 0x1B57E047,
            CallbackID_pixelmap_setPenColor                                                 = 0x851441AE,
            CallbackID_pixelmap_setPenBrush                                                 = 0x12E5DB84,
            CallbackID_pixelmap_setPenMode                                                  = 0xB6C81223,
            CallbackID_pixelmap_setFillColor                                                = 0x5F5C52E3,
            CallbackID_pixelmap_setFillBrush                                                = 0xC8ADC8C9,
            CallbackID_pixelmap_setFillMode                                                 = 0x9E638F48,
            CallbackID_pixelmap_setBlendMode                                                = 0x89BB9FA7,
            CallbackID_pixelmap_drawPoint                                                   = 0xDA50609B,
            CallbackID_pixelmap_drawLine                                                    = 0xF963E0E3,
            CallbackID_pixelmap_drawRectangle                                               = 0xAC95AAE1,
            CallbackID_pixelmap_saveToTexture                                               = 0x64D2909B,

            CallbackID_projector_setColor                                                   = 0xB39D8A1A,
            CallbackID_projector_getColor                                                   = 0x4B6CB5CB,
            CallbackID_projector_setOpacity                                                 = 0x0906A94F,
            CallbackID_projector_getOpacity                                                 = 0x274388DD,
            CallbackID_projector_setFieldOfView                                             = 0xAD7774EC,
            CallbackID_projector_getFieldOfView                                             = 0xD269C79B,
            CallbackID_projector_setMinClipDistance                                         = 0x4CA45376,
            CallbackID_projector_getMinClipDistance                                         = 0x69AFD868,
            CallbackID_projector_setMaxClipDistance                                         = 0x6B1F3447,
            CallbackID_projector_getMaxClipDistance                                         = 0x4E14BF59,
            CallbackID_projector_setMap                                                     = 0xC187D194,
            CallbackID_projector_playMapMovie                                               = 0xA3252139,
            CallbackID_projector_pauseMapMovie                                              = 0xE4BCEA86,
            CallbackID_projector_stopMapMovie                                               = 0x72E450AF,
            CallbackID_projector_setClipMaskBit                                             = 0x3B4F53AA,
            CallbackID_projector_getClipMaskBit                                             = 0x4451E0DD,

            CallbackID_scene_getName                                                        = 0x0B577580,
            CallbackID_scene_getUserCount                                                   = 0x1E2FFC1A,
            CallbackID_scene_getUserAt                                                      = 0x4BD36491,
            CallbackID_scene_sendEventToAllUsers                                            = 0x23D81920,
            CallbackID_scene_sendEventToAllObjects                                          = 0x6AF56808,
            CallbackID_scene_getTaggedObjectCount                                           = 0x48357ED1,
            CallbackID_scene_getTaggedObjectAt                                              = 0x0288EB8F,
            CallbackID_scene_getTaggedObjectTagAt                                           = 0x77940D03,
            CallbackID_scene_getTaggedObject                                                = 0xC8D8D8E3,
            CallbackID_scene_getObjectTag                                                   = 0x033BC9D6,
            CallbackID_scene_setObjectTag                                                   = 0x0C251F55,
            CallbackID_scene_setRuntimeObjectTag                                            = 0x2E1E9923, // Deprecated
            CallbackID_scene_createRuntimeObject                                            = 0x61011526,
            CallbackID_scene_destroyRuntimeObject                                           = 0x80B90141,
            CallbackID_scene_combineRuntimeObjectsGroup                                     = 0x3ED75781,
            CallbackID_scene_setBackgroundColor                                             = 0xF116EA89,
            CallbackID_scene_getBackgroundColor                                             = 0xD41D6197,
            CallbackID_scene_setBackgroundOpacity                                           = 0x1ED85345,
            CallbackID_scene_getBackgroundOpacity                                           = 0xB0F31339,
            CallbackID_scene_setBackgroundTexture                                           = 0xDF433351,
            CallbackID_scene_setBackgroundTextureUVOffset                                   = 0x55EB4CDE,
            CallbackID_scene_setBackgroundTextureUVScale                                    = 0xBBDB134F,
            CallbackID_scene_setBackgroundTextureAddressingMode                             = 0x58F1EC25,
            CallbackID_scene_setBackgroundTextureFilteringMode                              = 0xBD6F7794,
            CallbackID_scene_setBackgroundPixelMap                                          = 0xE69419E0,
            CallbackID_scene_setSkyBoxColor                                                 = 0xE75CCC34,
            CallbackID_scene_getSkyBoxColor                                                 = 0x98427F43,
            CallbackID_scene_setSkyBoxFaceMap                                               = 0xEE2A38DA,
            CallbackID_scene_setAmbientColor                                                = 0xFD39B522,
            CallbackID_scene_getAmbientColor                                                = 0x33274F0E,
            CallbackID_scene_setShadowAmbientColor                                          = 0xDFB5A07D,
            CallbackID_scene_getShadowAmbientColor                                          = 0x86A8B62A,
            CallbackID_scene_setFogDensity                                                  = 0xB153A686,
            CallbackID_scene_getFogDensity                                                  = 0xC5ED6ACA,
            CallbackID_scene_setFogColor                                                    = 0xF0064D8D,
            CallbackID_scene_getFogColor                                                    = 0xEE29FAC4,
            CallbackID_scene_setDistanceFogStart                                            = 0xCA44A1F1,
            CallbackID_scene_getDistanceFogStart                                            = 0x306E9719,
            CallbackID_scene_setHeightFogLevel                                              = 0x909C5E37,
            CallbackID_scene_getHeightFogLevel                                              = 0xF4C5E085,
            CallbackID_scene_setHeightFogDensityFactor                                      = 0x06CFE6CB,
            CallbackID_scene_getHeightFogDensityFactor                                      = 0xA5658B5E,
            CallbackID_scene_createOcean                                                    = 0xF1EE5F62,
            CallbackID_scene_destroyOcean                                                   = 0xF500181C,
            CallbackID_scene_setOceanWavesAmplitude                                         = 0x21839B29,
            CallbackID_scene_getOceanWavesAmplitude                                         = 0xD4D54268,
            CallbackID_scene_setOceanWavesMeanHeight                                        = 0x7DC463C7,
            CallbackID_scene_getOceanWavesMeanHeight                                        = 0x7CEA4418,
            CallbackID_scene_setOceanWavesFrequency                                         = 0x6C51BB2B,
            CallbackID_scene_getOceanWavesFrequency                                         = 0x9907626A,
            CallbackID_scene_setOceanUnderwaterFogDensity                                   = 0x796515C3,
            CallbackID_scene_getOceanUnderwaterFogDensity                                   = 0x64ED3067,
            CallbackID_scene_setOceanUnderwaterFogColor                                     = 0x1C5B67C6,
            CallbackID_scene_getOceanUnderwaterFogColor                                     = 0x9C9DAA60,
            CallbackID_scene_setOceanSurfaceColor                                           = 0xB049BE8D,
            CallbackID_scene_getOceanSurfaceColor                                           = 0x1E62FEF1,
            CallbackID_scene_setOceanSurfaceColorFactor                                     = 0xC40FB1E2,
            CallbackID_scene_getOceanSurfaceColorFactor                                     = 0x44C97C44,
            CallbackID_scene_setOceanSurfaceColorMaxDistance                                = 0x0B4E6CD0,
            CallbackID_scene_getOceanSurfaceColorMaxDistance                                = 0xDEAF4284,
            CallbackID_scene_getOceanHeight                                                 = 0x71E4E819,
            CallbackID_scene_getOceanNormal                                                 = 0xA52C65F2,
            CallbackID_scene_setOceanFoamMap                                                = 0x8F59B934,
            CallbackID_scene_setOceanFoamMapTiling                                          = 0x72F1C7F3,
            CallbackID_scene_getOceanFoamMapTiling                                          = 0x2BECD1A4,
            CallbackID_scene_setOceanNormalMapTiling                                        = 0x44776442,
            CallbackID_scene_getOceanNormalMapTiling                                        = 0x4559439D,
            CallbackID_scene_setOceanReflectionNoiseScale                                   = 0x26ADA631,
            CallbackID_scene_getOceanReflectionNoiseScale                                   = 0x3B258395,
            CallbackID_scene_setOceanRefractionNoiseScale                                   = 0xA4E98B5D,
            CallbackID_scene_getOceanRefractionNoiseScale                                   = 0xB961AEF9,
            CallbackID_scene_setOceanFresnelPower                                           = 0x7ECF935A,
            CallbackID_scene_getOceanFresnelPower                                           = 0xD0E4D326,
            CallbackID_scene_setOceanFresnelBias                                            = 0x67547479,
            CallbackID_scene_getOceanFresnelBias                                            = 0x9D7E4291,
            CallbackID_scene_setOceanReflectorBias                                          = 0x01E0DFF4,
            CallbackID_scene_getOceanReflectorBias                                          = 0x58FDC9A3,
            CallbackID_scene_setOceanDepthAttenuationFactor                                 = 0xB4D1E680,
            CallbackID_scene_getOceanDepthAttenuationFactor                                 = 0x35BE56A2,
            CallbackID_scene_setOceanReflectedObjectsMaxSurfaceDistance                     = 0xC8B90D14,
            CallbackID_scene_getOceanReflectedObjectsMaxSurfaceDistance                     = 0x32FA7D01,
            CallbackID_scene_setOceanFoamMapScrollingSpeed                                  = 0x9D17F754,
            CallbackID_scene_getOceanFoamMapScrollingSpeed                                  = 0x4CB11880,
            CallbackID_scene_setOceanNormalMapScrollingSpeed                                = 0x1780527D,
            CallbackID_scene_getOceanNormalMapScrollingSpeed                                = 0xC2617C29,
            CallbackID_scene_setOceanUseFramebufferAsRefractionMap                          = 0xF529CDE3,
            CallbackID_scene_getOceanUseFramebufferAsRefractionMap                          = 0xF946C7E1,
            CallbackID_scene_setColorLevels                                                 = 0x6DECFAE2,
            CallbackID_scene_getColorLevels                                                 = 0x12F24995,
            CallbackID_scene_setColorSaturation                                             = 0x42D34A2C,
            CallbackID_scene_getColorSaturation                                             = 0x67D8C132,
            CallbackID_scene_setColorContrast                                               = 0x43B24EFB,
            CallbackID_scene_getColorContrast                                               = 0x71A43CE2,
            CallbackID_scene_setMonochromeFilter                                            = 0xAA2272B5,
            CallbackID_scene_getMonochromeFilter                                            = 0x5008445D,
            CallbackID_scene_setGammaCorrection                                             = 0x8D3A932F,
            CallbackID_scene_getGammaCorrection                                             = 0xA8311831,
            CallbackID_scene_setBloomIntensity                                              = 0x4C18616D,
            CallbackID_scene_getBloomIntensity                                              = 0x2841DFDF,
            CallbackID_scene_setBloomThreshold                                              = 0x4ED0F369,
            CallbackID_scene_getBloomThreshold                                              = 0x2A894DDB,
            CallbackID_scene_setBloomColoring                                               = 0x2C18D5CD,
            CallbackID_scene_getBloomColoring                                               = 0x1E0EA7D4,
            CallbackID_scene_setBloomMotionBlurFactor                                       = 0xEBEB7AC3,
            CallbackID_scene_getBloomMotionBlurFactor                                       = 0xFD869BA1,
            CallbackID_scene_getObjectCount                                                 = 0xF5A8B1FA,
            CallbackID_scene_getObjectAt                                                    = 0xD829A83C,
            CallbackID_scene_getFirstHitCollider                                            = 0x48B7F12D,
            CallbackID_scene_getFirstHitColliderEx                                          = 0x78998063,
            CallbackID_scene_getFirstHitColliderWithID                                      = 0xF6B29518,
            CallbackID_scene_getFirstHitColliderWithIDEx                                    = 0x90775991,
            CallbackID_scene_getFirstHitSensor                                              = 0xF44980E6,
            CallbackID_scene_getFirstHitSensorWithID                                        = 0xE3D2D4F0,
            CallbackID_scene_getFirstHitSensorWithIDInRange                                 = 0x304BA5A1,
            CallbackID_scene_getFirstHitTerrainChunk                                        = 0x1AD1A4A4,
            CallbackID_scene_getTerrainHeight                                               = 0x816DA5A5,
            CallbackID_scene_getTerrainNormal                                               = 0x55A5284E,
            CallbackID_scene_getTerrainStatus                                               = 0x0F2025B6,
            CallbackID_scene_setTerrainTextureFilteringMode                                 = 0x03EA0D79,
            CallbackID_scene_setTerrainLODSwitchThreshold                                   = 0x7C5996A5,
            CallbackID_scene_setTerrainVegetationLayerMaxVisibleInstances                   = 0x61B52666,
            CallbackID_scene_setTerrainVegetationLayerVisible                               = 0xB3892DB6,
            CallbackID_scene_setTerrainVegetationLayerTextureFilteringMode                  = 0x63814E56,
            CallbackID_scene_getTerrainVegetationLayerCount                                 = 0x54777D68,
            CallbackID_scene_setDynamicsTimeStep                                            = 0xF2FFDF06,
            CallbackID_scene_getDynamicsTimeStep                                            = 0x08D5E9EE,
            CallbackID_scene_setDynamicsIterationsPerStep                                   = 0x91E37159,
            CallbackID_scene_getDynamicsIterationsPerStep                                   = 0x8C6B54FD,
            CallbackID_scene_setDynamicsGravity                                             = 0x17336577,
            CallbackID_scene_getDynamicsGravity                                             = 0x3238EE69,
            CallbackID_scene_setPaused                                                      = 0x4D96EED7,
            CallbackID_scene_isPaused                                                       = 0x72859418,
            CallbackID_scene_setPerPixelLightingMinScreenSize                               = 0x75FF5451,
            CallbackID_scene_getPerPixelLightingMinScreenSize                               = 0x192C2092,
            CallbackID_scene_setNormalMappingMinScreenSize                                  = 0xA2F2DDCC,
            CallbackID_scene_getNormalMappingMinScreenSize                                  = 0x73543218,
            CallbackID_scene_setNormalMappingFadeScreenSize                                 = 0x9895EC1C,
            CallbackID_scene_getNormalMappingFadeScreenSize                                 = 0x19FA5C3E,
            CallbackID_scene_setSpecularLightingMinScreenSize                               = 0x6C6E8474,
            CallbackID_scene_getSpecularLightingMinScreenSize                               = 0x00BDF0B7,
            CallbackID_scene_setSpecularLightingFadeScreenSize                              = 0x5DE14BFB,
            CallbackID_scene_getSpecularLightingFadeScreenSize                              = 0x5FE00B85,
            CallbackID_scene_setDynamicShadowsFadeDistance                                  = 0x022EC868,
            CallbackID_scene_getDynamicShadowsFadeDistance                                  = 0xD38827BC,
            CallbackID_scene_setDynamicShadowsMaxDistance                                   = 0x9E69D830,
            CallbackID_scene_getDynamicShadowsMaxDistance                                   = 0x83E1FD94,
            CallbackID_scene_setPotentiallyOccludedObjectMaxSize                            = 0xB618B435,
            CallbackID_scene_getPotentiallyOccludedObjectMaxSize                            = 0x7178A3DC,
            CallbackID_scene_setColorGradingIntensity                                       = 0xF5BADABE,
            CallbackID_scene_getColorGradingIntensity                                       = 0xE3D73BDC,
            CallbackID_scene_setColorGradingFilteringMode                                   = 0x256544C4,
            CallbackID_scene_getColorGradingFilteringMode                                   = 0x38ED6160,
            CallbackID_scene_setColorGradingTexture                                         = 0xEA809C6B,
            CallbackID_scene_setColorGradingFadeTime                                        = 0x16312243,
            CallbackID_scene_getColorGradingFadeTime                                        = 0x171F059C,
            CallbackID_scene_setAmbientOcclusionIntensity                                   = 0xC6B86CD1,
            CallbackID_scene_getAmbientOcclusionIntensity                                   = 0xDB304975,
            CallbackID_scene_setAmbientOcclusionDistance                                    = 0x793A5EBD,
            CallbackID_scene_getAmbientOcclusionDistance                                    = 0x460F9EAD,
            CallbackID_scene_setAmbientOcclusionSampleCount                                 = 0xFFE11C31,
            CallbackID_scene_getAmbientOcclusionSampleCount                                 = 0x7E8EAC13,
            CallbackID_scene_setAmbientOcclusionDepthBias                                   = 0x46EF0793,
            CallbackID_scene_getAmbientOcclusionDepthBias                                   = 0x5B672237,
            CallbackID_scene_setAmbientOcclusionColor                                       = 0xD135C087,
            CallbackID_scene_getAmbientOcclusionColor                                       = 0xC75821E5,
            CallbackID_scene_sectorize                                                      = 0xFAD995C1,
            CallbackID_scene_setDynamicsFrameTimeFactor                                     = 0xAED7C5F2,
            CallbackID_scene_getDynamicsFrameTimeFactor                                     = 0x2E110854,
            CallbackID_scene_setAnimationsFrameTimeFactor                                   = 0xE85FA1C5,
            CallbackID_scene_getAnimationsFrameTimeFactor                                   = 0xF5D78461,
            CallbackID_scene_setParticlesFrameTimeFactor                                    = 0xDA70D884,
            CallbackID_scene_getParticlesFrameTimeFactor                                    = 0xE5451894,
            CallbackID_scene_setTrailsFrameTimeFactor                                       = 0x9D5DCB7C,
            CallbackID_scene_getTrailsFrameTimeFactor                                       = 0x8B302A1E,
            CallbackID_scene_createActivationZone                                           = 0xC4465867,
            CallbackID_scene_setActivationZoneExtents                                       = 0x58F99992,
            CallbackID_scene_enableActivationZone                                           = 0x7EE8C38C,
            CallbackID_scene_isActivationZoneEnabled                                        = 0xECF36802,
            CallbackID_scene_destroyActivationZone                                          = 0x17711488,
            CallbackID_scene_destroyAllActivationZones                                      = 0xA8954150,
            CallbackID_scene_getActivationZoneCount                                         = 0x7C80B214,
            CallbackID_scene_getActivationZoneNameAt                                        = 0xA7ABF1FF,

            CallbackID_sensor_getCount                                                      = 0x9D39FE26,
            CallbackID_sensor_setActiveAt                                                   = 0xAE727832,
            CallbackID_sensor_isActiveAt                                                    = 0xE1C349B9,
            CallbackID_sensor_setAllActive                                                  = 0x0580432E,
            CallbackID_sensor_removeAll                                                     = 0xAC0A5E7B,
            CallbackID_sensor_removeAt                                                      = 0xAAA1D337,
            CallbackID_sensor_add                                                           = 0x4E6CBD02,
            CallbackID_sensor_getIDAt                                                       = 0xF90EBA3F,
            CallbackID_sensor_setIDAt                                                       = 0x6A9F02E2,
            CallbackID_sensor_getShapeTypeAt                                                = 0x02B1E7F9,
            CallbackID_sensor_setSphereCenterAt                                             = 0xFF57DC2F,
            CallbackID_sensor_setSphereRadiusAt                                             = 0xD3398474,
            CallbackID_sensor_getSphereCenterAt                                             = 0x9B0E629D,
            CallbackID_sensor_getSphereRadiusAt                                             = 0xB7603AC6,
            CallbackID_sensor_setBoxCenterAt                                                = 0xD8F5066A,
            CallbackID_sensor_setBoxSizeAt                                                  = 0x36CF7575,
            CallbackID_sensor_getBoxCenterAt                                                = 0xA7EBB51D,
            CallbackID_sensor_getBoxSizeAt                                                  = 0x39D1A3F6,
            CallbackID_sensor_setCategoryBitAt                                              = 0xC4632C2D,
            CallbackID_sensor_getCategoryBitAt                                              = 0xF6755E34,
            CallbackID_sensor_setMaskBitAt                                                  = 0xFF8B568F,
            CallbackID_sensor_getMaskBitAt                                                  = 0xF095800C,

            CallbackID_server_getStatus                                                     = 0xB1F6F61C,
            CallbackID_server_getName                                                       = 0x66B9D127,
            CallbackID_server_getCurrentPingDelay                                           = 0x31372229,
            CallbackID_server_getAveragePingDelay                                           = 0x14B214B3,
            CallbackID_server_getSessionCount                                               = 0x76DF1C7A,
            CallbackID_server_getSessionNameAt                                              = 0x0DABE20E,
            CallbackID_server_getSessionUserCountAt                                         = 0xFF7A8360,
            CallbackID_server_setCurrentSession                                             = 0x3B1409C8,
            CallbackID_server_getCurrentSession                                             = 0x5F4DB77A,
            CallbackID_server_sendEvent                                                     = 0xE132789A,

            CallbackID_session_getStatus                                                    = 0xBE208A8F,
            CallbackID_session_getName                                                      = 0x35BD7087,

            CallbackID_sfx_getParticleEmitterCount                                          = 0xA72053DF,
            CallbackID_sfx_startParticleEmitterAt                                           = 0x4853F133,
            CallbackID_sfx_startAllParticleEmitters                                         = 0x282A6EA8,
            CallbackID_sfx_stopParticleEmitterAt                                            = 0x168211E4,
            CallbackID_sfx_stopAllParticleEmitters                                          = 0x465981D9,
            CallbackID_sfx_pauseParticleEmitterAt                                           = 0x0FD4E367,
            CallbackID_sfx_pauseAllParticleEmitters                                         = 0x0544C037,
            CallbackID_sfx_setParticleEmitterTranslationAt                                  = 0xA8F7D457,
            CallbackID_sfx_setParticleEmitterRotationAt                                     = 0x2916B330,
            CallbackID_sfx_setParticleEmitterUniformScaleAt                                 = 0x52429319,
            CallbackID_sfx_setParticleEmitterGenerationRateAt                               = 0x1FA051EE,
            CallbackID_sfx_setParticleEmitterLifeTimeFactorAt                               = 0xAAB1ABEF,
            CallbackID_sfx_setParticleEmitterInitialSpeedFactorAt                           = 0x219E450E,
            CallbackID_sfx_setParticleEmitterInitialCountFactorAt                           = 0x11C3EC14,
            CallbackID_sfx_setParticleEmitterMaxCountLimitAt                                = 0xDF4C705C,
            CallbackID_sfx_getParticleEmitterUniformScaleAt                                 = 0x3E91E7DA,
            CallbackID_sfx_getParticleEmitterGenerationRateAt                               = 0xA81F0C95,
            CallbackID_sfx_getParticleEmitterLifeTimeFactorAt                               = 0x1D0EF694,
            CallbackID_sfx_getParticleEmitterInitialSpeedFactorAt                           = 0xCF9C4B28,
            CallbackID_sfx_getParticleEmitterInitialCountFactorAt                           = 0xFFC1E232,
            CallbackID_sfx_getParticleEmitterMaxCountLimitAt                                = 0xDD4D3022,
            CallbackID_sfx_getParticleEmitterAliveParticleCountAt                           = 0x9F31848D,
            CallbackID_sfx_getParticleEmitterAliveParticlePositionAt                        = 0x5D2698D9,
            CallbackID_sfx_getParticleEmitterAliveParticleSizeAt                            = 0xAD28560D,
            CallbackID_sfx_setParticleEmitterOpacityAt                                      = 0x262DB315,
            CallbackID_sfx_getParticleEmitterOpacityAt                                      = 0x19187305,
            CallbackID_sfx_getParticleEmitterNameAt                                         = 0xABC64A26,
            CallbackID_sfx_setParticleEmitterKillBoxAt                                      = 0xB87FBFB0,
            CallbackID_sfx_getParticleEmitterKillBoxAt                                      = 0x874A7FA0,
            CallbackID_sfx_setParticleEmitterUseKillBoxAt                                   = 0x03EEE3BA,
            CallbackID_sfx_getParticleEmitterUseKillBoxAt                                   = 0x82815398,
            CallbackID_sfx_setParticleEmitterUseCustomForce                                 = 0xF75D3540,
            CallbackID_sfx_getParticleEmitterUseCustomForce                                 = 0x9B8E4183,
            CallbackID_sfx_setParticleEmitterCustomForce                                    = 0x6F6F7B84,
            CallbackID_sfx_getParticleEmitterCustomForce                                    = 0xBEC99450,
            CallbackID_sfx_addParticleAttractorField                                        = 0x28292CBA,
            CallbackID_sfx_removeParticleAttractorField                                     = 0x1F0E2FE9,
            CallbackID_sfx_removeAllParticleAttractorFields                                 = 0xA74ACF99,
            CallbackID_sfx_getParticleAttractorFieldCount                                   = 0x6F50FA54,
            CallbackID_sfx_getParticleAttractorFieldShapeType                               = 0xE6AE9915,
            CallbackID_sfx_setParticleAttractorFieldStrength                                = 0x1A7C80DC,
            CallbackID_sfx_getParticleAttractorFieldStrength                                = 0x187DC0A2,
            CallbackID_sfx_setParticleAttractorFieldPointPosition                           = 0xFAF7645D,
            CallbackID_sfx_getParticleAttractorFieldPointPosition                           = 0x14F56A7B,
            CallbackID_sfx_getTrailCount                                                    = 0x5E939406,
            CallbackID_sfx_setTrailAnchor0At                                                = 0x30BF09F0,
            CallbackID_sfx_setTrailAnchor1At                                                = 0x317D63C7,
            CallbackID_sfx_startTrailAt                                                     = 0x34394A32,
            CallbackID_sfx_pauseTrailAt                                                     = 0x1529F42F,
            CallbackID_sfx_stopTrailAt                                                      = 0x5EF024F9,
            CallbackID_sfx_startAllTrails                                                   = 0x07AD397E,
            CallbackID_sfx_pauseAllTrails                                                   = 0xD418EAF9,
            CallbackID_sfx_stopAllTrails                                                    = 0x85A9116D,
            CallbackID_sfx_addParticleVortexField                                           = 0xCB0B0025,
            CallbackID_sfx_removeParticleVortexField                                        = 0xDAAB29CE,
            CallbackID_sfx_removeAllParticleVortexFields                                    = 0x50A1C122,
            CallbackID_sfx_setParticleVortexFieldStrength                                   = 0x1A2E3453,
            CallbackID_sfx_getParticleVortexFieldStrength                                   = 0x9B418471,
            CallbackID_sfx_setParticleVortexFieldOrbitalSpeed                               = 0xCD6F58C4,
            CallbackID_sfx_getParticleVortexFieldOrbitalSpeed                               = 0x7AD005BF,
            CallbackID_sfx_setParticleVortexFieldOrbitalSpeedDamping                        = 0xCC79E4B3,
            CallbackID_sfx_getParticleVortexFieldOrbitalSpeedDamping                        = 0x803492AD,
            CallbackID_sfx_setParticleVortexFieldRadialPull                                 = 0xB57E4E7D,
            CallbackID_sfx_getParticleVortexFieldRadialPull                                 = 0xD9AD3ABE,
            CallbackID_sfx_setParticleVortexFieldRadialPullDamping                          = 0x5F103907,
            CallbackID_sfx_getParticleVortexFieldRadialPullDamping                          = 0x8DF3BEF4,
            CallbackID_sfx_setParticleVortexFieldAxialDrop                                  = 0xD825FC94,
            CallbackID_sfx_getParticleVortexFieldAxialDrop                                  = 0x0DC4D2C0,
            CallbackID_sfx_setParticleVortexFieldAxialDropDamping                           = 0x18A5B9B9,
            CallbackID_sfx_getParticleVortexFieldAxialDropDamping                           = 0xF6A7B79F,
            CallbackID_sfx_setParticleVortexFieldPosition                                   = 0x8ABB317E,
            CallbackID_sfx_addParticleTurbulenceField                                       = 0xE3BD2781,
            CallbackID_sfx_removeParticleTurbulenceField                                    = 0x11E800CC,
            CallbackID_sfx_removeAllParticleTurbulenceFields                                = 0xB31D750A,
            CallbackID_sfx_setParticleTurbulenceFieldStrength                               = 0x347DF9A9,
            CallbackID_sfx_getParticleTurbulenceFieldStrength                               = 0x83C2A4D2,
            CallbackID_sfx_setParticleTurbulenceFieldFrequency                              = 0x019F3DA1,
            CallbackID_sfx_getParticleTurbulenceFieldFrequency                              = 0xC6FF2A48,

            CallbackID_shape_setMeshOpacity                                                 = 0xE5B1625F,
            CallbackID_shape_getMeshOpacity                                                 = 0x9AAFD128,
            CallbackID_shape_getMeshSubsetCount                                             = 0x476739A1,
            CallbackID_shape_setMeshSubsetMaterial                                          = 0x0002D229,
            CallbackID_shape_getMeshSubsetMaterialName                                      = 0x3CBADFC5,
            CallbackID_shape_setMeshMaterial                                                = 0x231DB192,
            CallbackID_shape_compareMeshSubsetMaterial                                      = 0x067CE1E5,
            CallbackID_shape_enableMeshFrustumCulling                                       = 0x9F2D2734,
            CallbackID_shape_overrideMeshSubsetMaterialEmissive                             = 0xCCB01696,
            CallbackID_shape_overrideMeshSubsetMaterialAmbient                              = 0xB6D4F927,
            CallbackID_shape_overrideMeshSubsetMaterialDiffuse                              = 0x5B64CD9E,
            CallbackID_shape_overrideMeshSubsetMaterialSpecular                             = 0xC2BF18AB,
            CallbackID_shape_overrideMeshSubsetMaterialFresnel                              = 0xF0BAB270,
            CallbackID_shape_overrideMeshSubsetMaterialShininess                            = 0x9FA372D2,
            CallbackID_shape_overrideMeshSubsetMaterialOpacity                              = 0xB6387689,
            CallbackID_shape_overrideMeshSubsetMaterialOpacityThreshold                     = 0x9E5D9D6B,
            CallbackID_shape_overrideMeshSubsetMaterialEffectIntensity                      = 0x8994761C,
            CallbackID_shape_getMeshSubsetMaterialEmissiveOverride                          = 0xE77D5836,
            CallbackID_shape_getMeshSubsetMaterialAmbientOverride                           = 0x1BF90495,
            CallbackID_shape_getMeshSubsetMaterialDiffuseOverride                           = 0x44E25843,
            CallbackID_shape_getMeshSubsetMaterialSpecularOverride                          = 0xE7EC6973,
            CallbackID_shape_getMeshSubsetMaterialFresnelOverride                           = 0xE75B1C0A,
            CallbackID_shape_getMeshSubsetMaterialShininessOverride                         = 0x502EEAB5,
            CallbackID_shape_getMeshSubsetMaterialOpacityOverride                           = 0xBBE6B0C9,
            CallbackID_shape_getMeshSubsetMaterialOpacityThresholdOverride                  = 0x0A5B163C,
            CallbackID_shape_getMeshSubsetMaterialEffectIntensityOverride                   = 0xCF7AA55B,
            CallbackID_shape_overrideMeshMaterialEmissive                                   = 0x90D514FA,
            CallbackID_shape_overrideMeshMaterialAmbient                                    = 0x60BC919C,
            CallbackID_shape_overrideMeshMaterialDiffuse                                    = 0x8D0CA525,
            CallbackID_shape_overrideMeshMaterialSpecular                                   = 0x9EDA1AC7,
            CallbackID_shape_overrideMeshMaterialFresnel                                    = 0x26D2DACB,
            CallbackID_shape_overrideMeshSubsetMaterialEffectMap0                           = 0x7F0EAC89,
            CallbackID_shape_overrideMeshMaterialEffectMap0                                 = 0x5848B56B,
            CallbackID_shape_overrideMeshSubsetMaterialEffectMap1                           = 0x08099C1F,
            CallbackID_shape_overrideMeshMaterialEffectMap1                                 = 0x2F4F85FD,
            CallbackID_shape_overrideMeshSubsetMaterialNormalMap                            = 0x667ED10C,
            CallbackID_shape_overrideMeshMaterialNormalMap                                  = 0x2226997D,
            CallbackID_shape_overrideMeshSubsetMaterialSpecularMap                          = 0xA708685C,
            CallbackID_shape_overrideMeshMaterialSpecularMap                                = 0xE92BAD11,
            CallbackID_shape_getMeshSubsetMaterialEffectMap0                                = 0xCEA8AD18,
            CallbackID_shape_getMeshSubsetMaterialEffectMap1                                = 0xB9AF9D8E,
            CallbackID_shape_getMeshSubsetMaterialNormalMap                                 = 0xCB966437,
            CallbackID_shape_getMeshSubsetMaterialSpecularMap                               = 0x20B16D8F,
            CallbackID_shape_getMeshSubsetMaterialEffectMap0Override                        = 0x513D39BA,
            CallbackID_shape_getMeshSubsetMaterialEffectMap1Override                        = 0x46462DF9,
            CallbackID_shape_getMeshSubsetMaterialNormalMapOverride                         = 0xDE7E7AB5,
            CallbackID_shape_getMeshSubsetMaterialSpecularMapOverride                       = 0x0B583134,
            CallbackID_shape_setMeshSubsetMaterialEffectMap0AdditionalUVOffset              = 0xD9F04229,
            CallbackID_shape_setMeshSubsetMaterialEffectMap0AdditionalUVScale               = 0x73A91711,
            CallbackID_shape_setMeshSubsetMaterialEffectMap0AdditionalUVRotation            = 0x0F6149ED,
            CallbackID_shape_setMeshSubsetMaterialEffectMap1AdditionalUVOffset              = 0x0E12C271,
            CallbackID_shape_setMeshSubsetMaterialEffectMap1AdditionalUVScale               = 0x9CFBA1F0,
            CallbackID_shape_setMeshSubsetMaterialEffectMap1AdditionalUVRotation            = 0x90BBCA73,
            CallbackID_shape_getMeshSubsetMaterialEffectMap0AdditionalUVOffset              = 0x11BC28DB,
            CallbackID_shape_getMeshSubsetMaterialEffectMap0AdditionalUVScale               = 0xE8926523,
            CallbackID_shape_getMeshSubsetMaterialEffectMap0AdditionalUVRotation            = 0x848C8AD8,
            CallbackID_shape_getMeshSubsetMaterialEffectMap1AdditionalUVOffset              = 0xC65EA883,
            CallbackID_shape_getMeshSubsetMaterialEffectMap1AdditionalUVScale               = 0x07C0D3C2,
            CallbackID_shape_getMeshSubsetMaterialEffectMap1AdditionalUVRotation            = 0x1B560946,
            CallbackID_shape_playMeshSubsetMaterialEffectMap0Movie                          = 0x7279E7DB,
            CallbackID_shape_pauseMeshSubsetMaterialEffectMap0Movie                         = 0x5B8A3FAF,
            CallbackID_shape_stopMeshSubsetMaterialEffectMap0Movie                          = 0x648A0E78,
            CallbackID_shape_getMeshSubsetMaterialEffectMap0MovieBufferingProgress          = 0x71F1F5B7,
            CallbackID_shape_getMeshSubsetMaterialEffectMap0MoviePlaybackProgress           = 0xCE2A15FA,
            CallbackID_shape_getMeshSubsetMaterialEffectMap0MoviePlaybackCursor             = 0x62D3E029,
            CallbackID_shape_setMeshSubsetMaterialEffectMap0MovieTransparentColor           = 0xDCC4C093,
            CallbackID_shape_setMeshLightMaskBit                                            = 0xD06957D0,
            CallbackID_shape_getMeshLightMaskBit                                            = 0x2A436138,
            CallbackID_shape_setMeshProjectorMaskBit                                        = 0xAB1C9568,
            CallbackID_shape_getMeshProjectorMaskBit                                        = 0xAA32B2B7,
            CallbackID_shape_getMesh                                                        = 0x4C375707,
            CallbackID_shape_setMesh                                                        = 0xDFA6EFDA,
            CallbackID_shape_getMeshName                                                    = 0xE5587C3B,
            CallbackID_shape_getMeshTriangleCount                                           = 0x73571800,
            CallbackID_shape_getMeshVertexCount                                             = 0xC0599F18,
            CallbackID_shape_getSkeletonName                                                = 0x4D331633,
            CallbackID_shape_getSkeletonJointCount                                          = 0x13BD0D1A,
            CallbackID_shape_getSkeletonJointNameAt                                         = 0x407CE147,
            CallbackID_shape_createRuntimeMesh                                              = 0x1E3D5E0F,
            CallbackID_shape_overrideSkeletonJointTranslation                               = 0xC0F899D0,
            CallbackID_shape_overrideSkeletonJointRotation                                  = 0xE2B33E2F,
            CallbackID_shape_overrideSkeletonJointRotationQuaternion                        = 0x9056140E,
            CallbackID_shape_setSkeletonJointCustomScale                                    = 0xB1A963F4,
            CallbackID_shape_getSkeletonJointTranslation                                    = 0x4B2154ED,
            CallbackID_shape_getSkeletonJointRotation                                       = 0x18FAF082,
            CallbackID_shape_getSkeletonJointXAxis                                          = 0x9D9DE3B3,
            CallbackID_shape_getSkeletonJointYAxis                                          = 0xA0FDCA03,
            CallbackID_shape_getSkeletonJointZAxis                                          = 0xE75DB0D3,
            CallbackID_shape_getSkeletonJointParentJointName                                = 0xA5B274D1,
            CallbackID_shape_setSkeletonJointInheritsParentUniformScale                     = 0x01B0F27B,
            CallbackID_shape_addSkeletonCloneModifier                                       = 0xBB850722,
            CallbackID_shape_addCurve                                                       = 0x28966410,
            CallbackID_shape_removeCurve                                                    = 0x241D5560,
            CallbackID_shape_getCurveCount                                                  = 0xA1C9A121,
            CallbackID_shape_addCurvePoint                                                  = 0x0603411E,
            CallbackID_shape_removeCurvePoint                                               = 0xF6938578,
            CallbackID_shape_getCurvePointCount                                             = 0x83812D5A,
            CallbackID_shape_getCurvePoint                                                  = 0x93B51667,
            CallbackID_shape_setCurvePoint                                                  = 0xE70BDA2B,
            CallbackID_shape_setCurveStartColor                                             = 0xF33C206F,
            CallbackID_shape_setCurveEndColor                                               = 0xAA04CDDB,
            CallbackID_shape_setCurveStartOpacity                                           = 0x6D4D2EAB,
            CallbackID_shape_setCurveEndOpacity                                             = 0x335F82EA,
            CallbackID_shape_getCurveStartColor                                             = 0xD637AB71,
            CallbackID_shape_getCurveEndColor                                               = 0x9812BFC2,
            CallbackID_shape_evaluateCurve                                                  = 0x6C0F2586,
            CallbackID_shape_getCurveLength                                                 = 0xEE8C9E7D,
            CallbackID_shape_setMeshOption                                                  = 0xAADE5E15,
            CallbackID_shape_getMeshOption                                                  = 0xDE609259,
            CallbackID_shape_getMeshSubsetVertexColorCount                                  = 0xDF4DF717,
            CallbackID_shape_createMeshSubsetVertexColorBuffer                              = 0xBB1E6826,
            CallbackID_shape_destroyMeshSubsetVertexColorBuffer                             = 0xE5BA6306,
            CallbackID_shape_lockMeshSubsetVertexColorBuffer                                = 0xE48CC89A,
            CallbackID_shape_unlockMeshSubsetVertexColorBuffer                              = 0xEF6CD15F,
            CallbackID_shape_setMeshSubsetVertexColor                                       = 0x0C0E3CCE,
            CallbackID_shape_getMeshSubsetVertexColor                                       = 0x1A63DDAC,
            CallbackID_shape_setMeshSubsetVertexColors                                      = 0x67DE2E80,  // C/C++ addon
            CallbackID_shape_setMeshSubsetVertexColorBufferDynamic                          = 0x55470A9B,
            CallbackID_shape_isMeshSubsetVertexColorBufferDynamic                           = 0x52C863A7,
            CallbackID_shape_computeMeshSubsetVertexColors                                  = 0x3620EA7F,

            CallbackID_sound_play                                                           = 0x41F4483E,
            CallbackID_sound_pause                                                          = 0x3D50A842,
            CallbackID_sound_resume                                                         = 0x2642A4E3,
            CallbackID_sound_stop                                                           = 0xA62B8032,
            CallbackID_sound_setVolume                                                      = 0xEDC185A5,
            CallbackID_sound_setPitch                                                       = 0xA280EC2F,
            CallbackID_sound_isPlaying                                                      = 0xF8003D95,
            CallbackID_sound_isPaused                                                       = 0x0BE5AB21,
            CallbackID_sound_getPlaybackProgress                                            = 0x593A93C8,
            CallbackID_sound_setPlaybackProgress                                            = 0xA310A520,
            CallbackID_sound_getName                                                        = 0xB7D0E889,
            CallbackID_sound_enableSpatialization                                           = 0xDCCC98BC,
            CallbackID_sound_isSpatializationEnabled                                        = 0x1E9A30A3,
            CallbackID_sound_setSpatializationRolloffFactor                                 = 0xBC829161,
            CallbackID_sound_getSpatializationRolloffFactor                                 = 0x3DED2143,
            CallbackID_sound_setSpatializationReferenceDistance                             = 0xDE5CB6DE,
            CallbackID_sound_getSpatializationReferenceDistance                             = 0x69E3EBA5,
            CallbackID_sound_getSpatializationGain                                          = 0xD06788E2,

            CallbackID_string_isEmpty                                                       = 0x15025591,
            CallbackID_string_getLength                                                     = 0x0B56F67D,      
            CallbackID_string_getByte                                                       = 0xEF7286D4,
            CallbackID_string_format                                                        = 0xBD71835C,
            CallbackID_string_replace                                                       = 0x784F3D2E,
            CallbackID_string_contains                                                      = 0x54EE00B7,
            CallbackID_string_findFirst                                                     = 0x39C875D4,
            CallbackID_string_findFirstMatching                                             = 0x48EB519B,
            CallbackID_string_explode                                                       = 0x20A135E6,
            CallbackID_string_lower                                                         = 0xC307213E,
            CallbackID_string_upper                                                         = 0xA3C28581,
            CallbackID_string_toNumber                                                      = 0xCA2CAD07,
            CallbackID_string_getSubString                                                  = 0x6405F622,
            CallbackID_string_crc32                                                         = 0x62368943,
            CallbackID_string_md5                                                           = 0x6B475F85,
            CallbackID_string_sha1                                                          = 0x796E9EDF,
            CallbackID_string_hmacsha1                                                      = 0x59153DDF,
            CallbackID_string_reverse                                                       = 0xDEA5887C,
            CallbackID_string_compare                                                       = 0xC91B1136,
            CallbackID_string_encodeHTML                                                    = 0x193F2749,
            CallbackID_string_decodeHTML                                                    = 0x74A8D2AA,
            CallbackID_string_encodeURL                                                     = 0x69D8EFCF,
            CallbackID_string_decodeURL                                                     = 0x23C9E7DA,
            CallbackID_string_encodeBase64                                                  = 0x82F2C94A,
            CallbackID_string_encodeUTF8                                                    = 0x0FD0C4E5,

            CallbackID_system_getOSType                                                     = 0x31474FA7,
            CallbackID_system_getOSVersion                                                  = 0x5F7F564D,
            CallbackID_system_getOSVersionString                                            = 0xC93B4D01,
            CallbackID_system_getOSLanguage                                                 = 0xDE3BBC17,
            CallbackID_system_getGPUModelDescription                                        = 0x29906A6E,
            CallbackID_system_getGPUDriverDescription                                       = 0xBCBA5820,
            CallbackID_system_getGPUCapability                                              = 0xF7AB0529,
            CallbackID_system_getDeviceUniqueIdentifier                                     = 0x89206849,
            CallbackID_system_getDeviceModel                                                = 0x64EAA2A1,
            CallbackID_system_getDeviceName                                                 = 0x478928FE,
            CallbackID_system_getSupportedScreenResolutionCount                             = 0x62987E4A,
            CallbackID_system_getSupportedScreenResolutionAt                                = 0x4B5C2BD4,
            CallbackID_system_getCurrentScreenResolution                                    = 0x9D1206D0,
            CallbackID_system_getCurrentScreenPixelAspectRatio                              = 0x757EA8A3,
            CallbackID_system_getCurrentScreenPixelDensity                                  = 0xABD9BAF6,
            CallbackID_system_getClientType                                                 = 0x582E48EC,
            CallbackID_system_getClientConfigString                                         = 0x64306CB7,
            CallbackID_system_callClientFunction                                            = 0x47F3F4BD,
            CallbackID_system_setWakeLock                                                   = 0xBB97F1BB,
            CallbackID_system_getClipboardText                                              = 0x0E543729,
            CallbackID_system_setClipboardText                                              = 0x3C424530,
            CallbackID_system_getYear                                                       = 0x1D15BB39,
            CallbackID_system_getMonth                                                      = 0x69A8AAC9,
            CallbackID_system_getDayOfMonth                                                 = 0x3837C84D,
            CallbackID_system_getDayOfWeek                                                  = 0xBCAF1FFF,
            CallbackID_system_getTimeOfDay                                                  = 0xDC30929C,
            CallbackID_system_getUnixTimestampString                                        = 0xBDD5ED08,
            CallbackID_system_areLocationUpdatesSupported                                   = 0xFDEC482D,
            CallbackID_system_areLocationUpdatesEnabled                                     = 0xBAA6B5B6,
            CallbackID_system_enableLocationUpdates                                         = 0x6C8BC648,
            CallbackID_system_getLastKnownLocation                                          = 0xBE0861A3,
            CallbackID_system_areHeadingUpdatesSupported                                    = 0xD60EEE71,
            CallbackID_system_areHeadingUpdatesEnabled                                      = 0xF5AC2C83,
            CallbackID_system_enableHeadingUpdates                                          = 0xBB292142,
            CallbackID_system_getLastKnownHeading                                           = 0x41B549CB,
            CallbackID_system_getLastKnownTrueHeading                                       = 0x6C95E1B3,
            CallbackID_system_hasPersistentStorageManager                                   = 0x58154B38,
            CallbackID_system_openPersistentStorageManager                                  = 0x4E660D49,
            CallbackID_system_openURL                                                       = 0x5CFC8557,
            CallbackID_system_getHomeDirectory                                              = 0x0BE74745,
            CallbackID_system_getDocumentsDirectory                                         = 0x0E20244F,
            CallbackID_system_getPicturesDirectory                                          = 0x60129586,
            CallbackID_system_findFiles                                                     = 0xAC9B728E,
            CallbackID_system_findDirectories                                               = 0x2B9E917E,
            CallbackID_system_getDirectoryFreeSpace                                         = 0xAD5A4502,
            CallbackID_system_install                                                       = 0x8F3D70A6,
            CallbackID_system_isInstalled                                                   = 0x0B52C391,
            CallbackID_system_getInstallationStatus                                         = 0x94BB1235,
            CallbackID_system_launch                                                        = 0x8498F015,

            CallbackID_table_isEmpty                                                        = 0x8E421FD4,
            CallbackID_table_getSize                                                        = 0x1E327295,
            CallbackID_table_getAt                                                          = 0xFDF16C72,
            CallbackID_table_getLast                                                        = 0xA329FF5F,
            CallbackID_table_getFirst                                                       = 0xBF9AF38C,
            CallbackID_table_setAt                                                          = 0x68915D30,
            CallbackID_table_empty                                                          = 0x990C012A,
            CallbackID_table_add                                                            = 0xF935CC34,
            CallbackID_table_removeAt                                                       = 0x9FAA74A8,
            CallbackID_table_removeLast                                                     = 0xCB9228C7,
            CallbackID_table_removeFirst                                                    = 0x4126532D,
            CallbackID_table_insertAt                                                       = 0x5D962875,
            CallbackID_table_contains                                                       = 0x52C3F5E2,
            CallbackID_table_shuffle                                                        = 0xDC6C0A5F,
            CallbackID_table_reverse                                                        = 0x45E5C239,
            CallbackID_table_swap                                                           = 0x3A4D29B0,
            CallbackID_table_reserve                                                        = 0xF072B90C,
            CallbackID_table_getRangeAt                                                     = 0x541C5B59,
            CallbackID_table_setRangeAt                                                     = 0x7A597ACB,
            CallbackID_table_newInstance                                                    = 0x49983E8E,
            CallbackID_table_copy                                                           = 0x52641753,

            CallbackID_user_getSceneName                                                    = 0x6735ADC0,
            CallbackID_user_isLocal                                                         = 0xC35DE65C,
            CallbackID_user_getID                                                           = 0x55F0FD7A,
            CallbackID_user_sendEvent                                                       = 0x8FE9D183,
            CallbackID_user_sendEventImmediate                                              = 0x943D49A3,
            CallbackID_user_postEvent                                                       = 0x227B0E1B,
            CallbackID_user_setLocalSoundSourceObject                                       = 0xB09E0EF7,
            CallbackID_user_getLocalSoundSourceObject                                       = 0x13346362,
            CallbackID_user_setLocalSoundSourceRolloffFactor                                = 0x6745BF79,
            CallbackID_user_getLocalSoundSourceRolloffFactor                                = 0x0B96CBBA,
            CallbackID_user_setLocalSoundSourceReferenceDistance                            = 0xEC98E891,
            CallbackID_user_getLocalSoundSourceReferenceDistance                            = 0x3589D25A,
            CallbackID_user_getAIModelCount                                                 = 0xBEFBEC75,
            CallbackID_user_getAIModelNameAt                                                = 0x9DDCDB6F,
            CallbackID_user_hasAIModel                                                      = 0x8A61EF29,
            CallbackID_user_hasAIEventHandler                                               = 0xD6D5A226,
            CallbackID_user_setViewport                                                     = 0x230E0D60,
            CallbackID_user_getViewport                                                     = 0x3D21BA29,
            CallbackID_user_setClearMode                                                    = 0xF7B4EB74,
            CallbackID_user_getClearMode                                                    = 0xF8AA3DF7,
            CallbackID_user_enableRendering                                                 = 0xB473A5D9,
            CallbackID_user_isRenderingEnabled                                              = 0x0526434C,
            CallbackID_user_setRenderPriority                                               = 0xCA4A39A1,
            CallbackID_user_getRenderPriority                                               = 0xAE138713,
            CallbackID_user_getActiveCamera                                                 = 0x73D4C4C2,
            CallbackID_user_setActiveCamera                                                 = 0xBDCA3EEE,
            CallbackID_user_getScene                                                        = 0x25879BBC,
            CallbackID_user_setScene                                                        = 0xDD76A46D,
            CallbackID_user_startScenePreloading                                            = 0xA2B02C17,
            CallbackID_user_getScenePreloadingStatus                                        = 0x25784DE3,
            CallbackID_user_getAIVariable                                                   = 0x0AFBCD9B,
            CallbackID_user_setAIVariable                                                   = 0x7E4501D7,
            CallbackID_user_getAIState                                                      = 0x58454C93,
            CallbackID_user_addAIModel                                                      = 0x4A9DB99E,
            CallbackID_user_removeAIModel                                                   = 0x043B05B8,
            CallbackID_user_clearEnvironment                                                = 0xF922EF1D,
            CallbackID_user_saveEnvironment                                                 = 0x8CA757C1,
            CallbackID_user_loadEnvironment                                                 = 0x0507B27E,
            CallbackID_user_getEnvironmentStatus                                            = 0x06906082,
            CallbackID_user_getEnvironmentSaveResult                                        = 0xA7F88E3E,
            CallbackID_user_getEnvironmentLoadResult                                        = 0x6996BC4F,
            CallbackID_user_setEnvironmentName                                              = 0x32DEF213,
            CallbackID_user_getEnvironmentName                                              = 0x17D5790D,
            CallbackID_user_setEnvironmentTitle                                             = 0x4687610C,
            CallbackID_user_getEnvironmentTitle                                             = 0xBCAD57E4,
            CallbackID_user_setEnvironmentDescription                                       = 0xF024FBBB,
            CallbackID_user_getEnvironmentDescription                                       = 0x538E962E,
            CallbackID_user_getEnvironmentVariableCount                                     = 0xC584D495,
            CallbackID_user_getEnvironmentVariableNameAt                                    = 0x3DAD462F,
            CallbackID_user_setEnvironmentVariable                                          = 0xA6B37047,
            CallbackID_user_getEnvironmentVariable                                          = 0x53E5A906,
            CallbackID_user_unsetEnvironmentVariable                                        = 0x4731F6E5,
            CallbackID_user_saveEnvironmentVariable                                         = 0x154A098E,
            CallbackID_user_loadEnvironmentVariable                                         = 0xEEEE8738,
            CallbackID_user_getEnvironmentVariableStatus                                    = 0x58995F33,
            CallbackID_user_setEnvironmentSystemUserID                                      = 0x08A03076,
            CallbackID_user_getEnvironmentSystemUserID                                      = 0x8866FDD0,
            CallbackID_user_enableAIModel                                                   = 0x7AD7D0AC,

            CallbackID_video_getCaptureDeviceCount                                          = 0x8B1DE6FD,
            CallbackID_video_getCaptureDeviceNameAt                                         = 0x7E8A3677,
            CallbackID_video_setActiveCaptureDevice                                         = 0xD178EFB3,
            CallbackID_video_startCaptureToPixelMap                                         = 0x016B6034,
            CallbackID_video_stopCapture                                                    = 0x49492297,
            CallbackID_video_getCaptureWidth                                                = 0x97FEA7B8,
            CallbackID_video_getCaptureHeight                                               = 0x9B3D070A,
            CallbackID_video_getCaptureHorizontalFlip                                       = 0x6EBEE283,
            CallbackID_video_setCaptureWidth                                                = 0x59E05D94,
            CallbackID_video_setCaptureHeight                                               = 0xA92B7513,
            CallbackID_video_setCaptureRate                                                 = 0x45B5601B,
            CallbackID_video_setCaptureHorizontalFlip                                       = 0x78D303E1,

            CallbackID_xml_getRootElement                                                   = 0xCC3FFF50,
            CallbackID_xml_getElementName                                                   = 0x7DF9C81D,
            CallbackID_xml_setElementName                                                   = 0x02E77B6A,
            CallbackID_xml_getElementValue                                                  = 0x97314B6E,
            CallbackID_xml_setElementValue                                                  = 0x592FB142,
            CallbackID_xml_getElementChildCount                                             = 0x29781627,
            CallbackID_xml_getElementChildAt                                                = 0x13798F6D,
            CallbackID_xml_getElementAttributeCount                                         = 0xCF6D3528,
            CallbackID_xml_getElementAttributeAt                                            = 0xE0A6BB0F,
            CallbackID_xml_getElementAttributeWithName                                      = 0xBC1804D7,
            CallbackID_xml_getElementParent                                                 = 0xB6BA9EB6,
            CallbackID_xml_getElementFirstChild                                             = 0xCCD11AAA,
            CallbackID_xml_getElementNextSibling                                            = 0x2568E166,
            CallbackID_xml_getElementFirstChildWithName                                     = 0xCFEFA36B,
            CallbackID_xml_getElementNextSiblingWithName                                    = 0x9C9E7823,
            CallbackID_xml_appendElementChild                                               = 0xE532D37F,
            CallbackID_xml_insertElementChildAt                                             = 0xBDAB8EAE,
            CallbackID_xml_appendElementChildElement                                        = 0x3A37F30A,
            CallbackID_xml_insertElementChildElementAt                                      = 0xBE224D91,
            CallbackID_xml_removeElementChildAt                                             = 0xE9E2BC37,
            CallbackID_xml_removeElementChild                                               = 0xC2F7DDFA,
            CallbackID_xml_appendElementAttribute                                           = 0xD7FE4C99,
            CallbackID_xml_removeElementAttributeAt                                         = 0xADE647D3,
            CallbackID_xml_removeElementAttribute                                           = 0x1460B1FA,
            CallbackID_xml_getAttributeName                                                 = 0x47F23EB7,
            CallbackID_xml_setAttributeName                                                 = 0x75E44CAE,
            CallbackID_xml_getAttributeValue                                                = 0xA1080A6E,
            CallbackID_xml_setAttributeValue                                                = 0xC551B4DC,
            CallbackID_xml_empty                                                            = 0xF47DA3D4,
            CallbackID_xml_toString                                                         = 0xC04634D9,
            CallbackID_xml_createFromString                                                 = 0xDD46F9E5,
            CallbackID_xml_createFromResource                                               = 0x01532FFF,
            CallbackID_xml_send                                                             = 0x14EB8309,
            CallbackID_xml_receive                                                          = 0x32060199,
            CallbackID_xml_getSendStatus                                                    = 0xDD3484F3,
            CallbackID_xml_getReceiveStatus                                                 = 0xD748C5B1,
            CallbackID_xml_newInstance                                                      = 0xFF6B159B,
            CallbackID_xml_copy                                                             = 0xFE220246
        } ;

        //---------------------------------------------------------------------
        //  Callback structures
        //
        struct AnimationCallbacks
        {
            S3DX_AVAILABLE( AICallback  setCurrentClip                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentClip                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackSpeed                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackSpeed                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackLevel                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackLevel                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackKeyFrameBegin                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackKeyFrameBegin                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackKeyFrameEnd                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackKeyFrameEnd                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackMode                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackMode                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackCursor                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackCursor                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  matchPlaybackCursor                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSkeletonScale                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonScale                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setObjectChannel                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getClipKeyFrameRangeMin                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getClipKeyFrameRangeMax                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getClipName                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackIgnoreNotAnimatedChannels                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackIgnoreNotAnimatedChannels                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackIgnoreIfCursorOutOfRange                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackIgnoreIfCursorOutOfRange                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackIgnoreJointsScaleTracks                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getPlaybackIgnoreJointsScaleTracks                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setPlaybackBlendMode                                    ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getPlaybackBlendMode                                    ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  enablePlayback                                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setObjectChannelUseTrack                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getObjectChannelUseTrack                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setObjectChannelUseTrackIncrementalUpdates              ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getObjectChannelUseTrackIncrementalUpdates              ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setObjectChannelUseTrackFullPlaybackLevels              ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getObjectChannelUseTrackFullPlaybackLevels              ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getClipChannelCount                                     ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getClipChannelName                                      ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getClipChannelHasTrack                                  ; , 0x01090200 )
        } ;

        struct ApplicationCallbacks
        {
            S3DX_AVAILABLE( AICallback  getName                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPackDirectory                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getUserCount                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getUserAt                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getUser                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUser                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserScene                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserSceneName                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentUserScene                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserSceneTaggedObject                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserAIVariable                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentUserAIVariable                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserAIState                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  playOverlayExternalMovie                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  playOverlayMovie                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopOverlayMovie                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isOverlayMoviePlaying                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  startCurrentUserScenePreloading                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserScenePreloadingStatus                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  forceModelToStayLoaded                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  forceResourceToStayLoaded                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isModelLoaded                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isResourceLoaded                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserMainCamera                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserActiveCamera                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentUserActiveCamera                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resetCurrentUserActiveCamera                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserViewportAspectRatio                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserViewportWidth                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserViewportHeight                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  saveCurrentUserViewportToTexture                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserEnvironmentVariableCount                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserEnvironmentVariableNameAt                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentUserEnvironmentVariable                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserEnvironmentVariable                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  unsetCurrentUserEnvironmentVariable                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  clearCurrentUserEnvironment                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  saveCurrentUserEnvironment                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentUserEnvironmentName                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentUserEnvironmentTitle                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentUserEnvironmentDescription                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  loadCurrentUserEnvironment                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserEnvironmentVariableStatus                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  saveCurrentUserEnvironmentVariable                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  loadCurrentUserEnvironmentVariable                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentUserEnvironmentURL                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserEnvironmentURL                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  checkCurrentUserEnvironmentLocalStorageDevice           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  checkCurrentUserEnvironmentLocalStorageSpace            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  checkCurrentUserEnvironmentLocalStorageWriteAccess      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  checkCurrentUserEnvironmentLocalStorageExistence        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  checkCurrentUserEnvironmentLocalStorageValidity         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastFrameTime                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAverageFrameTime                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMinFrameTime                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMaxFrameTime                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTotalFrameTime                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resetTotalFrameTime                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resetAverageFrameTime                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setFrameTimeFactor                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFrameTimeFactor                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOption                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOption                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  restart                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  quit                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  mightBeCracked                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentUserEnvironmentName                           ; , 0x01090002 )
            S3DX_AVAILABLE( AICallback  flushAIEvents                                           ; , 0x01090003 )
            S3DX_AVAILABLE( AICallback  isModelReferenced                                       ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  isResourceReferenced                                    ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  getResourceProperty                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  createUser                                              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  destroyUser                                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getUniqueIdentifier                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getLoadedModelCount                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getLoadedResourceCount                                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  closeCurrentUserEnvironmentLocalStorageDevice           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  isPluginRegistered                                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setAudioListenerObject                                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getAudioListenerObject                                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setUseAverageFrameTime                                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getUseAverageFrameTime                                  ; , 0x01090200 )
        } ;

        struct CacheCallbacks
        {
            S3DX_AVAILABLE( AICallback  addFile                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addStreamFile                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFileStatus                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseFileReceiving                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resumeFileReceiving                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  cancelFileReceiving                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  sendFile                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFileSendStatus                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeFile                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFileProperty                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFileContentAsString                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  copyFileContent                                         ; , 0x01090000 ) // C/C++ addon
            S3DX_AVAILABLE( AICallback  createFile                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  empty                                                   ; , 0x01090000 )
        } ;
               
        struct CameraCallbacks
        {
            S3DX_AVAILABLE( AICallback  setFieldOfView                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFieldOfView                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMinViewDistance                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMinViewDistance                                      ; , 0x01090000 ) 
            S3DX_AVAILABLE( AICallback  setMaxViewDistance                                      ; , 0x01090000 ) 
            S3DX_AVAILABLE( AICallback  getMaxViewDistance                                      ; , 0x01090000 )                                                                                                  
            S3DX_AVAILABLE( AICallback  projectPoint                                            ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  unprojectPoint                                          ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  isPointInFrustum                                        ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  isSphereInFrustum                                       ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setAspectRatioScale                                     ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  getAspectRatioScale                                     ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setMotionBlurFactor                                     ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  getMotionBlurFactor                                     ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setVelocityBlurFactor                                   ; , 0x01090000 )   
            S3DX_AVAILABLE( AICallback  getVelocityBlurFactor                                   ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setDepthBlurFactor                                      ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  getDepthBlurFactor                                      ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setDepthBlurFocusRangeMin                               ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  getDepthBlurFocusRangeMin                               ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setDepthBlurFocusRangeMax                               ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  getDepthBlurFocusRangeMax                               ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setDistortionFactor                                     ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  getDistortionFactor                                     ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setDistortionAmplitude                                  ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  getDistortionAmplitude                                  ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setDistortionFrequency                                  ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  getDistortionFrequency                                  ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setDistortionTiling                                     ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  getDistortionTiling                                     ; , 0x01090000 )      
            S3DX_AVAILABLE( AICallback  setDistortionMapFactor                                  ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  getDistortionMapFactor                                  ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  setDistortionMapAmplitude                               ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  getDistortionMapAmplitude                               ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  setDistortionMapUVOffset                                ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  getDistortionMapUVOffset                                ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  setDistortionMapUVScale                                 ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  getDistortionMapUVScale                                 ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  setDistortionMap                                        ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  setDistortionMapAddressingMode                          ; , 0x01090006 )
            S3DX_AVAILABLE( AICallback  getDistortionMapAddressingMode                          ; , 0x01090006 )
            S3DX_AVAILABLE( AICallback  createDistortionMesh                                    ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getDistortionMesh                                       ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  enableDistortionMesh                                    ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setDistortionMeshClearFlag                              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setDistortionMeshClearColor                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setFrustumMargins                                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setRenderMap                                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getRenderMapName                                        ; , 0x01090200 )
        } ;
       
        struct ColliderCallbacks
        {
            S3DX_AVAILABLE( AICallback  create                                                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  destroy                                                 ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setAlwaysDisabled                                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  isAlwaysDisabled                                        ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setDisabledWhenObjectInactive                           ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  isDisabledWhenObjectInactive                            ; , 0x01090200 )
        } ;

        struct DebugCallbacks
        {
            S3DX_AVAILABLE( AICallback  drawLine                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTotalMemoryUsed                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastFrameTotalDrawCalls                              ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  getLastFrameTotalTriangles                              ; , 0x01090005 )
            S3DX_AVAILABLE( AICallback  getLastFrameTotalVertices                               ; , 0x01090007 )
            S3DX_AVAILABLE( AICallback  getFailedToCompileShaderList                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getLastFrameTotalCompiledShaders                        ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getLastFrameTotalLinkedShaders                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getLastFrameTotalShaderCompileTime                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getLastFrameTotalShaderLinkTime                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getCompiledShaderList                                   ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEstimatedShaderVariations                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  compileShaderList                                       ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  dumpLoadedModels                                        ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  dumpLoadedResources                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setDisplayFilter                                        ; , 0x01090009 )
        } ;

        struct DynamicsCallbacks
        {
            S3DX_AVAILABLE( AICallback  getBodyType                                             ; , 0x01090000 )                                        
            S3DX_AVAILABLE( AICallback  createSphereBody                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createBoxBody                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createCapsuleBody                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createCompositeBody                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addCompositeBodySphereGeometry                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addCompositeBodyBoxGeometry                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addCompositeBodyCapsuleGeometry                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  finalizeCompositeBody                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroyBody                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOffset                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOffset                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMass                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMass                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setFriction                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFriction                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBounce                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBounce                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBounceThreshold                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBounceThreshold                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLinearDamping                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLinearDampingEx                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLinearDamping                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAngularDamping                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAngularDampingEx                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAngularDamping                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addForce                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addTorque                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addLinearImpulse                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addAngularImpulse                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAngularVelocity                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAngularVelocity                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAngularSpeedLimit                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLinearVelocity                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLinearVelocity                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLinearSpeed                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLinearSpeedLimit                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setGuardBox                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableDynamics                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableCollisions                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableRotations                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableGuardBox                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableGravity                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableAutoIdle                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAutoIdleLinearThreshold                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAutoIdleAngularThreshold                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAutoIdleTime                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setIdle                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isIdle                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastCollisionTime                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastCollisionContactCount                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastCollisionContactPositionAt                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastCollisionContactNormalAt                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createBallJoint                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createSliderJoint                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createHingeJoint                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createHinge2Joint                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createUniversalJoint                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroyJoint                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBallJointAnchor                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSliderJointAxis                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHingeJointAnchor                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHingeJointAxis                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHingeJointAxisAngleLimitMin                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHingeJointAxisAngleLimitMax                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHingeJointAxisAngleLimitERP                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHingeJointAxisAngleLimitCFM                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAnchor                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis1                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis2                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis1AngleLimitMin                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis1AngleLimitMax                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis1AngleLimitERP                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis1AngleLimitCFM                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis2MotorSpeedLimit                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis2MotorAcceleration                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis1SuspensionERP                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHinge2JointAxis1SuspensionCFM                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAnchor                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis1                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis2                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis1AngleLimitMin                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis1AngleLimitMax                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis1AngleLimitERP                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis1AngleLimitCFM                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis2AngleLimitMin                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis2AngleLimitMax                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis2AngleLimitERP                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniversalJointAxis2AngleLimitCFM                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastCollisionContactObjectAt                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getAngularSpeedLimit                                    ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getLinearSpeedLimit                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setSliderJointAxisExtensionLimitMin                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setSliderJointAxisExtensionLimitMax                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setSliderJointAxisExtensionLimitERP                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setSliderJointAxisExtensionLimitCFM                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setSliderJointAxisExtensionLimitBounce                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setKinematic                                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  isKinematic                                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setCollisionCategoryBit                                 ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getCollisionCategoryBit                                 ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setCollisionMaskBit                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getCollisionMaskBit                                     ; , 0x01090009 )
        } ;

        struct GroupCallbacks
        {
            S3DX_AVAILABLE( AICallback  getSubObjectCount                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSubObjectAt                                          ; , 0x01090000 )
        } ;
        
        struct HashtableCallbacks
        {
            S3DX_AVAILABLE( AICallback  isEmpty                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSize                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  get                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getIndex                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAt                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getKeyAt                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  set                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  empty                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  add                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  remove                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  contains                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  newInstance                                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  copy                                                    ; , 0x01090009 )
        } ;

        struct HudCallbacks
        {
            S3DX_AVAILABLE( AICallback  checkValidity                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  newTemplateInstance                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroyTemplateInstance                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  newComponent                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  newAction                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  newTimer                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroyComponent                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroyAction                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroyTimer                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentCount                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getActionCount                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTimerCount                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentAt                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getActionAt                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTimerAt                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setInitialAction                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setDefaultFont                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDefaultFontName                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setDefaultTextShadowColor                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDefaultTextShadowColor                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponent                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAction                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setFocus                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSoundBank                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSoundBankName                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  playSound                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseSound                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resumeSound                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopSound                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopAllSounds                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSoundVolume                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSoundPlaybackProgress                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isSoundPlaying                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isSoundPaused                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCursorVisible                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCursorPosition                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCursorPosition                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  forceCursorShape                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentType                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentZOrder                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentZOrder                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentContainer                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentContainer                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentOrigin                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentOrigin                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentOffscreenOutput                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentPosition                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentPosition                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentSize                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentSize                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentRotation                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentRotation                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentOpacity                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentOpacity                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentVisible                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentActive                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentBackgroundImage                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentBackgroundImageName                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentBackgroundColor                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentBackgroundColor                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentForegroundColor                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentForegroundColor                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentBorderColor                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentBorderColor                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentFillMode                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentFillMode                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentBlendMode                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentBlendMode                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentShapeType                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentShapeType                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentShapeRoundRectangleCornerRadius             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentShapeRoundRectangleCornerRadius             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentOpacityWaveModifier                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentAspectInvariant                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentIgnoredByMouse                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentAdjustedToNearestPixels                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addComponentEventHandler                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeComponentEventHandler                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentScreenSpaceCenter                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentScreenSpaceBottomLeftCorner                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentScreenSpaceTopLeftCorner                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentScreenSpaceBottomRightCorner                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentScreenSpaceTopRightCorner                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  matchComponentScreenSpaceCenter                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  matchComponentScreenSpaceBottomLeftCorner               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  matchComponentScreenSpaceTopLeftCorner                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  matchComponentScreenSpaceBottomRightCorner              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  matchComponentScreenSpaceTopRightCorner                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentBackgroundImageUVOffset                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentBackgroundImageUVOffset                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentBackgroundImageUVScale                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentBackgroundImageUVScale                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setComponentBackgroundImageAddressingMode               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentBackgroundImageAddressingMode               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isComponentVisible                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isComponentActive                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentTag                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelText                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelText                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelTextHeight                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelTextHeight                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelTextLetterSpacing                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelTextLetterSpacing                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelTextLineSpacing                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelTextLineSpacing                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelTextAlignment                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelTextAlignment                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelTextCase                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelTextCase                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelTextEncoding                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelTextEncoding                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelTextDirection                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelTextDirection                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelFont                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelFontName                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableLabelTextAntialiasing                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isLabelTextAntialiasingEnabled                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLabelTextTotalLineCount                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditText                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditText                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditTextHeight                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditTextHeight                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditTextLetterSpacing                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditTextLetterSpacing                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditTextLineSpacing                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditTextLineSpacing                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditTextAlignment                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditTextAlignment                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditTextCase                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditTextCase                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditTextEncoding                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditTextEncoding                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditTextDirection                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditTextDirection                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditTextMaxLength                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditTextMaxLength                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditFont                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditFontName                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditOnChangedAction                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setEditSecure                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isEditSecure                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableEditTextAntialiasing                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isEditTextAntialiasingEnabled                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getEditTextTotalLineCount                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckText                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckText                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckTextHeight                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckTextHeight                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckTextLetterSpacing                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckTextLetterSpacing                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckTextLineSpacing                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckTextLineSpacing                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckTextAlignment                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckTextAlignment                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckTextCase                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckTextCase                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckTextEncoding                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckTextEncoding                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckTextDirection                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckTextDirection                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckIcons                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckFont                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckFontName                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckOnCheckedAction                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckOnUncheckedAction                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckState                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCheckState                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableCheckTextAntialiasing                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isCheckTextAntialiasingEnabled                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCheckTextTotalLineCount                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonText                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonText                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonTextHeight                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonTextHeight                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonTextLetterSpacing                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonTextLetterSpacing                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonTextLineSpacing                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonTextLineSpacing                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonTextAlignment                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonTextAlignment                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonTextCase                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonTextCase                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonTextEncoding                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonTextEncoding                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonTextDirection                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonTextDirection                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonFont                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonFontName                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonOnClickAction                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setButtonOnClickedAction                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableButtonTextAntialiasing                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isButtonTextAntialiasingEnabled                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getButtonTextTotalLineCount                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMovieClip                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMovieExternalClip                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMovieBufferingProgress                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMoviePlaybackProgress                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMoviePlaybackCursor                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMovieTransparentColor                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  playMovie                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseMovie                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopMovie                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setRenderMap                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getRenderMapName                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPixelMap                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPixelMapName                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPixelMap                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setProgressValue                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getProgressValue                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setProgressType                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getProgressType                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListItemCount                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addListItem                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeListItemAt                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  selectListItemAt                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeListAllItems                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  selectListAllItems                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListItemTextAt                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemTextAt                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemIconAt                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemsHeight                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListItemsHeight                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemsBackgroundImage                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListItemsBackgroundImageName                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemsBackgroundColor                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemsBackgroundColorOdd                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListItemsBackgroundColorOdd                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemsBackgroundColorEven                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListItemsBackgroundColorEven                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemsBackgroundImageSelected                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListItemsBackgroundImageSelectedName                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemsBackgroundColorSelected                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListItemsBackgroundColorSelected                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListItemsForegroundColorSelected                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListItemsForegroundColorSelected                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListTextLeftMargin                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListTextLeftMargin                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListTextRightMargin                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListTextRightMargin                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListTextHeight                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListTextHeight                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListTextLetterSpacing                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListTextLetterSpacing                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListTextLineSpacing                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListTextLineSpacing                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListTextFont                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListTextFontName                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListTextCase                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListTextCase                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListTextEncoding                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListTextEncoding                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListTextDirection                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListTextDirection                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableListTextAntialiasing                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isListTextAntialiasingEnabled                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListColumnCount                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addListColumn                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListColumnTextAlignmentAt                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListColumnWidthAt                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableListSelection                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableListSingleSelection                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableListSingleSelectionToggling                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableListSmoothScrolling                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableListFingerScrolling                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableListMouseWheelHandling                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListSelectedItemCount                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListSelectedItemAt                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListVerticalScrollPos                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getListVerticalScrollPos                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListVerticalScrollBarWidth                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListVerticalScrollBarArrowHeight                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListScrollBarBackgroundColor                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListScrollBarForegroundColor                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListScrollBarArrowColor                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListScrollBarBackgroundImages                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListScrollBarForegroundImages                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListScrollBarArrowImages                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setListOnSelectionChangedAction                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSliderType                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSliderType                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSliderRange                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSliderRange                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSliderValue                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSliderValue                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSliderThumbImage                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSliderOnChangedAction                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  beginActionCommand                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pushActionCommandArgument                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pushActionCommandRuntimeArgument                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  endActionCommand                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTimerOnTickAction                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTimerTickTime                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  callAction                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopAction                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseAction                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resumeAction                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopAllActions                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseAllActions                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resumeAllActions                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isActionRunning                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isActionPaused                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getUnderCursorComponent                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getUnderCursorListItem                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFocusedComponent                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enterModalMode                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  leaveModalMode                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getComponentAtPoint                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLabelTextDisplayRange                                ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  getLabelTextDisplayRange                                ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  startTimer                                              ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  stopTimer                                               ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  setComponentShapeEllipseMinAngle                        ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  getComponentShapeEllipseMinAngle                        ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  setComponentShapeEllipseMaxAngle                        ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  getComponentShapeEllipseMaxAngle                        ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  setEditTextDisplayRange                                 ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  getEditTextDisplayRange                                 ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  setEditCursorPosition                                   ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEditCursorPosition                                   ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEditTextBeforeCursor                                 ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEditTextAfterCursor                                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getListItemIconAt                                       ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getContainerChildCount                                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getContainerChildAt                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  killFocus                                               ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getSoundName                                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getButtonOnClickAction                                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getButtonOnClickedAction                                ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getActionTag                                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setListItemChildAt                                      ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  setListFingerScrollingInertia                           ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  getListFingerScrollingInertia                           ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  setContainerClipChildren                                ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  getContainerClipChildren                                ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  finishAction                                            ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  finishAllActions                                        ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  setComponentBackgroundImageFilteringMode                ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  getComponentBackgroundImageFilteringMode                ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  enableListItemSelectionAt                               ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  getListColumnWidthAt                                    ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  isComponentAspectInvariant                              ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  isComponentIgnoredByMouse                               ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  enableOffscreenOutput                                   ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getTimer                                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getTimerTag                                             ; , 0x01090200 )
        } ;
               
        struct InputCallbacks
        {
            S3DX_AVAILABLE( AICallback  setJoypadVibrationsMagnitude                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getJoypadType                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableJoypadMotionSensors                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableJoypadIRMotionSensors                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableMultiTouch                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableVirtualMouse                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setVirtualMousePosition                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setVirtualMouseButtonDown                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  scanDevices                                             ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  getJoypadBatteryLevel                                   ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  isJoypadExtensionAttached                               ; , 0x01090200 )
        } ;
               
        struct LightCallbacks
        {
            S3DX_AVAILABLE( AICallback  getType                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isDynamic                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isActive                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setActive                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setColor                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getColor                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setClipMaskBit                                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getClipMaskBit                                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setDynamic                                              ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setDynamicShadowsViewSpaceClipRectangle                 ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getDynamicShadowsViewSpaceClipRectangle                 ; , 0x01090200 )
        } ;
                 
        struct LogCallbacks
        {
            S3DX_AVAILABLE( AICallback  message                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  warning                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  error                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enable                                                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  isEnabled                                               ; , 0x01090200 )
        } ;            
        
        struct MathCallbacks
        {
            S3DX_AVAILABLE( AICallback  clamp                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  interpolate                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  sin                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  cos                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  tan                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  asin                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  acos                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  atan                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  atan2                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  min                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  max                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  sqrt                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resetRandomSeed                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  random                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  gaussianRandom                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pow                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  floor                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  trunc                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  roundToNearestInteger                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  roundToNearestPowerOfTwo                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  ceil                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  abs                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  mod                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  log                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  log10                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  evaluateBSpline                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  evaluateBezier                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  evaluateCatmullRom                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  computeRayPlaneIntersection                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  computeRaySphereIntersection                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  computeRayAABoxIntersection                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorAdd                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorSubtract                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorDotProduct                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorCrossProduct                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorNormalize                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorLength                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorScale                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorInterpolate                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorReflect                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  vectorSetLength                                         ; , 0x01090000 )
        } ;
        
        struct MeshCallbacks
        {
            S3DX_AVAILABLE( AICallback  getSubsetCount                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSubsetVertexCount                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSubsetIndexCount                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSubsetLODCount                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addSubset                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeSubset                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createSubsetVertexBuffer                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroySubsetVertexBuffer                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createSubsetIndexBuffer                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroySubsetIndexBuffer                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  lockSubsetVertexBuffer                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  unlockSubsetVertexBuffer                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  lockSubsetIndexBuffer                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  unlockSubsetIndexBuffer                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSubsetVertexPosition                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSubsetVertexPosition                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSubsetVertexNormal                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSubsetVertexNormal                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSubsetVertexTexCoord                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSubsetVertexTexCoord                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSubsetIndexValue                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSubsetIndexValue                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getResourceHandle                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSubsetVertexBufferDynamic                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isSubsetVertexBufferDynamic                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSubsetIndexBufferDynamic                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isSubsetIndexBufferDynamic                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  computeSubsetVertexNormals                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  computeSubsetVertexTangents                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  updateBoundingVolumes                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroySubsetIndexBuffers                               ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  morphSubsetVertexPositions                              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  morphSubsetVertexNormals                                ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  morphSubsetVertexTangents                               ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  morphSubsetVertexPositionsAbsolute                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setSubsetVertexPositions                                ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  setSubsetVertexNormals                                  ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  setSubsetBoundingBox                                    ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setSubsetVertexTexCoords                                ; , 0x01090200 )
        } ;

        struct MicrophoneCallbacks
        {
            S3DX_AVAILABLE( AICallback  setRate                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enable                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getActivityLevel                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableSpectrumAnalyzer                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSpectrumWidth                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSpectrumWidth                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSpectrumLevels                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setRecordingQuality                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  startRecordingAsMusic                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopRecording                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  startDiffusion                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopDiffusion                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addUserToDiffusionList                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeUserFromDiffusionList                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isUserInDiffusionList                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  emptyDiffusionList                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDiffusionListUserCount                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDiffusionListUserIDAt                                ; , 0x01090000 )
        } ;

        struct MusicCallbacks
        {
            S3DX_AVAILABLE( AICallback  play                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stop                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setVolume                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackProgress                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  playAdditional                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pause                                                   ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  resume                                                  ; , 0x01090009 )
        } ;

        struct NavigationCallbacks
        {
            S3DX_AVAILABLE( AICallback  setTargetNode                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAcceleration                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAcceleration                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSpeedLimit                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSpeedLimit                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setHeightOffset                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getHeightOffset                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getNode                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTargetNode                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTargetNodeDistance                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSpeed                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getVelocity                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setRandomTargetNode                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setNearestTargetNode                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setNearestNode                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPathMaxLength                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPathMaxLength                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPathNodeCount                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPathNodeAt                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableNodesInBox                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableNode                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getNodeTranslation                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isNodeOnBorder                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isNodeEnabled                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isNodeInUse                                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setWaitTimeout                                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getWaitTimeout                                          ; , 0x01090009 )
        } ;

        struct NetworkCallbacks
        {
            S3DX_AVAILABLE( AICallback  authenticate                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  disconnect                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getStatus                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getServerCount                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getServerNameAt                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentServer                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentServer                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createServer                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  searchForServers                                        ; , 0x01090000 )
        } ;

        struct ObjectCallbacks
        {
            S3DX_AVAILABLE( AICallback  getHashCode                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isEqualTo                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isKindOf                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  hasController                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getScene                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getParent                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setParent                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getModelName                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableDistanceClipping                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setDistanceClippingThresholds                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setDistanceClippingFadeTime                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCanBeReflected                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCanBeRefracted                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  canBeReflected                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  canBeRefracted                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  sendEvent                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  postEvent                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTransformOption                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTransformOption                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTranslation                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getRotation                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getScale                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDirection                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getXAxis                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getYAxis                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getZAxis                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resetTranslation                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  matchTranslation                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTranslation                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  translate                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  translateTo                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resetRotation                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  matchRotation                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setRotation                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setRotationYPR                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setRotationAxisAngle                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  rotate                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  rotateYPR                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  rotateAxisAngle                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  rotateTo                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  rotateToYPR                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  rotateToAxisAngle                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  rotateAround                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  lookAt                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  lookAtWithUp                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setUniformScale                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setScale                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isActive                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setVisible                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isVisible                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDistanceToObject                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBoundingSphereRadius                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBoundingSphereCenter                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBoundingBoxMin                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBoundingBoxMax                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addAIModel                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeAIModel                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAIModelCount                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAIModelNameAt                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  hasAIModel                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  hasAIEventHandler                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAIVariable                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAIVariable                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAIState                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSoundBank                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAnimBank                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  transformVector                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  transformPoint                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getChildCount                                           ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  getChildAt                                              ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  enableDistanceActivation                                ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setDistanceActivationThresholds                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  enableFrustumActivation                                 ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  bindTransformToParentSkeletonJoint                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  unbindTransformFromParentSkeletonJoint                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getStaticHandle                                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  fromStaticHandle                                        ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  releaseStaticHandle                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  forceInactive                                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  sendEventImmediate                                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setCanBeOccluded                                        ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  canBeOccluded                                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setRotationQuaternion                                   ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  getRotationQuaternion                                   ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  rotateQuaternion                                        ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  rotateToQuaternion                                      ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  setReceivesCustomAIEventsWhenInactive                   ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getReceivesCustomAIEventsWhenInactive                   ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  enableAIModel                                           ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  enableZoneActivation                                    ; , 0x01090200 )
       } ;

        struct PixelmapCallbacks
        {
            S3DX_AVAILABLE( AICallback  getResourceHandle                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getWidth                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getHeight                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  lock                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  unlock                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPixel                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPixel                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPixels                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPixels                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createBrushFromTexture                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createBrushFromRectangle                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroyBrush                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBrushCount                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBrushOrigin                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBrushOrigin                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBrushWidth                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBrushHeight                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPenColor                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPenBrush                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPenMode                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setFillColor                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setFillBrush                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setFillMode                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBlendMode                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  drawPoint                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  drawLine                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  drawRectangle                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  saveToTexture                                           ; , 0x01090000 )
        } ;

        struct ProjectorCallbacks
        {
            S3DX_AVAILABLE( AICallback  setColor                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getColor                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOpacity                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOpacity                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setFieldOfView                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFieldOfView                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMinClipDistance                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMinClipDistance                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMaxClipDistance                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMaxClipDistance                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMap                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  playMapMovie                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseMapMovie                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopMapMovie                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setClipMaskBit                                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getClipMaskBit                                          ; , 0x01090009 )
        } ;

        struct SceneCallbacks
        {
            S3DX_AVAILABLE( AICallback  getName                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getUserCount                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getUserAt                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  sendEventToAllUsers                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  sendEventToAllObjects                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTaggedObjectCount                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTaggedObjectAt                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTaggedObjectTagAt                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTaggedObject                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getObjectTag                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setRuntimeObjectTag                                     ; , 0x01090000 ) // Deprecated
            S3DX_AVAILABLE( AICallback  createRuntimeObject                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroyRuntimeObject                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  combineRuntimeObjectsGroup                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBackgroundColor                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBackgroundColor                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBackgroundOpacity                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBackgroundOpacity                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBackgroundTexture                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBackgroundTextureUVOffset                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBackgroundTextureUVScale                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBackgroundTextureAddressingMode                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBackgroundTextureFilteringMode                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSkyBoxColor                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkyBoxColor                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSkyBoxFaceMap                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAmbientColor                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAmbientColor                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setShadowAmbientColor                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getShadowAmbientColor                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setFogDensity                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFogDensity                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setFogColor                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFogColor                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createOcean                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  destroyOcean                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanWavesAmplitude                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanWavesAmplitude                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanWavesMeanHeight                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanWavesMeanHeight                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanWavesFrequency                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanWavesFrequency                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanUnderwaterFogDensity                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanUnderwaterFogDensity                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanUnderwaterFogColor                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanUnderwaterFogColor                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanSurfaceColor                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanSurfaceColor                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanSurfaceColorFactor                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanSurfaceColorFactor                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanSurfaceColorMaxDistance                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanSurfaceColorMaxDistance                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanHeight                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanNormal                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanFoamMap                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanFoamMapTiling                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanFoamMapTiling                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanNormalMapTiling                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanNormalMapTiling                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanReflectionNoiseScale                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanReflectionNoiseScale                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanRefractionNoiseScale                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanRefractionNoiseScale                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanFresnelPower                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanFresnelPower                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanFresnelBias                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanFresnelBias                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setOceanReflectorBias                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOceanReflectorBias                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setColorLevels                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getColorLevels                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setColorSaturation                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getColorSaturation                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setColorContrast                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getColorContrast                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMonochromeFilter                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMonochromeFilter                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBloomIntensity                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBloomIntensity                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBloomThreshold                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBloomThreshold                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBloomColoring                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBloomColoring                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBloomMotionBlurFactor                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBloomMotionBlurFactor                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getObjectCount                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getObjectAt                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFirstHitCollider                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFirstHitColliderEx                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFirstHitColliderWithID                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFirstHitColliderWithIDEx                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFirstHitSensor                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFirstHitSensorWithID                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFirstHitSensorWithIDInRange                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFirstHitTerrainChunk                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTerrainHeight                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTerrainNormal                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTerrainStatus                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTerrainTextureFilteringMode                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTerrainLODSwitchThreshold                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTerrainVegetationLayerMaxVisibleInstances            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTerrainVegetationLayerVisible                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTerrainVegetationLayerTextureFilteringMode           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTerrainVegetationLayerCount                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setDynamicsTimeStep                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDynamicsTimeStep                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setDynamicsIterationsPerStep                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDynamicsIterationsPerStep                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPaused                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPerPixelLightingMinScreenSize                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPerPixelLightingMinScreenSize                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setNormalMappingMinScreenSize                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getNormalMappingMinScreenSize                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setNormalMappingFadeScreenSize                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getNormalMappingFadeScreenSize                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSpecularLightingMinScreenSize                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSpecularLightingMinScreenSize                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSpecularLightingFadeScreenSize                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSpecularLightingFadeScreenSize                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setDynamicShadowsFadeDistance                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDynamicShadowsFadeDistance                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setDynamicShadowsMaxDistance                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDynamicShadowsMaxDistance                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setDynamicsGravity                                      ; , 0x01090004 )
            S3DX_AVAILABLE( AICallback  getDynamicsGravity                                      ; , 0x01090004 )
            S3DX_AVAILABLE( AICallback  setDistanceFogStart                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getDistanceFogStart                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setHeightFogLevel                                       ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getHeightFogLevel                                       ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setHeightFogDensityFactor                               ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getHeightFogDensityFactor                               ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setOceanDepthAttenuationFactor                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getOceanDepthAttenuationFactor                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setOceanReflectedObjectsMaxSurfaceDistance              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getOceanReflectedObjectsMaxSurfaceDistance              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setOceanFoamMapScrollingSpeed                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getOceanFoamMapScrollingSpeed                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setOceanNormalMapScrollingSpeed                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getOceanNormalMapScrollingSpeed                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setOceanUseFramebufferAsRefractionMap                   ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getOceanUseFramebufferAsRefractionMap                   ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setPotentiallyOccludedObjectMaxSize                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getPotentiallyOccludedObjectMaxSize                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setObjectTag                                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setBackgroundPixelMap                                   ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  isPaused                                                ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  setGammaCorrection                                      ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getGammaCorrection                                      ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setColorGradingIntensity                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getColorGradingIntensity                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setColorGradingFilteringMode                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getColorGradingFilteringMode                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setColorGradingTexture                                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setColorGradingFadeTime                                 ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getColorGradingFadeTime                                 ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setAmbientOcclusionIntensity                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getAmbientOcclusionIntensity                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setAmbientOcclusionDistance                             ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getAmbientOcclusionDistance                             ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setAmbientOcclusionSampleCount                          ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getAmbientOcclusionSampleCount                          ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setAmbientOcclusionDepthBias                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getAmbientOcclusionDepthBias                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setAmbientOcclusionColor                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getAmbientOcclusionColor                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  sectorize                                               ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setDynamicsFrameTimeFactor                              ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getDynamicsFrameTimeFactor                              ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setAnimationsFrameTimeFactor                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getAnimationsFrameTimeFactor                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticlesFrameTimeFactor                             ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticlesFrameTimeFactor                             ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setTrailsFrameTimeFactor                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getTrailsFrameTimeFactor                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  createActivationZone                                    ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setActivationZoneExtents                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  enableActivationZone                                    ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  isActivationZoneEnabled                                 ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  destroyActivationZone                                   ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  destroyAllActivationZones                               ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getActivationZoneCount                                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getActivationZoneNameAt                                 ; , 0x01090200 )
        } ;

        struct SensorCallbacks
        {
            S3DX_AVAILABLE( AICallback  getCount                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setActiveAt                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isActiveAt                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAllActive                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeAll                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeAt                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  add                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getIDAt                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setIDAt                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getShapeTypeAt                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSphereCenterAt                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSphereRadiusAt                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSphereCenterAt                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSphereRadiusAt                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBoxCenterAt                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setBoxSizeAt                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBoxCenterAt                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getBoxSizeAt                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCategoryBitAt                                        ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getCategoryBitAt                                        ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setMaskBitAt                                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getMaskBitAt                                            ; , 0x01090009 )
        } ;

        struct ServerCallbacks
        {
            S3DX_AVAILABLE( AICallback  getStatus                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getName                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentPingDelay                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAveragePingDelay                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSessionCount                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSessionNameAt                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSessionUserCountAt                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurrentSession                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentSession                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  sendEvent                                               ; , 0x01090000 )
        } ;

        struct SessionCallbacks
        {
            S3DX_AVAILABLE( AICallback  getStatus                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getName                                                 ; , 0x01090000 )
        } ;

        struct SfxCallbacks
        {
            S3DX_AVAILABLE( AICallback  getParticleEmitterCount                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  startParticleEmitterAt                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  startAllParticleEmitters                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopParticleEmitterAt                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopAllParticleEmitters                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseParticleEmitterAt                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseAllParticleEmitters                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterTranslationAt                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterRotationAt                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterUniformScaleAt                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterGenerationRateAt                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterLifeTimeFactorAt                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterInitialSpeedFactorAt                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterUniformScaleAt                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterGenerationRateAt                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterLifeTimeFactorAt                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterInitialSpeedFactorAt                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterAliveParticleCountAt                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTrailCount                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTrailAnchor0At                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setTrailAnchor1At                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  startTrailAt                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseTrailAt                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopTrailAt                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  startAllTrails                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseAllTrails                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopAllTrails                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterAliveParticlePositionAt               ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterAliveParticleSizeAt                   ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterKillBoxAt                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterKillBoxAt                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterUseKillBoxAt                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterUseKillBoxAt                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterUseCustomForce                        ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterUseCustomForce                        ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterCustomForce                           ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterCustomForce                           ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  addParticleAttractorField                               ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  removeParticleAttractorField                            ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  removeAllParticleAttractorFields                        ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleAttractorFieldCount                          ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleAttractorFieldShapeType                      ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleAttractorFieldStrength                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleAttractorFieldStrength                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleAttractorFieldPointPosition                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleAttractorFieldPointPosition                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterOpacityAt                             ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterOpacityAt                             ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterNameAt                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterInitialCountFactorAt                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleEmitterMaxCountLimitAt                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterInitialCountFactorAt                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleEmitterMaxCountLimitAt                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  addParticleVortexField                                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  removeParticleVortexField                               ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  removeAllParticleVortexFields                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setParticleVortexFieldStrength                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getParticleVortexFieldStrength                          ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setParticleVortexFieldOrbitalSpeed                      ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleVortexFieldOrbitalSpeed                      ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleVortexFieldOrbitalSpeedDamping               ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleVortexFieldOrbitalSpeedDamping               ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleVortexFieldRadialPull                        ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleVortexFieldRadialPull                        ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleVortexFieldRadialPullDamping                 ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleVortexFieldRadialPullDamping                 ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleVortexFieldAxialDrop                         ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleVortexFieldAxialDrop                         ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleVortexFieldAxialDropDamping                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleVortexFieldAxialDropDamping                  ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleVortexFieldPosition                          ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  addParticleTurbulenceField                              ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  removeParticleTurbulenceField                           ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  removeAllParticleTurbulenceFields                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleTurbulenceFieldStrength                      ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleTurbulenceFieldStrength                      ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setParticleTurbulenceFieldFrequency                     ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getParticleTurbulenceFieldFrequency                     ; , 0x01090200 )
        } ;

        struct ShapeCallbacks
        {
            S3DX_AVAILABLE( AICallback  setMeshOpacity                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshOpacity                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetCount                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetMaterial                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialName                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMeshMaterial                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  compareMeshSubsetMaterial                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableMeshFrustumCulling                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialEmissive                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialAmbient                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialDiffuse                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialSpecular                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialOpacity                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialOpacityThreshold              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialEffectIntensity               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEmissiveOverride                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialAmbientOverride                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialDiffuseOverride                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialSpecularOverride                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialOpacityOverride                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialOpacityThresholdOverride           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectIntensityOverride            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshMaterialEmissive                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshMaterialAmbient                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshMaterialDiffuse                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshMaterialSpecular                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialEffectMap0                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshMaterialEffectMap0                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialEffectMap1                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshMaterialEffectMap1                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialNormalMap                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshMaterialNormalMap                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialSpecularMap                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideMeshMaterialSpecularMap                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap0                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap1                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialNormalMap                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialSpecularMap                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap0Override                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap1Override                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialNormalMapOverride                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialSpecularMapOverride                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetMaterialEffectMap0AdditionalUVOffset       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetMaterialEffectMap0AdditionalUVScale        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetMaterialEffectMap0AdditionalUVRotation     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetMaterialEffectMap1AdditionalUVOffset       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetMaterialEffectMap1AdditionalUVScale        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetMaterialEffectMap1AdditionalUVRotation     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap0AdditionalUVOffset       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap0AdditionalUVScale        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap0AdditionalUVRotation     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap1AdditionalUVOffset       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap1AdditionalUVScale        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap1AdditionalUVRotation     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  playMeshSubsetMaterialEffectMap0Movie                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pauseMeshSubsetMaterialEffectMap0Movie                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopMeshSubsetMaterialEffectMap0Movie                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap0MovieBufferingProgress   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap0MoviePlaybackProgress    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialEffectMap0MoviePlaybackCursor      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetMaterialEffectMap0MovieTransparentColor    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMesh                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshName                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshTriangleCount                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMeshVertexCount                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonName                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonJointCount                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonJointNameAt                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createRuntimeMesh                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideSkeletonJointTranslation                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  overrideSkeletonJointRotation                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSkeletonJointCustomScale                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonJointTranslation                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonJointRotation                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonJointXAxis                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonJointYAxis                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonJointZAxis                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSkeletonJointParentJointName                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addSkeletonCloneModifier                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addCurve                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeCurve                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurveCount                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  addCurvePoint                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeCurvePoint                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurvePointCount                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurvePoint                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurvePoint                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurveStartColor                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurveEndColor                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurveStartOpacity                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCurveEndOpacity                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurveStartColor                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurveEndColor                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  evaluateCurve                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurveLength                                          ; , 0x01090008 )
            S3DX_AVAILABLE( AICallback  setMeshOption                                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getMeshOption                                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setSkeletonJointInheritsParentUniformScale              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialShininess                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialShininessOverride                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setMeshLightMaskBit                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getMeshLightMaskBit                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setMeshProjectorMaskBit                                 ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getMeshProjectorMaskBit                                 ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  overrideSkeletonJointRotationQuaternion                 ; , 0x01090101 )
            S3DX_AVAILABLE( AICallback  setMesh                                                 ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetVertexColorCount                           ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  createMeshSubsetVertexColorBuffer                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  destroyMeshSubsetVertexColorBuffer                      ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  lockMeshSubsetVertexColorBuffer                         ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  unlockMeshSubsetVertexColorBuffer                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetVertexColor                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetVertexColor                                ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetVertexColors                               ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  setMeshSubsetVertexColorBufferDynamic                   ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  isMeshSubsetVertexColorBufferDynamic                    ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  computeMeshSubsetVertexColors                           ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  overrideMeshSubsetMaterialFresnel                       ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  getMeshSubsetMaterialFresnelOverride                    ; , 0x01090200 )
            S3DX_AVAILABLE( AICallback  overrideMeshMaterialFresnel                             ; , 0x01090200 )
        } ;

        struct SoundCallbacks
        {
            S3DX_AVAILABLE( AICallback  play                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  pause                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  resume                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stop                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setVolume                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPitch                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isPlaying                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isPaused                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPlaybackProgress                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setPlaybackProgress                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getName                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableSpatialization                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isSpatializationEnabled                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSpatializationRolloffFactor                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSpatializationRolloffFactor                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setSpatializationReferenceDistance                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSpatializationReferenceDistance                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSpatializationGain                                   ; , 0x01090200 )
        } ;

        struct StringCallbacks
        {
            S3DX_AVAILABLE( AICallback  isEmpty                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLength                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getByte                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  format                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  replace                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  contains                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  findFirst                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  findFirstMatching                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  explode                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  lower                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  upper                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  toNumber                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSubString                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  crc32                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  md5                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  sha1                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  reverse                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  compare                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  encodeHTML                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  decodeHTML                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  encodeURL                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  decodeURL                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  encodeBase64                                            ; , 0x01090003 )
            S3DX_AVAILABLE( AICallback  hmacsha1                                                ; , 0x01090003 )
            S3DX_AVAILABLE( AICallback  encodeUTF8                                              ; , 0x01090200 )
        } ;

        struct SystemCallbacks
        {
            S3DX_AVAILABLE( AICallback  getOSType                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOSVersion                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOSVersionString                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getOSLanguage                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getGPUModelDescription                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getGPUDriverDescription                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getGPUCapability                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDeviceUniqueIdentifier                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDeviceModel                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDeviceName                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSupportedScreenResolutionCount                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSupportedScreenResolutionAt                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCurrentScreenResolution                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getClientType                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setWakeLock                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getClipboardText                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setClipboardText                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getYear                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getMonth                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDayOfMonth                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDayOfWeek                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getTimeOfDay                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  areLocationUpdatesSupported                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  areLocationUpdatesEnabled                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableLocationUpdates                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastKnownLocation                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  areHeadingUpdatesSupported                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  areHeadingUpdatesEnabled                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  enableHeadingUpdates                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastKnownHeading                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLastKnownTrueHeading                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  hasPersistentStorageManager                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  openPersistentStorageManager                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  openURL                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getHomeDirectory                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getDocumentsDirectory                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getPicturesDirectory                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  findFiles                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  findDirectories                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  install                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isInstalled                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getInstallationStatus                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  launch                                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getUnixTimestampString                                  ; , 0x01090003 )
            S3DX_AVAILABLE( AICallback  getDirectoryFreeSpace                                   ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getClientConfigString                                   ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getCurrentScreenPixelAspectRatio                        ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  callClientFunction                                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getCurrentScreenPixelDensity                            ; , 0x01090200 )
        } ;

        struct TableCallbacks
        {
            S3DX_AVAILABLE( AICallback  isEmpty                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSize                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAt                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLast                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getFirst                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAt                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  empty                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  add                                                     ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeAt                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeLast                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeFirst                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  insertAt                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  contains                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  shuffle                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  reverse                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  swap                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  reserve                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getRangeAt                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setRangeAt                                              ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  newInstance                                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  copy                                                    ; , 0x01090009 )
        } ;

        struct UserCallbacks
        {
            S3DX_AVAILABLE( AICallback  getSceneName                                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  isLocal                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getID                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  sendEvent                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  postEvent                                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLocalSoundSourceObject                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLocalSoundSourceObject                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLocalSoundSourceRolloffFactor                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLocalSoundSourceRolloffFactor                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setLocalSoundSourceReferenceDistance                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getLocalSoundSourceReferenceDistance                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAIModelCount                                         ; , 0x01090001 )
            S3DX_AVAILABLE( AICallback  getAIModelNameAt                                        ; , 0x01090001 )
            S3DX_AVAILABLE( AICallback  hasAIModel                                              ; , 0x01090001 )
            S3DX_AVAILABLE( AICallback  hasAIEventHandler                                       ; , 0x01090001 )
            S3DX_AVAILABLE( AICallback  setViewport                                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getViewport                                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setClearMode                                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getClearMode                                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  enableRendering                                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  isRenderingEnabled                                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setRenderPriority                                       ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getRenderPriority                                       ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getActiveCamera                                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setActiveCamera                                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getScene                                                ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setScene                                                ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  startScenePreloading                                    ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getScenePreloadingStatus                                ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getAIVariable                                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setAIVariable                                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getAIState                                              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  addAIModel                                              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  removeAIModel                                           ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  clearEnvironment                                        ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  saveEnvironment                                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  loadEnvironment                                         ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentStatus                                    ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentSaveResult                                ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentLoadResult                                ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setEnvironmentName                                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentName                                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setEnvironmentTitle                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentTitle                                     ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setEnvironmentDescription                               ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentDescription                               ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentVariableCount                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentVariableNameAt                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setEnvironmentVariable                                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentVariable                                  ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  unsetEnvironmentVariable                                ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  saveEnvironmentVariable                                 ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  loadEnvironmentVariable                                 ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentVariableStatus                            ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  sendEventImmediate                                      ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  setEnvironmentSystemUserID                              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  getEnvironmentSystemUserID                              ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  enableAIModel                                           ; , 0x01090200 )
        } ;

        struct VideoCallbacks
        {
            S3DX_AVAILABLE( AICallback  getCaptureDeviceCount                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCaptureDeviceNameAt                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setActiveCaptureDevice                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  startCaptureToPixelMap                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  stopCapture                                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCaptureWidth                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCaptureHeight                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getCaptureHorizontalFlip                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCaptureWidth                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCaptureHeight                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCaptureRate                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setCaptureHorizontalFlip                                ; , 0x01090000 )
        } ;

        struct XmlCallbacks
        {
            S3DX_AVAILABLE( AICallback  getRootElement                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementName                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setElementName                                          ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementValue                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setElementValue                                         ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementChildCount                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementChildAt                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementAttributeCount                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementAttributeAt                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementAttributeWithName                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementParent                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementFirstChild                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementNextSibling                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementFirstChildWithName                            ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getElementNextSiblingWithName                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  appendElementChild                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  insertElementChildAt                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  appendElementChildElement                               ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  insertElementChildElementAt                             ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeElementChildAt                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeElementChild                                      ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  appendElementAttribute                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeElementAttributeAt                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  removeElementAttribute                                  ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAttributeName                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAttributeName                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getAttributeValue                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  setAttributeValue                                       ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  empty                                                   ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  toString                                                ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  createFromString                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  send                                                    ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  receive                                                 ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getSendStatus                                           ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  getReceiveStatus                                        ; , 0x01090000 )
            S3DX_AVAILABLE( AICallback  newInstance                                             ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  copy                                                    ; , 0x01090009 )
            S3DX_AVAILABLE( AICallback  createFromResource                                      ; , 0x01090009 )
        } ;

        //-----------------------------------------------------------------------------
        // Inline functions provided for a simpler usage of the API. Grouped by package.
        //
        struct AnimationPackage
        {
            // Constants
            //
            const AIVariable        kPlaybackModeOnce                           ;
            const AIVariable        kPlaybackModeOnceReversed                   ;
            const AIVariable        kPlaybackModeLoop                           ;
            const AIVariable        kPlaybackModeLoopReversed                   ;
            const AIVariable        kPlaybackModeLoopMirrored                   ;
            const AIVariable        kPlaybackBlendModeDefault                   ;
            const AIVariable        kPlaybackBlendModeAdditive                  ;
            const AIVariable        kTrackTypeTranslation                       ; // 1.9.2.0
            const AIVariable        kTrackTypeRotation                          ; // 1.9.2.0
            const AIVariable        kTrackTypeScale                             ; // 1.9.2.0

            AnimationPackage            (   ):
            kPlaybackModeOnce           ( 0 ),
            kPlaybackModeOnceReversed   ( 1 ),
            kPlaybackModeLoop           ( 2 ),
            kPlaybackModeLoopReversed   ( 3 ),
            kPlaybackModeLoopMirrored   ( 4 ),
            kPlaybackBlendModeDefault   ( 0 ),
            kPlaybackBlendModeAdditive  ( 1 ),
            kTrackTypeTranslation       ( 1 ),
            kTrackTypeRotation          ( 2 ),
            kTrackTypeScale             ( 3 )
            { }

            // Functions
            //
            inline void             changeClip                                          ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nClipIndex ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, nClipIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setCurrentClip ( 3, vIn, NULL ) ; } // Deprecated
            inline void             setCurrentClip                                      ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nClipIndex ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, nClipIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setCurrentClip ( 3, vIn, NULL ) ; }
            inline AIVariable       getCurrentClip                                      ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getCurrentClip ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackSpeed                                    ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nSpeed ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, nSpeed ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackSpeed ( 3, vIn, NULL ) ; }
            inline AIVariable       getPlaybackSpeed                                    ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackSpeed ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackLevel                                    ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nLevel ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, nLevel ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackLevel ( 3, vIn, NULL ) ; }
            inline void             setPlaybackLevel                                    ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nLevel, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_04( hObject, nBlendLayer, nLevel, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackLevel ( 4, vIn, NULL ) ; }
            inline AIVariable       getPlaybackLevel                                    ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackLevel ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackKeyFrameBegin                            ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nKeyFrame ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, nKeyFrame ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackKeyFrameBegin ( 3, vIn, NULL ) ; }
            inline AIVariable       getPlaybackKeyFrameBegin                            ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackKeyFrameBegin ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackKeyFrameEnd                              ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nKeyFrame ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, nKeyFrame ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackKeyFrameEnd ( 3, vIn, NULL ) ; }
            inline AIVariable       getPlaybackKeyFrameEnd                              ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackKeyFrameEnd ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackMode                                     ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& kMode ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, kMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackMode ( 3, vIn, NULL ) ; }
            inline AIVariable       getPlaybackMode                                     ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackMode ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackBlendMode                                ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& kBlendMode ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, kBlendMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackBlendMode ( 3, vIn, NULL ) ; }
            inline AIVariable       getPlaybackBlendMode                                ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackBlendMode ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackCursor                                   ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nCursor ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, nCursor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackCursor ( 3, vIn, NULL ) ; }
            inline AIVariable       getPlaybackCursor                                   ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackCursor ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             matchPlaybackCursor                                 ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nOtherBlendLayer ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, nOtherBlendLayer ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.matchPlaybackCursor ( 3, vIn, NULL ) ; }
            inline void             setSkeletonScale                                    ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& nScale ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, nScale ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setSkeletonScale ( 3, vIn, NULL ) ; }
            inline AIVariable       getSkeletonScale                                    ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getSkeletonScale ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setObjectChannel                                    ( const AIVariable& hObject, const AIVariable& sChannel ) const { S3DX_DECLARE_VIN_02( hObject, sChannel ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setObjectChannel ( 2, vIn, NULL ) ; }
            inline void             setObjectChannelUseTrack                            ( const AIVariable& hObject, const AIVariable& kTrackType, const AIVariable& bUse ) const { S3DX_DECLARE_VIN_03( hObject, kTrackType, bUse ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setObjectChannelUseTrack ( 3, vIn, NULL ) ; }
            inline AIVariable       getObjectChannelUseTrack                            ( const AIVariable& hObject, const AIVariable& kTrackType ) const { S3DX_DECLARE_VIN_02( hObject, kTrackType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getObjectChannelUseTrack ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setObjectChannelUseTrackIncrementalUpdates          ( const AIVariable& hObject, const AIVariable& kTrackType, const AIVariable& bUse ) const { S3DX_DECLARE_VIN_03( hObject, kTrackType, bUse ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setObjectChannelUseTrackIncrementalUpdates ( 3, vIn, NULL ) ; }
            inline AIVariable       getObjectChannelUseTrackIncrementalUpdates          ( const AIVariable& hObject, const AIVariable& kTrackType ) const { S3DX_DECLARE_VIN_02( hObject, kTrackType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getObjectChannelUseTrackIncrementalUpdates ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setObjectChannelUseTrackFullPlaybackLevels          ( const AIVariable& hObject, const AIVariable& kTrackType, const AIVariable& bUse ) const { S3DX_DECLARE_VIN_03( hObject, kTrackType, bUse ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setObjectChannelUseTrackFullPlaybackLevels ( 3, vIn, NULL ) ; }
            inline AIVariable       getObjectChannelUseTrackFullPlaybackLevels          ( const AIVariable& hObject, const AIVariable& kTrackType ) const { S3DX_DECLARE_VIN_02( hObject, kTrackType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getObjectChannelUseTrackFullPlaybackLevels ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getClipChannelCount                                 ( const AIVariable& hObject, const AIVariable& nClipIndex ) const { S3DX_DECLARE_VIN_02( hObject, nClipIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getClipChannelCount ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getClipChannelName                                  ( const AIVariable& hObject, const AIVariable& nClipIndex, const AIVariable& nChannelIndex ) const { S3DX_DECLARE_VIN_03( hObject, nClipIndex, nChannelIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getClipChannelName ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getClipChannelHasTrack                              ( const AIVariable& hObject, const AIVariable& nClipIndex, const AIVariable& nChannelIndex, const AIVariable& kTrackType ) const { S3DX_DECLARE_VIN_04( hObject, nClipIndex, nChannelIndex, kTrackType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getClipChannelHasTrack ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getClipKeyFrameRangeMin                             ( const AIVariable& hObject, const AIVariable& nClipIndex ) const { S3DX_DECLARE_VIN_02( hObject, nClipIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getClipKeyFrameRangeMin ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getClipKeyFrameRangeMax                             ( const AIVariable& hObject, const AIVariable& nClipIndex ) const { S3DX_DECLARE_VIN_02( hObject, nClipIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getClipKeyFrameRangeMax ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getClipName                                         ( const AIVariable& hObject, const AIVariable& nClipIndex ) const { S3DX_DECLARE_VIN_02( hObject, nClipIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getClipName ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackIgnoreNotAnimatedChannels                ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& bIgnore ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, bIgnore ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackIgnoreNotAnimatedChannels ( 3, vIn, NULL ) ; }
            inline AIVariable       getPlaybackIgnoreNotAnimatedChannels                ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackIgnoreNotAnimatedChannels ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackIgnoreIfCursorOutOfRange                 ( const AIVariable& hObject, const AIVariable& nBlendLayer, const AIVariable& bIgnore ) const { S3DX_DECLARE_VIN_03( hObject, nBlendLayer, bIgnore ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackIgnoreIfCursorOutOfRange ( 3, vIn, NULL ) ; }
            inline AIVariable       getPlaybackIgnoreIfCursorOutOfRange                 ( const AIVariable& hObject, const AIVariable& nBlendLayer ) const { S3DX_DECLARE_VIN_02( hObject, nBlendLayer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackIgnoreIfCursorOutOfRange ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackIgnoreJointsScaleTracks                  ( const AIVariable& hObject, const AIVariable& bIgnore ) const { S3DX_DECLARE_VIN_02( hObject, bIgnore ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.setPlaybackIgnoreJointsScaleTracks ( 2, vIn, NULL ) ; }
            inline AIVariable       getPlaybackIgnoreJointsScaleTracks                  ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.getPlaybackIgnoreJointsScaleTracks ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enablePlayback                                      ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->animation.enablePlayback ( 2, vIn, NULL ) ; }
        } ;

        struct ApplicationPackage
        {
            // Constants
            //
            const AIVariable        kStatusSaving                                           ;
            const AIVariable        kStatusLoading                                          ;
            const AIVariable        kStatusReady                                            ;
            const AIVariable        kStatusNone                                             ;
            const AIVariable        kOptionFullscreen                                       ;
            const AIVariable        kOptionTexturesQuality                                  ;
            const AIVariable        kOptionDynamicShadowsQuality                            ;
            const AIVariable        kOptionSwapInterval                                     ;
            const AIVariable        kOptionTerrainsQuality                                  ;
            const AIVariable        kOptionNetworkStreams                                   ;
            const AIVariable        kOptionShadersQuality                                   ;
            const AIVariable        kOptionViewportRotation                                 ;
            const AIVariable        kOptionAutomaticVirtualKeyboard                         ;
            const AIVariable        kOptionFullscreenWidth                                  ;                            
            const AIVariable        kOptionFullscreenHeight                                 ;
            const AIVariable        kOptionDynamicShadowsBufferCount                        ;
            const AIVariable        kOptionDynamicShadowsBufferSize                         ;
            const AIVariable        kOptionDynamicShadowsScreenSpaceBlur                    ;
            const AIVariable        kOptionDynamicShadowsPCFSampleCount                     ;
            const AIVariable        kOptionDynamicShadowsConstantSampling                   ;
            const AIVariable        kOptionHardwareOcclusion                                ;
            const AIVariable        kOptionAudioMasterVolume                                ;
            const AIVariable        kOptionTexturesAnisotropyLevel                          ;
            const AIVariable        kOptionTexturesMipmapBias                               ;
            const AIVariable        kOptionRenderingEnabled                                 ;
            const AIVariable        kOptionNetworkStreamsUseBrowser                         ;
            const AIVariable        kOptionMaxEventBouncesPerFrame                          ;
            const AIVariable        kOptionPrioritizeEventBounces                           ;
            const AIVariable        kResourceTypeAnimBank                                   ;
            const AIVariable        kResourceTypeFont                                       ;
            const AIVariable        kResourceTypeHUD                                        ;
            const AIVariable        kResourceTypeMaterial                                   ;
            const AIVariable        kResourceTypeMesh                                       ;
            const AIVariable        kResourceTypeParticle                                   ;
            const AIVariable        kResourceTypePixelMap                                   ;
            const AIVariable        kResourceTypeSoundBank                                  ;
            const AIVariable        kResourceTypeTexture                                    ;
            const AIVariable        kResourceTypeTextureClip                                ;
            const AIVariable        kResourceTypeTrail                                      ;
            const AIVariable        kOptionMaxLightmapSize                                  ; // 1.9.0.4
            const AIVariable        kOptionStereoscopic3DMode                               ; // 1.9.0.4
            const AIVariable        kOptionStereoscopic3DSeparation                         ; // 1.9.0.4
            const AIVariable        kOptionStereoscopic3DConvergence                        ; // 1.9.0.4
            const AIVariable        kOptionUseSoftParticles                                 ; // 1.9.0.5
            const AIVariable        kOptionUseAntialiasingFilter                            ; // 1.9.0.9
            const AIVariable        kPropertyWidth                                          ; // 1.9.0.9
            const AIVariable        kPropertyHeight                                         ; // 1.9.0.9
            const AIVariable        kOptionDynamicShadowsDepthBias                          ; // 1.9.0.9
            const AIVariable        kOptionDynamicShadowsScreenSpaceBlurPassCount           ; // 1.9.0.9
            const AIVariable        kOptionDynamicShadowsScreenSpaceBlurBufferDownScaleU    ; // 1.9.0.9
            const AIVariable        kOptionDynamicShadowsScreenSpaceBlurBufferDownScaleV    ; // 1.9.0.9
            const AIVariable        kOptionUseAutomaticRuntimeBatching                      ; // 1.9.0.9
            const AIVariable        kResourceTypeAIModel                                    ; // 1.9.0.9
            const AIVariable        kStereoscopic3DModeNone                                 ; // 1.9.0.9
            const AIVariable        kStereoscopic3DModeSideBySide                           ; // 1.9.0.9
            const AIVariable        kStereoscopic3DModeOverUnder                            ; // 1.9.0.9
            const AIVariable        kStereoscopic3DModeRowInterleaved                       ; // 1.9.0.9
            const AIVariable        kStereoscopic3DModeColumnInterleaved                    ; // 1.9.0.9
            const AIVariable        kResourceTypeMovie                                      ; // 1.9.0.9
            const AIVariable        kOptionUseSlopeScaleDepthBias                           ; // 1.9.0.9
            const AIVariable        kResourceTypeXML                                        ; // 1.9.0.9
            const AIVariable        kOptionCheckCachedPackFilesIntegrity                    ; // 1.9.1.1
            const AIVariable        kOptionUseOffscreenRendering                            ; // 1.9.1.1
            const AIVariable        kOptionOffscreenRenderingBufferWidth                    ; // 1.9.1.1
            const AIVariable        kOptionOffscreenRenderingBufferHeight                   ; // 1.9.1.1
            const AIVariable        kOptionOffscreenRenderingBlitToScreen                   ; // 1.9.1.1
            const AIVariable        kOptionDynamicLightingMaxVertexLightsPerPass            ; // 1.9.1.1
            const AIVariable        kOptionDynamicLightingMaxPixelLightsPerPass             ; // 1.9.1.1
            const AIVariable        kOptionUseLowResolutionParticles                        ; // 1.9.1.1
            const AIVariable        kOptionMaxDynamicFontSize                               ; // 1.9.1.1
            const AIVariable        kOptionParticlesRotationEnabled                         ; // 1.9.1.1
            const AIVariable        kOptionHomeButtonMenuAllowed                            ; // 1.9.2.0
            const AIVariable        kOptionMaxJoypadsAllowed                                ; // 1.9.2.0
            const AIVariable        kOptionNativeStringPoolSize                             ; // 1.9.2.0
            const AIVariable        kOptionAudioSpatializationEnabled                       ; // 1.9.2.0
            const AIVariable        kOptionNetworkSocketTimeout                             ; // 1.9.2.0
            const AIVariable        kOptionDistantEnvironmentSendMethod                     ; // 1.9.2.0
            const AIVariable        kDistantEnvironmentSendMethodXML                        ; // 1.9.2.0
            const AIVariable        kDistantEnvironmentSendMethodPOST                       ; // 1.9.2.0
            const AIVariable        kOptionMeshSkinningMaxJointsPerVertex                   ; // 1.9.2.0
            const AIVariable        kOptionParticlesEnabled                                 ; // 1.9.2.0
            const AIVariable        kOptionBakeAnimations                                   ; // 1.9.2.0
            const AIVariable        kOptionMaxParticlesPerEmitter                           ; // 1.9.2.0

            ApplicationPackage                                      (    ):
            kStatusSaving                                           (  3 ),
            kStatusLoading                                          (  2 ),
            kStatusReady                                            (  0 ),
            kStatusNone                                             (  1 ),
            kOptionFullscreen                                       (  0 ),
            kOptionTexturesQuality                                  (  1 ),
            kOptionDynamicShadowsQuality                            (  2 ),
            kOptionSwapInterval                                     (  4 ),
            kOptionTerrainsQuality                                  (  9 ),
            kOptionNetworkStreams                                   ( 10 ),
            kOptionShadersQuality                                   ( 11 ),
            kOptionViewportRotation                                 ( 12 ),
            kOptionAutomaticVirtualKeyboard                         ( 13 ),
            kOptionFullscreenWidth                                  ( 14 ),
            kOptionFullscreenHeight                                 ( 15 ),
            kOptionDynamicShadowsBufferCount                        ( 16 ),
            kOptionDynamicShadowsBufferSize                         ( 17 ),
            kOptionDynamicShadowsScreenSpaceBlur                    ( 18 ),
            kOptionDynamicShadowsPCFSampleCount                     ( 19 ),
            kOptionDynamicShadowsConstantSampling                   ( 20 ),
            kOptionHardwareOcclusion                                ( 21 ),
            kOptionAudioMasterVolume                                ( 22 ),
            kOptionTexturesAnisotropyLevel                          ( 23 ),
            kOptionTexturesMipmapBias                               ( 24 ),
            kOptionRenderingEnabled                                 ( 25 ),
            kOptionNetworkStreamsUseBrowser                         ( 26 ),
            kOptionMaxEventBouncesPerFrame                          ( 27 ),
            kOptionPrioritizeEventBounces                           ( 28 ),
            kResourceTypeAnimBank                                   ( 10 ),
            kResourceTypeFont                                       (  4 ),
            kResourceTypeHUD                                        ( 19 ),
            kResourceTypeMaterial                                   (  3 ),
            kResourceTypeMesh                                       (  2 ),
            kResourceTypeParticle                                   ( 14 ),
            kResourceTypePixelMap                                   ( 24 ),
            kResourceTypeSoundBank                                  ( 18 ),
            kResourceTypeTexture                                    (  1 ),
            kResourceTypeTextureClip                                ( 17 ),
            kResourceTypeTrail                                      ( 20 ),
            kOptionMaxLightmapSize                                  ( 33 ), // 1.9.0.4
            kOptionStereoscopic3DMode                               ( 30 ), // 1.9.0.4
            kOptionStereoscopic3DSeparation                         ( 31 ), // 1.9.0.4
            kOptionStereoscopic3DConvergence                        ( 32 ), // 1.9.0.4
            kOptionUseSoftParticles                                 ( 34 ), // 1.9.0.5
            kOptionUseAntialiasingFilter                            ( 35 ), // 1.9.0.9
            kPropertyWidth                                          (  1 ), // 1.9.0.9
            kPropertyHeight                                         (  2 ), // 1.9.0.9
            kOptionDynamicShadowsDepthBias                          ( 36 ), // 1.9.0.9
            kOptionDynamicShadowsScreenSpaceBlurPassCount           ( 37 ), // 1.9.0.9
            kOptionDynamicShadowsScreenSpaceBlurBufferDownScaleU    ( 38 ), // 1.9.0.9
            kOptionDynamicShadowsScreenSpaceBlurBufferDownScaleV    ( 39 ), // 1.9.0.9
            kOptionUseAutomaticRuntimeBatching                      ( 40 ), // 1.9.0.9
            kResourceTypeAIModel                                    (  8 ), // 1.9.0.9
            kStereoscopic3DModeNone                                 (  0 ), // 1.9.0.9
            kStereoscopic3DModeSideBySide                           (  1 ), // 1.9.0.9
            kStereoscopic3DModeOverUnder                            (  2 ), // 1.9.0.9
            kStereoscopic3DModeRowInterleaved                       (  3 ), // 1.9.0.9
            kStereoscopic3DModeColumnInterleaved                    (  4 ), // 1.9.0.9
            kResourceTypeMovie                                      ( 16 ), // 1.9.0.9
            kOptionUseSlopeScaleDepthBias                           ( 41 ), // 1.9.0.9
            kResourceTypeXML                                        (  6 ), // 1.9.0.9
            kOptionCheckCachedPackFilesIntegrity                    ( 42 ), // 1.9.1.1
            kOptionUseOffscreenRendering                            ( 46 ), // 1.9.1.1
            kOptionOffscreenRenderingBufferWidth                    ( 47 ), // 1.9.1.1
            kOptionOffscreenRenderingBufferHeight                   ( 48 ), // 1.9.1.1
            kOptionOffscreenRenderingBlitToScreen                   ( 49 ), // 1.9.1.1
            kOptionDynamicLightingMaxVertexLightsPerPass            ( 43 ), // 1.9.1.1
            kOptionDynamicLightingMaxPixelLightsPerPass             ( 44 ), // 1.9.1.1
            kOptionUseLowResolutionParticles                        ( 45 ), // 1.9.1.1
            kOptionMaxDynamicFontSize                               ( 50 ), // 1.9.1.1
            kOptionParticlesRotationEnabled                         ( 51 ), // 1.9.1.1
            kOptionHomeButtonMenuAllowed                            ( 52 ), // 1.9.2.0
            kOptionMaxJoypadsAllowed                                ( 53 ), // 1.9.2.0
            kOptionNativeStringPoolSize                             ( 54 ), // 1.9.2.0
            kOptionAudioSpatializationEnabled                       ( 55 ), // 1.9.2.0
            kOptionNetworkSocketTimeout                             ( 56 ), // 1.9.2.0
            kOptionDistantEnvironmentSendMethod                     ( 57 ), // 1.9.2.0
            kDistantEnvironmentSendMethodXML                        (  0 ), // 1.9.2.0
            kDistantEnvironmentSendMethodPOST                       (  1 ), // 1.9.2.0
            kOptionMeshSkinningMaxJointsPerVertex                   ( 59 ), // 1.9.2.0
            kOptionParticlesEnabled                                 ( 60 ), // 1.9.2.0
            kOptionBakeAnimations                                   ( 61 ), // 1.9.2.0
            kOptionMaxParticlesPerEmitter                           ( 62 )  // 1.9.2.0
            { }

            // Functions
            //
            inline AIVariable       getName                                             ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getName ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getPackDirectory                                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getPackDirectory ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getUserCount                                        ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getUserCount ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getUserAt                                           ( const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_01( nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getUserAt ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getUser                                             ( const AIVariable& nID ) const { S3DX_DECLARE_VIN_01( nID ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getUser ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createUser                                          ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.createUser ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             destroyUser                                         ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.destroyUser ( 1, vIn, NULL ) ; }
            inline AIVariable       getCurrentUser                                      ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUser ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserScene                                 ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserScene ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserSceneName                             ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserSceneName ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       setCurrentUserScene                                 ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setCurrentUserScene ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setCurrentUserScene                                 ( const AIVariable& sName, const AIVariable& sStreamingURL ) const { S3DX_DECLARE_VIN_02( sName, sStreamingURL ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setCurrentUserScene ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserSceneTaggedObject                     ( const AIVariable& sObjectTag ) const { S3DX_DECLARE_VIN_01( sObjectTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserSceneTaggedObject ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserAIVariable                            ( const AIVariable& sAIModel, const AIVariable& sVariable ) const { S3DX_DECLARE_VIN_02( sAIModel, sVariable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserAIVariable ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setCurrentUserAIVariable                            ( const AIVariable& sAIModel, const AIVariable& sVariable, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_03( sAIModel, sVariable, vValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setCurrentUserAIVariable ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserAIState                               ( const AIVariable& sAIModel ) const { S3DX_DECLARE_VIN_01( sAIModel ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserAIState ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       playOverlayExternalMovie                            ( const AIVariable& sPath ) const { S3DX_DECLARE_VIN_01( sPath ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.playOverlayExternalMovie ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       playOverlayMovie                                    ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.playOverlayMovie ( 1, vIn, &vOut ) ; return vOut ; } 
            inline void             stopOverlayMovie                                    ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->application.stopOverlayMovie ( 0, NULL, NULL ) ; }
            inline AIVariable       isOverlayMoviePlaying                               ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.isOverlayMoviePlaying ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       startCurrentUserScenePreloading                     ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.startCurrentUserScenePreloading ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       startCurrentUserScenePreloading                     ( const AIVariable& sName, const AIVariable& tAdditionalModelsNames ) const { S3DX_DECLARE_VIN_02( sName, tAdditionalModelsNames ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.startCurrentUserScenePreloading ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       startCurrentUserScenePreloading                     ( const AIVariable& sName, const AIVariable& tAdditionalModelsNames, const AIVariable& nMaxFilesPerFrame ) const { S3DX_DECLARE_VIN_03( sName, tAdditionalModelsNames, nMaxFilesPerFrame ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.startCurrentUserScenePreloading ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserScenePreloadingStatus                 ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserScenePreloadingStatus ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             forceModelToStayLoaded                              ( const AIVariable& sModelName, const AIVariable& bForce ) const { S3DX_DECLARE_VIN_02( sModelName, bForce ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.forceModelToStayLoaded ( 2, vIn, NULL ) ; }
            inline void             forceResourceToStayLoaded                           ( const AIVariable& sResourceName, const AIVariable& kResourceType, const AIVariable& bForce ) const { S3DX_DECLARE_VIN_03( sResourceName, kResourceType, bForce ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.forceResourceToStayLoaded ( 3, vIn, NULL ) ; }
            inline AIVariable       isModelLoaded                                       ( const AIVariable& sModelName ) const { S3DX_DECLARE_VIN_01( sModelName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.isModelLoaded ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isResourceLoaded                                    ( const AIVariable& sResourceName, const AIVariable& kResourceType ) const { S3DX_DECLARE_VIN_02( sResourceName, kResourceType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.isResourceLoaded ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isModelReferenced                                   ( const AIVariable& sModelName ) const { S3DX_DECLARE_VIN_01( sModelName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.isModelReferenced ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isResourceReferenced                                ( const AIVariable& sResourceName, const AIVariable& kResourceType ) const { S3DX_DECLARE_VIN_02( sResourceName, kResourceType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.isResourceReferenced ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getResourceProperty                                 ( const AIVariable& sResourceName, const AIVariable& kResourceType, const AIVariable& kProperty ) const { S3DX_DECLARE_VIN_03( sResourceName, kResourceType, kProperty ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getResourceProperty ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserMainCamera                            ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserMainCamera ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserActiveCamera                          ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserActiveCamera ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             setCurrentUserActiveCamera                          ( const AIVariable& hCamera ) const { S3DX_DECLARE_VIN_01( hCamera ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setCurrentUserActiveCamera ( 1, vIn, NULL ) ; }
            inline void             resetCurrentUserActiveCamera                        ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->application.resetCurrentUserActiveCamera ( 0, NULL, NULL ) ; }
            inline AIVariable       getCurrentUserViewportAspectRatio                   ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserViewportAspectRatio ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserViewportWidth                         ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserViewportWidth ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserViewportHeight                        ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserViewportHeight ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       saveCurrentUserViewportToTexture                    ( const AIVariable& sTextureName, const AIVariable& nWidth, const AIVariable& nHeight ) const { S3DX_DECLARE_VIN_03( sTextureName, nWidth, nHeight ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.saveCurrentUserViewportToTexture ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserEnvironmentVariableCount              ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserEnvironmentVariableCount ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserEnvironmentVariableNameAt             ( const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_01( nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserEnvironmentVariableNameAt ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCurrentUserEnvironmentVariable                   ( const AIVariable& sName, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_02( sName, vValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setCurrentUserEnvironmentVariable ( 2, vIn, NULL ) ; }
            inline AIVariable       getCurrentUserEnvironmentVariable                   ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserEnvironmentVariable ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             unsetCurrentUserEnvironmentVariable                 ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.unsetCurrentUserEnvironmentVariable ( 1, vIn, NULL ) ; }
            inline void             clearCurrentUserEnvironment                         ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->application.clearCurrentUserEnvironment ( 0, NULL, NULL ) ; }
            inline AIVariable       saveCurrentUserEnvironment                          ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.saveCurrentUserEnvironment ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             setCurrentUserEnvironmentName                       ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setCurrentUserEnvironmentName ( 1, vIn, NULL ) ; }
            inline AIVariable       getCurrentUserEnvironmentName                       ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserEnvironmentName ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             setCurrentUserEnvironmentTitle                      ( const AIVariable& sTitle ) const { S3DX_DECLARE_VIN_01( sTitle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setCurrentUserEnvironmentTitle ( 1, vIn, NULL ) ; }
            inline void             setCurrentUserEnvironmentDescription                ( const AIVariable& sDescription ) const { S3DX_DECLARE_VIN_01( sDescription ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setCurrentUserEnvironmentDescription ( 1, vIn, NULL ) ; }
            inline AIVariable       loadCurrentUserEnvironment                          ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.loadCurrentUserEnvironment ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentUserEnvironmentVariableStatus             ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserEnvironmentVariableStatus ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             saveCurrentUserEnvironmentVariable                  ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.saveCurrentUserEnvironmentVariable ( 1, vIn, NULL ) ; }
            inline void             loadCurrentUserEnvironmentVariable                  ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.loadCurrentUserEnvironmentVariable ( 1, vIn, NULL ) ; }
            inline void             setCurrentUserEnvironmentURL                        ( const AIVariable& sURL ) const { S3DX_DECLARE_VIN_01( sURL ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setCurrentUserEnvironmentURL ( 1, vIn, NULL ) ; }
            inline AIVariable       getCurrentUserEnvironmentURL                        ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getCurrentUserEnvironmentURL ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       checkCurrentUserEnvironmentLocalStorageDevice       ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.checkCurrentUserEnvironmentLocalStorageDevice ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             closeCurrentUserEnvironmentLocalStorageDevice       ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->application.closeCurrentUserEnvironmentLocalStorageDevice ( 0, NULL, NULL ) ; }
            inline AIVariable       checkCurrentUserEnvironmentLocalStorageSpace        ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.checkCurrentUserEnvironmentLocalStorageSpace ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       checkCurrentUserEnvironmentLocalStorageWriteAccess  ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.checkCurrentUserEnvironmentLocalStorageWriteAccess ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       checkCurrentUserEnvironmentLocalStorageExistence    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.checkCurrentUserEnvironmentLocalStorageExistence ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       checkCurrentUserEnvironmentLocalStorageValidity     ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.checkCurrentUserEnvironmentLocalStorageValidity ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLastFrameTime                                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getLastFrameTime ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getAverageFrameTime                                 ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getAverageFrameTime ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             setMinFrameTime                                     ( const AIVariable& nTime ) const { S3DX_DECLARE_VIN_01( nTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setMinFrameTime ( 1, vIn, NULL ) ; }
            inline void             setMaxFrameTime                                     ( const AIVariable& nTime ) const { S3DX_DECLARE_VIN_01( nTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setMaxFrameTime ( 1, vIn, NULL ) ; }
            inline AIVariable       getTotalFrameTime                                   ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getTotalFrameTime ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             resetTotalFrameTime                                 ( const AIVariable& nInitialTime ) const { S3DX_DECLARE_VIN_01( nInitialTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.resetTotalFrameTime ( 1, vIn, NULL ) ; }
            inline void             resetAverageFrameTime                               ( const AIVariable& nSampleCount ) const { S3DX_DECLARE_VIN_01( nSampleCount ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.resetAverageFrameTime ( 1, vIn, NULL ) ; }
            inline void             setFrameTimeFactor                                  ( const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_01( nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setFrameTimeFactor ( 1, vIn, NULL ) ; }
            inline AIVariable       getFrameTimeFactor                                  ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getFrameTimeFactor ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             setOption                                           ( const AIVariable& kOption, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( kOption, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setOption ( 2, vIn, NULL ) ; }
            inline AIVariable       getOption                                           ( const AIVariable& kOption ) const { S3DX_DECLARE_VIN_01( kOption ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getOption ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             restart                                             ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->application.restart ( 0, NULL, NULL ) ; }
            inline void             restart                                             ( const AIVariable& sDataProfileName ) const { S3DX_DECLARE_VIN_01( sDataProfileName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.restart ( 1, vIn, NULL ) ; }
            inline void             quit                                                ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->application.quit ( 0, NULL, NULL ) ; }
            inline void             quit                                                ( const AIVariable& kCode ) const { S3DX_DECLARE_VIN_01( kCode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.quit ( 1, vIn, NULL ) ; }
            inline AIVariable       mightBeCracked                                      ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.mightBeCracked ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             flushAIEvents                                       ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->application.flushAIEvents ( 0, NULL, NULL ) ; }
            inline AIVariable       getUniqueIdentifier                                 ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getUniqueIdentifier ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLoadedModelCount                                 ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getLoadedModelCount ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLoadedResourceCount                              ( const AIVariable& kResourceType ) const { S3DX_DECLARE_VIN_01( kResourceType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getLoadedResourceCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isPluginRegistered                                  ( const AIVariable& sPluginName ) const { S3DX_DECLARE_VIN_01( sPluginName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.isPluginRegistered ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setAudioListenerObject                              ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setAudioListenerObject ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAudioListenerObject                              ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getAudioListenerObject ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             setUseAverageFrameTime                              ( const AIVariable& bUse ) const { S3DX_DECLARE_VIN_01( bUse ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.setUseAverageFrameTime ( 1, vIn, NULL ) ; }
            inline AIVariable       getUseAverageFrameTime                              ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->application.getUseAverageFrameTime ( 0, NULL, &vOut ) ; return vOut ; }
        } ;

        struct CachePackage
        {
            // Constants
            //
            const AIVariable        kPropertyWidth  ;
            const AIVariable        kPropertyHeight ;
            const AIVariable        kPropertySize   ;

            CachePackage            (   ):
            kPropertyWidth          ( 1 ),
            kPropertyHeight         ( 2 ),
            kPropertySize           ( 6 )
            { }

            // Functions
            //
            inline void             addFile                                             ( const AIVariable& sFileName, const AIVariable& sFileURI ) const { S3DX_DECLARE_VIN_02( sFileName, sFileURI ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.addFile ( 2, vIn, NULL ) ; }
            inline void             addFile                                             ( const AIVariable& sFileName, const AIVariable& sFileURI, const AIVariable& sOptionalHeader ) const { S3DX_DECLARE_VIN_03( sFileName, sFileURI, sOptionalHeader ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.addFile ( 3, vIn, NULL ) ; }
            inline void             addStreamFile                                       ( const AIVariable& sFileName, const AIVariable& sFileURI ) const { S3DX_DECLARE_VIN_02( sFileName, sFileURI ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.addStreamFile ( 2, vIn, NULL ) ; }
            inline AIVariable       getFileStatus                                       ( const AIVariable& sFileName ) const { S3DX_DECLARE_VIN_01( sFileName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.getFileStatus ( 1, vIn, &vOut ) ; return vOut ; } // Deprecated
            inline void             pauseFileReceiving                                  ( const AIVariable& sFileName ) const { S3DX_DECLARE_VIN_01( sFileName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.pauseFileReceiving ( 1, vIn, NULL ) ; }
            inline void             resumeFileReceiving                                 ( const AIVariable& sFileName ) const { S3DX_DECLARE_VIN_01( sFileName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.resumeFileReceiving ( 1, vIn, NULL ) ; }
            inline void             cancelFileReceiving                                 ( const AIVariable& sFileName ) const { S3DX_DECLARE_VIN_01( sFileName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.cancelFileReceiving ( 1, vIn, NULL ) ; }
            inline AIVariable       sendFile                                            ( const AIVariable& sFileName, const AIVariable& sFileURI ) const { S3DX_DECLARE_VIN_02( sFileName, sFileURI ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.sendFile ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getFileSendStatus                                   ( const AIVariable& sFileName ) const { S3DX_DECLARE_VIN_01( sFileName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.getFileSendStatus ( 1, vIn, &vOut ) ; return vOut ; } // Deprecated
            inline void             removeFile                                          ( const AIVariable& sFileName ) const { S3DX_DECLARE_VIN_01( sFileName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.removeFile ( 1, vIn, NULL ) ; }
            inline AIVariable       getFileProperty                                     ( const AIVariable& sFileName, const AIVariable& kProperty ) const { S3DX_DECLARE_VIN_02( sFileName, kProperty ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.getFileProperty ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getFileContentAsString                              ( const AIVariable& sFileName ) const { S3DX_DECLARE_VIN_01( sFileName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.getFileContentAsString ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       copyFileContent                                     ( const AIVariable& sFileName, const AIVariable& hBuffer ) const { S3DX_DECLARE_VIN_02( sFileName, hBuffer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.copyFileContent ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createFile                                          ( const AIVariable& sFileName, const AIVariable& hBuffer, const AIVariable& nBufferSize ) const { S3DX_DECLARE_VIN_03( sFileName, hBuffer, nBufferSize ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.createFile ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             empty                                               ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->cache.empty ( 0, NULL, NULL ) ; }
        } ;

        struct CameraPackage
        {
            // Constants
            //
            const AIVariable        kMapTypeUnknown         ;
            const AIVariable        kMapTypeTexture         ;
            const AIVariable        kMapTypePixelMap        ;
            const AIVariable        kAddressingModeClamp    ; // 1.9.0.6
            const AIVariable        kAddressingModeRepeat   ; // 1.9.0.6

            CameraPackage           (   ):
            kMapTypeUnknown         ( 0 ),
            kMapTypeTexture         ( 1 ),
            kMapTypePixelMap        ( 5 ),
            kAddressingModeClamp    ( 1 ),  // 1.9.0.6
            kAddressingModeRepeat   ( 0 )   // 1.9.0.6
            { }

            // Functions
            //
            inline void             setFieldOfView                                      ( const AIVariable& hObject, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_02( hObject, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setFieldOfView ( 2, vIn, NULL ) ; }
            inline AIVariable       getFieldOfView                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getFieldOfView ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setMinViewDistance                                  ( const AIVariable& hObject, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hObject, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setMinViewDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getMinViewDistance                                  ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getMinViewDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setMaxViewDistance                                  ( const AIVariable& hObject, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hObject, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setMaxViewDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getMaxViewDistance                                  ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getMaxViewDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   projectPoint                                        ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z ) const { S3DX_DECLARE_VIN_04( hObject, x, y, z ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.projectPoint ( 4, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   unprojectPoint                                      ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z ) const { S3DX_DECLARE_VIN_04( hObject, x, y, z ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.unprojectPoint ( 4, vIn, vOut ) ; return vOut ; }
            inline AIVariable       isPointInFrustum                                    ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z ) const { S3DX_DECLARE_VIN_04( hObject, x, y, z ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.isPointInFrustum ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isSphereInFrustum                                   ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& nRadius ) const { S3DX_DECLARE_VIN_05( hObject, x, y, z, nRadius ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.isSphereInFrustum ( 5, vIn, &vOut ) ; return vOut ; }
            inline void             setAspectRatioScale                                 ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setAspectRatioScale ( 2, vIn, NULL ) ; }
            inline AIVariable       getAspectRatioScale                                 ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getAspectRatioScale ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setMotionBlurFactor                                 ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setMotionBlurFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getMotionBlurFactor                                 ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getMotionBlurFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setVelocityBlurFactor                               ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setVelocityBlurFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getVelocityBlurFactor                               ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getVelocityBlurFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDepthBlurFactor                                  ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDepthBlurFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getDepthBlurFactor                                  ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDepthBlurFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDepthBlurFocusRangeMin                           ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDepthBlurFocusRangeMin ( 2, vIn, NULL ) ; }
            inline AIVariable       getDepthBlurFocusRangeMin                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDepthBlurFocusRangeMin ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDepthBlurFocusRangeMax                           ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDepthBlurFocusRangeMax ( 2, vIn, NULL ) ; }
            inline AIVariable       getDepthBlurFocusRangeMax                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDepthBlurFocusRangeMax ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDistortionFactor                                 ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getDistortionFactor                                 ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDistortionAmplitude                              ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionAmplitude ( 2, vIn, NULL ) ; }
            inline AIVariable       getDistortionAmplitude                              ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionAmplitude ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDistortionFrequency                              ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionFrequency ( 2, vIn, NULL ) ; }
            inline AIVariable       getDistortionFrequency                              ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionFrequency ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDistortionTiling                                 ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionTiling ( 2, vIn, NULL ) ; }
            inline AIVariable       getDistortionTiling                                 ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionTiling ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDistortionMapFactor                              ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionMapFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getDistortionMapFactor                              ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionMapFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDistortionMapAmplitude                           ( const AIVariable& hObject, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hObject, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionMapAmplitude ( 2, vIn, NULL ) ; }
            inline AIVariable       getDistortionMapAmplitude                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionMapAmplitude ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDistortionMapUVOffset                            ( const AIVariable& hObject, const AIVariable& u, const AIVariable& v ) const { S3DX_DECLARE_VIN_03( hObject, u, v ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionMapUVOffset ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getDistortionMapUVOffset                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionMapUVOffset ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setDistortionMapUVScale                             ( const AIVariable& hObject, const AIVariable& u, const AIVariable& v ) const { S3DX_DECLARE_VIN_03( hObject, u, v ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionMapUVScale ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getDistortionMapUVScale                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionMapUVScale ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setDistortionMapAddressingMode                      ( const AIVariable& hObject, const AIVariable& kAddressingModeU, const AIVariable& kAddressingModeV ) const { S3DX_DECLARE_VIN_03( hObject, kAddressingModeU, kAddressingModeV ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionMapAddressingMode ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getDistortionMapAddressingMode                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionMapAddressingMode ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setDistortionMap                                    ( const AIVariable& hObject, const AIVariable& sMapName, const AIVariable& kMapType ) const { S3DX_DECLARE_VIN_03( hObject, sMapName, kMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionMap ( 3, vIn, NULL ) ; }
            inline AIVariable       createDistortionMesh                                ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.createDistortionMesh ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getDistortionMesh                                   ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getDistortionMesh ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableDistortionMesh                                ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.enableDistortionMesh ( 2, vIn, NULL ) ; }
            inline void             setDistortionMeshClearFlag                          ( const AIVariable& hObject, const AIVariable& bClear ) const { S3DX_DECLARE_VIN_02( hObject, bClear ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionMeshClearFlag ( 2, vIn, NULL ) ; }
            inline void             setDistortionMeshClearColor                         ( const AIVariable& hObject, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue ) const { S3DX_DECLARE_VIN_04( hObject, nRed, nGreen, nBlue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setDistortionMeshClearColor ( 4, vIn, NULL ) ; }
            inline void             setFrustumMargins                                   ( const AIVariable& hObject, const AIVariable& nLeft, const AIVariable& nRight, const AIVariable& nTop, const AIVariable& nBottom ) const { S3DX_DECLARE_VIN_05( hObject, nLeft, nRight, nTop, nBottom ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setFrustumMargins ( 5, vIn, NULL ) ; }
            inline void             setRenderMap                                        ( const AIVariable& hObject, const AIVariable& sRenderMap ) const { S3DX_DECLARE_VIN_02( hObject, sRenderMap ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.setRenderMap ( 2, vIn, NULL ) ; }
            inline AIVariable       getRenderMapName                                    ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->camera.getRenderMapName ( 1, vIn, &vOut ) ; return vOut ; }
        } ;

        struct ColliderPackage
        {
            // Constants
            //


            // Functions
            //
            inline AIVariable       create                                              ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->collider.create ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             destroy                                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->collider.destroy ( 1, vIn, NULL ) ; }
            inline void             setAlwaysDisabled                                   ( const AIVariable& hObject, const AIVariable& bSet ) const { S3DX_DECLARE_VIN_02( hObject, bSet ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->collider.setAlwaysDisabled ( 2, vIn, NULL ) ; }
            inline AIVariable       isAlwaysDisabled                                    ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->collider.isAlwaysDisabled ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDisabledWhenObjectInactive                       ( const AIVariable& hObject, const AIVariable& bSet ) const { S3DX_DECLARE_VIN_02( hObject, bSet ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->collider.setDisabledWhenObjectInactive ( 2, vIn, NULL ) ; }
            inline AIVariable       isDisabledWhenObjectInactive                        ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->collider.isDisabledWhenObjectInactive ( 1, vIn, &vOut ) ; return vOut ; }
        } ;

        struct DebugPackage
        {
            // Constants
            //
            const AIVariable        kDisplayFilterOcclusionVolumes  ;

            DebugPackage                    (   ):
            kDisplayFilterOcclusionVolumes  ( 1 )
            { }

            // Functions
            //
            inline void             drawLine                                            ( const AIVariable& x1, const AIVariable& y1, const AIVariable& z1, const AIVariable& x2, const AIVariable& y2, const AIVariable& z2, const AIVariable& r, const AIVariable& g, const AIVariable& b, const AIVariable& a ) const { S3DX_DECLARE_VIN_10( x1, y1, z1, x2, y2, z2, r, g, b, a ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.drawLine ( 10, vIn, NULL ) ; }
            inline AIVariable       getTotalMemoryUsed                                  ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getTotalMemoryUsed ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLastFrameTotalDrawCalls                          ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getLastFrameTotalDrawCalls ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLastFrameTotalTriangles                          ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getLastFrameTotalTriangles ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLastFrameTotalVertices                           ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getLastFrameTotalVertices ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getFailedToCompileShaderList                        ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getFailedToCompileShaderList ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCompiledShaderList                               ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getCompiledShaderList ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLastFrameTotalCompiledShaders                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getLastFrameTotalCompiledShaders ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLastFrameTotalLinkedShaders                      ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getLastFrameTotalLinkedShaders ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLastFrameTotalShaderCompileTime                  ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getLastFrameTotalShaderCompileTime ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLastFrameTotalShaderLinkTime                     ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getLastFrameTotalShaderLinkTime ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getEstimatedShaderVariations                        ( const AIVariable& sList ) const { S3DX_DECLARE_VIN_01( sList ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.getEstimatedShaderVariations ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             compileShaderList                                   ( const AIVariable& sList ) const { S3DX_DECLARE_VIN_01( sList ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.compileShaderList ( 1, vIn, NULL ) ; }
            inline void             dumpLoadedModels                                    ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.dumpLoadedModels ( 0, NULL, NULL ) ; }
            inline void             dumpLoadedResources                                 ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.dumpLoadedResources ( 0, NULL, NULL ) ; }
            inline void             setDisplayFilter                                    ( const AIVariable& kFilter, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( kFilter, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->debug.setDisplayFilter ( 2, vIn, NULL ) ; }
       } ;

        struct DynamicsPackage
        {
            // Constants
            //
            const AIVariable        kTypeSphere     ;
            const AIVariable        kTypeBox        ;
            const AIVariable        kTypeCapsule    ;
            const AIVariable        kAxisX          ;
            const AIVariable        kAxisY          ;
            const AIVariable        kAxisZ          ;

            DynamicsPackage         (   ):
            kTypeSphere             ( 1 ),
            kTypeBox                ( 2 ),
            kTypeCapsule            ( 3 ),
            kAxisX                  ( 0 ),
            kAxisY                  ( 1 ),
            kAxisZ                  ( 2 )
            { }

            // Functions
            //
            inline AIVariable       getBodyType                                         ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getBodyType ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createSphereBody                                    ( const AIVariable& hObject, const AIVariable& nRadius ) const { S3DX_DECLARE_VIN_02( hObject, nRadius ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.createSphereBody ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createBoxBody                                       ( const AIVariable& hObject, const AIVariable& nSx, const AIVariable& nSy, const AIVariable& nSz ) const { S3DX_DECLARE_VIN_04( hObject, nSx, nSy, nSz ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.createBoxBody ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createCapsuleBody                                   ( const AIVariable& hObject, const AIVariable& nRadius, const AIVariable& nLength, const AIVariable& kAxis ) const { S3DX_DECLARE_VIN_04( hObject, nRadius, nLength, kAxis ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.createCapsuleBody ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createCompositeBody                                 ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.createCompositeBody ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       addCompositeBodySphereGeometry                      ( const AIVariable& hObject, const AIVariable& nRadius, const AIVariable& nOx, const AIVariable& nOy, const AIVariable& nOz ) const { S3DX_DECLARE_VIN_05( hObject, nRadius, nOx, nOy, nOz ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.addCompositeBodySphereGeometry ( 5, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       addCompositeBodyBoxGeometry                         ( const AIVariable& hObject, const AIVariable& nSx, const AIVariable& nSy, const AIVariable& nSz, const AIVariable& nOx, const AIVariable& nOy, const AIVariable& nOz )  { S3DX_DECLARE_VIN_07( hObject, nSx, nSy, nSz, nOx, nOy, nOz ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.addCompositeBodyBoxGeometry ( 7, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       addCompositeBodyCapsuleGeometry                     ( const AIVariable& hObject, const AIVariable& nRadius, const AIVariable& nLength, const AIVariable& kAxis, const AIVariable& nOx, const AIVariable& nOy, const AIVariable& nOz ) const { S3DX_DECLARE_VIN_07( hObject, nRadius, nLength, kAxis, nOx, nOy, nOz ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.addCompositeBodyCapsuleGeometry ( 7, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       finalizeCompositeBody                               ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.finalizeCompositeBody ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             destroyBody                                         ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.destroyBody ( 1, vIn, NULL ) ; }
            inline void             setOffset                                           ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z ) const { S3DX_DECLARE_VIN_04( hObject, x, y, z ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setOffset ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getOffset                                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getOffset ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setMass                                             ( const AIVariable& hObject, const AIVariable& nMass ) const { S3DX_DECLARE_VIN_02( hObject, nMass ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setMass ( 2, vIn, NULL ) ; }
            inline AIVariable       getMass                                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getMass ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setKinematic                                        ( const AIVariable& hObject, const AIVariable& bKinematic ) const { S3DX_DECLARE_VIN_02( hObject, bKinematic ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setKinematic ( 2, vIn, NULL ) ; }
            inline AIVariable       isKinematic                                         ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.isKinematic ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setFriction                                         ( const AIVariable& hObject, const AIVariable& nCoef ) const { S3DX_DECLARE_VIN_02( hObject, nCoef ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setFriction ( 2, vIn, NULL ) ; }
            inline AIVariable       getFriction                                         ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getFriction ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setBounce                                           ( const AIVariable& hObject, const AIVariable& nCoef ) const { S3DX_DECLARE_VIN_02( hObject, nCoef ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setBounce ( 2, vIn, NULL ) ; }
            inline AIVariable       getBounce                                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getBounce ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setBounceThreshold                                  ( const AIVariable& hObject, const AIVariable& nThreshold ) const { S3DX_DECLARE_VIN_02( hObject, nThreshold ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setBounceThreshold ( 2, vIn, NULL ) ; }
            inline AIVariable       getBounceThreshold                                  ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getBounceThreshold ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLinearDamping                                    ( const AIVariable& hObject, const AIVariable& nCoef ) const { S3DX_DECLARE_VIN_02( hObject, nCoef ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setLinearDamping ( 2, vIn, NULL ) ; }
            inline void             setLinearDampingEx                                  ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z ) const { S3DX_DECLARE_VIN_04( hObject, x, y, z ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setLinearDampingEx ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getLinearDamping                                    ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getLinearDamping ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setAngularDamping                                   ( const AIVariable& hObject, const AIVariable& nCoef ) const { S3DX_DECLARE_VIN_02( hObject, nCoef ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setAngularDamping ( 2, vIn, NULL ) ; }
            inline void             setAngularDampingEx                                 ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z ) const { S3DX_DECLARE_VIN_04( hObject, x, y, z ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setAngularDampingEx ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getAngularDamping                                   ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getAngularDamping ( 1, vIn, vOut ) ; return vOut ; }
            inline void             addForce                                            ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.addForce ( 5, vIn, NULL ) ; }
            inline void             addTorque                                           ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.addTorque ( 5, vIn, NULL ) ; }
            inline void             addLinearImpulse                                    ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.addLinearImpulse ( 5, vIn, NULL ) ; }
            inline void             addAngularImpulse                                   ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.addAngularImpulse ( 5, vIn, NULL ) ; }
            inline AIVariables<3>   getAngularVelocity                                  ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getAngularVelocity ( 2, vIn, vOut ) ; return vOut ; }
            inline void             setAngularVelocity                                  ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setAngularVelocity ( 5, vIn, NULL ) ; }
            inline void             setAngularSpeedLimit                                ( const AIVariable& hObject, const AIVariable& nLimit ) const { S3DX_DECLARE_VIN_02( hObject, nLimit ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setAngularSpeedLimit ( 2, vIn, NULL ) ; }
            inline AIVariable       getAngularSpeedLimit                                ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getAngularSpeedLimit ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getLinearVelocity                                   ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getLinearVelocity ( 2, vIn, vOut ) ; return vOut ; }
            inline void             setLinearVelocity                                   ( const AIVariable& hObject, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setLinearVelocity ( 5, vIn, NULL ) ; }
            inline AIVariable       getLinearSpeed                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getLinearSpeed ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLinearSpeedLimit                                 ( const AIVariable& hObject, const AIVariable& nLimit ) const { S3DX_DECLARE_VIN_02( hObject, nLimit ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setLinearSpeedLimit ( 2, vIn, NULL ) ; }
            inline AIVariable       getLinearSpeedLimit                                 ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getLinearSpeedLimit ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setGuardBox                                         ( const AIVariable& hObject, const AIVariable& xmin, const AIVariable& ymin, const AIVariable& zmin, const AIVariable& xmax, const AIVariable& ymax, const AIVariable& zmax ) const { S3DX_DECLARE_VIN_07( hObject, xmin, ymin, zmin, xmax, ymax, zmax ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setGuardBox ( 7, vIn, NULL ) ; }
            inline void             enableDynamics                                      ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.enableDynamics ( 2, vIn, NULL ) ; }
            inline void             enableCollisions                                    ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.enableCollisions ( 2, vIn, NULL ) ; }
            inline void             enableRotations                                     ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.enableRotations ( 2, vIn, NULL ) ; }
            inline void             enableGuardBox                                      ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.enableGuardBox ( 2, vIn, NULL ) ; }
            inline void             enableGravity                                       ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.enableGravity ( 2, vIn, NULL ) ; }
            inline void             enableAutoIdle                                      ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.enableAutoIdle ( 2, vIn, NULL ) ; }
            inline void             setAutoIdleLinearThreshold                          ( const AIVariable& hObject, const AIVariable& nThreshold ) const { S3DX_DECLARE_VIN_02( hObject, nThreshold ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setAutoIdleLinearThreshold ( 2, vIn, NULL ) ; }
            inline void             setAutoIdleAngularThreshold                         ( const AIVariable& hObject, const AIVariable& nThreshold ) const { S3DX_DECLARE_VIN_02( hObject, nThreshold ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setAutoIdleAngularThreshold ( 2, vIn, NULL ) ; }
            inline void             setAutoIdleTime                                     ( const AIVariable& hObject, const AIVariable& nTime ) const { S3DX_DECLARE_VIN_02( hObject, nTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setAutoIdleTime ( 2, vIn, NULL ) ; }
            inline void             setIdle                                             ( const AIVariable& hObject, const AIVariable& bIdle ) const { S3DX_DECLARE_VIN_02( hObject, bIdle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setIdle ( 2, vIn, NULL ) ; }
            inline AIVariable       isIdle                                              ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.isIdle ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getLastCollisionTime                                ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getLastCollisionTime ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getLastCollisionContactCount                        ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getLastCollisionContactCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getLastCollisionContactPositionAt                   ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getLastCollisionContactPositionAt ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getLastCollisionContactNormalAt                     ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getLastCollisionContactNormalAt ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getLastCollisionContactObjectAt                     ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getLastCollisionContactObjectAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createBallJoint                                     ( const AIVariable& hObject, const AIVariable& hOtherObject, const AIVariable& sJointName ) const { S3DX_DECLARE_VIN_03( hObject, hOtherObject, sJointName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.createBallJoint ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createSliderJoint                                   ( const AIVariable& hObject, const AIVariable& hOtherObject, const AIVariable& sJointName ) const { S3DX_DECLARE_VIN_03( hObject, hOtherObject, sJointName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.createSliderJoint ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createHingeJoint                                    ( const AIVariable& hObject, const AIVariable& hOtherObject, const AIVariable& sJointName ) const { S3DX_DECLARE_VIN_03( hObject, hOtherObject, sJointName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.createHingeJoint ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createHinge2Joint                                   ( const AIVariable& hObject, const AIVariable& hOtherObject, const AIVariable& sJointName ) const { S3DX_DECLARE_VIN_03( hObject, hOtherObject, sJointName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.createHinge2Joint ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createUniversalJoint                                ( const AIVariable& hObject, const AIVariable& hOtherObject, const AIVariable& sJointName ) const { S3DX_DECLARE_VIN_03( hObject, hOtherObject, sJointName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.createUniversalJoint ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             destroyJoint                                        ( const AIVariable& hObject, const AIVariable& sJointName ) const { S3DX_DECLARE_VIN_02( hObject, sJointName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.destroyJoint ( 2, vIn, NULL ) ; }
            inline void             setBallJointAnchor                                  ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setBallJointAnchor ( 6, vIn, NULL ) ; }
            inline void             setSliderJointAxis                                  ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setSliderJointAxis ( 6, vIn, NULL ) ; }
            inline void             setSliderJointAxisExtensionLimitMin                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setSliderJointAxisExtensionLimitMin ( 3, vIn, NULL ) ; }
            inline void             setSliderJointAxisExtensionLimitMax                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setSliderJointAxisExtensionLimitMax ( 3, vIn, NULL ) ; }
            inline void             setSliderJointAxisExtensionLimitERP                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setSliderJointAxisExtensionLimitERP ( 3, vIn, NULL ) ; }
            inline void             setSliderJointAxisExtensionLimitCFM                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setSliderJointAxisExtensionLimitCFM ( 3, vIn, NULL ) ; }
            inline void             setSliderJointAxisExtensionLimitBounce              ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setSliderJointAxisExtensionLimitBounce ( 3, vIn, NULL ) ; }
            inline void             setHingeJointAnchor                                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHingeJointAnchor ( 6, vIn, NULL ) ; }
            inline void             setHingeJointAxis                                   ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHingeJointAxis ( 6, vIn, NULL ) ; }
            inline void             setHingeJointAxisAngleLimitMin                      ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHingeJointAxisAngleLimitMin ( 3, vIn, NULL ) ; }
            inline void             setHingeJointAxisAngleLimitMax                      ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHingeJointAxisAngleLimitMax ( 3, vIn, NULL ) ; }
            inline void             setHingeJointAxisAngleLimitERP                      ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHingeJointAxisAngleLimitERP ( 3, vIn, NULL ) ; }
            inline void             setHingeJointAxisAngleLimitCFM                      ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHingeJointAxisAngleLimitCFM ( 3, vIn, NULL ) ; }
            inline void             setHinge2JointAnchor                                ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAnchor ( 6, vIn, NULL ) ; }
            inline void             setHinge2JointAxis1                                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis1 ( 6, vIn, NULL ) ; }
            inline void             setHinge2JointAxis2                                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis2 ( 6, vIn, NULL ) ; }
            inline void             setHinge2JointAxis1AngleLimitMin                    ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis1AngleLimitMin ( 3, vIn, NULL ) ; }
            inline void             setHinge2JointAxis1AngleLimitMax                    ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis1AngleLimitMax ( 3, vIn, NULL ) ; }
            inline void             setHinge2JointAxis1AngleLimitERP                    ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis1AngleLimitERP ( 3, vIn, NULL ) ; }
            inline void             setHinge2JointAxis1AngleLimitCFM                    ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis1AngleLimitCFM ( 3, vIn, NULL ) ; }
            inline void             setHinge2JointAxis2MotorSpeedLimit                  ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nSpeed ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nSpeed ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis2MotorSpeedLimit ( 3, vIn, NULL ) ; }
            inline void             setHinge2JointAxis2MotorAcceleration                ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nPower ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nPower ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis2MotorAcceleration ( 3, vIn, NULL ) ; }
            inline void             setHinge2JointAxis1SuspensionERP                    ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis1SuspensionERP ( 3, vIn, NULL ) ; }
            inline void             setHinge2JointAxis1SuspensionCFM                    ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setHinge2JointAxis1SuspensionCFM ( 3, vIn, NULL ) ; }
            inline void             setUniversalJointAnchor                             ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAnchor ( 6, vIn, NULL ) ; }
            inline void             setUniversalJointAxis1                              ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis1 ( 6, vIn, NULL ) ; }
            inline void             setUniversalJointAxis2                              ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, sJointName, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis2 ( 6, vIn, NULL ) ; }
            inline void             setUniversalJointAxis1AngleLimitMin                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis1AngleLimitMin ( 3, vIn, NULL ) ; }
            inline void             setUniversalJointAxis1AngleLimitMax                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis1AngleLimitMax ( 3, vIn, NULL ) ; }
            inline void             setUniversalJointAxis1AngleLimitERP                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis1AngleLimitERP ( 3, vIn, NULL ) ; }
            inline void             setUniversalJointAxis1AngleLimitCFM                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis1AngleLimitCFM ( 3, vIn, NULL ) ; }
            inline void             setUniversalJointAxis2AngleLimitMin                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis2AngleLimitMin ( 3, vIn, NULL ) ; }
            inline void             setUniversalJointAxis2AngleLimitMax                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis2AngleLimitMax ( 3, vIn, NULL ) ; }
            inline void             setUniversalJointAxis2AngleLimitERP                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis2AngleLimitERP ( 3, vIn, NULL ) ; }
            inline void             setUniversalJointAxis2AngleLimitCFM                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setUniversalJointAxis2AngleLimitCFM ( 3, vIn, NULL ) ; }
            inline void             setCollisionCategoryBit                             ( const AIVariable& hObject, const AIVariable& nBit, const AIVariable& bValue ) const { S3DX_DECLARE_VIN_03( hObject, nBit, bValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setCollisionCategoryBit ( 3, vIn, NULL ) ; }
            inline AIVariable       getCollisionCategoryBit                             ( const AIVariable& hObject, const AIVariable& nBit ) const { S3DX_DECLARE_VIN_02( hObject, nBit ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getCollisionCategoryBit ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setCollisionMaskBit                                 ( const AIVariable& hObject, const AIVariable& nBit, const AIVariable& bValue ) const { S3DX_DECLARE_VIN_03( hObject, nBit, bValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.setCollisionMaskBit ( 3, vIn, NULL ) ; }
            inline AIVariable       getCollisionMaskBit                                 ( const AIVariable& hObject, const AIVariable& nBit ) const { S3DX_DECLARE_VIN_02( hObject, nBit ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->dynamics.getCollisionMaskBit ( 2, vIn, &vOut ) ; return vOut ; }
        } ;

        struct GroupPackage
        {
            // Functions
            //
            inline AIVariable       getSubObjectCount                                   ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->group.getSubObjectCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSubObjectAt                                      ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->group.getSubObjectAt ( 2, vIn, &vOut ) ; return vOut ; }
        } ;

        struct HashtablePackage
        {
            // Functions
            //
            inline AIVariable       isEmpty                                             ( const AIVariable& hHashTable ) const { S3DX_DECLARE_VIN_01( hHashTable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.isEmpty ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSize                                             ( const AIVariable& hHashTable ) const { S3DX_DECLARE_VIN_01( hHashTable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.getSize ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       get                                                 ( const AIVariable& hHashTable, const AIVariable& sKey ) const { S3DX_DECLARE_VIN_02( hHashTable, sKey ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.get ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getIndex                                            ( const AIVariable& hHashTable, const AIVariable& sKey ) const { S3DX_DECLARE_VIN_02( hHashTable, sKey ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.getIndex ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAt                                               ( const AIVariable& hHashTable, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hHashTable, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.getAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getKeyAt                                            ( const AIVariable& hHashTable, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hHashTable, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.getKeyAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             set                                                 ( const AIVariable& hHashTable, const AIVariable& sKey, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_03( hHashTable, sKey, vValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.set ( 3, vIn, NULL ) ; }
            inline void             empty                                               ( const AIVariable& hHashTable ) const { S3DX_DECLARE_VIN_01( hHashTable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.empty ( 1, vIn, NULL ) ; }
            inline void             add                                                 ( const AIVariable& hHashTable, const AIVariable& sKey, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_03( hHashTable, sKey, vValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.add ( 3, vIn, NULL ) ; }
            inline void             remove                                              ( const AIVariable& hHashTable, const AIVariable& sKey ) const { S3DX_DECLARE_VIN_02( hHashTable, sKey ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.remove ( 2, vIn, NULL ) ; }
            inline AIVariable       contains                                            ( const AIVariable& hHashTable, const AIVariable& sKey ) const { S3DX_DECLARE_VIN_02( hHashTable, sKey ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.contains ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       newInstance                                         ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.newInstance ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             copy                                                ( const AIVariable& hHashTable, const AIVariable& hHashTableToCopy ) const { S3DX_DECLARE_VIN_02( hHashTable, hHashTableToCopy ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hashtable.copy ( 2, vIn, NULL ) ; }
        } ;

        struct HudPackage
        {
            // Constants
            //
            const AIVariable        kComponentTypeContainer                         ;
            const AIVariable        kComponentTypeButton                            ;
            const AIVariable        kComponentTypeList                              ;
            const AIVariable        kComponentTypeLabel                             ;
            const AIVariable        kComponentTypePicture                           ;
            const AIVariable        kComponentTypeEdit                              ;
            const AIVariable        kComponentTypeMovie                             ;
            const AIVariable        kComponentTypeProgress                          ;
            const AIVariable        kComponentTypeSlider                            ;
            const AIVariable        kComponentTypeRenderMap                         ;
            const AIVariable        kComponentTypePixelMap                          ;
            const AIVariable        kComponentTypeCheck                             ;
            const AIVariable        kAddressingModeClamp                            ;
            const AIVariable        kAddressingModeRepeat                           ;
            const AIVariable        kEventTypeMouseEnter                            ;
            const AIVariable        kEventTypeMouseLeave                            ;
            const AIVariable        kEventTypeGainFocus                             ;
            const AIVariable        kEventTypeLooseFocus                            ;
            const AIVariable        kCommandTypeCallAction                          ;
            const AIVariable        kCommandTypeSetVisible                          ;
            const AIVariable        kCommandTypeSetActive                           ;
            const AIVariable        kCommandTypeSetFocus                            ;
            const AIVariable        kCommandTypeSetPosition                         ;
            const AIVariable        kCommandTypeSetSize                             ;
            const AIVariable        kCommandTypeSetOpacity                          ;
            const AIVariable        kCommandTypeInterpolatePosition                 ;
            const AIVariable        kCommandTypeInterpolateSize                     ;
            const AIVariable        kCommandTypeInterpolateOpacity                  ;
            const AIVariable        kCommandTypeSleep                               ;
            const AIVariable        kCommandTypeSetCursorVisible                    ;
            const AIVariable        kCommandTypeStartTimer                          ;
            const AIVariable        kCommandTypePauseTimer                          ;
            const AIVariable        kCommandTypeStopTimer                           ;
            const AIVariable        kCommandTypeSetCursorPosition                   ;
            const AIVariable        kCommandTypePlayMovie                           ;
            const AIVariable        kCommandTypePauseMovie                          ;
            const AIVariable        kCommandTypeStopMovie                           ;
            const AIVariable        kCommandTypeInterpolateProgressValue            ;
            const AIVariable        kCommandTypeSendEventToUser                     ;
            const AIVariable        kCommandTypeStopAction                          ;
            const AIVariable        kCommandTypePlaySound                           ;
            const AIVariable        kCommandTypeSetBackgroundColor                  ;
            const AIVariable        kCommandTypeSetForegroundColor                  ;
            const AIVariable        kCommandTypeSetBorderColor                      ;
            const AIVariable        kCommandTypeSetLabelText                        ;
            const AIVariable        kCommandTypeSetBackgroundImage                  ;
            const AIVariable        kCommandTypeInterpolateBackgroundColor          ;
            const AIVariable        kCommandTypeInterpolateForegroundColor          ;
            const AIVariable        kCommandTypeInterpolateBorderColor              ;
            const AIVariable        kCommandTypeSetButtonText                       ;
            const AIVariable        kCommandTypeSetEditText                         ;
            const AIVariable        kCommandTypeEnterModalMode                      ;
            const AIVariable        kCommandTypeLeaveModalMode                      ;
            const AIVariable        kCommandTypeSetCheckText                        ;
            const AIVariable        kCommandTypeSetCheckState                       ;
            const AIVariable        kCommandTypeMatchScreenSpaceCenter              ;
            const AIVariable        kCommandTypeMatchScreenSpaceBottomLeftCorner    ;
            const AIVariable        kCommandTypeMatchScreenSpaceTopLeftCorner       ;
            const AIVariable        kCommandTypeMatchScreenSpaceBottomRightCorner   ;
            const AIVariable        kCommandTypeMatchScreenSpaceTopRightCorner      ;
            const AIVariable        kCommandTypeInterpolateWidth                    ;
            const AIVariable        kCommandTypeInterpolateHeight                   ;
            const AIVariable        kCommandTypeSetWidth                            ;
            const AIVariable        kCommandTypeSetHeight                           ;
            const AIVariable        kCommandTypeMatchScreenSpaceWidth               ;
            const AIVariable        kCommandTypeMatchScreenSpaceHeight              ;
            const AIVariable        kCommandTypeCopyEditTextToRegister              ;
            const AIVariable        kCommandTypeCopyTagToRegister                   ;
            const AIVariable        kCommandTypeCopyCheckStateToRegister            ;
            const AIVariable        kCommandTypeCopyListItemTextToRegister          ;
            const AIVariable        kCommandTypeCopyListLastSelectedItemToRegister  ;
            const AIVariable        kCommandTypeCopyProgressValueToRegister         ;
            const AIVariable        kCommandTypeCopySliderValueToRegister           ;
            const AIVariable        kCommandTypeSetRotation                         ;
            const AIVariable        kCommandTypeInterpolateRotation                 ;
            const AIVariable        kCommandTypeSetBackgroundImageUVOffset          ;
            const AIVariable        kCommandTypeSetBackgroundImageUVScale           ;
            const AIVariable        kCommandTypeStopSound                           ;
            const AIVariable        kCommandTypePauseSound                          ;
            const AIVariable        kCommandTypeResumeSound                         ;
            const AIVariable        kCommandTypePlaySoundLoop                       ;
            const AIVariable        kInterpolatorTypeLinear                         ;
            const AIVariable        kInterpolatorTypePower2                         ;
            const AIVariable        kInterpolatorTypePower3                         ;
            const AIVariable        kInterpolatorTypePower4                         ;
            const AIVariable        kInterpolatorTypeRoot2                          ;
            const AIVariable        kInterpolatorTypeRoot3                          ;
            const AIVariable        kInterpolatorTypeRoot4                          ;
            const AIVariable        kInterpolatorTypeSpring1                        ;
            const AIVariable        kInterpolatorTypeSpring2                        ;
            const AIVariable        kInterpolatorTypeSpring3                        ;
            const AIVariable        kInterpolatorTypeSpring4                        ;
            const AIVariable        kInterpolatorTypeSpring5                        ;
            const AIVariable        kInterpolatorTypeSpring6                        ;
            const AIVariable        kRuntimeValueCurrentUserMainCamera              ;
            const AIVariable        kRuntimeValueCallArgument0                      ;
            const AIVariable        kRuntimeValueCallArgument1                      ;
            const AIVariable        kRuntimeValueCallArgument2                      ;
            const AIVariable        kRuntimeValueCallArgument3                      ;
            const AIVariable        kRuntimeValueCurrentUser                        ;
            const AIVariable        kRuntimeValueRegister0                          ;
            const AIVariable        kRuntimeValueRegister1                          ;
            const AIVariable        kRuntimeValueRegister2                          ;
            const AIVariable        kRuntimeValueRegister3                          ;
            const AIVariable        kFillModeSolid                                  ;
            const AIVariable        kBlendModeDefault                               ;
            const AIVariable        kBlendModeModulate                              ;
            const AIVariable        kBlendModeAdd                                   ;
            const AIVariable        kShapeTypeRectangle                             ;
            const AIVariable        kShapeTypeRoundRectangle                        ;
            const AIVariable        kShapeTypeEllipsoid                             ;
            const AIVariable        kKeyUp                                          ;
            const AIVariable        kKeyDown                                        ;
            const AIVariable        kKeyRight                                       ;
            const AIVariable        kKeyLeft                                        ;
            const AIVariable        kAlignCenter                                    ;
            const AIVariable        kAlignLeft                                      ;
            const AIVariable        kAlignRight                                     ;
            const AIVariable        kAlignJustify                                   ;
            const AIVariable        kAlignTop                                       ;
            const AIVariable        kCaseVariable                                   ;
            const AIVariable        kCaseFixed                                      ;
            const AIVariable        kEncodingASCII                                  ;
            const AIVariable        kEncodingUTF8                                   ;
            const AIVariable        kDirectionLeftToRight                           ;
            const AIVariable        kDirectionRightToLeft                           ;
            const AIVariable        kOriginCenter                                   ;
            const AIVariable        kOriginLeft                                     ;
            const AIVariable        kOriginRight                                    ;
            const AIVariable        kOriginTop                                      ;
            const AIVariable        kOriginBottom                                   ;
            const AIVariable        kOriginTopLeft                                  ;
            const AIVariable        kOriginTopRight                                 ;
            const AIVariable        kOriginBottomLeft                               ;
            const AIVariable        kOriginBottomRight                              ;
            const AIVariable        kProgressTypeLeftToRight                        ;
            const AIVariable        kProgressTypeRightToLeft                        ;
            const AIVariable        kProgressTypeBottomToTop                        ;
            const AIVariable        kProgressTypeTopToBottom                        ;
            const AIVariable        kSliderTypeLeftToRight                          ;
            const AIVariable        kSliderTypeRightToLeft                          ;
            const AIVariable        kSliderTypeBottomToTop                          ;
            const AIVariable        kSliderTypeTopToBottom                          ;
            const AIVariable        kWaveTypeConstant                               ;
            const AIVariable        kWaveTypeSinus                                  ;
            const AIVariable        kWaveTypeTriangle                               ;
            const AIVariable        kWaveTypeSquare                                 ;
            const AIVariable        kWaveTypeSawtooth                               ;
            const AIVariable        kWaveTypeSawtoothInv                            ;
            const AIVariable        kWaveTypeSinusNoise                             ;
            const AIVariable        kCursorShapeNone                                ;
            const AIVariable        kCursorShapeDefault                             ;
            const AIVariable        kCursorShapeHandPointing                        ;
            const AIVariable        kCursorShapeWaiting                             ;
            const AIVariable        kCursorShapeCross                               ;
            const AIVariable        kCursorShapeIBeam                               ;
            const AIVariable        kCommandTypeRotate                              ;
            const AIVariable        kCommandTypeRestart                             ;
            const AIVariable        kCommandTypeFinishAction                        ;
            const AIVariable        kFilteringModeNearestNoMipmaps                  ;
            const AIVariable        kFilteringModeBilinearNoMipmaps                 ;


            HudPackage                                      (    ):
            kComponentTypeContainer                         (  1 ),
            kComponentTypeButton                            (  2 ),
            kComponentTypeList                              (  3 ),
            kComponentTypeLabel                             (  4 ),
            kComponentTypePicture                           (  5 ),
            kComponentTypeEdit                              (  6 ),
            kComponentTypeMovie                             (  7 ),
            kComponentTypeProgress                          (  8 ),
            kComponentTypeSlider                            ( 11 ),
            kComponentTypeRenderMap                         ( 12 ),
            kComponentTypePixelMap                          ( 14 ),
            kComponentTypeCheck                             ( 15 ),
            kAddressingModeClamp                            (  1 ),
            kAddressingModeRepeat                           (  0 ),
            kEventTypeMouseEnter                            (  5 ),
            kEventTypeMouseLeave                            (  6 ),
            kEventTypeGainFocus                             (  7 ),
            kEventTypeLooseFocus                            (  8 ),
            kCommandTypeCallAction                          (  2 ),
            kCommandTypeSetVisible                          (  4 ),
            kCommandTypeSetActive                           (  5 ),
            kCommandTypeSetFocus                            (  6 ),
            kCommandTypeSetPosition                         (  7 ),
            kCommandTypeSetSize                             (  8 ),
            kCommandTypeSetOpacity                          (  9 ),
            kCommandTypeInterpolatePosition                 ( 10 ),
            kCommandTypeInterpolateSize                     ( 11 ),
            kCommandTypeInterpolateOpacity                  ( 12 ),
            kCommandTypeSleep                               ( 13 ),
            kCommandTypeSetCursorVisible                    ( 14 ),
            kCommandTypeStartTimer                          ( 15 ),
            kCommandTypePauseTimer                          ( 16 ),
            kCommandTypeStopTimer                           ( 17 ),
            kCommandTypeSetCursorPosition                   ( 18 ),
            kCommandTypePlayMovie                           ( 19 ),
            kCommandTypePauseMovie                          ( 20 ),
            kCommandTypeStopMovie                           ( 21 ),
            kCommandTypeInterpolateProgressValue            ( 22 ),
            kCommandTypeSendEventToUser                     ( 23 ),
            kCommandTypeStopAction                          ( 24 ),
            kCommandTypePlaySound                           ( 25 ),
            kCommandTypeSetBackgroundColor                  ( 26 ),
            kCommandTypeSetForegroundColor                  ( 27 ),
            kCommandTypeSetBorderColor                      ( 28 ),
            kCommandTypeSetLabelText                        ( 29 ),
            kCommandTypeSetBackgroundImage                  ( 30 ),
            kCommandTypeInterpolateBackgroundColor          ( 31 ),
            kCommandTypeInterpolateForegroundColor          ( 32 ),
            kCommandTypeInterpolateBorderColor              ( 33 ),
            kCommandTypeSetButtonText                       ( 34 ),
            kCommandTypeSetEditText                         ( 35 ),
            kCommandTypeEnterModalMode                      ( 36 ),
            kCommandTypeLeaveModalMode                      ( 37 ),
            kCommandTypeSetCheckText                        ( 38 ),
            kCommandTypeSetCheckState                       ( 39 ),
            kCommandTypeMatchScreenSpaceCenter              ( 40 ),
            kCommandTypeMatchScreenSpaceBottomLeftCorner    ( 41 ),
            kCommandTypeMatchScreenSpaceTopLeftCorner       ( 42 ),
            kCommandTypeMatchScreenSpaceBottomRightCorner   ( 43 ),
            kCommandTypeMatchScreenSpaceTopRightCorner      ( 44 ),
            kCommandTypeInterpolateWidth                    ( 45 ),
            kCommandTypeInterpolateHeight                   ( 46 ),
            kCommandTypeSetWidth                            ( 47 ),
            kCommandTypeSetHeight                           ( 48 ),
            kCommandTypeMatchScreenSpaceWidth               ( 49 ),
            kCommandTypeMatchScreenSpaceHeight              ( 50 ),
            kCommandTypeCopyEditTextToRegister              ( 51 ),
            kCommandTypeCopyTagToRegister                   ( 52 ),
            kCommandTypeCopyCheckStateToRegister            ( 53 ),
            kCommandTypeCopyListItemTextToRegister          ( 54 ),
            kCommandTypeCopyListLastSelectedItemToRegister  ( 55 ),
            kCommandTypeCopyProgressValueToRegister         ( 56 ),
            kCommandTypeCopySliderValueToRegister           ( 57 ),
            kCommandTypeSetRotation                         ( 58 ),
            kCommandTypeInterpolateRotation                 ( 59 ),
            kCommandTypeSetBackgroundImageUVOffset          ( 60 ),
            kCommandTypeSetBackgroundImageUVScale           ( 61 ),
            kCommandTypeStopSound                           ( 62 ),
            kCommandTypePauseSound                          ( 63 ),
            kCommandTypeResumeSound                         ( 64 ),
            kCommandTypePlaySoundLoop                       ( 65 ),
            kInterpolatorTypeLinear                         (  1 ),
            kInterpolatorTypePower2                         (  2 ),
            kInterpolatorTypePower3                         (  3 ),
            kInterpolatorTypePower4                         (  4 ),
            kInterpolatorTypeRoot2                          (  5 ),
            kInterpolatorTypeRoot3                          (  6 ),
            kInterpolatorTypeRoot4                          (  7 ),
            kInterpolatorTypeSpring1                        (  8 ),
            kInterpolatorTypeSpring2                        (  9 ),
            kInterpolatorTypeSpring3                        ( 10 ),
            kInterpolatorTypeSpring4                        ( 11 ),
            kInterpolatorTypeSpring5                        ( 12 ),
            kInterpolatorTypeSpring6                        ( 13 ),
            kRuntimeValueCurrentUserMainCamera              (  6 ),
            kRuntimeValueCallArgument0                      (  7 ),
            kRuntimeValueCallArgument1                      (  8 ),
            kRuntimeValueCallArgument2                      (  9 ),
            kRuntimeValueCallArgument3                      ( 10 ),
            kRuntimeValueCurrentUser                        ( 13 ),
            kRuntimeValueRegister0                          ( 14 ),
            kRuntimeValueRegister1                          ( 15 ),
            kRuntimeValueRegister2                          ( 16 ),
            kRuntimeValueRegister3                          ( 17 ),
            kFillModeSolid                                  (  0 ),
            kBlendModeDefault                               (  0 ),
            kBlendModeModulate                              (  1 ),
            kBlendModeAdd                                   (  2 ),
            kShapeTypeRectangle                             (  0 ),
            kShapeTypeRoundRectangle                        (  1 ),
            kShapeTypeEllipsoid                             (  2 ),
            kKeyUp                                          (  0 ),
            kKeyDown                                        (  1 ),
            kKeyRight                                       (  2 ),
            kKeyLeft                                        (  3 ),
            kAlignCenter                                    (  0 ),
            kAlignLeft                                      (  1 ),
            kAlignRight                                     (  2 ),
            kAlignJustify                                   (  3 ),
            kAlignTop                                       (  4 ),
            kCaseVariable                                   (  0 ),
            kCaseFixed                                      (  1 ),
            kEncodingASCII                                  (  0 ),
            kEncodingUTF8                                   (  1 ),
            kDirectionLeftToRight                           (  0 ),
            kDirectionRightToLeft                           (  1 ),
            kOriginCenter                                   (  0 ),
            kOriginLeft                                     (  1 ),
            kOriginRight                                    (  2 ),
            kOriginTop                                      (  3 ),
            kOriginBottom                                   (  4 ),
            kOriginTopLeft                                  (  5 ),
            kOriginTopRight                                 (  6 ),
            kOriginBottomLeft                               (  7 ),
            kOriginBottomRight                              (  8 ),
            kProgressTypeLeftToRight                        (  0 ),
            kProgressTypeRightToLeft                        (  1 ),
            kProgressTypeBottomToTop                        (  2 ),
            kProgressTypeTopToBottom                        (  3 ),
            kSliderTypeLeftToRight                          (  0 ),
            kSliderTypeRightToLeft                          (  1 ),
            kSliderTypeBottomToTop                          (  2 ),
            kSliderTypeTopToBottom                          (  3 ),
            kWaveTypeConstant                               (  0 ),
            kWaveTypeSinus                                  (  1 ),
            kWaveTypeTriangle                               (  2 ),
            kWaveTypeSquare                                 (  3 ),
            kWaveTypeSawtooth                               (  4 ),
            kWaveTypeSawtoothInv                            (  5 ),
            kWaveTypeSinusNoise                             (  6 ),
            kCursorShapeNone                                (  1 ),
            kCursorShapeDefault                             (  0 ),
            kCursorShapeHandPointing                        (  2 ),
            kCursorShapeWaiting                             (  6 ),
            kCursorShapeCross                               (  5 ),
            kCommandTypeRotate                              ( 66 ), // 1.9.0.9
            kCommandTypeRestart                             ( 67 ), // 1.9.0.9
            kCommandTypeFinishAction                        ( 68 ), // 1.9.1.0
            kFilteringModeNearestNoMipmaps                  (  3 ), // 1.9.1.0
            kFilteringModeBilinearNoMipmaps                 (  4 )  // 1.9.1.0
            { }

            // Functions
            //
            inline AIVariable       checkValidity                                       ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.checkValidity ( 1, vIn, &vOut ) ; return vOut ; } // Deprecated
            inline AIVariable       newTemplateInstance                                 ( const AIVariable& hUser, const AIVariable& sTemplate, const AIVariable& sPrefix ) const { S3DX_DECLARE_VIN_03( hUser, sTemplate, sPrefix ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.newTemplateInstance ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             destroyTemplateInstance                             ( const AIVariable& hUser, const AIVariable& sPrefix ) const { S3DX_DECLARE_VIN_02( hUser, sPrefix ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.destroyTemplateInstance ( 2, vIn, NULL ) ; }
            inline AIVariable       newComponent                                        ( const AIVariable& hUser, const AIVariable& kType ) const { S3DX_DECLARE_VIN_02( hUser, kType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.newComponent ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       newComponent                                        ( const AIVariable& hUser, const AIVariable& kType, const AIVariable& sOptionalTag ) const { S3DX_DECLARE_VIN_03( hUser, kType, sOptionalTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.newComponent ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       newAction                                           ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.newAction ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       newAction                                           ( const AIVariable& hUser, const AIVariable& sOptionalTag ) const { S3DX_DECLARE_VIN_02( hUser, sOptionalTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.newAction ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       newTimer                                            ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.newTimer ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       newTimer                                            ( const AIVariable& hUser, const AIVariable& sOptionalTag ) const { S3DX_DECLARE_VIN_02( hUser, sOptionalTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.newTimer ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             destroyComponent                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.destroyComponent ( 1, vIn, NULL ) ; }
            inline void             destroyAction                                       ( const AIVariable& hAction ) const { S3DX_DECLARE_VIN_01( hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.destroyAction ( 1, vIn, NULL ) ; }
            inline void             destroyTimer                                        ( const AIVariable& hTimer ) const { S3DX_DECLARE_VIN_01( hTimer ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.destroyTimer ( 1, vIn, NULL ) ; }
            inline AIVariable       getComponentCount                                   ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getActionCount                                      ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getActionCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTimerCount                                       ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getTimerCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getComponentAt                                      ( const AIVariable& hUser, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hUser, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getActionAt                                         ( const AIVariable& hUser, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hUser, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getActionAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTimerAt                                          ( const AIVariable& hUser, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hUser, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getTimerAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setInitialAction                                    ( const AIVariable& hUser, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_02( hUser, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setInitialAction ( 2, vIn, NULL ) ; } // Deprecated
            inline AIVariable       setDefaultFont                                      ( const AIVariable& hUser, const AIVariable& sFont ) const { S3DX_DECLARE_VIN_02( hUser, sFont ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setDefaultFont ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getDefaultFontName                                  ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getDefaultFontName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDefaultTextShadowColor                           ( const AIVariable& hUser, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hUser, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setDefaultTextShadowColor ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getDefaultTextShadowColor                           ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getDefaultTextShadowColor ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getComponent                                        ( const AIVariable& hUser, const AIVariable& sTag ) const { S3DX_DECLARE_VIN_02( hUser, sTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponent ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAction                                           ( const AIVariable& hUser, const AIVariable& sTag ) const { S3DX_DECLARE_VIN_02( hUser, sTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getAction ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTimer                                            ( const AIVariable& hUser, const AIVariable& sTag ) const { S3DX_DECLARE_VIN_02( hUser, sTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getTimer ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setFocus                                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setFocus ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       killFocus                                           ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.killFocus ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setSoundBank                                        ( const AIVariable& hUser, const AIVariable& sSoundBank ) const { S3DX_DECLARE_VIN_02( hUser, sSoundBank ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setSoundBank ( 2, vIn, &vOut ) ;  return vOut ; }
            inline AIVariable       getSoundBankName                                    ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getSoundBankName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             playSound                                           ( const AIVariable& hUser, const AIVariable& nSoundIndex, const AIVariable& nVolume, const AIVariable& bLoop ) const { S3DX_DECLARE_VIN_04( hUser, nSoundIndex, nVolume, bLoop ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.playSound ( 4, vIn, NULL ) ; }
            inline void             playSound                                           ( const AIVariable& hUser, const AIVariable& nSoundIndex, const AIVariable& nVolume, const AIVariable& bLoop, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_05( hUser, nSoundIndex, nVolume, bLoop, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.playSound ( 5, vIn, NULL ) ; }
            inline void             pauseSound                                          ( const AIVariable& hUser, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hUser, nSoundIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.pauseSound ( 2, vIn, NULL ) ; }
            inline void             pauseSound                                          ( const AIVariable& hUser, const AIVariable& nSoundIndex, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_03( hUser, nSoundIndex, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.pauseSound ( 3, vIn, NULL ) ; }
            inline void             resumeSound                                         ( const AIVariable& hUser, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hUser, nSoundIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.resumeSound ( 2, vIn, NULL ) ; }
            inline void             resumeSound                                         ( const AIVariable& hUser, const AIVariable& nSoundIndex, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_03( hUser, nSoundIndex, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.resumeSound ( 3, vIn, NULL ) ; }
            inline void             stopSound                                           ( const AIVariable& hUser, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hUser, nSoundIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.stopSound ( 2, vIn, NULL ) ; }
            inline void             stopSound                                           ( const AIVariable& hUser, const AIVariable& nSoundIndex, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_03( hUser, nSoundIndex, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.stopSound ( 3, vIn, NULL ) ; }
            inline void             stopAllSounds                                       ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.stopAllSounds ( 1, vIn, NULL ) ; }
            inline void             stopAllSounds                                       ( const AIVariable& hUser, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_02( hUser, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.stopAllSounds ( 2, vIn, NULL ) ; }
            inline void             setSoundVolume                                      ( const AIVariable& hUser, const AIVariable& nSoundIndex, const AIVariable& nVolume ) const { S3DX_DECLARE_VIN_03( hUser, nSoundIndex, nVolume ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setSoundVolume ( 3, vIn, NULL ) ; }
            inline void             setSoundVolume                                      ( const AIVariable& hUser, const AIVariable& nSoundIndex, const AIVariable& nVolume, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_04( hUser, nSoundIndex, nVolume, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setSoundVolume ( 4, vIn, NULL ) ; }
            inline AIVariable       getSoundPlaybackProgress                            ( const AIVariable& hUser, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hUser, nSoundIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getSoundPlaybackProgress ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isSoundPlaying                                      ( const AIVariable& hUser, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hUser, nSoundIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isSoundPlaying ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isSoundPaused                                       ( const AIVariable& hUser, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hUser, nSoundIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isSoundPaused ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSoundName                                        ( const AIVariable& hUser, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hUser, nSoundIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getSoundName ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setCursorVisible                                    ( const AIVariable& hUser, const AIVariable& bVisible ) const { S3DX_DECLARE_VIN_02( hUser, bVisible ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCursorVisible ( 2, vIn, NULL ) ; }
            inline void             setCursorPosition                                   ( const AIVariable& hUser, const AIVariable& nPosX, const AIVariable& nPosY ) const { S3DX_DECLARE_VIN_03( hUser, nPosX, nPosY ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCursorPosition ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getCursorPosition                                   ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCursorPosition ( 1, vIn, vOut ) ; return vOut ; }
            inline void             forceCursorShape                                    ( const AIVariable& hUser, const AIVariable& kCursorShape ) const { S3DX_DECLARE_VIN_02( hUser, kCursorShape ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.forceCursorShape ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentType                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentType ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentZOrder                                  ( const AIVariable& hComponent, const AIVariable& nZOrder ) const { S3DX_DECLARE_VIN_02( hComponent, nZOrder ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentZOrder ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentZOrder                                  ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentZOrder ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setComponentContainer                               ( const AIVariable& hComponent, const AIVariable& hContainer ) const { S3DX_DECLARE_VIN_02( hComponent, hContainer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentContainer ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getComponentContainer                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentContainer ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentOrigin                                  ( const AIVariable& hComponent, const AIVariable& kOrigin ) const { S3DX_DECLARE_VIN_02( hComponent, kOrigin ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentOrigin ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentOrigin                                  ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentOrigin ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setComponentOffscreenOutput                         ( const AIVariable& hComponent, const AIVariable& sRenderMap ) const { S3DX_DECLARE_VIN_02( hComponent, sRenderMap ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentOffscreenOutput ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentPosition                                ( const AIVariable& hComponent, const AIVariable& nPosX, const AIVariable& nPosY ) const { S3DX_DECLARE_VIN_03( hComponent, nPosX, nPosY ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentPosition ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getComponentPosition                                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentPosition ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setComponentSize                                    ( const AIVariable& hComponent, const AIVariable& nSizeX, const AIVariable& nSizeY ) const { S3DX_DECLARE_VIN_03( hComponent, nSizeX, nSizeY ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentSize ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getComponentSize                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentSize ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setComponentRotation                                ( const AIVariable& hComponent, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_02( hComponent, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentRotation ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentRotation                                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentRotation ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentOpacity                                 ( const AIVariable& hComponent, const AIVariable& nOpacity ) const { S3DX_DECLARE_VIN_02( hComponent, nOpacity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentOpacity ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentOpacity                                 ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentOpacity ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentVisible                                 ( const AIVariable& hComponent, const AIVariable& bVisible ) const { S3DX_DECLARE_VIN_02( hComponent, bVisible ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentVisible ( 2, vIn, NULL ) ; }
            inline void             setComponentActive                                  ( const AIVariable& hComponent, const AIVariable& bActive ) const { S3DX_DECLARE_VIN_02( hComponent, bActive ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentActive ( 2, vIn, NULL ) ; }
            inline AIVariable       setComponentBackgroundImage                         ( const AIVariable& hComponent, const AIVariable& sImageName ) const { S3DX_DECLARE_VIN_02( hComponent, sImageName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentBackgroundImage ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getComponentBackgroundImageName                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentBackgroundImageName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentBackgroundColor                         ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentBackgroundColor ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getComponentBackgroundColor                         ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentBackgroundColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setComponentForegroundColor                         ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentForegroundColor ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getComponentForegroundColor                         ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentForegroundColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setComponentBorderColor                             ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentBorderColor ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getComponentBorderColor                             ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentBorderColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setComponentFillMode                                ( const AIVariable& hComponent, const AIVariable& kFillMode ) const { S3DX_DECLARE_VIN_02( hComponent, kFillMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentFillMode ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentFillMode                                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentFillMode ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentBlendMode                               ( const AIVariable& hComponent, const AIVariable& kBlendMode ) const { S3DX_DECLARE_VIN_02( hComponent, kBlendMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentBlendMode ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentBlendMode                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentBlendMode ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentShapeType                               ( const AIVariable& hComponent, const AIVariable& kShapeType ) const { S3DX_DECLARE_VIN_02( hComponent, kShapeType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentShapeType ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentShapeType                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentShapeType ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentShapeRoundRectangleCornerRadius         ( const AIVariable& hComponent, const AIVariable& nRadius ) const { S3DX_DECLARE_VIN_02( hComponent, nRadius ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentShapeRoundRectangleCornerRadius ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentShapeRoundRectangleCornerRadius         ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentShapeRoundRectangleCornerRadius ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentShapeEllipseMinAngle                    ( const AIVariable& hComponent, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_02( hComponent, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentShapeEllipseMinAngle ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentShapeEllipseMinAngle                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentShapeEllipseMinAngle ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentShapeEllipseMaxAngle                    ( const AIVariable& hComponent, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_02( hComponent, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentShapeEllipseMaxAngle ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentShapeEllipseMaxAngle                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentShapeEllipseMaxAngle ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setComponentOpacityWaveModifier                     ( const AIVariable& hComponent, const AIVariable& kWaveType, const AIVariable& nWaveBase, const AIVariable& nWaveAmplitude, const AIVariable& nWavePhase, const AIVariable& nWaveFrequency ) const { S3DX_DECLARE_VIN_06( hComponent, kWaveType, nWaveBase, nWaveAmplitude, nWavePhase, nWaveFrequency ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentOpacityWaveModifier ( 6, vIn, NULL ) ; }
            inline void             setComponentAspectInvariant                         ( const AIVariable& hComponent, const AIVariable& bInvariant ) const { S3DX_DECLARE_VIN_02( hComponent, bInvariant ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentAspectInvariant ( 2, vIn, NULL ) ; }
            inline void             setComponentIgnoredByMouse                          ( const AIVariable& hComponent, const AIVariable& bIgnored ) const { S3DX_DECLARE_VIN_02( hComponent, bIgnored ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentIgnoredByMouse ( 2, vIn, NULL ) ; }
            inline void             setComponentAdjustedToNearestPixels                 ( const AIVariable& hComponent, const AIVariable& bAdjusted ) const { S3DX_DECLARE_VIN_02( hComponent, bAdjusted ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentAdjustedToNearestPixels ( 2, vIn, NULL ) ; }
            inline void             addComponentEventHandler                            ( const AIVariable& hComponent, const AIVariable& kEventType, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_03( hComponent, kEventType, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.addComponentEventHandler ( 3, vIn, NULL ) ; }
            inline void             removeComponentEventHandler                         ( const AIVariable& hComponent, const AIVariable& kEventType ) const { S3DX_DECLARE_VIN_02( hComponent, kEventType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.removeComponentEventHandler ( 2, vIn, NULL ) ; }
            inline AIVariables<2>   getComponentScreenSpaceCenter                       ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentScreenSpaceCenter ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getComponentScreenSpaceBottomLeftCorner             ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentScreenSpaceBottomLeftCorner ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getComponentScreenSpaceTopLeftCorner                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentScreenSpaceTopLeftCorner ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getComponentScreenSpaceBottomRightCorner            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentScreenSpaceBottomRightCorner ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getComponentScreenSpaceTopRightCorner               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentScreenSpaceTopRightCorner ( 1, vIn, vOut ) ; return vOut ; }
            inline void             matchComponentScreenSpaceCenter                     ( const AIVariable& hComponent, const AIVariable& hOtherComponent ) const { S3DX_DECLARE_VIN_02( hComponent, hOtherComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.matchComponentScreenSpaceCenter ( 2, vIn, NULL ) ; }
            inline void             matchComponentScreenSpaceBottomLeftCorner           ( const AIVariable& hComponent, const AIVariable& hOtherComponent ) const { S3DX_DECLARE_VIN_02( hComponent, hOtherComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.matchComponentScreenSpaceBottomLeftCorner ( 2, vIn, NULL ) ; }
            inline void             matchComponentScreenSpaceTopLeftCorner              ( const AIVariable& hComponent, const AIVariable& hOtherComponent ) const { S3DX_DECLARE_VIN_02( hComponent, hOtherComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.matchComponentScreenSpaceTopLeftCorner ( 2, vIn, NULL ) ; }
            inline void             matchComponentScreenSpaceBottomRightCorner          ( const AIVariable& hComponent, const AIVariable& hOtherComponent ) const { S3DX_DECLARE_VIN_02( hComponent, hOtherComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.matchComponentScreenSpaceBottomRightCorner ( 2, vIn, NULL ) ; }
            inline void             matchComponentScreenSpaceTopRightCorner             ( const AIVariable& hComponent, const AIVariable& hOtherComponent ) const { S3DX_DECLARE_VIN_02( hComponent, hOtherComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.matchComponentScreenSpaceTopRightCorner ( 2, vIn, NULL ) ; }
            inline void             setComponentBackgroundImageUVOffset                 ( const AIVariable& hComponent, const AIVariable& nOffsetU, const AIVariable& nOffsetV ) const { S3DX_DECLARE_VIN_03( hComponent, nOffsetU, nOffsetV ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentBackgroundImageUVOffset ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getComponentBackgroundImageUVOffset                 ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentBackgroundImageUVOffset ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setComponentBackgroundImageUVScale                  ( const AIVariable& hComponent, const AIVariable& nScaleU, const AIVariable& nScaleV ) const { S3DX_DECLARE_VIN_03( hComponent, nScaleU, nScaleV ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentBackgroundImageUVScale ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getComponentBackgroundImageUVScale                  ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentBackgroundImageUVScale ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setComponentBackgroundImageAddressingMode           ( const AIVariable& hComponent, const AIVariable& kAddressingModeU, const AIVariable& kAddressingModeV ) const { S3DX_DECLARE_VIN_03( hComponent, kAddressingModeU, kAddressingModeV ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentBackgroundImageAddressingMode ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getComponentBackgroundImageAddressingMode           ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentBackgroundImageAddressingMode ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariable       isComponentVisible                                  ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isComponentVisible ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isComponentActive                                   ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isComponentActive ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getComponentTag                                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentTag ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getActionTag                                        ( const AIVariable& hAction ) const { S3DX_DECLARE_VIN_01( hAction ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getActionTag ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTimerTag                                         ( const AIVariable& hTimer ) const { S3DX_DECLARE_VIN_01( hTimer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getTimerTag ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getContainerChildCount                              ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getContainerChildCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getContainerChildAt                                 ( const AIVariable& hComponent, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hComponent, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getContainerChildAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setLabelText                                        ( const AIVariable& hComponent, const AIVariable& sText ) const { S3DX_DECLARE_VIN_02( hComponent, sText ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelText ( 2, vIn, NULL ) ; }
            inline AIVariable       getLabelText                                        ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelText ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLabelTextHeight                                  ( const AIVariable& hComponent, const AIVariable& nTextHeight ) const { S3DX_DECLARE_VIN_02( hComponent, nTextHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelTextHeight ( 2, vIn, NULL ) ; }
            inline AIVariable       getLabelTextHeight                                  ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelTextHeight ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLabelTextLetterSpacing                           ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelTextLetterSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getLabelTextLetterSpacing                           ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelTextLetterSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLabelTextLineSpacing                             ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelTextLineSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getLabelTextLineSpacing                             ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelTextLineSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLabelTextAlignment                               ( const AIVariable& hComponent, const AIVariable& kHAlignment, const AIVariable& kVAlignment ) const { S3DX_DECLARE_VIN_03( hComponent, kHAlignment, kVAlignment ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelTextAlignment ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getLabelTextAlignment                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelTextAlignment ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setLabelTextCase                                    ( const AIVariable& hComponent, const AIVariable& kCase ) const { S3DX_DECLARE_VIN_02( hComponent, kCase ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelTextCase ( 2, vIn, NULL ) ; }
            inline AIVariable       getLabelTextCase                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelTextCase ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLabelTextEncoding                                ( const AIVariable& hComponent, const AIVariable& kEncoding ) const { S3DX_DECLARE_VIN_02( hComponent, kEncoding ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelTextEncoding ( 2, vIn, NULL ) ; }
            inline AIVariable       getLabelTextEncoding                                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelTextEncoding ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLabelTextDirection                               ( const AIVariable& hComponent, const AIVariable& kDirection ) const { S3DX_DECLARE_VIN_02( hComponent, kDirection ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelTextDirection ( 2, vIn, NULL ) ; }
            inline AIVariable       getLabelTextDirection                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelTextDirection ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLabelTextDisplayRange                            ( const AIVariable& hComponent, const AIVariable& nRangeMin, const AIVariable& nRangeMax ) const { S3DX_DECLARE_VIN_03( hComponent, nRangeMin, nRangeMax ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelTextDisplayRange ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getLabelTextDisplayRange                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelTextDisplayRange ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariable       setLabelFont                                        ( const AIVariable& hComponent, const AIVariable& sFontName ) const { S3DX_DECLARE_VIN_02( hComponent, sFontName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setLabelFont ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getLabelFontName                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelFontName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableLabelTextAntialiasing                         ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableLabelTextAntialiasing ( 2, vIn, NULL ) ; }
            inline AIVariable       isLabelTextAntialiasingEnabled                      ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isLabelTextAntialiasingEnabled ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getLabelTextTotalLineCount                          ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getLabelTextTotalLineCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditText                                         ( const AIVariable& hComponent, const AIVariable& sText ) const { S3DX_DECLARE_VIN_02( hComponent, sText ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditText ( 2, vIn, NULL ) ; }
            inline AIVariable       getEditText                                         ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditText ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditTextHeight                                   ( const AIVariable& hComponent, const AIVariable& nTextHeight ) const { S3DX_DECLARE_VIN_02( hComponent, nTextHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditTextHeight ( 2, vIn, NULL ) ; }
            inline AIVariable       getEditTextHeight                                   ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextHeight ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditTextLetterSpacing                            ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditTextLetterSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getEditTextLetterSpacing                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextLetterSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditTextLineSpacing                              ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditTextLineSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getEditTextLineSpacing                              ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextLineSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditTextAlignment                                ( const AIVariable& hComponent, const AIVariable& kHAlignment, const AIVariable& kVAlignment ) const { S3DX_DECLARE_VIN_03( hComponent, kHAlignment, kVAlignment ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditTextAlignment ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getEditTextAlignment                                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextAlignment ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setEditTextCase                                     ( const AIVariable& hComponent, const AIVariable& kCase ) const { S3DX_DECLARE_VIN_02( hComponent, kCase ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditTextCase ( 2, vIn, NULL ) ; }
            inline AIVariable       getEditTextCase                                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextCase ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditTextEncoding                                 ( const AIVariable& hComponent, const AIVariable& kEncoding ) const { S3DX_DECLARE_VIN_02( hComponent, kEncoding ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditTextEncoding ( 2, vIn, NULL ) ; }
            inline AIVariable       getEditTextEncoding                                 ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextEncoding ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditTextDirection                                ( const AIVariable& hComponent, const AIVariable& kDirection ) const { S3DX_DECLARE_VIN_02( hComponent, kDirection ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditTextDirection ( 2, vIn, NULL ) ; }
            inline AIVariable       getEditTextDirection                                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextDirection ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditTextDisplayRange                             ( const AIVariable& hComponent, const AIVariable& nRangeMin, const AIVariable& nRangeMax ) const { S3DX_DECLARE_VIN_03( hComponent, nRangeMin, nRangeMax ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditTextDisplayRange ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getEditTextDisplayRange                             ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextDisplayRange ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setEditTextMaxLength                                ( const AIVariable& hComponent, const AIVariable& nLength ) const { S3DX_DECLARE_VIN_02( hComponent, nLength ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditTextMaxLength ( 2, vIn, NULL ) ; }
            inline AIVariable       getEditTextMaxLength                                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextMaxLength ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setEditFont                                         ( const AIVariable& hComponent, const AIVariable& sFontName ) const { S3DX_DECLARE_VIN_02( hComponent, sFontName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditFont ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEditFontName                                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditFontName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditOnChangedAction                              ( const AIVariable& hComponent, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_02( hComponent, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditOnChangedAction ( 2, vIn, NULL ) ; }
            inline void             setEditSecure                                       ( const AIVariable& hComponent, const AIVariable& bSecure ) const { S3DX_DECLARE_VIN_02( hComponent, bSecure ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditSecure ( 2, vIn, NULL ) ; }
            inline AIVariable       isEditSecure                                        ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isEditSecure ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableEditTextAntialiasing                          ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableEditTextAntialiasing ( 2, vIn, NULL ) ; }
            inline AIVariable       isEditTextAntialiasingEnabled                       ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isEditTextAntialiasingEnabled ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEditTextTotalLineCount                           ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextTotalLineCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setEditCursorPosition                               ( const AIVariable& hComponent, const AIVariable& nPosition ) const { S3DX_DECLARE_VIN_02( hComponent, nPosition ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setEditCursorPosition ( 2, vIn, NULL ) ; }
            inline AIVariable       getEditCursorPosition                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditCursorPosition ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEditTextBeforeCursor                             ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextBeforeCursor ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEditTextAfterCursor                              ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getEditTextAfterCursor  ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCheckText                                        ( const AIVariable& hComponent, const AIVariable& sText ) const { S3DX_DECLARE_VIN_02( hComponent, sText ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckText ( 2, vIn, NULL ) ; }
            inline AIVariable       getCheckText                                        ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckText ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCheckTextHeight                                  ( const AIVariable& hComponent, const AIVariable& nTextHeight ) const { S3DX_DECLARE_VIN_02( hComponent, nTextHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckTextHeight ( 2, vIn, NULL ) ; }
            inline AIVariable       getCheckTextHeight                                  ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckTextHeight ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCheckTextLetterSpacing                           ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckTextLetterSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getCheckTextLetterSpacing                           ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckTextLetterSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCheckTextLineSpacing                             ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckTextLineSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getCheckTextLineSpacing                             ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckTextLineSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCheckTextAlignment                               ( const AIVariable& hComponent, const AIVariable& kHAlignment, const AIVariable& kVAlignment ) const { S3DX_DECLARE_VIN_03( hComponent, kHAlignment, kVAlignment ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckTextAlignment ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getCheckTextAlignment                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckTextAlignment ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setCheckTextCase                                    ( const AIVariable& hComponent, const AIVariable& kCase ) const { S3DX_DECLARE_VIN_02( hComponent, kCase ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckTextCase ( 2, vIn, NULL ) ; }
            inline AIVariable       getCheckTextCase                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckTextCase ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCheckTextEncoding                                ( const AIVariable& hComponent, const AIVariable& kEncoding ) const { S3DX_DECLARE_VIN_02( hComponent, kEncoding ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckTextEncoding ( 2, vIn, NULL ) ; }
            inline AIVariable       getCheckTextEncoding                                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckTextEncoding ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCheckTextDirection                               ( const AIVariable& hComponent, const AIVariable& kDirection ) const { S3DX_DECLARE_VIN_02( hComponent, kDirection ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckTextDirection ( 2, vIn, NULL ) ; }
            inline AIVariable       getCheckTextDirection                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckTextDirection ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setCheckIcons                                       ( const AIVariable& hComponent, const AIVariable& sCheckedIconName, const AIVariable& sUncheckedIconName ) const { S3DX_DECLARE_VIN_03( hComponent, sCheckedIconName, sUncheckedIconName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckIcons ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setCheckFont                                        ( const AIVariable& hComponent, const AIVariable& sFontName ) const { S3DX_DECLARE_VIN_02( hComponent, sFontName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckFont ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCheckFontName                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckFontName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCheckOnCheckedAction                             ( const AIVariable& hComponent, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_02( hComponent, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckOnCheckedAction ( 2, vIn, NULL ) ; }
            inline void             setCheckOnUncheckedAction                           ( const AIVariable& hComponent, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_02( hComponent, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckOnUncheckedAction ( 2, vIn, NULL ) ; }
            inline AIVariable       getCheckState                                       ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckState ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCheckState                                       ( const AIVariable& hComponent, const AIVariable& bChecked ) const { S3DX_DECLARE_VIN_02( hComponent, bChecked ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setCheckState ( 2, vIn, NULL ) ; }
            inline void             enableCheckTextAntialiasing                         ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableCheckTextAntialiasing ( 2, vIn, NULL ) ; }
            inline AIVariable       isCheckTextAntialiasingEnabled                      ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isCheckTextAntialiasingEnabled ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCheckTextTotalLineCount                          ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getCheckTextTotalLineCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setButtonText                                       ( const AIVariable& hComponent, const AIVariable& sText ) const { S3DX_DECLARE_VIN_02( hComponent, sText ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonText ( 2, vIn, NULL ) ; }
            inline AIVariable       getButtonText                                       ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonText ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setButtonTextHeight                                 ( const AIVariable& hComponent, const AIVariable& nTextHeight ) const { S3DX_DECLARE_VIN_02( hComponent, nTextHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonTextHeight ( 2, vIn, NULL ) ; }
            inline AIVariable       getButtonTextHeight                                 ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonTextHeight ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setButtonTextLetterSpacing                          ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonTextLetterSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getButtonTextLetterSpacing                          ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonTextLetterSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setButtonTextLineSpacing                            ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonTextLineSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getButtonTextLineSpacing                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonTextLineSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setButtonTextAlignment                              ( const AIVariable& hComponent, const AIVariable& kHAlignment, const AIVariable& kVAlignment ) const { S3DX_DECLARE_VIN_03( hComponent, kHAlignment, kVAlignment ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonTextAlignment ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getButtonTextAlignment                              ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonTextAlignment ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setButtonTextCase                                   ( const AIVariable& hComponent, const AIVariable& kCase ) const { S3DX_DECLARE_VIN_02( hComponent, kCase ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonTextCase ( 2, vIn, NULL ) ; }
            inline AIVariable       getButtonTextCase                                   ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonTextCase ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setButtonTextEncoding                               ( const AIVariable& hComponent, const AIVariable& kEncoding ) const { S3DX_DECLARE_VIN_02( hComponent, kEncoding ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonTextEncoding ( 2, vIn, NULL ) ; }
            inline AIVariable       getButtonTextEncoding                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonTextEncoding ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setButtonTextDirection                              ( const AIVariable& hComponent, const AIVariable& kDirection ) const { S3DX_DECLARE_VIN_02( hComponent, kDirection ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonTextDirection ( 2, vIn, NULL ) ; }
            inline AIVariable       getButtonTextDirection                              ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonTextDirection ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setButtonFont                                       ( const AIVariable& hComponent, const AIVariable& sFontName ) const { S3DX_DECLARE_VIN_02( hComponent, sFontName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonFont ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getButtonFontName                                   ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonFontName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setButtonOnClickAction                              ( const AIVariable& hComponent, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_02( hComponent, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonOnClickAction ( 2, vIn, NULL ) ; }
            inline void             setButtonOnClickedAction                            ( const AIVariable& hComponent, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_02( hComponent, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setButtonOnClickedAction ( 2, vIn, NULL ) ; }
            inline AIVariable       getButtonOnClickAction                              ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonOnClickAction ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getButtonOnClickedAction                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonOnClickedAction ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableButtonTextAntialiasing                        ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableButtonTextAntialiasing ( 2, vIn, NULL ) ; }
            inline AIVariable       isButtonTextAntialiasingEnabled                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isButtonTextAntialiasingEnabled ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getButtonTextTotalLineCount                         ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getButtonTextTotalLineCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setMovieClip                                        ( const AIVariable& hComponent, const AIVariable& sMovieName ) const { S3DX_DECLARE_VIN_02( hComponent, sMovieName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setMovieClip ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setMovieExternalClip                                ( const AIVariable& hComponent, const AIVariable& sMoviePath ) const { S3DX_DECLARE_VIN_02( hComponent, sMoviePath ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setMovieExternalClip ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMovieBufferingProgress                           ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getMovieBufferingProgress ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMoviePlaybackProgress                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getMoviePlaybackProgress ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMoviePlaybackCursor                              ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getMoviePlaybackCursor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setMovieTransparentColor                            ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nTolerance ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nTolerance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setMovieTransparentColor ( 5, vIn, NULL ) ; }
            inline void             playMovie                                           ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.playMovie ( 1, vIn, NULL ) ; }
            inline void             pauseMovie                                          ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.pauseMovie ( 1, vIn, NULL ) ; }
            inline void             stopMovie                                           ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.stopMovie ( 1, vIn, NULL ) ; }
            inline AIVariable       setRenderMap                                        ( const AIVariable& hComponent, const AIVariable& sRenderMap ) const { S3DX_DECLARE_VIN_02( hComponent, sRenderMap ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setRenderMap ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getRenderMapName                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getRenderMapName ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setPixelMap                                         ( const AIVariable& hComponent, const AIVariable& sPixelMap ) const { S3DX_DECLARE_VIN_02( hComponent, sPixelMap ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setPixelMap ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getPixelMapName                                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getPixelMapName ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getPixelMap                                         ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getPixelMap ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setProgressValue                                    ( const AIVariable& hComponent, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hComponent, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setProgressValue( 2, vIn, NULL ) ; }
            inline AIVariable       getProgressValue                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getProgressValue ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setProgressType                                     ( const AIVariable& hComponent, const AIVariable& kType ) const { S3DX_DECLARE_VIN_02( hComponent, kType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setProgressType ( 2, vIn, NULL ) ; }
            inline AIVariable       getProgressType                                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getProgressType ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getListItemCount                                    ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       addListItem                                         ( const AIVariable& hComponent, const AIVariable& sText ) const { S3DX_DECLARE_VIN_02( hComponent, sText ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.addListItem ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             removeListItemAt                                    ( const AIVariable& hComponent, const AIVariable& nItem ) const { S3DX_DECLARE_VIN_02( hComponent, nItem ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.removeListItemAt ( 2, vIn, NULL ) ; }
            inline void             selectListItemAt                                    ( const AIVariable& hComponent, const AIVariable& nItem, const AIVariable& bSelect ) const { S3DX_DECLARE_VIN_03( hComponent, nItem, bSelect ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.selectListItemAt ( 3, vIn, NULL ) ; }
            inline void             removeListAllItems                                  ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.removeListAllItems ( 1, vIn, NULL ) ; }
            inline void             selectListAllItems                                  ( const AIVariable& hComponent, const AIVariable& bSelect ) const { S3DX_DECLARE_VIN_02( hComponent, bSelect ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.selectListAllItems ( 2, vIn, NULL ) ; }
            inline AIVariable       getListItemTextAt                                   ( const AIVariable& hComponent, const AIVariable& nItem, const AIVariable& nColumn ) const { S3DX_DECLARE_VIN_03( hComponent, nItem, nColumn ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemTextAt ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             setListItemTextAt                                   ( const AIVariable& hComponent, const AIVariable& nItem, const AIVariable& nColumn, const AIVariable& sText ) const { S3DX_DECLARE_VIN_04( hComponent, nItem, nColumn, sText ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemTextAt ( 4, vIn, NULL ) ; }
            inline AIVariable       setListItemIconAt                                   ( const AIVariable& hComponent, const AIVariable& nItem, const AIVariable& nColumn, const AIVariable& sIcon ) const { S3DX_DECLARE_VIN_04( hComponent, nItem, nColumn, sIcon ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemIconAt ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getListItemIconAt                                   ( const AIVariable& hComponent, const AIVariable& nItem, const AIVariable& nColumn ) const { S3DX_DECLARE_VIN_03( hComponent, nItem, nColumn ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemIconAt ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             setListItemsHeight                                  ( const AIVariable& hComponent, const AIVariable& nHeight ) const { S3DX_DECLARE_VIN_02( hComponent, nHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemsHeight ( 2, vIn, NULL ) ; }
            inline AIVariable       getListItemsHeight                                  ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemsHeight ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setListItemsBackgroundImage                         ( const AIVariable& hComponent, const AIVariable& sImage ) const { S3DX_DECLARE_VIN_02( hComponent, sImage ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemsBackgroundImage ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getListItemsBackgroundImageName                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemsBackgroundImageName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListItemsBackgroundColor                         ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemsBackgroundColor ( 5, vIn, NULL ) ; }
            inline void             setListItemsBackgroundColorOdd                      ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemsBackgroundColorOdd ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getListItemsBackgroundColorOdd                      ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemsBackgroundColorOdd ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setListItemsBackgroundColorEven                     ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemsBackgroundColorEven ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getListItemsBackgroundColorEven                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemsBackgroundColorEven ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariable       setListItemsBackgroundImageSelected                 ( const AIVariable& hComponent, const AIVariable& sImage ) const { S3DX_DECLARE_VIN_02( hComponent, sImage ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemsBackgroundImageSelected ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getListItemsBackgroundImageSelectedName             ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemsBackgroundImageSelectedName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListItemsBackgroundColorSelected                 ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemsBackgroundColorSelected ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getListItemsBackgroundColorSelected                 ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemsBackgroundColorSelected ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setListItemsForegroundColorSelected                 ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemsForegroundColorSelected ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getListItemsForegroundColorSelected                 ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListItemsForegroundColorSelected ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setListTextLeftMargin                               ( const AIVariable& hComponent, const AIVariable& nMargin ) const { S3DX_DECLARE_VIN_02( hComponent, nMargin ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListTextLeftMargin ( 2, vIn, NULL ) ; }
            inline AIVariable       getListTextLeftMargin                               ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListTextLeftMargin ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListTextRightMargin                              ( const AIVariable& hComponent, const AIVariable& nMargin ) const { S3DX_DECLARE_VIN_02( hComponent, nMargin ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListTextRightMargin ( 2, vIn, NULL ) ; }
            inline AIVariable       getListTextRightMargin                              ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListTextRightMargin ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListTextHeight                                   ( const AIVariable& hComponent, const AIVariable& nHeight ) const { S3DX_DECLARE_VIN_02( hComponent, nHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListTextHeight ( 2, vIn, NULL ) ; }
            inline AIVariable       getListTextHeight                                   ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListTextHeight ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListTextLetterSpacing                            ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListTextLetterSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getListTextLetterSpacing                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListTextLetterSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListTextLineSpacing                              ( const AIVariable& hComponent, const AIVariable& nSpacing ) const { S3DX_DECLARE_VIN_02( hComponent, nSpacing ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListTextLineSpacing ( 2, vIn, NULL ) ; }
            inline AIVariable       getListTextLineSpacing                              ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListTextLineSpacing ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setListTextFont                                     ( const AIVariable& hComponent, const AIVariable& sFont ) const { S3DX_DECLARE_VIN_02( hComponent, sFont ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListTextFont ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getListTextFontName                                 ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListTextFontName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListTextCase                                     ( const AIVariable& hComponent, const AIVariable& kCase ) const { S3DX_DECLARE_VIN_02( hComponent, kCase ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListTextCase ( 2, vIn, NULL ) ; }
            inline AIVariable       getListTextCase                                     ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListTextCase ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListTextEncoding                                 ( const AIVariable& hComponent, const AIVariable& kEncoding ) const { S3DX_DECLARE_VIN_02( hComponent, kEncoding ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListTextEncoding ( 2, vIn, NULL ) ; }
            inline AIVariable       getListTextEncoding                                 ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListTextEncoding ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListTextDirection                                ( const AIVariable& hComponent, const AIVariable& kDirection ) const { S3DX_DECLARE_VIN_02( hComponent, kDirection ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListTextDirection ( 2, vIn, NULL ) ; }
            inline AIVariable       getListTextDirection                                ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListTextDirection ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableListTextAntialiasing                          ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableListTextAntialiasing ( 2, vIn, NULL ) ; }
            inline AIVariable       isListTextAntialiasingEnabled                       ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isListTextAntialiasingEnabled ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getListColumnCount                                  ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListColumnCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       addListColumn                                       ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.addListColumn ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListColumnTextAlignmentAt                        ( const AIVariable& hComponent, const AIVariable& nColumn, const AIVariable& kHAlignment, const AIVariable& kVAlignment ) const { S3DX_DECLARE_VIN_04( hComponent, nColumn, kHAlignment, kVAlignment ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListColumnTextAlignmentAt ( 4, vIn, NULL ) ; }
            inline void             setListColumnWidthAt                                ( const AIVariable& hComponent, const AIVariable& nColumn, const AIVariable& nWidth ) const { S3DX_DECLARE_VIN_03( hComponent, nColumn, nWidth ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListColumnWidthAt ( 3, vIn, NULL ) ; }
            inline AIVariable       getListColumnWidthAt                                ( const AIVariable& hComponent, const AIVariable& nColumn ) const { S3DX_DECLARE_VIN_02( hComponent, nColumn ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListColumnWidthAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             enableListSelection                                 ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableListSelection ( 2, vIn, NULL ) ; }
            inline void             enableListSingleSelection                           ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableListSingleSelection ( 2, vIn, NULL ) ; }
            inline void             enableListSingleSelectionToggling                   ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableListSingleSelectionToggling ( 2, vIn, NULL ) ; }
            inline void             enableListSmoothScrolling                           ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableListSmoothScrolling ( 2, vIn, NULL ) ; }
            inline void             enableListFingerScrolling                           ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableListFingerScrolling ( 2, vIn, NULL ) ; }
            inline void             enableListMouseWheelHandling                        ( const AIVariable& hComponent, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hComponent, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableListMouseWheelHandling ( 2, vIn, NULL ) ; }
            inline AIVariable       getListSelectedItemCount                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListSelectedItemCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getListSelectedItemAt                               ( const AIVariable& hComponent, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hComponent, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListSelectedItemAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setListVerticalScrollPos                            ( const AIVariable& hComponent, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hComponent, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListVerticalScrollPos ( 2, vIn, NULL ) ; }
            inline AIVariable       getListVerticalScrollPos                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListVerticalScrollPos ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setListVerticalScrollBarWidth                       ( const AIVariable& hComponent, const AIVariable& nWidth ) const { S3DX_DECLARE_VIN_02( hComponent, nWidth ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListVerticalScrollBarWidth ( 2, vIn, NULL ) ; }
            inline void             setListVerticalScrollBarArrowHeight                 ( const AIVariable& hComponent, const AIVariable& nHeight ) const { S3DX_DECLARE_VIN_02( hComponent, nHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListVerticalScrollBarArrowHeight ( 2, vIn, NULL ) ; }
            inline void             setListScrollBarBackgroundColor                     ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListScrollBarBackgroundColor ( 5, vIn, NULL ) ; }
            inline void             setListScrollBarForegroundColor                     ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListScrollBarForegroundColor ( 5, vIn, NULL ) ; }
            inline void             setListScrollBarArrowColor                          ( const AIVariable& hComponent, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_05( hComponent, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListScrollBarArrowColor ( 5, vIn, NULL ) ; }
            inline AIVariable       setListScrollBarBackgroundImages                    ( const AIVariable& hComponent, const AIVariable& sTop, const AIVariable& sMiddle, const AIVariable& sBottom ) const { S3DX_DECLARE_VIN_04( hComponent, sTop, sMiddle, sBottom ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListScrollBarBackgroundImages ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setListScrollBarForegroundImages                    ( const AIVariable& hComponent, const AIVariable& sTop, const AIVariable& sMiddle, const AIVariable& sBottom ) const { S3DX_DECLARE_VIN_04( hComponent, sTop, sMiddle, sBottom ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListScrollBarForegroundImages ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setListScrollBarArrowImages                         ( const AIVariable& hComponent, const AIVariable& sTop, const AIVariable& sBottom ) const { S3DX_DECLARE_VIN_03( hComponent, sTop, sBottom ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListScrollBarArrowImages ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             setListOnSelectionChangedAction                     ( const AIVariable& hComponent, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_02( hComponent, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListOnSelectionChangedAction ( 2, vIn, NULL ) ; }
            inline void             setSliderType                                       ( const AIVariable& hComponent, const AIVariable& kType ) const { S3DX_DECLARE_VIN_02( hComponent, kType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setSliderType ( 2, vIn, NULL ) ; }
            inline AIVariable       getSliderType                                       ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getSliderType ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setSliderRange                                      ( const AIVariable& hComponent, const AIVariable& nRangeMin, const AIVariable& nRangeMax ) const { S3DX_DECLARE_VIN_03( hComponent, nRangeMin, nRangeMax ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setSliderRange ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getSliderRange                                      ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getSliderRange ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setSliderValue                                      ( const AIVariable& hComponent, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hComponent, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setSliderValue ( 2, vIn, NULL ) ; }
            inline AIVariable       getSliderValue                                      ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getSliderValue ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setSliderThumbImage                                 ( const AIVariable& hComponent, const AIVariable& sImageName ) const { S3DX_DECLARE_VIN_02( hComponent, sImageName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setSliderThumbImage ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setSliderOnChangedAction                            ( const AIVariable& hComponent, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_02( hComponent, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setSliderOnChangedAction ( 2, vIn, NULL ) ; }
            inline void             beginActionCommand                                  ( const AIVariable& hAction, const AIVariable& kCommandType ) const { S3DX_DECLARE_VIN_02( hAction, kCommandType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.beginActionCommand ( 2, vIn, NULL ) ; }
            inline void             pushActionCommandArgument                           ( const AIVariable& hAction, const AIVariable& vArgument ) const { S3DX_DECLARE_VIN_02( hAction, vArgument ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.pushActionCommandArgument ( 2, vIn, NULL ) ; }
            inline void             pushActionCommandRuntimeArgument                    ( const AIVariable& hAction, const AIVariable& kRuntimeArgument ) const { S3DX_DECLARE_VIN_02( hAction, kRuntimeArgument ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.pushActionCommandRuntimeArgument ( 2, vIn, NULL ) ; }
            inline void             endActionCommand                                    ( const AIVariable& hAction ) const { S3DX_DECLARE_VIN_01( hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.endActionCommand ( 1, vIn, NULL ) ; }
            inline void             setTimerOnTickAction                                ( const AIVariable& hTimer, const AIVariable& hAction ) const { S3DX_DECLARE_VIN_02( hTimer, hAction ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setTimerOnTickAction ( 2, vIn, NULL ) ; }
            inline void             setTimerTickTime                                    ( const AIVariable& hTimer, const AIVariable& nTime ) const { S3DX_DECLARE_VIN_02( hTimer, nTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setTimerTickTime ( 2, vIn, NULL ) ; }
            inline void             startTimer                                          ( const AIVariable& hTimer ) const { S3DX_DECLARE_VIN_01( hTimer ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.startTimer ( 1, vIn, NULL ) ; }
            inline void             stopTimer                                           ( const AIVariable& hTimer ) const { S3DX_DECLARE_VIN_01( hTimer ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.stopTimer ( 1, vIn, NULL ) ; }
            inline AIVariable       callAction                                          ( const AIVariable& hUser, const AIVariable& sActionTag ) const { S3DX_DECLARE_VIN_02( hUser, sActionTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.callAction ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       callAction                                          ( const AIVariable& hUser, const AIVariable& sActionTag, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_03( hUser, sActionTag, vParam0 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.callAction ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       callAction                                          ( const AIVariable& hUser, const AIVariable& sActionTag, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_04( hUser, sActionTag, vParam0, vParam1 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.callAction ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       callAction                                          ( const AIVariable& hUser, const AIVariable& sActionTag, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_05( hUser, sActionTag, vParam0, vParam1, vParam2 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.callAction ( 5, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       callAction                                          ( const AIVariable& hUser, const AIVariable& sActionTag, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_06( hUser, sActionTag, vParam0, vParam1, vParam2, vParam3 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.callAction ( 6, vIn, &vOut ) ; return vOut ; }
            inline void             stopAction                                          ( const AIVariable& hUser, const AIVariable& sActionTag ) const { S3DX_DECLARE_VIN_02( hUser, sActionTag ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.stopAction ( 2, vIn, NULL ) ; }
            inline void             pauseAction                                         ( const AIVariable& hUser, const AIVariable& sActionTag ) const { S3DX_DECLARE_VIN_02( hUser, sActionTag ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.pauseAction ( 2, vIn, NULL ) ; }
            inline void             resumeAction                                        ( const AIVariable& hUser, const AIVariable& sActionTag ) const { S3DX_DECLARE_VIN_02( hUser, sActionTag ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.resumeAction ( 2, vIn, NULL ) ; }
            inline void             stopAllActions                                      ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.stopAllActions ( 1, vIn, NULL ) ; }
            inline void             pauseAllActions                                     ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.pauseAllActions ( 1, vIn, NULL ) ; }
            inline void             resumeAllActions                                    ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.resumeAllActions ( 1, vIn, NULL ) ; }
            inline AIVariable       isActionRunning                                     ( const AIVariable& hUser, const AIVariable& sActionTag ) const { S3DX_DECLARE_VIN_02( hUser, sActionTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isActionRunning ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isActionPaused                                      ( const AIVariable& hUser, const AIVariable& sActionTag ) const { S3DX_DECLARE_VIN_02( hUser, sActionTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isActionPaused ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getUnderCursorComponent                             ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getUnderCursorComponent ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getUnderCursorListItem                              ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getUnderCursorListItem ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getFocusedComponent                                 ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getFocusedComponent ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       enterModalMode                                      ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enterModalMode ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             leaveModalMode                                      ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.leaveModalMode ( 1, vIn, NULL ) ; }
            inline AIVariable       getComponentAtPoint                                 ( const AIVariable& hUser, const AIVariable& nPointX, const AIVariable& nPointY ) const { S3DX_DECLARE_VIN_03( hUser, nPointX, nPointY ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentAtPoint ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setListItemChildAt                                  ( const AIVariable& hComponent, const AIVariable& nItem, const AIVariable& nColumn, const AIVariable& hChild ) const { S3DX_DECLARE_VIN_04( hComponent, nItem, nColumn, hChild ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListItemChildAt ( 4, vIn, &vOut ) ; return vOut ; }
            inline void             setListFingerScrollingInertia                       ( const AIVariable& hComponent, const AIVariable& nInertia ) const { S3DX_DECLARE_VIN_02( hComponent, nInertia ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setListFingerScrollingInertia ( 2, vIn, NULL ) ; }
            inline AIVariable       getListFingerScrollingInertia                       ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getListFingerScrollingInertia ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setContainerClipChildren                            ( const AIVariable& hComponent, const AIVariable& bClip ) const { S3DX_DECLARE_VIN_02( hComponent, bClip ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setContainerClipChildren ( 2, vIn, NULL ) ; }
            inline AIVariable       getContainerClipChildren                            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getContainerClipChildren ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             finishAction                                        ( const AIVariable& hUser, const AIVariable& sActionTag ) const { S3DX_DECLARE_VIN_02( hUser, sActionTag ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.finishAction ( 2, vIn, NULL ) ; }
            inline void             finishAllActions                                    ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.finishAllActions ( 1, vIn, NULL ) ; }
            inline void             setComponentBackgroundImageFilteringMode            ( const AIVariable& hComponent, const AIVariable& kFilteringMode ) const { S3DX_DECLARE_VIN_02( hComponent, kFilteringMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.setComponentBackgroundImageFilteringMode ( 2, vIn, NULL ) ; }
            inline AIVariable       getComponentBackgroundImageFilteringMode            ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.getComponentBackgroundImageFilteringMode ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableListItemSelectionAt                           ( const AIVariable& hComponent, const AIVariable& nItem, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_03( hComponent, nItem, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableListItemSelectionAt ( 3, vIn, NULL ) ; }
            inline AIVariable       isComponentAspectInvariant                          ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isComponentAspectInvariant ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isComponentIgnoredByMouse                           ( const AIVariable& hComponent ) const { S3DX_DECLARE_VIN_01( hComponent ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.isComponentIgnoredByMouse ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       enableOffscreenOutput                               ( const AIVariable& hUser, const AIVariable& sRenderMap, const AIVariable& bEnabled ) const { S3DX_DECLARE_VIN_03( hUser, sRenderMap, bEnabled ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->hud.enableOffscreenOutput ( 3, vIn, &vOut ) ; return vOut ; }
        } ;

        struct InputPackage
        {
            // Constants
            //
            const AIVariable        kJoypadTypeNone                 ;
            const AIVariable        kJoypadTypeStandard             ;
            const AIVariable        kJoypadTypeWiimote              ;
            const AIVariable        kJoypadTypePhone                ;
            const AIVariable        kJoypadTypePSP                  ;
            const AIVariable        kJoypadTypePS3                  ; // 1.9.0.1
            const AIVariable        kJoypadButtonWiimoteA           ;
            const AIVariable        kJoypadButtonWiimoteB           ;
            const AIVariable        kJoypadButtonWiimoteOne         ;
            const AIVariable        kJoypadButtonWiimoteTwo         ;
            const AIVariable        kJoypadButtonWiimoteMinus       ;
            const AIVariable        kJoypadButtonWiimoteHome        ;
            const AIVariable        kJoypadButtonWiimotePlus        ;
            const AIVariable        kJoypadButtonWiimoteUp          ;
            const AIVariable        kJoypadButtonWiimoteDown        ;
            const AIVariable        kJoypadButtonWiimoteLeft        ;
            const AIVariable        kJoypadButtonWiimoteRight       ;
            const AIVariable        kJoypadButtonWiimoteZ           ;
            const AIVariable        kJoypadButtonWiimoteC           ;
            const AIVariable        kJoypadButtonPSPCross           ;
            const AIVariable        kJoypadButtonPSPCircle          ;
            const AIVariable        kJoypadButtonPSPTriangle        ;
            const AIVariable        kJoypadButtonPSPSquare          ;
            const AIVariable        kJoypadButtonPSPL               ;
            const AIVariable        kJoypadButtonPSPR               ;
            const AIVariable        kJoypadButtonPSPUp              ;
            const AIVariable        kJoypadButtonPSPDown            ;
            const AIVariable        kJoypadButtonPSPLeft            ;
            const AIVariable        kJoypadButtonPSPRight           ;
            const AIVariable        kJoypadButtonPSPSelect          ;
            const AIVariable        kJoypadButtonPSPStart           ;
            const AIVariable        kJoypadButtonPS3Cross           ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3Circle          ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3Triangle        ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3Square          ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3L1              ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3R1              ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3Up              ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3Down            ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3Left            ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3Right           ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3Select          ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3Start           ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3L2              ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3R2              ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3L3              ; // 1.9.0.1
            const AIVariable        kJoypadButtonPS3R3              ; // 1.9.0.1
            const AIVariable        kKeyUp                          ;
            const AIVariable        kKeyDown                        ;
            const AIVariable        kKeyRight                       ;
            const AIVariable        kKeyLeft                        ;
            const AIVariable        kKeySpace                       ;
            const AIVariable        kKeyReturn                      ;
            const AIVariable        kKeyEscape                      ;
            const AIVariable        kKeyTab                         ;
            const AIVariable        kKeyLControl                    ;
            const AIVariable        kKeyRControl                    ;
            const AIVariable        kKeyLShift                      ;
            const AIVariable        kKeyRShift                      ;
            const AIVariable        kKeyLAlt                        ;
            const AIVariable        kKeyRAlt                        ;
            const AIVariable        kKeyPageUp                      ;
            const AIVariable        kKeyPageDown                    ;
            const AIVariable        kKeyHome                        ;
            const AIVariable        kKeyEnd                         ;
            const AIVariable        kKeyInsert                      ;
            const AIVariable        kKeyDelete                      ;
            const AIVariable        kKeyBackspace                   ;
            const AIVariable        kKeyA                           ;
            const AIVariable        kKeyB                           ;
            const AIVariable        kKeyC                           ;
            const AIVariable        kKeyD                           ;
            const AIVariable        kKeyE                           ;
            const AIVariable        kKeyF                           ;
            const AIVariable        kKeyG                           ;
            const AIVariable        kKeyH                           ;
            const AIVariable        kKeyI                           ;
            const AIVariable        kKeyJ                           ;
            const AIVariable        kKeyK                           ;
            const AIVariable        kKeyL                           ;
            const AIVariable        kKeyM                           ;
            const AIVariable        kKeyN                           ;
            const AIVariable        kKeyO                           ;
            const AIVariable        kKeyP                           ;
            const AIVariable        kKeyQ                           ;
            const AIVariable        kKeyR                           ;
            const AIVariable        kKeyS                           ;
            const AIVariable        kKeyT                           ;
            const AIVariable        kKeyU                           ;
            const AIVariable        kKeyV                           ;
            const AIVariable        kKeyW                           ;
            const AIVariable        kKeyX                           ;
            const AIVariable        kKeyY                           ;
            const AIVariable        kKeyZ                           ;
            const AIVariable        kKeyF1                          ;
            const AIVariable        kKeyF2                          ;
            const AIVariable        kKeyF3                          ;
            const AIVariable        kKeyF4                          ;
            const AIVariable        kKeyF5                          ;
            const AIVariable        kKeyF6                          ;
            const AIVariable        kKeyF7                          ;
            const AIVariable        kKeyF8                          ;
            const AIVariable        kKeyF9                          ;
            const AIVariable        kKeyF10                         ;
            const AIVariable        kKeyF11                         ;
            const AIVariable        kKeyF12                         ;
            const AIVariable        kKey0                           ;
            const AIVariable        kKey1                           ;
            const AIVariable        kKey2                           ;
            const AIVariable        kKey3                           ;
            const AIVariable        kKey4                           ;
            const AIVariable        kKey5                           ;
            const AIVariable        kKey6                           ;
            const AIVariable        kKey7                           ;
            const AIVariable        kKey8                           ;
            const AIVariable        kKey9                           ;
            const AIVariable        kKeyMenu                        ; // 1.9.0.2
            const AIVariable        kJoypadTypeXbox360              ; // 1.9.0.6
            const AIVariable        kJoypadButtonXbox360A           ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360B           ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360Y           ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360X           ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360LShoulder   ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360RShoulder   ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360Up          ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360Down        ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360Left        ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360Right       ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360Back        ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360Start       ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360LThumb      ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360RThumb      ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360LTrigger    ; // 1.9.0.9
            const AIVariable        kJoypadButtonXbox360RTrigger    ; // 1.9.0.9

            InputPackage                    (    ):
            kJoypadTypeNone                 (  0 ),
            kJoypadTypeStandard             (  1 ),
            kJoypadTypeWiimote              (  2 ),
            kJoypadTypePhone                (  3 ),
            kJoypadTypePSP                  (  4 ),
            kJoypadTypePS3                  (  5 ), // 1.9.0.1
            kJoypadButtonWiimoteA           (  0 ),
            kJoypadButtonWiimoteB           (  1 ),
            kJoypadButtonWiimoteOne         (  2 ),
            kJoypadButtonWiimoteTwo         (  3 ),
            kJoypadButtonWiimoteMinus       (  4 ),
            kJoypadButtonWiimoteHome        (  5 ),
            kJoypadButtonWiimotePlus        (  6 ),
            kJoypadButtonWiimoteUp          (  7 ),
            kJoypadButtonWiimoteDown        (  8 ),
            kJoypadButtonWiimoteLeft        (  9 ),
            kJoypadButtonWiimoteRight       ( 10 ),
            kJoypadButtonWiimoteZ           ( 11 ),
            kJoypadButtonWiimoteC           ( 12 ),
            kJoypadButtonPSPCross           (  0 ),
            kJoypadButtonPSPCircle          (  1 ),
            kJoypadButtonPSPTriangle        (  2 ),
            kJoypadButtonPSPSquare          (  3 ),
            kJoypadButtonPSPL               (  4 ),
            kJoypadButtonPSPR               (  6 ),
            kJoypadButtonPSPUp              (  7 ),
            kJoypadButtonPSPDown            (  8 ),
            kJoypadButtonPSPLeft            (  9 ),
            kJoypadButtonPSPRight           ( 10 ),
            kJoypadButtonPSPSelect          ( 11 ),
            kJoypadButtonPSPStart           ( 12 ),
            kJoypadButtonPS3Cross           (  0 ), // 1.9.0.1
            kJoypadButtonPS3Circle          (  1 ), // 1.9.0.1
            kJoypadButtonPS3Triangle        (  2 ), // 1.9.0.1
            kJoypadButtonPS3Square          (  3 ), // 1.9.0.1
            kJoypadButtonPS3L1              (  4 ), // 1.9.0.1
            kJoypadButtonPS3R1              (  6 ), // 1.9.0.1
            kJoypadButtonPS3Up              (  7 ), // 1.9.0.1
            kJoypadButtonPS3Down            (  8 ), // 1.9.0.1
            kJoypadButtonPS3Left            (  9 ), // 1.9.0.1
            kJoypadButtonPS3Right           ( 10 ), // 1.9.0.1
            kJoypadButtonPS3Select          ( 11 ), // 1.9.0.1
            kJoypadButtonPS3Start           ( 12 ), // 1.9.0.1
            kJoypadButtonPS3L2              ( 13 ), // 1.9.0.1
            kJoypadButtonPS3R2              ( 14 ), // 1.9.0.1
            kJoypadButtonPS3L3              ( 15 ), // 1.9.0.1
            kJoypadButtonPS3R3              ( 16 ), // 1.9.0.1
            kKeyUp                          ( 30 ),
            kKeyDown                        ( 31 ),
            kKeyRight                       ( 32 ),
            kKeyLeft                        ( 33 ),
            kKeySpace                       ( 36 ),
            kKeyReturn                      ( 35 ),
            kKeyEscape                      ( 34 ),
            kKeyTab                         ( 43 ),
            kKeyLControl                    ( 26 ),
            kKeyRControl                    ( 27 ),
            kKeyLShift                      ( 28 ),
            kKeyRShift                      ( 29 ),
            kKeyLAlt                        ( 112 ),
            kKeyRAlt                        ( 113 ),
            kKeyPageUp                      ( 37 ),
            kKeyPageDown                    ( 38 ),
            kKeyHome                        ( 39 ),
            kKeyEnd                         ( 40 ),
            kKeyInsert                      ( 41 ),
            kKeyDelete                      ( 42 ),
            kKeyBackspace                   ( 76 ),
            kKeyA                           (  0 ),
            kKeyB                           (  1 ),
            kKeyC                           (  2 ),
            kKeyD                           (  3 ),
            kKeyE                           (  4 ),
            kKeyF                           (  5 ),
            kKeyG                           (  6 ),
            kKeyH                           (  7 ),
            kKeyI                           (  8 ),
            kKeyJ                           (  9 ),
            kKeyK                           ( 10 ),
            kKeyL                           ( 11 ),
            kKeyM                           ( 12 ),
            kKeyN                           ( 13 ),
            kKeyO                           ( 14 ),
            kKeyP                           ( 15 ),
            kKeyQ                           ( 16 ),
            kKeyR                           ( 17 ),
            kKeyS                           ( 18 ),
            kKeyT                           ( 19 ),
            kKeyU                           ( 20 ),
            kKeyV                           ( 21 ),
            kKeyW                           ( 22 ),
            kKeyX                           ( 23 ),
            kKeyY                           ( 24 ),
            kKeyZ                           ( 25 ),
            kKeyF1                          ( 44 ),
            kKeyF2                          ( 45 ),
            kKeyF3                          ( 46 ),
            kKeyF4                          ( 47 ),
            kKeyF5                          ( 48 ),
            kKeyF6                          ( 49 ),
            kKeyF7                          ( 50 ),
            kKeyF8                          ( 51 ),
            kKeyF9                          ( 52 ),
            kKeyF10                         ( 53 ),
            kKeyF11                         ( 54 ),
            kKeyF12                         ( 55 ),
            kKey0                           ( 56 ),
            kKey1                           ( 57 ),
            kKey2                           ( 58 ),
            kKey3                           ( 59 ),
            kKey4                           ( 60 ),
            kKey5                           ( 61 ),
            kKey6                           ( 62 ),
            kKey7                           ( 63 ),
            kKey8                           ( 64 ),
            kKey9                           ( 65 ),
            kKeyMenu                        ( 115 ), // 1.9.0.2
            kJoypadTypeXbox360              (  6 ),  // 1.9.0.6
            kJoypadButtonXbox360A           (  0 ),  // 1.9.0.9
            kJoypadButtonXbox360B           (  1 ),  // 1.9.0.9
            kJoypadButtonXbox360Y           (  2 ),  // 1.9.0.9
            kJoypadButtonXbox360X           (  3 ),  // 1.9.0.9
            kJoypadButtonXbox360LShoulder   (  4 ),  // 1.9.0.9
            kJoypadButtonXbox360RShoulder   (  6 ),  // 1.9.0.9
            kJoypadButtonXbox360Up          (  7 ),  // 1.9.0.9
            kJoypadButtonXbox360Down        (  8 ),  // 1.9.0.9
            kJoypadButtonXbox360Left        (  9 ),  // 1.9.0.9
            kJoypadButtonXbox360Right       ( 10 ),  // 1.9.0.9
            kJoypadButtonXbox360Back        ( 11 ),  // 1.9.0.9
            kJoypadButtonXbox360Start       ( 12 ),  // 1.9.0.9
            kJoypadButtonXbox360LThumb      ( 15 ),  // 1.9.0.9
            kJoypadButtonXbox360RThumb      ( 16 ),  // 1.9.0.9
            kJoypadButtonXbox360LTrigger    ( 13 ),  // 1.9.0.9
            kJoypadButtonXbox360RTrigger    ( 14 )   // 1.9.0.9
            { }

            // Functions
            //
            inline void             setJoypadVibrationsMagnitude                        ( const AIVariable& hUser, const AIVariable& nJoypad, const AIVariable& nMagnitude ) const { S3DX_DECLARE_VIN_03( hUser, nJoypad, nMagnitude ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.setJoypadVibrationsMagnitude ( 3, vIn, NULL ) ; }
            inline AIVariable       getJoypadType                                       ( const AIVariable& hUser, const AIVariable& nJoypad ) const { S3DX_DECLARE_VIN_02( hUser, nJoypad ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.getJoypadType ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             enableJoypadMotionSensors                           ( const AIVariable& hUser, const AIVariable& nJoypad, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_03( hUser, nJoypad, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.enableJoypadMotionSensors ( 3, vIn, NULL ) ; }
            inline void             enableJoypadIRMotionSensors                         ( const AIVariable& hUser, const AIVariable& nJoypad, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_03( hUser, nJoypad, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.enableJoypadIRMotionSensors ( 3, vIn, NULL ) ; }
            inline AIVariable       enableMultiTouch                                    ( const AIVariable& hUser, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hUser, bEnable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.enableMultiTouch ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       enableVirtualMouse                                  ( const AIVariable& hUser, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hUser, bEnable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.enableVirtualMouse ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setVirtualMousePosition                             ( const AIVariable& hUser, const AIVariable& x, const AIVariable& y ) const { S3DX_DECLARE_VIN_03( hUser, x, y ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.setVirtualMousePosition ( 3, vIn, NULL ) ; }
            inline void             setVirtualMouseButtonDown                           ( const AIVariable& hUser, const AIVariable& nButton, const AIVariable& bDown ) const { S3DX_DECLARE_VIN_03( hUser, nButton, bDown ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.setVirtualMouseButtonDown ( 3, vIn, NULL ) ; }
            inline void             scanDevices                                         ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->input.scanDevices ( 0, NULL, NULL ) ; }
            inline AIVariable       getJoypadBatteryLevel                               ( const AIVariable& hUser, const AIVariable& nJoypad ) const { S3DX_DECLARE_VIN_02( hUser, nJoypad ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.getJoypadBatteryLevel ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isJoypadExtensionAttached                           ( const AIVariable& hUser, const AIVariable& nJoypad ) const { S3DX_DECLARE_VIN_02( hUser, nJoypad ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->input.isJoypadExtensionAttached ( 2, vIn, &vOut ) ; return vOut ; }
        } ;

        struct LightPackage
        {    
            // Constants
            //
            const AIVariable        kTypePoint          ;
            const AIVariable        kTypeDirectional    ;

            LightPackage            (   ):
            kTypePoint              ( 1 ),
            kTypeDirectional        ( 2 )
            { }

            // Functions
            //
            inline AIVariable       getType                                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.getType ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isDynamic                                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.isDynamic ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isActive                                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.isActive ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setActive                                           ( const AIVariable& hObject, const AIVariable& bActive ) const { S3DX_DECLARE_VIN_02( hObject, bActive ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.setActive ( 2, vIn, NULL ) ; }
            inline void             setColor                                            ( const AIVariable& hObject, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue ) const { S3DX_DECLARE_VIN_04( hObject, nRed, nGreen, nBlue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.setColor ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getColor                                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.getColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setClipMaskBit                                      ( const AIVariable& hObject, const AIVariable& nBit, const AIVariable& bValue ) const { S3DX_DECLARE_VIN_03( hObject, nBit, bValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.setClipMaskBit ( 3, vIn, NULL ) ; }
            inline AIVariable       getClipMaskBit                                      ( const AIVariable& hObject, const AIVariable& nBit ) const { S3DX_DECLARE_VIN_02( hObject, nBit ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.getClipMaskBit ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setDynamic                                          ( const AIVariable& hObject, const AIVariable& bDynamic ) const { S3DX_DECLARE_VIN_02( hObject, bDynamic ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.setDynamic ( 2, vIn, NULL ) ; }
            inline void             setDynamicShadowsViewSpaceClipRectangle             ( const AIVariable& hObject, const AIVariable& nMinX, const AIVariable& nMinY, const AIVariable& nMaxX, const AIVariable& nMaxY ) const { S3DX_DECLARE_VIN_05( hObject, nMinX, nMinY, nMaxX, nMaxY ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.setDynamicShadowsViewSpaceClipRectangle ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getDynamicShadowsViewSpaceClipRectangle             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->light.getDynamicShadowsViewSpaceClipRectangle ( 1, vIn, vOut ) ; return vOut ; }
        } ;

        struct LogPackage
        {
            // Functions
            //
            inline void             enable                                              ( const AIVariable& _bEnable ) const { S3DX_DECLARE_VIN_01( _bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.enable ( 1, vIn, NULL ) ; }
            inline AIVariable       isEnabled                                           ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.isEnabled ( 0, NULL, &vOut ) ; return vOut ; }

            inline void             message                                             ( const AIVariable& _v0 ) const { S3DX_DECLARE_VIN_01( _v0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 1, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1 ) const { S3DX_DECLARE_VIN_02( _v0, _v1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 2, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2 ) const { S3DX_DECLARE_VIN_03( _v0, _v1, _v2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 3, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3 ) const { S3DX_DECLARE_VIN_04( _v0, _v1, _v2, _v3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 4, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4 ) const { S3DX_DECLARE_VIN_05( _v0, _v1, _v2, _v3, _v4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 5, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5 ) const { S3DX_DECLARE_VIN_06( _v0, _v1, _v2, _v3, _v4, _v5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 6, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6 ) const { S3DX_DECLARE_VIN_07( _v0, _v1, _v2, _v3, _v4, _v5, _v6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 7, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7 ) const { S3DX_DECLARE_VIN_08( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 8, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8 ) const { S3DX_DECLARE_VIN_09( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 9, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8, const AIVariable& _v9 ) const { S3DX_DECLARE_VIN_10( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 10, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8, const AIVariable& _v9, const AIVariable& _v10 ) const { S3DX_DECLARE_VIN_11( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9, _v10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 11, vIn, NULL ) ; }
            inline void             message                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8, const AIVariable& _v9, const AIVariable& _v10, const AIVariable& _v11 ) const { S3DX_DECLARE_VIN_12( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9, _v10, _v11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.message ( 12, vIn, NULL ) ; }

            inline void             warning                                             ( const AIVariable& _v0 ) const { S3DX_DECLARE_VIN_01( _v0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 1, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1 ) const { S3DX_DECLARE_VIN_02( _v0, _v1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 2, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2 ) const { S3DX_DECLARE_VIN_03( _v0, _v1, _v2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 3, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3 ) const { S3DX_DECLARE_VIN_04( _v0, _v1, _v2, _v3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 4, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4 ) const { S3DX_DECLARE_VIN_05( _v0, _v1, _v2, _v3, _v4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 5, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5 ) const { S3DX_DECLARE_VIN_06( _v0, _v1, _v2, _v3, _v4, _v5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 6, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6 ) const { S3DX_DECLARE_VIN_07( _v0, _v1, _v2, _v3, _v4, _v5, _v6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 7, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7 ) const { S3DX_DECLARE_VIN_08( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 8, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8 ) const { S3DX_DECLARE_VIN_09( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 9, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8, const AIVariable& _v9 ) const { S3DX_DECLARE_VIN_10( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 10, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8, const AIVariable& _v9, const AIVariable& _v10 ) const { S3DX_DECLARE_VIN_11( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9, _v10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 11, vIn, NULL ) ; }
            inline void             warning                                             ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8, const AIVariable& _v9, const AIVariable& _v10, const AIVariable& _v11 ) const { S3DX_DECLARE_VIN_12( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9, _v10, _v11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.warning ( 12, vIn, NULL ) ; }

            inline void             error                                               ( const AIVariable& _v0 ) const { S3DX_DECLARE_VIN_01( _v0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 1, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1 ) const { S3DX_DECLARE_VIN_02( _v0, _v1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 2, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2 ) const { S3DX_DECLARE_VIN_03( _v0, _v1, _v2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 3, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3 ) const { S3DX_DECLARE_VIN_04( _v0, _v1, _v2, _v3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 4, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4 ) const { S3DX_DECLARE_VIN_05( _v0, _v1, _v2, _v3, _v4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 5, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5 ) const { S3DX_DECLARE_VIN_06( _v0, _v1, _v2, _v3, _v4, _v5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 6, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6 ) const { S3DX_DECLARE_VIN_07( _v0, _v1, _v2, _v3, _v4, _v5, _v6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 7, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7 ) const { S3DX_DECLARE_VIN_08( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 8, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8 ) const { S3DX_DECLARE_VIN_09( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 9, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8, const AIVariable& _v9 ) const { S3DX_DECLARE_VIN_10( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 10, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8, const AIVariable& _v9, const AIVariable& _v10 ) const { S3DX_DECLARE_VIN_11( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9, _v10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 11, vIn, NULL ) ; }
            inline void             error                                               ( const AIVariable& _v0, const AIVariable& _v1, const AIVariable& _v2, const AIVariable& _v3, const AIVariable& _v4, const AIVariable& _v5, const AIVariable& _v6, const AIVariable& _v7, const AIVariable& _v8, const AIVariable& _v9, const AIVariable& _v10, const AIVariable& _v11 ) const { S3DX_DECLARE_VIN_12( _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9, _v10, _v11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->log.error ( 12, vIn, NULL ) ; }
        } ;

        struct MathPackage
        {
            // Constants
            //
            const AIVariable        kInfinity   ;
            const AIVariable        kEpsilon    ;
            const AIVariable        kPi         ;

            MathPackage             (   ):
            kInfinity               ( 3.402823466e+38f ),
            kEpsilon                ( 0.000001f ),
            kPi                     ( 3.1415926535897932384626433832795f )
            { }

            // Functions
            //
            inline AIVariable       clamp                                               ( const AIVariable& nNumber, const AIVariable& nMin, const AIVariable& nMax ) const { S3DX_DECLARE_VIN_03( nNumber, nMin, nMax ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.clamp ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       interpolate                                         ( const AIVariable& nSrc, const AIVariable& nDst, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_03( nSrc, nDst, nFactor ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.interpolate ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       sin                                                 ( const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_01( nAngle ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.sin ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       cos                                                 ( const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_01( nAngle ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.cos ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       tan                                                 ( const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_01( nAngle ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.tan ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       asin                                                ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.asin ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       acos                                                ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.acos ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       atan                                                ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.atan ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       atan2                                               ( const AIVariable& nValue1, const AIVariable& nValue2 ) const { S3DX_DECLARE_VIN_02( nValue1, nValue2 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.atan2 ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       min                                                 ( const AIVariable& nValue1, const AIVariable& nValue2 ) const { S3DX_DECLARE_VIN_02( nValue1, nValue2 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.min ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       max                                                 ( const AIVariable& nValue1, const AIVariable& nValue2 ) const { S3DX_DECLARE_VIN_02( nValue1, nValue2 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.max ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       sqrt                                                ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.sqrt ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             resetRandomSeed                                     ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.resetRandomSeed ( 1, vIn, NULL ) ; }
            inline AIVariable       random                                              ( const AIVariable& nMin, const AIVariable& nMax ) const { S3DX_DECLARE_VIN_02( nMin, nMax ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.random ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       gaussianRandom                                      ( const AIVariable& nCenter, const AIVariable& nRadius ) const { S3DX_DECLARE_VIN_02( nCenter, nRadius ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.gaussianRandom ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       pow                                                 ( const AIVariable& nValue, const AIVariable& nPower ) const { S3DX_DECLARE_VIN_02( nValue, nPower ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.pow ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       floor                                               ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.floor ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       trunc                                               ( const AIVariable& nValue, const AIVariable& nDecimals ) const { S3DX_DECLARE_VIN_02( nValue, nDecimals ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.trunc ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       roundToNearestInteger                               ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.roundToNearestInteger ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       roundToNearestPowerOfTwo                            ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.roundToNearestPowerOfTwo ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       ceil                                                ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.ceil ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       abs                                                 ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.abs ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       mod                                                 ( const AIVariable& nValue1, const AIVariable& nValue2 ) const { S3DX_DECLARE_VIN_02( nValue1, nValue2 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.mod ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       log                                                 ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.log ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       log10                                               ( const AIVariable& nValue ) const { S3DX_DECLARE_VIN_01( nValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.log10 ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       evaluateBSpline                                     ( const AIVariable& nValue1, const AIVariable& nValue2, const AIVariable& nValue3, const AIVariable& nValue4, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( nValue1, nValue2, nValue3, nValue4, nFactor ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.evaluateBSpline ( 5, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       evaluateBezier                                      ( const AIVariable& nValue1, const AIVariable& nValue2, const AIVariable& nValue3, const AIVariable& nValue4, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( nValue1, nValue2, nValue3, nValue4, nFactor ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.evaluateBezier ( 5, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       evaluateCatmullRom                                  ( const AIVariable& nValue1, const AIVariable& nValue2, const AIVariable& nValue3, const AIVariable& nValue4, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( nValue1, nValue2, nValue3, nValue4, nFactor ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.evaluateCatmullRom ( 5, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   computeRayPlaneIntersection                         ( const AIVariable& nRayPntX, const AIVariable& nRayPntY, const AIVariable& nRayPntZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength, const AIVariable& nPlaneA, const AIVariable& nPlaneB, const AIVariable& nPlaneC, const AIVariable& nPlaneD ) const { S3DX_DECLARE_VIN_11( nRayPntX, nRayPntY, nRayPntZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength, nPlaneA, nPlaneB, nPlaneC, nPlaneD ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.computeRayPlaneIntersection ( 11, vIn, vOut ) ; return vOut ; } 
            inline AIVariables<3>   computeRaySphereIntersection                        ( const AIVariable& nRayPntX, const AIVariable& nRayPntY, const AIVariable& nRayPntZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength, const AIVariable& nSphereX, const AIVariable& nSphereY, const AIVariable& nSphereZ, const AIVariable& nSphereR ) const { S3DX_DECLARE_VIN_11( nRayPntX, nRayPntY, nRayPntZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength, nSphereX, nSphereY, nSphereZ, nSphereR ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.computeRaySphereIntersection ( 11, vIn, vOut ) ; return vOut ; } 
            inline AIVariables<3>   computeRayAABoxIntersection                         ( const AIVariable& nRayPntX, const AIVariable& nRayPntY, const AIVariable& nRayPntZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength, const AIVariable& nBoxMinX, const AIVariable& nBoxMinY, const AIVariable& nBoxMinZ, const AIVariable& nBoxMaxX, const AIVariable& nBoxMaxY, const AIVariable& nBoxMaxZ ) const { S3DX_DECLARE_VIN_13( nRayPntX, nRayPntY, nRayPntZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength, nBoxMinX, nBoxMinY, nBoxMinZ, nBoxMaxX, nBoxMaxY, nBoxMaxZ ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.computeRayAABoxIntersection ( 13, vIn, vOut ) ; return vOut ; } 
            inline AIVariables<3>   vectorAdd                                           ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z, const AIVariable& nV2x, const AIVariable& nV2y, const AIVariable& nV2z ) const { S3DX_DECLARE_VIN_06( nV1x, nV1y, nV1z, nV2x, nV2y, nV2z ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorAdd ( 6, vIn, vOut ) ; return vOut ; } 
            inline AIVariables<3>   vectorSubtract                                      ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z, const AIVariable& nV2x, const AIVariable& nV2y, const AIVariable& nV2z ) const { S3DX_DECLARE_VIN_06( nV1x, nV1y, nV1z, nV2x, nV2y, nV2z ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorSubtract ( 6, vIn, vOut ) ; return vOut ; } 
            inline AIVariable       vectorDotProduct                                    ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z, const AIVariable& nV2x, const AIVariable& nV2y, const AIVariable& nV2z ) const { S3DX_DECLARE_VIN_06( nV1x, nV1y, nV1z, nV2x, nV2y, nV2z ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorDotProduct ( 6, vIn, &vOut ) ; return vOut ; } 
            inline AIVariables<3>   vectorCrossProduct                                  ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z, const AIVariable& nV2x, const AIVariable& nV2y, const AIVariable& nV2z ) const { S3DX_DECLARE_VIN_06( nV1x, nV1y, nV1z, nV2x, nV2y, nV2z ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorCrossProduct ( 6, vIn, vOut ) ; return vOut ; } 
            inline AIVariables<3>   vectorNormalize                                     ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z ) const { S3DX_DECLARE_VIN_03( nV1x, nV1y, nV1z ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorNormalize ( 3, vIn, vOut ) ; return vOut ; } 
            inline AIVariables<3>   vectorNormalize                                     ( const AIVariables<3>& vVector ) const { AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorNormalize ( 3, vVector, vOut ) ; return vOut ; } // C++ addon, for convenience
            inline AIVariable       vectorLength                                        ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z ) const { S3DX_DECLARE_VIN_03( nV1x, nV1y, nV1z ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorLength ( 3, vIn, &vOut ) ; return vOut ; } 
            inline AIVariable       vectorLength                                        ( const AIVariables<3>& vVector ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorLength ( 3, vVector, &vOut ) ; return vOut ; } // C++ addon, for convenience
            inline AIVariables<3>   vectorScale                                         ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z, const AIVariable& nScale ) const { S3DX_DECLARE_VIN_04( nV1x, nV1y, nV1z, nScale ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorScale ( 4, vIn, vOut ) ; return vOut ; } 
            inline AIVariables<3>   vectorInterpolate                                   ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z, const AIVariable& nV2x, const AIVariable& nV2y, const AIVariable& nV2z, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_07( nV1x, nV1y, nV1z, nV2x, nV2y, nV2z, nFactor ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorInterpolate ( 7, vIn, vOut ) ; return vOut ; } 
            inline AIVariables<3>   vectorReflect                                       ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z, const AIVariable& nV2x, const AIVariable& nV2y, const AIVariable& nV2z ) const { S3DX_DECLARE_VIN_06( nV1x, nV1y, nV1z, nV2x, nV2y, nV2z ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorReflect ( 6, vIn, vOut ) ; return vOut ; } 
            inline AIVariables<3>   vectorSetLength                                     ( const AIVariable& nV1x, const AIVariable& nV1y, const AIVariable& nV1z, const AIVariable& nLength ) const { S3DX_DECLARE_VIN_04( nV1x, nV1y, nV1z, nLength ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->math.vectorSetLength ( 4, vIn, vOut ) ; return vOut ; } 
        } ;

        struct MeshPackage
        {
            // Constants
            //
            const AIVariable        kLockModeRead       ;
            const AIVariable        kLockModeWrite      ;
            const AIVariable        kLockReadWrite      ; // Deprecated (typo)
            const AIVariable        kLockModeReadWrite  ;

            MeshPackage             (   ):
            kLockModeRead           ( 1 ),
            kLockModeWrite          ( 2 ),
            kLockReadWrite          ( 3 ),
            kLockModeReadWrite      ( 3 )
            { }

            // Functions
            //
            inline AIVariable       getSubsetCount                                      ( const AIVariable& hMesh ) const { S3DX_DECLARE_VIN_01( hMesh ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.getSubsetCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSubsetVertexCount                                ( const AIVariable& hMesh, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hMesh, nSubset ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.getSubsetVertexCount ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSubsetIndexCount                                 ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, nLOD ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.getSubsetIndexCount ( 3, vIn, &vOut ) ; return vOut ; } 
            inline AIVariable       getSubsetLODCount                                   ( const AIVariable& hMesh, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hMesh, nSubset ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.getSubsetLODCount ( 2, vIn, &vOut ) ; return vOut ; } 
            inline AIVariable       addSubset                                           ( const AIVariable& hMesh ) const { S3DX_DECLARE_VIN_01( hMesh ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.addSubset ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             removeSubset                                        ( const AIVariable& hMesh, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hMesh, nSubset ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.removeSubset ( 2, vIn, NULL ) ; }
            inline AIVariable       createSubsetVertexBuffer                            ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nVertexCount ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, nVertexCount ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.createSubsetVertexBuffer ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             destroySubsetVertexBuffer                           ( const AIVariable& hMesh, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hMesh, nSubset ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.destroySubsetVertexBuffer ( 2, vIn, NULL ) ; }
            inline AIVariable       createSubsetIndexBuffer                             ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD, const AIVariable& nIndexCount ) const { S3DX_DECLARE_VIN_04( hMesh, nSubset, nLOD, nIndexCount ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.createSubsetIndexBuffer ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createSubsetIndexBuffer                             ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD, const AIVariable& nIndexCount, const AIVariable& b32bpi ) const { S3DX_DECLARE_VIN_05( hMesh, nSubset, nLOD, nIndexCount, b32bpi ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.createSubsetIndexBuffer ( 5, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createSubsetIndexBuffer                             ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD, const AIVariable& nIndexCount, const AIVariable& b32bpi, const AIVariable& nLODThreshold ) const { S3DX_DECLARE_VIN_06( hMesh, nSubset, nLOD, nIndexCount, b32bpi, nLODThreshold ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.createSubsetIndexBuffer ( 6, vIn, &vOut ) ; return vOut ; }
            inline void             destroySubsetIndexBuffer                            ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, nLOD ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.destroySubsetIndexBuffer ( 3, vIn, NULL ) ; }
            inline AIVariable       lockSubsetVertexBuffer                              ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& kLockMode ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, kLockMode ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.lockSubsetVertexBuffer ( 3, vIn, &vOut ) ; return vOut ; } 
            inline void             unlockSubsetVertexBuffer                            ( const AIVariable& hMesh, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hMesh, nSubset ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.unlockSubsetVertexBuffer ( 2, vIn, NULL ) ; }
            inline AIVariable       lockSubsetIndexBuffer                               ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD, const AIVariable& kLockMode ) const { S3DX_DECLARE_VIN_04( hMesh, nSubset, nLOD, kLockMode ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.lockSubsetIndexBuffer ( 4, vIn, &vOut ) ; return vOut ; } 
            inline void             unlockSubsetIndexBuffer                             ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, nLOD ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.unlockSubsetIndexBuffer ( 3, vIn, NULL ) ; }
            inline void             setSubsetVertexPosition                             ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nVertex, const AIVariable& x, const AIVariable& y, const AIVariable& z ) const { S3DX_DECLARE_VIN_06( hMesh, nSubset, nVertex, x, y, z ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetVertexPosition ( 6, vIn, NULL ) ; }
            inline AIVariables<3>   getSubsetVertexPosition                             ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nVertex ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, nVertex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.getSubsetVertexPosition ( 3, vIn, vOut ) ; return vOut ; }
            inline void             setSubsetVertexNormal                               ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nVertex, const AIVariable& i, const AIVariable& j, const AIVariable& k ) const { S3DX_DECLARE_VIN_06( hMesh, nSubset, nVertex, i, j, k ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetVertexNormal ( 6, vIn, NULL ) ; }
            inline AIVariables<3>   getSubsetVertexNormal                               ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nVertex ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, nVertex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.getSubsetVertexNormal ( 3, vIn, vOut ) ; return vOut ; }
            inline void             setSubsetVertexTexCoord                             ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nVertex, const AIVariable& nSet, const AIVariable& u, const AIVariable& v ) const { S3DX_DECLARE_VIN_06( hMesh, nSubset, nVertex, nSet, u, v ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetVertexTexCoord ( 6, vIn, NULL ) ; }
            inline AIVariables<2>   getSubsetVertexTexCoord                             ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nVertex, const AIVariable& nSet ) const { S3DX_DECLARE_VIN_04( hMesh, nSubset, nVertex, nSet ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.getSubsetVertexTexCoord ( 4, vIn, vOut ) ; return vOut ; }
            inline void             setSubsetIndexValue                                 ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD, const AIVariable& nIndex, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_05( hMesh, nSubset, nLOD, nIndex, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetIndexValue ( 5, vIn, NULL ) ; }
            inline AIVariable       getSubsetIndexValue                                 ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_04( hMesh, nSubset, nLOD, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.getSubsetIndexValue ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getResourceHandle                                   ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.getResourceHandle ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setSubsetVertexBufferDynamic                        ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& bDynamic ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, bDynamic ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetVertexBufferDynamic ( 3, vIn, NULL ) ; }
            inline AIVariable       isSubsetVertexBufferDynamic                         ( const AIVariable& hMesh, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hMesh, nSubset ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.isSubsetVertexBufferDynamic ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setSubsetIndexBufferDynamic                         ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD, const AIVariable& bDynamic ) const { S3DX_DECLARE_VIN_04( hMesh, nSubset, nLOD, bDynamic ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetIndexBufferDynamic ( 4, vIn, NULL ) ; }
            inline AIVariable       isSubsetIndexBufferDynamic                          ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nLOD ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, nLOD ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.isSubsetIndexBufferDynamic ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             computeSubsetVertexNormals                          ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.computeSubsetVertexNormals ( 3, vIn, NULL ) ; }
            inline void             computeSubsetVertexTangents                         ( const AIVariable& hMesh, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hMesh, nSubset ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.computeSubsetVertexTangents ( 2, vIn, NULL ) ; }
            inline void             updateBoundingVolumes                               ( const AIVariable& hMesh ) const { S3DX_DECLARE_VIN_01( hMesh ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.updateBoundingVolumes ( 1, vIn, NULL ) ; }
            inline void             destroySubsetIndexBuffers                           ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& bRebuildVertexBuffer ) const { S3DX_DECLARE_VIN_03( hMesh, nSubset, bRebuildVertexBuffer ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.destroySubsetIndexBuffers ( 3, vIn, NULL ) ; }
            inline void             morphSubsetVertexPositions                          ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& hBaseMesh, const AIVariable& nBaseSubset, const AIVariable& hTargetMesh, const AIVariable& nTargetSubset, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_07( hMesh, nSubset, hBaseMesh, nBaseSubset, hTargetMesh, nTargetSubset, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.morphSubsetVertexPositions ( 7, vIn, NULL ) ; }
            inline void             morphSubsetVertexNormals                            ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& hBaseMesh, const AIVariable& nBaseSubset, const AIVariable& hTargetMesh, const AIVariable& nTargetSubset, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_07( hMesh, nSubset, hBaseMesh, nBaseSubset, hTargetMesh, nTargetSubset, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.morphSubsetVertexNormals ( 7, vIn, NULL ) ; }
            inline void             morphSubsetVertexTangents                           ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& hBaseMesh, const AIVariable& nBaseSubset, const AIVariable& hTargetMesh, const AIVariable& nTargetSubset, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_07( hMesh, nSubset, hBaseMesh, nBaseSubset, hTargetMesh, nTargetSubset, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.morphSubsetVertexTangents ( 7, vIn, NULL ) ; }
            inline void             morphSubsetVertexPositionsAbsolute                  ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& hBaseMesh, const AIVariable& nBaseSubset, const AIVariable& hTargetMesh, const AIVariable& nTargetSubset, const AIVariable& nMaxDistance ) const { S3DX_DECLARE_VIN_07( hMesh, nSubset, hBaseMesh, nBaseSubset, hTargetMesh, nTargetSubset, nMaxDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.morphSubsetVertexPositionsAbsolute ( 7, vIn, NULL ) ; }
            inline void             setSubsetVertexPositions                            ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nStartVertex, const AIVariable& nVertexCount, const AIVariable& nVertexStride, const AIVariable& pVertexList ) const { S3DX_DECLARE_VIN_06( hMesh, nSubset, nStartVertex, nVertexCount, nVertexStride, pVertexList ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetVertexPositions ( 6, vIn, NULL ) ; }
            inline void             setSubsetVertexNormals                              ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nStartVertex, const AIVariable& nVertexCount, const AIVariable& nVertexStride, const AIVariable& pVertexList ) const { S3DX_DECLARE_VIN_06( hMesh, nSubset, nStartVertex, nVertexCount, nVertexStride, pVertexList ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetVertexNormals ( 6, vIn, NULL ) ; }
            inline void             setSubsetBoundingBox                                ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nMinX, const AIVariable& nMinY, const AIVariable& nMinZ, const AIVariable& nMaxX, const AIVariable& nMaxY, const AIVariable& nMaxZ ) const { S3DX_DECLARE_VIN_08( hMesh, nSubset, nMinX, nMinY, nMinZ, nMaxX, nMaxY, nMaxZ ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetBoundingBox ( 8, vIn, NULL ) ; }
            inline void             setSubsetVertexTexCoords                            ( const AIVariable& hMesh, const AIVariable& nSubset, const AIVariable& nSet, const AIVariable& nStartVertex, const AIVariable& nVertexCount, const AIVariable& nVertexStride, const AIVariable& pVertexList ) const { S3DX_DECLARE_VIN_07( hMesh, nSubset, nSet, nStartVertex, nVertexCount, nVertexStride, pVertexList ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->mesh.setSubsetVertexTexCoords ( 7, vIn, NULL ) ; }
        } ;

        struct MicrophonePackage
        {
            // Functions
            //
            inline void             setRate                                             ( const AIVariable& nRate ) const { S3DX_DECLARE_VIN_01( nRate ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.setRate ( 1, vIn, NULL ) ; }
            inline AIVariable       enable                                              ( const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_01( bEnable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.enable ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getActivityLevel                                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.getActivityLevel ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       enableSpectrumAnalyzer                              ( const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_01( bEnable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.enableSpectrumAnalyzer ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setSpectrumWidth                                    ( const AIVariable& nWidth ) const { S3DX_DECLARE_VIN_01( nWidth ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.setSpectrumWidth ( 1, vIn, NULL ) ; }
            inline AIVariable       getSpectrumWidth                                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.getSpectrumWidth ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getSpectrumLevels                                   ( const AIVariable& tSpectrum ) const { S3DX_DECLARE_VIN_01( tSpectrum ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.getSpectrumLevels ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setRecordingQuality                                 ( const AIVariable& nQuality ) const { S3DX_DECLARE_VIN_01( nQuality ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.setRecordingQuality ( 1, vIn, NULL ) ; }
            inline AIVariable       startRecordingAsMusic                               ( const AIVariable& sMusicName ) const { S3DX_DECLARE_VIN_01( sMusicName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.startRecordingAsMusic ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             stopRecording                                       ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.stopRecording ( 0, NULL, NULL ) ; }
            inline AIVariable       startDiffusion                                      ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.startDiffusion ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             stopDiffusion                                       ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.stopDiffusion ( 0, NULL, NULL ) ; }
            inline AIVariable       addUserToDiffusionList                              ( const AIVariable& nUserID ) const { S3DX_DECLARE_VIN_01( nUserID ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.addUserToDiffusionList ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             removeUserFromDiffusionList                         ( const AIVariable& nUserID ) const { S3DX_DECLARE_VIN_01( nUserID ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.removeUserFromDiffusionList ( 1, vIn, NULL ) ; }
            inline AIVariable       isUserInDiffusionList                               ( const AIVariable& nUserID ) const { S3DX_DECLARE_VIN_01( nUserID ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.isUserInDiffusionList ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             emptyDiffusionList                                  ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.emptyDiffusionList ( 0, NULL, NULL ) ; }
            inline AIVariable       getDiffusionListUserCount                           ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.getDiffusionListUserCount ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getDiffusionListUserIDAt                            ( const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_01( nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->microphone.getDiffusionListUserIDAt ( 1, vIn, &vOut ) ; return vOut ; }
        } ;

        struct MusicPackage
        {
            // Functions
            //
            inline void             play                                                ( const AIVariable& hScene, const AIVariable& nMusicIndex, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_03( hScene, nMusicIndex, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->music.play ( 3, vIn, NULL ) ; }
            inline void             play                                                ( const AIVariable& hScene, const AIVariable& nMusicIndex, const AIVariable& nFadeTime, const AIVariable& nInitialProgress ) const { S3DX_DECLARE_VIN_04( hScene, nMusicIndex, nFadeTime, nInitialProgress ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->music.play ( 4, vIn, NULL ) ; }
            inline void             pause                                               ( const AIVariable& hScene, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_02( hScene, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->music.pause ( 2, vIn, NULL ) ; }
            inline void             resume                                              ( const AIVariable& hScene, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_02( hScene, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->music.resume ( 2, vIn, NULL ) ; }
            inline void             stop                                                ( const AIVariable& hScene, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_02( hScene, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->music.stop ( 2, vIn, NULL ) ; }
            inline void             setVolume                                           ( const AIVariable& hScene, const AIVariable& nVolume, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_03( hScene, nVolume, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->music.setVolume ( 3, vIn, NULL ) ; }
            inline AIVariable       getPlaybackProgress                                 ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->music.getPlaybackProgress ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       playAdditional                                      ( const AIVariable& hScene, const AIVariable& nMusicName, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_03( hScene, nMusicName, nFadeTime ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->music.playAdditional ( 3, vIn, &vOut ) ; return vOut ; }
        } ;

        struct NavigationPackage
        {
            // Functions
            //
            inline AIVariable       setTargetNode                                       ( const AIVariable& hObject, const AIVariable& hNode ) const { S3DX_DECLARE_VIN_02( hObject, hNode ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.setTargetNode ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setAcceleration                                     ( const AIVariable& hObject, const AIVariable& nAccel ) const { S3DX_DECLARE_VIN_02( hObject, nAccel ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.setAcceleration ( 2, vIn, NULL ) ; }
            inline AIVariable       getAcceleration                                     ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getAcceleration ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setSpeedLimit                                       ( const AIVariable& hObject, const AIVariable& nLimit ) const { S3DX_DECLARE_VIN_02( hObject, nLimit ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.setSpeedLimit ( 2, vIn, NULL ) ; }
            inline AIVariable       getSpeedLimit                                       ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getSpeedLimit ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setHeightOffset                                     ( const AIVariable& hObject, const AIVariable& nHeight ) const { S3DX_DECLARE_VIN_02( hObject, nHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.setHeightOffset ( 2, vIn, NULL ) ; }
            inline AIVariable       getHeightOffset                                     ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getHeightOffset ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getNode                                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getNode ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTargetNode                                       ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getTargetNode ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTargetNodeDistance                               ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getTargetNodeDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSpeed                                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getSpeed ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getVelocity                                         ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getVelocity ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariable       setRandomTargetNode                                 ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.setRandomTargetNode ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setNearestTargetNode                                ( const AIVariable& hObject, const AIVariable& hOtherObject ) const { S3DX_DECLARE_VIN_02( hObject, hOtherObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.setNearestTargetNode ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setNearestNode                                      ( const AIVariable& hObject, const AIVariable& hOtherObject ) const { S3DX_DECLARE_VIN_02( hObject, hOtherObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.setNearestNode ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPathMaxLength                                    ( const AIVariable& hObject, const AIVariable& nMaxLength ) const { S3DX_DECLARE_VIN_02( hObject, nMaxLength ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.setPathMaxLength ( 2, vIn, NULL ) ; }
            inline AIVariable       getPathMaxLength                                    ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getPathMaxLength ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getPathNodeCount                                    ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getPathNodeCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getPathNodeAt                                       ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getPathNodeAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             enableNodesInBox                                    ( const AIVariable& hScene, const AIVariable& nBoxMinX, const AIVariable& nBoxMinY, const AIVariable& nBoxMinZ, const AIVariable& nBoxMaxX, const AIVariable& nBoxMaxY, const AIVariable& nBoxMaxZ, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_08( hScene, nBoxMinX, nBoxMinY, nBoxMinZ, nBoxMaxX, nBoxMaxY, nBoxMaxZ, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.enableNodesInBox ( 8, vIn, NULL ) ; }
            inline void             enableNode                                          ( const AIVariable& hScene, const AIVariable& hNode, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_03( hScene, hNode, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.enableNode ( 3, vIn, NULL ) ; }
            inline AIVariables<3>   getNodeTranslation                                  ( const AIVariable& hScene, const AIVariable& hNode ) const { S3DX_DECLARE_VIN_02( hScene, hNode ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getNodeTranslation ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariable       isNodeOnBorder                                      ( const AIVariable& hScene, const AIVariable& hNode ) const { S3DX_DECLARE_VIN_02( hScene, hNode ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.isNodeOnBorder ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isNodeEnabled                                       ( const AIVariable& hScene, const AIVariable& hNode ) const { S3DX_DECLARE_VIN_02( hScene, hNode ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.isNodeEnabled ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isNodeInUse                                         ( const AIVariable& hScene, const AIVariable& hNode ) const { S3DX_DECLARE_VIN_02( hScene, hNode ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.isNodeInUse ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setWaitTimeout                                      ( const AIVariable& hObject, const AIVariable& nTime ) const { S3DX_DECLARE_VIN_02( hObject, nTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getWaitTimeout ( 2, vIn, NULL ) ; }
            inline AIVariable       getWaitTimeout                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->navigation.getWaitTimeout ( 1, vIn, &vOut ) ; return vOut ; }
        } ;

        struct NetworkPackage
        {
            // Constants
            //
            const AIVariable        kStatusAuthenticated    ;
            const AIVariable        kStatusPending          ;
            const AIVariable        kStatusNone             ;
            const AIVariable        kStatusSearchFinished   ;
            const AIVariable        kDefaultServerPort      ;
            const AIVariable        kBluetoothServerPort    ;

            NetworkPackage          (   ):
            kStatusAuthenticated    ( 2 ),
            kStatusPending          ( 1 ),
            kStatusNone             ( 0 ),
            kStatusSearchFinished   ( 3 ),
            kDefaultServerPort      ( 5354 ),
            kBluetoothServerPort    ( 0 )
            { }

            // Functions
            //
            inline void             authenticate                                        ( const AIVariable& sURL, const AIVariable& sLogin, const AIVariable& sPassword ) const { S3DX_DECLARE_VIN_03( sURL, sLogin, sPassword ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->network.authenticate ( 3, vIn, NULL ) ; }
            inline void             disconnect                                          ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->network.disconnect ( 0, NULL, NULL ) ; }
            inline AIVariable       getStatus                                           ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->network.getStatus ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getServerCount                                      ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->network.getServerCount ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getServerNameAt                                     ( const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_01( nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->network.getServerNameAt ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setCurrentServer                                    ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->network.setCurrentServer ( 1, vIn, NULL ) ; }
            inline AIVariable       getCurrentServer                                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->network.getCurrentServer ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             createServer                                        ( const AIVariable& nPort ) const { S3DX_DECLARE_VIN_01( nPort ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->network.createServer ( 1, vIn, NULL ) ; }
            inline void             searchForServers                                    ( const AIVariable& nPort ) const { S3DX_DECLARE_VIN_01( nPort ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->network.searchForServers ( 1, vIn, NULL ) ; }
        } ;

        struct ObjectPackage
        {
            // Constants
            //
            const AIVariable        kGlobalSpace                                        ;
            const AIVariable        kParentSpace                                        ;
            const AIVariable        kLocalSpace                                         ;
            const AIVariable        kTypeDummy                                          ;
            const AIVariable        kTypeCamera                                         ;
            const AIVariable        kTypeGroup                                          ;
            const AIVariable        kTypeLight                                          ;
            const AIVariable        kTypeSfx                                            ;
            const AIVariable        kTypeShape                                          ;
            const AIVariable        kTypeSensor                                         ;
            const AIVariable        kTypeCollider                                       ;
            const AIVariable        kTypeReflector                                      ;
            const AIVariable        kTypeProjector                                      ;
            const AIVariable        kControllerTypeAny                                  ;
            const AIVariable        kControllerTypeAI                                   ;
            const AIVariable        kControllerTypeAnimation                            ;
            const AIVariable        kControllerTypeDynamics                             ;
            const AIVariable        kControllerTypeNavigation                           ;
            const AIVariable        kControllerTypeSound                                ;
            const AIVariable        kTransformOptionInheritsParentTranslation           ;
            const AIVariable        kTransformOptionInheritsParentRotation              ;
            const AIVariable        kTransformOptionInheritsParentScale                 ;
            const AIVariable        kTransformOptionTranslationAffectedByParentRotation ;
            const AIVariable        kTransformOptionTranslationAffectedByParentScale    ;

            ObjectPackage                                       (   ):
            kGlobalSpace                                        ( 0 ),
            kParentSpace                                        ( 1 ),
            kLocalSpace                                         ( 2 ),
            kTypeDummy                                          ( 0 ),
            kTypeCamera                                         ( 0x00000001 ),
            kTypeGroup                                          ( 0x00000002 ),
            kTypeLight                                          ( 0x00000004 ),
            kTypeSfx                                            ( 0x00000008 ),
            kTypeShape                                          ( 0x00000010 ),
            kTypeSensor                                         ( 0x00000020 ),
            kTypeCollider                                       ( 0x00000080 ),
            kTypeReflector                                      ( 0x00000100 ),
            kTypeProjector                                      ( 0x00000200 ),
            kControllerTypeAny                                  ( 0 ),
            kControllerTypeAI                                   ( 1 ),
            kControllerTypeAnimation                            ( 2 ),
            kControllerTypeDynamics                             ( 3 ),
            kControllerTypeNavigation                           ( 4 ),
            kControllerTypeSound                                ( 5 ),
            kTransformOptionInheritsParentTranslation           ( 0 ),
            kTransformOptionInheritsParentRotation              ( 1 ),
            kTransformOptionInheritsParentScale                 ( 2 ),
            kTransformOptionTranslationAffectedByParentRotation ( 3 ),
            kTransformOptionTranslationAffectedByParentScale    ( 4 )
            { }

            // Functions
            //
            inline AIVariable       getHashCode                                         ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getHashCode ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isEqualTo                                           ( const AIVariable& hObject, const AIVariable& hOtherObject ) const { S3DX_DECLARE_VIN_02( hObject, hOtherObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.isEqualTo ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isKindOf                                            ( const AIVariable& hObject, const AIVariable& kType ) const { S3DX_DECLARE_VIN_02( hObject, kType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.isKindOf ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       hasController                                       ( const AIVariable& hObject, const AIVariable& kControllerType ) const { S3DX_DECLARE_VIN_02( hObject, kControllerType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.hasController ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getScene                                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getScene ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getParent                                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getParent ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setParent                                           ( const AIVariable& hObject, const AIVariable& hParent, const AIVariable& bKeepGlobalTransform ) const { S3DX_DECLARE_VIN_03( hObject, hParent, bKeepGlobalTransform ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setParent ( 3, vIn, NULL ) ; }
            inline AIVariable       getModelName                                        ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getModelName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableDistanceClipping                              ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.enableDistanceClipping ( 2, vIn, NULL ) ; }
            inline void             setDistanceClippingThresholds                       ( const AIVariable& hObject, const AIVariable& nInDistance, const AIVariable& nOutDistance ) const { S3DX_DECLARE_VIN_03( hObject, nInDistance, nOutDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setDistanceClippingThresholds ( 3, vIn, NULL ) ; }
            inline void             setDistanceClippingFadeTime                         ( const AIVariable& hObject, const AIVariable& nTime ) const { S3DX_DECLARE_VIN_02( hObject, nTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setDistanceClippingFadeTime ( 2, vIn, NULL ) ; }
            inline void             enableDistanceActivation                            ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.enableDistanceActivation ( 2, vIn, NULL ) ; }
            inline void             setDistanceActivationThresholds                     ( const AIVariable& hObject, const AIVariable& nInDistance, const AIVariable& nOutDistance ) const { S3DX_DECLARE_VIN_03( hObject, nInDistance, nOutDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setDistanceActivationThresholds ( 3, vIn, NULL ) ; }
            inline void             enableFrustumActivation                             ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.enableFrustumActivation ( 2, vIn, NULL ) ; }
            inline void             enableZoneActivation                                ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.enableZoneActivation ( 2, vIn, NULL ) ; }
            inline void             setCanBeReflected                                   ( const AIVariable& hObject, const AIVariable& bCan ) const { S3DX_DECLARE_VIN_02( hObject, bCan ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setCanBeReflected ( 2, vIn, NULL ) ; }
            inline void             setCanBeRefracted                                   ( const AIVariable& hObject, const AIVariable& bCan ) const { S3DX_DECLARE_VIN_02( hObject, bCan ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setCanBeRefracted ( 2, vIn, NULL ) ; }
            inline void             setCanBeOccluded                                    ( const AIVariable& hObject, const AIVariable& bCan ) const { S3DX_DECLARE_VIN_02( hObject, bCan ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setCanBeOccluded ( 2, vIn, NULL ) ; }
            inline AIVariable       canBeReflected                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.canBeReflected ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       canBeRefracted                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.canBeRefracted ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       canBeOccluded                                       ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.canBeOccluded ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setTransformOption                                  ( const AIVariable& hObject, const AIVariable& kTransformOption, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_03( hObject, kTransformOption, bEnable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setTransformOption ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTransformOption                                  ( const AIVariable& hObject, const AIVariable& kTransformOption ) const { S3DX_DECLARE_VIN_02( hObject, kTransformOption ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getTransformOption ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       bindTransformToParentSkeletonJoint                  ( const AIVariable& hObject, const AIVariable& sJointName ) const { S3DX_DECLARE_VIN_02( hObject, sJointName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.bindTransformToParentSkeletonJoint ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             unbindTransformFromParentSkeletonJoint              ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.unbindTransformFromParentSkeletonJoint ( 1, vIn, NULL ) ; }
            inline AIVariables<3>   getTranslation                                      ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getTranslation ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getRotation                                         ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getRotation ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<4>   getRotationQuaternion                               ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getRotationQuaternion ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getScale                                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getScale ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getDirection                                        ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getDirection ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getXAxis                                            ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getXAxis ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getYAxis                                            ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getYAxis ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getZAxis                                            ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getZAxis ( 2, vIn, vOut ) ; return vOut ; }
            inline void             resetTranslation                                    ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.resetTranslation ( 2, vIn, NULL ) ; }
            inline void             matchTranslation                                    ( const AIVariable& hObject, const AIVariable& hOtherObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03(  hObject, hOtherObject, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.matchTranslation ( 3, vIn, NULL ) ; }
            inline void             setTranslation                                      ( const AIVariable& hObject, const AIVariable& nTx, const AIVariable& nTy, const AIVariable& nTz, uint8 kSpace ) const { S3DX_DECLARE_VIN_05( hObject, nTx, nTy, nTz, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setTranslation ( 5, vIn, NULL ) ; }
            inline void             translate                                           ( const AIVariable& hObject, const AIVariable& nTx, const AIVariable& nTy, const AIVariable& nTz, uint8 kSpace ) const { S3DX_DECLARE_VIN_05( hObject, nTx, nTy, nTz, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.translate ( 5, vIn, NULL ) ; }
            inline void             translateTo                                         ( const AIVariable& hObject, const AIVariable& nTx, const AIVariable& nTy, const AIVariable& nTz, uint8 kSpace, float32 nFactor ) const { S3DX_DECLARE_VIN_06( hObject, nTx, nTy, nTz, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.translateTo ( 6, vIn, NULL ) ; }
            inline void             resetRotation                                       ( const AIVariable& hObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_02( hObject, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.resetRotation ( 2, vIn, NULL ) ; }
            inline void             matchRotation                                       ( const AIVariable& hObject, const AIVariable& hOtherObject, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03(  hObject, hOtherObject, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.matchRotation ( 3, vIn, NULL ) ; }
            inline void             setRotation                                         ( const AIVariable& hObject, const AIVariable& nRx, const AIVariable& nRy, const AIVariable& nRz, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, nRx, nRy, nRz, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setRotation ( 5, vIn, NULL ) ; }
            inline void             setRotationYPR                                      ( const AIVariable& hObject, const AIVariable& nYaw, const AIVariable& nPitch, const AIVariable& nRoll, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, nYaw, nPitch, nRoll, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setRotationYPR ( 5, vIn, NULL ) ; }
            inline void             setRotationAxisAngle                                ( const AIVariable& hObject, const AIVariable& nAxisX, const AIVariable& nAxisY, const AIVariable& nAxisZ, const AIVariable& nAngle, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nAxisX, nAxisY, nAxisZ, nAngle, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setRotationAxisAngle ( 6, vIn, NULL ) ; }
            inline void             setRotationQuaternion                               ( const AIVariable& hObject, const AIVariable& nQuatX, const AIVariable& nQuatY, const AIVariable& nQuatZ, const AIVariable& nQuatW, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nQuatX, nQuatY, nQuatZ, nQuatW, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setRotationQuaternion ( 6, vIn, NULL ) ; }
            inline void             rotate                                              ( const AIVariable& hObject, const AIVariable& nRx, const AIVariable& nRy, const AIVariable& nRz, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, nRx, nRy, nRz, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.rotate ( 5, vIn, NULL ) ; }
            inline void             rotateYPR                                           ( const AIVariable& hObject, const AIVariable& nYaw, const AIVariable& nPitch, const AIVariable& nRoll, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_05( hObject, nYaw, nPitch, nRoll, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.rotateYPR ( 5, vIn, NULL ) ; }
            inline void             rotateAxisAngle                                     ( const AIVariable& hObject, const AIVariable& nAxisX, const AIVariable& nAxisY, const AIVariable& nAxisZ, const AIVariable& nAngle, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nAxisX, nAxisY, nAxisZ, nAngle, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.rotateAxisAngle ( 6, vIn, NULL ) ; }
            inline void             rotateQuaternion                                    ( const AIVariable& hObject, const AIVariable& nQuatX, const AIVariable& nQuatY, const AIVariable& nQuatZ, const AIVariable& nQuatW, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nQuatX, nQuatY, nQuatZ, nQuatW, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.rotateQuaternion ( 6, vIn, NULL ) ; }
            inline void             rotateTo                                            ( const AIVariable& hObject, const AIVariable& nRx, const AIVariable& nRy, const AIVariable& nRz, const AIVariable& kSpace, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_06( hObject, nRx, nRy, nRz, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.rotateTo ( 6, vIn, NULL ) ; }
            inline void             rotateToYPR                                         ( const AIVariable& hObject, const AIVariable& nYaw, const AIVariable& nPitch, const AIVariable& nRoll, const AIVariable& kSpace, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_06( hObject, nYaw, nPitch, nRoll, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.rotateToYPR ( 6, vIn, NULL ) ; }
            inline void             rotateToAxisAngle                                   ( const AIVariable& hObject, const AIVariable& nAxisX, const AIVariable& nAxisY, const AIVariable& nAxisZ, const AIVariable& nAngle, const AIVariable& kSpace, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_07( hObject, nAxisX, nAxisY, nAxisZ, nAngle, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.rotateToAxisAngle ( 7, vIn, NULL ) ; }
            inline void             rotateToQuaternion                                  ( const AIVariable& hObject, const AIVariable& nQuatX, const AIVariable& nQuatY, const AIVariable& nQuatZ, const AIVariable& nQuatW, const AIVariable& kSpace, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_07( hObject, nQuatX, nQuatY, nQuatZ, nQuatW, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.rotateToQuaternion ( 7, vIn, NULL ) ; }
            inline void             rotateAround                                        ( const AIVariable& hObject, const AIVariable& nPx, const AIVariable& nPy, const AIVariable& nPz, const AIVariable& nRx, const AIVariable& nRy, const AIVariable& nRz, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_08( hObject, nPx, nPy, nPz, nRx, nRy, nRz, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.rotateAround ( 8, vIn, NULL ) ; }
            inline void             lookAt                                              ( const AIVariable& hObject, const AIVariable& nPx, const AIVariable& nPy, const AIVariable& nPz, const AIVariable& kSpace, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_06( hObject, nPx, nPy, nPz, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.lookAt ( 6, vIn, NULL ) ; }
            inline void             lookAtWithUp                                        ( const AIVariable& hObject, const AIVariable& nPx, const AIVariable& nPy, const AIVariable& nPz, const AIVariable& nUx, const AIVariable& nUy, const AIVariable& nUz, const AIVariable& kSpace, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_09( hObject, nPx, nPy, nPz, nUx, nUy, nUz, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.lookAtWithUp ( 9, vIn, NULL ) ; }
            inline void             setUniformScale                                     ( const AIVariable& hObject, const AIVariable& nScale ) const { S3DX_DECLARE_VIN_02( hObject, nScale ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setUniformScale ( 2, vIn, NULL ) ; }
            inline void             setScale                                            ( const AIVariable& hObject, const AIVariable& nSx, const AIVariable& nSy, const AIVariable& nSz ) const { S3DX_DECLARE_VIN_04( hObject, nSx, nSy, nSz ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setScale ( 4, vIn, NULL ) ; }
            inline AIVariable       isActive                                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.isActive ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setVisible                                          ( const AIVariable& hObject, const AIVariable& bVisible ) const { S3DX_DECLARE_VIN_02( hObject, bVisible ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setVisible ( 2, vIn, NULL ) ; }
            inline AIVariable       isVisible                                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.isVisible ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getDistanceToObject                                 ( const AIVariable& hObject, const AIVariable& hOtherObject ) const { S3DX_DECLARE_VIN_02( hObject, hOtherObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getDistanceToObject ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getBoundingSphereRadius                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getBoundingSphereRadius ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getBoundingSphereCenter                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getBoundingSphereCenter ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getBoundingBoxMin                                   ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getBoundingBoxMin ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getBoundingBoxMax                                   ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getBoundingBoxMax ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariable       addAIModel                                          ( const AIVariable& hObject, const AIVariable& sAIModel ) const { S3DX_DECLARE_VIN_02( hObject, sAIModel ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.addAIModel ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             removeAIModel                                       ( const AIVariable& hObject, const AIVariable& sAIModel ) const { S3DX_DECLARE_VIN_02( hObject, sAIModel ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.removeAIModel ( 2, vIn, NULL ) ; }
            inline AIVariable       getAIModelCount                                     ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getAIModelCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAIModelNameAt                                    ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getAIModelNameAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       hasAIModel                                          ( const AIVariable& hObject, const AIVariable& sAIModel ) const { S3DX_DECLARE_VIN_02( hObject, sAIModel ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.hasAIModel ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       hasAIEventHandler                                   ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sHandler ) const { S3DX_DECLARE_VIN_03( hObject, sAIModel, sHandler ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.hasAIEventHandler ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAIVariable                                       ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sVariable ) const { S3DX_DECLARE_VIN_03( hObject, sAIModel, sVariable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getAIVariable ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setAIVariable                                       ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sVariable, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_04( hObject, sAIModel, sVariable, vValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setAIVariable ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAIState                                          ( const AIVariable& hObject, const AIVariable& sAIModel ) const { S3DX_DECLARE_VIN_02( hObject, sAIModel ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getAIState ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setSoundBank                                        ( const AIVariable& hObject, const AIVariable& sSoundBank ) const { S3DX_DECLARE_VIN_02( hObject, sSoundBank ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setSoundBank ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setAnimBank                                         ( const AIVariable& hObject, const AIVariable& sAnimBank ) const { S3DX_DECLARE_VIN_02( hObject, sAnimBank ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setAnimBank ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   transformVector                                     ( const AIVariable& hObject, const AIVariable& nVx, const AIVariable& nVy, const AIVariable& nVz, const AIVariable& kSrcSpace, const AIVariable& kDstSpace ) const { S3DX_DECLARE_VIN_06( hObject, nVx, nVy, nVz, kSrcSpace, kDstSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.transformVector ( 6, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   transformPoint                                      ( const AIVariable& hObject, const AIVariable& nPx, const AIVariable& nPy, const AIVariable& nPz, const AIVariable& kSrcSpace, const AIVariable& kDstSpace ) const { S3DX_DECLARE_VIN_06( hObject, nPx, nPy, nPz, kSrcSpace, kDstSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.transformPoint ( 6, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getChildCount                                       ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getChildCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getChildAt                                          ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getChildAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getStaticHandle                                     ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getStaticHandle ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       fromStaticHandle                                    ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.fromStaticHandle ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             releaseStaticHandle                                 ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.releaseStaticHandle ( 1, vIn, NULL ) ; }
            inline void             forceInactive                                       ( const AIVariable& hObject, const AIVariable& bForce, const AIVariable& bRecursive ) const { S3DX_DECLARE_VIN_03( hObject, bForce, bRecursive ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.forceInactive ( 3, vIn, NULL ) ; }
            inline void             setReceivesCustomAIEventsWhenInactive               ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.setReceivesCustomAIEventsWhenInactive ( 2, vIn, NULL ) ; }
            inline AIVariable       getReceivesCustomAIEventsWhenInactive               ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.getReceivesCustomAIEventsWhenInactive ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableAIModel                                       ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_03( hObject, sAIModel, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.enableAIModel ( 3, vIn, NULL ) ; }

            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent ) const { S3DX_DECLARE_VIN_03( hObject, sAIModel, sEvent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 3, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_04( hObject, sAIModel, sEvent, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 4, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_05( hObject, sAIModel, sEvent, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 5, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_06( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 6, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_07( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 7, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_08( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 8, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_09( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 9, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_10( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 10, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_11( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 11, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_12( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 12, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_13( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 13, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_14( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 14, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_15( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 15, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12 ) const { S3DX_DECLARE_VIN_16( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 16, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13 ) const { S3DX_DECLARE_VIN_17( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 17, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14 ) const { S3DX_DECLARE_VIN_18( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 18, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15 ) const { S3DX_DECLARE_VIN_19( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 19, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15, const AIVariable& vParam16 ) const { S3DX_DECLARE_VIN_20( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15, vParam16 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEvent ( 20, vIn, NULL ) ; }

            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent ) const { S3DX_DECLARE_VIN_04( hObject, nDelay, sAIModel, sEvent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 4, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_05( hObject, nDelay, sAIModel, sEvent, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 5, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_06( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 6, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_07( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 7, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_08( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 8, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_09( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 9, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_10( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 10, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_11( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 11, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_12( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 12, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_13( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 13, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_14( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 14, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_15( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 15, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_16( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 16, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12 ) const { S3DX_DECLARE_VIN_17( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 17, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13 ) const { S3DX_DECLARE_VIN_18( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 18, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14 ) const { S3DX_DECLARE_VIN_19( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 19, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15 ) const { S3DX_DECLARE_VIN_20( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 20, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hObject, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15, const AIVariable& vParam16 ) const { S3DX_DECLARE_VIN_21( hObject, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15, vParam16 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.postEvent ( 21, vIn, NULL ) ; }

            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent ) const { S3DX_DECLARE_VIN_03( hObject, sAIModel, sEvent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 3, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_04( hObject, sAIModel, sEvent, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 4, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_05( hObject, sAIModel, sEvent, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 5, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_06( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 6, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_07( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 7, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_08( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 8, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_09( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 9, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_10( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 10, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_11( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 11, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_12( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 12, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_13( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 13, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_14( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 14, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_15( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 15, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12 ) const { S3DX_DECLARE_VIN_16( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 16, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13 ) const { S3DX_DECLARE_VIN_17( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 17, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14 ) const { S3DX_DECLARE_VIN_18( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 18, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15 ) const { S3DX_DECLARE_VIN_19( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 19, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hObject, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15, const AIVariable& vParam16 ) const { S3DX_DECLARE_VIN_20( hObject, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15, vParam16 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->object.sendEventImmediate ( 20, vIn, NULL ) ; }
        } ;

        struct PixelmapPackage
        {
            // Constants
            //
            const AIVariable        kPenModeNone        ;
            const AIVariable        kPenModeSolid       ;
            const AIVariable        kPenModeBrush       ;
            const AIVariable        kFillModeNone       ;
            const AIVariable        kFillModeSolid      ;
            const AIVariable        kFillModeBrush      ;
            const AIVariable        kBlendModeDecal     ;
            const AIVariable        kBlendModeReplace   ;

            PixelmapPackage         (   ):
            kPenModeNone            ( 0 ),
            kPenModeSolid           ( 1 ),
            kPenModeBrush           ( 2 ),
            kFillModeNone           ( 0 ),
            kFillModeSolid          ( 1 ),
            kFillModeBrush          ( 2 ),
            kBlendModeDecal         ( 0 ),
            kBlendModeReplace       ( 1 )
            { }

            // Functions
            //
            inline AIVariable       getWidth                                            ( const AIVariable& hPixelMap ) const { S3DX_DECLARE_VIN_01( hPixelMap ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.getWidth ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getHeight                                           ( const AIVariable& hPixelMap ) const { S3DX_DECLARE_VIN_01( hPixelMap ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.getHeight ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       lock                                                ( const AIVariable& hPixelMap ) const { S3DX_DECLARE_VIN_01( hPixelMap ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.lock ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             unlock                                              ( const AIVariable& hPixelMap ) const { S3DX_DECLARE_VIN_01( hPixelMap ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.unlock ( 1, vIn, NULL ) ; }
            inline void             setPixel                                            ( const AIVariable& hPixelMap, const AIVariable& x, const AIVariable& y, const AIVariable& r, const AIVariable& g, const AIVariable& b, const AIVariable& a ) const { S3DX_DECLARE_VIN_07( hPixelMap, x, y, r, g, b, a ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setPixel ( 7, vIn, NULL ) ; }
            inline void             setPixels                                           ( const AIVariable& hPixelMap, const AIVariable& pixels ) const { S3DX_DECLARE_VIN_02( hPixelMap, pixels ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setPixels ( 2, vIn, NULL ) ; }
            inline AIVariables<4>   getPixel                                            ( const AIVariable& hPixelMap, const AIVariable& x, const AIVariable& y ) const { S3DX_DECLARE_VIN_03( hPixelMap, x, y ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.getPixel ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getPixels                                           ( const AIVariable& hPixelMap ) const { S3DX_DECLARE_VIN_01( hPixelMap ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.getPixels ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createBrushFromTexture                              ( const AIVariable& hPixelMap, const AIVariable& sBrush, const AIVariable& sTexture ) const { S3DX_DECLARE_VIN_03( hPixelMap, sBrush, sTexture ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.createBrushFromTexture ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createBrushFromRectangle                            ( const AIVariable& hPixelMap, const AIVariable& sBrush, const AIVariable& x1, const AIVariable& y1, const AIVariable& x2, const AIVariable& y2 ) const { S3DX_DECLARE_VIN_06( hPixelMap, sBrush, x1, y1, x2, y2 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.createBrushFromRectangle ( 6, vIn, &vOut ) ; return vOut ; }
            inline void             destroyBrush                                        ( const AIVariable& hPixelMap, const AIVariable& sBrush ) const { S3DX_DECLARE_VIN_02( hPixelMap, sBrush ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.destroyBrush ( 2, vIn, NULL ) ; }
            inline AIVariable       getBrushCount                                       ( const AIVariable& hPixelMap ) const { S3DX_DECLARE_VIN_01( hPixelMap ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.getBrushCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<2>   getBrushOrigin                                      ( const AIVariable& hPixelMap, const AIVariable& sBrush ) const { S3DX_DECLARE_VIN_02( hPixelMap, sBrush ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.getBrushOrigin ( 2, vIn, vOut ) ; return vOut ; }
            inline void             setBrushOrigin                                      ( const AIVariable& hPixelMap, const AIVariable& sBrush, const AIVariable& x, const AIVariable& y ) const { S3DX_DECLARE_VIN_04( hPixelMap, sBrush, x, y ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setBrushOrigin ( 4, vIn, NULL ) ; }
            inline AIVariable       getBrushWidth                                       ( const AIVariable& hPixelMap, const AIVariable& sBrush ) const { S3DX_DECLARE_VIN_02( hPixelMap, sBrush ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.getBrushWidth ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getBrushHeight                                      ( const AIVariable& hPixelMap, const AIVariable& sBrush ) const { S3DX_DECLARE_VIN_02( hPixelMap, sBrush ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.getBrushHeight ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPenColor                                         ( const AIVariable& hPixelMap, const AIVariable& r, const AIVariable& g, const AIVariable& b, const AIVariable& a ) const { S3DX_DECLARE_VIN_05( hPixelMap, r, g, b, a ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setPenColor ( 5, vIn, NULL ) ; }
            inline void             setPenBrush                                         ( const AIVariable& hPixelMap, const AIVariable& sBrush ) const { S3DX_DECLARE_VIN_02( hPixelMap, sBrush ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setPenBrush ( 2, vIn, NULL ) ; }
            inline void             setPenMode                                          ( const AIVariable& hPixelMap, const AIVariable& kPenMode ) const { S3DX_DECLARE_VIN_02( hPixelMap, kPenMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setPenMode ( 2, vIn, NULL ) ; }
            inline void             setFillColor                                        ( const AIVariable& hPixelMap, const AIVariable& r, const AIVariable& g, const AIVariable& b, const AIVariable& a ) const { S3DX_DECLARE_VIN_05( hPixelMap, r, g, b, a ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setFillColor ( 5, vIn, NULL ) ; }
            inline void             setFillBrush                                        ( const AIVariable& hPixelMap, const AIVariable& sBrush ) const { S3DX_DECLARE_VIN_02( hPixelMap, sBrush ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setFillBrush ( 2, vIn, NULL ) ; }
            inline void             setFillMode                                         ( const AIVariable& hPixelMap, const AIVariable& kFillMode ) const { S3DX_DECLARE_VIN_02( hPixelMap, kFillMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setFillMode ( 2, vIn, NULL ) ; }
            inline void             setBlendMode                                        ( const AIVariable& hPixelMap, const AIVariable& kBlendMode ) const { S3DX_DECLARE_VIN_02( hPixelMap, kBlendMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.setBlendMode ( 2, vIn, NULL ) ; }
            inline void             drawPoint                                           ( const AIVariable& hPixelMap, const AIVariable& x, const AIVariable& y ) const { S3DX_DECLARE_VIN_03( hPixelMap, x, y ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.drawPoint ( 3, vIn, NULL ) ; }
            inline void             drawLine                                            ( const AIVariable& hPixelMap, const AIVariable& x1, const AIVariable& y1, const AIVariable& x2, const AIVariable& y2 ) const { S3DX_DECLARE_VIN_05( hPixelMap, x1, y1, x2, y2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.drawLine ( 5, vIn, NULL ) ; }
            inline void             drawRectangle                                       ( const AIVariable& hPixelMap, const AIVariable& x1, const AIVariable& y1, const AIVariable& x2, const AIVariable& y2 ) const { S3DX_DECLARE_VIN_05( hPixelMap, x1, y1, x2, y2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.drawRectangle ( 5, vIn, NULL ) ; }
            inline AIVariable       saveToTexture                                       ( const AIVariable& hPixelMap, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hPixelMap, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.saveToTexture ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getResourceHandle                                   ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->pixelmap.getResourceHandle ( 1, vIn, &vOut ) ; return vOut ; }
        } ;

        struct ProjectorPackage
        {
            // Constants
            //
            const AIVariable        kMapTypeTexture     ;
            const AIVariable        kMapTypeTextureClip ;
            const AIVariable        kMapTypeRenderMap   ;
            const AIVariable        kMapTypePixelMap    ;
            const AIVariable        kMapTypeMovie       ;

            ProjectorPackage        (   ):
            kMapTypeTexture         ( 1 ),
            kMapTypeTextureClip     ( 2 ),
            kMapTypeRenderMap       ( 3 ),
            kMapTypePixelMap        ( 5 ),
            kMapTypeMovie           ( 4 )
            { }

            // Functions
            //
            inline void             setColor                                            ( const AIVariable& hObject, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue ) const { S3DX_DECLARE_VIN_04( hObject, nRed, nGreen, nBlue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.setColor ( 4, vIn, NULL ) ; } 
            inline AIVariables<3>   getColor                                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.getColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setOpacity                                          ( const AIVariable& hObject, const AIVariable& nOpacity ) const { S3DX_DECLARE_VIN_02( hObject, nOpacity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.setOpacity ( 2, vIn, NULL ) ; }
            inline AIVariable       getOpacity                                          ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.getOpacity ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setFieldOfView                                      ( const AIVariable& hObject, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_02( hObject, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.setFieldOfView ( 2, vIn, NULL ) ; }
            inline AIVariable       getFieldOfView                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.getFieldOfView ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setMinClipDistance                                  ( const AIVariable& hObject, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hObject, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.setMinClipDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getMinClipDistance                                  ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.getMinClipDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setMaxClipDistance                                  ( const AIVariable& hObject, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hObject, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.setMaxClipDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getMaxClipDistance                                  ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.getMaxClipDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setMap                                              ( const AIVariable& hObject, const AIVariable& kMapName, const AIVariable& sMapType ) const { S3DX_DECLARE_VIN_03( hObject, kMapName, sMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.setMap ( 3, vIn, NULL ) ; }
            inline void             playMapMovie                                        ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.playMapMovie ( 1, vIn, NULL ) ; }
            inline void             pauseMapMovie                                       ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.pauseMapMovie ( 1, vIn, NULL ) ; }
            inline void             stopMapMovie                                        ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.stopMapMovie ( 1, vIn, NULL ) ; }
            inline void             setClipMaskBit                                      ( const AIVariable& hObject, const AIVariable& nBit, const AIVariable& bValue ) const { S3DX_DECLARE_VIN_03( hObject, nBit, bValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.setClipMaskBit ( 3, vIn, NULL ) ; }
            inline AIVariable       getClipMaskBit                                      ( const AIVariable& hObject, const AIVariable& nBit ) const { S3DX_DECLARE_VIN_02( hObject, nBit ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->projector.getClipMaskBit ( 2, vIn, &vOut ) ; return vOut ; }
        } ;

        struct ScenePackage
        {
            // Constants
            //
            const AIVariable        kAddressingModeClamp    ;
            const AIVariable        kAddressingModeRepeat   ;
            const AIVariable        kFilteringModeNearest   ;
            const AIVariable        kFilteringModeBilinear  ;
            const AIVariable        kFilteringModeTrilinear ;
            const AIVariable        kSkyBoxFaceFront        ;
            const AIVariable        kSkyBoxFaceRight        ;
            const AIVariable        kSkyBoxFaceBack         ;
            const AIVariable        kSkyBoxFaceLeft         ;
            const AIVariable        kSkyBoxFaceTop          ;
            const AIVariable        kSkyBoxFaceBottom       ;

            ScenePackage            (   ):
            kAddressingModeClamp    ( 1 ),
            kAddressingModeRepeat   ( 0 ),
            kFilteringModeNearest   ( 0 ),
            kFilteringModeBilinear  ( 1 ),
            kFilteringModeTrilinear ( 2 ),
            kSkyBoxFaceFront        ( 0 ),
            kSkyBoxFaceRight        ( 1 ),
            kSkyBoxFaceBack         ( 2 ),
            kSkyBoxFaceLeft         ( 3 ),
            kSkyBoxFaceTop          ( 4 ),
            kSkyBoxFaceBottom       ( 5 )
            { }

            // Functions
            //
            inline AIVariable       getName                                             ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getName ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getUserCount                                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getUserCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getUserAt                                           ( const AIVariable& hScene, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hScene, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getUserAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTaggedObjectCount                                ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getTaggedObjectCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTaggedObjectAt                                   ( const AIVariable& hScene, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hScene, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getTaggedObjectAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTaggedObjectTagAt                                ( const AIVariable& hScene, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hScene, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getTaggedObjectTagAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getTaggedObject                                     ( const AIVariable& hScene, const AIVariable& sTag ) const { S3DX_DECLARE_VIN_02( hScene, sTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getTaggedObject ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getObjectTag                                        ( const AIVariable& hScene, const AIVariable& hObject ) const { S3DX_DECLARE_VIN_02( hScene, hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getObjectTag ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setObjectTag                                        ( const AIVariable& hScene, const AIVariable& hObject, const AIVariable& sTag ) const { S3DX_DECLARE_VIN_03( hScene, hObject, sTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setObjectTag ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setRuntimeObjectTag                                 ( const AIVariable& hScene, const AIVariable& hObject, const AIVariable& sTag ) const { S3DX_DECLARE_VIN_03( hScene, hObject, sTag ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setObjectTag ( 3, vIn, &vOut ) ; return vOut ; } // Deprecated
            inline AIVariable       createRuntimeObject                                 ( const AIVariable& hScene, const AIVariable& sModel ) const { S3DX_DECLARE_VIN_02( hScene, sModel ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.createRuntimeObject ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             destroyRuntimeObject                                ( const AIVariable& hScene, const AIVariable& hObject ) const { S3DX_DECLARE_VIN_02( hScene, hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.destroyRuntimeObject ( 2, vIn, NULL ) ; }
            inline AIVariable       combineRuntimeObjectsGroup                          ( const AIVariable& hScene, const AIVariable& hGroupObject ) const { S3DX_DECLARE_VIN_02( hScene, hGroupObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.combineRuntimeObjectsGroup ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setBackgroundColor                                  ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b ) const { S3DX_DECLARE_VIN_04( hScene, r, g, b ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBackgroundColor ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getBackgroundColor                                  ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getBackgroundColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setBackgroundOpacity                                ( const AIVariable& hScene, const AIVariable& nOpacity ) const { S3DX_DECLARE_VIN_02( hScene, nOpacity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBackgroundOpacity ( 2, vIn, NULL ) ; }
            inline AIVariable       getBackgroundOpacity                                ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getBackgroundOpacity ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setBackgroundTexture                                ( const AIVariable& hScene, const AIVariable& sTexture ) const { S3DX_DECLARE_VIN_02( hScene, sTexture ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBackgroundTexture ( 2, vIn, NULL ) ; }
            inline void             setBackgroundTextureUVOffset                        ( const AIVariable& hScene, const AIVariable& nOffsetU, const AIVariable& nOffsetV ) const { S3DX_DECLARE_VIN_03( hScene, nOffsetU, nOffsetV ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBackgroundTextureUVOffset ( 3, vIn, NULL ) ; }
            inline void             setBackgroundTextureUVScale                         ( const AIVariable& hScene, const AIVariable& nScaleU, const AIVariable& nScaleV ) const { S3DX_DECLARE_VIN_03( hScene, nScaleU, nScaleV ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBackgroundTextureUVScale ( 3, vIn, NULL ) ; }
            inline void             setBackgroundTextureAddressingMode                  ( const AIVariable& hScene, const AIVariable& kAddressingModeU, const AIVariable& kAddressingModeV ) const { S3DX_DECLARE_VIN_03( hScene, kAddressingModeU, kAddressingModeV ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBackgroundTextureAddressingMode ( 3, vIn, NULL ) ; }
            inline void             setBackgroundTextureFilteringMode                   ( const AIVariable& hScene, const AIVariable& kFilteringMode ) const { S3DX_DECLARE_VIN_02( hScene, kFilteringMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBackgroundTextureFilteringMode ( 2, vIn, NULL ) ; }
            inline void             setBackgroundPixelMap                               ( const AIVariable& hScene, const AIVariable& sPixelMap ) const { S3DX_DECLARE_VIN_02( hScene, sPixelMap ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBackgroundPixelMap ( 2, vIn, NULL ) ; }
            inline void             setSkyBoxColor                                      ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b ) const { S3DX_DECLARE_VIN_04( hScene, r, g, b ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setSkyBoxColor ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getSkyBoxColor                                      ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getSkyBoxColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setSkyBoxFaceMap                                    ( const AIVariable& hScene, const AIVariable& kFace, const AIVariable& sMapName ) const { S3DX_DECLARE_VIN_03( hScene, kFace, sMapName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setSkyBoxFaceMap ( 3, vIn, NULL ) ; }
            inline void             setAmbientColor                                     ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b ) const { S3DX_DECLARE_VIN_04( hScene, r, g, b ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setAmbientColor ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getAmbientColor                                     ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getAmbientColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setShadowAmbientColor                               ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b ) const { S3DX_DECLARE_VIN_04( hScene, r, g, b ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setShadowAmbientColor ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getShadowAmbientColor                               ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getShadowAmbientColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setFogDensity                                       ( const AIVariable& hScene, const AIVariable& nDensity ) const { S3DX_DECLARE_VIN_02( hScene, nDensity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setFogDensity ( 2, vIn, NULL ) ; }
            inline AIVariable       getFogDensity                                       ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFogDensity ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setFogColor                                         ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b ) const { S3DX_DECLARE_VIN_04( hScene, r, g, b ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setFogColor ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getFogColor                                         ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFogColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setDistanceFogStart                                 ( const AIVariable& hScene, const AIVariable& nStart ) const { S3DX_DECLARE_VIN_02( hScene, nStart ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setDistanceFogStart ( 2, vIn, NULL ) ; }
            inline AIVariable       getDistanceFogStart                                 ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getDistanceFogStart ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setHeightFogLevel                                   ( const AIVariable& hScene, const AIVariable& nLevel ) const { S3DX_DECLARE_VIN_02( hScene, nLevel ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setHeightFogLevel ( 2, vIn, NULL ) ; }
            inline AIVariable       getHeightFogLevel                                   ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getHeightFogLevel ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setHeightFogDensityFactor                           ( const AIVariable& hScene, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hScene, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setHeightFogDensityFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getHeightFogDensityFactor                           ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getHeightFogDensityFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createOcean                                         ( const AIVariable& hScene, const AIVariable& nGridSize, const AIVariable& nUnitSize, const AIVariable& nWavesTiling ) const { S3DX_DECLARE_VIN_04( hScene, nGridSize, nUnitSize, nWavesTiling ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.createOcean ( 4, vIn, &vOut ) ; return vOut ; }
            inline void             destroyOcean                                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.destroyOcean ( 1, vIn, NULL ) ; }
            inline void             setOceanWavesAmplitude                              ( const AIVariable& hScene, const AIVariable& nAmplitude ) const { S3DX_DECLARE_VIN_02( hScene, nAmplitude ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanWavesAmplitude ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanWavesAmplitude                              ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanWavesAmplitude ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanWavesMeanHeight                             ( const AIVariable& hScene, const AIVariable& nHeight ) const { S3DX_DECLARE_VIN_02( hScene, nHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanWavesMeanHeight ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanWavesMeanHeight                             ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanWavesMeanHeight ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanWavesFrequency                              ( const AIVariable& hScene, const AIVariable& nFrequency ) const { S3DX_DECLARE_VIN_02( hScene, nFrequency ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanWavesFrequency ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanWavesFrequency                              ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanWavesFrequency ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanUnderwaterFogDensity                        ( const AIVariable& hScene, const AIVariable& nDensity ) const { S3DX_DECLARE_VIN_02( hScene, nDensity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanUnderwaterFogDensity ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanUnderwaterFogDensity                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanUnderwaterFogDensity ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanUnderwaterFogColor                          ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b ) const { S3DX_DECLARE_VIN_04( hScene, r, g, b ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanUnderwaterFogColor ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getOceanUnderwaterFogColor                          ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanUnderwaterFogColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setOceanSurfaceColor                                ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b ) const { S3DX_DECLARE_VIN_04( hScene, r, g, b ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanSurfaceColor ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getOceanSurfaceColor                                ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanSurfaceColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setOceanSurfaceColorFactor                          ( const AIVariable& hScene, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hScene, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanSurfaceColorFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanSurfaceColorFactor                          ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanSurfaceColorFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanSurfaceColorMaxDistance                     ( const AIVariable& hScene, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hScene, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanSurfaceColorMaxDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanSurfaceColorMaxDistance                     ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanSurfaceColorMaxDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getOceanHeight                                      ( const AIVariable& hScene, const AIVariable& x, const AIVariable& z ) const { S3DX_DECLARE_VIN_03( hScene, x, z ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanHeight ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getOceanNormal                                      ( const AIVariable& hScene, const AIVariable& x, const AIVariable& z ) const { S3DX_DECLARE_VIN_03( hScene, x, z ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanNormal ( 3, vIn, vOut ) ; return vOut ; }
            inline void             setOceanFoamMap                                     ( const AIVariable& hScene, const AIVariable& sMapName ) const { S3DX_DECLARE_VIN_02( hScene, sMapName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanFoamMap ( 2, vIn, NULL ) ; }
            inline void             setOceanFoamMapTiling                               ( const AIVariable& hScene, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hScene, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanFoamMapTiling ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanFoamMapTiling                               ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanFoamMapTiling ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanNormalMapTiling                             ( const AIVariable& hScene, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_02( hScene, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanNormalMapTiling ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanNormalMapTiling                             ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanNormalMapTiling ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanReflectionNoiseScale                        ( const AIVariable& hScene, const AIVariable& nScale ) const { S3DX_DECLARE_VIN_02( hScene, nScale ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanReflectionNoiseScale ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanReflectionNoiseScale                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanReflectionNoiseScale ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanRefractionNoiseScale                        ( const AIVariable& hScene, const AIVariable& nScale ) const { S3DX_DECLARE_VIN_02( hScene, nScale ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanRefractionNoiseScale ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanRefractionNoiseScale                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanRefractionNoiseScale ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanFresnelPower                                ( const AIVariable& hScene, const AIVariable& nPower ) const { S3DX_DECLARE_VIN_02( hScene, nPower ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanFresnelPower ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanFresnelPower                                ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanFresnelPower ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanFresnelBias                                 ( const AIVariable& hScene, const AIVariable& nBias ) const { S3DX_DECLARE_VIN_02( hScene, nBias ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanFresnelBias ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanFresnelBias                                 ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanFresnelBias ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanReflectorBias                               ( const AIVariable& hScene, const AIVariable& nBias ) const { S3DX_DECLARE_VIN_02( hScene, nBias ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanReflectorBias ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanReflectorBias                               ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanReflectorBias ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanDepthAttenuationFactor                      ( const AIVariable& hScene, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hScene, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanDepthAttenuationFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanDepthAttenuationFactor                      ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanDepthAttenuationFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanReflectedObjectsMaxSurfaceDistance          ( const AIVariable& hScene, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hScene, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanReflectedObjectsMaxSurfaceDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanReflectedObjectsMaxSurfaceDistance          ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanReflectedObjectsMaxSurfaceDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setOceanFoamMapScrollingSpeed                       ( const AIVariable& hScene, const AIVariable& x, const AIVariable& z ) const { S3DX_DECLARE_VIN_03( hScene, x, z ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanFoamMapScrollingSpeed ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getOceanFoamMapScrollingSpeed                       ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanFoamMapScrollingSpeed ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setOceanNormalMapScrollingSpeed                     ( const AIVariable& hScene, const AIVariable& x, const AIVariable& z ) const { S3DX_DECLARE_VIN_03( hScene, x, z ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanNormalMapScrollingSpeed ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getOceanNormalMapScrollingSpeed                     ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanNormalMapScrollingSpeed ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setOceanUseFramebufferAsRefractionMap               ( const AIVariable& hScene, const AIVariable& bUse ) const { S3DX_DECLARE_VIN_02( hScene, bUse ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setOceanUseFramebufferAsRefractionMap ( 2, vIn, NULL ) ; }
            inline AIVariable       getOceanUseFramebufferAsRefractionMap               ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getOceanUseFramebufferAsRefractionMap ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setColorLevels                                      ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( hScene, r, g, b, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setColorLevels ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getColorLevels                                      ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getColorLevels ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setColorSaturation                                  ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( hScene, r, g, b, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setColorSaturation ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getColorSaturation                                  ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getColorSaturation ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setColorContrast                                    ( const AIVariable& hScene, const AIVariable& nContrast ) const { S3DX_DECLARE_VIN_02( hScene, nContrast ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setColorContrast ( 2, vIn, NULL ) ; }
            inline AIVariable       getColorContrast                                    ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getColorContrast ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setMonochromeFilter                                 ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( hScene, r, g, b, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setMonochromeFilter ( 5, vIn, NULL ) ; }
            inline AIVariables<4>   getMonochromeFilter                                 ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getMonochromeFilter ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setGammaCorrection                                  ( const AIVariable& hScene, const AIVariable& nGamma ) const { S3DX_DECLARE_VIN_02( hScene, nGamma ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setGammaCorrection ( 2, vIn, NULL ) ; }
            inline AIVariable       getGammaCorrection                                  ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getGammaCorrection ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setBloomIntensity                                   ( const AIVariable& hScene, const AIVariable& nIntensity ) const { S3DX_DECLARE_VIN_02( hScene, nIntensity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBloomIntensity ( 2, vIn, NULL ) ; }
            inline AIVariable       getBloomIntensity                                   ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getBloomIntensity ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setBloomThreshold                                   ( const AIVariable& hScene, const AIVariable& nThreshold ) const { S3DX_DECLARE_VIN_02( hScene, nThreshold ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBloomThreshold ( 2, vIn, NULL ) ; }
            inline AIVariable       getBloomThreshold                                   ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getBloomThreshold ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setBloomColoring                                    ( const AIVariable& hScene, const AIVariable& nColoring ) const { S3DX_DECLARE_VIN_02( hScene, nColoring ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBloomColoring ( 2, vIn, NULL ) ; }
            inline AIVariable       getBloomColoring                                    ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getBloomColoring ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setBloomMotionBlurFactor                            ( const AIVariable& hScene, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hScene, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setBloomMotionBlurFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getBloomMotionBlurFactor                            ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getBloomMotionBlurFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getObjectCount                                      ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getObjectCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getObjectAt                                         ( const AIVariable& hScene, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hScene, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getObjectAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getFirstHitCollider                                 ( const AIVariable& hScene, const AIVariable& nRayPosX, const AIVariable& nRayPosY, const AIVariable& nRayPosZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength ){ S3DX_DECLARE_VIN_08( hScene, nRayPosX, nRayPosY, nRayPosZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFirstHitCollider ( 8, vIn, vOut ) ; return vOut ; }
            inline AIVariables<9>   getFirstHitColliderEx                               ( const AIVariable& hScene, const AIVariable& nRayPosX, const AIVariable& nRayPosY, const AIVariable& nRayPosZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength ){ S3DX_DECLARE_VIN_08( hScene, nRayPosX, nRayPosY, nRayPosZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength ) ; AIVariables<9> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFirstHitColliderEx ( 8, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getFirstHitColliderWithID                           ( const AIVariable& hScene, const AIVariable& nRayPosX, const AIVariable& nRayPosY, const AIVariable& nRayPosZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength, const AIVariable& nSurfaceID ) const { S3DX_DECLARE_VIN_09( hScene, nRayPosX, nRayPosY, nRayPosZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength, nSurfaceID ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFirstHitColliderWithID ( 9, vIn, vOut ) ; return vOut ; }
            inline AIVariables<8>   getFirstHitColliderWithIDEx                         ( const AIVariable& hScene, const AIVariable& nRayPosX, const AIVariable& nRayPosY, const AIVariable& nRayPosZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength, const AIVariable& nSurfaceID ) const { S3DX_DECLARE_VIN_09( hScene, nRayPosX, nRayPosY, nRayPosZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength, nSurfaceID ) ; AIVariables<8> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFirstHitColliderWithIDEx ( 9, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getFirstHitSensor                                   ( const AIVariable& hScene, const AIVariable& nRayPosX, const AIVariable& nRayPosY, const AIVariable& nRayPosZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength ) const { S3DX_DECLARE_VIN_08( hScene, nRayPosX, nRayPosY, nRayPosZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFirstHitSensor ( 8, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getFirstHitSensorWithID                             ( const AIVariable& hScene, const AIVariable& nRayPosX, const AIVariable& nRayPosY, const AIVariable& nRayPosZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength, const AIVariable& nSensorID ) const { S3DX_DECLARE_VIN_09( hScene, nRayPosX, nRayPosY, nRayPosZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength, nSensorID ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFirstHitSensorWithID ( 9, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getFirstHitSensorWithIDInRange                      ( const AIVariable& hScene, const AIVariable& nRayPosX, const AIVariable& nRayPosY, const AIVariable& nRayPosZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength, const AIVariable& nMinSensorID, const AIVariable& nMaxSensorID ) const { S3DX_DECLARE_VIN_10( hScene, nRayPosX, nRayPosY, nRayPosZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength, nMinSensorID, nMaxSensorID ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFirstHitSensorWithIDInRange ( 10, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getFirstHitTerrainChunk                             ( const AIVariable& hScene, const AIVariable& nRayPosX, const AIVariable& nRayPosY, const AIVariable& nRayPosZ, const AIVariable& nRayDirX, const AIVariable& nRayDirY, const AIVariable& nRayDirZ, const AIVariable& nRayLength ) const { S3DX_DECLARE_VIN_08( hScene, nRayPosX, nRayPosY, nRayPosZ, nRayDirX, nRayDirY, nRayDirZ, nRayLength ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getFirstHitTerrainChunk ( 8, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getTerrainHeight                                    ( const AIVariable& hScene, const AIVariable& x, const AIVariable& z ) const { S3DX_DECLARE_VIN_03( hScene, x, z ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getTerrainHeight ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getTerrainNormal                                    ( const AIVariable& hScene, const AIVariable& x, const AIVariable& z ) const { S3DX_DECLARE_VIN_03( hScene, x, z ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getTerrainNormal ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getTerrainStatus                                    ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getTerrainStatus ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setTerrainTextureFilteringMode                      ( const AIVariable& hScene, const AIVariable& kFilteringMode ) const { S3DX_DECLARE_VIN_02( hScene, kFilteringMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setTerrainTextureFilteringMode ( 2, vIn, NULL ) ; }
            inline void             setTerrainLODSwitchThreshold                        ( const AIVariable& hScene, const AIVariable& nThreshold ) const { S3DX_DECLARE_VIN_02( hScene, nThreshold ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setTerrainLODSwitchThreshold ( 2, vIn, NULL ) ; }
            inline void             setTerrainVegetationLayerMaxVisibleInstances        ( const AIVariable& hScene, const AIVariable& nLayer, const AIVariable& nCount ) const { S3DX_DECLARE_VIN_03( hScene, nLayer, nCount ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setTerrainVegetationLayerMaxVisibleInstances ( 3, vIn, NULL ) ; }
            inline void             setTerrainVegetationLayerVisible                    ( const AIVariable& hScene, const AIVariable& nLayer, const AIVariable& bVisible ) const { S3DX_DECLARE_VIN_03( hScene, nLayer, bVisible ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setTerrainVegetationLayerVisible ( 3, vIn, NULL ) ; }
            inline void             setTerrainVegetationLayerTextureFilteringMode       ( const AIVariable& hScene, const AIVariable& nLayer, const AIVariable& kFilteringMode ) const { S3DX_DECLARE_VIN_03( hScene, nLayer, kFilteringMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setTerrainVegetationLayerTextureFilteringMode ( 3, vIn, NULL ) ; }
            inline AIVariable       getTerrainVegetationLayerCount                      ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getTerrainVegetationLayerCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDynamicsTimeStep                                 ( const AIVariable& hScene, const AIVariable& nTimeStep ) const { S3DX_DECLARE_VIN_02( hScene, nTimeStep ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setDynamicsTimeStep ( 2, vIn, NULL ) ; }
            inline AIVariable       getDynamicsTimeStep                                 ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getDynamicsTimeStep ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDynamicsIterationsPerStep                        ( const AIVariable& hScene, const AIVariable& nIterations ) const { S3DX_DECLARE_VIN_02( hScene, nIterations ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setDynamicsIterationsPerStep ( 2, vIn, NULL ) ; }
            inline AIVariable       getDynamicsIterationsPerStep                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getDynamicsIterationsPerStep ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDynamicsGravity                                  ( const AIVariable& hScene, const AIVariable& nX, const AIVariable& nY, const AIVariable& nZ ) const { S3DX_DECLARE_VIN_04( hScene, nX, nY, nZ ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setDynamicsGravity ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getDynamicsGravity                                  ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getDynamicsGravity ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setPaused                                           ( const AIVariable& hScene, const AIVariable& bPaused ) const { S3DX_DECLARE_VIN_02( hScene, bPaused ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setPaused ( 2, vIn, NULL ) ; }
            inline AIVariable       isPaused                                            ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.isPaused ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setPerPixelLightingMinScreenSize                    ( const AIVariable& hScene, const AIVariable& nSize ) const { S3DX_DECLARE_VIN_02( hScene, nSize ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setPerPixelLightingMinScreenSize ( 2, vIn, NULL ) ; }
            inline AIVariable       getPerPixelLightingMinScreenSize                    ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getPerPixelLightingMinScreenSize ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setNormalMappingMinScreenSize                       ( const AIVariable& hScene, const AIVariable& nSize ) const { S3DX_DECLARE_VIN_02( hScene, nSize ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setNormalMappingMinScreenSize ( 2, vIn, NULL ) ; }
            inline AIVariable       getNormalMappingMinScreenSize                       ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getNormalMappingMinScreenSize ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setNormalMappingFadeScreenSize                      ( const AIVariable& hScene, const AIVariable& nSize ) const { S3DX_DECLARE_VIN_02( hScene, nSize ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setNormalMappingFadeScreenSize ( 2, vIn, NULL ) ; }
            inline AIVariable       getNormalMappingFadeScreenSize                      ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getNormalMappingFadeScreenSize ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setSpecularLightingMinScreenSize                    ( const AIVariable& hScene, const AIVariable& nSize ) const { S3DX_DECLARE_VIN_02( hScene, nSize ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setSpecularLightingMinScreenSize ( 2, vIn, NULL ) ; }
            inline AIVariable       getSpecularLightingMinScreenSize                    ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getSpecularLightingMinScreenSize ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setSpecularLightingFadeScreenSize                   ( const AIVariable& hScene, const AIVariable& nSize ) const { S3DX_DECLARE_VIN_02( hScene, nSize ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setSpecularLightingFadeScreenSize ( 2, vIn, NULL ) ; }
            inline AIVariable       getSpecularLightingFadeScreenSize                   ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getSpecularLightingFadeScreenSize ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDynamicShadowsFadeDistance                       ( const AIVariable& hScene, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hScene, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setDynamicShadowsFadeDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getDynamicShadowsFadeDistance                       ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getDynamicShadowsFadeDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setDynamicShadowsMaxDistance                        ( const AIVariable& hScene, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hScene, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setDynamicShadowsMaxDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getDynamicShadowsMaxDistance                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getDynamicShadowsMaxDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setPotentiallyOccludedObjectMaxSize                 ( const AIVariable& hScene, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hScene, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setPotentiallyOccludedObjectMaxSize ( 2, vIn, NULL ) ; }
            inline AIVariable       getPotentiallyOccludedObjectMaxSize                 ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getPotentiallyOccludedObjectMaxSize ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setColorGradingIntensity                            ( const AIVariable& hScene, const AIVariable& nIntensity ) const { S3DX_DECLARE_VIN_02( hScene, nIntensity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setColorGradingIntensity ( 2, vIn, NULL ) ; }
            inline AIVariable       getColorGradingIntensity                            ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getColorGradingIntensity ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setColorGradingFilteringMode                        ( const AIVariable& hScene, const AIVariable& kFilteringMode ) const { S3DX_DECLARE_VIN_02( hScene, kFilteringMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setColorGradingFilteringMode ( 2, vIn, NULL ) ; }
            inline AIVariable       getColorGradingFilteringMode                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getColorGradingFilteringMode ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setColorGradingTexture                              ( const AIVariable& hScene, const AIVariable& sTexture ) const { S3DX_DECLARE_VIN_02( hScene, sTexture ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setColorGradingTexture ( 2, vIn, NULL ) ; }
            inline void             setColorGradingFadeTime                             ( const AIVariable& hScene, const AIVariable& nFadeTime ) const { S3DX_DECLARE_VIN_02( hScene, nFadeTime ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setColorGradingFadeTime ( 2, vIn, NULL ) ; }
            inline AIVariable       getColorGradingFadeTime                             ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getColorGradingFadeTime ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setAmbientOcclusionIntensity                        ( const AIVariable& hScene, const AIVariable& nIntensity ) const { S3DX_DECLARE_VIN_02( hScene, nIntensity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setAmbientOcclusionIntensity ( 2, vIn, NULL ) ; }
            inline AIVariable       getAmbientOcclusionIntensity                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getAmbientOcclusionIntensity ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setAmbientOcclusionDistance                         ( const AIVariable& hScene, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hScene, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setAmbientOcclusionDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getAmbientOcclusionDistance                         ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getAmbientOcclusionDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setAmbientOcclusionSampleCount                      ( const AIVariable& hScene, const AIVariable& nSampleCount ) const { S3DX_DECLARE_VIN_02( hScene, nSampleCount ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setAmbientOcclusionSampleCount ( 2, vIn, NULL ) ; }
            inline AIVariable       getAmbientOcclusionSampleCount                      ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getAmbientOcclusionSampleCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setAmbientOcclusionDepthBias                        ( const AIVariable& hScene, const AIVariable& nDepthBias ) const { S3DX_DECLARE_VIN_02( hScene, nDepthBias ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setAmbientOcclusionDepthBias ( 2, vIn, NULL ) ; }
            inline AIVariable       getAmbientOcclusionDepthBias                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getAmbientOcclusionDepthBias ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setAmbientOcclusionColor                            ( const AIVariable& hScene, const AIVariable& r, const AIVariable& g, const AIVariable& b ) const { S3DX_DECLARE_VIN_04( hScene, r, g, b ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setAmbientOcclusionColor ( 4, vIn, NULL ) ; }
            inline AIVariables<3>   getAmbientOcclusionColor                            ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getAmbientOcclusionColor ( 1, vIn, vOut ) ; return vOut ; }
            inline void             sectorize                                           ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sectorize ( 1, vIn, NULL ) ; }
            inline void             setDynamicsFrameTimeFactor                          ( const AIVariable& hScene, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hScene, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setDynamicsFrameTimeFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getDynamicsFrameTimeFactor                          ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getDynamicsFrameTimeFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setAnimationsFrameTimeFactor                        ( const AIVariable& hScene, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hScene, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setAnimationsFrameTimeFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getAnimationsFrameTimeFactor                        ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getAnimationsFrameTimeFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setParticlesFrameTimeFactor                         ( const AIVariable& hScene, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hScene, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setParticlesFrameTimeFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getParticlesFrameTimeFactor                         ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getParticlesFrameTimeFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setTrailsFrameTimeFactor                            ( const AIVariable& hScene, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hScene, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setTrailsFrameTimeFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getTrailsFrameTimeFactor                            ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getTrailsFrameTimeFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createActivationZone                                ( const AIVariable& hScene, const AIVariable& sName, const AIVariable& nMinX, const AIVariable& nMinY, const AIVariable& nMinZ, const AIVariable& nMaxX, const AIVariable& nMaxY, const AIVariable& nMaxZ ) const { S3DX_DECLARE_VIN_08( hScene, sName, nMinX, nMinY, nMinZ, nMaxX, nMaxY, nMaxZ ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.createActivationZone ( 8, vIn, &vOut ) ; return vOut ; }
            inline void             setActivationZoneExtents                            ( const AIVariable& hScene, const AIVariable& sName, const AIVariable& nMinX, const AIVariable& nMinY, const AIVariable& nMinZ, const AIVariable& nMaxX, const AIVariable& nMaxY, const AIVariable& nMaxZ ) const { S3DX_DECLARE_VIN_08( hScene, sName, nMinX, nMinY, nMinZ, nMaxX, nMaxY, nMaxZ ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.setActivationZoneExtents ( 8, vIn, NULL ) ; }
            inline void             enableActivationZone                                ( const AIVariable& hScene, const AIVariable& sName, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_03( hScene, sName, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.enableActivationZone ( 3, vIn, NULL ) ; }
            inline AIVariable       isActivationZoneEnabled                             ( const AIVariable& hScene, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hScene, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.isActivationZoneEnabled ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             destroyActivationZone                               ( const AIVariable& hScene, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hScene, sName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.destroyActivationZone ( 2, vIn, NULL ) ; }
            inline void             destroyAllActivationZones                           ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.destroyAllActivationZones ( 1, vIn, NULL ) ; }
            inline AIVariable       getActivationZoneCount                              ( const AIVariable& hScene ) const { S3DX_DECLARE_VIN_01( hScene ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getActivationZoneCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getActivationZoneNameAt                             ( const AIVariable& hScene, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hScene, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.getActivationZoneNameAt ( 2, vIn, &vOut ) ; return vOut ; }

            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent ) const { S3DX_DECLARE_VIN_03( hScene, sAIModel, sEvent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 3, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_04( hScene, sAIModel, sEvent, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 4, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_05( hScene, sAIModel, sEvent, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 5, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_06( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 6, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_07( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 7, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_08( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 8, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_09( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 9, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_10( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 10, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_11( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 11, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_12( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 12, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_13( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 13, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_14( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 14, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_15( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 15, vIn, NULL ) ; }
            inline void             sendEventToAllUsers                                 ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12 ) const { S3DX_DECLARE_VIN_16( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllUsers ( 16, vIn, NULL ) ; }

            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent ) const { S3DX_DECLARE_VIN_03( hScene, sAIModel, sEvent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 3, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_04( hScene, sAIModel, sEvent, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 4, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_05( hScene, sAIModel, sEvent, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 5, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_06( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 6, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_07( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 7, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_08( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 8, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_09( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 9, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_10( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 10, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_11( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 11, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_12( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 12, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_13( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 13, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_14( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 14, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_15( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 15, vIn, NULL ) ; }
            inline void             sendEventToAllObjects                               ( const AIVariable& hScene, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12 ) const { S3DX_DECLARE_VIN_16( hScene, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->scene.sendEventToAllObjects ( 16, vIn, NULL ) ; }
        } ;

        struct SensorPackage
        {
            // Constants
            //
            const AIVariable        kShapeTypeBox       ;
            const AIVariable        kShapeTypeSphere    ;

            SensorPackage           (   ):
            kShapeTypeBox           ( 2 ),
            kShapeTypeSphere        ( 1 )
            { }

            // Functions
            //
            inline AIVariable       getCount                                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.getCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setActiveAt                                         ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& bActive ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, bActive ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.setActiveAt ( 3, vIn, NULL ) ; }
            inline AIVariable       isActiveAt                                          ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.isActiveAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setAllActive                                        ( const AIVariable& hObject, const AIVariable& bActive ) const { S3DX_DECLARE_VIN_02( hObject, bActive ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.setAllActive ( 2, vIn, NULL ) ; }
            inline void             removeAll                                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.removeAll ( 1, vIn, NULL ) ; }
            inline void             removeAt                                            ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.removeAt ( 2, vIn, NULL ) ; }
            inline AIVariable       add                                                 ( const AIVariable& hObject, const AIVariable& kShapeType ) const { S3DX_DECLARE_VIN_02( hObject, kShapeType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.add ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getIDAt                                             ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.getIDAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setIDAt                                             ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nID ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nID ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.setIDAt ( 3, vIn, NULL ) ; }
            inline AIVariable       getShapeTypeAt                                      ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.getShapeTypeAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setSphereCenterAt                                   ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nIndex, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.setSphereCenterAt ( 6, vIn, NULL ) ; }
            inline void             setSphereRadiusAt                                   ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nRadius ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nRadius ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.setSphereRadiusAt ( 3, vIn, NULL ) ; }
            inline AIVariables<3>   getSphereCenterAt                                   ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.getSphereCenterAt ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getSphereRadiusAt                                   ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.getSphereRadiusAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setBoxCenterAt                                      ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nIndex, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.setBoxCenterAt ( 6, vIn, NULL ) ; }
            inline void             setBoxSizeAt                                        ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& sx, const AIVariable& sy, const AIVariable& sz ) const { S3DX_DECLARE_VIN_05( hObject, nIndex, sx, sy, sz ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.setBoxSizeAt ( 5, vIn, NULL ) ; }
            inline AIVariables<3>   getBoxCenterAt                                      ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.getBoxCenterAt ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getBoxSizeAt                                        ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.getBoxSizeAt ( 2, vIn, vOut ) ; return vOut ; }
            inline void             setCategoryBitAt                                    ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nBit, const AIVariable& bValue ) const { S3DX_DECLARE_VIN_04( hObject, nIndex, nBit, bValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.setCategoryBitAt ( 4, vIn, NULL ) ; }
            inline AIVariable       getCategoryBitAt                                    ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nBit ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nBit ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.getCategoryBitAt ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             setMaskBitAt                                        ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nBit, const AIVariable& bValue ) const { S3DX_DECLARE_VIN_04( hObject, nIndex, nBit, bValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.setMaskBitAt ( 4, vIn, NULL ) ; }
            inline AIVariable       getMaskBitAt                                        ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nBit ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nBit ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sensor.getMaskBitAt ( 3, vIn, &vOut ) ; return vOut ; }
        } ;

        struct ServerPackage
        {
            // Constants
            //
            const AIVariable        kStatusConnected    ;
            const AIVariable        kStatusPending      ;
            const AIVariable        kStatusNone         ;

            ServerPackage           (   ):
            kStatusConnected        ( 2 ),
            kStatusPending          ( 1 ),
            kStatusNone             ( 0 )
            { }

            // Functions
            //
            inline AIVariable       getStatus                                           ( const AIVariable& hServer ) const { S3DX_DECLARE_VIN_01( hServer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.getStatus ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getName                                             ( const AIVariable& hServer ) const { S3DX_DECLARE_VIN_01( hServer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.getName ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentPingDelay                                 ( const AIVariable& hServer ) const { S3DX_DECLARE_VIN_01( hServer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.getCurrentPingDelay ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAveragePingDelay                                 ( const AIVariable& hServer ) const { S3DX_DECLARE_VIN_01( hServer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.getAveragePingDelay ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSessionCount                                     ( const AIVariable& hServer ) const { S3DX_DECLARE_VIN_01( hServer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.getSessionCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSessionNameAt                                    ( const AIVariable& hServer, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hServer, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.getSessionNameAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSessionUserCountAt                               ( const AIVariable& hServer, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hServer, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.getSessionUserCountAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setCurrentSession                                   ( const AIVariable& hServer, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hServer, sName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.setCurrentSession ( 2, vIn, NULL ) ; }
            inline AIVariable       getCurrentSession                                   ( const AIVariable& hServer ) const { S3DX_DECLARE_VIN_01( hServer ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.getCurrentSession ( 1, vIn, &vOut ) ; return vOut ; }

            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent ) const { S3DX_DECLARE_VIN_03( hServer, sAIModel, sEvent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 3, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_04( hServer, sAIModel, sEvent, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 4, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_05( hServer, sAIModel, sEvent, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 5, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_06( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 6, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_07( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 7, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_08( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 8, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_09( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 9, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_10( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 10, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_11( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 11, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_12( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 12, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_13( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 13, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_14( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 14, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_15( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 15, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hServer, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12 ) const { S3DX_DECLARE_VIN_16( hServer, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->server.sendEvent ( 16, vIn, NULL ) ; }
        } ;

        struct SessionPackage
        {
            // Constants
            //
            const AIVariable        kStatusConnected    ;
            const AIVariable        kStatusPending      ;
            const AIVariable        kStatusNone         ;

            SessionPackage          (   ):
            kStatusConnected        ( 2 ),
            kStatusPending          ( 1 ),
            kStatusNone             ( 0 )
            { }

            // Functions
            //
            inline AIVariable       getStatus                                           ( const AIVariable& hSession ) const { S3DX_DECLARE_VIN_01( hSession ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->session.getStatus ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getName                                             ( const AIVariable& hSession ) const { S3DX_DECLARE_VIN_01( hSession ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->session.getName ( 1, vIn, &vOut ) ; return vOut ; }
        } ;

        struct SfxPackage
        {
            // Constants
            //
            const AIVariable        kShapeTypePoint ; // 1.9.2.0

            SfxPackage              (   ):
            kShapeTypePoint         ( 0 )
            { }

            // Functions
            //
            inline AIVariable       getParticleEmitterCount                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             startParticleEmitterAt                              ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.startParticleEmitterAt ( 2, vIn, NULL ) ; }
            inline void             startAllParticleEmitters                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.startAllParticleEmitters ( 1, vIn, NULL ) ; }
            inline void             stopParticleEmitterAt                               ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.stopParticleEmitterAt ( 2, vIn, NULL ) ; }
            inline void             stopAllParticleEmitters                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.stopAllParticleEmitters ( 1, vIn, NULL ) ; }
            inline void             pauseParticleEmitterAt                              ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.pauseParticleEmitterAt ( 2, vIn, NULL ) ; }
            inline void             pauseAllParticleEmitters                            ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.pauseAllParticleEmitters ( 1, vIn, NULL ) ; }
            inline void             setParticleEmitterTranslationAt                     ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nIndex, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterTranslationAt ( 6, vIn, NULL ) ; }
            inline void             setParticleEmitterRotationAt                        ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nIndex, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterRotationAt ( 6, vIn, NULL ) ; }
            inline void             setParticleEmitterUniformScaleAt                    ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nScale ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nScale ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterUniformScaleAt ( 3, vIn, NULL ) ; }
            inline void             setParticleEmitterGenerationRateAt                  ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nRate ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nRate ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterGenerationRateAt ( 3, vIn, NULL ) ; }
            inline void             setParticleEmitterLifeTimeFactorAt                  ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterLifeTimeFactorAt ( 3, vIn, NULL ) ; }
            inline void             setParticleEmitterInitialSpeedFactorAt              ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterInitialSpeedFactorAt ( 3, vIn, NULL ) ; }
            inline void             setParticleEmitterInitialCountFactorAt              ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterInitialCountFactorAt ( 3, vIn, NULL ) ; }
            inline void             setParticleEmitterMaxCountLimitAt                   ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nLimit ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nLimit ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterMaxCountLimitAt ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleEmitterUniformScaleAt                    ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterUniformScaleAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getParticleEmitterGenerationRateAt                  ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterGenerationRateAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getParticleEmitterLifeTimeFactorAt                  ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterLifeTimeFactorAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getParticleEmitterInitialSpeedFactorAt              ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterInitialSpeedFactorAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getParticleEmitterInitialCountFactorAt              ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterInitialCountFactorAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getParticleEmitterMaxCountLimitAt                   ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterMaxCountLimitAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getParticleEmitterAliveParticleCountAt              ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterAliveParticleCountAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getParticleEmitterAliveParticlePositionAt           ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nParticle ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nParticle ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterAliveParticlePositionAt ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getParticleEmitterAliveParticleSizeAt               ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nParticle ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nParticle ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterAliveParticleSizeAt ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleEmitterOpacityAt                         ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nOpacity ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nOpacity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterOpacityAt ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleEmitterOpacityAt                         ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterOpacityAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getParticleEmitterNameAt                            ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterNameAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleEmitterKillBoxAt                         ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& xmin, const AIVariable& ymin, const AIVariable& zmin, const AIVariable& xmax, const AIVariable& ymax, const AIVariable& zmax ) const { S3DX_DECLARE_VIN_08( hObject, nIndex, xmin, ymin, zmin, xmax, ymax, zmax ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterKillBoxAt ( 8, vIn, NULL ) ; }
            inline AIVariables<6>   getParticleEmitterKillBoxAt                         ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariables<6> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterKillBoxAt ( 2, vIn, vOut ) ; return vOut ; }
            inline void             setParticleEmitterUseKillBoxAt                      ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& bUse ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, bUse ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterUseKillBoxAt ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleEmitterUseKillBoxAt                      ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterUseKillBoxAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleEmitterUseCustomForce                    ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& bUse ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, bUse ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterUseCustomForce ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleEmitterUseCustomForce                    ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterUseCustomForce ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleEmitterCustomForce                       ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nIndex, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleEmitterCustomForce ( 6, vIn, NULL ) ; }
            inline AIVariables<3>   getParticleEmitterCustomForce                       ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleEmitterCustomForce ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariable       addParticleAttractorField                           ( const AIVariable& hObject, const AIVariable& kShapeType ) const { S3DX_DECLARE_VIN_02( hObject, kShapeType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.addParticleAttractorField ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             removeParticleAttractorField                        ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.removeParticleAttractorField ( 2, vIn, NULL ) ; }
            inline void             removeAllParticleAttractorFields                    ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.removeAllParticleAttractorFields ( 1, vIn, NULL ) ; }
            inline AIVariable       getParticleAttractorFieldCount                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleAttractorFieldCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getParticleAttractorFieldShapeType                  ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleAttractorFieldShapeType ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleAttractorFieldStrength                   ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nStrength ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nStrength ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleAttractorFieldStrength ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleAttractorFieldStrength                   ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleAttractorFieldStrength ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleAttractorFieldPointPosition              ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nIndex, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleAttractorFieldPointPosition ( 6, vIn, NULL ) ; }
            inline AIVariables<3>   getParticleAttractorFieldPointPosition              ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleAttractorFieldPointPosition ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getTrailCount                                       ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getTrailCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setTrailAnchor0At                                   ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nIndex, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setTrailAnchor0At ( 6, vIn, NULL ) ; }
            inline void             setTrailAnchor1At                                   ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nIndex, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setTrailAnchor1At ( 6, vIn, NULL ) ; }
            inline void             startTrailAt                                        ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.startTrailAt ( 2, vIn, NULL ) ; }
            inline void             pauseTrailAt                                        ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.pauseTrailAt ( 2, vIn, NULL ) ; }
            inline void             stopTrailAt                                         ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.stopTrailAt ( 2, vIn, NULL ) ; }
            inline void             startAllTrails                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.startAllTrails ( 1, vIn, NULL ) ; }
            inline void             pauseAllTrails                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.pauseAllTrails ( 1, vIn, NULL ) ; }
            inline void             stopAllTrails                                       ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.stopAllTrails ( 1, vIn, NULL ) ; }
            inline AIVariable       addParticleVortexField                              ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.addParticleVortexField ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             removeParticleVortexField                           ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.removeParticleVortexField ( 2, vIn, NULL ) ; }
            inline void             removeAllParticleVortexFields                       ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.removeAllParticleVortexFields ( 1, vIn, NULL ) ; }
            inline void             setParticleVortexFieldStrength                      ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nStrength ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nStrength ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleVortexFieldStrength ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleVortexFieldStrength                      ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleVortexFieldStrength ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleVortexFieldOrbitalSpeed                  ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nSpeed ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nSpeed ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleVortexFieldOrbitalSpeed ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleVortexFieldOrbitalSpeed                  ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleVortexFieldOrbitalSpeed ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleVortexFieldOrbitalSpeedDamping           ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleVortexFieldOrbitalSpeedDamping ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleVortexFieldOrbitalSpeedDamping           ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleVortexFieldOrbitalSpeedDamping ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleVortexFieldRadialPull                    ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleVortexFieldRadialPull ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleVortexFieldRadialPull                    ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleVortexFieldRadialPull ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleVortexFieldRadialPullDamping             ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleVortexFieldRadialPullDamping ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleVortexFieldRadialPullDamping             ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleVortexFieldRadialPullDamping ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleVortexFieldAxialDrop                     ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleVortexFieldAxialDrop ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleVortexFieldAxialDrop                     ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleVortexFieldAxialDrop ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleVortexFieldAxialDropDamping              ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleVortexFieldAxialDropDamping ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleVortexFieldAxialDropDamping              ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleVortexFieldAxialDropDamping ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleVortexFieldPosition                      ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_06( hObject, nIndex, x, y, z, kSpace ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleVortexFieldPosition ( 6, vIn, NULL ) ; }
            inline AIVariable       addParticleTurbulenceField                          ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.addParticleTurbulenceField ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             removeParticleTurbulenceField                       ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.removeParticleTurbulenceField ( 2, vIn, NULL ) ; }
            inline void             removeAllParticleTurbulenceFields                   ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.removeAllParticleTurbulenceFields ( 1, vIn, NULL ) ; }
            inline void             setParticleTurbulenceFieldStrength                  ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nStrength ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nStrength ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleTurbulenceFieldStrength ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleTurbulenceFieldStrength                  ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleTurbulenceFieldStrength ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setParticleTurbulenceFieldFrequency                 ( const AIVariable& hObject, const AIVariable& nIndex, const AIVariable& nFrequency ) const { S3DX_DECLARE_VIN_03( hObject, nIndex, nFrequency ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.setParticleTurbulenceFieldFrequency ( 3, vIn, NULL ) ; }
            inline AIVariable       getParticleTurbulenceFieldFrequency                 ( const AIVariable& hObject, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hObject, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sfx.getParticleTurbulenceFieldFrequency ( 2, vIn, &vOut ) ; return vOut ; }
        } ;

        struct ShapePackage
        {
            // Constants
            //
            const AIVariable        kCurveTypePolyLine                          ;
            const AIVariable        kCurveTypeBSpline                           ;
            const AIVariable        kCurveTypeBezier                            ;
            const AIVariable        kCurveTypeCatmullRom                        ;
            const AIVariable        kMapTypeUnknown                             ;
            const AIVariable        kMapTypeTexture                             ;
            const AIVariable        kMapTypeTextureClip                         ;
            const AIVariable        kMapTypeRenderMap                           ;
            const AIVariable        kMapTypePixelMap                            ;
            const AIVariable        kMapTypeMovie                               ;
            const AIVariable        kMeshOptionDynamicOccluder                  ; // 1.9.0.9
            const AIVariable        kMeshOptionStaticOccluder                   ; // 1.9.0.9
            const AIVariable        kMeshOptionIgnoreShadowsWhenOccluded        ; // 1.9.0.9
            const AIVariable        kMeshOptionIgnoreShadowsWhenOutOfFrustum    ; // 1.9.0.9
            const AIVariable        kLockModeRead                               ; // 1.9.2.0
            const AIVariable        kLockModeWrite                              ; // 1.9.2.0
            const AIVariable        kLockModeReadWrite                          ; // 1.9.2.0

            ShapePackage                                (    ):
            kCurveTypePolyLine                          (  0 ),
            kCurveTypeBSpline                           (  1 ),
            kCurveTypeBezier                            (  2 ),
            kCurveTypeCatmullRom                        (  3 ),
            kMapTypeUnknown                             (  0 ),
            kMapTypeTexture                             (  1 ),
            kMapTypeTextureClip                         (  2 ),
            kMapTypeRenderMap                           (  3 ),
            kMapTypePixelMap                            (  5 ),
            kMapTypeMovie                               (  4 ),
            kMeshOptionDynamicOccluder                  (  1 ),
            kMeshOptionStaticOccluder                   (  4 ),
            kMeshOptionIgnoreShadowsWhenOccluded        ( 32 ),
            kMeshOptionIgnoreShadowsWhenOutOfFrustum    ( 64 ),
            kLockModeRead                               (  1 ),
            kLockModeWrite                              (  2 ),
            kLockModeReadWrite                          (  3 )
            { }

            // Functions
            //
            inline void             setMeshOpacity                                          ( const AIVariable& hObject, const AIVariable& nOpacity ) const { S3DX_DECLARE_VIN_02( hObject, nOpacity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshOpacity ( 2, vIn, NULL ) ; }
            inline AIVariable       getMeshOpacity                                          ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshOpacity ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMeshSubsetCount                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setMeshSubsetMaterial                                   ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& sMaterialName ) const { S3DX_DECLARE_VIN_03( hObject, nSubsetIndex, sMaterialName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetMaterial ( 3, vIn, NULL ) ; }
            inline AIVariable       getMeshSubsetMaterialName                               ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialName ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setMeshMaterial                                         ( const AIVariable& hObject, const AIVariable& sMaterialName ) const { S3DX_DECLARE_VIN_02( hObject, sMaterialName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshMaterial ( 2, vIn, NULL ) ; }
            inline AIVariable       compareMeshSubsetMaterial                               ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& sMaterialName ) const { S3DX_DECLARE_VIN_03( hObject, nSubsetIndex, sMaterialName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.compareMeshSubsetMaterial ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             enableMeshFrustumCulling                                ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.enableMeshFrustumCulling ( 2, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialEmissive                      ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_06( hObject, nSubsetIndex, nRed, nGreen, nBlue, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialEmissive ( 3, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialAmbient                       ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_06( hObject, nSubsetIndex, nRed, nGreen, nBlue, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialAmbient ( 6, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialDiffuse                       ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_06( hObject, nSubsetIndex, nRed, nGreen, nBlue, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialDiffuse ( 6, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialSpecular                      ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_06( hObject, nSubsetIndex, nRed, nGreen, nBlue, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialSpecular ( 6, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialFresnel                       ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nIntensity, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_07( hObject, nSubsetIndex, nRed, nGreen, nBlue, nIntensity, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialFresnel ( 7, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialShininess                     ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nShininess, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, nShininess, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialShininess ( 4, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialOpacity                       ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nOpacity, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, nOpacity, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialOpacity ( 4, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialOpacityThreshold              ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nOpacity, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, nOpacity, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialOpacityThreshold ( 4, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialEffectIntensity               ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nIntensity, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, nIntensity, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialEffectIntensity ( 4, vIn, NULL ) ; }
            inline AIVariables<4>   getMeshSubsetMaterialEmissiveOverride                   ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEmissiveOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<4>   getMeshSubsetMaterialAmbientOverride                    ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialAmbientOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<4>   getMeshSubsetMaterialDiffuseOverride                    ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialDiffuseOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<4>   getMeshSubsetMaterialSpecularOverride                   ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialSpecularOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<5>   getMeshSubsetMaterialFresnelOverride                    ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<5> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialFresnelOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialShininessOverride                  ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialShininessOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialOpacityOverride                    ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialOpacityOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialOpacityThresholdOverride           ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialOpacityThresholdOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialEffectIntensityOverride            ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectIntensityOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline void             overrideMeshMaterialEmissive                            ( const AIVariable& hObject, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( hObject, nRed, nGreen, nBlue, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshMaterialEmissive ( 5, vIn, NULL ) ; }
            inline void             overrideMeshMaterialAmbient                             ( const AIVariable& hObject, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( hObject, nRed, nGreen, nBlue, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshMaterialAmbient ( 5, vIn, NULL ) ; }
            inline void             overrideMeshMaterialDiffuse                             ( const AIVariable& hObject, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( hObject, nRed, nGreen, nBlue, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshMaterialDiffuse ( 5, vIn, NULL ) ; }
            inline void             overrideMeshMaterialSpecular                            ( const AIVariable& hObject, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_05( hObject, nRed, nGreen, nBlue, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshMaterialSpecular ( 5, vIn, NULL ) ; }
            inline void             overrideMeshMaterialFresnel                             ( const AIVariable& hObject, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nIntensity, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_06( hObject, nRed, nGreen, nBlue, nIntensity, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshMaterialFresnel ( 6, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialEffectMap0                    ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& sMapName, const AIVariable& kMapType ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, sMapName, kMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialEffectMap0 ( 4, vIn, NULL ) ; }
            inline void             overrideMeshMaterialEffectMap0                          ( const AIVariable& hObject, const AIVariable& sMapName, const AIVariable& kMapType ) const { S3DX_DECLARE_VIN_03( hObject, sMapName, kMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshMaterialEffectMap0 ( 3, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialEffectMap1                    ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& sMapName, const AIVariable& kMapType ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, sMapName, kMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialEffectMap1 ( 4, vIn, NULL ) ; }
            inline void             overrideMeshMaterialEffectMap1                          ( const AIVariable& hObject, const AIVariable& sMapName, const AIVariable& kMapType ) const { S3DX_DECLARE_VIN_03( hObject, sMapName, kMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshMaterialEffectMap1 ( 3, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialNormalMap                     ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& sMapName, const AIVariable& kMapType ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, sMapName, kMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialNormalMap ( 4, vIn, NULL ) ; }
            inline void             overrideMeshMaterialNormalMap                           ( const AIVariable& hObject, const AIVariable& sMapName, const AIVariable& kMapType ) const { S3DX_DECLARE_VIN_03( hObject, sMapName, kMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshMaterialNormalMap ( 3, vIn, NULL ) ; }
            inline void             overrideMeshSubsetMaterialSpecularMap                   ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& sMapName, const AIVariable& kMapType ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, sMapName, kMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshSubsetMaterialSpecularMap ( 4, vIn, NULL ) ; }
            inline void             overrideMeshMaterialSpecularMap                         ( const AIVariable& hObject, const AIVariable& sMapName, const AIVariable& kMapType ) const { S3DX_DECLARE_VIN_03( hObject, sMapName, kMapType ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideMeshMaterialSpecularMap ( 3, vIn, NULL ) ; }
            inline AIVariables<2>   getMeshSubsetMaterialEffectMap0                         ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap0 ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialEffectMap1                         ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap1 ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialNormalMap                          ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialNormalMap ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialSpecularMap                        ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialSpecularMap ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialEffectMap0Override                 ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap0Override ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialEffectMap1Override                 ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap1Override ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialNormalMapOverride                  ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialNormalMapOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialSpecularMapOverride                ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialSpecularMapOverride ( 2, vIn, vOut ) ; return vOut ; }
            inline void             setMeshSubsetMaterialEffectMap0AdditionalUVOffset       ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& u, const AIVariable& v ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, u, v ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetMaterialEffectMap0AdditionalUVOffset ( 4, vIn, NULL ) ; }
            inline void             setMeshSubsetMaterialEffectMap0AdditionalUVScale        ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& u, const AIVariable& v ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, u, v ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetMaterialEffectMap0AdditionalUVScale ( 4, vIn, NULL ) ; }
            inline void             setMeshSubsetMaterialEffectMap0AdditionalUVRotation     ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nCenterU, const AIVariable& nCenterV, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_05( hObject, nSubsetIndex, nCenterU, nCenterV, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetMaterialEffectMap0AdditionalUVRotation ( 5, vIn, NULL ) ; }
            inline void             setMeshSubsetMaterialEffectMap1AdditionalUVOffset       ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& u, const AIVariable& v ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, u, v ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetMaterialEffectMap1AdditionalUVOffset ( 4, vIn, NULL ) ; }
            inline void             setMeshSubsetMaterialEffectMap1AdditionalUVScale        ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& u, const AIVariable& v ) const { S3DX_DECLARE_VIN_04( hObject, nSubsetIndex, u, v ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetMaterialEffectMap1AdditionalUVScale ( 4, vIn, NULL ) ; }
            inline void             setMeshSubsetMaterialEffectMap1AdditionalUVRotation     ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nCenterU, const AIVariable& nCenterV, const AIVariable& nAngle ) const { S3DX_DECLARE_VIN_05( hObject, nSubsetIndex, nCenterU, nCenterV, nAngle ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetMaterialEffectMap1AdditionalUVRotation ( 5, vIn, NULL ) ; }
            inline AIVariables<2>   getMeshSubsetMaterialEffectMap0AdditionalUVOffset       ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap0AdditionalUVOffset ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialEffectMap0AdditionalUVScale        ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap0AdditionalUVScale ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getMeshSubsetMaterialEffectMap0AdditionalUVRotation     ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap0AdditionalUVRotation ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialEffectMap1AdditionalUVOffset       ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap1AdditionalUVOffset ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getMeshSubsetMaterialEffectMap1AdditionalUVScale        ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap1AdditionalUVScale ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getMeshSubsetMaterialEffectMap1AdditionalUVRotation     ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap1AdditionalUVRotation ( 2, vIn, vOut ) ; return vOut ; }
            inline void             playMeshSubsetMaterialEffectMap0Movie                   ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.playMeshSubsetMaterialEffectMap0Movie ( 2, vIn, NULL ) ; }
            inline void             pauseMeshSubsetMaterialEffectMap0Movie                  ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.pauseMeshSubsetMaterialEffectMap0Movie ( 2, vIn, NULL ) ; }
            inline void             stopMeshSubsetMaterialEffectMap0Movie                   ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.stopMeshSubsetMaterialEffectMap0Movie ( 2, vIn, NULL ) ; }
            inline AIVariable       getMeshSubsetMaterialEffectMap0MovieBufferingProgress   ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap0MovieBufferingProgress ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMeshSubsetMaterialEffectMap0MoviePlaybackProgress    ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap0MoviePlaybackProgress ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMeshSubsetMaterialEffectMap0MoviePlaybackCursor      ( const AIVariable& hObject, const AIVariable& nSubsetIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSubsetIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetMaterialEffectMap0MoviePlaybackCursor ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setMeshSubsetMaterialEffectMap0MovieTransparentColor    ( const AIVariable& hObject, const AIVariable& nSubsetIndex, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nTolerance ) const { S3DX_DECLARE_VIN_06( hObject, nSubsetIndex, nRed, nGreen, nBlue, nTolerance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetMaterialEffectMap0MovieTransparentColor ( 6, vIn, NULL ) ; }
            inline void             setMeshLightMaskBit                                     ( const AIVariable& hObject, const AIVariable& nBitIndex, const AIVariable& bValue ) const { S3DX_DECLARE_VIN_03( hObject, nBitIndex, bValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshLightMaskBit ( 3, vIn, NULL ) ; }
            inline AIVariable       getMeshLightMaskBit                                     ( const AIVariable& hObject, const AIVariable& nBitIndex )  const { S3DX_DECLARE_VIN_02( hObject, nBitIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshLightMaskBit ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setMeshProjectorMaskBit                                 ( const AIVariable& hObject, const AIVariable& nBitIndex, const AIVariable& bValue ) const { S3DX_DECLARE_VIN_03( hObject, nBitIndex, bValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshProjectorMaskBit ( 3, vIn, NULL ) ; }
            inline AIVariable       getMeshProjectorMaskBit                                 ( const AIVariable& hObject, const AIVariable& nBitIndex )  const { S3DX_DECLARE_VIN_02( hObject, nBitIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshProjectorMaskBit ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMesh                                                 ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMesh ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setMesh                                                 ( const AIVariable& hObject, const AIVariable& hMesh ) const { S3DX_DECLARE_VIN_02( hObject, hMesh ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMesh ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMeshName                                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshName ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMeshTriangleCount                                    ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshTriangleCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMeshVertexCount                                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshVertexCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSkeletonName                                         ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getSkeletonName ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSkeletonJointCount                                   ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getSkeletonJointCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSkeletonJointNameAt                                  ( const AIVariable& hObject, const AIVariable& iJointIndex ) const { S3DX_DECLARE_VIN_02( hObject, iJointIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getSkeletonJointNameAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createRuntimeMesh                                       ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.createRuntimeMesh ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createRuntimeMesh                                       ( const AIVariable& hObject, const AIVariable& bCloneExisting ) const { S3DX_DECLARE_VIN_02( hObject, bCloneExisting ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.createRuntimeMesh ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             overrideSkeletonJointTranslation                        ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& tx, const AIVariable& ty, const AIVariable& tz, const AIVariable& kSpace, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_07( hObject, sJointName, tx, ty, tz, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideSkeletonJointTranslation ( 7, vIn, NULL ) ; }
            inline void             overrideSkeletonJointRotation                           ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& rx, const AIVariable& ry, const AIVariable& rz, const AIVariable& kSpace, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_07( hObject, sJointName, rx, ry, rz, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideSkeletonJointRotation ( 7, vIn, NULL ) ; }
            inline void             overrideSkeletonJointRotationQuaternion                 ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& qx, const AIVariable& qy, const AIVariable& qz, const AIVariable& qw, const AIVariable& kSpace, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_08( hObject, sJointName, qx, qy, qz, qw, kSpace, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.overrideSkeletonJointRotationQuaternion ( 8, vIn, NULL ) ; }
            inline void             setSkeletonJointCustomScale                             ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& sx, const AIVariable& sy, const AIVariable& sz ) const { S3DX_DECLARE_VIN_05( hObject, sJointName, sx, sy, sz ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setSkeletonJointCustomScale ( 5, vIn, NULL ) ; }
            inline AIVariables<3>   getSkeletonJointTranslation                             ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getSkeletonJointTranslation ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getSkeletonJointRotation                                ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getSkeletonJointRotation ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getSkeletonJointXAxis                                   ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getSkeletonJointXAxis ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getSkeletonJointYAxis                                   ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getSkeletonJointYAxis ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getSkeletonJointZAxis                                   ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& kSpace ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, kSpace ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getSkeletonJointZAxis ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getSkeletonJointParentJointName                         ( const AIVariable& hObject, const AIVariable& sJointName ) const { S3DX_DECLARE_VIN_02( hObject, sJointName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getSkeletonJointParentJointName ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setSkeletonJointInheritsParentUniformScale              ( const AIVariable& hObject, const AIVariable& sJointName, const AIVariable& bInherits ) const { S3DX_DECLARE_VIN_03( hObject, sJointName, bInherits ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setSkeletonJointInheritsParentUniformScale ( 3, vIn, NULL ) ; }
            inline void             addSkeletonCloneModifier                                ( const AIVariable& hObject, const AIVariable& hMasterObject ) const { S3DX_DECLARE_VIN_02( hObject, hMasterObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.addSkeletonCloneModifier ( 2, vIn, NULL ) ; }
            inline AIVariable       addCurve                                                ( const AIVariable& hObject, const AIVariable& kCurveType ) const { S3DX_DECLARE_VIN_02( hObject, kCurveType ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.addCurve ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             removeCurve                                             ( const AIVariable& hObject, const AIVariable& nCurveIndex ) const { S3DX_DECLARE_VIN_02( hObject, nCurveIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.removeCurve ( 2, vIn, NULL ) ; }
            inline AIVariable       getCurveCount                                           ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getCurveCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             addCurvePoint                                           ( const AIVariable& hObject, const AIVariable& nCurveIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z ) const { S3DX_DECLARE_VIN_05( hObject, nCurveIndex, x, y, z ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.addCurvePoint ( 5, vIn, NULL ) ; }
            inline void             removeCurvePoint                                        ( const AIVariable& hObject, const AIVariable& nCurveIndex, const AIVariable& nPointIndex ) const { S3DX_DECLARE_VIN_03( hObject, nCurveIndex, nPointIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.removeCurvePoint ( 3, vIn, NULL ) ; }
            inline AIVariable       getCurvePointCount                                      ( const AIVariable& hObject, const AIVariable& nCurveIndex ) const { S3DX_DECLARE_VIN_02( hObject, nCurveIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getCurvePointCount ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getCurvePoint                                           ( const AIVariable& hObject, const AIVariable& nCurveIndex, const AIVariable& nPointIndex ) const { S3DX_DECLARE_VIN_03( hObject, nCurveIndex, nPointIndex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getCurvePoint ( 3, vIn, vOut ) ; return vOut ; }
            inline void             setCurvePoint                                           ( const AIVariable& hObject, const AIVariable& nCurveIndex, const AIVariable& nPointIndex, const AIVariable& x, const AIVariable& y, const AIVariable& z ) const { S3DX_DECLARE_VIN_06( hObject, nCurveIndex, nPointIndex, x, y, z ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setCurvePoint ( 6, vIn, NULL ) ; }
            inline void             setCurveStartColor                                      ( const AIVariable& hObject, const AIVariable& nCurveIndex, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue ) const { S3DX_DECLARE_VIN_05( hObject, nCurveIndex, nRed, nGreen, nBlue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setCurveStartColor ( 5, vIn, NULL ) ; }
            inline void             setCurveEndColor                                        ( const AIVariable& hObject, const AIVariable& nCurveIndex, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue ) const { S3DX_DECLARE_VIN_05( hObject, nCurveIndex, nRed, nGreen, nBlue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setCurveEndColor ( 5, vIn, NULL ) ; }
            inline void             setCurveStartOpacity                                    ( const AIVariable& hObject, const AIVariable& nCurveIndex, const AIVariable& nOpacity ) const { S3DX_DECLARE_VIN_03( hObject, nCurveIndex, nOpacity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setCurveStartOpacity ( 3, vIn, NULL ) ; }
            inline void             setCurveEndOpacity                                      ( const AIVariable& hObject, const AIVariable& nCurveIndex, const AIVariable& nOpacity ) const { S3DX_DECLARE_VIN_03( hObject, nCurveIndex, nOpacity ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setCurveEndOpacity ( 3, vIn, NULL ) ; }
            inline AIVariables<3>   getCurveStartColor                                      ( const AIVariable& hObject, const AIVariable& nCurveIndex ) const { S3DX_DECLARE_VIN_02( hObject, nCurveIndex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getCurveStartColor ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<3>   getCurveEndColor                                        ( const AIVariable& hObject, const AIVariable& nCurveIndex ) const { S3DX_DECLARE_VIN_02( hObject, nCurveIndex ) ; AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getCurveEndColor ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<7>   evaluateCurve                                           ( const AIVariable& hObject, const AIVariable& nCurveIndex, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_03( hObject, nCurveIndex, nFactor ) ; AIVariables<7> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.evaluateCurve ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariable       getCurveLength                                          ( const AIVariable& hObject, const AIVariable& nCurveIndex ) const { S3DX_DECLARE_VIN_02( hObject, nCurveIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getCurveLength ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setMeshOption                                           ( const AIVariable& hObject, const AIVariable& kOption, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_03( hObject, kOption, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshOption ( 3, vIn, NULL ) ; }
            inline AIVariable       getMeshOption                                           ( const AIVariable& hObject, const AIVariable& kOption ) const { S3DX_DECLARE_VIN_02( hObject, kOption ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshOption ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getMeshSubsetVertexColorCount                           ( const AIVariable& hObject, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hObject, nSubset ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetVertexColorCount ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createMeshSubsetVertexColorBuffer                       ( const AIVariable& hObject, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hObject, nSubset ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.createMeshSubsetVertexColorBuffer ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             destroyMeshSubsetVertexColorBuffer                      ( const AIVariable& hObject, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hObject, nSubset ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.destroyMeshSubsetVertexColorBuffer ( 2, vIn, NULL ) ; }
            inline AIVariable       lockMeshSubsetVertexColorBuffer                         ( const AIVariable& hObject, const AIVariable& nSubset, const AIVariable& kLockMode ) const { S3DX_DECLARE_VIN_03( hObject, nSubset, kLockMode ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.lockMeshSubsetVertexColorBuffer ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             unlockMeshSubsetVertexColorBuffer                       ( const AIVariable& hObject, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hObject, nSubset ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.unlockMeshSubsetVertexColorBuffer ( 2, vIn, NULL ) ; }
            inline void             setMeshSubsetVertexColor                                ( const AIVariable& hObject, const AIVariable& nSubset, const AIVariable& nVertex, const AIVariable& nRed, const AIVariable& nGreen, const AIVariable& nBlue, const AIVariable& nAlpha ) const { S3DX_DECLARE_VIN_07( hObject, nSubset, nVertex, nRed, nGreen, nBlue, nAlpha ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetVertexColor ( 7, vIn, NULL ) ; }
            inline AIVariables<4>   getMeshSubsetVertexColor                                ( const AIVariable& hObject, const AIVariable& nSubset, const AIVariable& nVertex ) const { S3DX_DECLARE_VIN_03( hObject, nSubset, nVertex ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.getMeshSubsetVertexColor ( 3, vIn, vOut ) ; return vOut ; }
            inline void             setMeshSubsetVertexColors                               ( const AIVariable& hObject, const AIVariable& nSubset, const AIVariable& nStartVertex, const AIVariable& nVertexCount, const AIVariable& nVertexStride, const AIVariable& pVertexList ) const { S3DX_DECLARE_VIN_06( hObject, nSubset, nStartVertex, nVertexCount, nVertexStride, pVertexList ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetVertexColors ( 6, vIn, NULL ) ; }
            inline void             setMeshSubsetVertexColorBufferDynamic                   ( const AIVariable& hObject, const AIVariable& nSubset, const AIVariable& bDynamic ) const { S3DX_DECLARE_VIN_03( hObject, nSubset, bDynamic ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.setMeshSubsetVertexColorBufferDynamic ( 3, vIn, NULL ) ; }
            inline AIVariable       isMeshSubsetVertexColorBufferDynamic                    ( const AIVariable& hObject, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hObject, nSubset ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.isMeshSubsetVertexColorBufferDynamic ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       computeMeshSubsetVertexColors                           ( const AIVariable& hObject, const AIVariable& nSubset ) const { S3DX_DECLARE_VIN_02( hObject, nSubset ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->shape.computeMeshSubsetVertexColors ( 2, vIn, &vOut ) ; return vOut ; }
        } ;

        struct SoundPackage
        {
            // Functions
            //
            inline void             play                                                ( const AIVariable& hObject, const AIVariable& nSoundIndex, const AIVariable& nVolume, const AIVariable& bLoop, const AIVariable& nPriority ) const { S3DX_DECLARE_VIN_05( hObject, nSoundIndex, nVolume, bLoop, nPriority ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.play ( 5, vIn, NULL ) ; }
            inline void             pause                                               ( const AIVariable& hObject, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSoundIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.pause ( 2, vIn, NULL ) ; }
            inline void             resume                                              ( const AIVariable& hObject, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSoundIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.resume ( 2, vIn, NULL ) ; }
            inline void             stop                                                ( const AIVariable& hObject, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSoundIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.stop ( 2, vIn, NULL ) ; }
            inline void             setVolume                                           ( const AIVariable& hObject, const AIVariable& nSoundIndex, const AIVariable& nVolume ) const { S3DX_DECLARE_VIN_03( hObject, nSoundIndex, nVolume ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.setVolume ( 3, vIn, NULL ) ; }
            inline void             setPitch                                            ( const AIVariable& hObject, const AIVariable& nSoundIndex, const AIVariable& nPitch ) const { S3DX_DECLARE_VIN_03( hObject, nSoundIndex, nPitch ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.setPitch ( 3, vIn, NULL ) ; }
            inline AIVariable       isPlaying                                           ( const AIVariable& hObject, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSoundIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.isPlaying ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isPaused                                            ( const AIVariable& hObject, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSoundIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.isPaused ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getPlaybackProgress                                 ( const AIVariable& hObject, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSoundIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.getPlaybackProgress ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setPlaybackProgress                                 ( const AIVariable& hObject, const AIVariable& nSoundIndex, const AIVariable& nValue ) const { S3DX_DECLARE_VIN_03( hObject, nSoundIndex, nValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.setPlaybackProgress ( 3, vIn, NULL ) ; }
            inline AIVariable       getName                                             ( const AIVariable& hObject, const AIVariable& nSoundIndex ) const { S3DX_DECLARE_VIN_02( hObject, nSoundIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.getName ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             enableSpatialization                                ( const AIVariable& hObject, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hObject, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.enableSpatialization ( 2, vIn, NULL ) ; }
            inline AIVariable       isSpatializationEnabled                             ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.isSpatializationEnabled ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setSpatializationRolloffFactor                      ( const AIVariable& hObject, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hObject, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.setSpatializationRolloffFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getSpatializationRolloffFactor                      ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.getSpatializationRolloffFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setSpatializationReferenceDistance                  ( const AIVariable& hObject, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hObject, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.setSpatializationReferenceDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getSpatializationReferenceDistance                  ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.getSpatializationReferenceDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSpatializationGain                               ( const AIVariable& hObject ) const { S3DX_DECLARE_VIN_01( hObject ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->sound.getSpatializationGain ( 1, vIn, &vOut ) ; return vOut ; }
        } ;

        struct StringPackage
        {
            // Functions
            //
            inline AIVariable       isEmpty                                             ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.isEmpty ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getLength                                           ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.getLength ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getByte                                             ( const AIVariable& sString, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( sString, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.getByte ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       replace                                             ( const AIVariable& sString, const AIVariable& sPattern0, const AIVariable& sPattern1 ) const { S3DX_DECLARE_VIN_03( sString, sPattern0, sPattern1 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.replace ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       contains                                            ( const AIVariable& sString, const AIVariable& sPattern ) const { S3DX_DECLARE_VIN_02( sString, sPattern ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.contains ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       findFirst                                           ( const AIVariable& sString, const AIVariable& sPattern, const AIVariable& nStartIndex ) const { S3DX_DECLARE_VIN_03( sString, sPattern, nStartIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.findFirst ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<2>   findFirstMatching                                   ( const AIVariable& sString, const AIVariable& sPattern, const AIVariable& nStartIndex ) const { S3DX_DECLARE_VIN_03( sString, sPattern, nStartIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.findFirstMatching ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariable       explode                                             ( const AIVariable& sString, const AIVariable& tResult, const AIVariable& sDelimiter ) const { S3DX_DECLARE_VIN_03( sString, tResult, sDelimiter ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.explode ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       lower                                               ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.lower ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       upper                                               ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.upper ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       toNumber                                            ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.toNumber ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSubString                                        ( const AIVariable& sString, const AIVariable& nStart, const AIVariable& nLength ) const { S3DX_DECLARE_VIN_03( sString, nStart, nLength ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.getSubString ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       crc32                                               ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.crc32 ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       md5                                                 ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.md5 ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       sha1                                                ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.sha1 ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       hmacsha1                                            ( const AIVariable& sString, const AIVariable& sKey ) const { S3DX_DECLARE_VIN_02( sString, sKey ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.hmacsha1 ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       reverse                                             ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.reverse ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       compare                                             ( const AIVariable& sString, const AIVariable& sOtherString ) const { S3DX_DECLARE_VIN_02( sString, sOtherString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.compare ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       encodeHTML                                          ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.encodeHTML ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       decodeHTML                                          ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.decodeHTML ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       encodeURL                                           ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.encodeURL ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       decodeURL                                           ( const AIVariable& sString ) const { S3DX_DECLARE_VIN_01( sString ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.decodeURL ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       encodeBase64                                        ( const AIVariable& sString, const AIVariable& bHexadecimal ) const { S3DX_DECLARE_VIN_02( sString, bHexadecimal ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.encodeBase64 ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       encodeUTF8                                          ( const AIVariable& sString, const AIVariable& sFormat ) const { S3DX_DECLARE_VIN_02( sString, sFormat ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.encodeUTF8 ( 2, vIn, &vOut ) ; return vOut ; }
            
            inline AIVariable       format                                              ( const AIVariable& sFormat ) const { S3DX_DECLARE_VIN_01( sFormat ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       format                                              ( const AIVariable& sFormat, const AIVariable& v0 ) const { S3DX_DECLARE_VIN_02( sFormat, v0 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       format                                              ( const AIVariable& sFormat, const AIVariable& v0, const AIVariable& v1 ) const { S3DX_DECLARE_VIN_03( sFormat, v0, v1 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       format                                              ( const AIVariable& sFormat, const AIVariable& v0, const AIVariable& v1, const AIVariable& v2 ) const { S3DX_DECLARE_VIN_04( sFormat, v0, v1, v2 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       format                                              ( const AIVariable& sFormat, const AIVariable& v0, const AIVariable& v1, const AIVariable& v2, const AIVariable& v3 ) const { S3DX_DECLARE_VIN_05( sFormat, v0, v1, v2, v3 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 5, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       format                                              ( const AIVariable& sFormat, const AIVariable& v0, const AIVariable& v1, const AIVariable& v2, const AIVariable& v3, const AIVariable& v4 ) const { S3DX_DECLARE_VIN_06( sFormat, v0, v1, v2, v3, v4 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 6, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       format                                              ( const AIVariable& sFormat, const AIVariable& v0, const AIVariable& v1, const AIVariable& v2, const AIVariable& v3, const AIVariable& v4, const AIVariable& v5 ) const { S3DX_DECLARE_VIN_07( sFormat, v0, v1, v2, v3, v4, v5 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 7, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       format                                              ( const AIVariable& sFormat, const AIVariable& v0, const AIVariable& v1, const AIVariable& v2, const AIVariable& v3, const AIVariable& v4, const AIVariable& v5, const AIVariable& v6 ) const { S3DX_DECLARE_VIN_08( sFormat, v0, v1, v2, v3, v4, v5, v6 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 8, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       format                                              ( const AIVariable& sFormat, const AIVariable& v0, const AIVariable& v1, const AIVariable& v2, const AIVariable& v3, const AIVariable& v4, const AIVariable& v5, const AIVariable& v6, const AIVariable& v7 ) const { S3DX_DECLARE_VIN_09( sFormat, v0, v1, v2, v3, v4, v5, v6, v7 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 9, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       format                                              ( const AIVariable& sFormat, const AIVariable& v0, const AIVariable& v1, const AIVariable& v2, const AIVariable& v3, const AIVariable& v4, const AIVariable& v5, const AIVariable& v6, const AIVariable& v7, const AIVariable& v8 ) const { S3DX_DECLARE_VIN_10( sFormat, v0, v1, v2, v3, v4, v5, v6, v7, v8 ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->string.format ( 10, vIn, &vOut ) ; return vOut ; }
        } ;

        struct SystemPackage
        {
            // Constants
            //
            const AIVariable        kOSTypeLinux                                        ;
            const AIVariable        kOSTypeMac                                          ;
            const AIVariable        kOSTypeSymbian                                      ;
            const AIVariable        kOSTypeWindows                                      ;
            const AIVariable        kOSTypeWindowsCE                                    ;
            const AIVariable        kOSTypeIPhone                                       ;
            const AIVariable        kOSTypeWii                                          ;
            const AIVariable        kOSTypeAngstrom                                     ;
            const AIVariable        kOSTypeAndroid                                      ;
            const AIVariable        kOSTypePSP                                          ;
            const AIVariable        kOSTypePalm                                         ;
            const AIVariable        kOSTypePS3                                          ;
            const AIVariable        kOSType3DS                                          ;
            const AIVariable        kOSTypeBada                                         ;
            const AIVariable        kOSTypeBrew                                         ;
            const AIVariable        kClientTypeStandalone                               ;
            const AIVariable        kClientTypeEmbedded                                 ;
            const AIVariable        kClientTypeEditor                                   ;
            const AIVariable        kLanguageUnknown                                    ;
            const AIVariable        kLanguageAlbanian                                   ;
            const AIVariable        kLanguageArabic                                     ;
            const AIVariable        kLanguageBulgarian                                  ;
            const AIVariable        kLanguageCatalan                                    ;
            const AIVariable        kLanguageCzech                                      ;
            const AIVariable        kLanguageDanish                                     ;
            const AIVariable        kLanguageDutch                                      ;
            const AIVariable        kLanguageEnglish                                    ;
            const AIVariable        kLanguageFinnish                                    ;
            const AIVariable        kLanguageFrench                                     ;
            const AIVariable        kLanguageGerman                                     ;
            const AIVariable        kLanguageGreek                                      ;
            const AIVariable        kLanguageHebrew                                     ;
            const AIVariable        kLanguageHungarian                                  ;
            const AIVariable        kLanguageIcelandic                                  ;
            const AIVariable        kLanguageItalian                                    ;
            const AIVariable        kLanguageJapanese                                   ;
            const AIVariable        kLanguageKorean                                     ;
            const AIVariable        kLanguageNorwegian                                  ;
            const AIVariable        kLanguagePolish                                     ;
            const AIVariable        kLanguagePortuguese                                 ;
            const AIVariable        kLanguageRomanian                                   ;
            const AIVariable        kLanguageRussian                                    ;
            const AIVariable        kLanguageSerboCroatian                              ;
            const AIVariable        kLanguageSlovak                                     ;
            const AIVariable        kLanguageSpanish                                    ;
            const AIVariable        kLanguageSwedish                                    ;
            const AIVariable        kLanguageThai                                       ;
            const AIVariable        kLanguageTurkish                                    ;
            const AIVariable        kLanguageUrdu                                       ;
            const AIVariable        kGPUCapabilityHardwareRenderingSupport              ;
            const AIVariable        kGPUCapabilityVertexShaderSupport                   ;
            const AIVariable        kGPUCapabilityPixelShaderSupport                    ;
            const AIVariable        kGPUCapabilityBloomFilterSupport                    ;
            const AIVariable        kGPUCapabilityMonochromeFilterSupport               ;
            const AIVariable        kGPUCapabilityDynamicShadowsSupport                 ;
            const AIVariable        kGPUCapabilityMotionBlurFilterSupport               ;
            const AIVariable        kGPUCapabilityDepthBlurFilterSupport                ;
            const AIVariable        kGPUCapabilityDistortionFilterSupport               ;
            const AIVariable        kGPUCapabilityHardwareOcclusionSupport              ;
            const AIVariable        kGPUCapabilityContrastFilterSupport                 ;
            const AIVariable        kGPUCapabilityVelocityBlurFilterSupport             ;
            const AIVariable        kGPUCapabilityDistortionMapFilterSupport            ; // 1.9.0.5
            const AIVariable        kGPUCapabilitySoftParticlesSupport                  ; // 1.9.0.5
            const AIVariable        kOSTypeXbox360                                      ; // 1.9.0.6
            const AIVariable        kGPUCapabilityAntialiasingFilterSupport             ; // 1.9.0.9
            const AIVariable        kLanguageSimplifiedChinese                          ; // 1.9.0.9
            const AIVariable        kLanguageTraditionalChinese                         ; // 1.9.0.9
            const AIVariable        kOSTypeBlackBerry                                   ; // 1.9.0.9
            const AIVariable        kGPUCapabilityDistortionMeshFilterSupport           ; // 1.9.0.9
            const AIVariable        kGPUCapabilityAnisotropicTextureFilteringSupport    ; // 1.9.0.9
            const AIVariable        kOSTypePSVita                                       ; // 1.9.0.9
            const AIVariable        kLanguageBrazilianPortuguese                        ; // 1.9.0.9
            const AIVariable        kLanguageBritishEnglish                             ; // 1.9.0.9
            const AIVariable        kOSTypeNaCl                                         ; // 1.9.1.1
            const AIVariable        kOSTypeFlash                                        ; // 1.9.1.1
            const AIVariable        kGPUCapabilityOffscreenRenderingSupport             ; // 1.9.1.1
            const AIVariable        kGPUCapabilityAmbientOcclusionFilterSupport         ; // 1.9.1.1
            const AIVariable        kGPUCapabilityGammaFilterSupport                    ; // 1.9.2.0
            const AIVariable        kGPUCapabilityColorGradingFilterSupport             ; // 1.9.2.0
            const AIVariable        kOSTypeWinRT                                        ; // 1.9.2.0

            SystemPackage                                       (    ):
            kOSTypeLinux                                        (  4 ),
            kOSTypeMac                                          (  3 ),
            kOSTypeSymbian                                      (  6 ),
            kOSTypeWindows                                      (  1 ),
            kOSTypeWindowsCE                                    (  2 ),
            kOSTypeIPhone                                       (  7 ),
            kOSTypeWii                                          (  8 ),
            kOSTypeAngstrom                                     (  9 ),
            kOSTypeAndroid                                      ( 10 ),
            kOSTypePSP                                          ( 11 ),
            kOSTypePalm                                         ( 12 ),
            kOSTypePS3                                          ( 13 ),
            kOSType3DS                                          ( 16 ),
            kOSTypeBada                                         ( 17 ),
            kOSTypeBrew                                         ( 18 ),
            kClientTypeStandalone                               (  0 ),
            kClientTypeEmbedded                                 (  1 ),
            kClientTypeEditor                                   (  2 ),
            kLanguageUnknown                                    (  0 ),
            kLanguageAlbanian                                   (  1 ),
            kLanguageArabic                                     (  2 ),
            kLanguageBulgarian                                  (  4 ),
            kLanguageCatalan                                    (  5 ),
            kLanguageCzech                                      (  7 ),
            kLanguageDanish                                     (  8 ),
            kLanguageDutch                                      (  9 ),
            kLanguageEnglish                                    ( 10 ),
            kLanguageFinnish                                    ( 11 ),
            kLanguageFrench                                     ( 12 ),
            kLanguageGerman                                     ( 13 ),
            kLanguageGreek                                      ( 14 ),
            kLanguageHebrew                                     ( 15 ),
            kLanguageHungarian                                  ( 16 ),
            kLanguageIcelandic                                  ( 17 ),
            kLanguageItalian                                    ( 18 ),
            kLanguageJapanese                                   ( 19 ),
            kLanguageKorean                                     ( 20 ),
            kLanguageNorwegian                                  ( 21 ),
            kLanguagePolish                                     ( 22 ),
            kLanguagePortuguese                                 ( 23 ),
            kLanguageRomanian                                   ( 25 ),
            kLanguageRussian                                    ( 26 ),
            kLanguageSerboCroatian                              ( 27 ),
            kLanguageSlovak                                     ( 28 ),
            kLanguageSpanish                                    ( 29 ),
            kLanguageSwedish                                    ( 30 ),
            kLanguageThai                                       ( 31 ),
            kLanguageTurkish                                    ( 32 ),
            kLanguageUrdu                                       ( 33 ),
            kGPUCapabilityHardwareRenderingSupport              (  0 ),
            kGPUCapabilityVertexShaderSupport                   (  1 ),
            kGPUCapabilityPixelShaderSupport                    (  2 ),
            kGPUCapabilityBloomFilterSupport                    (  3 ),
            kGPUCapabilityMonochromeFilterSupport               (  4 ),
            kGPUCapabilityDynamicShadowsSupport                 (  5 ),
            kGPUCapabilityMotionBlurFilterSupport               (  6 ),
            kGPUCapabilityDepthBlurFilterSupport                (  7 ),
            kGPUCapabilityDistortionFilterSupport               (  8 ),
            kGPUCapabilityHardwareOcclusionSupport              (  9 ),
            kGPUCapabilityContrastFilterSupport                 ( 10 ),
            kGPUCapabilityVelocityBlurFilterSupport             ( 11 ),
            kGPUCapabilityDistortionMapFilterSupport            ( 12 ), // 1.9.0.5
            kGPUCapabilitySoftParticlesSupport                  ( 13 ), // 1.9.0.5
            kOSTypeXbox360                                      (  5 ), // 1.9.0.6
            kGPUCapabilityAntialiasingFilterSupport             ( 14 ), // 1.9.0.9
            kLanguageSimplifiedChinese                          (  6 ), // 1.9.0.9
            kLanguageTraditionalChinese                         ( 34 ), // 1.9.0.9
            kOSTypeBlackBerry                                   ( 23 ), // 1.9.0.9
            kGPUCapabilityDistortionMeshFilterSupport           ( 15 ), // 1.9.0.9
            kGPUCapabilityAnisotropicTextureFilteringSupport    ( 16 ), // 1.9.0.9
            kOSTypePSVita                                       ( 22 ), // 1.9.0.9
            kLanguageBrazilianPortuguese                        ( 35 ), // 1.9.0.9
            kLanguageBritishEnglish                             ( 36 ), // 1.9.0.9
            kOSTypeNaCl                                         ( 14 ), // 1.9.1.1
            kOSTypeFlash                                        ( 21 ), // 1.9.1.1
            kGPUCapabilityOffscreenRenderingSupport             ( 17 ), // 1.9.1.1
            kGPUCapabilityAmbientOcclusionFilterSupport         ( 18 ), // 1.9.1.1
            kGPUCapabilityGammaFilterSupport                    ( 19 ), // 1.9.2.0
            kGPUCapabilityColorGradingFilterSupport             ( 20 ), // 1.9.2.0
            kOSTypeWinRT                                        ( 24 )  // 1.9.2.0
            { }

            // Functions
            //
            inline AIVariable       getOSType                                           ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getOSType ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getOSVersion                                        ( ) const { AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getOSVersion ( 0, NULL, vOut ) ; return vOut ; }
            inline AIVariable       getOSVersionString                                  ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getOSVersionString ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getOSLanguage                                       ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getOSLanguage ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getGPUModelDescription                              ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getGPUModelDescription ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getGPUDriverDescription                             ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getGPUDriverDescription ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getGPUCapability                                    ( const AIVariable& kCapability ) const { S3DX_DECLARE_VIN_01( kCapability ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getGPUCapability ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getDeviceUniqueIdentifier                           ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getDeviceUniqueIdentifier ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getDeviceModel                                      ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getDeviceModel ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getDeviceName                                       ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getDeviceName ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getSupportedScreenResolutionCount                   ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getSupportedScreenResolutionCount ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariables<2>   getSupportedScreenResolutionAt                      ( const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_01( nIndex ) ; AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getSupportedScreenResolutionAt ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariables<2>   getCurrentScreenResolution                          ( ) const { AIVariables<2> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getCurrentScreenResolution ( 0, NULL, vOut ) ; return vOut ; }
            inline AIVariable       getCurrentScreenPixelAspectRatio                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getCurrentScreenPixelAspectRatio ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCurrentScreenPixelDensity                        ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getCurrentScreenPixelDensity ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getClientType                                       ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getClientType ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getClientConfigString                               ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getClientConfigString ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setWakeLock                                         ( const AIVariable& bSet ) const { S3DX_DECLARE_VIN_01( bSet ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.setWakeLock ( 1, vIn, NULL ) ; }
            inline AIVariable       getClipboardText                                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getClipboardText ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             setClipboardText                                    ( const AIVariable& sText ) const { S3DX_DECLARE_VIN_01( sText ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.setClipboardText ( 1, vIn, NULL ) ; }
            inline AIVariable       getYear                                             ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getYear ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getMonth                                            ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getMonth ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getDayOfMonth                                       ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getDayOfMonth ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getDayOfWeek                                        ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getDayOfWeek ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getTimeOfDay                                        ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getTimeOfDay ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getUnixTimestampString                              ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getUnixTimestampString ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       areLocationUpdatesSupported                         ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.areLocationUpdatesSupported ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       areLocationUpdatesEnabled                           ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.areLocationUpdatesEnabled ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       enableLocationUpdates                               ( const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_01( bEnable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.enableLocationUpdates ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<3>   getLastKnownLocation                                ( ) const { AIVariables<3> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getLastKnownLocation ( 0, NULL, vOut ) ; return vOut ; }
            inline AIVariable       areHeadingUpdatesSupported                          ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.areHeadingUpdatesSupported ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       areHeadingUpdatesEnabled                            ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.areHeadingUpdatesEnabled ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       enableHeadingUpdates                                ( const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_01( bEnable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.enableHeadingUpdates ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getLastKnownHeading                                 ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getLastKnownHeading ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getLastKnownTrueHeading                             ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getLastKnownTrueHeading ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       hasPersistentStorageManager                         ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.hasPersistentStorageManager ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       openPersistentStorageManager                        ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.openPersistentStorageManager ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       openPersistentStorageManager                        ( const AIVariable& nUserID, const AIVariable& nTrackingID, const AIVariable& bForceShowUI ) const { S3DX_DECLARE_VIN_03( nUserID, nTrackingID, bForceShowUI ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.openPersistentStorageManager ( 3, vIn, &vOut ) ; return vOut ; } // C++ only version
            inline void             openURL                                             ( const AIVariable& sURL, const AIVariable& sTarget ) const { S3DX_DECLARE_VIN_02( sURL, sTarget ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.openURL ( 2, vIn, NULL ) ; }
            inline AIVariable       getHomeDirectory                                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getHomeDirectory ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getDocumentsDirectory                               ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getDocumentsDirectory ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getPicturesDirectory                                ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getPicturesDirectory ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       findFiles                                           ( const AIVariable& tResult, const AIVariable& sDirectory, const AIVariable& sFilter ) const { S3DX_DECLARE_VIN_03( tResult, sDirectory, sFilter ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.findFiles ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       findDirectories                                     ( const AIVariable& tResult, const AIVariable& sDirectory ) const { S3DX_DECLARE_VIN_02( tResult, sDirectory ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.findDirectories ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getDirectoryFreeSpace                               ( const AIVariable& sDirectory ) const { S3DX_DECLARE_VIN_01( sDirectory ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getDirectoryFreeSpace ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             install                                             ( const AIVariable& sPackURI ) const { S3DX_DECLARE_VIN_01( sPackURI ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.install ( 1, vIn, NULL ) ; }
            inline AIVariable       isInstalled                                         ( const AIVariable& sPackURI ) const { S3DX_DECLARE_VIN_01( sPackURI ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.isInstalled ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getInstallationStatus                               ( const AIVariable& sPackURI ) const { S3DX_DECLARE_VIN_01( sPackURI ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.getInstallationStatus ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       launch                                              ( const AIVariable& sPackURI, const AIVariable& sConfURI ) const { S3DX_DECLARE_VIN_02( sPackURI, sConfURI ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.launch ( 2, vIn, &vOut ) ; return vOut ; }

            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName ) const { S3DX_DECLARE_VIN_01( sName ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 1, vIn, vOut ) ; return vOut ; }
            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_02( sName, vParam0 ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 2, vIn, vOut ) ; return vOut ; }
            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_03( sName, vParam0, vParam1 ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_04( sName, vParam0, vParam1, vParam2 ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 4, vIn, vOut ) ; return vOut ; }
            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_05( sName, vParam0, vParam1, vParam2, vParam3 ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 5, vIn, vOut ) ; return vOut ; }
            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_06( sName, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 6, vIn, vOut ) ; return vOut ; }
            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_07( sName, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 7, vIn, vOut ) ; return vOut ; }
            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_08( sName, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 8, vIn, vOut ) ; return vOut ; }
            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_09( sName, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 9, vIn, vOut ) ; return vOut ; }
            inline AIVariables<32>  callClientFunction                                  ( const AIVariable& sName, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_10( sName, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->system.callClientFunction ( 10, vIn, vOut ) ; return vOut ; }
        } ;

        struct TablePackage
        {
            // Functions
            //
            inline AIVariable       isEmpty                                             ( const AIVariable& hTable ) const { S3DX_DECLARE_VIN_01( hTable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.isEmpty ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSize                                             ( const AIVariable& hTable ) const { S3DX_DECLARE_VIN_01( hTable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.getSize ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAt                                               ( const AIVariable& hTable, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hTable, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.getAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getLast                                             ( const AIVariable& hTable ) const { S3DX_DECLARE_VIN_01( hTable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.getLast ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getFirst                                            ( const AIVariable& hTable ) const { S3DX_DECLARE_VIN_01( hTable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.getFirst ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setAt                                               ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_03( hTable, nIndex, vValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setAt ( 3, vIn, NULL ) ; }
            inline void             empty                                               ( const AIVariable& hTable ) const { S3DX_DECLARE_VIN_01( hTable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.empty ( 1, vIn, NULL ) ; }
            inline void             add                                                 ( const AIVariable& hTable, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_02( hTable, vValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.add ( 2, vIn, NULL ) ; }
            inline void             removeAt                                            ( const AIVariable& hTable, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hTable, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.removeAt ( 2, vIn, NULL ) ; }
            inline void             removeLast                                          ( const AIVariable& hTable ) const { S3DX_DECLARE_VIN_01( hTable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.removeLast ( 1, vIn, NULL ) ; }
            inline void             removeFirst                                         ( const AIVariable& hTable ) const { S3DX_DECLARE_VIN_01( hTable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.removeFirst ( 1, vIn, NULL ) ; }
            inline void             insertAt                                            ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_03( hTable, nIndex, vValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.insertAt ( 3, vIn, NULL ) ; }
            inline AIVariable       contains                                            ( const AIVariable& hTable, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_02( hTable, vValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.contains ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             shuffle                                             ( const AIVariable& hTable ) const { S3DX_DECLARE_VIN_01( hTable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.shuffle ( 1, vIn, NULL ) ; }
            inline void             reverse                                             ( const AIVariable& hTable ) const { S3DX_DECLARE_VIN_01( hTable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.reverse ( 1, vIn, NULL ) ; }
            inline void             swap                                                ( const AIVariable& hTable, const AIVariable& nIndex0, const AIVariable& nIndex1 ) const { S3DX_DECLARE_VIN_03( hTable, nIndex0, nIndex1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.swap ( 3, vIn, NULL ) ; }
            inline AIVariable       reserve                                             ( const AIVariable& hTable, const AIVariable& nCount ) const { S3DX_DECLARE_VIN_02( hTable, nCount ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.reserve ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<32>  getRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& nCount ) const { S3DX_DECLARE_VIN_03( hTable, nIndex, nCount ) ; AIVariables<32> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.getRangeAt ( 3, vIn, vOut ) ; return vOut ; }
            inline AIVariable       newInstance                                         ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.newInstance ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             copy                                                ( const AIVariable& hTable, const AIVariable& hTableToCopy ) const { S3DX_DECLARE_VIN_02( hTable, hTableToCopy ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.copy ( 2, vIn, NULL ) ; }
            
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_03( hTable, nIndex, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 3, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_04( hTable, nIndex, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 4, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_05( hTable, nIndex, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 5, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_06( hTable, nIndex, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 6, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_07( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 7, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_08( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 8, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_09( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 9, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_10( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 10, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_11( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 11, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_12( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 12, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_13( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 13, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_14( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 14, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12 ) const { S3DX_DECLARE_VIN_15( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 15, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13 ) const { S3DX_DECLARE_VIN_16( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 16, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14 ) const { S3DX_DECLARE_VIN_17( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 17, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15 ) const { S3DX_DECLARE_VIN_18( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 18, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15, const AIVariable& vParam16 ) const { S3DX_DECLARE_VIN_19( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15, vParam16 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 19, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15, const AIVariable& vParam16, const AIVariable& vParam17 ) const { S3DX_DECLARE_VIN_20( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15, vParam16, vParam17 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 20, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15, const AIVariable& vParam16, const AIVariable& vParam17, const AIVariable& vParam18 ) const { S3DX_DECLARE_VIN_21( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15, vParam16, vParam17, vParam18 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 21, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15, const AIVariable& vParam16, const AIVariable& vParam17, const AIVariable& vParam18, const AIVariable& vParam19 ) const { S3DX_DECLARE_VIN_22( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15, vParam16, vParam17, vParam18, vParam19 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 22, vIn, NULL ) ; }
            inline void             setRangeAt                                          ( const AIVariable& hTable, const AIVariable& nIndex, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12, const AIVariable& vParam13, const AIVariable& vParam14, const AIVariable& vParam15, const AIVariable& vParam16, const AIVariable& vParam17, const AIVariable& vParam18, const AIVariable& vParam19, const AIVariable& vParam20 ) const { S3DX_DECLARE_VIN_23( hTable, nIndex, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12, vParam13, vParam14, vParam15, vParam16, vParam17, vParam18, vParam19, vParam20 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->table.setRangeAt ( 23, vIn, NULL ) ; }
        } ;

        struct UserPackage
        {
            // Constants
            //
            const AIVariable        kStatusSaving                                       ; // 1.9.0.9
            const AIVariable        kStatusLoading                                      ; // 1.9.0.9
            const AIVariable        kStatusReady                                        ; // 1.9.0.9
            const AIVariable        kStatusNone                                         ; // 1.9.0.9
            const AIVariable        kResultNone                                         ; // 1.9.0.9
            const AIVariable        kResultSuccess                                      ; // 1.9.0.9
            const AIVariable        kResultError                                        ; // 1.9.0.9
            const AIVariable        kClearModeDefault                                   ; // 1.9.0.9
            const AIVariable        kClearModeNothing                                   ; // 1.9.0.9
            const AIVariable        kResultErrorNotSignedIn                             ; // 1.9.0.9
            const AIVariable        kResultErrorNoStorageDevice                         ; // 1.9.0.9
            const AIVariable        kResultErrorNotEnoughSpace                          ; // 1.9.0.9
            const AIVariable        kResultErrorAccessDenied                            ; // 1.9.0.9
            const AIVariable        kResultErrorCorrupt                                 ; // 1.9.0.9
            const AIVariable        kResultErrorNotFound                                ; // 1.9.0.9
            const AIVariable        kResultSuccessNotOwner                              ; // 1.9.0.9
            const AIVariable        kResultErrorAlreadyExists                           ; // 1.9.0.9
            const AIVariable        kResultErrorNotEnoughIndexNodes                     ; // 1.9.2.0

            UserPackage                     (    ):
            kStatusSaving                   (  3 ), // 1.9.0.9
            kStatusLoading                  (  2 ), // 1.9.0.9
            kStatusReady                    (  0 ), // 1.9.0.9
            kStatusNone                     (  1 ), // 1.9.0.9
            kResultNone                     (  0 ), // 1.9.0.9
            kResultSuccess                  (  1 ), // 1.9.0.9
            kResultError                    ( -1 ), // 1.9.0.9
            kClearModeDefault               (  0 ), // 1.9.0.9
            kClearModeNothing               (  1 ), // 1.9.0.9
            kResultErrorNotSignedIn         ( -2 ), // 1.9.0.9
            kResultErrorNoStorageDevice     ( -3 ), // 1.9.0.9
            kResultErrorNotEnoughSpace      ( -4 ), // 1.9.0.9
            kResultErrorAccessDenied        ( -5 ), // 1.9.0.9
            kResultErrorCorrupt             ( -6 ), // 1.9.0.9
            kResultErrorNotFound            ( -7 ), // 1.9.0.9
            kResultSuccessNotOwner          (  2 ), // 1.9.0.9
            kResultErrorAlreadyExists       ( -8 ), // 1.9.0.9
            kResultErrorNotEnoughIndexNodes ( -9 )  // 1.9.2.0
            { }

            // Functions
            //
            inline AIVariable       getSceneName                                        ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getSceneName ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       isLocal                                             ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.isLocal ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getID                                               ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getID ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLocalSoundSourceObject                           ( const AIVariable& hUser, const AIVariable& hObject ) const { S3DX_DECLARE_VIN_02( hUser, hObject ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setLocalSoundSourceObject ( 2, vIn, NULL ) ; }
            inline AIVariable       getLocalSoundSourceObject                           ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getLocalSoundSourceObject ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLocalSoundSourceRolloffFactor                    ( const AIVariable& hUser, const AIVariable& nFactor ) const { S3DX_DECLARE_VIN_02( hUser, nFactor ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setLocalSoundSourceRolloffFactor ( 2, vIn, NULL ) ; }
            inline AIVariable       getLocalSoundSourceRolloffFactor                    ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getLocalSoundSourceRolloffFactor ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setLocalSoundSourceReferenceDistance                ( const AIVariable& hUser, const AIVariable& nDistance ) const { S3DX_DECLARE_VIN_02( hUser, nDistance ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setLocalSoundSourceReferenceDistance ( 2, vIn, NULL ) ; }
            inline AIVariable       getLocalSoundSourceReferenceDistance                ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getLocalSoundSourceReferenceDistance ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAIModelCount                                     ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getAIModelCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAIModelNameAt                                    ( const AIVariable& hUser, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hUser, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getAIModelNameAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       hasAIModel                                          ( const AIVariable& hUser, const AIVariable& sAIModel ) const { S3DX_DECLARE_VIN_02( hUser, sAIModel ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.hasAIModel ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       hasAIEventHandler                                   ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sHandler ) const { S3DX_DECLARE_VIN_03( hUser, sAIModel, sHandler ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.hasAIEventHandler ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setViewport                                         ( const AIVariable& hUser, const AIVariable& nLeft, const AIVariable& nBottom, const AIVariable& nWidth, const AIVariable& nHeight ) const { S3DX_DECLARE_VIN_05( hUser, nLeft, nBottom, nWidth, nHeight ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setViewport ( 5, vIn, &vOut ) ; return vOut ; }
            inline AIVariables<4>   getViewport                                         ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariables<4> vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getViewport ( 1, vIn, vOut ) ; return vOut ; }
            inline void             setClearMode                                        ( const AIVariable& hUser, const AIVariable& kClearMode ) const { S3DX_DECLARE_VIN_02( hUser, kClearMode ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setClearMode ( 2, vIn, NULL ) ; }
            inline AIVariable       getClearMode                                        ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getClearMode ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableRendering                                     ( const AIVariable& hUser, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_02( hUser, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.enableRendering ( 2, vIn, NULL ) ; }
            inline AIVariable       isRenderingEnabled                                  ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.isRenderingEnabled ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setRenderPriority                                   ( const AIVariable& hUser, const AIVariable& nPriority ) const { S3DX_DECLARE_VIN_02( hUser, nPriority ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setRenderPriority ( 2, vIn, NULL ) ; }
            inline AIVariable       getRenderPriority                                   ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getRenderPriority ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getActiveCamera                                     ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getActiveCamera ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setActiveCamera                                     ( const AIVariable& hUser, const AIVariable& hCamera ) const { S3DX_DECLARE_VIN_02( hUser, hCamera ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setActiveCamera ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getScene                                            ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getScene ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setScene                                            ( const AIVariable& hUser, const AIVariable& sSceneName ) const { S3DX_DECLARE_VIN_02( hUser, sSceneName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setScene ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       startScenePreloading                                ( const AIVariable& hUser, const AIVariable& sSceneName ) const { S3DX_DECLARE_VIN_02( hUser, sSceneName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.startScenePreloading ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       startScenePreloading                                ( const AIVariable& hUser, const AIVariable& sSceneName, const AIVariable& tAdditionalModelsNames ) const { S3DX_DECLARE_VIN_03( hUser, sSceneName, tAdditionalModelsNames ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.startScenePreloading ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       startScenePreloading                                ( const AIVariable& hUser, const AIVariable& sSceneName, const AIVariable& tAdditionalModelsNames, const AIVariable& nMaxFilesPerFrame ) const { S3DX_DECLARE_VIN_04( hUser, sSceneName, tAdditionalModelsNames, nMaxFilesPerFrame ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.startScenePreloading ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getScenePreloadingStatus                            ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getScenePreloadingStatus ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAIVariable                                       ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sVariable ) const { S3DX_DECLARE_VIN_03( hUser, sAIModel, sVariable ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getAIVariable ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setAIVariable                                       ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sVariable, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_04( hUser, sAIModel, sVariable, vValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setAIVariable ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getAIState                                          ( const AIVariable& hUser, const AIVariable& sAIModel ) const { S3DX_DECLARE_VIN_02( hUser, sAIModel ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getAIState ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       addAIModel                                          ( const AIVariable& hUser, const AIVariable& sAIModel ) const { S3DX_DECLARE_VIN_02( hUser, sAIModel ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.addAIModel ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             removeAIModel                                       ( const AIVariable& hUser, const AIVariable& sAIModel ) const { S3DX_DECLARE_VIN_02( hUser, sAIModel ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.removeAIModel ( 2, vIn, NULL ) ; }
            inline AIVariable       clearEnvironment                                    ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.clearEnvironment ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       saveEnvironment                                     ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.saveEnvironment ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       saveEnvironment                                     ( const AIVariable& hUser, const AIVariable& bFailIfExists ) const { S3DX_DECLARE_VIN_02( hUser, bFailIfExists ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.saveEnvironment ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       loadEnvironment                                     ( const AIVariable& hUser, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hUser, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.loadEnvironment ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentStatus                                ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentStatus ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentSaveResult                            ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentSaveResult ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentLoadResult                            ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentLoadResult ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setEnvironmentName                                  ( const AIVariable& hUser, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hUser, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setEnvironmentName ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentName                                  ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentName ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setEnvironmentTitle                                 ( const AIVariable& hUser, const AIVariable& sTitle ) const { S3DX_DECLARE_VIN_02( hUser, sTitle ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setEnvironmentTitle ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentTitle                                 ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentTitle ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setEnvironmentDescription                           ( const AIVariable& hUser, const AIVariable& sDescription ) const { S3DX_DECLARE_VIN_02( hUser, sDescription ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setEnvironmentDescription ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentDescription                           ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentDescription ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentVariableCount                         ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentVariableCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentVariableNameAt                        ( const AIVariable& hUser, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hUser, nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentVariableNameAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       setEnvironmentVariable                              ( const AIVariable& hUser, const AIVariable& sName, const AIVariable& vValue ) const { S3DX_DECLARE_VIN_03( hUser, sName, vValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setEnvironmentVariable ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentVariable                              ( const AIVariable& hUser, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hUser, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentVariable ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       unsetEnvironmentVariable                            ( const AIVariable& hUser, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hUser, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.unsetEnvironmentVariable ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       saveEnvironmentVariable                             ( const AIVariable& hUser, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hUser, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.saveEnvironmentVariable ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       loadEnvironmentVariable                             ( const AIVariable& hUser, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hUser, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.loadEnvironmentVariable ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getEnvironmentVariableStatus                        ( const AIVariable& hUser, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hUser, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentVariableStatus ( 2, vIn, &vOut ) ; return vOut ; }
            inline void             setEnvironmentSystemUserID                          ( const AIVariable& hUser, const AIVariable& nUserID ) const { S3DX_DECLARE_VIN_02( hUser, nUserID ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.setEnvironmentSystemUserID ( 2, vIn, NULL ) ; }
            inline AIVariable       getEnvironmentSystemUserID                          ( const AIVariable& hUser ) const { S3DX_DECLARE_VIN_01( hUser ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.getEnvironmentSystemUserID ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             enableAIModel                                       ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& bEnable ) const { S3DX_DECLARE_VIN_03( hUser, sAIModel, bEnable ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.enableAIModel ( 3, vIn, NULL ) ; }

            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent ) const { S3DX_DECLARE_VIN_03( hUser, sAIModel, sEvent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 3, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_04( hUser, sAIModel, sEvent, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 4, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_05( hUser, sAIModel, sEvent, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 5, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_06( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 6, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_07( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 7, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_08( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 8, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_09( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 9, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_10( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 10, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_11( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 11, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_12( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 12, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_13( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 13, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_14( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 14, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_15( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 15, vIn, NULL ) ; }
            inline void             sendEvent                                           ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12 ) const { S3DX_DECLARE_VIN_16( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEvent ( 16, vIn, NULL ) ; }

            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent ) const { S3DX_DECLARE_VIN_04( hUser, nDelay, sAIModel, sEvent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 4, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_05( hUser, nDelay, sAIModel, sEvent, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 5, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_06( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 6, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_07( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 7, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_08( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 8, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_09( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 9, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_10( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 10, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_11( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 11, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_12( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 12, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_13( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 13, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_14( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 14, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_15( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 15, vIn, NULL ) ; }
            inline void             postEvent                                           ( const AIVariable& hUser, const AIVariable& nDelay, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_16( hUser, nDelay, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.postEvent ( 16, vIn, NULL ) ; }

            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent ) const { S3DX_DECLARE_VIN_03( hUser, sAIModel, sEvent ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 3, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0 ) const { S3DX_DECLARE_VIN_04( hUser, sAIModel, sEvent, vParam0 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 4, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1 ) const { S3DX_DECLARE_VIN_05( hUser, sAIModel, sEvent, vParam0, vParam1 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 5, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2 ) const { S3DX_DECLARE_VIN_06( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 6, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3 ) const { S3DX_DECLARE_VIN_07( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 7, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4 ) const { S3DX_DECLARE_VIN_08( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 8, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5 ) const { S3DX_DECLARE_VIN_09( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 9, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6 ) const { S3DX_DECLARE_VIN_10( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 10, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7 ) const { S3DX_DECLARE_VIN_11( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 11, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8 ) const { S3DX_DECLARE_VIN_12( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 12, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9 ) const { S3DX_DECLARE_VIN_13( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 13, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10 ) const { S3DX_DECLARE_VIN_14( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 14, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11 ) const { S3DX_DECLARE_VIN_15( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 15, vIn, NULL ) ; }
            inline void             sendEventImmediate                                  ( const AIVariable& hUser, const AIVariable& sAIModel, const AIVariable& sEvent, const AIVariable& vParam0, const AIVariable& vParam1, const AIVariable& vParam2, const AIVariable& vParam3, const AIVariable& vParam4, const AIVariable& vParam5, const AIVariable& vParam6, const AIVariable& vParam7, const AIVariable& vParam8, const AIVariable& vParam9, const AIVariable& vParam10, const AIVariable& vParam11, const AIVariable& vParam12 ) const { S3DX_DECLARE_VIN_16( hUser, sAIModel, sEvent, vParam0, vParam1, vParam2, vParam3, vParam4, vParam5, vParam6, vParam7, vParam8, vParam9, vParam10, vParam11, vParam12 ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->user.sendEventImmediate ( 16, vIn, NULL ) ; }
        } ;

        struct VideoPackage
        {
            // Functions
            //
            inline AIVariable       getCaptureDeviceCount                               ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.getCaptureDeviceCount ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCaptureDeviceNameAt                              ( const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_01( nIndex ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.getCaptureDeviceNameAt ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setActiveCaptureDevice                              ( const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_01( nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.setActiveCaptureDevice ( 1, vIn, NULL ) ; }
            inline AIVariable       startCaptureToPixelMap                              ( const AIVariable& sPixelMapName ) const { S3DX_DECLARE_VIN_01( sPixelMapName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.startCaptureToPixelMap ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             stopCapture                                         ( ) const { S3DX_MODULE_GUID::__pS3DXEAPIMI->video.stopCapture ( 0, NULL, NULL ) ; }
            inline AIVariable       getCaptureWidth                                     ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.getCaptureWidth ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCaptureHeight                                    ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.getCaptureHeight ( 0, NULL, &vOut ) ; return vOut ; }
            inline AIVariable       getCaptureHorizontalFlip                            ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.getCaptureHorizontalFlip ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             setCaptureWidth                                     ( const AIVariable& nWidth ) const { S3DX_DECLARE_VIN_01( nWidth ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.setCaptureWidth ( 1, vIn, NULL ) ; }
            inline void             setCaptureHeight                                    ( const AIVariable& nHeight ) const { S3DX_DECLARE_VIN_01( nHeight ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.setCaptureHeight ( 1, vIn, NULL ) ; }
            inline void             setCaptureRate                                      ( const AIVariable& nRate ) const { S3DX_DECLARE_VIN_01( nRate ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.setCaptureRate ( 1, vIn, NULL ) ; }
            inline void             setCaptureHorizontalFlip                            ( const AIVariable& bFlip ) const { S3DX_DECLARE_VIN_01( bFlip ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->video.setCaptureHorizontalFlip ( 1, vIn, NULL ) ; }
        } ;

        struct XmlPackage
        {
            // Functions
            //
            inline AIVariable       getRootElement                                      ( const AIVariable& hXML ) const { S3DX_DECLARE_VIN_01( hXML ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getRootElement ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementName                                      ( const AIVariable& hXMLElement ) const { S3DX_DECLARE_VIN_01( hXMLElement ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setElementName                                      ( const AIVariable& hXMLElement, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hXMLElement, sName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.setElementName ( 2, vIn, NULL ) ; }
            inline AIVariable       getElementValue                                     ( const AIVariable& hXMLElement ) const { S3DX_DECLARE_VIN_01( hXMLElement ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementValue ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setElementValue                                     ( const AIVariable& hXMLElement, const AIVariable& sValue ) const { S3DX_DECLARE_VIN_02( hXMLElement, sValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.setElementValue ( 2, vIn, NULL ) ; }
            inline AIVariable       getElementChildCount                                ( const AIVariable& hXMLElement ) const { S3DX_DECLARE_VIN_01( hXMLElement ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementChildCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementChildAt                                   ( const AIVariable& hXMLElement, const AIVariable& nChild ) const { S3DX_DECLARE_VIN_02( hXMLElement, nChild ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementChildAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementAttributeCount                            ( const AIVariable& hXMLElement ) const { S3DX_DECLARE_VIN_01( hXMLElement ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementAttributeCount ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementAttributeAt                               ( const AIVariable& hXMLElement, const AIVariable& nAttribute ) const { S3DX_DECLARE_VIN_02( hXMLElement, nAttribute ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementAttributeAt ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementAttributeWithName                         ( const AIVariable& hXMLElement, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hXMLElement, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementAttributeWithName ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementParent                                    ( const AIVariable& hXMLElement ) const { S3DX_DECLARE_VIN_01( hXMLElement ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementParent ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementFirstChild                                ( const AIVariable& hXMLElement ) const { S3DX_DECLARE_VIN_01( hXMLElement ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementFirstChild ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementNextSibling                               ( const AIVariable& hXMLElement ) const { S3DX_DECLARE_VIN_01( hXMLElement ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementNextSibling ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementFirstChildWithName                        ( const AIVariable& hXMLElement, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hXMLElement, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementFirstChildWithName ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getElementNextSiblingWithName                       ( const AIVariable& hXMLElement, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hXMLElement, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getElementNextSiblingWithName ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       appendElementChild                                  ( const AIVariable& hXMLElement, const AIVariable& sName, const AIVariable& sValue ) const { S3DX_DECLARE_VIN_03( hXMLElement, sName, sValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.appendElementChild ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       insertElementChildAt                                ( const AIVariable& hXMLElement, const AIVariable& nIndex, const AIVariable& sName, const AIVariable& sValue ) const { S3DX_DECLARE_VIN_04( hXMLElement, nIndex, sName, sValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.insertElementChildAt ( 4, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       appendElementChildElement                           ( const AIVariable& hXMLElement, const AIVariable& hChild ) const { S3DX_DECLARE_VIN_02( hXMLElement, hChild ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.appendElementChildElement ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       insertElementChildElementAt                         ( const AIVariable& hXMLElement, const AIVariable& nIndex, const AIVariable& hChild ) const { S3DX_DECLARE_VIN_03( hXMLElement, nIndex, hChild ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.insertElementChildElementAt ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             removeElementChildAt                                ( const AIVariable& hXMLElement, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hXMLElement, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.removeElementChildAt ( 2, vIn, NULL ) ; }
            inline void             removeElementChild                                  ( const AIVariable& hXMLElement, const AIVariable& hChild ) const { S3DX_DECLARE_VIN_02( hXMLElement, hChild ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.removeElementChild ( 2, vIn, NULL ) ; }
            inline AIVariable       appendElementAttribute                              ( const AIVariable& hXMLElement, const AIVariable& sName, const AIVariable& sValue ) const { S3DX_DECLARE_VIN_03( hXMLElement, sName, sValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.appendElementAttribute ( 3, vIn, &vOut ) ; return vOut ; }
            inline void             removeElementAttributeAt                            ( const AIVariable& hXMLElement, const AIVariable& nIndex ) const { S3DX_DECLARE_VIN_02( hXMLElement, nIndex ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.removeElementAttributeAt ( 2, vIn, NULL ) ; }
            inline void             removeElementAttribute                              ( const AIVariable& hXMLElement, const AIVariable& hAttribute ) const { S3DX_DECLARE_VIN_02( hXMLElement, hAttribute ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.removeElementAttribute ( 2, vIn, NULL ) ; }
            inline AIVariable       getAttributeName                                    ( const AIVariable& hXMLAttribute ) const { S3DX_DECLARE_VIN_01( hXMLAttribute ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getAttributeName ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setAttributeName                                    ( const AIVariable& hXMLAttribute, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hXMLAttribute, sName ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.setAttributeName ( 2, vIn, NULL ) ; }
            inline AIVariable       getAttributeValue                                   ( const AIVariable& hXMLAttribute ) const { S3DX_DECLARE_VIN_01( hXMLAttribute ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getAttributeValue ( 1, vIn, &vOut ) ; return vOut ; }
            inline void             setAttributeValue                                   ( const AIVariable& hXMLAttribute, const AIVariable& sValue ) const { S3DX_DECLARE_VIN_02( hXMLAttribute, sValue ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.setAttributeValue ( 2, vIn, NULL ) ; }
            inline void             empty                                               ( const AIVariable& hXML ) const { S3DX_DECLARE_VIN_01( hXML ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.empty ( 1, vIn, NULL ) ; }
            inline AIVariable       toString                                            ( const AIVariable& hXMLElement ) const { S3DX_DECLARE_VIN_01( hXMLElement ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.toString ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createFromString                                    ( const AIVariable& hXML, const AIVariable& sValue ) const { S3DX_DECLARE_VIN_02( hXML, sValue ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.createFromString ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       createFromResource                                  ( const AIVariable& hXML, const AIVariable& sName ) const { S3DX_DECLARE_VIN_02( hXML, sName ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.createFromResource ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       send                                                ( const AIVariable& hXML, const AIVariable& sURI ) const { S3DX_DECLARE_VIN_02( hXML, sURI ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.send ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       receive                                             ( const AIVariable& hXML, const AIVariable& sURI ) const { S3DX_DECLARE_VIN_02( hXML, sURI ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.receive ( 2, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       receive                                             ( const AIVariable& hXML, const AIVariable& sURI, const AIVariable& sOptionalHeader ) const { S3DX_DECLARE_VIN_03( hXML, sURI, sOptionalHeader ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.receive ( 3, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getSendStatus                                       ( const AIVariable& hXML ) const { S3DX_DECLARE_VIN_01( hXML ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getSendStatus ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       getReceiveStatus                                    ( const AIVariable& hXML ) const { S3DX_DECLARE_VIN_01( hXML ) ; AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.getReceiveStatus ( 1, vIn, &vOut ) ; return vOut ; }
            inline AIVariable       newInstance                                         ( ) const { AIVariable vOut ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.newInstance ( 0, NULL, &vOut ) ; return vOut ; }
            inline void             copy                                                ( const AIVariable& hXML, const AIVariable& hXMLToCopy ) const { S3DX_DECLARE_VIN_02( hXML, hXMLToCopy ) ; S3DX_MODULE_GUID::__pS3DXEAPIMI->xml.copy ( 2, vIn, NULL ) ; }
        } ;

        //---------------------------------------------------------------------
        //  Variables 
        //
        AnimationCallbacks          animation       ;
        ApplicationCallbacks        application     ;
        CacheCallbacks              cache           ;
        CameraCallbacks             camera          ;
        ColliderCallbacks           collider        ;
        DebugCallbacks              debug           ;
        DynamicsCallbacks           dynamics        ;
        GroupCallbacks              group           ;
        HashtableCallbacks          hashtable       ;
        HudCallbacks                hud             ;
        InputCallbacks              input           ;
        LightCallbacks              light           ;
        LogCallbacks                log             ;
        MathCallbacks               math            ;
        MeshCallbacks               mesh            ;
        MicrophoneCallbacks         microphone      ;
        MusicCallbacks              music           ;
        NavigationCallbacks         navigation      ;
        NetworkCallbacks            network         ;
        ObjectCallbacks             object          ;
        PixelmapCallbacks           pixelmap        ;
        ProjectorCallbacks          projector       ;
        SceneCallbacks              scene           ;
        SensorCallbacks             sensor          ;
        ServerCallbacks             server          ;
        SessionCallbacks            session         ;
        SfxCallbacks                sfx             ;
        ShapeCallbacks              shape           ;
        SoundCallbacks              sound           ;
        StringCallbacks             string          ;
        SystemCallbacks             system          ;
        TableCallbacks              table           ;
        UserCallbacks               user            ;
        VideoCallbacks              video           ;
        XmlCallbacks                xml             ;
    } ;

    // Top level API declaration
    //
    extern S3DX_API AIEngineAPI::AnimationPackage    animation       ;
    extern S3DX_API AIEngineAPI::ApplicationPackage  application     ;
    extern S3DX_API AIEngineAPI::CachePackage        cache           ;
    extern S3DX_API AIEngineAPI::CameraPackage       camera          ;
    extern S3DX_API AIEngineAPI::ColliderPackage     collider        ;
    extern S3DX_API AIEngineAPI::DebugPackage        debug           ;
    extern S3DX_API AIEngineAPI::DynamicsPackage     dynamics        ;
    extern S3DX_API AIEngineAPI::GroupPackage        group           ;
    extern S3DX_API AIEngineAPI::HashtablePackage    hashtable       ;
    extern S3DX_API AIEngineAPI::HudPackage          hud             ;
    extern S3DX_API AIEngineAPI::InputPackage        input           ;
    extern S3DX_API AIEngineAPI::LightPackage        light           ;
    extern S3DX_API AIEngineAPI::LogPackage          log             ;
    extern S3DX_API AIEngineAPI::MathPackage         math            ;
    extern S3DX_API AIEngineAPI::MeshPackage         mesh            ;
    extern S3DX_API AIEngineAPI::MicrophonePackage   microphone      ;
    extern S3DX_API AIEngineAPI::MusicPackage        music           ;
    extern S3DX_API AIEngineAPI::NavigationPackage   navigation      ;
    extern S3DX_API AIEngineAPI::NetworkPackage      network         ;
    extern S3DX_API AIEngineAPI::ObjectPackage       object          ;
    extern S3DX_API AIEngineAPI::PixelmapPackage     pixelmap        ;
    extern S3DX_API AIEngineAPI::ProjectorPackage    projector       ;
    extern S3DX_API AIEngineAPI::ScenePackage        scene           ;
    extern S3DX_API AIEngineAPI::SensorPackage       sensor          ;
    extern S3DX_API AIEngineAPI::ServerPackage       server          ;
    extern S3DX_API AIEngineAPI::SessionPackage      session         ;
    extern S3DX_API AIEngineAPI::SfxPackage          sfx             ;
    extern S3DX_API AIEngineAPI::ShapePackage        shape           ;
    extern S3DX_API AIEngineAPI::SoundPackage        sound           ;
    extern S3DX_API AIEngineAPI::StringPackage       string          ;
    extern S3DX_API AIEngineAPI::SystemPackage       system          ;
    extern S3DX_API AIEngineAPI::TablePackage        table           ;
    extern S3DX_API AIEngineAPI::UserPackage         user            ;
    extern S3DX_API AIEngineAPI::VideoPackage        video           ;
    extern S3DX_API AIEngineAPI::XmlPackage          xml             ;

    //-------------------------------------------------------------------------
    //  Utility functions
    //
    extern "C" bool RegisterAIEngineAPICallbacks ( AIEngineAPI *_pAPI ) ;

    //-------------------------------------------------------------------------
}

//-----------------------------------------------------------------------------
// Do *not* make a switch case as it will behave strangely on Xbox 360 with 
// LTCG and/or fastcode activated (did not test all combinations).
//
// WARNING: there is a "return" statement to speed up escapes, so take it into 
// account when using this macro.
//
#define S3DX_REGISTER_AIENGINEAPI_CALLBACK( __iCallbackID, __pCallback )                                                                                                                                  \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setCurrentClip                                               ) { animation.setCurrentClip                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getCurrentClip                                               ) { animation.getCurrentClip                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackSpeed                                             ) { animation.setPlaybackSpeed                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackSpeed                                             ) { animation.getPlaybackSpeed                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackLevel                                             ) { animation.setPlaybackLevel                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackLevel                                             ) { animation.getPlaybackLevel                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackKeyFrameBegin                                     ) { animation.setPlaybackKeyFrameBegin                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackKeyFrameBegin                                     ) { animation.getPlaybackKeyFrameBegin                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackKeyFrameEnd                                       ) { animation.setPlaybackKeyFrameEnd                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackKeyFrameEnd                                       ) { animation.getPlaybackKeyFrameEnd                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackMode                                              ) { animation.setPlaybackMode                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackMode                                              ) { animation.getPlaybackMode                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackBlendMode                                         ) { animation.setPlaybackBlendMode                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackBlendMode                                         ) { animation.getPlaybackBlendMode                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackCursor                                            ) { animation.setPlaybackCursor                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackCursor                                            ) { animation.getPlaybackCursor                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_matchPlaybackCursor                                          ) { animation.matchPlaybackCursor                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setSkeletonScale                                             ) { animation.setSkeletonScale                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getSkeletonScale                                             ) { animation.getSkeletonScale                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setObjectChannel                                             ) { animation.setObjectChannel                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setObjectChannelUseTrack                                     ) { animation.setObjectChannelUseTrack                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getObjectChannelUseTrack                                     ) { animation.getObjectChannelUseTrack                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setObjectChannelUseTrackIncrementalUpdates                   ) { animation.setObjectChannelUseTrackIncrementalUpdates              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getObjectChannelUseTrackIncrementalUpdates                   ) { animation.getObjectChannelUseTrackIncrementalUpdates              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setObjectChannelUseTrackFullPlaybackLevels                   ) { animation.setObjectChannelUseTrackFullPlaybackLevels              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getObjectChannelUseTrackFullPlaybackLevels                   ) { animation.getObjectChannelUseTrackFullPlaybackLevels              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getClipChannelCount                                          ) { animation.getClipChannelCount                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getClipChannelName                                           ) { animation.getClipChannelName                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getClipChannelHasTrack                                       ) { animation.getClipChannelHasTrack                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getClipKeyFrameRangeMin                                      ) { animation.getClipKeyFrameRangeMin                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getClipKeyFrameRangeMax                                      ) { animation.getClipKeyFrameRangeMax                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getClipName                                                  ) { animation.getClipName                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackIgnoreNotAnimatedChannels                         ) { animation.setPlaybackIgnoreNotAnimatedChannels                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackIgnoreNotAnimatedChannels                         ) { animation.getPlaybackIgnoreNotAnimatedChannels                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackIgnoreIfCursorOutOfRange                          ) { animation.setPlaybackIgnoreIfCursorOutOfRange                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackIgnoreIfCursorOutOfRange                          ) { animation.getPlaybackIgnoreIfCursorOutOfRange                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_setPlaybackIgnoreJointsScaleTracks                           ) { animation.setPlaybackIgnoreJointsScaleTracks                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_getPlaybackIgnoreJointsScaleTracks                           ) { animation.getPlaybackIgnoreJointsScaleTracks                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_animation_enablePlayback                                               ) { animation.enablePlayback                                          = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getName                                                    ) { application.getName                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getUniqueIdentifier                                        ) { application.getUniqueIdentifier                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getPackDirectory                                           ) { application.getPackDirectory                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getUserCount                                               ) { application.getUserCount                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getUserAt                                                  ) { application.getUserAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getUser                                                    ) { application.getUser                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_createUser                                                 ) { application.createUser                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_destroyUser                                                ) { application.destroyUser                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUser                                             ) { application.getCurrentUser                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserScene                                        ) { application.getCurrentUserScene                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserSceneName                                    ) { application.getCurrentUserSceneName                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setCurrentUserScene                                        ) { application.setCurrentUserScene                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserSceneTaggedObject                            ) { application.getCurrentUserSceneTaggedObject                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserAIVariable                                   ) { application.getCurrentUserAIVariable                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setCurrentUserAIVariable                                   ) { application.setCurrentUserAIVariable                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserAIState                                      ) { application.getCurrentUserAIState                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_playOverlayExternalMovie                                   ) { application.playOverlayExternalMovie                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_playOverlayMovie                                           ) { application.playOverlayMovie                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_stopOverlayMovie                                           ) { application.stopOverlayMovie                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_isOverlayMoviePlaying                                      ) { application.isOverlayMoviePlaying                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_startCurrentUserScenePreloading                            ) { application.startCurrentUserScenePreloading                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserScenePreloadingStatus                        ) { application.getCurrentUserScenePreloadingStatus                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_forceModelToStayLoaded                                     ) { application.forceModelToStayLoaded                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_forceResourceToStayLoaded                                  ) { application.forceResourceToStayLoaded                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_isModelLoaded                                              ) { application.isModelLoaded                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_isResourceLoaded                                           ) { application.isResourceLoaded                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_isModelReferenced                                          ) { application.isModelReferenced                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_isResourceReferenced                                       ) { application.isResourceReferenced                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getResourceProperty                                        ) { application.getResourceProperty                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getLoadedModelCount                                        ) { application.getLoadedModelCount                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getLoadedResourceCount                                     ) { application.getLoadedResourceCount                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_isPluginRegistered                                         ) { application.isPluginRegistered                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setAudioListenerObject                                     ) { application.setAudioListenerObject                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getAudioListenerObject                                     ) { application.getAudioListenerObject                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setUseAverageFrameTime                                     ) { application.setUseAverageFrameTime                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getUseAverageFrameTime                                     ) { application.getUseAverageFrameTime                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserMainCamera                                   ) { application.getCurrentUserMainCamera                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserActiveCamera                                 ) { application.getCurrentUserActiveCamera                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setCurrentUserActiveCamera                                 ) { application.setCurrentUserActiveCamera                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_resetCurrentUserActiveCamera                               ) { application.resetCurrentUserActiveCamera                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserViewportAspectRatio                          ) { application.getCurrentUserViewportAspectRatio                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserViewportWidth                                ) { application.getCurrentUserViewportWidth                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserViewportHeight                               ) { application.getCurrentUserViewportHeight                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_saveCurrentUserViewportToTexture                           ) { application.saveCurrentUserViewportToTexture                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserEnvironmentVariableCount                     ) { application.getCurrentUserEnvironmentVariableCount                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserEnvironmentVariableNameAt                    ) { application.getCurrentUserEnvironmentVariableNameAt               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setCurrentUserEnvironmentVariable                          ) { application.setCurrentUserEnvironmentVariable                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserEnvironmentVariable                          ) { application.getCurrentUserEnvironmentVariable                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_unsetCurrentUserEnvironmentVariable                        ) { application.unsetCurrentUserEnvironmentVariable                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_clearCurrentUserEnvironment                                ) { application.clearCurrentUserEnvironment                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_saveCurrentUserEnvironment                                 ) { application.saveCurrentUserEnvironment                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setCurrentUserEnvironmentName                              ) { application.setCurrentUserEnvironmentName                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserEnvironmentName                              ) { application.getCurrentUserEnvironmentName                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setCurrentUserEnvironmentTitle                             ) { application.setCurrentUserEnvironmentTitle                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setCurrentUserEnvironmentDescription                       ) { application.setCurrentUserEnvironmentDescription                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_loadCurrentUserEnvironment                                 ) { application.loadCurrentUserEnvironment                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserEnvironmentVariableStatus                    ) { application.getCurrentUserEnvironmentVariableStatus               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_saveCurrentUserEnvironmentVariable                         ) { application.saveCurrentUserEnvironmentVariable                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_loadCurrentUserEnvironmentVariable                         ) { application.loadCurrentUserEnvironmentVariable                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setCurrentUserEnvironmentURL                               ) { application.setCurrentUserEnvironmentURL                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getCurrentUserEnvironmentURL                               ) { application.getCurrentUserEnvironmentURL                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_checkCurrentUserEnvironmentLocalStorageDevice              ) { application.checkCurrentUserEnvironmentLocalStorageDevice         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_closeCurrentUserEnvironmentLocalStorageDevice              ) { application.closeCurrentUserEnvironmentLocalStorageDevice         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_checkCurrentUserEnvironmentLocalStorageSpace               ) { application.checkCurrentUserEnvironmentLocalStorageSpace          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_checkCurrentUserEnvironmentLocalStorageWriteAccess         ) { application.checkCurrentUserEnvironmentLocalStorageWriteAccess    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_checkCurrentUserEnvironmentLocalStorageExistence           ) { application.checkCurrentUserEnvironmentLocalStorageExistence      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_checkCurrentUserEnvironmentLocalStorageValidity            ) { application.checkCurrentUserEnvironmentLocalStorageValidity       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getLastFrameTime                                           ) { application.getLastFrameTime                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getAverageFrameTime                                        ) { application.getAverageFrameTime                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setMinFrameTime                                            ) { application.setMinFrameTime                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setMaxFrameTime                                            ) { application.setMaxFrameTime                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getTotalFrameTime                                          ) { application.getTotalFrameTime                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_resetTotalFrameTime                                        ) { application.resetTotalFrameTime                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_resetAverageFrameTime                                      ) { application.resetAverageFrameTime                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setFrameTimeFactor                                         ) { application.setFrameTimeFactor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getFrameTimeFactor                                         ) { application.getFrameTimeFactor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_setOption                                                  ) { application.setOption                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_getOption                                                  ) { application.getOption                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_restart                                                    ) { application.restart                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_quit                                                       ) { application.quit                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_mightBeCracked                                             ) { application.mightBeCracked                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_application_flushAIEvents                                              ) { application.flushAIEvents                                         = __pCallback ; return ; } \
                                                                                                                                                                                                                      \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_addFile                                                          ) { cache.addFile                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_addStreamFile                                                    ) { cache.addStreamFile                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_getFileStatus                                                    ) { cache.getFileStatus                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_pauseFileReceiving                                               ) { cache.pauseFileReceiving                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_resumeFileReceiving                                              ) { cache.resumeFileReceiving                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_cancelFileReceiving                                              ) { cache.cancelFileReceiving                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_sendFile                                                         ) { cache.sendFile                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_getFileSendStatus                                                ) { cache.getFileSendStatus                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_removeFile                                                       ) { cache.removeFile                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_getFileProperty                                                  ) { cache.getFileProperty                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_getFileContentAsString                                           ) { cache.getFileContentAsString                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_copyFileContent                                                  ) { cache.copyFileContent                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_createFile                                                       ) { cache.createFile                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_cache_empty                                                            ) { cache.empty                                                       = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setFieldOfView                                                  ) { camera.setFieldOfView                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getFieldOfView                                                  ) { camera.getFieldOfView                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setMinViewDistance                                              ) { camera.setMinViewDistance                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getMinViewDistance                                              ) { camera.getMinViewDistance                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setMaxViewDistance                                              ) { camera.setMaxViewDistance                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getMaxViewDistance                                              ) { camera.getMaxViewDistance                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_projectPoint                                                    ) { camera.projectPoint                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_unprojectPoint                                                  ) { camera.unprojectPoint                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_isPointInFrustum                                                ) { camera.isPointInFrustum                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_isSphereInFrustum                                               ) { camera.isSphereInFrustum                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setAspectRatioScale                                             ) { camera.setAspectRatioScale                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getAspectRatioScale                                             ) { camera.getAspectRatioScale                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setMotionBlurFactor                                             ) { camera.setMotionBlurFactor                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getMotionBlurFactor                                             ) { camera.getMotionBlurFactor                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setVelocityBlurFactor                                           ) { camera.setVelocityBlurFactor                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getVelocityBlurFactor                                           ) { camera.getVelocityBlurFactor                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDepthBlurFactor                                              ) { camera.setDepthBlurFactor                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDepthBlurFactor                                              ) { camera.getDepthBlurFactor                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDepthBlurFocusRangeMin                                       ) { camera.setDepthBlurFocusRangeMin                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDepthBlurFocusRangeMin                                       ) { camera.getDepthBlurFocusRangeMin                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDepthBlurFocusRangeMax                                       ) { camera.setDepthBlurFocusRangeMax                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDepthBlurFocusRangeMax                                       ) { camera.getDepthBlurFocusRangeMax                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionFactor                                             ) { camera.setDistortionFactor                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionFactor                                             ) { camera.getDistortionFactor                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionAmplitude                                          ) { camera.setDistortionAmplitude                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionAmplitude                                          ) { camera.getDistortionAmplitude                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionFrequency                                          ) { camera.setDistortionFrequency                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionFrequency                                          ) { camera.getDistortionFrequency                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionTiling                                             ) { camera.setDistortionTiling                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionTiling                                             ) { camera.getDistortionTiling                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionMapFactor                                          ) { camera.setDistortionMapFactor                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionMapFactor                                          ) { camera.getDistortionMapFactor                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionMapAmplitude                                       ) { camera.setDistortionMapAmplitude                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionMapAmplitude                                       ) { camera.getDistortionMapAmplitude                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionMapUVOffset                                        ) { camera.setDistortionMapUVOffset                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionMapUVOffset                                        ) { camera.getDistortionMapUVOffset                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionMapUVScale                                         ) { camera.setDistortionMapUVScale                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionMapUVScale                                         ) { camera.getDistortionMapUVScale                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionMapAddressingMode                                  ) { camera.setDistortionMapAddressingMode                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionMapAddressingMode                                  ) { camera.getDistortionMapAddressingMode                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionMap                                                ) { camera.setDistortionMap                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_createDistortionMesh                                            ) { camera.createDistortionMesh                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getDistortionMesh                                               ) { camera.getDistortionMesh                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_enableDistortionMesh                                            ) { camera.enableDistortionMesh                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionMeshClearFlag                                      ) { camera.setDistortionMeshClearFlag                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setDistortionMeshClearColor                                     ) { camera.setDistortionMeshClearColor                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setFrustumMargins                                               ) { camera.setFrustumMargins                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_setRenderMap                                                    ) { camera.setRenderMap                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_camera_getRenderMapName                                                ) { camera.getRenderMapName                                           = __pCallback ; return ; } \
                                                                                                                                                                                                           \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_collider_create                                                        ) { collider.create                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_collider_destroy                                                       ) { collider.destroy                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_collider_setAlwaysDisabled                                             ) { collider.setAlwaysDisabled                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_collider_isAlwaysDisabled                                              ) { collider.isAlwaysDisabled                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_collider_setDisabledWhenObjectInactive                                 ) { collider.setDisabledWhenObjectInactive                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_collider_isDisabledWhenObjectInactive                                  ) { collider.isDisabledWhenObjectInactive                             = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_drawLine                                                         ) { debug.drawLine                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getTotalMemoryUsed                                               ) { debug.getTotalMemoryUsed                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getLastFrameTotalDrawCalls                                       ) { debug.getLastFrameTotalDrawCalls                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getLastFrameTotalTriangles                                       ) { debug.getLastFrameTotalTriangles                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getLastFrameTotalVertices                                        ) { debug.getLastFrameTotalVertices                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getFailedToCompileShaderList                                     ) { debug.getFailedToCompileShaderList                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getCompiledShaderList                                            ) { debug.getCompiledShaderList                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getLastFrameTotalCompiledShaders                                 ) { debug.getLastFrameTotalCompiledShaders                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getLastFrameTotalLinkedShaders                                   ) { debug.getLastFrameTotalLinkedShaders                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getLastFrameTotalShaderCompileTime                               ) { debug.getLastFrameTotalShaderCompileTime                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getLastFrameTotalShaderLinkTime                                  ) { debug.getLastFrameTotalShaderLinkTime                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_getEstimatedShaderVariations                                     ) { debug.getEstimatedShaderVariations                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_compileShaderList                                                ) { debug.compileShaderList                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_dumpLoadedModels                                                 ) { debug.dumpLoadedModels                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_dumpLoadedResources                                              ) { debug.dumpLoadedResources                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_debug_setDisplayFilter                                                 ) { debug.setDisplayFilter                                            = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getBodyType                                                   ) { dynamics.getBodyType                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_createSphereBody                                              ) { dynamics.createSphereBody                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_createBoxBody                                                 ) { dynamics.createBoxBody                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_createCapsuleBody                                             ) { dynamics.createCapsuleBody                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_createCompositeBody                                           ) { dynamics.createCompositeBody                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_addCompositeBodySphereGeometry                                ) { dynamics.addCompositeBodySphereGeometry                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_addCompositeBodyBoxGeometry                                   ) { dynamics.addCompositeBodyBoxGeometry                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_addCompositeBodyCapsuleGeometry                               ) { dynamics.addCompositeBodyCapsuleGeometry                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_finalizeCompositeBody                                         ) { dynamics.finalizeCompositeBody                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_destroyBody                                                   ) { dynamics.destroyBody                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setOffset                                                     ) { dynamics.setOffset                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getOffset                                                     ) { dynamics.getOffset                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setMass                                                       ) { dynamics.setMass                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getMass                                                       ) { dynamics.getMass                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setKinematic                                                  ) { dynamics.setKinematic                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_isKinematic                                                   ) { dynamics.isKinematic                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setFriction                                                   ) { dynamics.setFriction                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getFriction                                                   ) { dynamics.getFriction                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setBounce                                                     ) { dynamics.setBounce                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getBounce                                                     ) { dynamics.getBounce                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setBounceThreshold                                            ) { dynamics.setBounceThreshold                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getBounceThreshold                                            ) { dynamics.getBounceThreshold                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setLinearDamping                                              ) { dynamics.setLinearDamping                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setLinearDampingEx                                            ) { dynamics.setLinearDampingEx                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getLinearDamping                                              ) { dynamics.getLinearDamping                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setAngularDamping                                             ) { dynamics.setAngularDamping                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setAngularDampingEx                                           ) { dynamics.setAngularDampingEx                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getAngularDamping                                             ) { dynamics.getAngularDamping                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_addForce                                                      ) { dynamics.addForce                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_addTorque                                                     ) { dynamics.addTorque                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_addLinearImpulse                                              ) { dynamics.addLinearImpulse                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_addAngularImpulse                                             ) { dynamics.addAngularImpulse                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getAngularVelocity                                            ) { dynamics.getAngularVelocity                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setAngularVelocity                                            ) { dynamics.setAngularVelocity                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setAngularSpeedLimit                                          ) { dynamics.setAngularSpeedLimit                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getAngularSpeedLimit                                          ) { dynamics.getAngularSpeedLimit                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getLinearVelocity                                             ) { dynamics.getLinearVelocity                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setLinearVelocity                                             ) { dynamics.setLinearVelocity                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getLinearSpeed                                                ) { dynamics.getLinearSpeed                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setLinearSpeedLimit                                           ) { dynamics.setLinearSpeedLimit                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getLinearSpeedLimit                                           ) { dynamics.getLinearSpeedLimit                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setGuardBox                                                   ) { dynamics.setGuardBox                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_enableDynamics                                                ) { dynamics.enableDynamics                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_enableCollisions                                              ) { dynamics.enableCollisions                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_enableRotations                                               ) { dynamics.enableRotations                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_enableGuardBox                                                ) { dynamics.enableGuardBox                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_enableGravity                                                 ) { dynamics.enableGravity                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_enableAutoIdle                                                ) { dynamics.enableAutoIdle                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setAutoIdleLinearThreshold                                    ) { dynamics.setAutoIdleLinearThreshold                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setAutoIdleAngularThreshold                                   ) { dynamics.setAutoIdleAngularThreshold                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setAutoIdleTime                                               ) { dynamics.setAutoIdleTime                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setIdle                                                       ) { dynamics.setIdle                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_isIdle                                                        ) { dynamics.isIdle                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getLastCollisionTime                                          ) { dynamics.getLastCollisionTime                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getLastCollisionContactCount                                  ) { dynamics.getLastCollisionContactCount                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getLastCollisionContactPositionAt                             ) { dynamics.getLastCollisionContactPositionAt                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getLastCollisionContactNormalAt                               ) { dynamics.getLastCollisionContactNormalAt                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getLastCollisionContactObjectAt                               ) { dynamics.getLastCollisionContactObjectAt                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_createBallJoint                                               ) { dynamics.createBallJoint                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_createSliderJoint                                             ) { dynamics.createSliderJoint                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_createHingeJoint                                              ) { dynamics.createHingeJoint                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_createHinge2Joint                                             ) { dynamics.createHinge2Joint                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_createUniversalJoint                                          ) { dynamics.createUniversalJoint                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_destroyJoint                                                  ) { dynamics.destroyJoint                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setBallJointAnchor                                            ) { dynamics.setBallJointAnchor                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setSliderJointAxis                                            ) { dynamics.setSliderJointAxis                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setSliderJointAxisExtensionLimitMin                           ) { dynamics.setSliderJointAxisExtensionLimitMin                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setSliderJointAxisExtensionLimitMax                           ) { dynamics.setSliderJointAxisExtensionLimitMax                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setSliderJointAxisExtensionLimitERP                           ) { dynamics.setSliderJointAxisExtensionLimitERP                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setSliderJointAxisExtensionLimitCFM                           ) { dynamics.setSliderJointAxisExtensionLimitCFM                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setSliderJointAxisExtensionLimitBounce                        ) { dynamics.setSliderJointAxisExtensionLimitBounce                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHingeJointAnchor                                           ) { dynamics.setHingeJointAnchor                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHingeJointAxis                                             ) { dynamics.setHingeJointAxis                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHingeJointAxisAngleLimitMin                                ) { dynamics.setHingeJointAxisAngleLimitMin                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHingeJointAxisAngleLimitMax                                ) { dynamics.setHingeJointAxisAngleLimitMax                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHingeJointAxisAngleLimitERP                                ) { dynamics.setHingeJointAxisAngleLimitERP                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHingeJointAxisAngleLimitCFM                                ) { dynamics.setHingeJointAxisAngleLimitCFM                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAnchor                                          ) { dynamics.setHinge2JointAnchor                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis1                                           ) { dynamics.setHinge2JointAxis1                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis2                                           ) { dynamics.setHinge2JointAxis2                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis1AngleLimitMin                              ) { dynamics.setHinge2JointAxis1AngleLimitMin                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis1AngleLimitMax                              ) { dynamics.setHinge2JointAxis1AngleLimitMax                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis1AngleLimitERP                              ) { dynamics.setHinge2JointAxis1AngleLimitERP                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis1AngleLimitCFM                              ) { dynamics.setHinge2JointAxis1AngleLimitCFM                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis2MotorSpeedLimit                            ) { dynamics.setHinge2JointAxis2MotorSpeedLimit                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis2MotorAcceleration                          ) { dynamics.setHinge2JointAxis2MotorAcceleration                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis1SuspensionERP                              ) { dynamics.setHinge2JointAxis1SuspensionERP                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setHinge2JointAxis1SuspensionCFM                              ) { dynamics.setHinge2JointAxis1SuspensionCFM                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAnchor                                       ) { dynamics.setUniversalJointAnchor                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis1                                        ) { dynamics.setUniversalJointAxis1                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis2                                        ) { dynamics.setUniversalJointAxis2                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis1AngleLimitMin                           ) { dynamics.setUniversalJointAxis1AngleLimitMin                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis1AngleLimitMax                           ) { dynamics.setUniversalJointAxis1AngleLimitMax                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis1AngleLimitERP                           ) { dynamics.setUniversalJointAxis1AngleLimitERP                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis1AngleLimitCFM                           ) { dynamics.setUniversalJointAxis1AngleLimitCFM                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis2AngleLimitMin                           ) { dynamics.setUniversalJointAxis2AngleLimitMin                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis2AngleLimitMax                           ) { dynamics.setUniversalJointAxis2AngleLimitMax                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis2AngleLimitERP                           ) { dynamics.setUniversalJointAxis2AngleLimitERP                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setUniversalJointAxis2AngleLimitCFM                           ) { dynamics.setUniversalJointAxis2AngleLimitCFM                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setCollisionCategoryBit                                       ) { dynamics.setCollisionCategoryBit                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getCollisionCategoryBit                                       ) { dynamics.getCollisionCategoryBit                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_setCollisionMaskBit                                           ) { dynamics.setCollisionMaskBit                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_dynamics_getCollisionMaskBit                                           ) { dynamics.getCollisionMaskBit                                      = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_group_getSubObjectCount                                                ) { group.getSubObjectCount                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_group_getSubObjectAt                                                   ) { group.getSubObjectAt                                              = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_isEmpty                                                      ) { hashtable.isEmpty                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_getSize                                                      ) { hashtable.getSize                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_get                                                          ) { hashtable.get                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_getIndex                                                     ) { hashtable.getIndex                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_getAt                                                        ) { hashtable.getAt                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_getKeyAt                                                     ) { hashtable.getKeyAt                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_set                                                          ) { hashtable.set                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_empty                                                        ) { hashtable.empty                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_add                                                          ) { hashtable.add                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_remove                                                       ) { hashtable.remove                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_contains                                                     ) { hashtable.contains                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_newInstance                                                  ) { hashtable.newInstance                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hashtable_copy                                                         ) { hashtable.copy                                                    = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_checkValidity                                                      ) { hud.checkValidity                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_newTemplateInstance                                                ) { hud.newTemplateInstance                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_destroyTemplateInstance                                            ) { hud.destroyTemplateInstance                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_newComponent                                                       ) { hud.newComponent                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_newAction                                                          ) { hud.newAction                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_newTimer                                                           ) { hud.newTimer                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_destroyComponent                                                   ) { hud.destroyComponent                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_destroyAction                                                      ) { hud.destroyAction                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_destroyTimer                                                       ) { hud.destroyTimer                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentCount                                                  ) { hud.getComponentCount                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getActionCount                                                     ) { hud.getActionCount                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getTimerCount                                                      ) { hud.getTimerCount                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentAt                                                     ) { hud.getComponentAt                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getActionAt                                                        ) { hud.getActionAt                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getTimerAt                                                         ) { hud.getTimerAt                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setInitialAction                                                   ) { hud.setInitialAction                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setDefaultFont                                                     ) { hud.setDefaultFont                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getDefaultFontName                                                 ) { hud.getDefaultFontName                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setDefaultTextShadowColor                                          ) { hud.setDefaultTextShadowColor                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getDefaultTextShadowColor                                          ) { hud.getDefaultTextShadowColor                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponent                                                       ) { hud.getComponent                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getAction                                                          ) { hud.getAction                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getTimer                                                           ) { hud.getTimer                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setFocus                                                           ) { hud.setFocus                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_killFocus                                                          ) { hud.killFocus                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setSoundBank                                                       ) { hud.setSoundBank                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getSoundBankName                                                   ) { hud.getSoundBankName                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_playSound                                                          ) { hud.playSound                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_pauseSound                                                         ) { hud.pauseSound                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_resumeSound                                                        ) { hud.resumeSound                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_stopSound                                                          ) { hud.stopSound                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_stopAllSounds                                                      ) { hud.stopAllSounds                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setSoundVolume                                                     ) { hud.setSoundVolume                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getSoundPlaybackProgress                                           ) { hud.getSoundPlaybackProgress                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isSoundPlaying                                                     ) { hud.isSoundPlaying                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isSoundPaused                                                      ) { hud.isSoundPaused                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getSoundName                                                       ) { hud.getSoundName                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCursorVisible                                                   ) { hud.setCursorVisible                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCursorPosition                                                  ) { hud.setCursorPosition                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCursorPosition                                                  ) { hud.getCursorPosition                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_forceCursorShape                                                   ) { hud.forceCursorShape                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentType                                                   ) { hud.getComponentType                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentZOrder                                                 ) { hud.setComponentZOrder                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentZOrder                                                 ) { hud.getComponentZOrder                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentContainer                                              ) { hud.setComponentContainer                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentContainer                                              ) { hud.getComponentContainer                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentOrigin                                                 ) { hud.setComponentOrigin                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentOrigin                                                 ) { hud.getComponentOrigin                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentOffscreenOutput                                        ) { hud.setComponentOffscreenOutput                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentPosition                                               ) { hud.setComponentPosition                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentPosition                                               ) { hud.getComponentPosition                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentSize                                                   ) { hud.setComponentSize                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentSize                                                   ) { hud.getComponentSize                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentRotation                                               ) { hud.setComponentRotation                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentRotation                                               ) { hud.getComponentRotation                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentOpacity                                                ) { hud.setComponentOpacity                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentOpacity                                                ) { hud.getComponentOpacity                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentVisible                                                ) { hud.setComponentVisible                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentActive                                                 ) { hud.setComponentActive                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentBackgroundImage                                        ) { hud.setComponentBackgroundImage                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentBackgroundImageName                                    ) { hud.getComponentBackgroundImageName                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentBackgroundColor                                        ) { hud.setComponentBackgroundColor                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentBackgroundColor                                        ) { hud.getComponentBackgroundColor                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentForegroundColor                                        ) { hud.setComponentForegroundColor                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentForegroundColor                                        ) { hud.getComponentForegroundColor                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentBorderColor                                            ) { hud.setComponentBorderColor                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentBorderColor                                            ) { hud.getComponentBorderColor                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentFillMode                                               ) { hud.setComponentFillMode                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentFillMode                                               ) { hud.getComponentFillMode                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentBlendMode                                              ) { hud.setComponentBlendMode                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentBlendMode                                              ) { hud.getComponentBlendMode                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentShapeType                                              ) { hud.setComponentShapeType                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentShapeType                                              ) { hud.getComponentShapeType                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentShapeRoundRectangleCornerRadius                        ) { hud.setComponentShapeRoundRectangleCornerRadius                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentShapeRoundRectangleCornerRadius                        ) { hud.getComponentShapeRoundRectangleCornerRadius                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentShapeEllipseMinAngle                                   ) { hud.setComponentShapeEllipseMinAngle                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentShapeEllipseMinAngle                                   ) { hud.getComponentShapeEllipseMinAngle                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentShapeEllipseMaxAngle                                   ) { hud.setComponentShapeEllipseMaxAngle                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentShapeEllipseMaxAngle                                   ) { hud.getComponentShapeEllipseMaxAngle                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentOpacityWaveModifier                                    ) { hud.setComponentOpacityWaveModifier                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentAspectInvariant                                        ) { hud.setComponentAspectInvariant                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentIgnoredByMouse                                         ) { hud.setComponentIgnoredByMouse                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentAdjustedToNearestPixels                                ) { hud.setComponentAdjustedToNearestPixels                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_addComponentEventHandler                                           ) { hud.addComponentEventHandler                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_removeComponentEventHandler                                        ) { hud.removeComponentEventHandler                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentScreenSpaceCenter                                      ) { hud.getComponentScreenSpaceCenter                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentScreenSpaceBottomLeftCorner                            ) { hud.getComponentScreenSpaceBottomLeftCorner                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentScreenSpaceTopLeftCorner                               ) { hud.getComponentScreenSpaceTopLeftCorner                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentScreenSpaceBottomRightCorner                           ) { hud.getComponentScreenSpaceBottomRightCorner                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentScreenSpaceTopRightCorner                              ) { hud.getComponentScreenSpaceTopRightCorner                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_matchComponentScreenSpaceCenter                                    ) { hud.matchComponentScreenSpaceCenter                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_matchComponentScreenSpaceBottomLeftCorner                          ) { hud.matchComponentScreenSpaceBottomLeftCorner                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_matchComponentScreenSpaceTopLeftCorner                             ) { hud.matchComponentScreenSpaceTopLeftCorner                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_matchComponentScreenSpaceBottomRightCorner                         ) { hud.matchComponentScreenSpaceBottomRightCorner                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_matchComponentScreenSpaceTopRightCorner                            ) { hud.matchComponentScreenSpaceTopRightCorner                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentBackgroundImageUVOffset                                ) { hud.setComponentBackgroundImageUVOffset                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentBackgroundImageUVOffset                                ) { hud.getComponentBackgroundImageUVOffset                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentBackgroundImageUVScale                                 ) { hud.setComponentBackgroundImageUVScale                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentBackgroundImageUVScale                                 ) { hud.getComponentBackgroundImageUVScale                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentBackgroundImageAddressingMode                          ) { hud.setComponentBackgroundImageAddressingMode                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentBackgroundImageAddressingMode                          ) { hud.getComponentBackgroundImageAddressingMode                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setComponentBackgroundImageFilteringMode                           ) { hud.setComponentBackgroundImageFilteringMode                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentBackgroundImageFilteringMode                           ) { hud.getComponentBackgroundImageFilteringMode                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isComponentVisible                                                 ) { hud.isComponentVisible                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isComponentActive                                                  ) { hud.isComponentActive                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentTag                                                    ) { hud.getComponentTag                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getActionTag                                                       ) { hud.getActionTag                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getTimerTag                                                        ) { hud.getTimerTag                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getContainerChildCount                                             ) { hud.getContainerChildCount                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getContainerChildAt                                                ) { hud.getContainerChildAt                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelText                                                       ) { hud.setLabelText                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelText                                                       ) { hud.getLabelText                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelTextHeight                                                 ) { hud.setLabelTextHeight                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelTextHeight                                                 ) { hud.getLabelTextHeight                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelTextLetterSpacing                                          ) { hud.setLabelTextLetterSpacing                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelTextLetterSpacing                                          ) { hud.getLabelTextLetterSpacing                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelTextLineSpacing                                            ) { hud.setLabelTextLineSpacing                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelTextLineSpacing                                            ) { hud.getLabelTextLineSpacing                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelTextAlignment                                              ) { hud.setLabelTextAlignment                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelTextAlignment                                              ) { hud.getLabelTextAlignment                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelTextCase                                                   ) { hud.setLabelTextCase                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelTextCase                                                   ) { hud.getLabelTextCase                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelTextEncoding                                               ) { hud.setLabelTextEncoding                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelTextEncoding                                               ) { hud.getLabelTextEncoding                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelTextDirection                                              ) { hud.setLabelTextDirection                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelTextDirection                                              ) { hud.getLabelTextDirection                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelTextDisplayRange                                           ) { hud.setLabelTextDisplayRange                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelTextDisplayRange                                           ) { hud.getLabelTextDisplayRange                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setLabelFont                                                       ) { hud.setLabelFont                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelFontName                                                   ) { hud.getLabelFontName                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableLabelTextAntialiasing                                        ) { hud.enableLabelTextAntialiasing                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isLabelTextAntialiasingEnabled                                     ) { hud.isLabelTextAntialiasingEnabled                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getLabelTextTotalLineCount                                         ) { hud.getLabelTextTotalLineCount                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditText                                                        ) { hud.setEditText                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditText                                                        ) { hud.getEditText                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditTextHeight                                                  ) { hud.setEditTextHeight                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextHeight                                                  ) { hud.getEditTextHeight                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditTextLetterSpacing                                           ) { hud.setEditTextLetterSpacing                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextLetterSpacing                                           ) { hud.getEditTextLetterSpacing                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditTextLineSpacing                                             ) { hud.setEditTextLineSpacing                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextLineSpacing                                             ) { hud.getEditTextLineSpacing                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditTextAlignment                                               ) { hud.setEditTextAlignment                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextAlignment                                               ) { hud.getEditTextAlignment                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditTextCase                                                    ) { hud.setEditTextCase                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextCase                                                    ) { hud.getEditTextCase                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditTextEncoding                                                ) { hud.setEditTextEncoding                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextEncoding                                                ) { hud.getEditTextEncoding                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditTextDirection                                               ) { hud.setEditTextDirection                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextDirection                                               ) { hud.getEditTextDirection                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditTextDisplayRange                                            ) { hud.setEditTextDisplayRange                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextDisplayRange                                            ) { hud.getEditTextDisplayRange                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditTextMaxLength                                               ) { hud.setEditTextMaxLength                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextMaxLength                                               ) { hud.getEditTextMaxLength                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditFont                                                        ) { hud.setEditFont                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditFontName                                                    ) { hud.getEditFontName                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditOnChangedAction                                             ) { hud.setEditOnChangedAction                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditSecure                                                      ) { hud.setEditSecure                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isEditSecure                                                       ) { hud.isEditSecure                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableEditTextAntialiasing                                         ) { hud.enableEditTextAntialiasing                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isEditTextAntialiasingEnabled                                      ) { hud.isEditTextAntialiasingEnabled                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextTotalLineCount                                          ) { hud.getEditTextTotalLineCount                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setEditCursorPosition                                              ) { hud.setEditCursorPosition                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditCursorPosition                                              ) { hud.getEditCursorPosition                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextBeforeCursor                                            ) { hud.getEditTextBeforeCursor                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getEditTextAfterCursor                                             ) { hud.getEditTextAfterCursor                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckText                                                       ) { hud.setCheckText                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckText                                                       ) { hud.getCheckText                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckTextHeight                                                 ) { hud.setCheckTextHeight                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckTextHeight                                                 ) { hud.getCheckTextHeight                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckTextLetterSpacing                                          ) { hud.setCheckTextLetterSpacing                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckTextLetterSpacing                                          ) { hud.getCheckTextLetterSpacing                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckTextLineSpacing                                            ) { hud.setCheckTextLineSpacing                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckTextLineSpacing                                            ) { hud.getCheckTextLineSpacing                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckTextAlignment                                              ) { hud.setCheckTextAlignment                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckTextAlignment                                              ) { hud.getCheckTextAlignment                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckTextCase                                                   ) { hud.setCheckTextCase                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckTextCase                                                   ) { hud.getCheckTextCase                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckTextEncoding                                               ) { hud.setCheckTextEncoding                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckTextEncoding                                               ) { hud.getCheckTextEncoding                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckTextDirection                                              ) { hud.setCheckTextDirection                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckTextDirection                                              ) { hud.getCheckTextDirection                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckIcons                                                      ) { hud.setCheckIcons                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckFont                                                       ) { hud.setCheckFont                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckFontName                                                   ) { hud.getCheckFontName                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckOnCheckedAction                                            ) { hud.setCheckOnCheckedAction                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckOnUncheckedAction                                          ) { hud.setCheckOnUncheckedAction                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckState                                                      ) { hud.getCheckState                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setCheckState                                                      ) { hud.setCheckState                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableCheckTextAntialiasing                                        ) { hud.enableCheckTextAntialiasing                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isCheckTextAntialiasingEnabled                                     ) { hud.isCheckTextAntialiasingEnabled                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getCheckTextTotalLineCount                                         ) { hud.getCheckTextTotalLineCount                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonText                                                      ) { hud.setButtonText                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonText                                                      ) { hud.getButtonText                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonTextHeight                                                ) { hud.setButtonTextHeight                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonTextHeight                                                ) { hud.getButtonTextHeight                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonTextLetterSpacing                                         ) { hud.setButtonTextLetterSpacing                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonTextLetterSpacing                                         ) { hud.getButtonTextLetterSpacing                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonTextLineSpacing                                           ) { hud.setButtonTextLineSpacing                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonTextLineSpacing                                           ) { hud.getButtonTextLineSpacing                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonTextAlignment                                             ) { hud.setButtonTextAlignment                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonTextAlignment                                             ) { hud.getButtonTextAlignment                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonTextCase                                                  ) { hud.setButtonTextCase                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonTextCase                                                  ) { hud.getButtonTextCase                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonTextEncoding                                              ) { hud.setButtonTextEncoding                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonTextEncoding                                              ) { hud.getButtonTextEncoding                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonTextDirection                                             ) { hud.setButtonTextDirection                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonTextDirection                                             ) { hud.getButtonTextDirection                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonFont                                                      ) { hud.setButtonFont                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonFontName                                                  ) { hud.getButtonFontName                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonOnClickAction                                             ) { hud.setButtonOnClickAction                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setButtonOnClickedAction                                           ) { hud.setButtonOnClickedAction                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonOnClickAction                                             ) { hud.getButtonOnClickAction                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonOnClickedAction                                           ) { hud.getButtonOnClickedAction                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableButtonTextAntialiasing                                       ) { hud.enableButtonTextAntialiasing                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isButtonTextAntialiasingEnabled                                    ) { hud.isButtonTextAntialiasingEnabled                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getButtonTextTotalLineCount                                        ) { hud.getButtonTextTotalLineCount                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setMovieClip                                                       ) { hud.setMovieClip                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setMovieExternalClip                                               ) { hud.setMovieExternalClip                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getMovieBufferingProgress                                          ) { hud.getMovieBufferingProgress                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getMoviePlaybackProgress                                           ) { hud.getMoviePlaybackProgress                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getMoviePlaybackCursor                                             ) { hud.getMoviePlaybackCursor                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setMovieTransparentColor                                           ) { hud.setMovieTransparentColor                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_playMovie                                                          ) { hud.playMovie                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_pauseMovie                                                         ) { hud.pauseMovie                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_stopMovie                                                          ) { hud.stopMovie                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setRenderMap                                                       ) { hud.setRenderMap                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getRenderMapName                                                   ) { hud.getRenderMapName                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setPixelMap                                                        ) { hud.setPixelMap                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getPixelMapName                                                    ) { hud.getPixelMapName                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getPixelMap                                                        ) { hud.getPixelMap                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setProgressValue                                                   ) { hud.setProgressValue                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getProgressValue                                                   ) { hud.getProgressValue                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setProgressType                                                    ) { hud.setProgressType                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getProgressType                                                    ) { hud.getProgressType                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemCount                                                   ) { hud.getListItemCount                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_addListItem                                                        ) { hud.addListItem                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_removeListItemAt                                                   ) { hud.removeListItemAt                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_selectListItemAt                                                   ) { hud.selectListItemAt                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableListItemSelectionAt                                          ) { hud.enableListItemSelectionAt                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isComponentAspectInvariant                                         ) { hud.isComponentAspectInvariant                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isComponentIgnoredByMouse                                          ) { hud.isComponentIgnoredByMouse                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableOffscreenOutput                                              ) { hud.enableOffscreenOutput                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_removeListAllItems                                                 ) { hud.removeListAllItems                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_selectListAllItems                                                 ) { hud.selectListAllItems                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemTextAt                                                  ) { hud.getListItemTextAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemIconAt                                                  ) { hud.getListItemIconAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemTextAt                                                  ) { hud.setListItemTextAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemIconAt                                                  ) { hud.setListItemIconAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemChildAt                                                 ) { hud.setListItemChildAt                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setContainerClipChildren                                           ) { hud.setContainerClipChildren                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getContainerClipChildren                                           ) { hud.getContainerClipChildren                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemsHeight                                                 ) { hud.setListItemsHeight                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemsHeight                                                 ) { hud.getListItemsHeight                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemsBackgroundImage                                        ) { hud.setListItemsBackgroundImage                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemsBackgroundImageName                                    ) { hud.getListItemsBackgroundImageName                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemsBackgroundColor                                        ) { hud.setListItemsBackgroundColor                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemsBackgroundColorOdd                                     ) { hud.setListItemsBackgroundColorOdd                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemsBackgroundColorOdd                                     ) { hud.getListItemsBackgroundColorOdd                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemsBackgroundColorEven                                    ) { hud.setListItemsBackgroundColorEven                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemsBackgroundColorEven                                    ) { hud.getListItemsBackgroundColorEven                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemsBackgroundImageSelected                                ) { hud.setListItemsBackgroundImageSelected                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemsBackgroundImageSelectedName                            ) { hud.getListItemsBackgroundImageSelectedName                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemsBackgroundColorSelected                                ) { hud.setListItemsBackgroundColorSelected                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemsBackgroundColorSelected                                ) { hud.getListItemsBackgroundColorSelected                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListItemsForegroundColorSelected                                ) { hud.setListItemsForegroundColorSelected                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListItemsForegroundColorSelected                                ) { hud.getListItemsForegroundColorSelected                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListTextLeftMargin                                              ) { hud.setListTextLeftMargin                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListTextLeftMargin                                              ) { hud.getListTextLeftMargin                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListTextRightMargin                                             ) { hud.setListTextRightMargin                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListTextRightMargin                                             ) { hud.getListTextRightMargin                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListTextHeight                                                  ) { hud.setListTextHeight                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListTextHeight                                                  ) { hud.getListTextHeight                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListTextLetterSpacing                                           ) { hud.setListTextLetterSpacing                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListTextLetterSpacing                                           ) { hud.getListTextLetterSpacing                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListTextLineSpacing                                             ) { hud.setListTextLineSpacing                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListTextLineSpacing                                             ) { hud.getListTextLineSpacing                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListTextFont                                                    ) { hud.setListTextFont                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListTextFontName                                                ) { hud.getListTextFontName                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListTextCase                                                    ) { hud.setListTextCase                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListTextCase                                                    ) { hud.getListTextCase                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListTextEncoding                                                ) { hud.setListTextEncoding                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListTextEncoding                                                ) { hud.getListTextEncoding                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListTextDirection                                               ) { hud.setListTextDirection                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListTextDirection                                               ) { hud.getListTextDirection                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableListTextAntialiasing                                         ) { hud.enableListTextAntialiasing                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isListTextAntialiasingEnabled                                      ) { hud.isListTextAntialiasingEnabled                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListColumnCount                                                 ) { hud.getListColumnCount                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_addListColumn                                                      ) { hud.addListColumn                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListColumnTextAlignmentAt                                       ) { hud.setListColumnTextAlignmentAt                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListColumnWidthAt                                               ) { hud.setListColumnWidthAt                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListColumnWidthAt                                               ) { hud.getListColumnWidthAt                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableListSelection                                                ) { hud.enableListSelection                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableListSingleSelection                                          ) { hud.enableListSingleSelection                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableListSingleSelectionToggling                                  ) { hud.enableListSingleSelectionToggling                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableListSmoothScrolling                                          ) { hud.enableListSmoothScrolling                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableListFingerScrolling                                          ) { hud.enableListFingerScrolling                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enableListMouseWheelHandling                                       ) { hud.enableListMouseWheelHandling                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListSelectedItemCount                                           ) { hud.getListSelectedItemCount                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListSelectedItemAt                                              ) { hud.getListSelectedItemAt                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListVerticalScrollPos                                           ) { hud.setListVerticalScrollPos                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListVerticalScrollPos                                           ) { hud.getListVerticalScrollPos                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListVerticalScrollBarWidth                                      ) { hud.setListVerticalScrollBarWidth                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListVerticalScrollBarArrowHeight                                ) { hud.setListVerticalScrollBarArrowHeight                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListScrollBarBackgroundColor                                    ) { hud.setListScrollBarBackgroundColor                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListScrollBarForegroundColor                                    ) { hud.setListScrollBarForegroundColor                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListScrollBarArrowColor                                         ) { hud.setListScrollBarArrowColor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListScrollBarBackgroundImages                                   ) { hud.setListScrollBarBackgroundImages                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListScrollBarForegroundImages                                   ) { hud.setListScrollBarForegroundImages                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListScrollBarArrowImages                                        ) { hud.setListScrollBarArrowImages                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListOnSelectionChangedAction                                    ) { hud.setListOnSelectionChangedAction                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setListFingerScrollingInertia                                      ) { hud.setListFingerScrollingInertia                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getListFingerScrollingInertia                                      ) { hud.getListFingerScrollingInertia                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setSliderType                                                      ) { hud.setSliderType                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getSliderType                                                      ) { hud.getSliderType                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setSliderRange                                                     ) { hud.setSliderRange                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getSliderRange                                                     ) { hud.getSliderRange                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setSliderValue                                                     ) { hud.setSliderValue                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getSliderValue                                                     ) { hud.getSliderValue                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setSliderThumbImage                                                ) { hud.setSliderThumbImage                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setSliderOnChangedAction                                           ) { hud.setSliderOnChangedAction                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_beginActionCommand                                                 ) { hud.beginActionCommand                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_pushActionCommandArgument                                          ) { hud.pushActionCommandArgument                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_pushActionCommandRuntimeArgument                                   ) { hud.pushActionCommandRuntimeArgument                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_endActionCommand                                                   ) { hud.endActionCommand                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setTimerOnTickAction                                               ) { hud.setTimerOnTickAction                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_setTimerTickTime                                                   ) { hud.setTimerTickTime                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_startTimer                                                         ) { hud.startTimer                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_stopTimer                                                          ) { hud.stopTimer                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_callAction                                                         ) { hud.callAction                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_stopAction                                                         ) { hud.stopAction                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_pauseAction                                                        ) { hud.pauseAction                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_resumeAction                                                       ) { hud.resumeAction                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_finishAction                                                       ) { hud.finishAction                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_stopAllActions                                                     ) { hud.stopAllActions                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_pauseAllActions                                                    ) { hud.pauseAllActions                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_resumeAllActions                                                   ) { hud.resumeAllActions                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_finishAllActions                                                   ) { hud.finishAllActions                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isActionRunning                                                    ) { hud.isActionRunning                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_isActionPaused                                                     ) { hud.isActionPaused                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getUnderCursorComponent                                            ) { hud.getUnderCursorComponent                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getUnderCursorListItem                                             ) { hud.getUnderCursorListItem                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getFocusedComponent                                                ) { hud.getFocusedComponent                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_enterModalMode                                                     ) { hud.enterModalMode                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_leaveModalMode                                                     ) { hud.leaveModalMode                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_hud_getComponentAtPoint                                                ) { hud.getComponentAtPoint                                           = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_setJoypadVibrationsMagnitude                                     ) { input.setJoypadVibrationsMagnitude                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_getJoypadType                                                    ) { input.getJoypadType                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_enableJoypadMotionSensors                                        ) { input.enableJoypadMotionSensors                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_enableJoypadIRMotionSensors                                      ) { input.enableJoypadIRMotionSensors                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_enableMultiTouch                                                 ) { input.enableMultiTouch                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_enableVirtualMouse                                               ) { input.enableVirtualMouse                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_setVirtualMousePosition                                          ) { input.setVirtualMousePosition                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_setVirtualMouseButtonDown                                        ) { input.setVirtualMouseButtonDown                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_scanDevices                                                      ) { input.scanDevices                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_getJoypadBatteryLevel                                            ) { input.getJoypadBatteryLevel                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_input_isJoypadExtensionAttached                                        ) { input.isJoypadExtensionAttached                                   = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_getType                                                          ) { light.getType                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_isDynamic                                                        ) { light.isDynamic                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_setDynamic                                                       ) { light.setDynamic                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_isActive                                                         ) { light.isActive                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_setActive                                                        ) { light.setActive                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_setColor                                                         ) { light.setColor                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_getColor                                                         ) { light.getColor                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_setClipMaskBit                                                   ) { light.setClipMaskBit                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_getClipMaskBit                                                   ) { light.getClipMaskBit                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_setDynamicShadowsViewSpaceClipRectangle                          ) { light.setDynamicShadowsViewSpaceClipRectangle                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_light_getDynamicShadowsViewSpaceClipRectangle                          ) { light.getDynamicShadowsViewSpaceClipRectangle                     = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_log_message                                                            ) { log.message                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_log_warning                                                            ) { log.warning                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_log_error                                                              ) { log.error                                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_log_enable                                                             ) { log.enable                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_log_isEnabled                                                          ) { log.isEnabled                                                     = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_clamp                                                             ) { math.clamp                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_interpolate                                                       ) { math.interpolate                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_sin                                                               ) { math.sin                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_cos                                                               ) { math.cos                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_tan                                                               ) { math.tan                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_asin                                                              ) { math.asin                                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_acos                                                              ) { math.acos                                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_atan                                                              ) { math.atan                                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_atan2                                                             ) { math.atan2                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_min                                                               ) { math.min                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_max                                                               ) { math.max                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_sqrt                                                              ) { math.sqrt                                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_resetRandomSeed                                                   ) { math.resetRandomSeed                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_random                                                            ) { math.random                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_gaussianRandom                                                    ) { math.gaussianRandom                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_pow                                                               ) { math.pow                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_floor                                                             ) { math.floor                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_trunc                                                             ) { math.trunc                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_roundToNearestInteger                                             ) { math.roundToNearestInteger                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_roundToNearestPowerOfTwo                                          ) { math.roundToNearestPowerOfTwo                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_ceil                                                              ) { math.ceil                                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_abs                                                               ) { math.abs                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_mod                                                               ) { math.mod                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_log                                                               ) { math.log                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_log10                                                             ) { math.log10                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_evaluateBSpline                                                   ) { math.evaluateBSpline                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_evaluateBezier                                                    ) { math.evaluateBezier                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_evaluateCatmullRom                                                ) { math.evaluateCatmullRom                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_computeRayPlaneIntersection                                       ) { math.computeRayPlaneIntersection                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_computeRaySphereIntersection                                      ) { math.computeRaySphereIntersection                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_computeRayAABoxIntersection                                       ) { math.computeRayAABoxIntersection                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorAdd                                                         ) { math.vectorAdd                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorSubtract                                                    ) { math.vectorSubtract                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorDotProduct                                                  ) { math.vectorDotProduct                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorCrossProduct                                                ) { math.vectorCrossProduct                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorNormalize                                                   ) { math.vectorNormalize                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorLength                                                      ) { math.vectorLength                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorScale                                                       ) { math.vectorScale                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorInterpolate                                                 ) { math.vectorInterpolate                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorReflect                                                     ) { math.vectorReflect                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_math_vectorSetLength                                                   ) { math.vectorSetLength                                              = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_getSubsetCount                                                    ) { mesh.getSubsetCount                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_getSubsetVertexCount                                              ) { mesh.getSubsetVertexCount                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_getSubsetIndexCount                                               ) { mesh.getSubsetIndexCount                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_getSubsetLODCount                                                 ) { mesh.getSubsetLODCount                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_addSubset                                                         ) { mesh.addSubset                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_removeSubset                                                      ) { mesh.removeSubset                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_createSubsetVertexBuffer                                          ) { mesh.createSubsetVertexBuffer                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_destroySubsetVertexBuffer                                         ) { mesh.destroySubsetVertexBuffer                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_createSubsetIndexBuffer                                           ) { mesh.createSubsetIndexBuffer                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_destroySubsetIndexBuffer                                          ) { mesh.destroySubsetIndexBuffer                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_destroySubsetIndexBuffers                                         ) { mesh.destroySubsetIndexBuffers                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_lockSubsetVertexBuffer                                            ) { mesh.lockSubsetVertexBuffer                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_unlockSubsetVertexBuffer                                          ) { mesh.unlockSubsetVertexBuffer                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_lockSubsetIndexBuffer                                             ) { mesh.lockSubsetIndexBuffer                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_unlockSubsetIndexBuffer                                           ) { mesh.unlockSubsetIndexBuffer                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetVertexPosition                                           ) { mesh.setSubsetVertexPosition                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_getSubsetVertexPosition                                           ) { mesh.getSubsetVertexPosition                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetVertexNormal                                             ) { mesh.setSubsetVertexNormal                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_getSubsetVertexNormal                                             ) { mesh.getSubsetVertexNormal                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetVertexTexCoord                                           ) { mesh.setSubsetVertexTexCoord                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_getSubsetVertexTexCoord                                           ) { mesh.getSubsetVertexTexCoord                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetIndexValue                                               ) { mesh.setSubsetIndexValue                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_getSubsetIndexValue                                               ) { mesh.getSubsetIndexValue                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_getResourceHandle                                                 ) { mesh.getResourceHandle                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetVertexBufferDynamic                                      ) { mesh.setSubsetVertexBufferDynamic                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_isSubsetVertexBufferDynamic                                       ) { mesh.isSubsetVertexBufferDynamic                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetIndexBufferDynamic                                       ) { mesh.setSubsetIndexBufferDynamic                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_isSubsetIndexBufferDynamic                                        ) { mesh.isSubsetIndexBufferDynamic                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_computeSubsetVertexNormals                                        ) { mesh.computeSubsetVertexNormals                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_computeSubsetVertexTangents                                       ) { mesh.computeSubsetVertexTangents                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_updateBoundingVolumes                                             ) { mesh.updateBoundingVolumes                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_morphSubsetVertexPositions                                        ) { mesh.morphSubsetVertexPositions                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_morphSubsetVertexNormals                                          ) { mesh.morphSubsetVertexNormals                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_morphSubsetVertexTangents                                         ) { mesh.morphSubsetVertexTangents                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_morphSubsetVertexPositionsAbsolute                                ) { mesh.morphSubsetVertexPositionsAbsolute                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetVertexPositions                                          ) { mesh.setSubsetVertexPositions                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetVertexNormals                                            ) { mesh.setSubsetVertexNormals                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetVertexTexCoords                                          ) { mesh.setSubsetVertexTexCoords                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_mesh_setSubsetBoundingBox                                              ) { mesh.setSubsetBoundingBox                                         = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_setRate                                                     ) { microphone.setRate                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_enable                                                      ) { microphone.enable                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_getActivityLevel                                            ) { microphone.getActivityLevel                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_enableSpectrumAnalyzer                                      ) { microphone.enableSpectrumAnalyzer                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_setSpectrumWidth                                            ) { microphone.setSpectrumWidth                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_getSpectrumWidth                                            ) { microphone.getSpectrumWidth                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_getSpectrumLevels                                           ) { microphone.getSpectrumLevels                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_setRecordingQuality                                         ) { microphone.setRecordingQuality                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_startRecordingAsMusic                                       ) { microphone.startRecordingAsMusic                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_stopRecording                                               ) { microphone.stopRecording                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_startDiffusion                                              ) { microphone.startDiffusion                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_stopDiffusion                                               ) { microphone.stopDiffusion                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_addUserToDiffusionList                                      ) { microphone.addUserToDiffusionList                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_removeUserFromDiffusionList                                 ) { microphone.removeUserFromDiffusionList                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_isUserInDiffusionList                                       ) { microphone.isUserInDiffusionList                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_emptyDiffusionList                                          ) { microphone.emptyDiffusionList                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_getDiffusionListUserCount                                   ) { microphone.getDiffusionListUserCount                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_microphone_getDiffusionListUserIDAt                                    ) { microphone.getDiffusionListUserIDAt                               = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_music_play                                                             ) { music.play                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_music_pause                                                            ) { music.pause                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_music_resume                                                           ) { music.resume                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_music_stop                                                             ) { music.stop                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_music_setVolume                                                        ) { music.setVolume                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_music_getPlaybackProgress                                              ) { music.getPlaybackProgress                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_music_playAdditional                                                   ) { music.playAdditional                                              = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_setTargetNode                                               ) { navigation.setTargetNode                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_setAcceleration                                             ) { navigation.setAcceleration                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getAcceleration                                             ) { navigation.getAcceleration                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_setSpeedLimit                                               ) { navigation.setSpeedLimit                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getSpeedLimit                                               ) { navigation.getSpeedLimit                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_setHeightOffset                                             ) { navigation.setHeightOffset                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getHeightOffset                                             ) { navigation.getHeightOffset                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getNode                                                     ) { navigation.getNode                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getTargetNode                                               ) { navigation.getTargetNode                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getTargetNodeDistance                                       ) { navigation.getTargetNodeDistance                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getSpeed                                                    ) { navigation.getSpeed                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getVelocity                                                 ) { navigation.getVelocity                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_setRandomTargetNode                                         ) { navigation.setRandomTargetNode                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_setNearestTargetNode                                        ) { navigation.setNearestTargetNode                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_setNearestNode                                              ) { navigation.setNearestNode                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_setPathMaxLength                                            ) { navigation.setPathMaxLength                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getPathMaxLength                                            ) { navigation.getPathMaxLength                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getPathNodeCount                                            ) { navigation.getPathNodeCount                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getPathNodeAt                                               ) { navigation.getPathNodeAt                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_enableNodesInBox                                            ) { navigation.enableNodesInBox                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_enableNode                                                  ) { navigation.enableNode                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getNodeTranslation                                          ) { navigation.getNodeTranslation                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_isNodeOnBorder                                              ) { navigation.isNodeOnBorder                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_isNodeEnabled                                               ) { navigation.isNodeEnabled                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_isNodeInUse                                                 ) { navigation.isNodeInUse                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_setWaitTimeout                                              ) { navigation.setWaitTimeout                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_navigation_getWaitTimeout                                              ) { navigation.getWaitTimeout                                         = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_network_authenticate                                                   ) { network.authenticate                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_network_disconnect                                                     ) { network.disconnect                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_network_getStatus                                                      ) { network.getStatus                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_network_getServerCount                                                 ) { network.getServerCount                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_network_getServerNameAt                                                ) { network.getServerNameAt                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_network_setCurrentServer                                               ) { network.setCurrentServer                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_network_getCurrentServer                                               ) { network.getCurrentServer                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_network_createServer                                                   ) { network.createServer                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_network_searchForServers                                               ) { network.searchForServers                                          = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getHashCode                                                     ) { object.getHashCode                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_isEqualTo                                                       ) { object.isEqualTo                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_isKindOf                                                        ) { object.isKindOf                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_hasController                                                   ) { object.hasController                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getScene                                                        ) { object.getScene                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getParent                                                       ) { object.getParent                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setParent                                                       ) { object.setParent                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getModelName                                                    ) { object.getModelName                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_enableDistanceClipping                                          ) { object.enableDistanceClipping                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setDistanceClippingThresholds                                   ) { object.setDistanceClippingThresholds                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setDistanceClippingFadeTime                                     ) { object.setDistanceClippingFadeTime                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_enableDistanceActivation                                        ) { object.enableDistanceActivation                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setDistanceActivationThresholds                                 ) { object.setDistanceActivationThresholds                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_enableFrustumActivation                                         ) { object.enableFrustumActivation                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_enableZoneActivation                                            ) { object.enableZoneActivation                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setCanBeReflected                                               ) { object.setCanBeReflected                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setCanBeRefracted                                               ) { object.setCanBeRefracted                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setCanBeOccluded                                                ) { object.setCanBeOccluded                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_canBeReflected                                                  ) { object.canBeReflected                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_canBeRefracted                                                  ) { object.canBeRefracted                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_canBeOccluded                                                   ) { object.canBeOccluded                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_sendEvent                                                       ) { object.sendEvent                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_sendEventImmediate                                              ) { object.sendEventImmediate                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_postEvent                                                       ) { object.postEvent                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setTransformOption                                              ) { object.setTransformOption                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getTransformOption                                              ) { object.getTransformOption                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_bindTransformToParentSkeletonJoint                              ) { object.bindTransformToParentSkeletonJoint                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_unbindTransformFromParentSkeletonJoint                          ) { object.unbindTransformFromParentSkeletonJoint                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getTranslation                                                  ) { object.getTranslation                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getRotation                                                     ) { object.getRotation                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getRotationQuaternion                                           ) { object.getRotationQuaternion                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getScale                                                        ) { object.getScale                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getDirection                                                    ) { object.getDirection                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getXAxis                                                        ) { object.getXAxis                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getYAxis                                                        ) { object.getYAxis                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getZAxis                                                        ) { object.getZAxis                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_resetTranslation                                                ) { object.resetTranslation                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_matchTranslation                                                ) { object.matchTranslation                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setTranslation                                                  ) { object.setTranslation                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_translate                                                       ) { object.translate                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_translateTo                                                     ) { object.translateTo                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_resetRotation                                                   ) { object.resetRotation                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_matchRotation                                                   ) { object.matchRotation                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setRotation                                                     ) { object.setRotation                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setRotationYPR                                                  ) { object.setRotationYPR                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setRotationAxisAngle                                            ) { object.setRotationAxisAngle                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setRotationQuaternion                                           ) { object.setRotationQuaternion                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_rotate                                                          ) { object.rotate                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_rotateYPR                                                       ) { object.rotateYPR                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_rotateAxisAngle                                                 ) { object.rotateAxisAngle                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_rotateQuaternion                                                ) { object.rotateQuaternion                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_rotateTo                                                        ) { object.rotateTo                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_rotateToYPR                                                     ) { object.rotateToYPR                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_rotateToAxisAngle                                               ) { object.rotateToAxisAngle                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_rotateToQuaternion                                              ) { object.rotateToQuaternion                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_rotateAround                                                    ) { object.rotateAround                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_lookAt                                                          ) { object.lookAt                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_lookAtWithUp                                                    ) { object.lookAtWithUp                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setUniformScale                                                 ) { object.setUniformScale                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setScale                                                        ) { object.setScale                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_isActive                                                        ) { object.isActive                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setVisible                                                      ) { object.setVisible                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_isVisible                                                       ) { object.isVisible                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getDistanceToObject                                             ) { object.getDistanceToObject                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getBoundingSphereRadius                                         ) { object.getBoundingSphereRadius                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getBoundingSphereCenter                                         ) { object.getBoundingSphereCenter                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getBoundingBoxMin                                               ) { object.getBoundingBoxMin                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getBoundingBoxMax                                               ) { object.getBoundingBoxMax                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_addAIModel                                                      ) { object.addAIModel                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_removeAIModel                                                   ) { object.removeAIModel                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getAIModelCount                                                 ) { object.getAIModelCount                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getAIModelNameAt                                                ) { object.getAIModelNameAt                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_hasAIModel                                                      ) { object.hasAIModel                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_hasAIEventHandler                                               ) { object.hasAIEventHandler                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getAIVariable                                                   ) { object.getAIVariable                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setAIVariable                                                   ) { object.setAIVariable                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getAIState                                                      ) { object.getAIState                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setSoundBank                                                    ) { object.setSoundBank                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setAnimBank                                                     ) { object.setAnimBank                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_transformVector                                                 ) { object.transformVector                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_transformPoint                                                  ) { object.transformPoint                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getChildCount                                                   ) { object.getChildCount                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getChildAt                                                      ) { object.getChildAt                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getStaticHandle                                                 ) { object.getStaticHandle                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_fromStaticHandle                                                ) { object.fromStaticHandle                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_releaseStaticHandle                                             ) { object.releaseStaticHandle                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_forceInactive                                                   ) { object.forceInactive                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_setReceivesCustomAIEventsWhenInactive                           ) { object.setReceivesCustomAIEventsWhenInactive                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_getReceivesCustomAIEventsWhenInactive                           ) { object.getReceivesCustomAIEventsWhenInactive                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_object_enableAIModel                                                   ) { object.enableAIModel                                              = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_getResourceHandle                                             ) { pixelmap.getResourceHandle                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_getWidth                                                      ) { pixelmap.getWidth                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_getHeight                                                     ) { pixelmap.getHeight                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_lock                                                          ) { pixelmap.lock                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_unlock                                                        ) { pixelmap.unlock                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setPixel                                                      ) { pixelmap.setPixel                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_getPixel                                                      ) { pixelmap.getPixel                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setPixels                                                     ) { pixelmap.setPixels                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_getPixels                                                     ) { pixelmap.getPixels                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_createBrushFromTexture                                        ) { pixelmap.createBrushFromTexture                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_createBrushFromRectangle                                      ) { pixelmap.createBrushFromRectangle                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_destroyBrush                                                  ) { pixelmap.destroyBrush                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_getBrushCount                                                 ) { pixelmap.getBrushCount                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_getBrushOrigin                                                ) { pixelmap.getBrushOrigin                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setBrushOrigin                                                ) { pixelmap.setBrushOrigin                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_getBrushWidth                                                 ) { pixelmap.getBrushWidth                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_getBrushHeight                                                ) { pixelmap.getBrushHeight                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setPenColor                                                   ) { pixelmap.setPenColor                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setPenBrush                                                   ) { pixelmap.setPenBrush                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setPenMode                                                    ) { pixelmap.setPenMode                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setFillColor                                                  ) { pixelmap.setFillColor                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setFillBrush                                                  ) { pixelmap.setFillBrush                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setFillMode                                                   ) { pixelmap.setFillMode                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_setBlendMode                                                  ) { pixelmap.setBlendMode                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_drawPoint                                                     ) { pixelmap.drawPoint                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_drawLine                                                      ) { pixelmap.drawLine                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_drawRectangle                                                 ) { pixelmap.drawRectangle                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_pixelmap_saveToTexture                                                 ) { pixelmap.saveToTexture                                            = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_setColor                                                     ) { projector.setColor                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_getColor                                                     ) { projector.getColor                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_setOpacity                                                   ) { projector.setOpacity                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_getOpacity                                                   ) { projector.getOpacity                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_setFieldOfView                                               ) { projector.setFieldOfView                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_getFieldOfView                                               ) { projector.getFieldOfView                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_setMinClipDistance                                           ) { projector.setMinClipDistance                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_getMinClipDistance                                           ) { projector.getMinClipDistance                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_setMaxClipDistance                                           ) { projector.setMaxClipDistance                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_getMaxClipDistance                                           ) { projector.getMaxClipDistance                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_setMap                                                       ) { projector.setMap                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_playMapMovie                                                 ) { projector.playMapMovie                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_pauseMapMovie                                                ) { projector.pauseMapMovie                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_stopMapMovie                                                 ) { projector.stopMapMovie                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_setClipMaskBit                                               ) { projector.setClipMaskBit                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_projector_getClipMaskBit                                               ) { projector.getClipMaskBit                                          = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getName                                                          ) { scene.getName                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getUserCount                                                     ) { scene.getUserCount                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getUserAt                                                        ) { scene.getUserAt                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_sendEventToAllUsers                                              ) { scene.sendEventToAllUsers                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_sendEventToAllObjects                                            ) { scene.sendEventToAllObjects                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getTaggedObjectCount                                             ) { scene.getTaggedObjectCount                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getTaggedObjectAt                                                ) { scene.getTaggedObjectAt                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getTaggedObjectTagAt                                             ) { scene.getTaggedObjectTagAt                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getTaggedObject                                                  ) { scene.getTaggedObject                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getObjectTag                                                     ) { scene.getObjectTag                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setObjectTag                                                     ) { scene.setObjectTag                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setRuntimeObjectTag                                              ) { scene.setRuntimeObjectTag                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_createRuntimeObject                                              ) { scene.createRuntimeObject                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_destroyRuntimeObject                                             ) { scene.destroyRuntimeObject                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_combineRuntimeObjectsGroup                                       ) { scene.combineRuntimeObjectsGroup                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBackgroundColor                                               ) { scene.setBackgroundColor                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getBackgroundColor                                               ) { scene.getBackgroundColor                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBackgroundOpacity                                             ) { scene.setBackgroundOpacity                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getBackgroundOpacity                                             ) { scene.getBackgroundOpacity                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBackgroundTexture                                             ) { scene.setBackgroundTexture                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBackgroundPixelMap                                            ) { scene.setBackgroundPixelMap                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBackgroundTextureUVOffset                                     ) { scene.setBackgroundTextureUVOffset                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBackgroundTextureUVScale                                      ) { scene.setBackgroundTextureUVScale                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBackgroundTextureAddressingMode                               ) { scene.setBackgroundTextureAddressingMode                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBackgroundTextureFilteringMode                                ) { scene.setBackgroundTextureFilteringMode                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setSkyBoxColor                                                   ) { scene.setSkyBoxColor                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getSkyBoxColor                                                   ) { scene.getSkyBoxColor                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setSkyBoxFaceMap                                                 ) { scene.setSkyBoxFaceMap                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setAmbientColor                                                  ) { scene.setAmbientColor                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getAmbientColor                                                  ) { scene.getAmbientColor                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setShadowAmbientColor                                            ) { scene.setShadowAmbientColor                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getShadowAmbientColor                                            ) { scene.getShadowAmbientColor                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setFogDensity                                                    ) { scene.setFogDensity                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFogDensity                                                    ) { scene.getFogDensity                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setFogColor                                                      ) { scene.setFogColor                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFogColor                                                      ) { scene.getFogColor                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setDistanceFogStart                                              ) { scene.setDistanceFogStart                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getDistanceFogStart                                              ) { scene.getDistanceFogStart                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setHeightFogLevel                                                ) { scene.setHeightFogLevel                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getHeightFogLevel                                                ) { scene.getHeightFogLevel                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setHeightFogDensityFactor                                        ) { scene.setHeightFogDensityFactor                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getHeightFogDensityFactor                                        ) { scene.getHeightFogDensityFactor                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_createOcean                                                      ) { scene.createOcean                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_destroyOcean                                                     ) { scene.destroyOcean                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanWavesAmplitude                                           ) { scene.setOceanWavesAmplitude                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanWavesAmplitude                                           ) { scene.getOceanWavesAmplitude                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanWavesMeanHeight                                          ) { scene.setOceanWavesMeanHeight                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanWavesMeanHeight                                          ) { scene.getOceanWavesMeanHeight                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanWavesFrequency                                           ) { scene.setOceanWavesFrequency                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanWavesFrequency                                           ) { scene.getOceanWavesFrequency                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanUnderwaterFogDensity                                     ) { scene.setOceanUnderwaterFogDensity                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanUnderwaterFogDensity                                     ) { scene.getOceanUnderwaterFogDensity                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanUnderwaterFogColor                                       ) { scene.setOceanUnderwaterFogColor                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanUnderwaterFogColor                                       ) { scene.getOceanUnderwaterFogColor                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanSurfaceColor                                             ) { scene.setOceanSurfaceColor                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanSurfaceColor                                             ) { scene.getOceanSurfaceColor                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanSurfaceColorFactor                                       ) { scene.setOceanSurfaceColorFactor                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanSurfaceColorFactor                                       ) { scene.getOceanSurfaceColorFactor                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanSurfaceColorMaxDistance                                  ) { scene.setOceanSurfaceColorMaxDistance                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanSurfaceColorMaxDistance                                  ) { scene.getOceanSurfaceColorMaxDistance                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanHeight                                                   ) { scene.getOceanHeight                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanNormal                                                   ) { scene.getOceanNormal                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanFoamMap                                                  ) { scene.setOceanFoamMap                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanFoamMapTiling                                            ) { scene.setOceanFoamMapTiling                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanFoamMapTiling                                            ) { scene.getOceanFoamMapTiling                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanNormalMapTiling                                          ) { scene.setOceanNormalMapTiling                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanNormalMapTiling                                          ) { scene.getOceanNormalMapTiling                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanReflectionNoiseScale                                     ) { scene.setOceanReflectionNoiseScale                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanReflectionNoiseScale                                     ) { scene.getOceanReflectionNoiseScale                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanRefractionNoiseScale                                     ) { scene.setOceanRefractionNoiseScale                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanRefractionNoiseScale                                     ) { scene.getOceanRefractionNoiseScale                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanFresnelPower                                             ) { scene.setOceanFresnelPower                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanFresnelPower                                             ) { scene.getOceanFresnelPower                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanFresnelBias                                              ) { scene.setOceanFresnelBias                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanFresnelBias                                              ) { scene.getOceanFresnelBias                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanReflectorBias                                            ) { scene.setOceanReflectorBias                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanReflectorBias                                            ) { scene.getOceanReflectorBias                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanDepthAttenuationFactor                                   ) { scene.setOceanDepthAttenuationFactor                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanDepthAttenuationFactor                                   ) { scene.getOceanDepthAttenuationFactor                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanReflectedObjectsMaxSurfaceDistance                       ) { scene.setOceanReflectedObjectsMaxSurfaceDistance                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanReflectedObjectsMaxSurfaceDistance                       ) { scene.getOceanReflectedObjectsMaxSurfaceDistance                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanFoamMapScrollingSpeed                                    ) { scene.setOceanFoamMapScrollingSpeed                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanFoamMapScrollingSpeed                                    ) { scene.getOceanFoamMapScrollingSpeed                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanNormalMapScrollingSpeed                                  ) { scene.setOceanNormalMapScrollingSpeed                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanNormalMapScrollingSpeed                                  ) { scene.getOceanNormalMapScrollingSpeed                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setOceanUseFramebufferAsRefractionMap                            ) { scene.setOceanUseFramebufferAsRefractionMap                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getOceanUseFramebufferAsRefractionMap                            ) { scene.getOceanUseFramebufferAsRefractionMap                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setColorLevels                                                   ) { scene.setColorLevels                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getColorLevels                                                   ) { scene.getColorLevels                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setColorSaturation                                               ) { scene.setColorSaturation                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getColorSaturation                                               ) { scene.getColorSaturation                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setColorContrast                                                 ) { scene.setColorContrast                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getColorContrast                                                 ) { scene.getColorContrast                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setMonochromeFilter                                              ) { scene.setMonochromeFilter                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getMonochromeFilter                                              ) { scene.getMonochromeFilter                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setGammaCorrection                                               ) { scene.setGammaCorrection                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getGammaCorrection                                               ) { scene.getGammaCorrection                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBloomIntensity                                                ) { scene.setBloomIntensity                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getBloomIntensity                                                ) { scene.getBloomIntensity                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBloomThreshold                                                ) { scene.setBloomThreshold                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getBloomThreshold                                                ) { scene.getBloomThreshold                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBloomColoring                                                 ) { scene.setBloomColoring                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getBloomColoring                                                 ) { scene.getBloomColoring                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setBloomMotionBlurFactor                                         ) { scene.setBloomMotionBlurFactor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getBloomMotionBlurFactor                                         ) { scene.getBloomMotionBlurFactor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getObjectCount                                                   ) { scene.getObjectCount                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getObjectAt                                                      ) { scene.getObjectAt                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFirstHitCollider                                              ) { scene.getFirstHitCollider                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFirstHitColliderEx                                            ) { scene.getFirstHitColliderEx                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFirstHitColliderWithID                                        ) { scene.getFirstHitColliderWithID                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFirstHitColliderWithIDEx                                      ) { scene.getFirstHitColliderWithIDEx                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFirstHitSensor                                                ) { scene.getFirstHitSensor                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFirstHitSensorWithID                                          ) { scene.getFirstHitSensorWithID                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFirstHitSensorWithIDInRange                                   ) { scene.getFirstHitSensorWithIDInRange                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getFirstHitTerrainChunk                                          ) { scene.getFirstHitTerrainChunk                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getTerrainHeight                                                 ) { scene.getTerrainHeight                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getTerrainNormal                                                 ) { scene.getTerrainNormal                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getTerrainStatus                                                 ) { scene.getTerrainStatus                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setTerrainTextureFilteringMode                                   ) { scene.setTerrainTextureFilteringMode                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setTerrainLODSwitchThreshold                                     ) { scene.setTerrainLODSwitchThreshold                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setTerrainVegetationLayerMaxVisibleInstances                     ) { scene.setTerrainVegetationLayerMaxVisibleInstances                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setTerrainVegetationLayerVisible                                 ) { scene.setTerrainVegetationLayerVisible                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setTerrainVegetationLayerTextureFilteringMode                    ) { scene.setTerrainVegetationLayerTextureFilteringMode               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getTerrainVegetationLayerCount                                   ) { scene.getTerrainVegetationLayerCount                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setDynamicsTimeStep                                              ) { scene.setDynamicsTimeStep                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getDynamicsTimeStep                                              ) { scene.getDynamicsTimeStep                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setDynamicsIterationsPerStep                                     ) { scene.setDynamicsIterationsPerStep                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getDynamicsIterationsPerStep                                     ) { scene.getDynamicsIterationsPerStep                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setDynamicsGravity                                               ) { scene.setDynamicsGravity                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getDynamicsGravity                                               ) { scene.getDynamicsGravity                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setPaused                                                        ) { scene.setPaused                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_isPaused                                                         ) { scene.isPaused                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setPerPixelLightingMinScreenSize                                 ) { scene.setPerPixelLightingMinScreenSize                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getPerPixelLightingMinScreenSize                                 ) { scene.getPerPixelLightingMinScreenSize                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setNormalMappingMinScreenSize                                    ) { scene.setNormalMappingMinScreenSize                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getNormalMappingMinScreenSize                                    ) { scene.getNormalMappingMinScreenSize                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setNormalMappingFadeScreenSize                                   ) { scene.setNormalMappingFadeScreenSize                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getNormalMappingFadeScreenSize                                   ) { scene.getNormalMappingFadeScreenSize                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setSpecularLightingMinScreenSize                                 ) { scene.setSpecularLightingMinScreenSize                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getSpecularLightingMinScreenSize                                 ) { scene.getSpecularLightingMinScreenSize                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setSpecularLightingFadeScreenSize                                ) { scene.setSpecularLightingFadeScreenSize                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getSpecularLightingFadeScreenSize                                ) { scene.getSpecularLightingFadeScreenSize                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setDynamicShadowsFadeDistance                                    ) { scene.setDynamicShadowsFadeDistance                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getDynamicShadowsFadeDistance                                    ) { scene.getDynamicShadowsFadeDistance                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setDynamicShadowsMaxDistance                                     ) { scene.setDynamicShadowsMaxDistance                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getDynamicShadowsMaxDistance                                     ) { scene.getDynamicShadowsMaxDistance                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setPotentiallyOccludedObjectMaxSize                              ) { scene.setPotentiallyOccludedObjectMaxSize                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getPotentiallyOccludedObjectMaxSize                              ) { scene.getPotentiallyOccludedObjectMaxSize                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setColorGradingIntensity                                         ) { scene.setColorGradingIntensity                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getColorGradingIntensity                                         ) { scene.getColorGradingIntensity                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setColorGradingFilteringMode                                     ) { scene.setColorGradingFilteringMode                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getColorGradingFilteringMode                                     ) { scene.getColorGradingFilteringMode                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setColorGradingTexture                                           ) { scene.setColorGradingTexture                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setColorGradingFadeTime                                          ) { scene.setColorGradingFadeTime                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getColorGradingFadeTime                                          ) { scene.getColorGradingFadeTime                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setAmbientOcclusionIntensity                                     ) { scene.setAmbientOcclusionIntensity                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getAmbientOcclusionIntensity                                     ) { scene.getAmbientOcclusionIntensity                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setAmbientOcclusionDistance                                      ) { scene.setAmbientOcclusionDistance                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getAmbientOcclusionDistance                                      ) { scene.getAmbientOcclusionDistance                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setAmbientOcclusionSampleCount                                   ) { scene.setAmbientOcclusionSampleCount                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getAmbientOcclusionSampleCount                                   ) { scene.getAmbientOcclusionSampleCount                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setAmbientOcclusionDepthBias                                     ) { scene.setAmbientOcclusionDepthBias                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getAmbientOcclusionDepthBias                                     ) { scene.getAmbientOcclusionDepthBias                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setAmbientOcclusionColor                                         ) { scene.setAmbientOcclusionColor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getAmbientOcclusionColor                                         ) { scene.getAmbientOcclusionColor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_sectorize                                                        ) { scene.sectorize                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setDynamicsFrameTimeFactor                                       ) { scene.setDynamicsFrameTimeFactor                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getDynamicsFrameTimeFactor                                       ) { scene.getDynamicsFrameTimeFactor                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setAnimationsFrameTimeFactor                                     ) { scene.setAnimationsFrameTimeFactor                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getAnimationsFrameTimeFactor                                     ) { scene.getAnimationsFrameTimeFactor                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setParticlesFrameTimeFactor                                      ) { scene.setParticlesFrameTimeFactor                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getParticlesFrameTimeFactor                                      ) { scene.getParticlesFrameTimeFactor                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setTrailsFrameTimeFactor                                         ) { scene.setTrailsFrameTimeFactor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getTrailsFrameTimeFactor                                         ) { scene.getTrailsFrameTimeFactor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_createActivationZone                                             ) { scene.createActivationZone                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_setActivationZoneExtents                                         ) { scene.setActivationZoneExtents                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_enableActivationZone                                             ) { scene.enableActivationZone                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_isActivationZoneEnabled                                          ) { scene.isActivationZoneEnabled                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_destroyActivationZone                                            ) { scene.destroyActivationZone                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_destroyAllActivationZones                                        ) { scene.destroyAllActivationZones                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getActivationZoneCount                                           ) { scene.getActivationZoneCount                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_scene_getActivationZoneNameAt                                          ) { scene.getActivationZoneNameAt                                     = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_getCount                                                        ) { sensor.getCount                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_setActiveAt                                                     ) { sensor.setActiveAt                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_isActiveAt                                                      ) { sensor.isActiveAt                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_setAllActive                                                    ) { sensor.setAllActive                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_removeAll                                                       ) { sensor.removeAll                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_removeAt                                                        ) { sensor.removeAt                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_add                                                             ) { sensor.add                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_getIDAt                                                         ) { sensor.getIDAt                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_setIDAt                                                         ) { sensor.setIDAt                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_getShapeTypeAt                                                  ) { sensor.getShapeTypeAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_setSphereCenterAt                                               ) { sensor.setSphereCenterAt                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_setSphereRadiusAt                                               ) { sensor.setSphereRadiusAt                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_getSphereCenterAt                                               ) { sensor.getSphereCenterAt                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_getSphereRadiusAt                                               ) { sensor.getSphereRadiusAt                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_setBoxCenterAt                                                  ) { sensor.setBoxCenterAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_setBoxSizeAt                                                    ) { sensor.setBoxSizeAt                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_getBoxCenterAt                                                  ) { sensor.getBoxCenterAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_getBoxSizeAt                                                    ) { sensor.getBoxSizeAt                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_setCategoryBitAt                                                ) { sensor.setCategoryBitAt                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_getCategoryBitAt                                                ) { sensor.getCategoryBitAt                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_setMaskBitAt                                                    ) { sensor.setMaskBitAt                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sensor_getMaskBitAt                                                    ) { sensor.getMaskBitAt                                               = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_getStatus                                                       ) { server.getStatus                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_getName                                                         ) { server.getName                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_getCurrentPingDelay                                             ) { server.getCurrentPingDelay                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_getAveragePingDelay                                             ) { server.getAveragePingDelay                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_getSessionCount                                                 ) { server.getSessionCount                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_getSessionNameAt                                                ) { server.getSessionNameAt                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_getSessionUserCountAt                                           ) { server.getSessionUserCountAt                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_setCurrentSession                                               ) { server.setCurrentSession                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_getCurrentSession                                               ) { server.getCurrentSession                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_server_sendEvent                                                       ) { server.sendEvent                                                  = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_session_getStatus                                                      ) { session.getStatus                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_session_getName                                                        ) { session.getName                                                   = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterCount                                            ) { sfx.getParticleEmitterCount                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_startParticleEmitterAt                                             ) { sfx.startParticleEmitterAt                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_startAllParticleEmitters                                           ) { sfx.startAllParticleEmitters                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_stopParticleEmitterAt                                              ) { sfx.stopParticleEmitterAt                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_stopAllParticleEmitters                                            ) { sfx.stopAllParticleEmitters                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_pauseParticleEmitterAt                                             ) { sfx.pauseParticleEmitterAt                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_pauseAllParticleEmitters                                           ) { sfx.pauseAllParticleEmitters                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterTranslationAt                                    ) { sfx.setParticleEmitterTranslationAt                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterRotationAt                                       ) { sfx.setParticleEmitterRotationAt                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterUniformScaleAt                                   ) { sfx.setParticleEmitterUniformScaleAt                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterGenerationRateAt                                 ) { sfx.setParticleEmitterGenerationRateAt                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterLifeTimeFactorAt                                 ) { sfx.setParticleEmitterLifeTimeFactorAt                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterInitialSpeedFactorAt                             ) { sfx.setParticleEmitterInitialSpeedFactorAt                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterInitialCountFactorAt                             ) { sfx.setParticleEmitterInitialCountFactorAt                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterMaxCountLimitAt                                  ) { sfx.setParticleEmitterMaxCountLimitAt                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterUniformScaleAt                                   ) { sfx.getParticleEmitterUniformScaleAt                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterGenerationRateAt                                 ) { sfx.getParticleEmitterGenerationRateAt                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterLifeTimeFactorAt                                 ) { sfx.getParticleEmitterLifeTimeFactorAt                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterInitialSpeedFactorAt                             ) { sfx.getParticleEmitterInitialSpeedFactorAt                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterInitialCountFactorAt                             ) { sfx.getParticleEmitterInitialCountFactorAt                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterMaxCountLimitAt                                  ) { sfx.getParticleEmitterMaxCountLimitAt                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterAliveParticleCountAt                             ) { sfx.getParticleEmitterAliveParticleCountAt                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterAliveParticlePositionAt                          ) { sfx.getParticleEmitterAliveParticlePositionAt                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterAliveParticleSizeAt                              ) { sfx.getParticleEmitterAliveParticleSizeAt                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterOpacityAt                                        ) { sfx.setParticleEmitterOpacityAt                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterOpacityAt                                        ) { sfx.getParticleEmitterOpacityAt                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterNameAt                                           ) { sfx.getParticleEmitterNameAt                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterKillBoxAt                                        ) { sfx.setParticleEmitterKillBoxAt                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterKillBoxAt                                        ) { sfx.getParticleEmitterKillBoxAt                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterUseKillBoxAt                                     ) { sfx.setParticleEmitterUseKillBoxAt                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterUseKillBoxAt                                     ) { sfx.getParticleEmitterUseKillBoxAt                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterUseCustomForce                                   ) { sfx.setParticleEmitterUseCustomForce                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterUseCustomForce                                   ) { sfx.getParticleEmitterUseCustomForce                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleEmitterCustomForce                                      ) { sfx.setParticleEmitterCustomForce                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleEmitterCustomForce                                      ) { sfx.getParticleEmitterCustomForce                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_addParticleAttractorField                                          ) { sfx.addParticleAttractorField                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_removeParticleAttractorField                                       ) { sfx.removeParticleAttractorField                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_removeAllParticleAttractorFields                                   ) { sfx.removeAllParticleAttractorFields                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleAttractorFieldCount                                     ) { sfx.getParticleAttractorFieldCount                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleAttractorFieldShapeType                                 ) { sfx.getParticleAttractorFieldShapeType                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleAttractorFieldStrength                                  ) { sfx.setParticleAttractorFieldStrength                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleAttractorFieldStrength                                  ) { sfx.getParticleAttractorFieldStrength                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleAttractorFieldPointPosition                             ) { sfx.setParticleAttractorFieldPointPosition                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleAttractorFieldPointPosition                             ) { sfx.getParticleAttractorFieldPointPosition                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getTrailCount                                                      ) { sfx.getTrailCount                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setTrailAnchor0At                                                  ) { sfx.setTrailAnchor0At                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setTrailAnchor1At                                                  ) { sfx.setTrailAnchor1At                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_startTrailAt                                                       ) { sfx.startTrailAt                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_pauseTrailAt                                                       ) { sfx.pauseTrailAt                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_stopTrailAt                                                        ) { sfx.stopTrailAt                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_startAllTrails                                                     ) { sfx.startAllTrails                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_pauseAllTrails                                                     ) { sfx.pauseAllTrails                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_stopAllTrails                                                      ) { sfx.stopAllTrails                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_addParticleVortexField                                             ) { sfx.addParticleVortexField                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_removeParticleVortexField                                          ) { sfx.removeParticleVortexField                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_removeAllParticleVortexFields                                      ) { sfx.removeAllParticleVortexFields                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleVortexFieldStrength                                     ) { sfx.setParticleVortexFieldStrength                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleVortexFieldStrength                                     ) { sfx.getParticleVortexFieldStrength                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleVortexFieldOrbitalSpeed                                 ) { sfx.setParticleVortexFieldOrbitalSpeed                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleVortexFieldOrbitalSpeed                                 ) { sfx.getParticleVortexFieldOrbitalSpeed                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleVortexFieldOrbitalSpeedDamping                          ) { sfx.setParticleVortexFieldOrbitalSpeedDamping                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleVortexFieldOrbitalSpeedDamping                          ) { sfx.getParticleVortexFieldOrbitalSpeedDamping                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleVortexFieldRadialPull                                   ) { sfx.setParticleVortexFieldRadialPull                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleVortexFieldRadialPull                                   ) { sfx.getParticleVortexFieldRadialPull                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleVortexFieldRadialPullDamping                            ) { sfx.setParticleVortexFieldRadialPullDamping                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleVortexFieldRadialPullDamping                            ) { sfx.getParticleVortexFieldRadialPullDamping                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleVortexFieldAxialDrop                                    ) { sfx.setParticleVortexFieldAxialDrop                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleVortexFieldAxialDrop                                    ) { sfx.getParticleVortexFieldAxialDrop                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleVortexFieldAxialDropDamping                             ) { sfx.setParticleVortexFieldAxialDropDamping                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleVortexFieldAxialDropDamping                             ) { sfx.getParticleVortexFieldAxialDropDamping                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleVortexFieldPosition                                     ) { sfx.setParticleVortexFieldPosition                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_addParticleTurbulenceField                                         ) { sfx.addParticleTurbulenceField                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_removeParticleTurbulenceField                                      ) { sfx.removeParticleTurbulenceField                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_removeAllParticleTurbulenceFields                                  ) { sfx.removeAllParticleTurbulenceFields                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleTurbulenceFieldStrength                                 ) { sfx.setParticleTurbulenceFieldStrength                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleTurbulenceFieldStrength                                 ) { sfx.getParticleTurbulenceFieldStrength                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_setParticleTurbulenceFieldFrequency                                ) { sfx.setParticleTurbulenceFieldFrequency                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sfx_getParticleTurbulenceFieldFrequency                                ) { sfx.getParticleTurbulenceFieldFrequency                           = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshOpacity                                                   ) { shape.setMeshOpacity                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshOpacity                                                   ) { shape.getMeshOpacity                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetCount                                               ) { shape.getMeshSubsetCount                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetMaterial                                            ) { shape.setMeshSubsetMaterial                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialName                                        ) { shape.getMeshSubsetMaterialName                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshMaterial                                                  ) { shape.setMeshMaterial                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_compareMeshSubsetMaterial                                        ) { shape.compareMeshSubsetMaterial                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_enableMeshFrustumCulling                                         ) { shape.enableMeshFrustumCulling                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialEmissive                               ) { shape.overrideMeshSubsetMaterialEmissive                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialAmbient                                ) { shape.overrideMeshSubsetMaterialAmbient                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialDiffuse                                ) { shape.overrideMeshSubsetMaterialDiffuse                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialSpecular                               ) { shape.overrideMeshSubsetMaterialSpecular                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialFresnel                                ) { shape.overrideMeshSubsetMaterialFresnel                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialShininess                              ) { shape.overrideMeshSubsetMaterialShininess                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialOpacity                                ) { shape.overrideMeshSubsetMaterialOpacity                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialOpacityThreshold                       ) { shape.overrideMeshSubsetMaterialOpacityThreshold                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialEffectIntensity                        ) { shape.overrideMeshSubsetMaterialEffectIntensity                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEmissiveOverride                            ) { shape.getMeshSubsetMaterialEmissiveOverride                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialAmbientOverride                             ) { shape.getMeshSubsetMaterialAmbientOverride                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialDiffuseOverride                             ) { shape.getMeshSubsetMaterialDiffuseOverride                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialSpecularOverride                            ) { shape.getMeshSubsetMaterialSpecularOverride                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialFresnelOverride                             ) { shape.getMeshSubsetMaterialFresnelOverride                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialShininessOverride                           ) { shape.getMeshSubsetMaterialShininessOverride                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialOpacityOverride                             ) { shape.getMeshSubsetMaterialOpacityOverride                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialOpacityThresholdOverride                    ) { shape.getMeshSubsetMaterialOpacityThresholdOverride               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectIntensityOverride                     ) { shape.getMeshSubsetMaterialEffectIntensityOverride                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshMaterialEmissive                                     ) { shape.overrideMeshMaterialEmissive                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshMaterialAmbient                                      ) { shape.overrideMeshMaterialAmbient                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshMaterialDiffuse                                      ) { shape.overrideMeshMaterialDiffuse                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshMaterialSpecular                                     ) { shape.overrideMeshMaterialSpecular                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshMaterialFresnel                                      ) { shape.overrideMeshMaterialFresnel                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialEffectMap0                             ) { shape.overrideMeshSubsetMaterialEffectMap0                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshMaterialEffectMap0                                   ) { shape.overrideMeshMaterialEffectMap0                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialEffectMap1                             ) { shape.overrideMeshSubsetMaterialEffectMap1                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshMaterialEffectMap1                                   ) { shape.overrideMeshMaterialEffectMap1                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialNormalMap                              ) { shape.overrideMeshSubsetMaterialNormalMap                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshMaterialNormalMap                                    ) { shape.overrideMeshMaterialNormalMap                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshSubsetMaterialSpecularMap                            ) { shape.overrideMeshSubsetMaterialSpecularMap                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideMeshMaterialSpecularMap                                  ) { shape.overrideMeshMaterialSpecularMap                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap0                                  ) { shape.getMeshSubsetMaterialEffectMap0                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap1                                  ) { shape.getMeshSubsetMaterialEffectMap1                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialNormalMap                                   ) { shape.getMeshSubsetMaterialNormalMap                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialSpecularMap                                 ) { shape.getMeshSubsetMaterialSpecularMap                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap0Override                          ) { shape.getMeshSubsetMaterialEffectMap0Override                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap1Override                          ) { shape.getMeshSubsetMaterialEffectMap1Override                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialNormalMapOverride                           ) { shape.getMeshSubsetMaterialNormalMapOverride                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialSpecularMapOverride                         ) { shape.getMeshSubsetMaterialSpecularMapOverride                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetMaterialEffectMap0AdditionalUVOffset                ) { shape.setMeshSubsetMaterialEffectMap0AdditionalUVOffset           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetMaterialEffectMap0AdditionalUVScale                 ) { shape.setMeshSubsetMaterialEffectMap0AdditionalUVScale            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetMaterialEffectMap0AdditionalUVRotation              ) { shape.setMeshSubsetMaterialEffectMap0AdditionalUVRotation         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetMaterialEffectMap1AdditionalUVOffset                ) { shape.setMeshSubsetMaterialEffectMap1AdditionalUVOffset           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetMaterialEffectMap1AdditionalUVScale                 ) { shape.setMeshSubsetMaterialEffectMap1AdditionalUVScale            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetMaterialEffectMap1AdditionalUVRotation              ) { shape.setMeshSubsetMaterialEffectMap1AdditionalUVRotation         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap0AdditionalUVOffset                ) { shape.getMeshSubsetMaterialEffectMap0AdditionalUVOffset           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap0AdditionalUVScale                 ) { shape.getMeshSubsetMaterialEffectMap0AdditionalUVScale            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap0AdditionalUVRotation              ) { shape.getMeshSubsetMaterialEffectMap0AdditionalUVRotation         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap1AdditionalUVOffset                ) { shape.getMeshSubsetMaterialEffectMap1AdditionalUVOffset           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap1AdditionalUVScale                 ) { shape.getMeshSubsetMaterialEffectMap1AdditionalUVScale            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap1AdditionalUVRotation              ) { shape.getMeshSubsetMaterialEffectMap1AdditionalUVRotation         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_playMeshSubsetMaterialEffectMap0Movie                            ) { shape.playMeshSubsetMaterialEffectMap0Movie                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_pauseMeshSubsetMaterialEffectMap0Movie                           ) { shape.pauseMeshSubsetMaterialEffectMap0Movie                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_stopMeshSubsetMaterialEffectMap0Movie                            ) { shape.stopMeshSubsetMaterialEffectMap0Movie                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap0MovieBufferingProgress            ) { shape.getMeshSubsetMaterialEffectMap0MovieBufferingProgress       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap0MoviePlaybackProgress             ) { shape.getMeshSubsetMaterialEffectMap0MoviePlaybackProgress        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetMaterialEffectMap0MoviePlaybackCursor               ) { shape.getMeshSubsetMaterialEffectMap0MoviePlaybackCursor          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetMaterialEffectMap0MovieTransparentColor             ) { shape.setMeshSubsetMaterialEffectMap0MovieTransparentColor        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshLightMaskBit                                              ) { shape.setMeshLightMaskBit                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshLightMaskBit                                              ) { shape.getMeshLightMaskBit                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshProjectorMaskBit                                          ) { shape.setMeshProjectorMaskBit                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshProjectorMaskBit                                          ) { shape.getMeshProjectorMaskBit                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMesh                                                          ) { shape.getMesh                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMesh                                                          ) { shape.setMesh                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshName                                                      ) { shape.getMeshName                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshTriangleCount                                             ) { shape.getMeshTriangleCount                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshVertexCount                                               ) { shape.getMeshVertexCount                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getSkeletonName                                                  ) { shape.getSkeletonName                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getSkeletonJointCount                                            ) { shape.getSkeletonJointCount                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getSkeletonJointNameAt                                           ) { shape.getSkeletonJointNameAt                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_createRuntimeMesh                                                ) { shape.createRuntimeMesh                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideSkeletonJointTranslation                                 ) { shape.overrideSkeletonJointTranslation                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideSkeletonJointRotation                                    ) { shape.overrideSkeletonJointRotation                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_overrideSkeletonJointRotationQuaternion                          ) { shape.overrideSkeletonJointRotationQuaternion                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setSkeletonJointCustomScale                                      ) { shape.setSkeletonJointCustomScale                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getSkeletonJointTranslation                                      ) { shape.getSkeletonJointTranslation                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getSkeletonJointRotation                                         ) { shape.getSkeletonJointRotation                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getSkeletonJointXAxis                                            ) { shape.getSkeletonJointXAxis                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getSkeletonJointYAxis                                            ) { shape.getSkeletonJointYAxis                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getSkeletonJointZAxis                                            ) { shape.getSkeletonJointZAxis                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getSkeletonJointParentJointName                                  ) { shape.getSkeletonJointParentJointName                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setSkeletonJointInheritsParentUniformScale                       ) { shape.setSkeletonJointInheritsParentUniformScale                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_addSkeletonCloneModifier                                         ) { shape.addSkeletonCloneModifier                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_addCurve                                                         ) { shape.addCurve                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_removeCurve                                                      ) { shape.removeCurve                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getCurveCount                                                    ) { shape.getCurveCount                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_addCurvePoint                                                    ) { shape.addCurvePoint                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_removeCurvePoint                                                 ) { shape.removeCurvePoint                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getCurvePointCount                                               ) { shape.getCurvePointCount                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getCurvePoint                                                    ) { shape.getCurvePoint                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setCurvePoint                                                    ) { shape.setCurvePoint                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setCurveStartColor                                               ) { shape.setCurveStartColor                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setCurveEndColor                                                 ) { shape.setCurveEndColor                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setCurveStartOpacity                                             ) { shape.setCurveStartOpacity                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setCurveEndOpacity                                               ) { shape.setCurveEndOpacity                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getCurveStartColor                                               ) { shape.getCurveStartColor                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getCurveEndColor                                                 ) { shape.getCurveEndColor                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_evaluateCurve                                                    ) { shape.evaluateCurve                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getCurveLength                                                   ) { shape.getCurveLength                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshOption                                                    ) { shape.setMeshOption                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshOption                                                    ) { shape.getMeshOption                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetVertexColorCount                                    ) { shape.getMeshSubsetVertexColorCount                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_createMeshSubsetVertexColorBuffer                                ) { shape.createMeshSubsetVertexColorBuffer                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_destroyMeshSubsetVertexColorBuffer                               ) { shape.destroyMeshSubsetVertexColorBuffer                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_lockMeshSubsetVertexColorBuffer                                  ) { shape.lockMeshSubsetVertexColorBuffer                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_unlockMeshSubsetVertexColorBuffer                                ) { shape.unlockMeshSubsetVertexColorBuffer                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetVertexColor                                         ) { shape.setMeshSubsetVertexColor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_getMeshSubsetVertexColor                                         ) { shape.getMeshSubsetVertexColor                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetVertexColors                                        ) { shape.setMeshSubsetVertexColors                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_setMeshSubsetVertexColorBufferDynamic                            ) { shape.setMeshSubsetVertexColorBufferDynamic                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_isMeshSubsetVertexColorBufferDynamic                             ) { shape.isMeshSubsetVertexColorBufferDynamic                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_shape_computeMeshSubsetVertexColors                                    ) { shape.computeMeshSubsetVertexColors                               = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_play                                                             ) { sound.play                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_pause                                                            ) { sound.pause                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_resume                                                           ) { sound.resume                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_stop                                                             ) { sound.stop                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_setVolume                                                        ) { sound.setVolume                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_setPitch                                                         ) { sound.setPitch                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_isPlaying                                                        ) { sound.isPlaying                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_isPaused                                                         ) { sound.isPaused                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_getPlaybackProgress                                              ) { sound.getPlaybackProgress                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_setPlaybackProgress                                              ) { sound.setPlaybackProgress                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_getName                                                          ) { sound.getName                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_enableSpatialization                                             ) { sound.enableSpatialization                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_isSpatializationEnabled                                          ) { sound.isSpatializationEnabled                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_setSpatializationRolloffFactor                                   ) { sound.setSpatializationRolloffFactor                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_getSpatializationRolloffFactor                                   ) { sound.getSpatializationRolloffFactor                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_setSpatializationReferenceDistance                               ) { sound.setSpatializationReferenceDistance                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_getSpatializationReferenceDistance                               ) { sound.getSpatializationReferenceDistance                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_sound_getSpatializationGain                                            ) { sound.getSpatializationGain                                       = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_isEmpty                                                         ) { string.isEmpty                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_getLength                                                       ) { string.getLength                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_getByte                                                         ) { string.getByte                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_format                                                          ) { string.format                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_replace                                                         ) { string.replace                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_contains                                                        ) { string.contains                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_findFirst                                                       ) { string.findFirst                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_findFirstMatching                                               ) { string.findFirstMatching                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_explode                                                         ) { string.explode                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_lower                                                           ) { string.lower                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_upper                                                           ) { string.upper                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_toNumber                                                        ) { string.toNumber                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_getSubString                                                    ) { string.getSubString                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_crc32                                                           ) { string.crc32                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_md5                                                             ) { string.md5                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_sha1                                                            ) { string.sha1                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_hmacsha1                                                        ) { string.hmacsha1                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_reverse                                                         ) { string.reverse                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_compare                                                         ) { string.compare                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_encodeHTML                                                      ) { string.encodeHTML                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_decodeHTML                                                      ) { string.decodeHTML                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_encodeURL                                                       ) { string.encodeURL                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_decodeURL                                                       ) { string.decodeURL                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_encodeBase64                                                    ) { string.encodeBase64                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_string_encodeUTF8                                                      ) { string.encodeUTF8                                                 = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getOSType                                                       ) { system.getOSType                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getOSVersion                                                    ) { system.getOSVersion                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getOSVersionString                                              ) { system.getOSVersionString                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getOSLanguage                                                   ) { system.getOSLanguage                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getGPUModelDescription                                          ) { system.getGPUModelDescription                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getGPUDriverDescription                                         ) { system.getGPUDriverDescription                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getGPUCapability                                                ) { system.getGPUCapability                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getDeviceUniqueIdentifier                                       ) { system.getDeviceUniqueIdentifier                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getDeviceModel                                                  ) { system.getDeviceModel                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getDeviceName                                                   ) { system.getDeviceName                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getSupportedScreenResolutionCount                               ) { system.getSupportedScreenResolutionCount                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getSupportedScreenResolutionAt                                  ) { system.getSupportedScreenResolutionAt                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getCurrentScreenResolution                                      ) { system.getCurrentScreenResolution                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getCurrentScreenPixelAspectRatio                                ) { system.getCurrentScreenPixelAspectRatio                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getCurrentScreenPixelDensity                                    ) { system.getCurrentScreenPixelDensity                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_callClientFunction                                              ) { system.callClientFunction                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getClientType                                                   ) { system.getClientType                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getClientConfigString                                           ) { system.getClientConfigString                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_setWakeLock                                                     ) { system.setWakeLock                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getClipboardText                                                ) { system.getClipboardText                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_setClipboardText                                                ) { system.setClipboardText                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getYear                                                         ) { system.getYear                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getMonth                                                        ) { system.getMonth                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getDayOfMonth                                                   ) { system.getDayOfMonth                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getDayOfWeek                                                    ) { system.getDayOfWeek                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getTimeOfDay                                                    ) { system.getTimeOfDay                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getUnixTimestampString                                          ) { system.getUnixTimestampString                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_areLocationUpdatesSupported                                     ) { system.areLocationUpdatesSupported                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_areLocationUpdatesEnabled                                       ) { system.areLocationUpdatesEnabled                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_enableLocationUpdates                                           ) { system.enableLocationUpdates                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getLastKnownLocation                                            ) { system.getLastKnownLocation                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_areHeadingUpdatesSupported                                      ) { system.areHeadingUpdatesSupported                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_areHeadingUpdatesEnabled                                        ) { system.areHeadingUpdatesEnabled                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_enableHeadingUpdates                                            ) { system.enableHeadingUpdates                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getLastKnownHeading                                             ) { system.getLastKnownHeading                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getLastKnownTrueHeading                                         ) { system.getLastKnownTrueHeading                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_hasPersistentStorageManager                                     ) { system.hasPersistentStorageManager                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_openPersistentStorageManager                                    ) { system.openPersistentStorageManager                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_openURL                                                         ) { system.openURL                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getHomeDirectory                                                ) { system.getHomeDirectory                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getDocumentsDirectory                                           ) { system.getDocumentsDirectory                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getPicturesDirectory                                            ) { system.getPicturesDirectory                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_findFiles                                                       ) { system.findFiles                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_findDirectories                                                 ) { system.findDirectories                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getDirectoryFreeSpace                                           ) { system.getDirectoryFreeSpace                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_install                                                         ) { system.install                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_isInstalled                                                     ) { system.isInstalled                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_getInstallationStatus                                           ) { system.getInstallationStatus                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_system_launch                                                          ) { system.launch                                                     = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_isEmpty                                                          ) { table.isEmpty                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_getSize                                                          ) { table.getSize                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_getAt                                                            ) { table.getAt                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_getLast                                                          ) { table.getLast                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_getFirst                                                         ) { table.getFirst                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_setAt                                                            ) { table.setAt                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_empty                                                            ) { table.empty                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_add                                                              ) { table.add                                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_removeAt                                                         ) { table.removeAt                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_removeLast                                                       ) { table.removeLast                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_removeFirst                                                      ) { table.removeFirst                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_insertAt                                                         ) { table.insertAt                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_contains                                                         ) { table.contains                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_shuffle                                                          ) { table.shuffle                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_reverse                                                          ) { table.reverse                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_swap                                                             ) { table.swap                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_reserve                                                          ) { table.reserve                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_getRangeAt                                                       ) { table.getRangeAt                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_setRangeAt                                                       ) { table.setRangeAt                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_newInstance                                                      ) { table.newInstance                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_table_copy                                                             ) { table.copy                                                        = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getSceneName                                                      ) { user.getSceneName                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_isLocal                                                           ) { user.isLocal                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getID                                                             ) { user.getID                                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_sendEvent                                                         ) { user.sendEvent                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_sendEventImmediate                                                ) { user.sendEventImmediate                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_postEvent                                                         ) { user.postEvent                                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setLocalSoundSourceObject                                         ) { user.setLocalSoundSourceObject                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getLocalSoundSourceObject                                         ) { user.getLocalSoundSourceObject                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setLocalSoundSourceRolloffFactor                                  ) { user.setLocalSoundSourceRolloffFactor                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getLocalSoundSourceRolloffFactor                                  ) { user.getLocalSoundSourceRolloffFactor                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setLocalSoundSourceReferenceDistance                              ) { user.setLocalSoundSourceReferenceDistance                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getLocalSoundSourceReferenceDistance                              ) { user.getLocalSoundSourceReferenceDistance                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getAIModelCount                                                   ) { user.getAIModelCount                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getAIModelNameAt                                                  ) { user.getAIModelNameAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_hasAIModel                                                        ) { user.hasAIModel                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_hasAIEventHandler                                                 ) { user.hasAIEventHandler                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setViewport                                                       ) { user.setViewport                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getViewport                                                       ) { user.getViewport                                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setClearMode                                                      ) { user.setClearMode                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getClearMode                                                      ) { user.getClearMode                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_enableRendering                                                   ) { user.enableRendering                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_isRenderingEnabled                                                ) { user.isRenderingEnabled                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setRenderPriority                                                 ) { user.setRenderPriority                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getRenderPriority                                                 ) { user.getRenderPriority                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getActiveCamera                                                   ) { user.getActiveCamera                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setActiveCamera                                                   ) { user.setActiveCamera                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getScene                                                          ) { user.getScene                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setScene                                                          ) { user.setScene                                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_startScenePreloading                                              ) { user.startScenePreloading                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getScenePreloadingStatus                                          ) { user.getScenePreloadingStatus                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getAIVariable                                                     ) { user.getAIVariable                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setAIVariable                                                     ) { user.setAIVariable                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getAIState                                                        ) { user.getAIState                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_addAIModel                                                        ) { user.addAIModel                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_removeAIModel                                                     ) { user.removeAIModel                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_clearEnvironment                                                  ) { user.clearEnvironment                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_saveEnvironment                                                   ) { user.saveEnvironment                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_loadEnvironment                                                   ) { user.loadEnvironment                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentStatus                                              ) { user.getEnvironmentStatus                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentSaveResult                                          ) { user.getEnvironmentSaveResult                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentLoadResult                                          ) { user.getEnvironmentLoadResult                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setEnvironmentName                                                ) { user.setEnvironmentName                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentName                                                ) { user.getEnvironmentName                                           = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setEnvironmentTitle                                               ) { user.setEnvironmentTitle                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentTitle                                               ) { user.getEnvironmentTitle                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setEnvironmentDescription                                         ) { user.setEnvironmentDescription                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentDescription                                         ) { user.getEnvironmentDescription                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentVariableCount                                       ) { user.getEnvironmentVariableCount                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentVariableNameAt                                      ) { user.getEnvironmentVariableNameAt                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setEnvironmentVariable                                            ) { user.setEnvironmentVariable                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentVariable                                            ) { user.getEnvironmentVariable                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_unsetEnvironmentVariable                                          ) { user.unsetEnvironmentVariable                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_saveEnvironmentVariable                                           ) { user.saveEnvironmentVariable                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_loadEnvironmentVariable                                           ) { user.loadEnvironmentVariable                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentVariableStatus                                      ) { user.getEnvironmentVariableStatus                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_setEnvironmentSystemUserID                                        ) { user.setEnvironmentSystemUserID                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_getEnvironmentSystemUserID                                        ) { user.getEnvironmentSystemUserID                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_user_enableAIModel                                                     ) { user.enableAIModel                                                = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_getCaptureDeviceCount                                            ) { video.getCaptureDeviceCount                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_getCaptureDeviceNameAt                                           ) { video.getCaptureDeviceNameAt                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_setActiveCaptureDevice                                           ) { video.setActiveCaptureDevice                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_startCaptureToPixelMap                                           ) { video.startCaptureToPixelMap                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_stopCapture                                                      ) { video.stopCapture                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_getCaptureWidth                                                  ) { video.getCaptureWidth                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_getCaptureHeight                                                 ) { video.getCaptureHeight                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_getCaptureHorizontalFlip                                         ) { video.getCaptureHorizontalFlip                                    = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_setCaptureWidth                                                  ) { video.setCaptureWidth                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_setCaptureHeight                                                 ) { video.setCaptureHeight                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_setCaptureRate                                                   ) { video.setCaptureRate                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_video_setCaptureHorizontalFlip                                         ) { video.setCaptureHorizontalFlip                                    = __pCallback ; return ; } \
                                                                                                                                                                                                            \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getRootElement                                                     ) { xml.getRootElement                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementName                                                     ) { xml.getElementName                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_setElementName                                                     ) { xml.setElementName                                                = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementValue                                                    ) { xml.getElementValue                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_setElementValue                                                    ) { xml.setElementValue                                               = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementChildCount                                               ) { xml.getElementChildCount                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementChildAt                                                  ) { xml.getElementChildAt                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementAttributeCount                                           ) { xml.getElementAttributeCount                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementAttributeAt                                              ) { xml.getElementAttributeAt                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementAttributeWithName                                        ) { xml.getElementAttributeWithName                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementParent                                                   ) { xml.getElementParent                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementFirstChild                                               ) { xml.getElementFirstChild                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementNextSibling                                              ) { xml.getElementNextSibling                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementFirstChildWithName                                       ) { xml.getElementFirstChildWithName                                  = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getElementNextSiblingWithName                                      ) { xml.getElementNextSiblingWithName                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_appendElementChild                                                 ) { xml.appendElementChild                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_insertElementChildAt                                               ) { xml.insertElementChildAt                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_appendElementChildElement                                          ) { xml.appendElementChildElement                                     = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_insertElementChildElementAt                                        ) { xml.insertElementChildElementAt                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_removeElementChildAt                                               ) { xml.removeElementChildAt                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_removeElementChild                                                 ) { xml.removeElementChild                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_appendElementAttribute                                             ) { xml.appendElementAttribute                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_removeElementAttributeAt                                           ) { xml.removeElementAttributeAt                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_removeElementAttribute                                             ) { xml.removeElementAttribute                                        = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getAttributeName                                                   ) { xml.getAttributeName                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_setAttributeName                                                   ) { xml.setAttributeName                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getAttributeValue                                                  ) { xml.getAttributeValue                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_setAttributeValue                                                  ) { xml.setAttributeValue                                             = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_empty                                                              ) { xml.empty                                                         = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_toString                                                           ) { xml.toString                                                      = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_createFromString                                                   ) { xml.createFromString                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_createFromResource                                                 ) { xml.createFromResource                                            = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_send                                                               ) { xml.send                                                          = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_receive                                                            ) { xml.receive                                                       = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getSendStatus                                                      ) { xml.getSendStatus                                                 = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_getReceiveStatus                                                   ) { xml.getReceiveStatus                                              = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_newInstance                                                        ) { xml.newInstance                                                   = __pCallback ; return ; } \
    if ( __iCallbackID == S3DX::AIEngineAPI::CallbackID_xml_copy                                                               ) { xml.copy                                                          = __pCallback ; return ; } 
        
//-----------------------------------------------------------------------------
#define S3DX_DECLARE_AIENGINEAPI( )                                                                         \
                                                                                                            \
    private: class S3DX_API __AIEngineAPI : public S3DX::AIEngineAPI                                                 \
    {                                                                                                       \
    public :                                                                                                \
                __AIEngineAPI ( ) ;                                                                         \
        void    RegisterCallback ( S3DX::uint32 _iCallbackID, S3DX::AICallback _pCallback ) ;               \
    } ;                                                                                                     \
    private: __AIEngineAPI __oEngineAPI;                                                                    \
    public: S3DX::AIEngineAPI *GetAIEngineAPI ( ) ;
//-----------------------------------------------------------------------------
#define S3DX_DECLARE_AIENGINEAPI_PACKAGES( )                                                                    \
                                                                                                                \
    S3DX::AIEngineAPI::AnimationPackage   S3DX::animation       ;                                               \
    S3DX::AIEngineAPI::ApplicationPackage S3DX::application     ;                                               \
    S3DX::AIEngineAPI::CachePackage       S3DX::cache           ;                                               \
    S3DX::AIEngineAPI::CameraPackage      S3DX::camera          ;                                               \
    S3DX::AIEngineAPI::ColliderPackage    S3DX::collider        ;                                               \
    S3DX::AIEngineAPI::DebugPackage       S3DX::debug           ;                                               \
    S3DX::AIEngineAPI::DynamicsPackage    S3DX::dynamics        ;                                               \
    S3DX::AIEngineAPI::GroupPackage       S3DX::group           ;                                               \
    S3DX::AIEngineAPI::HashtablePackage   S3DX::hashtable       ;                                               \
    S3DX::AIEngineAPI::HudPackage         S3DX::hud             ;                                               \
    S3DX::AIEngineAPI::InputPackage       S3DX::input           ;                                               \
    S3DX::AIEngineAPI::LightPackage       S3DX::light           ;                                               \
    S3DX::AIEngineAPI::LogPackage         S3DX::log             ;                                               \
    S3DX::AIEngineAPI::MathPackage        S3DX::math            ;                                               \
    S3DX::AIEngineAPI::MeshPackage        S3DX::mesh            ;                                               \
    S3DX::AIEngineAPI::MicrophonePackage  S3DX::microphone      ;                                               \
    S3DX::AIEngineAPI::MusicPackage       S3DX::music           ;                                               \
    S3DX::AIEngineAPI::NavigationPackage  S3DX::navigation      ;                                               \
    S3DX::AIEngineAPI::NetworkPackage     S3DX::network         ;                                               \
    S3DX::AIEngineAPI::ObjectPackage      S3DX::object          ;                                               \
    S3DX::AIEngineAPI::PixelmapPackage    S3DX::pixelmap        ;                                               \
    S3DX::AIEngineAPI::ProjectorPackage   S3DX::projector       ;                                               \
    S3DX::AIEngineAPI::ScenePackage       S3DX::scene           ;                                               \
    S3DX::AIEngineAPI::SensorPackage      S3DX::sensor          ;                                               \
    S3DX::AIEngineAPI::ServerPackage      S3DX::server          ;                                               \
    S3DX::AIEngineAPI::SessionPackage     S3DX::session         ;                                               \
    S3DX::AIEngineAPI::SfxPackage         S3DX::sfx             ;                                               \
    S3DX::AIEngineAPI::ShapePackage       S3DX::shape           ;                                               \
    S3DX::AIEngineAPI::SoundPackage       S3DX::sound           ;                                               \
    S3DX::AIEngineAPI::StringPackage      S3DX::string          ;                                               \
    S3DX::AIEngineAPI::SystemPackage      S3DX::system          ;                                               \
    S3DX::AIEngineAPI::TablePackage       S3DX::table           ;                                               \
    S3DX::AIEngineAPI::UserPackage        S3DX::user            ;                                               \
    S3DX::AIEngineAPI::VideoPackage       S3DX::video           ;                                               \
    S3DX::AIEngineAPI::XmlPackage         S3DX::xml             ;                                   
//-----------------------------------------------------------------------------
#if (defined S3DX_DLL) || (defined S3DX_DISCRETE_AIENGINEAPI_PACKAGES)
    #define S3DX_IMPLEMENT_AIENGINEAPI( _name_ )                                                                \
                                                                                                                \
        S3DX::AIEngineAPI *S3DX_MODULE_GUID::__pS3DXEAPIMI = NULL ;                                             \
                                                                                                                \
        _name_::__AIEngineAPI::__AIEngineAPI ( )                                                                \
        {                                                                                                       \
            S3DX_MODULE_GUID::__pS3DXEAPIMI = this ;                                                            \
        }                                                                                                       \
        void _name_::__AIEngineAPI::RegisterCallback ( S3DX::uint32 _iCallbackID, S3DX::AICallback _pCallback ) \
        {                                                                                                       \
            S3DX_REGISTER_AIENGINEAPI_CALLBACK ( _iCallbackID, _pCallback ) ;                                   \
        }                                                                                                       \
        S3DX::AIEngineAPI *_name_::GetAIEngineAPI ( )                                                           \
        {                                                                                                       \
            return &__oEngineAPI ;                                                                              \
        }                                                                                                       \
        S3DX_DECLARE_AIENGINEAPI_PACKAGES ( )
#else
    #define S3DX_IMPLEMENT_AIENGINEAPI( _name_ )                                                                \
                                                                                                                \
        S3DX::AIEngineAPI *S3DX_MODULE_GUID::__pS3DXEAPIMI = NULL ;                                             \
                                                                                                                \
        _name_::__AIEngineAPI::__AIEngineAPI ( )                                                                \
        {                                                                                                       \
            S3DX_MODULE_GUID::__pS3DXEAPIMI = this ;                                                            \
        }                                                                                                       \
        void _name_::__AIEngineAPI::RegisterCallback ( S3DX::uint32 _iCallbackID, S3DX::AICallback _pCallback ) \
        {                                                                                                       \
            S3DX_REGISTER_AIENGINEAPI_CALLBACK ( _iCallbackID, _pCallback ) ;                                   \
        }                                                                                                       \
        S3DX::AIEngineAPI *_name_::GetAIEngineAPI ( )                                                           \
        {                                                                                                       \
            return &__oEngineAPI ;                                                                              \
        }                                                                                                       
#endif
//-----------------------------------------------------------------------------
#endif
//-----------------------------------------------------------------------------
