aboutsummaryrefslogtreecommitdiff
path: root/mayaPlug/shaveNode.h
diff options
context:
space:
mode:
Diffstat (limited to 'mayaPlug/shaveNode.h')
-rw-r--r--mayaPlug/shaveNode.h202
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
+