diff options
Diffstat (limited to 'mayaPlug/shaveNode.h')
| -rw-r--r-- | mayaPlug/shaveNode.h | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/mayaPlug/shaveNode.h b/mayaPlug/shaveNode.h new file mode 100644 index 0000000..7ebf0b5 --- /dev/null +++ b/mayaPlug/shaveNode.h @@ -0,0 +1,202 @@ +#ifndef _SHAVENODE_H_ +#define _SHAVENODE_H_ + +// Shave and a Haircut +// (c) 2019 Epic Games +// US Patent 6720962 + +#include <maya/MDGModifier.h> +#include <maya/MFnMesh.h> +#include <maya/MPxNode.h> +#include <maya/MPlug.h> +#include <maya/MSelectionList.h> + +#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 + |