#include <mxsPlugin.h>
Public Member Functions |
|
| void | DeleteThis () |
| MSObjectXtnd () | |
| ReferenceTarget * | get_delegate () |
| void | GetClassName (MSTR &s) |
| Class_ID | ClassID () |
| void | FreeCaches () |
| int | NumSubs () |
| Animatable * | SubAnim (int i) |
| MSTR | SubAnimName (int i) |
| int | NumParamBlocks () |
| IParamBlock2 * | GetParamBlock (int i) |
| IParamBlock2 * | GetParamBlockByID (BlockID id) |
| void * | GetInterface (ULONG id) |
| virtual BaseInterface * | GetInterface (Interface_ID id) |
| int | NumRefs () |
| RefTargetHandle | GetReference (int i) |
| void | SetReference (int i, RefTargetHandle rtarg) |
| MCHAR * | GetObjectName () |
| void | BeginEditParams (IObjParam *ip, ULONG flags, Animatable *prev) |
| void | EndEditParams (IObjParam *ip, ULONG flags, Animatable *next) |
| int | HitTest (TimeValue t, INode *inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt) |
| int | Display (TimeValue t, INode *inode, ViewExp *vpt, int flags) |
| void | GetWorldBoundBox (TimeValue t, INode *inode, ViewExp *vpt, Box3 &box) |
| void | GetLocalBoundBox (TimeValue t, INode *inode, ViewExp *vpt, Box3 &box) |
| void | Snap (TimeValue t, INode *inode, SnapInfo *snap, IPoint2 *p, ViewExp *vpt) |
| CreateMouseCallBack * | GetCreateMouseCallBack () |
| BOOL | HasUVW () |
| void | SetGenUVW (BOOL sw) |
| void | SetExtendedDisplay (int flags) |
| ObjectState | Eval (TimeValue time) |
| void | InitNodeName (MSTR &s) |
| Interval | ObjectValidity (TimeValue t) |
| int | CanConvertToType (Class_ID obtype) |
| Object * | ConvertToType (TimeValue t, Class_ID obtype) |
| void | GetCollapseTypes (Tab< Class_ID > &clist, Tab< MSTR * > &nlist) |
| void | GetDeformBBox (TimeValue t, Box3 &box, Matrix3 *tm, BOOL useSel) |
| int | IntersectRay (TimeValue t, Ray &r, float &at, Point3 &norm) |
Public Attributes |
|
| TYPE * | delegate |
| MSObjectXtnd | ( | ) | [inline] |
: MS_SUPER() {}
| void DeleteThis | ( | ) |
| ReferenceTarget* get_delegate | ( | ) | [inline] |
{ return delegate; }
| Class_ID ClassID | ( | ) | [inline] |
{ return pc->class_id; }
| void FreeCaches | ( | ) | [inline] |
{ }; // { delegate->FreeCaches(); }
| int NumSubs | ( | ) | [inline] |
{ return pblocks.Count() + 1; }
| Animatable* SubAnim | ( | int | i | ) | [inline] |
{ if (i == 0) return delegate; else return pblocks[i-1]; }
| MSTR SubAnimName | ( | int | i | ) | [inline] |
{ if (i == 0) return delegate->GetObjectName(); else return pblocks[i-1]->GetLocalName(); }
| int NumParamBlocks | ( | ) | [inline] |
{ return pblocks.Count(); }
| IParamBlock2* GetParamBlock | ( | int | i | ) | [inline] |
{ return pblocks[i]; }
| IParamBlock2* GetParamBlockByID | ( | BlockID | id | ) | [inline] |
{ return MSPlugin::GetParamBlockByID(id); }
| void* GetInterface | ( | ULONG | id | ) | [inline] |
{ if (id == I_MAXSCRIPTPLUGIN) return (MSPlugin*)this; else return MS_SUPER::GetInterface(id); }
| virtual BaseInterface* GetInterface | ( | Interface_ID | id | ) | [inline, virtual] |
{
// GetInterface(Interface_ID) was added after the MAX 4
// SDK shipped. This did not break the SDK because
// it only calls the base class implementation. If you add
// any other code here, plugins compiled with the MAX 4 SDK
// that derive from MSObjectXtnd and call Base class
// implementations of GetInterface(Interface_ID), will not call
// that code in this routine. This means that the interface
// you are adding will not be exposed for these objects,
// and could have unexpected results.
return MS_SUPER::GetInterface(id);
}
| int NumRefs | ( | ) |
| RefTargetHandle GetReference | ( | int | i | ) |
| void SetReference | ( | int | i, |
| RefTargetHandle | rtarg | ||
| ) |
| MCHAR* GetObjectName | ( | ) | [inline] |
{ return pc->class_name->to_string(); }
| void BeginEditParams | ( | IObjParam * | ip, |
| ULONG | flags, | ||
| Animatable * | prev | ||
| ) |
| void EndEditParams | ( | IObjParam * | ip, |
| ULONG | flags, | ||
| Animatable * | next | ||
| ) |
| int HitTest | ( | TimeValue | t, |
| INode * | inode, | ||
| int | type, | ||
| int | crossing, | ||
| int | flags, | ||
| IPoint2 * | p, | ||
| ViewExp * | vpt | ||
| ) | [inline] |
Reimplemented in MSHelperXtnd, MSLightXtnd, and MSCameraXtnd.
{ return delegate->HitTest(t, inode, type, crossing, flags, p, vpt); }
Reimplemented in MSHelperXtnd, MSLightXtnd, and MSCameraXtnd.
{ return delegate->Display(t, inode, vpt, flags); }
Reimplemented in MSHelperXtnd, MSLightXtnd, and MSCameraXtnd.
{ delegate->GetWorldBoundBox(t, inode, vpt, box); }
Reimplemented in MSHelperXtnd, MSLightXtnd, and MSCameraXtnd.
{ delegate->GetLocalBoundBox(t, inode, vpt, box ); }
Reimplemented in MSHelperXtnd, MSLightXtnd, and MSCameraXtnd.
{ delegate->Snap(t, inode, snap, p, vpt); }
| CreateMouseCallBack* GetCreateMouseCallBack | ( | ) |
| BOOL HasUVW | ( | ) | [inline] |
| void SetGenUVW | ( | BOOL | sw | ) | [inline] |
| void SetExtendedDisplay | ( | int | flags | ) | [inline] |
{ delegate->SetExtendedDisplay( flags); } // for setting mode-dependent display attributes
| ObjectState Eval | ( | TimeValue | time | ) |
Reimplemented in MSHelperXtnd, and MSShapeXtnd.
| void InitNodeName | ( | MSTR & | s | ) | [inline] |
| Interval ObjectValidity | ( | TimeValue | t | ) |
Reimplemented in MSHelperXtnd.
{
// CAL-10/1/2002: Don't return the delegate, because it might be deleted.
// Return a copy of the delegate instead. (422964)
Object* obj = delegate->ConvertToType(t, obtype);
if (obj == delegate) obj = delegate->MakeShallowCopy(OBJ_CHANNELS);
return obj;
}
{ delegate->GetCollapseTypes(clist, nlist); }
Reimplemented in MSHelperXtnd, MSLightXtnd, and MSCameraXtnd.
{ delegate->GetDeformBBox(t, box, tm, useSel); }
Reimplemented in MSShapeXtnd.
{ return delegate->IntersectRay(t, r, at, norm); }