XbimGeometry icon indicating copy to clipboard operation
XbimGeometry copied to clipboard

Replace Schema-specific code in IFC4/IFC4x3 geometry code with schema agnostic interfaces

Open andyward opened this issue 1 year ago • 0 comments

Some of the latest IFC4.3 geometry code handling the new Curves types pre-dates IFC4.3 and made use of IFC4 specific implementations rather than the cross-schema interfaces. This was OK in IFC4 as Alignment was new in that schema. But it means some IFC4 GE logic will not work in IFC4.3. Equally using IFC4x3 concrete schemas will preclude its use on future IFC4.4 etc schemas

One example of IFC4 specific code that won't work for a IFC4.3 model in : XbimCompound::Init(IIfcTriangulatedFaceSet^ ...)

https://github.com/xBimTeam/XbimGeometry/blob/2707aeef3ce710314bc4860ea25324761e616e80/Xbim.Geometry.Engine/XbimCompound.cpp#L1210C4-L1216C1

A search of the codebase for "IFC4::" will reveal others - and unless they are just using the IFC4 Interfaces, the chances are this code will only support IFC4 and not IFC4.3 The same goes for searching for "IFC4x3::"

By and large we should be using the cross schema interfaces. We may need to consider introducing cross-schema interfaces for Measures given this is the comm

andyward avatar Dec 16 '24 18:12 andyward