02_calc
Last modified by Bimit Administrator on 25.12.2025, 09:31
Интерфейс строительного калькулятора предоставляет базовые функции расчета
В нем доступны следующий функции:
- area - подсчет площади прямоугольной фигуры, заданной длинами сторон
- volume - подсчет объема параллелепипеда, заданной длинами сторон (ДЛИНАxШИРИНАxВЫСОТА)
- areaBox - подсчет площади поверхности стен прямоугольной комнаты, заданной длинами сторон и высотой
- volumeBox - подсчет объема стен коробки, заданной длинами сторон (по внешней стороне), высотой и толщиной стен
- located - метод определения вхождения одного элемента в область другого (GeometryElement space, GeometryElement obj)
- intersect - метод определения пересечения области одного элемента в область другого (GeometryElement space, GeometryElement obj)
- distance - определение расстояния между двумя элементами
- distanceFast - определение расстояния между двумя элементами
- getElementBounds - получение граничного бокса по элементу и по списку вершин
- length - получение расстояния между двумя точками в пространстве
- getOrientedBoundingBox - получение ориентированного, минимального, граничного бокса элемента
- getElementConvexHull - получение геометрии выпуклой оболочки элемента
- trunc - округление значение
- manhattanDistance - расчет расстояния Манхэттена между двумя геометрическими элементами
- deepInclusion - точная проверка того, что один элемент включен в другой элемент
- createOrientedBox - создание OBB на основе заданного элемента и в заданном направлении
- distance2D - расчёт двумерного расстояния между элементами в плоскости XY, 0 если пересекаются
- distance2DHorizontal - расчёт минимального двумерного расстояния между элементами в плоскости XY
- distance2DWithOffSet - расчет двумерного расстояния между элементами со смещением элементов
- isExtendedAABBIntersectNeighbours - проверка пересечения aabb элемента с его соседями + с учетом допустимого пространства length, width, height по направлению dir
- isValveBelongToPipe - проверка принадлежности одного элемента другому
- getOBBLongestAxis - возвращает индекс самой длинной стороны obb(X=1, Y=2, Z=3)
- calc.area(double length, double width)
Пример использования:
// area
def area = calc.area(6,6)
// console.info(area) -> “INFO: 36.0”
def area = calc.area(6,6)
// console.info(area) -> “INFO: 36.0”
- calc.volume(double length, double width, double height)
Пример использования:
// volume
def vol= calc.volume(6,0.5,3)
// console.info(vol) -> “INFO: 9.0”
def vol= calc.volume(6,0.5,3)
// console.info(vol) -> “INFO: 9.0”
- calc.areaBox(double length, double width, double height)
Пример использования:
// areaBox
def area = calc.areaBox(6,6,3)
// console.info(area) -> “INFO: 72.0”
def area = calc.areaBox(6,6,3)
// console.info(area) -> “INFO: 72.0”
- calc.volumeBox(double length, double width, double height, double widthWall)
Пример использования:
// volumeBox
def vol= calc.volumeBox(6,6,3,0.5)
// console.info(vol) -> “INFO: 33.0”
def vol= calc.volumeBox(6,6,3,0.5)
// console.info(vol) -> “INFO: 33.0”
- calc.located(GeometryElement space, GeometryElement obj) - метод определения вхождения одного элемента в область другого
Пример использования:
- calc.intersect(Bounds bounds1, Bounds bounds2) - определение пересечения 2 боксов по границам 1 и 2 бокса
- calc.intersect(double gap, Bounds bounds1, Bounds bounds2) - определение пересечения 2 боксов по границам 1 и 2 бокса с увеличением границ одного из элементов
- calc.intersect(double gapX, double gapY, double gapZ, Bounds bounds1, Bounds bounds2) - определение пересечения 2 боксов по границам 1 и 2 бокса с увеличением границ одного из элементов отдельно по осям
- calc.intersect(GeometryElement element1, GeometryElement element2) - метод определения пересечения 2 элементов через их граничных боксов
- calc.intersect(double gapX, double gapY, double gapZ, GeometryElement element1, GeometryElement element2) - определение пересечения 2 элементов через их граничных боксов
- calc.intersect(double gap, GeometryElement element1, GeometryElement element2) - определение пересечения 2 элементов через их граничных боксов
- calc.intersect(GeometryObject element1, GeometryObject element2) - определение пересечения 2 элементов
Пример использования:
- calc.distance(GeometryObject data1, GeometryObject data2)
Пример использования:
- calc.distanceFast(GeometryObject data1, GeometryObject data2)
Пример использования:
- calc.getElementBounds(GeometryObject geometry) - получение граничного бокса по элементу
- calc.getElementBounds(double vertices[]) - получение граничного бокса по списку вершин
Пример использования:
- calc.length(Vector3f p1, Vector3f p2)
Пример использования:
- calc.getOrientedBoundingBox(UUID elementUuid) - получение ориентированного, минимального, граничного бокса элемента по его идентификатору
- calc.getOrientedBoundingBox(GeometryElement element) - получение ориентированного, минимального, граничного бокса элемента по элементу
- calc.getOrientedBoundingBox(Element element) - получение ориентированного, минимального, граничного бокса элемента по элементу
Пример использования:
- calc.getElementConvexHull(UUID elementUuid) - получение геометрии выпуклой оболочки элемента по идентификатору
- calc.getElementConvexHull(GeometryElement element) - получение геометрии выпуклой оболочки элемента по элементу
- calc.getElementConvexHull(Element element) - получение геометрии выпуклой оболочки элемента по элементу
Пример использования:
- calc.trunc(double value, int length) - округление значение
- calc.trunc(double value) - округление значение до 3го знака после запятой
Пример использования:
- calc.manhattanDistance(GeometryObject data1, GeometryObject data2) - расчет расстояния Манхэттена между двумя геометрическими элементами
Пример использования:
- calc.deepInclusion(GeometryElement elementContent, GeometryElement elementContainer) - точная проверка того, что один элемент включен в другой элемент
Пример использования:
- calc.createOrientedBox(Vector3f center, Vector3f direction, double width, double depth, double height) - создание OBB на основе заданного элемента и в заданном направлении
Пример использования:
- calc.distance2D(GeometryObject data1, GeometryObject data2) - расчёт двумерного расстояния между элементами в плоскости XY, 0 если пересекаются
Пример использования:
- calc.distance2DHorizontal(GeometryObject data1, GeometryObject data2) - расчёт минимального двумерного расстояния между элементами в плоскости XY
Пример использования:
- calc.distance2DWithOffSet(GeometryObject data1, GeometryObject data2, double offSetValue) - расчёт двумерного расстояния между элементами со смещением элементов
Пример использования:
- calc.isExtendedAABBIntersectNeighbours(GeometryElement element, Set<GeometryElement> neighbours, double[] dir, final double length, final double width, final double height) - проверка пересечения aabb элемента с его соседями + с учетом допустимого пространства length, width, height по направлению dir
Пример использования:
- calc.isValveBelongToPipe(GeometryElement valve, GeometryElement pipe) - проверка принадлежности одного элемента другому
Пример использования:
- calc.getOBBLongestAxis(GeometryElement element) - возвращает индекс самой длинной стороны obb(X=1, Y=2, Z=3)
Пример использования: