Recent Releases of val3dity
val3dity - 2.4.0
Added
- support for CityJSON Lines (CityJSONL) files, the 1st line of the file must be with the
"transform", best is to use cjio output - support for 3D types of JSON-FG, only the
PolyhedronandMultiPolyhedron(not forPrismandMultiPrism) (JSON-FG is still beta, so I guess this might have to change) - added a simple Python-based viewer to visualise the errors, see
/tools/viz3dity/for more details - API now supports OBJ and OFF; all formats supported by val3dity actually ### Changed
- the API is new and simpler, only 2 functions are now used:
is_valid()+validate() - error 609 has been renamed 906 (no geometry is for more formats than only CityJSON)
- simplified the code for CDT of each surface (faster too)
- upgraded to latest version of pugixml, to parse XML files
- C++
Published by hugoledoux over 2 years ago
val3dity - 2.3.1
Changed
- the structure of the report was fixed (it is more flat, as it should have always been), it made little sense for Composite/Multi/Solid
- geometry IDs in the report are 0-based (as they should, a bug made them start at 1, now fixed)
- compilation under Windows to get a binary is now automised with GitHub Actions
- C++
Published by hugoledoux over 3 years ago
val3dity - 2.3.0
Added
- val3dity can now be compiled as a library and easily used in other C++ binary (it's GPLv3 license, watch out)
- this allows val3dity to be used with Python now, see https://github.com/tudelft3d/val3ditypy/
- unit test for IndoorGML files
- support for the simple format tu3djson (https://github.com/tudelft3d/tu3djson) ### Changed
- fixed a few bugs for the parsing of IndoorGML files
- LoDs of Buildings are now taken into account when validating the topological relationships between BuildingParts: the tests are now per LoD now (so no "clash" between LoD1.3 and LoD2.2 if stored in the same file) ### Removed
- removed the support for CityGML files and 'vanilla' GML files. Only IndoorGML files can be read, and support for GML 3.3 is not fully there yet. Most errors/issues that are reported with val3dity have to do with a faulty parser of CityGML, and not with val3dity itself. I cannot justify spending 100s of hours fixing the parser, I tried hard but this not possible anymore. If someone wants to do it then great I am willing to help them, but I will not invest time on this anymore. Just upgrade your files to CityJSON (https://www.cityjson.org/tutorials/conversion/), I'll always maintain a full CityJSON parser!
- C++
Published by hugoledoux almost 4 years ago
val3dity - 2.2.0
Added
- support for IndoorGML datasets, not just the geometries but specific validation tests for the primal-dual consistency were added
- support for GeometryTemplates in CityJSON (https://www.cityjson.org/specs/#geometry-templates)
Changed
- completely revamped the JSON error report, it's better and clearer
- no more HTML output for the report (output of report is now with option
--report, be careful), but you can just drag your JSON report to the HTML page (in folder/report_browser/index.html) or at http://geovalidation.bk.tudelft.nl/val3dity/browser/ - improved the error codes a bit: new errors for IndoorGML (7xx) + for handy faulty inputs (error 904)
- code must now be compiled against CGAL5, easier to install and compile for everyone
- CityGML support is deprecated. This is the last version that will support CityGML, I will remove it completely from v2.3+. Most errors/issues reported have to do with a faulty parser of CityGML, and not with val3dity itself. I cannot justify spending 100s of hours fixing the parser, I tried hard but this not possible anymore. If someone wants to do it then great I am willing to help them, but I will not invest time on this anymore. Just upgrade your files to CityJSON (https://www.cityjson.org/help/users/conversion/), I'll always maintain a full CityJSON parser!
- C++
Published by hugoledoux almost 6 years ago
val3dity - val3dity release version 2.1.1 Windows binaries
This is an automated val3dity release
- C++
Published by hugoledoux over 6 years ago
val3dity - small bug fixes
[2.1.1] - 2019-04-30
Changed
- several small bug fixes: wrong handling of some GML namespaces is one of them
- tol_snap can't be disabled anymore: just too error-prone and means nothing. Give a super small value instead, like 1e-12
- C++
Published by hugoledoux almost 7 years ago
val3dity - 2.1.0: new report to allow val3dity to support more data models
The core validation stayed exactly the same, no changes. Only these were modified: - the report is slightly changed: the CityObjects/Primitives subdivision in the report is replaced by Features having Primitives, where Features are the top-level objects, containing one or many Primitives. This is done to allow other data model to be used as input, eg IndoorGML is coming soon! - pytest allows to specify the binary to use if not under 'build/'
- C++
Published by hugoledoux almost 8 years ago
val3dity -
- with Windows binaries, finally!
- fixed bug where inner rings of gml:Polygon wasn't read properly when that polygon is referenced by an XLink.
- C++
Published by hugoledoux about 8 years ago
val3dity - release v2.0.3
Each surface are now triangulated with a constrained Delaunay triangulation (CDT) instead of a non-Delaunay one. That improves stability, especially when there are nearly collinear vertices in a surfaces: slivers are avoided, which means less errors 204, and less wrong errors caused by numerical stability.
- C++
Published by hugoledoux about 8 years ago
val3dity - fixes issue with wrong errors 104 often raised
Explained here what is going on: https://github.com/CGAL/cgal/issues/2733
This releases fixes it with a hack, but I think this is solid (touch wood).
- C++
Published by hugoledoux about 8 years ago
val3dity - fix bug with least-square fitting that caused wrong 203 errors
- C++
Published by hugoledoux about 8 years ago
val3dity - Release version 2.0.0
Almost a complete re-write, with:
- support for all 3D primitives in ISO19107
- support for new formats: CityJSON, OFF
- completely new reports: in JSON and HTML (browsable version)
- complete unit test suite (with pytest)
- C++
Published by hugoledoux about 8 years ago
val3dity - Final version v1.x
the last commit before v2 became the master, with a few Git tricks to swap the branches (and avoid working days on merging...).
- C++
Published by hugoledoux over 8 years ago
val3dity - bug fix for parsing inner rings in surfaces referenced by an xlink
it now works. Thanks Claus Nagel.
- C++
Published by hugoledoux almost 9 years ago
val3dity - Buildings now handled
Validation can now consider CityGML Buildings when validating, ie only the primitives used to represent Buildings are validated, and the report contains the Building ID for each primitive.
Plus, the summary shows how many Buildings are valid/invalid; keep in mind that one Building can be represented with both multiple Solids and/or MultiSurfaces.
- C++
Published by hugoledoux over 9 years ago
val3dity - v1.1: better handling of inner shells
and error 308 (global orientation of normals for a shell) is now error 405 (since related to a Solid).
- C++
Published by hugoledoux over 9 years ago
val3dity - v1.0 of val3dity is released
Today I'm happy to release officially the v1.0 of val3dity: my code to validate 3D geometries (solids, composite- and multi-surface).
I started in 2010 to work on it (thanks to a sponsorship from Safe Software), and I've been working on it part-time since then. Through an OGC CityGML Quality Interoperability Experiment (QIE), I've tested and improved it a lot the last few months. It's now mature, robust and complete enough to be used by anyone.
- C++
Published by hugoledoux almost 10 years ago
val3dity - First release of val3dity
After the work done for the CityGML Quality Interoperability Experiment (QIE) on the harmonisation of error codes and on the parsing of GML input, I release officially val3dity. It's robust and has been tested with several different files.
- C++
Published by hugoledoux about 11 years ago