#include <maya/MTypeId.h>
#include <maya/MTypes.h>
#include <maya/MPxManipulatorNode.h>
#include <maya/MFnPlugin.h>
#include <maya/MObjectHandle.h>
#include <maya/MPxCommand.h>
#include <maya/MSyntax.h>
#include <maya/MDagModifier.h>
#include <maya/MPxDrawOverride.h>
#include <maya/M3dView.h>
#include <maya/MPoint.h>
#include <maya/MGLFunctionTable.h>
#include "manipulatorMath.h"
{
public:
squareScaleManipulator();
~squareScaleManipulator() override;
static void* creator();
static const MPoint bottomLeft;
static const MPoint bottomRight;
private:
bool shouldDraw(
const MDagPath& camera)
const;
MGLuint fActiveName, fTopName, fRightName, fBottomName, fLeftName;
float fTopLeft[4], fTopRight[4], fBottomRight[4], fBottomLeft[4];
planeMath fPlane;
bool fDrawManip;
};