Initial commit
This commit is contained in:
58
Torque/SDK/lib/maxsdk31/ikctrl.h
Normal file
58
Torque/SDK/lib/maxsdk31/ikctrl.h
Normal file
@@ -0,0 +1,58 @@
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: ikctrl.h
|
||||
|
||||
DESCRIPTION: Inverse Kinematics Controllers
|
||||
|
||||
CREATED BY: Rolf Berteig
|
||||
|
||||
HISTORY: 3-1-97
|
||||
|
||||
*> Copyright (c) 1997, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __IKCTRL_H__
|
||||
#define __IKCTRL_H__
|
||||
|
||||
|
||||
#define IKMASTER_CLASSID Class_ID(0xa91004be,0x9901fe83)
|
||||
#define IKSLAVE_CLASSID Class_ID(0xbe380a31,0x310dc9e4)
|
||||
|
||||
class IKMasterControl : public ReferenceTarget {
|
||||
public:
|
||||
Class_ID ClassID() {return IKMASTER_CLASSID;}
|
||||
SClass_ID SuperClassID() {return REF_TARGET_CLASS_ID;}
|
||||
|
||||
virtual void AddSlaveNode(INode *node)=0;
|
||||
virtual void *GetMasterBase()=0;
|
||||
|
||||
virtual void SetPosThresh(float t)=0;
|
||||
virtual void SetRotThresh(float t)=0;
|
||||
virtual void SetIterations(int i)=0;
|
||||
virtual void SetStartTime(TimeValue s)=0;
|
||||
virtual void SetEndTime(TimeValue e)=0;
|
||||
|
||||
virtual float GetPosThresh()=0;
|
||||
virtual float GetRotThresh()=0;
|
||||
virtual int GetIterations()=0;
|
||||
virtual TimeValue GetStartTime()=0;
|
||||
virtual TimeValue GetEndTime()=0;
|
||||
};
|
||||
|
||||
class IKSlaveControl : public Control {
|
||||
public:
|
||||
Class_ID ClassID() {return IKSLAVE_CLASSID;}
|
||||
SClass_ID SuperClassID() {return CTRL_MATRIX3_CLASS_ID;}
|
||||
|
||||
virtual IKMasterControl *GetMaster()=0;
|
||||
virtual void SetDOF(int which,BOOL onOff)=0;
|
||||
virtual void SetInitPos(Point3 pos)=0;
|
||||
virtual void SetInitRot(Point3 rot)=0;
|
||||
virtual void MakeEE(BOOL onOff,DWORD which,Point3 pos,Quat rot)=0;
|
||||
};
|
||||
|
||||
CoreExport IKMasterControl *CreateIKMasterControl();
|
||||
CoreExport IKSlaveControl *CreateIKSlaveControl(IKMasterControl *master,INode *slaveNode);
|
||||
|
||||
|
||||
#endif //__IKCTRL_H__
|
||||
Reference in New Issue
Block a user