#include <string.h>
#include <maya/MIOStream.h>
#include <math.h>
#include <maya/MPxTransform.h>
#include <maya/MPxConstraint.h>
#include <maya/MPxConstraintCommand.h>
#include <maya/MArgDatabase.h>
#include <maya/MFnNumericAttribute.h>
#include <maya/MFnPlugin.h>
#include <maya/MGlobal.h>
#include <maya/MString.h>
#include <maya/MTypeId.h>
#include <maya/MPlug.h>
#include <maya/MVector.h>
#include <maya/MDataBlock.h>
#include <maya/MDataHandle.h>
#include <maya/MFnTypedAttribute.h>
#include <maya/MFnDagNode.h>
#include <maya/MFnCompoundAttribute.h>
#include <maya/MFnTransform.h>
#include <maya/MVector.h>
#include <maya/MTypes.h>
#include <maya/MFnNumericData.h>
#include <maya/MDGModifier.h>
#include <math.h>
#include <float.h>
#define kConstrainToLargestWeightFlag "-lw"
#define kConstrainToLargestWeightFlagLong "-largestWeight"
#define kConstrainToSmallestWeightFlag "-sw"
#define kConstrainToSmallestWeightFlagLong "-smallestWeight"
{
public:
enum ConstraintType
{
kLargestWeight,
kSmallestWeight,
};
geometrySurfaceConstraintCommand();
~geometrySurfaceConstraintCommand() override;
static void* creator();
protected:
geometrySurfaceConstraintCommand::ConstraintType weightType;
};
{
public:
geometrySurfaceConstraint();
~geometrySurfaceConstraint() override;
static void* creator();
public:
static MObject constraintParentInverseMatrix;
geometrySurfaceConstraintCommand::ConstraintType weightType;
};
inline bool
equivalent(double a, double b )
{
return fabs( a - b ) < .000001 ;
}