69 lines
2.5 KiB
C++
Executable File
69 lines
2.5 KiB
C++
Executable File
/**********************************************************************
|
|
*<
|
|
FILE: gizmo.h
|
|
|
|
DESCRIPTION: An apparatus object
|
|
|
|
CREATED BY: Rolf Berteig
|
|
|
|
HISTORY: 4-15-96
|
|
|
|
*> Copyright (c) 1996 Rolf Berteig, All Rights Reserved.
|
|
**********************************************************************/
|
|
|
|
#ifndef __GIZMO_H__
|
|
#define __GIZMO_H__
|
|
|
|
class IParamMap;
|
|
|
|
class GizmoObject : public HelperObject {
|
|
public:
|
|
IParamBlock *pblock;
|
|
static IParamMap *pmapParam;
|
|
static IObjParam *ip;
|
|
|
|
CoreExport GizmoObject();
|
|
CoreExport ~GizmoObject();
|
|
|
|
CoreExport static GizmoObject *editOb;
|
|
|
|
// From BaseObject
|
|
CoreExport void BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev);
|
|
CoreExport void EndEditParams( IObjParam *ip, ULONG flags,Animatable *next);
|
|
CoreExport int HitTest(TimeValue t, INode* inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt);
|
|
CoreExport int Display(TimeValue t, INode* inode, ViewExp *vpt, int flags);
|
|
|
|
// From Object
|
|
ObjectState Eval(TimeValue time) {return ObjectState(this);}
|
|
void InitNodeName(TSTR& s) {s = GetObjectName();}
|
|
CoreExport int CanConvertToType(Class_ID obtype);
|
|
CoreExport Object* ConvertToType(TimeValue t, Class_ID obtype);
|
|
CoreExport void GetWorldBoundBox(TimeValue t, INode* inode, ViewExp* vpt, Box3& box );
|
|
CoreExport void GetLocalBoundBox(TimeValue t, INode* inode, ViewExp* vpt, Box3& box );
|
|
CoreExport void GetDeformBBox(TimeValue t, Box3& box, Matrix3 *tm, BOOL useSel );
|
|
|
|
// Animatable methods
|
|
//void GetClassName(TSTR& s) {s = GetObjectName();}
|
|
int NumSubs() { return 1; }
|
|
Animatable* SubAnim(int i) { return pblock; }
|
|
TSTR SubAnimName(int i) {return _T("Parameters");}
|
|
|
|
// From ref
|
|
int NumRefs() {return 1;}
|
|
RefTargetHandle GetReference(int i) {return pblock;}
|
|
void SetReference(int i, RefTargetHandle rtarg) {pblock=(IParamBlock*)rtarg;}
|
|
CoreExport RefResult NotifyRefChanged(Interval changeInt,RefTargetHandle hTarget,
|
|
PartID& partID, RefMessage message);
|
|
|
|
// Must implement...
|
|
Interval ObjectValidity(TimeValue t) {return FOREVER;}
|
|
virtual void InvalidateUI() {}
|
|
virtual ParamDimension *GetParameterDim(int pbIndex) {return defaultDim;}
|
|
virtual TSTR GetParameterName(int pbIndex) {return TSTR(_T("Parameter"));}
|
|
virtual void DrawGizmo(TimeValue t,GraphicsWindow *gw) {}
|
|
virtual Point3 WireColor() { return GetUIColor(COLOR_ATMOS_APPARATUS); } // mjm - 4.20.99
|
|
virtual void GetBoundBox(Matrix3 &mat,TimeValue t,Box3 &box) {}
|
|
};
|
|
|
|
#endif //__GIZMO_H__
|