diff options
| author | Ben Marsh <[email protected]> | 2019-10-22 09:07:59 -0400 |
|---|---|---|
| committer | Ben Marsh <[email protected]> | 2019-10-22 09:07:59 -0400 |
| commit | bd0027e737c6512397f841c22786274ed74b927f (patch) | |
| tree | f7ffbdb8f3741bb7f24635616cc189cba5cb865c /mayaPlug/shaveBrushCtxCmd.cpp | |
| download | shave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.tar.xz shave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.zip | |
Adding Shave-and-a-Haircut 9.6
Diffstat (limited to 'mayaPlug/shaveBrushCtxCmd.cpp')
| -rw-r--r-- | mayaPlug/shaveBrushCtxCmd.cpp | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/mayaPlug/shaveBrushCtxCmd.cpp b/mayaPlug/shaveBrushCtxCmd.cpp new file mode 100644 index 0000000..fc3a92c --- /dev/null +++ b/mayaPlug/shaveBrushCtxCmd.cpp @@ -0,0 +1,88 @@ +// Shave and a Haircut +// (c) 2019 Epic Games +// US Patent 6720962 + +#include <maya/MArgParser.h> +#include <maya/MGlobal.h> +#include <maya/MString.h> +#include <maya/MSyntax.h> + +#include "shaveBrushCtx.h" +#include "shaveBrushCtxCmd.h" +#include "shaveCursorCtxCmd.h" + +const MString shaveBrushCtxCmd::commandName = "shaveBrushCtx"; + +static const char* flMode = "-mode"; +static const char* fsMode = "-m"; + + +shaveBrushCtxCmd::shaveBrushCtxCmd() +{} + + +shaveBrushCtxCmd::~shaveBrushCtxCmd() +{} + + +MStatus shaveBrushCtxCmd::appendSyntax() +{ + MSyntax s = syntax(); + MStatus st = shaveCursorCtxCmd::appendSyntax(); + + if (st) + s.addFlag(fsMode, flMode, MSyntax::kUnsigned); + + return st; +} + + +MStatus shaveBrushCtxCmd::doEditFlags() +{ + MStatus st = shaveCursorCtxCmd::doEditFlags(); + + if (st && mCtx) + { + MArgParser args = parser(); + + if (args.isFlagSet(fsMode)) + { + unsigned mode; + args.getFlagArgument(fsMode, 0, mode); + + if (mode > kBrushClump) + { + MString msg = "Invalid brush mode. Cannot be greater than "; + msg += (int)kBrushClump; + MGlobal::displayError(msg); + return MS::kInvalidParameter; + } + + ((shaveBrushCtx*)mCtx)->setBrushMode((BRUSH_MODE)mode); + } + } + + return st; +} + + +MStatus shaveBrushCtxCmd::doQueryFlags() +{ + MStatus st = shaveCursorCtxCmd::doQueryFlags(); + + if (st && mCtx) + { + MArgParser args = parser(); + + if (args.isFlagSet(fsMode)) + setResult((int)((shaveBrushCtx*)mCtx)->getBrushMode()); + } + + return st; +} + + +shaveCursorCtx* shaveBrushCtxCmd::createContext() +{ + return new shaveBrushCtx; +} |