@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
42 lines (41 loc) • 1.09 kB
JavaScript
;
import { Vector2, Vector3, Vector4 } from "three";
import { TypeAssert } from "../../../../poly/Assert";
import { ATTRIBUTE_TYPES, AttribType } from "../../../../../core/geometry/Constant";
export function hasGroupFromParams(params) {
return params.group.value.trim() != "";
}
export function hasGroupFromParamValues(params) {
return params.group.trim() != "";
}
export function _attribType(params) {
return ATTRIBUTE_TYPES[params.type];
}
export function defaultAttribValue(params) {
const attribType = _attribType(params);
switch (attribType) {
case AttribType.NUMERIC: {
return _defaultNumericValue(params);
}
case AttribType.STRING: {
return _defaultStringValue();
}
}
TypeAssert.unreachable(attribType);
}
export function _defaultStringValue() {
return "";
}
export function _defaultNumericValue(params) {
const size = params.size;
switch (size) {
case 1:
return 0;
case 2:
return new Vector2(0, 0);
case 3:
return new Vector3(0, 0, 0);
case 4:
return new Vector4(0, 0, 0, 0);
}
}