aboutsummaryrefslogtreecommitdiff
path: root/mayaPlug/shaveBrushCtx.h
diff options
context:
space:
mode:
Diffstat (limited to 'mayaPlug/shaveBrushCtx.h')
-rw-r--r--mayaPlug/shaveBrushCtx.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/mayaPlug/shaveBrushCtx.h b/mayaPlug/shaveBrushCtx.h
new file mode 100644
index 0000000..77f99ce
--- /dev/null
+++ b/mayaPlug/shaveBrushCtx.h
@@ -0,0 +1,46 @@
+#ifndef shaveBrushCtx_h
+#define shaveBrushCtx_h
+// Shave and a Haircut
+// (c) 2019 Epic Games
+// US Patent 6720962
+
+#include <maya/MString.h>
+
+#include "shaveCursorCtx.h"
+#include "shaveSDKTYPES.h"
+
+
+class shaveBrushCtx : public shaveCursorCtx
+{
+public:
+ shaveBrushCtx();
+ virtual ~shaveBrushCtx();
+
+ virtual void getClassName(MString& name) const { name = mCtxTypeName; }
+ BRUSH_MODE getBrushMode() const { return mBrushMode; }
+ void setBrushMode(BRUSH_MODE mode) { mBrushMode = mode; }
+
+ virtual MStatus strokeBegin(
+ VERT& eyePoint,
+ VERT& viewDir,
+ VERT& upDir,
+ VERT& screenPos,
+ VERT& worldPos
+ );
+
+ virtual MStatus strokeDrag(
+ VERT& screenPos,
+ VERT& worldPos,
+ VERT& screenDelta,
+ VERT& worldDelta
+ );
+
+ virtual MStatus strokeEnd();
+
+ static const MString mCtxTypeName;
+
+protected:
+ BRUSH_MODE mBrushMode;
+};
+
+#endif