Add existing to tracked
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
import Cartesian2 from "../Core/Cartesian2.js";
|
||||
import Cartesian3 from "../Core/Cartesian3.js";
|
||||
import Cartesian4 from "../Core/Cartesian4.js";
|
||||
import ComponentDatatype from "../Core/ComponentDatatype.js";
|
||||
import Matrix2 from "../Core/Matrix2.js";
|
||||
import Matrix3 from "../Core/Matrix3.js";
|
||||
import Matrix4 from "../Core/Matrix4.js";
|
||||
|
||||
const ComponentsPerAttribute = {
|
||||
SCALAR: 1,
|
||||
VEC2: 2,
|
||||
VEC3: 3,
|
||||
VEC4: 4,
|
||||
MAT2: 4,
|
||||
MAT3: 9,
|
||||
MAT4: 16,
|
||||
};
|
||||
|
||||
const ClassPerType = {
|
||||
SCALAR: undefined,
|
||||
VEC2: Cartesian2,
|
||||
VEC3: Cartesian3,
|
||||
VEC4: Cartesian4,
|
||||
MAT2: Matrix2,
|
||||
MAT3: Matrix3,
|
||||
MAT4: Matrix4,
|
||||
};
|
||||
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
function getBinaryAccessor(accessor) {
|
||||
const componentType = accessor.componentType;
|
||||
let componentDatatype;
|
||||
if (typeof componentType === "string") {
|
||||
componentDatatype = ComponentDatatype.fromName(componentType);
|
||||
} else {
|
||||
componentDatatype = componentType;
|
||||
}
|
||||
|
||||
const componentsPerAttribute = ComponentsPerAttribute[accessor.type];
|
||||
const classType = ClassPerType[accessor.type];
|
||||
return {
|
||||
componentsPerAttribute: componentsPerAttribute,
|
||||
classType: classType,
|
||||
createArrayBufferView: function (buffer, byteOffset, length) {
|
||||
return ComponentDatatype.createArrayBufferView(
|
||||
componentDatatype,
|
||||
buffer,
|
||||
byteOffset,
|
||||
componentsPerAttribute * length,
|
||||
);
|
||||
},
|
||||
};
|
||||
}
|
||||
export default getBinaryAccessor;
|
||||
Reference in New Issue
Block a user