Go to the documentation of
this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #pragma once
00012
00035 #define I_CONTROL 0x00001010 //!< An Animatable supporting this interface is a Control
00036 #define I_IKCONTROL 0x00001020 //!< An Animatable supporting this interface is an IIKControl
00037 #define I_IKCHAINCONTROL 0x00001030 //!< An Animatable supporting this interface is an IIKChainControl
00038 #define I_WIRECONTROL 0x00001040 //!< An Animatable supporting this interface is an IBaseWireControl
00039 #define I_SCRIPTCONTROL 0x00001050 //!< An Animatable supporting this interface is an IBaseScriptControl
00040 #define I_MASTER 0x00001060 //!< An Animatable supporting this interface is a ReferenceTarget
00041 #define I_EASELIST 0x00001070 //!< An Animatable supporting this interface is an EaseCurveList
00042 #define I_MULTLIST 0x00001080 //!< An Animatable supporting this interface is a MultCurveList
00043 #define I_BASEOBJECT 0x00001090 //!< An Animatable supporting this interface is a BaseObject
00044 #define I_WSMOBJECT 0x000010a0 //!< An Animatable supporting this interface is a WSMObject
00045 #define I_DERIVEDOBJECT 0x000010b0 //!< An Animatable supporting this interface is an IDerivedObject
00046 #define I_OBJECT 0x000010c0 //!< An Animatable supporting this interface is an Object
00047 #define I_PARTICLEOBJ 0x000010d0 //!< An Animatable supporting this interface is a ParticleObject
00048 #define I_LIGHTOBJ 0x000010e0 //!< An Animatable supporting this interface is a LightObject
00049 #define I_SIMPLEPARTICLEOBJ 0x000010f0 //!< An Animatable supporting this interface is a SimpleParticle
00050 #define I_KEYCONTROL 0x00001100 //!< An Animatable supporting this interface is an IKeyControl
00051 #define I_KEYCONTROL2 0x00001110 //!< An Animatable supporting this interface is an IKeyControl2
00052 #define I_SETKEYCONTROL 0x00001120 //!< An Animatable supporting this interface is an ISetKey
00053 #define I_SYSTEM_XREF 0x00001130 //!< An Animatable supporting this interface is an ISystemXRef
00054
00055 #define I_TEXTOBJECT 0x00001140 //!< An Animatable supporting this interface is an ITextObject
00056 #define I_WAVESOUND 0x00001150 //!< An Animatable supporting this interface is an IWaveSound
00057 #ifdef _SUBMTLASSIGNMENT
00058 #define I_SUBMTLAPI 0x00001160 //!< An Animatable supporting this interface is an ISubMtlAPI
00059 #endif
00060
00061 #define I_NEWPARTPOD 0x00001170 //!< An Animatable supporting this interface is a ParticlePodObj
00062 #define I_NEWPARTSOURCE 0x00001180 //!< An Animatable supporting this interface is a BasicSourceObj
00063 #define I_NEWPARTOPERATOR 0x00001190 //!< An Animatable supporting this interface is an IOperatorInterface
00064 #define I_NEWPARTTEST 0x000011a0 //!< An Animatable supporting this interface is an ITestInterface. This is an obsolete interface.
00065
00066 #define I_MESHSELECT 0x000011b0 //!< An Animatable supporting this interface is an IMeshSelect
00067 #define I_MESHSELECTDATA 0x000011c0 //!< An Animatable supporting this interface is an IMeshSelectData
00068 #define I_MAXSCRIPTPLUGIN 0x000011d0 //!< An Animatable supporting this interface is a MSPlugin
00069 #define I_MESHDELTAUSER 0x000011e0 //!< An Animatable supporting this interface is a MeshDeltaUser
00070 #define I_MESHDELTAUSERDATA 0x000011f0 //!< An Animatable supporting this interface is a MeshDeltaUserData
00071 #define I_SPLINESELECT 0x00001200 //!< An Animatable supporting this interface is an ISplineSelect
00072 #define I_SPLINESELECTDATA 0x00001210 //!< An Animatable supporting this interface is an ISplineSelectData
00073 #define I_SPLINEOPS 0x00001220 //!< An Animatable supporting this interface is an ISplineOps
00074 #define I_PATCHSELECT 0x00001230 //!< An Animatable supporting this interface is an IPatchSelect
00075 #define I_PATCHSELECTDATA 0x00001240 //!< An Animatable supporting this interface is an IPatchSelectData
00076 #define I_PATCHOPS 0x00001250 //!< An Animatable supporting this interface is an IPatchOps
00077 #define I_SUBMAP 0x00001260 //!< An Animatable supporting this interface is an ISubMap
00078 #define I_MITRANSLATOR 0x00001270 //!< unused - interface to max connection to mental ray
00079 #define I_MENTALRAY 0x00001280 //!< An Animatable supporting this interface is a mrItem*
00080
00081
00082 #define I_NEWMTLINTERFACE 0x00001290 //!< An Animatable supporting this interface is an IChkMtlAPI
00083
00084 #define I_COMPONENT 0x000012a0 //!< An Animatable supporting this interface is an IComponent
00085 #define I_REFARRAY 0x000012b0 //!< An Animatable supporting this interface is an IRefArray
00086 #define I_LINKTMCTRL 0x000012c0 //!< An Animatable supporting this interface is an Link Transform Control
00087 #define I_SUBTARGETCTRL 0x000012d0 //!< An Animatable supporting this interface is an Sub Target Control
00088
00089
00090 #define I_REAGENT 0x000012e0 //!< An Animatable supporting this interface is an IReagent
00091 #define I_GEOMIMP 0x000012f0 //!< An Animatable supporting this interface is an IGeomImp - implementaion neutral interface to geometry caches - REQUIRES RELEASE
00092 #define I_AGGREGATION 0x00001300 //!< An Animatable supporting this interface is an IAggregation
00093 #define I_VALENCE 0x00001310 //!< An Animatable supporting this interface is an IValence
00094 #define I_GUEST 0x00001320 //!< An Animatable supporting this interface is an IGuest
00095 #define I_HOST 0x00001330 //!< An Animatable supporting this interface is an IHost
00096 #define I_SCENEOBJECT 0x00001340 //!< An Animatable supporting this interface is an Object
00097 #define I_MULTITANGENT 0x00001350 //!< An Animatable supporting this interface is an IAdjustMultipleTangents
00098 #define I_SOFTSELECT 0x00001360 //!< An Animatable supporting this interface is an ISoftSelect
00099 #define I_UNREPLACEABLECTL 0x00001370 //!< An Animatable supporting this interface is an IUnReplaceableControl - used for the exposetransform controllers
00100 #define I_EULERCTRL 0x00001380 //!< An Animatable supporting this interface is an IEulerControl - used for euler controllers in order to get/set the xyz ordering..
00101 #define I_LOCKED 0x00001390 //!< An Animatable supporting this interface is an ILockedTrack
00102 #define I_LOCKED_CLIENT 0x000013a0 //!< An Animatable supporting this interface is an ILockedTrackClient
00103
00104 #define I_OBJECTSUPERCLASS_NOT_OBJECTCLASS 0x000013b0 //!< An Animatable supporting this interface reports a superclassid corresponding to an Object (for example, GEOMOBJECT_CLASS_ID), but creating an instance doesn't create an Object-derived object. Instead it derives just from ReferenceTarget. Examples of this are the NURBS classes RmModel and EmExternalObject.
00105
00106 #define I_COMPOSITESUBMTLAPI 0x000013c0 //!< An Animatable supporting this interface is an ICompositeSubMtlAPI
00107 #define I_MTLIDSET 0x000013d0 //!< An Animatable supporting this interface is an IMtlIdSet
00108
00109 #define I_USERINTERFACE 0x0000ffff //!< Plug-in defined interfaces should be greater than this value
00110
00111 #define GetControlInterface(anim) ((Control*)(anim)->GetInterface(I_CONTROL))
00112 #define GetObjectInterface(anim) ((BaseObject*)(anim)->GetInterface(I_BASEOBJECT))
00113 #define GetParticleInterface(anim) ((ParticleObject*)(anim)->GetInterface(I_PARTICLEOBJ))
00114 #define GetKeyControlInterface(anim) ((IKeyControl*)(anim)->GetInterface(I_KEYCONTROL))
00115 #define GetSetKeyControlInterface(anim) ((ISetKey*)(anim)->GetInterface(I_SETKEYCONTROL))
00116 #define GetMasterController(anim) ((ReferenceTarget*)(anim)->GetInterface(I_MASTER))
00117 #define GetTextObjectInterface(anim) ((ITextObject*)(anim)->GetInterface(I_TEXTOBJECT))
00118 #define GetWaveSoundInterface(anim) ((IWaveSound*)(anim)->GetInterface(I_WAVESOUND))
00119 #define GetMeshSelectInterface(anim) ((IMeshSelect*)(anim)->GetInterface(I_MESHSELECT))
00120 #define GetMeshSelectDataInterface(anim) ((IMeshSelectData*)(anim)->GetInterface(I_MESHSELECTDATA))
00121 #define GetMeshDeltaUserInterface(anim) ((MeshDeltaUser*)(anim)->GetInterface(I_MESHDELTAUSER))
00122 #define GetMeshDeltaUserDataInterface(anim) ((MeshDeltaUserData*)(anim)->GetInterface(I_MESHDELTAUSERDATA))
00123 #define GetMultiTangentInterface(anim) ((IAdjustMultipleTangents*)(anim)->GetInterface(I_MULTITANGENT))
00124 #define GetSoftSelectInterface(anim) ((ISoftSelect*)(anim)->GetInterface(I_SOFTSELECT))
00125 #define GetLockedTrackInterface(anim) ((ILockedTrack*)(anim)->GetInterface(I_LOCKED))
00126 #define GetLockedTrackClientInterface(client) ((ILockedTrackClient*)(client)->GetInterface(I_LOCKED_CLIENT))
00127