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_POLYEXTRUDEFACE_H__
11
#define __MayaDM_POLYEXTRUDEFACE_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMPolyMoveFace.h"
17
class PolyExtrudeFace : public PolyMoveFace
21
float taperCurve_Position;
22
float taperCurve_FloatValue;
23
unsigned int taperCurve_Interp;
24
void write(FILE* file) const
26
fprintf(file,"%f ", taperCurve_Position);
27
fprintf(file,"%f ", taperCurve_FloatValue);
28
fprintf(file,"%i", taperCurve_Interp);
33
PolyExtrudeFace():PolyMoveFace(){}
34
PolyExtrudeFace(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
35
:PolyMoveFace(file, name, parent, "polyExtrudeFace", shared, create){}
36
virtual ~PolyExtrudeFace(){}
38
void setKeepFacesTogether(bool kft)
40
if(kft == true) return;
41
fprintf(mFile,"\tsetAttr \".kft\" %i;\n", kft);
43
void setDivisions(int d)
46
fprintf(mFile,"\tsetAttr \".d\" %i;\n", d);
48
void setTwist(double twt)
51
fprintf(mFile,"\tsetAttr \".twt\" %f;\n", twt);
53
void setTaper(double tp)
56
fprintf(mFile,"\tsetAttr \".tp\" %f;\n", tp);
58
void setTaperCurve(size_t c_i,const TaperCurve& c)
60
fprintf(mFile,"\tsetAttr \".c[%i]\" ",c_i);
64
void setTaperCurve(size_t c_start,size_t c_end,TaperCurve* c)
66
fprintf(mFile,"\tsetAttr \".c[%i:%i]\" ", c_start,c_end);
67
size_t size = (c_end-c_start)*1+1;
68
for(size_t i=0;i<size;++i)
75
void startTaperCurve(size_t c_start,size_t c_end)const
77
fprintf(mFile,"\tsetAttr \".c[%i:%i]\"",c_start,c_end);
78
fprintf(mFile," -type \"TaperCurve\" ");
80
void appendTaperCurve(const TaperCurve& c)const
85
void endTaperCurve()const
89
void setTaperCurve_Position(size_t c_i,float cp)
92
fprintf(mFile,"\tsetAttr \".c[%i].cp\" %f;\n", c_i,cp);
94
void setTaperCurve_FloatValue(size_t c_i,float cfv)
96
if(cfv == 0.0) return;
97
fprintf(mFile,"\tsetAttr \".c[%i].cfv\" %f;\n", c_i,cfv);
99
void setTaperCurve_Interp(size_t c_i,unsigned int ci)
102
fprintf(mFile,"\tsetAttr \".c[%i].ci\" %i;\n", c_i,ci);
104
void setSmoothingAngle(double sma)
107
fprintf(mFile,"\tsetAttr \".sma\" %f;\n", sma);
109
void getKeepFacesTogether()const
111
fprintf(mFile,"\"%s.kft\"",mName.c_str());
113
void getDivisions()const
115
fprintf(mFile,"\"%s.d\"",mName.c_str());
117
void getInputProfile()const
119
fprintf(mFile,"\"%s.ipc\"",mName.c_str());
123
fprintf(mFile,"\"%s.twt\"",mName.c_str());
127
fprintf(mFile,"\"%s.tp\"",mName.c_str());
129
void getTaperCurve(size_t c_i)const
131
fprintf(mFile,"\"%s.c[%i]\"",mName.c_str(),c_i);
133
void getTaperCurve()const
136
fprintf(mFile,"\"%s.c\"",mName.c_str());
138
void getTaperCurve_Position(size_t c_i)const
140
fprintf(mFile,"\"%s.c[%i].cp\"",mName.c_str(),c_i);
142
void getTaperCurve_Position()const
145
fprintf(mFile,"\"%s.c.cp\"",mName.c_str());
147
void getTaperCurve_FloatValue(size_t c_i)const
149
fprintf(mFile,"\"%s.c[%i].cfv\"",mName.c_str(),c_i);
151
void getTaperCurve_FloatValue()const
154
fprintf(mFile,"\"%s.c.cfv\"",mName.c_str());
156
void getTaperCurve_Interp(size_t c_i)const
158
fprintf(mFile,"\"%s.c[%i].ci\"",mName.c_str(),c_i);
160
void getTaperCurve_Interp()const
163
fprintf(mFile,"\"%s.c.ci\"",mName.c_str());
165
void getSmoothingAngle()const
167
fprintf(mFile,"\"%s.sma\"",mName.c_str());
170
PolyExtrudeFace(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
171
:PolyMoveFace(file, name, parent, nodeType, shared, create) {}
175
#endif//__MayaDM_POLYEXTRUDEFACE_H__