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_TRANSFERATTRIBUTES_H__
11
#define __MayaDM_TRANSFERATTRIBUTES_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMWeightGeometryFilter.h"
17
class TransferAttributes : public WeightGeometryFilter
22
TransferAttributes():WeightGeometryFilter(){}
23
TransferAttributes(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
24
:WeightGeometryFilter(file, name, parent, "transferAttributes", shared, create){}
25
virtual ~TransferAttributes(){}
27
void setTransferPositions(unsigned int pos)
30
fprintf(mFile,"\tsetAttr \".pos\" %i;\n", pos);
32
void setTransferNormals(unsigned int nml)
35
fprintf(mFile,"\tsetAttr \".nml\" %i;\n", nml);
37
void setTransferUVs(unsigned int uvs)
40
fprintf(mFile,"\tsetAttr \".uvs\" %i;\n", uvs);
42
void setSourceUVSet(const string& suv)
44
if(suv == "NULL") return;
45
fprintf(mFile,"\tsetAttr \".suv\" -type \"string\" ");
49
void setTargetUVSet(const string& tuv)
51
if(tuv == "NULL") return;
52
fprintf(mFile,"\tsetAttr \".tuv\" -type \"string\" ");
56
void setTransferColors(unsigned int col)
59
fprintf(mFile,"\tsetAttr \".col\" %i;\n", col);
61
void setSourceColorSet(const string& scs)
63
if(scs == "NULL") return;
64
fprintf(mFile,"\tsetAttr \".scs\" -type \"string\" ");
68
void setTargetColorSet(const string& tcs)
70
if(tcs == "NULL") return;
71
fprintf(mFile,"\tsetAttr \".tcs\" -type \"string\" ");
75
void setSampleSpace(unsigned int spa)
78
fprintf(mFile,"\tsetAttr \".spa\" %i;\n", spa);
80
void setSourceUVSpace(const string& sus)
82
if(sus == "NULL") return;
83
fprintf(mFile,"\tsetAttr \".sus\" -type \"string\" ");
87
void setTargetUVSpace(const string& tus)
89
if(tus == "NULL") return;
90
fprintf(mFile,"\tsetAttr \".tus\" -type \"string\" ");
94
void setSearchMethod(unsigned int mtd)
97
fprintf(mFile,"\tsetAttr \".mtd\" %i;\n", mtd);
99
void setSearchDistance(double dis)
101
if(dis == 0.0) return;
102
fprintf(mFile,"\tsetAttr \".dis\" %f;\n", dis);
104
void setSearchTolerance(double tol)
106
if(tol == 1.3) return;
107
fprintf(mFile,"\tsetAttr \".tol\" %f;\n", tol);
109
void setSearchScale(const double3& ss)
111
if(ss == double3(1.0, 1.0, 1.0)) return;
112
fprintf(mFile,"\tsetAttr \".ss\" -type \"double3\" ");
114
fprintf(mFile,";\n");
116
void setSearchScaleX(double ssx)
119
fprintf(mFile,"\tsetAttr \".ss.ssx\" %f;\n", ssx);
121
void setSearchScaleY(double ssy)
124
fprintf(mFile,"\tsetAttr \".ss.ssy\" %f;\n", ssy);
126
void setSearchScaleZ(double ssz)
129
fprintf(mFile,"\tsetAttr \".ss.ssz\" %f;\n", ssz);
131
void setFlipUVs(unsigned int fuv)
134
fprintf(mFile,"\tsetAttr \".fuv\" %i;\n", fuv);
136
void setColorBorders(unsigned int clb)
139
fprintf(mFile,"\tsetAttr \".clb\" %i;\n", clb);
141
void getSource(size_t src_i)const
143
fprintf(mFile,"\"%s.src[%i]\"",mName.c_str(),src_i);
145
void getSource()const
148
fprintf(mFile,"\"%s.src\"",mName.c_str());
150
void getTransferPositions()const
152
fprintf(mFile,"\"%s.pos\"",mName.c_str());
154
void getTransferNormals()const
156
fprintf(mFile,"\"%s.nml\"",mName.c_str());
158
void getTransferUVs()const
160
fprintf(mFile,"\"%s.uvs\"",mName.c_str());
162
void getSourceUVSet()const
164
fprintf(mFile,"\"%s.suv\"",mName.c_str());
166
void getTargetUVSet()const
168
fprintf(mFile,"\"%s.tuv\"",mName.c_str());
170
void getTransferColors()const
172
fprintf(mFile,"\"%s.col\"",mName.c_str());
174
void getSourceColorSet()const
176
fprintf(mFile,"\"%s.scs\"",mName.c_str());
178
void getTargetColorSet()const
180
fprintf(mFile,"\"%s.tcs\"",mName.c_str());
182
void getSampleSpace()const
184
fprintf(mFile,"\"%s.spa\"",mName.c_str());
186
void getSourceUVSpace()const
188
fprintf(mFile,"\"%s.sus\"",mName.c_str());
190
void getTargetUVSpace()const
192
fprintf(mFile,"\"%s.tus\"",mName.c_str());
194
void getSearchMethod()const
196
fprintf(mFile,"\"%s.mtd\"",mName.c_str());
198
void getSearchDistance()const
200
fprintf(mFile,"\"%s.dis\"",mName.c_str());
202
void getSearchTolerance()const
204
fprintf(mFile,"\"%s.tol\"",mName.c_str());
206
void getSearchScale()const
208
fprintf(mFile,"\"%s.ss\"",mName.c_str());
210
void getSearchScaleX()const
212
fprintf(mFile,"\"%s.ss.ssx\"",mName.c_str());
214
void getSearchScaleY()const
216
fprintf(mFile,"\"%s.ss.ssy\"",mName.c_str());
218
void getSearchScaleZ()const
220
fprintf(mFile,"\"%s.ss.ssz\"",mName.c_str());
222
void getFlipUVs()const
224
fprintf(mFile,"\"%s.fuv\"",mName.c_str());
226
void getColorBorders()const
228
fprintf(mFile,"\"%s.clb\"",mName.c_str());
231
TransferAttributes(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
232
:WeightGeometryFilter(file, name, parent, nodeType, shared, create) {}
236
#endif//__MayaDM_TRANSFERATTRIBUTES_H__