#ifndef __ORCONSTRAINT_3DCURVE_DEFORMER_CONSTRAINT_H__
#define __ORCONSTRAINT_3DCURVE_DEFORMER_CONSTRAINT_H__
#define ORCONSTRAINT3DCURVEDEFORMER__CLASSNAME ORConstraint3DCurveDeformer
#define ORCONSTRAINT3DCURVEDEFORMER__CLASSSTR "ORConstraint3DCurveDeformer"
#define MAX_POINT_NUMBER 50
class ORConstraint3DCurveDeformer : public FBConstraint
{
public:
virtual bool FBCreate();
virtual void FBDestroy();
virtual void SetupAllAnimationNodes();
virtual bool ReferenceAddNotify( int pGroupIndex, FBModel* pModel );
virtual bool ReferenceRemoveNotify( int pGroupIndex, FBModel* pModel );
virtual bool AnimationNodeNotify (
FBAnimationNode* pAnimationNode,
FBEvaluateInfo* pEvaluateInfo,
FBConstraintInfo* pConstraintInfo
);
virtual void SnapSuggested ();
private:
int mReferenceGroup_3DCurve;
int mReferenceGroup_Point ;
int mReferenceGroup_Point_Tangent_In ;
int mReferenceGroup_Point_Tangent_Out ;
FBAnimationNode* mDummy_AnimationNode;
FBModelPath3D* m3DCurve;
bool m3DCurve_Valid;
};
#endif