A C++ library providing 3D Repo Scene Graph definition, repository management logic and manipulation logic. It is is essentially the refactored 3DRepoCore and (parts of) 3DRepoGUI
Contains a number of changes required to support ODA 2024.8.
Specifically,
OdNwPartition::getDisplayName now returns the file path, so bouncer has been updated to remove it when setting the layer, as this would affect the tree. This is only done when the type that defines the layer is a partition however, as other names can include slashes that the boost filesystem class will remove.
Two new items, Item::Source File Name and Item::File Name also now turn up in the metadata, both of which also include the full path. The metadata also sometimes includes Item::Source File too. Item::Source File is added explicitly based on the partition if not set elsewise, while Item::Source File Name is ignored, since without the path it is identical to Item::Source File. A post-processing stage has been added to remove the path from the filename for both of these.
A few types have changed name or location, and have been replaced like-for-like.
Convenience methods for accessing vertex data have been removed; the way the vertex data is accessed has been updated to use the getVerticesData API, but the vertex data itself is unchanged so the way it is handled is the same.
Convenience methods to check the type of geometry fragments have been removed. These have been replaced by test casts.
The build scripts have been updated as necessary.
Test cases
A set of models were compared between the 2024 libraries and the 2023 ones on staging, using a procedural comparison of the trees, metadata entries and a visual comparison. Additionally, 2024 files have been imported.
The changes above reproduce the existing behaviour. Additionally,
Some display names have more information, e.g. an entry called 327598 is now called Model Lines_327598.
The Item::Material metadata entry has different Color values. These are ODA implementation details.
The unicode characters for some units have changed (they displayed correctly before in Chrome, but the new ones are "more correct").
Some coordinates (e.g. Constraints::Colum Location Mark) are swapped (so, B.1-.5 becomes .5-B.1). This is an ODA implementation detail/we don't touch this directly in bouncer.
Sample 2024 Revit and Navis files have been added to the unit tests.
This fixes #634
Description
Contains a number of changes required to support ODA 2024.8.
Specifically,
OdNwPartition::getDisplayName
now returns the file path, so bouncer has been updated to remove it when setting the layer, as this would affect the tree. This is only done when the type that defines the layer is a partition however, as other names can include slashes that the boost filesystem class will remove.Item::Source File Name
andItem::File Name
also now turn up in the metadata, both of which also include the full path. The metadata also sometimes includesItem::Source File
too.Item::Source File
is added explicitly based on the partition if not set elsewise, whileItem::Source File Name
is ignored, since without the path it is identical toItem::Source File
. A post-processing stage has been added to remove the path from the filename for both of these.getVerticesData
API, but the vertex data itself is unchanged so the way it is handled is the same.Test cases
A set of models were compared between the 2024 libraries and the 2023 ones on staging, using a procedural comparison of the trees, metadata entries and a visual comparison. Additionally, 2024 files have been imported.
The changes above reproduce the existing behaviour. Additionally,
327598
is now calledModel Lines_327598
.Item::Material
metadata entry has differentColor
values. These are ODA implementation details.Constraints::Colum Location Mark
) are swapped (so,B.1-.5
becomes.5-B.1
). This is an ODA implementation detail/we don't touch this directly in bouncer.Sample 2024 Revit and Navis files have been added to the unit tests.