/
counterbugtech
/
KontrBugCAD
Обзор
Документация
Войти
/
counterbugtech
/
KontrBugCAD
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
js/core/parametric/executors/GroupExecutor.js
1 строка
885 B
counterbugtech
first commit
04 мар 2026, 11:25
Верифицирован
04 мар 2026, 11:25
b2afbd6
Код
Авторство
О чём код?
import*as THREE from"three";import{ParametricExecutor}from"./ParametricExecutor.js";export class GroupExecutor extends ParametricExecutor{execute(o,t){const{childIds:r,groupPosition:e,groupRotation:a,groupScale:u}=o.parameters,n=new THREE.Group;n.name=`Group_${Date.now()}`,e&&n.position.fromArray(e),a&&n.rotation.fromArray(a),u&&n.scale.fromArray(u),n.updateMatrixWorld(!0);for(const o of r){const r=t.objectMap.get(o);if(!r)continue;const e=new THREE.Vector3;r.getWorldPosition(e),r.parent&&r.parent.remove(r),n.add(r);const a=n.worldToLocal(e.clone());r.position.copy(a),r.userData.isPartOfGroup=!0,r.userData.originalGroup=n.uuid}o.outputs.length>0?n.uuid=o.outputs[0]:o.outputs=[n.uuid],n.userData={type:"group",childCount:r.length,childIds:r,name:`Группа (${r.length} объектов)`,createdAt:(new Date).toISOString()};for(const o of r)t.objectMap.delete(o);return n}}