blob: 7350749fd0920d7b105b45c9b48dd5feb9a358ee (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
#ifndef _HAIR_VRAY_NODE_H_
#define _HAIR_VRAY_NODE_H_
// Shave and a Haircut
// (c) 2019 Epic Games
// US Patent 6720962
/**********************************************************************
*<
FILE: shaveVrayNode.h
DESCRIPTION: Maya node
HISTORY: created 29-03-2010
*>
**********************************************************************/
// Get MAYA_API_VERSION.
//
#include <maya/MTypes.h>
#define USE_VRAY
// Check for 64-bit OS and define the Bits64_ macro required by Maya headers
#ifdef X64
#ifndef Bits64_
#define Bits64_
#endif
#endif
// Maya headers
#include <maya/MGlobal.h>
#include <maya/MString.h>
#include <maya/MPxNode.h>
#include <maya/MFnNumericAttribute.h>
#include <maya/MFnTypedAttribute.h>
#include <maya/MFnUnitAttribute.h>
#include <maya/MFnStringData.h>
#include <maya/MFnMesh.h>
#include <maya/MFnMeshData.h>
#include <maya/MPointArray.h>
#include <maya/MPoint.h>
#include <maya/MTime.h>
#include <maya/MAnimControl.h>
#ifdef USE_VRAY
struct shaveVrayIntListParam;
struct shaveVrayIntParam;
class shaveVrayExporter;
class shaveVrayNode: public MPxNode {
public:
static MTypeId typeId;
static MString typeName;
static MString apiType;
static MString classification;
static MString attr_vrayGeomInfo;
static MString attr_vgi;
static MString attr_vrayGeomResult;
static MString attr_vgr;
static MString attr_outApiType;
static MString attr_oat;
static MString attr_outApiClassification;
static MString attr_oac;
static MString attr_output;
static MString attr_out;
static MString attr_stackIndex;
static MString attr_sti;
static MString attr_isInstanced;
static MString attr_isi;
static MString attr_instanceMesh;
static MString attr_ime;
static MString attr_tipfade;
static MString attr_tf;
static MString attr_specTint;
static MString attr_st;
static MString attr_specTint2;
static MString attr_st2;
static MString attr_squirrel;
static MString attr_sq;
static MString attr_ownshader;
static MString attr_osh;
static MString attr_selfshadow;
static MString attr_ss;
static MString attr_castshadow;
static MString attr_cs;
static MString attr_recvshadow;
static MString attr_rs;
static MString attr_primaryvis;
static MString attr_pv;
static MString attr_refrvis;
static MString attr_rr;
static MString attr_reflvis;
static MString attr_rl;
shaveVrayNode();
virtual ~shaveVrayNode();
virtual MStatus compute(const MPlug&, MDataBlock&);
#if MAYA_API_VERSION >= 201600
virtual SchedulingType schedulingType() const { return kUntrusted; }
#endif
bool readDraToParam(const char *draFilename);
//virtual MStatus setDependentsDirty ( const MPlug &plugBeingDirtied,
// MPlugArray &affectedPlugs );
static void* creator() {return new shaveVrayNode();}
static MStatus initialize();
private:
shaveVrayExporter *m_vrayExporter;
MString m_vrayVersion;
static MObject m_vrayGeomInfo; // This attribute is necessary for V-Ray to recognize the object as V-Ray geometry
static MObject m_vrayGeomResult; // This attribute is necessary for V-Ray to recognize the object as V-Ray geometry
static MObject m_outApiType;
static MObject m_outApiClassification;
static MObject m_iconSize;
static MObject m_outMesh;
static MObject m_stackIndex;
static MObject m_isInstanced;
static MObject m_instanceMesh;
static MObject m_tipfade;
static MObject m_squirrel;
static MObject m_spectint;
static MObject m_spectint2;
static MObject m_ownshader;
static MObject m_selfshadow;
static MObject m_castshadow;
static MObject m_recvshadow;
static MObject m_primaryvis;
static MObject m_reflvis;
static MObject m_refrvis;
};
#endif //USE_VRAY
#endif
|