Я загрузил модель, из которой хочу выбрать элемент, клонировать его и сдвинуть клон вдоль оси X на 1000 единиц.
Проведя тестирование в консоли веб-браузера, я справился со сдвигом по оси X со следующим кодом:
var tree = NOP_VIEWER.model.getData().instanceTree;
var offset = new THREE.Vector3( 1000, 0 , 0 );
tree.enumNodeFragments(7836, function (frag) {
var fragProxy = NOP_VIEWER.impl.getFragmentProxy( NOP_VIEWER.model, frag);
var newfragProxy = fragProxy.mesh().clone();
fragProxy.getAnimTransform();
var position = new THREE.Vector3(
fragProxy.position.x + offset.x,
fragProxy.position.y + offset.y,
fragProxy.position.z + offset.z
);
fragProxy.position = position;
fragProxy.updateAnimTransform();
});
NOP_VIEWER.impl.sceneUpdated(true);`
Но мне не удалось найти способ клонировать начальный элемент. Может ли кто-нибудь помочь мне создать копию элемента или копию геометрии элемента?
Спасибо за ваше время.