UNPKG

polygonjs-engine

Version:

node-based webgl 3D engine https://polygonjs.com

32 lines (31 loc) 981 B
export class ByExpressionHelper { constructor(node) { this.node = node; } async eval_for_entities(entities) { const param = this.node.p.expression; if (this.node.p.expression.has_expression() && param.expression_controller) { await this.eval_expressions_for_points_with_expression(entities); } else { this.eval_expressions_without_expression(entities); } } async eval_expressions_for_points_with_expression(entities) { const param = this.node.p.expression; if (param.expression_controller) { await param.expression_controller.compute_expression_for_entities(entities, (entity, value) => { if (value) { this.node.entity_selection_helper.select(entity); } }); } } eval_expressions_without_expression(entities) { const value = this.node.pv.expression; if (value) { for (let entity of entities) { this.node.entity_selection_helper.select(entity); } } } }