// Shave and a Haircut // (c) 2019 Epic Games // US Patent 6720962 #include using namespace std; #include #include #include "shaveBrushCtx.h" #include "shaveSDK.h" const MString shaveBrushCtx::mCtxTypeName = "shaveBrush"; shaveBrushCtx::shaveBrushCtx() : mBrushMode(kBrushTranslate) { setTitleString("Shave Brush Tool"); setImage("shaveBrush.xpm", MPxContext::kImage1); } shaveBrushCtx::~shaveBrushCtx() { } MStatus shaveBrushCtx::strokeBegin( VERT& eyePoint, VERT& viewDir, VERT& upDir, VERT& screenPos, VERT& worldPos ) { SHAVEsculpt_setup( mBrushMode, eyePoint, viewDir, upDir, screenPos, worldPos ); return MS::kSuccess; } MStatus shaveBrushCtx::strokeDrag( VERT& screenPos, VERT& worldPos, VERT& screenDelta, VERT& worldDelta ) { SHAVEsculpt_iterate(screenPos, worldPos, screenDelta, worldDelta); return MS::kSuccess; } MStatus shaveBrushCtx::strokeEnd() { SHAVEsculpt_finish(); return MS::kSuccess; }