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_WTADDMATRIX_H__
11
#define __MayaDM_WTADDMATRIX_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class WtAddMatrix : public DependNode
23
void write(FILE* file) const
27
fprintf(file,"%f", weightIn);
32
WtAddMatrix():DependNode(){}
33
WtAddMatrix(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
34
:DependNode(file, name, parent, "wtAddMatrix", shared, create){}
35
virtual ~WtAddMatrix(){}
37
void setWtMatrix(size_t i_i,const WtMatrix& i_)
39
fprintf(mFile,"\tsetAttr \".i[%i]\" ",i_i);
43
void setWtMatrix(size_t i_start,size_t i_end,WtMatrix* i_)
45
fprintf(mFile,"\tsetAttr \".i[%i:%i]\" ", i_start,i_end);
46
size_t size = (i_end-i_start)*1+1;
47
for(size_t i=0;i<size;++i)
54
void startWtMatrix(size_t i_start,size_t i_end)const
56
fprintf(mFile,"\tsetAttr \".i[%i:%i]\"",i_start,i_end);
57
fprintf(mFile," -type \"WtMatrix\" ");
59
void appendWtMatrix(const WtMatrix& i)const
64
void endWtMatrix()const
68
void setMatrixIn(size_t i_i,const matrix& m)
70
if(m == identity) return;
71
fprintf(mFile,"\tsetAttr \".i[%i].m\" -type \"matrix\" ",i_i);
75
void setWeightIn(size_t i_i,double w)
78
fprintf(mFile,"\tsetAttr \".i[%i].w\" %f;\n", i_i,w);
80
void getWtMatrix(size_t i_i)const
82
fprintf(mFile,"\"%s.i[%i]\"",mName.c_str(),i_i);
84
void getWtMatrix()const
87
fprintf(mFile,"\"%s.i\"",mName.c_str());
89
void getMatrixIn(size_t i_i)const
91
fprintf(mFile,"\"%s.i[%i].m\"",mName.c_str(),i_i);
93
void getMatrixIn()const
96
fprintf(mFile,"\"%s.i.m\"",mName.c_str());
98
void getWeightIn(size_t i_i)const
100
fprintf(mFile,"\"%s.i[%i].w\"",mName.c_str(),i_i);
102
void getWeightIn()const
105
fprintf(mFile,"\"%s.i.w\"",mName.c_str());
107
void getMatrixSum()const
109
fprintf(mFile,"\"%s.o\"",mName.c_str());
112
WtAddMatrix(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
113
:DependNode(file, name, parent, nodeType, shared, create) {}
117
#endif//__MayaDM_WTADDMATRIX_H__