#ifndef shaveVolumeShader_h #define shaveVolumeShader_h // Shave and a Haircut // (c) 2019 Epic Games // US Patent 6720962 #include class shaveVolumeShader : public MPxNode { //****************************************************** // // Creation & Initialization Methods // //****************************************************** public: shaveVolumeShader(); virtual ~shaveVolumeShader(); static void * creator(); static MStatus initialize(); //****************************************************** // // Overloaded MPxNode Methods // //****************************************************** public: virtual MStatus compute( const MPlug&, MDataBlock& ); virtual void postConstructor(); #if MAYA_API_VERSION >= 201600 virtual SchedulingType schedulingType() const { return kUntrusted; } #endif //****************************************************** // // Member Variables // //****************************************************** public: static MTypeId id; static const MString nodeTypeName; //****************************************************** // // Attributes // //****************************************************** public: static MObject aFarPointCamera; static MObject aFarPointWorld; static MObject aOutColor; static MObject aOutMatteOpacity; static MObject aOutTransparency; static MObject aPixelCenter; static MObject aPixelCenterX; static MObject aPixelCenterY; static MObject aPointCamera; static MObject aPointWorld; static MObject aRayDepth; static MObject aRayDirection; static MObject aRayOrigin; }; #endif