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

125 lines
4.0 KiB
C++
Executable File

/**********************************************************************
*<
FILE: gizmoimp.h
DESCRIPTION: General atmoshperic gizmo objects
CREATED BY: Rolf Berteig
HISTORY: 4-15-96
11-13-96 Moved into core
*> Copyright (c) 1996 Rolf Berteig, All Rights Reserved.
**********************************************************************/
#ifndef __GIZMOIMP_H__
#define __GIZMOIMP_H__
#define SPHEREGIZMO_CLASSID Class_ID(0x3bc31904, 0x67d74ec7)
#define CYLGIZMO_CLASSID Class_ID(0x3bc31904, 0x67d74ec8)
#define BOXGIZMO_CLASSID Class_ID(0x3bc31904, 0x67d74ec9)
class SphereGizmoObject : public GizmoObject {
public:
CoreExport SphereGizmoObject();
CoreExport ~SphereGizmoObject();
// From BaseObject
CoreExport CreateMouseCallBack* GetCreateMouseCallBack();
CoreExport void BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev);
CoreExport void EndEditParams( IObjParam *ip, ULONG flags,Animatable *next);
CoreExport TCHAR *GetObjectName();
CoreExport void InitNodeName(TSTR& s);
// Animatable methods
CoreExport void GetClassName(TSTR& s);
void DeleteThis() {delete this;}
Class_ID ClassID() {return SPHEREGIZMO_CLASSID;}
// From ref
CoreExport RefTargetHandle Clone(RemapDir& remap = NoRemap());
// From GizmoObject
Interval ObjectValidity(TimeValue t); // mjm - 1.27.99
CoreExport void InvalidateUI();
CoreExport ParamDimension *GetParameterDim(int pbIndex);
CoreExport TSTR GetParameterName(int pbIndex);
CoreExport void DrawGizmo(TimeValue t,GraphicsWindow *gw);
CoreExport void GetBoundBox(Matrix3 &mat,TimeValue t,Box3 &box);
};
#define PB_GIZMO_RADIUS 0
#define PB_GIZMO_HEMI 1
#define PB_GIZMO_SEED 2
class CylGizmoObject : public GizmoObject {
public:
CoreExport CylGizmoObject();
CoreExport ~CylGizmoObject();
// From BaseObject
CoreExport CreateMouseCallBack* GetCreateMouseCallBack();
CoreExport void BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev);
CoreExport void EndEditParams( IObjParam *ip, ULONG flags,Animatable *next);
CoreExport TCHAR *GetObjectName();
CoreExport void InitNodeName(TSTR& s);
// Animatable methods
CoreExport void GetClassName(TSTR& s);
void DeleteThis() {delete this;}
Class_ID ClassID() {return CYLGIZMO_CLASSID;}
// From ref
CoreExport RefTargetHandle Clone(RemapDir& remap = NoRemap());
// From GizmoObject
Interval ObjectValidity(TimeValue t); // mjm - 1.27.99
CoreExport void InvalidateUI();
CoreExport ParamDimension *GetParameterDim(int pbIndex);
CoreExport TSTR GetParameterName(int pbIndex);
CoreExport void DrawGizmo(TimeValue t,GraphicsWindow *gw);
CoreExport void GetBoundBox(Matrix3 &mat,TimeValue t,Box3 &box);
};
#define PB_CYLGIZMO_RADIUS 0
#define PB_CYLGIZMO_HEIGHT 1
#define PB_CYLGIZMO_SEED 2
class BoxGizmoObject : public GizmoObject {
public:
CoreExport BoxGizmoObject();
CoreExport ~BoxGizmoObject();
// From BaseObject
CoreExport CreateMouseCallBack* GetCreateMouseCallBack();
CoreExport void BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev);
CoreExport void EndEditParams( IObjParam *ip, ULONG flags,Animatable *next);
CoreExport TCHAR *GetObjectName();
CoreExport void InitNodeName(TSTR& s);
// Animatable methods
CoreExport void GetClassName(TSTR& s);
void DeleteThis() {delete this;}
Class_ID ClassID() {return BOXGIZMO_CLASSID;}
// From ref
CoreExport RefTargetHandle Clone(RemapDir& remap = NoRemap());
// From GizmoObject
Interval ObjectValidity(TimeValue t); // mjm - 1.27.99
CoreExport void InvalidateUI();
CoreExport ParamDimension *GetParameterDim(int pbIndex);
CoreExport TSTR GetParameterName(int pbIndex);
CoreExport void DrawGizmo(TimeValue t,GraphicsWindow *gw);
CoreExport void GetBoundBox(Matrix3 &mat,TimeValue t,Box3 &box);
};
#define PB_BOXGIZMO_LENGTH 0
#define PB_BOXGIZMO_WIDTH 1
#define PB_BOXGIZMO_HEIGHT 2
#define PB_BOXGIZMO_SEED 3
#endif //__GIZMOIMP_H__