From 3afb9169b1f0854e53b4c629fd429158bacffac3 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 25 Jan 2019 14:25:34 +0100 Subject: [PATCH] Implement missing virtual function in CgalKernel --- src/ifcgeom/kernels/cgal/CgalKernel.cpp | 11 +++++++++++ src/ifcgeom/kernels/cgal/CgalKernel.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/ifcgeom/kernels/cgal/CgalKernel.cpp b/src/ifcgeom/kernels/cgal/CgalKernel.cpp index 2a36bc2adf..c885fa5974 100644 --- a/src/ifcgeom/kernels/cgal/CgalKernel.cpp +++ b/src/ifcgeom/kernels/cgal/CgalKernel.cpp @@ -88,6 +88,17 @@ bool IfcGeom::CgalKernel::validate_quantities(const IfcSchema::IfcProduct* produ throw std::runtime_error("not implemented"); } +bool IfcGeom::CgalKernel::convert_placement(IfcUtil::IfcBaseClass* item, ConversionResultPlacement*& trsf) { + if (item->as()) { + cgal_placement_t cgal_trsf; + if (convert(item->as(), cgal_trsf)) { + trsf = new CgalPlacement(cgal_trsf); + return true; + } + } + return false; +} + bool IfcGeom::CgalKernel::convert_openings(const IfcSchema::IfcProduct* product, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcGeom::ConversionResults& entity_shapes, const IfcGeom::ConversionResultPlacement* trsf, IfcGeom::ConversionResults& opened_shapes) { const cgal_placement_t& entity_trsf = ((CgalPlacement*) trsf)->trsf(); std::list opening_shapelist; diff --git a/src/ifcgeom/kernels/cgal/CgalKernel.h b/src/ifcgeom/kernels/cgal/CgalKernel.h index 34f0e3c900..4f3186589d 100644 --- a/src/ifcgeom/kernels/cgal/CgalKernel.h +++ b/src/ifcgeom/kernels/cgal/CgalKernel.h @@ -153,6 +153,7 @@ namespace IfcGeom { virtual bool apply_layerset(const IfcSchema::IfcProduct* product, IfcGeom::ConversionResults& shapes); virtual bool validate_quantities(const IfcSchema::IfcProduct* product, const IfcGeom::Representation::BRep& brep); virtual bool convert_openings(const IfcSchema::IfcProduct* product, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcGeom::ConversionResults& shapes, const ConversionResultPlacement* trsf, IfcGeom::ConversionResults& opened_shapes); + virtual bool convert_placement(IfcUtil::IfcBaseClass* item, ConversionResultPlacement*& trsf); #include "CgalEntityMappingDeclaration.h"