#ifndef _SHAVENODE_H_ #define _SHAVENODE_H_ // Shave and a Haircut // (c) 2019 Epic Games // US Patent 6720962 #include #include #include #include #include #include "shaveSDK.h" #include "shaveObjExporter.h" class shaveNode : public MPxNode { public: enum HairDisplayMode { kHairDisplayGuides = 0, kHairDisplayHair = 1, kHairDisplayGeom = 2 }; static void* creator(); static MStatus initialize(); static MTypeId id; static const MString nodeTypeName; static const int kNodeVersion; //******************************************************************* // // Attributes // //******************************************************************* private: static MObject blockDynamics; static MObject collisionObjectsAttr; static MObject collisionObjectsGroupIDAttr; static MObject displayHairMaxAttr; static MObject displayHairRatioAttr; static MObject displayNodeAttr; static MObject dspyMode; static MObject growthObjectsGroupIDAttr; static MObject hairColorTexture; static MObject hairColorTextureR; static MObject hairColorTextureG; static MObject hairColorTextureB; static MObject inputCurve; static MObject inputMesh; static MObject inputSurf; static MObject instanceMesh; static MObject instanceMeshChanged; static MObject instancingStatusChanged; static MObject isActive; static MObject mutantHairColorTexture; static MObject mutantHairColorTextureR; static MObject mutantHairColorTextureG; static MObject mutantHairColorTextureB; static MObject neverBeenInstanced; static MObject nodeVersionAttr; static MObject outputMesh; static MObject renderStateAttr; static MObject ribDumper; static MObject ribInsert; static MObject runDynamics; static MObject rootHairColorTexture; static MObject rootHairColorTextureR; static MObject rootHairColorTextureG; static MObject rootHairColorTextureB; static MObject shaveBlindHair; static MObject shaveBlindState; static MObject shaveInfo; static MObject shaveNodeCommand; static MObject shaveParamAmbDiff; // slider 6 static MObject shaveParamAnimSpeed; // slider 33 static MObject shaveParamCollide; static MObject shaveParamCollisionMethod; static MObject shaveParamDampening; // slider 40 static MObject shaveParamDensity; // slider 28 static MObject shaveParamDisplacement; // slider 43 static MObject shaveParamFrizzAnimDir; static MObject shaveParamFrizzAnimDirX; static MObject shaveParamFrizzAnimDirY; static MObject shaveParamFrizzAnimDirZ; static MObject shaveParamFrizzAnim; // slider 32 static MObject shaveParamFrizzFreqX; // slider 1 static MObject shaveParamFrizzFreqY; // slider 30 static MObject shaveParamFrizzFreqZ; // slider 31 static MObject shaveParamFrizzRoot; // slider 0 static MObject shaveParamFrizzTip; // slider 24 static MObject shaveParamGeomShadow; static MObject shaveParamGloss; // slider 5 static MObject shaveParamGravity; static MObject shaveParamHairColor; static MObject shaveParamHairRed; // slider 9 static MObject shaveParamHairGreen; // slider 10 static MObject shaveParamHairBlue; // slider 11 static MObject shaveParamHaircount; static MObject shaveParamHueVariation; // slider 12 static MObject shaveParamInstancingStatus; static MObject shaveParamKinkFreqX; // slider 3 static MObject shaveParamKinkFreqY; // slider 34 static MObject shaveParamKinkFreqZ; // slider 35 static MObject shaveParamKinkRoot; // slider 38 static MObject shaveParamKinkTip; // slider 2 static MObject shaveParamMultStrand; // slider 25 static MObject shaveParamMutantColor; static MObject shaveParamMutantRed; // slider 13 static MObject shaveParamMutantGreen; // slider 14 static MObject shaveParamMutantBlue; // slider 15 static MObject shaveParamMutantPercent; // slider 16 static MObject shaveParamNoInterp; static MObject shaveParamPainted; static MObject shaveParamPasses; static MObject shaveParamRandScale; // slider 36 static MObject shaveParamRandomizeMulti; // slider 42 static MObject shaveParamRootColor; static MObject shaveParamRootRed; // slider 17 static MObject shaveParamRootGreen; // slider 18 static MObject shaveParamRootBlue; // slider 19 static MObject shaveParamRootStiffness; // slider 21 static MObject shaveParamScale; // slider 41 static MObject shaveParamSegs; static MObject shaveParamSelfShadow; // slider 7 static MObject shaveParamSpecular; // slider 4 static MObject shaveParamSplayRoot; // slider 26 static MObject shaveParamSplayTip; // slider 27 static MObject shaveParamMultAsp; // slider 44 - vlad|05July2010 static MObject shaveParamOffset; // slider 45 - vlad|09July2010 static MObject shaveParamAspect; // slider 46 - vlad|09July2010 static MObject shaveParamStiffness; // slider 8 static MObject shaveParamThickRoot; // slider 20 static MObject shaveParamThickTip; // slider 37 static MObject shaveParamTotalGuides; static MObject shaveParamValueVariation; // slider 39 static MObject shaveTexMutantColor; static MObject shaveTextureAttr; static MObject surfTessU; static MObject surfTessV; static MObject textureCacheUpdatedAttr; static MObject timeAttr; static MObject triggerAttr; static MObject overrideGeomShaderAttr; static MObject uvSetAssignmentsAttr; static MObject uvSetNameAttr; static MObject uvSetTexturesAttr; //obsolete here static MObject flyawayPerc; static MObject flyawayStren; static MObject messStren; static MObject clumps; static MObject clumpsStren; static MObject clumpsColStren; static MObject clumpsRotStren; static MObject clumpsRotOffset; static MObject versionLockAttr; private: // // Deprecated Attributes // static MObject birthName; // Removed node version 5 or earlier. static MObject closeRibFilename; // Removed node version 5 or earlier. static MObject growthSet; // Removed node version 5 or earlier. static MObject instanceGeoAttr; // Removed node version 6, Shave 2.0v39 static MObject nodeNameAttr; // Removed node version 5 or earlier. static MObject openRibFilename; // Removed node version 5 or earlier. static MObject shaveBlindShaveParams;// Removed node version 7, Shave 2.4v29 static MObject shaveParamThickness; // Removed node version 5 or earlier. static MObject shaveUvSets; // Removed node version 5 or earlier. static MObject signatureAttr; static MObject skullSet; // Removed node version 5 or earlier. static MObject sourceType; // Removed node version 5 or earlier. }; #endif