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_CHOOSER_H__
11
#define __MayaDM_CHOOSER_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class Chooser : public DependNode
22
Chooser():DependNode(){}
23
Chooser(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
24
:DependNode(file, name, parent, "chooser", shared, create){}
27
void setInLevel(size_t il_i,bool il)
29
if(il == false) return;
30
fprintf(mFile,"\tsetAttr \".il[%i]\" %i;\n", il_i,il);
32
void setInLevel(size_t il_start,size_t il_end,bool* il)
34
fprintf(mFile,"\tsetAttr \".il[%i:%i]\" ", il_start,il_end);
35
size_t size = (il_end-il_start)*1+1;
36
for(size_t i=0;i<size;++i)
38
fprintf(mFile,"%i",il[i]);
39
if(i+1<size) fprintf(mFile," ");
43
void startInLevel(size_t il_start,size_t il_end)const
45
fprintf(mFile,"\tsetAttr \".il[%i:%i]\"",il_start,il_end);
47
void appendInLevel(bool il)const
49
fprintf(mFile," %i",il);
51
void endInLevel()const
55
void setDisplayLevel(size_t dl_i,unsigned int dl)
58
fprintf(mFile,"\tsetAttr \".dl[%i]\" %i;\n", dl_i,dl);
60
void setDisplayLevel(size_t dl_start,size_t dl_end,unsigned int* dl)
62
fprintf(mFile,"\tsetAttr \".dl[%i:%i]\" ", dl_start,dl_end);
63
size_t size = (dl_end-dl_start)*1+1;
64
for(size_t i=0;i<size;++i)
66
fprintf(mFile,"%i",dl[i]);
67
if(i+1<size) fprintf(mFile," ");
71
void startDisplayLevel(size_t dl_start,size_t dl_end)const
73
fprintf(mFile,"\tsetAttr \".dl[%i:%i]\"",dl_start,dl_end);
75
void appendDisplayLevel(unsigned int dl)const
77
fprintf(mFile," %i",dl);
79
void endDisplayLevel()const
83
void getInLevel(size_t il_i)const
85
fprintf(mFile,"\"%s.il[%i]\"",mName.c_str(),il_i);
87
void getInLevel()const
90
fprintf(mFile,"\"%s.il\"",mName.c_str());
92
void getDisplayLevel(size_t dl_i)const
94
fprintf(mFile,"\"%s.dl[%i]\"",mName.c_str(),dl_i);
96
void getDisplayLevel()const
99
fprintf(mFile,"\"%s.dl\"",mName.c_str());
101
void getOutput(size_t o_i)const
103
fprintf(mFile,"\"%s.o[%i]\"",mName.c_str(),o_i);
105
void getOutput()const
108
fprintf(mFile,"\"%s.o\"",mName.c_str());
111
Chooser(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
112
:DependNode(file, name, parent, nodeType, shared, create) {}
116
#endif//__MayaDM_CHOOSER_H__