tge/lib/maxsdk31/dummy.h
2025-02-17 23:17:30 -06:00

88 lines
2.7 KiB
C++
Executable File

/**********************************************************************
*<
FILE: dummy.h
DESCRIPTION:
CREATED BY: Dan Silva
HISTORY:
*> Copyright (c) 1994, All Rights Reserved.
**********************************************************************/
#ifndef __DUMMY__H
#define __DUMMY__H
extern CoreExport Class_ID dummyClassID;
class DummyObject: public HelperObject {
friend class DummyObjectCreateCallBack;
friend BOOL CALLBACK DummyParamDialogProc( HWND hDlg, UINT message,
WPARAM wParam, LPARAM lParam );
// Mesh cache
Mesh mesh;
long dumFlags;
Point3 color;
Box3 box;
Interval valid;
void BuildMesh();
void UpdateMesh();
// inherited virtual methods for Reference-management
RefResult NotifyRefChanged( Interval changeInt, RefTargetHandle hTarget,
PartID& partID, RefMessage message );
public:
CoreExport DummyObject();
CoreExport Box3 GetBox() const;
CoreExport void SetBox(Box3& b);
CoreExport void SetColor(Point3 color);
CoreExport void EnableDisplay();
CoreExport void DisableDisplay();
CoreExport void SetValidity(Interval v);
// inherited virtual methods:
// From BaseObject
CoreExport int HitTest(TimeValue t, INode* inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt);
CoreExport void Snap(TimeValue t, INode* inode, SnapInfo *snap, IPoint2 *p, ViewExp *vpt);
CoreExport int Display(TimeValue t, INode* inode, ViewExp *vpt, int flags);
CoreExport CreateMouseCallBack* GetCreateMouseCallBack();
CoreExport RefTargetHandle Clone(RemapDir& remap = NoRemap());
Interval ObjectValidity(TimeValue t) { return valid; }
// From Object
CoreExport ObjectState Eval(TimeValue time);
void InitNodeName(TSTR& s);
int DoOwnSelectHilite() {return 1; }
int IsRenderable(){ return 0; }
TCHAR *GetObjectName();
// From Object
CoreExport void GetWorldBoundBox(TimeValue t, INode *mat, ViewExp *vpt, Box3& box );
CoreExport void GetLocalBoundBox(TimeValue t, INode *mat, ViewExp *vpt, Box3& box );
CoreExport void GetDeformBBox(TimeValue t, Box3& box, Matrix3 *tm, BOOL useSel=FALSE );
// IO
CoreExport IOResult Save(ISave *isave);
CoreExport IOResult Load(ILoad *iload);
// From ReferenceMaker
CoreExport void RescaleWorldUnits(float f);
// Animatable methods
void DeleteThis() { delete this; }
Class_ID ClassID() { return dummyClassID; }
void GetClassName(TSTR& s);
int IsKeyable(){ return 1;}
LRESULT CALLBACK TrackViewWinProc( HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam ){return(0);}
};
CoreExport ClassDesc* GetDummyObjDescriptor();
#endif // __DUMMY__H