ADN Open CIS
Сообщество программистов Autodesk в СНГ

02/08/2017

Метод setCutPlanes Forge Viewer

Средство просмотра имеет  метод setCutPlanes, который, согласно документации, требует "список векторного представления Vector4: {x: a, y: b, z: c, w: d}. Общее уравнение плоскости: ax + by +  cz +  d = 0, где a, b и c ненулевые. Передача пустого списка или пустых значений эквивалентно установке нулевых плоскостей сечения”. Но как его использовать?

Один из способов быстро попробовать - это, используя метод .getState, получить допустимые плоскости разреза:

Код - JavaScript: [Выделить]
  1. // get the current state
  2. var state = viewer.getState();
  3. // и плоскости сечения в этом состоянии
  4. var cutplanes = state.cutplanes;
  5. Теперь у нас есть плоскость сечения, созданная или скопированная из состояния, мы можем использовать этот метод плоскости сечения:
  6. // теперь подготовим список плоскостей для сечения
  7. var planes = [];
  8.  
  9. // getState возвращает список плоскостей сечения,
  10. // так давайте перебираем его
  11. for (var p = 0; p<cutplanes.length; p++)
  12. {
  13.   var cutplane = cutplanes[p];
  14.  
  15.   // создаем THREE.Vector4
  16.   var vector4 = new THREE.Vector4(
  17.     cutplane[0], cutplane[1],
  18.     cutplane[2], cutplane[3]);
  19.  
  20.   planes.push(vector4);
  21. }
  22.  
  23. // восстановить исходное состояние
  24. viewer.restoreState(null);
  25.  
  26. // применяем новые секущие плоскости
  27. viewer.setCutPlanes(planes);

Источник: https://forge.autodesk.com/blog/viewer-setcutplanes

Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=

Опубликовано 02.08.2017