1 /*
2     Copyright (c) 2008-2009 NetAllied Systems GmbH
3 
4     This file is part of MayaDataModel.
5 
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
9 */
10 #ifndef __MayaDM_OBJECTSCRIPTFILTER_H__
11 #define __MayaDM_OBJECTSCRIPTFILTER_H__
12 #include "MayaDMTypes.h"
13 #include "MayaDMConnectables.h"
14 #include "MayaDMObjectFilter.h"
15 namespace MayaDM
16 {
17 class ObjectScriptFilter : public ObjectFilter
18 {
19 public:
20 public:
21 
ObjectScriptFilter()22 	ObjectScriptFilter():ObjectFilter(){}
23 	ObjectScriptFilter(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
24 		:ObjectFilter(file, name, parent, "objectScriptFilter", shared, create){}
~ObjectScriptFilter()25 	virtual ~ObjectScriptFilter(){}
26 
setArrayArg(bool aarg)27 	void setArrayArg(bool aarg)
28 	{
29 		if(aarg == 1) return;
30 		fprintf(mFile,"\tsetAttr \".aarg\" %i;\n", aarg);
31 	}
setProcName(const string & pnam)32 	void setProcName(const string& pnam)
33 	{
34 		if(pnam == "NULL") return;
35 		fprintf(mFile,"\tsetAttr \".pnam\" -type \"string\" ");
36 		pnam.write(mFile);
37 		fprintf(mFile,";\n");
38 	}
setAttrName(bool attr)39 	void setAttrName(bool attr)
40 	{
41 		if(attr == false) return;
42 		fprintf(mFile,"\tsetAttr \".attr\" %i;\n", attr);
43 	}
setUniqueNodeNames(bool unn)44 	void setUniqueNodeNames(bool unn)
45 	{
46 		if(unn == 0) return;
47 		fprintf(mFile,"\tsetAttr \".unn\" %i;\n", unn);
48 	}
getArrayArg()49 	void getArrayArg()const
50 	{
51 		fprintf(mFile,"\"%s.aarg\"",mName.c_str());
52 	}
getProcName()53 	void getProcName()const
54 	{
55 		fprintf(mFile,"\"%s.pnam\"",mName.c_str());
56 	}
getAttrName()57 	void getAttrName()const
58 	{
59 		fprintf(mFile,"\"%s.attr\"",mName.c_str());
60 	}
getUniqueNodeNames()61 	void getUniqueNodeNames()const
62 	{
63 		fprintf(mFile,"\"%s.unn\"",mName.c_str());
64 	}
65 protected:
66 	ObjectScriptFilter(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
ObjectFilter(file,name,parent,nodeType,shared,create)67 		:ObjectFilter(file, name, parent, nodeType, shared, create) {}
68 
69 };
70 }//namespace MayaDM
71 #endif//__MayaDM_OBJECTSCRIPTFILTER_H__
72