@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
88 lines (87 loc) • 3.87 kB
JavaScript
;
import { coreObjectClassFactory } from "../geometry/CoreObjectFactory";
export var ParticlesAttribute = /* @__PURE__ */ ((ParticlesAttribute2) => {
ParticlesAttribute2["PARTICLES_NODE_ID"] = "particles_nodeId";
ParticlesAttribute2["MATERIAL_NODE_ID"] = "particles_materialNodeId";
ParticlesAttribute2["DATA_TYPE"] = "particles_dataType";
ParticlesAttribute2["PRE_ROLL_FRAMES_COUNT"] = "particles_preRollFramesCount";
return ParticlesAttribute2;
})(ParticlesAttribute || {});
export class CoreParticlesBaseAttribute {
static _setVector2(object, attribName, value) {
coreObjectClassFactory(object).addAttribute(object, attribName, value);
}
static _getVector2(object, attribName, target) {
coreObjectClassFactory(object).attribValue(object, attribName, 0, target);
}
static _setNumber(object, attribName, value) {
coreObjectClassFactory(object).addAttribute(object, attribName, value);
}
static _setBoolean(object, attribName, value) {
coreObjectClassFactory(object).addAttribute(object, attribName, value);
}
static _getNumber(object, attribName, defaultValue) {
const val = coreObjectClassFactory(object).attribValue(object, attribName, 0);
if (val == null) {
return defaultValue;
}
return val;
}
static _getBoolean(object, attribName, defaultValue) {
const val = coreObjectClassFactory(object).attribValue(object, attribName, 0);
if (val == null) {
return defaultValue;
}
return val;
}
// protected static _setString(object: Object3D, attribName: ParticlesAttribute, value: string) {
// CoreObject.addAttribute(object, attribName, value);
// }
// protected static _getString(object: Object3D, attribName: ParticlesAttribute): string | undefined {
// return CoreObject.attribValue(object, attribName, 0) as string | undefined;
// }
}
export class CoreParticlesAttribute extends CoreParticlesBaseAttribute {
static setParticlesNodeId(object, value) {
this._setNumber(object, "particles_nodeId" /* PARTICLES_NODE_ID */, value);
}
static getMaterialNodeId(object) {
return this._getNumber(object, "particles_materialNodeId" /* MATERIAL_NODE_ID */, -1);
}
static setMaterialNodeId(object, value) {
this._setNumber(object, "particles_materialNodeId" /* MATERIAL_NODE_ID */, value);
}
static getParticlesNodeId(object) {
return this._getNumber(object, "particles_nodeId" /* PARTICLES_NODE_ID */, -1);
}
static setDataType(object, value) {
this._setNumber(object, "particles_dataType" /* DATA_TYPE */, value);
}
static getDataType(object) {
return this._getNumber(object, "particles_dataType" /* DATA_TYPE */, 0);
}
// static setAutoTextureSize(object: Object3D, value: boolean) {
// this._setBoolean(object, ParticlesAttribute.AUTO_TEXTURE_SIZE, value);
// }
// static getAutoTextureSize(object: Object3D) {
// return this._getBoolean(object, ParticlesAttribute.AUTO_TEXTURE_SIZE, true);
// }
// static setMaxTextureSize(object: Object3D, value: Vector2) {
// this._setVector2(object, ParticlesAttribute.MAX_TEXTURE_SIZE, value);
// }
// static getMaxTextureSize(object: Object3D, target: Vector2) {
// return this._getVector2(object, ParticlesAttribute.MAX_TEXTURE_SIZE, target);
// }
// static setTextureSize(object: Object3D, value: Vector2) {
// this._setVector2(object, ParticlesAttribute.TEXTURE_SIZE, value);
// }
// static getTextureSize(object: Object3D, target: Vector2) {
// return this._getVector2(object, ParticlesAttribute.TEXTURE_SIZE, target);
// }
static setPreRollFramesCount(object, value) {
this._setNumber(object, "particles_preRollFramesCount" /* PRE_ROLL_FRAMES_COUNT */, value);
}
static getPreRollFramesCount(object) {
return this._getNumber(object, "particles_preRollFramesCount" /* PRE_ROLL_FRAMES_COUNT */, 0);
}
}