aboutsummaryrefslogtreecommitdiff
path: root/mayaPlug/shaveBrushCtxCmd.cpp
diff options
context:
space:
mode:
authorBen Marsh <[email protected]>2019-10-22 09:07:59 -0400
committerBen Marsh <[email protected]>2019-10-22 09:07:59 -0400
commitbd0027e737c6512397f841c22786274ed74b927f (patch)
treef7ffbdb8f3741bb7f24635616cc189cba5cb865c /mayaPlug/shaveBrushCtxCmd.cpp
downloadshave-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.cpp88
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;
+}