2026-08-08 14:19:57 +02:00
|
|
|
#include "conversion_result.h"
|
|
|
|
|
#include "representation.h"
|
2023-11-02 09:04:34 +01:00
|
|
|
|
2026-08-08 15:56:41 +02:00
|
|
|
ifcopenshell::geom::triangulation* ifcopenshell::geom::conversion_result_shape::Triangulate(const ifcopenshell::geom::settings& settings, ifcopenshell::logger& logger) const
|
2023-11-02 09:04:34 +01:00
|
|
|
{
|
2026-08-08 15:56:41 +02:00
|
|
|
auto t = ifcopenshell::geom::triangulation::empty(settings);
|
2026-08-08 07:42:45 +02:00
|
|
|
static ifcopenshell::geom::taxonomy::matrix4 iden;
|
2026-06-10 18:30:54 +02:00
|
|
|
Triangulate(settings, iden, t, -1, -1, logger);
|
2023-11-02 09:04:34 +01:00
|
|
|
return t;
|
|
|
|
|
}
|
2023-12-05 21:11:36 +01:00
|
|
|
|
2026-08-08 07:42:45 +02:00
|
|
|
using namespace ifcopenshell::geom::taxonomy;
|
2023-12-05 21:11:36 +01:00
|
|
|
|
2026-08-08 07:42:45 +02:00
|
|
|
void ifcopenshell::geom::conversion_result::append(ifcopenshell::geom::taxonomy::matrix4::ptr trsf) {
|
2023-12-05 21:11:36 +01:00
|
|
|
placement_ = make<matrix4>(placement_->ccomponents() * trsf->ccomponents());
|
|
|
|
|
}
|
|
|
|
|
|
2026-08-08 07:42:45 +02:00
|
|
|
void ifcopenshell::geom::conversion_result::prepend(ifcopenshell::geom::taxonomy::matrix4::ptr trsf) {
|
2023-12-05 21:11:36 +01:00
|
|
|
placement_ = make<matrix4>(trsf->ccomponents() * placement_->ccomponents());
|
|
|
|
|
}
|
2023-12-13 16:43:33 +01:00
|
|
|
|
2026-08-08 07:42:45 +02:00
|
|
|
template struct IFC_GEOM_API ifcopenshell::geom::opaque_coordinate<3>;
|
|
|
|
|
template struct IFC_GEOM_API ifcopenshell::geom::opaque_coordinate<4>;
|