2
Copyright (c) 2008-2009 NetAllied Systems GmbH
4
This file is part of MayaDataModel.
6
Licensed under the MIT Open Source License,
7
for details please see LICENSE file or the website
8
http://www.opensource.org/licenses/mit-license.php
10
#ifndef __MayaDM_TEXTURETOGEOM_H__
11
#define __MayaDM_TEXTURETOGEOM_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class TextureToGeom : public DependNode
21
void write(FILE* file) const
27
TextureToGeom():DependNode(){}
28
TextureToGeom(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
29
:DependNode(file, name, parent, "textureToGeom", shared, create){}
30
virtual ~TextureToGeom(){}
32
void setSegGroupIds(size_t sgi_i,int sgi)
35
fprintf(mFile,"\tsetAttr \".sgi[%i]\" %i;\n", sgi_i,sgi);
37
void setSegGroupIds(size_t sgi_start,size_t sgi_end,int* sgi)
39
fprintf(mFile,"\tsetAttr \".sgi[%i:%i]\" ", sgi_start,sgi_end);
40
size_t size = (sgi_end-sgi_start)*1+1;
41
for(size_t i=0;i<size;++i)
43
fprintf(mFile,"%i",sgi[i]);
44
if(i+1<size) fprintf(mFile," ");
48
void startSegGroupIds(size_t sgi_start,size_t sgi_end)const
50
fprintf(mFile,"\tsetAttr \".sgi[%i:%i]\"",sgi_start,sgi_end);
52
void appendSegGroupIds(int sgi)const
54
fprintf(mFile," %i",sgi);
56
void endSegGroupIds()const
60
void setInputMesh(const mesh& im)
62
fprintf(mFile,"\tsetAttr \".im\" -type \"mesh\" ");
66
void setInputMeshUVSet(const string& iuv)
68
if(iuv == "NULL") return;
69
fprintf(mFile,"\tsetAttr \".iuv\" -type \"string\" ");
73
void setQuantize(bool qut)
76
fprintf(mFile,"\tsetAttr \".qut\" %i;\n", qut);
78
void setQuantizeLevels(unsigned char qutl)
80
if(qutl == 10) return;
81
fprintf(mFile,"\tsetAttr \".qutl\" %i;\n", qutl);
83
void setMaxColorDiff(float mcd)
85
if(mcd == 0.125) return;
86
fprintf(mFile,"\tsetAttr \".mcd\" %f;\n", mcd);
88
void setMinSegmentSize(float msz)
90
if(msz == 0.005) return;
91
fprintf(mFile,"\tsetAttr \".msz\" %f;\n", msz);
93
void setSpatialRadius(int spr)
96
fprintf(mFile,"\tsetAttr \".spr\" %i;\n", spr);
98
void setColorRange(float crng)
100
if(crng == 4.5) return;
101
fprintf(mFile,"\tsetAttr \".crng\" %f;\n", crng);
103
void setImageFile(const string& if_)
105
if(if_ == "NULL") return;
106
fprintf(mFile,"\tsetAttr \".if\" -type \"string\" ");
108
fprintf(mFile,";\n");
110
void setMeshQuality(double mq)
112
if(mq == 0.1) return;
113
fprintf(mFile,"\tsetAttr \".mq\" %f;\n", mq);
115
void setSurfaceOffset(float so)
117
if(so == 0.01) return;
118
fprintf(mFile,"\tsetAttr \".so\" %f;\n", so);
120
void setSmoothBoundary(bool smbd)
122
if(smbd == 1) return;
123
fprintf(mFile,"\tsetAttr \".smbd\" %i;\n", smbd);
125
void setSmoothFactor(float smf)
127
if(smf == 0.5) return;
128
fprintf(mFile,"\tsetAttr \".smf\" %f;\n", smf);
130
void setFitTolerance(float ft)
132
if(ft == 0.007) return;
133
fprintf(mFile,"\tsetAttr \".ft\" %f;\n", ft);
135
void setHardCornerDetect(bool hcd)
138
fprintf(mFile,"\tsetAttr \".hcd\" %i;\n", hcd);
140
void setHardCornerMaxLength(float hcml)
142
if(hcml == 10.0) return;
143
fprintf(mFile,"\tsetAttr \".hcml\" %f;\n", hcml);
145
void setSimplifyBoundary(bool smpl)
147
if(smpl == 1) return;
148
fprintf(mFile,"\tsetAttr \".smpl\" %i;\n", smpl);
150
void setSimplifyThreshold(double smpt)
152
if(smpt == 0) return;
153
fprintf(mFile,"\tsetAttr \".smpt\" %f;\n", smpt);
155
void setPointsOnBoundary(bool pob)
158
fprintf(mFile,"\tsetAttr \".pob\" %i;\n", pob);
160
void setMaxPointsAdded(int mpa)
163
fprintf(mFile,"\tsetAttr \".mpa\" %i;\n", mpa);
165
void setShaderScript(const string& shs)
167
if(shs == "NULL") return;
168
fprintf(mFile,"\tsetAttr \".shs\" -type \"string\" ");
170
fprintf(mFile,";\n");
172
void getSegmentCount()const
174
fprintf(mFile,"\"%s.sc\"",mName.c_str());
176
void getOutput()const
178
fprintf(mFile,"\"%s.out\"",mName.c_str());
180
void getOutColorData(size_t ocd_i)const
182
fprintf(mFile,"\"%s.ocd[%i]\"",mName.c_str(),ocd_i);
184
void getOutColorData()const
187
fprintf(mFile,"\"%s.ocd\"",mName.c_str());
189
void getOutColor(size_t ocd_i)const
191
fprintf(mFile,"\"%s.ocd[%i].oc\"",mName.c_str(),ocd_i);
193
void getOutColor()const
196
fprintf(mFile,"\"%s.ocd.oc\"",mName.c_str());
198
void getOutColorR(size_t ocd_i)const
200
fprintf(mFile,"\"%s.ocd[%i].oc.ocr\"",mName.c_str(),ocd_i);
202
void getOutColorR()const
205
fprintf(mFile,"\"%s.ocd.oc.ocr\"",mName.c_str());
207
void getOutColorG(size_t ocd_i)const
209
fprintf(mFile,"\"%s.ocd[%i].oc.ocg\"",mName.c_str(),ocd_i);
211
void getOutColorG()const
214
fprintf(mFile,"\"%s.ocd.oc.ocg\"",mName.c_str());
216
void getOutColorB(size_t ocd_i)const
218
fprintf(mFile,"\"%s.ocd[%i].oc.ocb\"",mName.c_str(),ocd_i);
220
void getOutColorB()const
223
fprintf(mFile,"\"%s.ocd.oc.ocb\"",mName.c_str());
225
void getOutAlpha(size_t ocd_i)const
227
fprintf(mFile,"\"%s.ocd[%i].oa\"",mName.c_str(),ocd_i);
229
void getOutAlpha()const
232
fprintf(mFile,"\"%s.ocd.oa\"",mName.c_str());
234
void getOutSegFace(size_t ofm_i)const
236
fprintf(mFile,"\"%s.ofm[%i]\"",mName.c_str(),ofm_i);
238
void getOutSegFace()const
241
fprintf(mFile,"\"%s.ofm\"",mName.c_str());
243
void getSegGroupIds(size_t sgi_i)const
245
fprintf(mFile,"\"%s.sgi[%i]\"",mName.c_str(),sgi_i);
247
void getSegGroupIds()const
250
fprintf(mFile,"\"%s.sgi\"",mName.c_str());
252
void getInputMesh()const
254
fprintf(mFile,"\"%s.im\"",mName.c_str());
256
void getInputMeshUVSet()const
258
fprintf(mFile,"\"%s.iuv\"",mName.c_str());
260
void getQuantize()const
262
fprintf(mFile,"\"%s.qut\"",mName.c_str());
264
void getQuantizeLevels()const
266
fprintf(mFile,"\"%s.qutl\"",mName.c_str());
268
void getMaxColorDiff()const
270
fprintf(mFile,"\"%s.mcd\"",mName.c_str());
272
void getMinSegmentSize()const
274
fprintf(mFile,"\"%s.msz\"",mName.c_str());
276
void getSpatialRadius()const
278
fprintf(mFile,"\"%s.spr\"",mName.c_str());
280
void getColorRange()const
282
fprintf(mFile,"\"%s.crng\"",mName.c_str());
284
void getImageFile()const
286
fprintf(mFile,"\"%s.if\"",mName.c_str());
288
void getMeshQuality()const
290
fprintf(mFile,"\"%s.mq\"",mName.c_str());
292
void getSurfaceOffset()const
294
fprintf(mFile,"\"%s.so\"",mName.c_str());
296
void getSmoothBoundary()const
298
fprintf(mFile,"\"%s.smbd\"",mName.c_str());
300
void getSmoothFactor()const
302
fprintf(mFile,"\"%s.smf\"",mName.c_str());
304
void getFitTolerance()const
306
fprintf(mFile,"\"%s.ft\"",mName.c_str());
308
void getHardCornerDetect()const
310
fprintf(mFile,"\"%s.hcd\"",mName.c_str());
312
void getHardCornerMaxLength()const
314
fprintf(mFile,"\"%s.hcml\"",mName.c_str());
316
void getSimplifyBoundary()const
318
fprintf(mFile,"\"%s.smpl\"",mName.c_str());
320
void getSimplifyThreshold()const
322
fprintf(mFile,"\"%s.smpt\"",mName.c_str());
324
void getPointsOnBoundary()const
326
fprintf(mFile,"\"%s.pob\"",mName.c_str());
328
void getMaxPointsAdded()const
330
fprintf(mFile,"\"%s.mpa\"",mName.c_str());
332
void getShaderScript()const
334
fprintf(mFile,"\"%s.shs\"",mName.c_str());
337
TextureToGeom(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
338
:DependNode(file, name, parent, nodeType, shared, create) {}
342
#endif//__MayaDM_TEXTURETOGEOM_H__