source: golgotha/src/max_plugin/sdk_inc/dummy.h @ 80

Last change on this file since 80 was 80, checked in by Sam Hocevar, 11 years ago
  • Adding the Golgotha source code. Not sure what's going to be interesting in there, but since it's all public domain, there's certainly stuff to pick up.
  • Property svn:keywords set to Id
File size: 2.6 KB
Line 
1/**********************************************************************
2 *<
3        FILE: dummy.h
4
5        DESCRIPTION:
6
7        CREATED BY: Dan Silva
8
9        HISTORY:
10
11 *>     Copyright (c) 1994, All Rights Reserved.
12 **********************************************************************/
13
14#ifndef __DUMMY__H
15#define __DUMMY__H
16
17
18extern CoreExport Class_ID dummyClassID;
19
20class DummyObject: public HelperObject {                           
21        friend class DummyObjectCreateCallBack;
22        friend BOOL CALLBACK DummyParamDialogProc( HWND hDlg, UINT message,
23                WPARAM wParam, LPARAM lParam );
24       
25                // Mesh cache
26                Mesh mesh;     
27                long dumFlags; 
28                Point3 color;
29                Box3 box;
30                void BuildMesh();
31                void UpdateMesh();
32
33        //  inherited virtual methods for Reference-management
34                RefResult NotifyRefChanged( Interval changeInt, RefTargetHandle hTarget,
35                   PartID& partID, RefMessage message );
36
37        public:
38                CoreExport DummyObject();
39
40                CoreExport Box3 GetBox() const;
41                CoreExport void SetBox(Box3& b);
42                CoreExport void SetColor(Point3 color);
43                CoreExport void EnableDisplay();
44                CoreExport void DisableDisplay();
45
46                //  inherited virtual methods:
47                // From BaseObject
48                CoreExport int HitTest(TimeValue t, INode* inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt);
49                CoreExport void Snap(TimeValue t, INode* inode, SnapInfo *snap, IPoint2 *p, ViewExp *vpt);
50                CoreExport int Display(TimeValue t, INode* inode, ViewExp *vpt, int flags);
51                CoreExport CreateMouseCallBack* GetCreateMouseCallBack();
52                CoreExport RefTargetHandle Clone(RemapDir& remap = NoRemap());
53
54                // From Object
55                CoreExport ObjectState Eval(TimeValue time);
56                void InitNodeName(TSTR& s);
57                int DoOwnSelectHilite() {return 1; }           
58                int IsRenderable(){ return 0; }
59                TCHAR *GetObjectName();
60
61                //  From Object
62                CoreExport void GetWorldBoundBox(TimeValue t, INode *mat, ViewExp *vpt, Box3& box );
63                CoreExport void GetLocalBoundBox(TimeValue t, INode *mat, ViewExp *vpt, Box3& box );
64                CoreExport void GetDeformBBox(TimeValue t, Box3& box, Matrix3 *tm, BOOL useSel=FALSE );
65
66                // IO
67                CoreExport IOResult Save(ISave *isave);
68                CoreExport IOResult Load(ILoad *iload);
69
70                // Animatable methods
71                void DeleteThis() { delete this; }
72                Class_ID ClassID() { return dummyClassID; } 
73                void GetClassName(TSTR& s);
74                int IsKeyable(){ return 1;}
75                LRESULT CALLBACK TrackViewWinProc( HWND hwnd,  UINT message,
76                    WPARAM wParam,   LPARAM lParam ){return(0);}
77        };
78
79CoreExport ClassDesc* GetDummyObjDescriptor();
80#endif // __DUMMY__H
Note: See TracBrowser for help on using the repository browser.