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_VOLUMEAXISFIELD_H__ 11 #define __MayaDM_VOLUMEAXISFIELD_H__ 12 #include "MayaDMTypes.h" 13 #include "MayaDMConnectables.h" 14 #include "MayaDMField.h" 15 namespace MayaDM 16 { 17 class VolumeAxisField : public Field 18 { 19 public: 20 public: 21 VolumeAxisField()22 VolumeAxisField():Field(){} 23 VolumeAxisField(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true) 24 :Field(file, name, parent, "volumeAxisField", shared, create){} ~VolumeAxisField()25 virtual ~VolumeAxisField(){} 26 setInvertAttenuation(bool ia)27 void setInvertAttenuation(bool ia) 28 { 29 if(ia == false) return; 30 fprintf(mFile,"\tsetAttr \".ia\" %i;\n", ia); 31 } setAwayFromCenter(double afc)32 void setAwayFromCenter(double afc) 33 { 34 if(afc == 1.0) return; 35 fprintf(mFile,"\tsetAttr \".afc\" %f;\n", afc); 36 } setAwayFromAxis(double afa)37 void setAwayFromAxis(double afa) 38 { 39 if(afa == 1.0) return; 40 fprintf(mFile,"\tsetAttr \".afa\" %f;\n", afa); 41 } setAlongAxis(double alx)42 void setAlongAxis(double alx) 43 { 44 if(alx == 0.0) return; 45 fprintf(mFile,"\tsetAttr \".alx\" %f;\n", alx); 46 } setAroundAxis(double arx)47 void setAroundAxis(double arx) 48 { 49 if(arx == 0.0) return; 50 fprintf(mFile,"\tsetAttr \".arx\" %f;\n", arx); 51 } setDirectionalSpeed(double drs)52 void setDirectionalSpeed(double drs) 53 { 54 if(drs == 0.0) return; 55 fprintf(mFile,"\tsetAttr \".drs\" %f;\n", drs); 56 } setDirection(const double3 & d)57 void setDirection(const double3& d) 58 { 59 fprintf(mFile,"\tsetAttr \".d\" -type \"double3\" "); 60 d.write(mFile); 61 fprintf(mFile,";\n"); 62 } setDirectionX(double dx)63 void setDirectionX(double dx) 64 { 65 if(dx == 1.0) return; 66 fprintf(mFile,"\tsetAttr \".d.dx\" %f;\n", dx); 67 } setDirectionY(double dy)68 void setDirectionY(double dy) 69 { 70 if(dy == 0.0) return; 71 fprintf(mFile,"\tsetAttr \".d.dy\" %f;\n", dy); 72 } setDirectionZ(double dz)73 void setDirectionZ(double dz) 74 { 75 if(dz == 0.0) return; 76 fprintf(mFile,"\tsetAttr \".d.dz\" %f;\n", dz); 77 } setDisplaySpeed(bool dss)78 void setDisplaySpeed(bool dss) 79 { 80 if(dss == true) return; 81 fprintf(mFile,"\tsetAttr \".dss\" %i;\n", dss); 82 } setTurbulence(double trb)83 void setTurbulence(double trb) 84 { 85 if(trb == 0.0) return; 86 fprintf(mFile,"\tsetAttr \".trb\" %f;\n", trb); 87 } setTurbulenceSpeed(double trs)88 void setTurbulenceSpeed(double trs) 89 { 90 if(trs == 0.2) return; 91 fprintf(mFile,"\tsetAttr \".trs\" %f;\n", trs); 92 } setTurbulenceFrequency(const double3 & tf)93 void setTurbulenceFrequency(const double3& tf) 94 { 95 fprintf(mFile,"\tsetAttr \".tf\" -type \"double3\" "); 96 tf.write(mFile); 97 fprintf(mFile,";\n"); 98 } setTurbulenceFrequencyX(double tfx)99 void setTurbulenceFrequencyX(double tfx) 100 { 101 if(tfx == 1.0) return; 102 fprintf(mFile,"\tsetAttr \".tf.tfx\" %f;\n", tfx); 103 } setTurbulenceFrequencyY(double tfy)104 void setTurbulenceFrequencyY(double tfy) 105 { 106 if(tfy == 1.0) return; 107 fprintf(mFile,"\tsetAttr \".tf.tfy\" %f;\n", tfy); 108 } setTurbulenceFrequencyZ(double tfz)109 void setTurbulenceFrequencyZ(double tfz) 110 { 111 if(tfz == 1.0) return; 112 fprintf(mFile,"\tsetAttr \".tf.tfz\" %f;\n", tfz); 113 } setTurbulenceOffset(const double3 & to)114 void setTurbulenceOffset(const double3& to) 115 { 116 fprintf(mFile,"\tsetAttr \".to\" -type \"double3\" "); 117 to.write(mFile); 118 fprintf(mFile,";\n"); 119 } setTurbulenceOffsetX(double tox)120 void setTurbulenceOffsetX(double tox) 121 { 122 if(tox == 0.0) return; 123 fprintf(mFile,"\tsetAttr \".to.tox\" %f;\n", tox); 124 } setTurbulenceOffsetY(double toy)125 void setTurbulenceOffsetY(double toy) 126 { 127 if(toy == 0.0) return; 128 fprintf(mFile,"\tsetAttr \".to.toy\" %f;\n", toy); 129 } setTurbulenceOffsetZ(double toz)130 void setTurbulenceOffsetZ(double toz) 131 { 132 if(toz == 0.0) return; 133 fprintf(mFile,"\tsetAttr \".to.toz\" %f;\n", toz); 134 } setDetailTurbulence(double dtr)135 void setDetailTurbulence(double dtr) 136 { 137 if(dtr == 0.0) return; 138 fprintf(mFile,"\tsetAttr \".dtr\" %f;\n", dtr); 139 } setTime(double tim)140 void setTime(double tim) 141 { 142 if(tim == 0) return; 143 fprintf(mFile,"\tsetAttr \".tim\" %f;\n", tim); 144 } getInvertAttenuation()145 void getInvertAttenuation()const 146 { 147 fprintf(mFile,"\"%s.ia\"",mName.c_str()); 148 } getAwayFromCenter()149 void getAwayFromCenter()const 150 { 151 fprintf(mFile,"\"%s.afc\"",mName.c_str()); 152 } getAwayFromAxis()153 void getAwayFromAxis()const 154 { 155 fprintf(mFile,"\"%s.afa\"",mName.c_str()); 156 } getAlongAxis()157 void getAlongAxis()const 158 { 159 fprintf(mFile,"\"%s.alx\"",mName.c_str()); 160 } getAroundAxis()161 void getAroundAxis()const 162 { 163 fprintf(mFile,"\"%s.arx\"",mName.c_str()); 164 } getDirectionalSpeed()165 void getDirectionalSpeed()const 166 { 167 fprintf(mFile,"\"%s.drs\"",mName.c_str()); 168 } getDirection()169 void getDirection()const 170 { 171 fprintf(mFile,"\"%s.d\"",mName.c_str()); 172 } getDirectionX()173 void getDirectionX()const 174 { 175 fprintf(mFile,"\"%s.d.dx\"",mName.c_str()); 176 } getDirectionY()177 void getDirectionY()const 178 { 179 fprintf(mFile,"\"%s.d.dy\"",mName.c_str()); 180 } getDirectionZ()181 void getDirectionZ()const 182 { 183 fprintf(mFile,"\"%s.d.dz\"",mName.c_str()); 184 } getDisplaySpeed()185 void getDisplaySpeed()const 186 { 187 fprintf(mFile,"\"%s.dss\"",mName.c_str()); 188 } getTurbulence()189 void getTurbulence()const 190 { 191 fprintf(mFile,"\"%s.trb\"",mName.c_str()); 192 } getTurbulenceSpeed()193 void getTurbulenceSpeed()const 194 { 195 fprintf(mFile,"\"%s.trs\"",mName.c_str()); 196 } getTurbulenceFrequency()197 void getTurbulenceFrequency()const 198 { 199 fprintf(mFile,"\"%s.tf\"",mName.c_str()); 200 } getTurbulenceFrequencyX()201 void getTurbulenceFrequencyX()const 202 { 203 fprintf(mFile,"\"%s.tf.tfx\"",mName.c_str()); 204 } getTurbulenceFrequencyY()205 void getTurbulenceFrequencyY()const 206 { 207 fprintf(mFile,"\"%s.tf.tfy\"",mName.c_str()); 208 } getTurbulenceFrequencyZ()209 void getTurbulenceFrequencyZ()const 210 { 211 fprintf(mFile,"\"%s.tf.tfz\"",mName.c_str()); 212 } getTurbulenceOffset()213 void getTurbulenceOffset()const 214 { 215 fprintf(mFile,"\"%s.to\"",mName.c_str()); 216 } getTurbulenceOffsetX()217 void getTurbulenceOffsetX()const 218 { 219 fprintf(mFile,"\"%s.to.tox\"",mName.c_str()); 220 } getTurbulenceOffsetY()221 void getTurbulenceOffsetY()const 222 { 223 fprintf(mFile,"\"%s.to.toy\"",mName.c_str()); 224 } getTurbulenceOffsetZ()225 void getTurbulenceOffsetZ()const 226 { 227 fprintf(mFile,"\"%s.to.toz\"",mName.c_str()); 228 } getDetailTurbulence()229 void getDetailTurbulence()const 230 { 231 fprintf(mFile,"\"%s.dtr\"",mName.c_str()); 232 } getTime()233 void getTime()const 234 { 235 fprintf(mFile,"\"%s.tim\"",mName.c_str()); 236 } 237 protected: 238 VolumeAxisField(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true) Field(file,name,parent,nodeType,shared,create)239 :Field(file, name, parent, nodeType, shared, create) {} 240 241 }; 242 }//namespace MayaDM 243 #endif//__MayaDM_VOLUMEAXISFIELD_H__ 244