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_LIGHTLINKER_H__
11
#define __MayaDM_LIGHTLINKER_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class LightLinker : public DependNode
21
void write(FILE* file) const
26
void write(FILE* file) const
31
void write(FILE* file) const
36
void write(FILE* file) const
42
LightLinker():DependNode(){}
43
LightLinker(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
44
:DependNode(file, name, parent, "lightLinker", shared, create){}
45
virtual ~LightLinker(){}
47
void setLink(size_t lnk_i,const Link& lnk)
49
fprintf(mFile,"\tsetAttr \".lnk[%i]\" ",lnk_i);
53
void setLink(size_t lnk_start,size_t lnk_end,Link* lnk)
55
fprintf(mFile,"\tsetAttr \".lnk[%i:%i]\" ", lnk_start,lnk_end);
56
size_t size = (lnk_end-lnk_start)*1+1;
57
for(size_t i=0;i<size;++i)
64
void startLink(size_t lnk_start,size_t lnk_end)const
66
fprintf(mFile,"\tsetAttr \".lnk[%i:%i]\"",lnk_start,lnk_end);
67
fprintf(mFile," -type \"Link\" ");
69
void appendLink(const Link& lnk)const
78
void setIgnore(size_t ign_i,const Ignore& ign)
80
fprintf(mFile,"\tsetAttr \".ign[%i]\" ",ign_i);
84
void setIgnore(size_t ign_start,size_t ign_end,Ignore* ign)
86
fprintf(mFile,"\tsetAttr \".ign[%i:%i]\" ", ign_start,ign_end);
87
size_t size = (ign_end-ign_start)*1+1;
88
for(size_t i=0;i<size;++i)
95
void startIgnore(size_t ign_start,size_t ign_end)const
97
fprintf(mFile,"\tsetAttr \".ign[%i:%i]\"",ign_start,ign_end);
98
fprintf(mFile," -type \"Ignore\" ");
100
void appendIgnore(const Ignore& ign)const
105
void endIgnore()const
107
fprintf(mFile,";\n");
109
void setShadowLink(size_t slnk_i,const ShadowLink& slnk)
111
fprintf(mFile,"\tsetAttr \".slnk[%i]\" ",slnk_i);
113
fprintf(mFile,";\n");
115
void setShadowLink(size_t slnk_start,size_t slnk_end,ShadowLink* slnk)
117
fprintf(mFile,"\tsetAttr \".slnk[%i:%i]\" ", slnk_start,slnk_end);
118
size_t size = (slnk_end-slnk_start)*1+1;
119
for(size_t i=0;i<size;++i)
121
slnk[i].write(mFile);
124
fprintf(mFile,";\n");
126
void startShadowLink(size_t slnk_start,size_t slnk_end)const
128
fprintf(mFile,"\tsetAttr \".slnk[%i:%i]\"",slnk_start,slnk_end);
129
fprintf(mFile," -type \"ShadowLink\" ");
131
void appendShadowLink(const ShadowLink& slnk)const
136
void endShadowLink()const
138
fprintf(mFile,";\n");
140
void setShadowIgnore(size_t sign_i,const ShadowIgnore& sign)
142
fprintf(mFile,"\tsetAttr \".sign[%i]\" ",sign_i);
144
fprintf(mFile,";\n");
146
void setShadowIgnore(size_t sign_start,size_t sign_end,ShadowIgnore* sign)
148
fprintf(mFile,"\tsetAttr \".sign[%i:%i]\" ", sign_start,sign_end);
149
size_t size = (sign_end-sign_start)*1+1;
150
for(size_t i=0;i<size;++i)
152
sign[i].write(mFile);
155
fprintf(mFile,";\n");
157
void startShadowIgnore(size_t sign_start,size_t sign_end)const
159
fprintf(mFile,"\tsetAttr \".sign[%i:%i]\"",sign_start,sign_end);
160
fprintf(mFile," -type \"ShadowIgnore\" ");
162
void appendShadowIgnore(const ShadowIgnore& sign)const
167
void endShadowIgnore()const
169
fprintf(mFile,";\n");
171
void getLink(size_t lnk_i)const
173
fprintf(mFile,"\"%s.lnk[%i]\"",mName.c_str(),lnk_i);
178
fprintf(mFile,"\"%s.lnk\"",mName.c_str());
180
void getLight(size_t lnk_i)const
182
fprintf(mFile,"\"%s.lnk[%i].llnk\"",mName.c_str(),lnk_i);
187
fprintf(mFile,"\"%s.lnk.llnk\"",mName.c_str());
189
void getObject(size_t lnk_i)const
191
fprintf(mFile,"\"%s.lnk[%i].olnk\"",mName.c_str(),lnk_i);
193
void getObject()const
196
fprintf(mFile,"\"%s.lnk.olnk\"",mName.c_str());
198
void getIgnore(size_t ign_i)const
200
fprintf(mFile,"\"%s.ign[%i]\"",mName.c_str(),ign_i);
202
void getIgnore()const
205
fprintf(mFile,"\"%s.ign\"",mName.c_str());
207
void getLightIgnored(size_t ign_i)const
209
fprintf(mFile,"\"%s.ign[%i].lign\"",mName.c_str(),ign_i);
211
void getLightIgnored()const
214
fprintf(mFile,"\"%s.ign.lign\"",mName.c_str());
216
void getObjectIgnored(size_t ign_i)const
218
fprintf(mFile,"\"%s.ign[%i].oign\"",mName.c_str(),ign_i);
220
void getObjectIgnored()const
223
fprintf(mFile,"\"%s.ign.oign\"",mName.c_str());
225
void getShadowLink(size_t slnk_i)const
227
fprintf(mFile,"\"%s.slnk[%i]\"",mName.c_str(),slnk_i);
229
void getShadowLink()const
232
fprintf(mFile,"\"%s.slnk\"",mName.c_str());
234
void getShadowLight(size_t slnk_i)const
236
fprintf(mFile,"\"%s.slnk[%i].sllk\"",mName.c_str(),slnk_i);
238
void getShadowLight()const
241
fprintf(mFile,"\"%s.slnk.sllk\"",mName.c_str());
243
void getShadowObject(size_t slnk_i)const
245
fprintf(mFile,"\"%s.slnk[%i].solk\"",mName.c_str(),slnk_i);
247
void getShadowObject()const
250
fprintf(mFile,"\"%s.slnk.solk\"",mName.c_str());
252
void getShadowIgnore(size_t sign_i)const
254
fprintf(mFile,"\"%s.sign[%i]\"",mName.c_str(),sign_i);
256
void getShadowIgnore()const
259
fprintf(mFile,"\"%s.sign\"",mName.c_str());
261
void getShadowLightIgnored(size_t sign_i)const
263
fprintf(mFile,"\"%s.sign[%i].slig\"",mName.c_str(),sign_i);
265
void getShadowLightIgnored()const
268
fprintf(mFile,"\"%s.sign.slig\"",mName.c_str());
270
void getShadowObjectIgnored(size_t sign_i)const
272
fprintf(mFile,"\"%s.sign[%i].soig\"",mName.c_str(),sign_i);
274
void getShadowObjectIgnored()const
277
fprintf(mFile,"\"%s.sign.soig\"",mName.c_str());
280
LightLinker(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
281
:DependNode(file, name, parent, nodeType, shared, create) {}
285
#endif//__MayaDM_LIGHTLINKER_H__