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_VOLUMESHADER_H__
11
#define __MayaDM_VOLUMESHADER_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class VolumeShader : public DependNode
22
VolumeShader():DependNode(){}
23
VolumeShader(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
24
:DependNode(file, name, parent, "volumeShader", shared, create){}
25
virtual ~VolumeShader(){}
27
void setOutColor(const float3& oc)
29
if(oc == float3(0.0f,0.0f,0.0f)) return;
30
fprintf(mFile,"\tsetAttr \".oc\" -type \"float3\" ");
34
void setOutColorR(float ocr)
36
if(ocr == 0.0) return;
37
fprintf(mFile,"\tsetAttr \".oc.ocr\" %f;\n", ocr);
39
void setOutColorG(float ocg)
41
if(ocg == 0.0) return;
42
fprintf(mFile,"\tsetAttr \".oc.ocg\" %f;\n", ocg);
44
void setOutColorB(float ocb)
46
if(ocb == 0.0) return;
47
fprintf(mFile,"\tsetAttr \".oc.ocb\" %f;\n", ocb);
49
void setOutTransparency(const float3& ot)
51
if(ot == float3(0.0f,0.0f,0.0f)) return;
52
fprintf(mFile,"\tsetAttr \".ot\" -type \"float3\" ");
56
void setOutTransparencyR(float otr)
58
if(otr == 0.0) return;
59
fprintf(mFile,"\tsetAttr \".ot.otr\" %f;\n", otr);
61
void setOutTransparencyG(float otg)
63
if(otg == 0.0) return;
64
fprintf(mFile,"\tsetAttr \".ot.otg\" %f;\n", otg);
66
void setOutTransparencyB(float otb)
68
if(otb == 0.0) return;
69
fprintf(mFile,"\tsetAttr \".ot.otb\" %f;\n", otb);
71
void setOutMatteOpacity(const float3& omo)
73
if(omo == float3(1.0f,1.0f,1.0f)) return;
74
fprintf(mFile,"\tsetAttr \".omo\" -type \"float3\" ");
78
void setOutMatteOpacityR(float omor)
80
if(omor == 0.0) return;
81
fprintf(mFile,"\tsetAttr \".omo.omor\" %f;\n", omor);
83
void setOutMatteOpacityG(float omog)
85
if(omog == 0.0) return;
86
fprintf(mFile,"\tsetAttr \".omo.omog\" %f;\n", omog);
88
void setOutMatteOpacityB(float omob)
90
if(omob == 0.0) return;
91
fprintf(mFile,"\tsetAttr \".omo.omob\" %f;\n", omob);
93
void getOutColor()const
95
fprintf(mFile,"\"%s.oc\"",mName.c_str());
97
void getOutColorR()const
99
fprintf(mFile,"\"%s.oc.ocr\"",mName.c_str());
101
void getOutColorG()const
103
fprintf(mFile,"\"%s.oc.ocg\"",mName.c_str());
105
void getOutColorB()const
107
fprintf(mFile,"\"%s.oc.ocb\"",mName.c_str());
109
void getOutTransparency()const
111
fprintf(mFile,"\"%s.ot\"",mName.c_str());
113
void getOutTransparencyR()const
115
fprintf(mFile,"\"%s.ot.otr\"",mName.c_str());
117
void getOutTransparencyG()const
119
fprintf(mFile,"\"%s.ot.otg\"",mName.c_str());
121
void getOutTransparencyB()const
123
fprintf(mFile,"\"%s.ot.otb\"",mName.c_str());
125
void getOutMatteOpacity()const
127
fprintf(mFile,"\"%s.omo\"",mName.c_str());
129
void getOutMatteOpacityR()const
131
fprintf(mFile,"\"%s.omo.omor\"",mName.c_str());
133
void getOutMatteOpacityG()const
135
fprintf(mFile,"\"%s.omo.omog\"",mName.c_str());
137
void getOutMatteOpacityB()const
139
fprintf(mFile,"\"%s.omo.omob\"",mName.c_str());
142
VolumeShader(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
143
:DependNode(file, name, parent, nodeType, shared, create) {}
147
#endif//__MayaDM_VOLUMESHADER_H__