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