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