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