16 #include "pandatoolbase.h"
17 #include <sys/types.h>
25 #include "eggXfmSAnim.h"
27 #include "referenceCount.h"
28 #include "pointerTo.h"
36 #define WIN32_LEAN_AND_MEAN
45 #include "maxResource.h"
51 #include "eggCoordinateSystem.h"
53 #include "eggPolygon.h"
54 #include "eggTextureCollection.h"
55 #include "eggTexture.h"
56 #include "eggVertex.h"
57 #include "eggVertexPool.h"
58 #include "eggNurbsCurve.h"
59 #include "pandatoolbase.h"
60 #include "eggXfmSAnim.h"
61 #include "pathStore.h"
63 #include "maxNodeDesc.h"
64 #include "maxNodeTree.h"
65 #include "maxOptionsDialog.h"
66 #include "maxToEggConverter.h"
68 #define MaxEggPlugin_CLASS_ID Class_ID(0x7ac0d6b7, 0x55731ef6)
70 #pragma conform(forScope, off)
74 extern HINSTANCE hInstance;
78 extern TCHAR *GetString(
int id);
89 #if MAX_VERSION_MAJOR < 9
90 #define DefaultRemapDir NoRemap
106 static short meshBuilt;
107 static HWND hMaxEggParams;
108 static IObjParam *iObjParams;
117 void SaveCheckState();
121 void RemoveEgg(
int i);
122 MaxOptionsDialog *GetEgg(
int i) {
return (i >= 0 && i < numEggs) ? eggList[i] : NULL; }
126 RefResult NotifyRefChanged( Interval changeInt, RefTargetHandle hTarget, PartID& partID, RefMessage message );
127 void GetMat(TimeValue t, INode* inod, ViewExp *vpt, Matrix3& mat);
130 int HitTest(TimeValue t, INode* inode,
int type,
int crossing,
int flags, IPoint2 *p, ViewExp *vpt);
131 int Display(TimeValue t, INode* inode, ViewExp *vpt,
int flags);
132 CreateMouseCallBack* GetCreateMouseCallBack();
133 void BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev);
134 void EndEditParams( IObjParam *ip, ULONG flags,Animatable *next);
135 #if MAX_VERSION_MAJOR < 15
136 TCHAR *GetObjectName() {
return GetString(IDS_LIBDESCRIPTION); }
138 const TCHAR *GetObjectName() {
return GetString(IDS_LIBDESCRIPTION); }
142 ObjectState Eval(TimeValue time);
143 void InitNodeName(TSTR& s) { s = GetString(IDS_CLASS_NAME); }
144 Interval ObjectValidity(TimeValue time);
146 int DoOwnSelectHilite() {
return 1; }
149 int IntersectRay(TimeValue t, Ray& r, PN_stdfloat& at) {
return 0; }
150 void GetWorldBoundBox(TimeValue t, INode *mat, ViewExp *vpt, Box3& box );
151 void GetLocalBoundBox(TimeValue t, INode *mat, ViewExp *vpt, Box3& box );
152 void GetDeformBBox(TimeValue t, Box3& box, Matrix3 *tm, BOOL useSel );
155 void DeleteThis() {
delete this; }
156 Class_ID ClassID() {
return MaxEggPlugin_CLASS_ID; }
157 void GetClassName(TSTR& s) { s = TSTR(GetString(IDS_CLASS_NAME)); }
158 TSTR SubAnimName(
int i) {
return TSTR(GetString(IDS_CLASS_NAME)); }
161 RefTargetHandle Clone(RemapDir& remap = DefaultRemapDir());
164 IOResult Save(ISave *isave);
165 IOResult Load(ILoad *iload);
169 #endif // __MaxEgg__H