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_CURVEINTERSECT_H__ 11 #define __MayaDM_CURVEINTERSECT_H__ 12 #include "MayaDMTypes.h" 13 #include "MayaDMConnectables.h" 14 #include "MayaDMAbstractBaseCreate.h" 15 namespace MayaDM 16 { 17 class CurveIntersect : public AbstractBaseCreate 18 { 19 public: 20 public: 21 CurveIntersect()22 CurveIntersect():AbstractBaseCreate(){} 23 CurveIntersect(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true) 24 :AbstractBaseCreate(file, name, parent, "curveIntersect", shared, create){} ~CurveIntersect()25 virtual ~CurveIntersect(){} 26 setTolerance(double tol)27 void setTolerance(double tol) 28 { 29 if(tol == 0) return; 30 fprintf(mFile,"\tsetAttr \".tol\" %f;\n", tol); 31 } setUseDirection(bool ud)32 void setUseDirection(bool ud) 33 { 34 if(ud == false) return; 35 fprintf(mFile,"\tsetAttr \".ud\" %i;\n", ud); 36 } setDirection(const double3 & d)37 void setDirection(const double3& d) 38 { 39 fprintf(mFile,"\tsetAttr \".d\" -type \"double3\" "); 40 d.write(mFile); 41 fprintf(mFile,";\n"); 42 } setDirectionX(double dx)43 void setDirectionX(double dx) 44 { 45 if(dx == 0) return; 46 fprintf(mFile,"\tsetAttr \".d.dx\" %f;\n", dx); 47 } setDirectionY(double dy)48 void setDirectionY(double dy) 49 { 50 if(dy == 1) return; 51 fprintf(mFile,"\tsetAttr \".d.dy\" %f;\n", dy); 52 } setDirectionZ(double dz)53 void setDirectionZ(double dz) 54 { 55 if(dz == 0) return; 56 fprintf(mFile,"\tsetAttr \".d.dz\" %f;\n", dz); 57 } getInputCurve1()58 void getInputCurve1()const 59 { 60 fprintf(mFile,"\"%s.ic1\"",mName.c_str()); 61 } getInputCurve2()62 void getInputCurve2()const 63 { 64 fprintf(mFile,"\"%s.ic2\"",mName.c_str()); 65 } getTolerance()66 void getTolerance()const 67 { 68 fprintf(mFile,"\"%s.tol\"",mName.c_str()); 69 } getUseDirection()70 void getUseDirection()const 71 { 72 fprintf(mFile,"\"%s.ud\"",mName.c_str()); 73 } getDirection()74 void getDirection()const 75 { 76 fprintf(mFile,"\"%s.d\"",mName.c_str()); 77 } getDirectionX()78 void getDirectionX()const 79 { 80 fprintf(mFile,"\"%s.d.dx\"",mName.c_str()); 81 } getDirectionY()82 void getDirectionY()const 83 { 84 fprintf(mFile,"\"%s.d.dy\"",mName.c_str()); 85 } getDirectionZ()86 void getDirectionZ()const 87 { 88 fprintf(mFile,"\"%s.d.dz\"",mName.c_str()); 89 } getParameter1(size_t p1_i)90 void getParameter1(size_t p1_i)const 91 { 92 fprintf(mFile,"\"%s.p1[%i]\"",mName.c_str(),p1_i); 93 } getParameter1()94 void getParameter1()const 95 { 96 97 fprintf(mFile,"\"%s.p1\"",mName.c_str()); 98 } getParameter2(size_t p2_i)99 void getParameter2(size_t p2_i)const 100 { 101 fprintf(mFile,"\"%s.p2[%i]\"",mName.c_str(),p2_i); 102 } getParameter2()103 void getParameter2()const 104 { 105 106 fprintf(mFile,"\"%s.p2\"",mName.c_str()); 107 } 108 protected: 109 CurveIntersect(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true) AbstractBaseCreate(file,name,parent,nodeType,shared,create)110 :AbstractBaseCreate(file, name, parent, nodeType, shared, create) {} 111 112 }; 113 }//namespace MayaDM 114 #endif//__MayaDM_CURVEINTERSECT_H__ 115