#ifndef _HAIR_VRAY_COMMAND_H_ #define _HAIR_VRAY_COMMAND_H_ // Shave and a Haircut // (c) 2019 Epic Games // US Patent 6720962 /********************************************************************** *< FILE: shaveVrayCmd.h DESCRIPTION: Maya node HISTORY: created 01-04-2010 *> **********************************************************************/ // Check for 64-bit OS and define the Bits64_ macro required by Maya headers #ifdef X64 #ifndef Bits64_ #define Bits64_ #endif #endif #include #include #include #include #include class shaveVrayCmd : public MPxCommand { //friend void shaveVrayShaderChangeCbk(MNodeMessage::AttributeMessage msg, MPlug &plug, MPlug &otherPlug, void *clientData); public: // command // static MString cmd; // flags // //attaches shader to selected or all existing shave shapes static char* sf_create; static char* lf_create; //deletes shader attached to selected or all existing shave shapes static char* sf_delete; static char* lf_delete; //can be used with -create/delete flag static char* sf_all; static char* lf_all; #if 0 static char* sf_addCbk; static char* lf_addCbk; static char* sf_delCbk; static char* lf_delCbk; #endif shaveVrayCmd(){} virtual ~shaveVrayCmd(){} static void *creator() {return new shaveVrayCmd;} static MSyntax newSyntax(); virtual MStatus doIt(const MArgList&); protected: bool attachShaderTo (MObject shShape); bool detachShaderFrom(MObject shShape); bool setupLayers(MObject shaveShape, MObject vrayShape); bool resetLayers(MObject vrayShape); #if 0 bool registerLayersCallback(); bool deregisterLayersCallack(); #endif bool registerShaderChangeCallback(MObject shape); bool deregisterShaderChangeCallacks(); }; #endif