#ifndef shaveUtilCmd_h #define shaveUtilCmd_h // Shave and a Haircut // (c) 2019 Epic Games // US Patent 6720962 #include #include #include #include class shaveUtilCmd : public MPxCommand { public: shaveUtilCmd(); virtual ~shaveUtilCmd(); MStatus doIt( const MArgList& args ); bool isUndoable() const; static void* createCmd(); static MSyntax createSyntax(); static const MString commandName; private: MStatus scaleAll(float s); MStatus scaleCurrent(float s); MStatus copyAttr( MString origPlugName, MString dupPlugName, bool dupInConns, bool moveOutConns ) const; MStatus copyInboundConnection( MPlug& origPlug, MPlug& dupPlug ) const; MStatus copyPlug( MPlug origPlug, MPlug dupPlug, bool dupInConns, bool moveOutConns, bool checkOnly ) const; static void finishPluginInitialization(); static MString getAttrType(MString plugName); MStatus moveOutboundConnections( MPlug& origPlug, MPlug& dupPlug ) const; #ifdef PROFILE static bool gProfiling; #endif bool mForce; bool mSilent; }; inline bool shaveUtilCmd::isUndoable() const { return false; } #endif