"use strict";
var GLM = require("gl-matrix");
/**
* @ignore
* 用于一些类型在Json.Stringify之前的一些转化
*/
var cvtForJson = {
cvtVec3 : function (vec3) {
var numberArray = [];
for (var i = 0; i < 3; ++i) {
numberArray.push(vec3[i]);
}
return numberArray;
},
cvtVec4 : function (vec4) {
var numberArray = [];
for (var i = 0; i < 4; ++i) {
numberArray.push(vec4[i]);
}
return numberArray;
},
cvtVec2 : function (vec2) {
var numberArray = [];
for (var i = 0; i < 2; ++i) {
numberArray.push(vec2[i]);
}
return numberArray;
},
cvtNodeArray : function (nodes) {
var nodeIDArray = [];
for (var i = 0; i < nodes.length; ++i)
{
nodeIDArray.push(nodes[i].objectID);
}
return nodeIDArray;
},
cvtMat4 : function (mat) {
var matArray = [];
for (var i=0; i<16; ++i) {
matArray.push(mat[i]);
}
return matArray;
},
cvtVec3Array : function (vec3Array) {
var retVec3Array = [];
for (var j = 0; j < vec3Array.length; ++j)
{
var vec3 = vec3Array[j];
var numberArray = [];
for (var i = 0; i < 3; ++i) {
numberArray.push(vec3[i]);
}
retVec3Array.push(numberArray);
}
return retVec3Array;
},
cvtVec2Array : function(vec2Array){
var retVec2Array = [];
for (var i = 0; i < vec2Array.length; ++i) {
var vec2 = vec2Array[i];
var numberArray = [];
for (var j = 0; j < 2; ++j) {
numberArray.push(vec2[j]);
}
retVec2Array.push(numberArray);
}
return retVec2Array;
},
cvtToVec3 : function (numberArray) {
return GLM.vec3.fromValues(numberArray[0], numberArray[1], numberArray[2]);
},
cvtToVec2 : function (numberArray) {
return GLM.vec2.fromValues(numberArray[0], numberArray[1]);
},
cvtToVec3Array : function (numbersArray) {
var vec3Array = [];
for (var i = 0; i < numbersArray.length; ++i)
{
vec3Array.push(GLM.vec3.fromValues(numbersArray[i][0], numbersArray[i][1], numbersArray[i][2]));
}
return vec3Array;
},
cvtCommandArray : function(commands){
var commandIDArray = [];
for(var i = 0; i<commands.length; ++i)
{
commandIDArray.push(commands[i].objectID);
}
return commandIDArray;
}
};
module.exports = cvtForJson;