[Git][debian-gis-team/libcitygml][master] 6 commits: New upstream version 2.5.2

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Fri Jan 5 05:29:19 GMT 2024



Bas Couwenberg pushed to branch master at Debian GIS Project / libcitygml


Commits:
1fab3967 by Bas Couwenberg at 2024-01-05T06:16:01+01:00
New upstream version 2.5.2
- - - - -
65f583d3 by Bas Couwenberg at 2024-01-05T06:16:02+01:00
Update upstream source from tag 'upstream/2.5.2'

Update to upstream version '2.5.2'
with Debian dir d521cb244916afcf6c2d03a587b720c7c2a54455
- - - - -
7de2d5ed by Bas Couwenberg at 2024-01-05T06:16:22+01:00
New upstream release.

- - - - -
9d6462db by Bas Couwenberg at 2024-01-05T06:17:51+01:00
Update pkg-kde-tools URL.

- - - - -
046c7cf1 by Bas Couwenberg at 2024-01-05T06:23:22+01:00
Update symbols for amd64.

- - - - -
aeb3f8c9 by Bas Couwenberg at 2024-01-05T06:23:22+01:00
Set distribution to experimental.

- - - - -


18 changed files:

- + .github/workflows/cmake-multi-platform.yml
- CMakeLists.txt
- + CTestTestfile.cmake
- debian/README.source
- debian/changelog
- debian/libcitygml2.symbols
- osgplugin/ReaderWriterCityGML.cpp
- sources/include/citygml/appearancetarget.h
- sources/include/citygml/citygml.h
- sources/include/parser/nodetypes.h
- sources/src/citygml/appearancetarget.cpp
- sources/src/parser/citygmldocumentparser.cpp
- sources/src/parser/externalreferenceparser.cpp
- sources/src/parser/geometryelementparser.cpp
- sources/src/parser/nodetypes.cpp
- sources/src/parser/parserxercesc.cpp
- test/CMakeLists.txt
- test/citygmltest.cpp


Changes:

=====================================
.github/workflows/cmake-multi-platform.yml
=====================================
@@ -0,0 +1,78 @@
+# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform.
+# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml
+name: CMake on multiple platforms
+
+on:
+  push:
+    branches: [ "master" ]
+  pull_request:
+    branches: [ "master" ]
+
+jobs:
+  build:
+    runs-on: ${{ matrix.os }}
+
+    strategy:
+      # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
+      fail-fast: false
+
+      # Set up a matrix to run the following 3 configurations:
+      # 1. <Windows, Release, latest MSVC compiler toolchain on the default runner image, default generator>
+      # 2. <Linux, Release, latest GCC compiler toolchain on the default runner image, default generator>
+      # 3. <Linux, Release, latest Clang compiler toolchain on the default runner image, default generator>
+      #
+      # To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list.
+      matrix:
+        os: [ubuntu-latest]
+        build_type: [Release]
+        c_compiler: [gcc, clang]
+        include:
+          - os: ubuntu-latest
+            c_compiler: gcc
+            cpp_compiler: g++
+          - os: ubuntu-latest
+            c_compiler: clang
+            cpp_compiler: clang++
+        exclude:
+          - os: windows-latest
+            c_compiler: gcc
+          - os: windows-latest
+            c_compiler: clang
+          - os: ubuntu-latest
+            c_compiler: cl
+          
+
+    steps:
+    - uses: actions/checkout at v3
+
+    - name: Install Packages for Ubuntu      
+      run:  sudo apt-get update && sudo apt-get install -y --fix-missing libxerces-c-dev libxerces-c3.2 libgdal30 libgdal-dev libopenscenegraph-dev     
+    - name: Set reusable strings
+      # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
+      id: strings
+      shell: bash
+      run: |
+        echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
+    
+    - name: Configure CMake
+      # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
+      # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
+      run: >
+        cmake -B ${{ steps.strings.outputs.build-output-dir }}
+        -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
+        -DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
+        -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
+        -DLIBCITYGML_TESTS=true
+        -DLIBCITYGML_OSGPLUGIN=true
+        -DLIBCITYGML_USE_OPENGL=true        
+        -S ${{ github.workspace }}
+
+    - name: Build
+      # Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
+      run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }}
+
+    - name: Test
+      working-directory: ${{ steps.strings.outputs.build-output-dir }}
+      # Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
+      # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
+      run: ctest --build-config ${{ matrix.build_type }}


=====================================
CMakeLists.txt
=====================================
@@ -1,10 +1,10 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0 FATAL_ERROR)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.5.0 FATAL_ERROR)
 
 PROJECT ( libcitygml )
 
 set(META_VERSION_MAJOR       "2")
-set(META_VERSION_MINOR       "4")
-set(META_VERSION_PATCH       "1")
+set(META_VERSION_MINOR       "5")
+set(META_VERSION_PATCH       "2")
 
 set(META_VERSION             "${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH}")
 
@@ -150,6 +150,7 @@ ENDIF(LIBCITYGML_OSGPLUGIN)
 # test
 OPTION(LIBCITYGML_TESTS "Set to ON to build libcitygml tests programs." ON)
 IF   (LIBCITYGML_TESTS)
+  enable_testing()
   ADD_SUBDIRECTORY( test )
 ENDIF(LIBCITYGML_TESTS)
 
@@ -220,3 +221,5 @@ IF(UNIX AND NOT APPLE)
       include(CPack)
   endif()
 ENDIF()
+
+


=====================================
CTestTestfile.cmake
=====================================
@@ -0,0 +1,5 @@
+
+
+add_test(berlin_open_data_sample_data.citygml COMMAND bin/citygmltest ../data/berlin_open_data_sample_data.citygml)
+add_test(b1_lod2_s.gml COMMAND bin/citygmltest ../data/b1_lod2_s.gml)
+add_test(FZK-Haus-LoD0-KIT-IAI-KHH-B36-V1.gml COMMAND bin/citygmltest ../data/FZK-Haus-LoD0-KIT-IAI-KHH-B36-V1.gml)
\ No newline at end of file


=====================================
debian/README.source
=====================================
@@ -5,5 +5,5 @@ The symbols file is maintained using pkgkde-symbols helper.
 
 For general information on maintaining symbols files using the pkg-kde-tools, see:
 
-http://pkg-kde.alioth.debian.org/symbolfiles.html
+https://qt-kde-team.pages.debian.net/symbolfiles.html
 


=====================================
debian/changelog
=====================================
@@ -1,14 +1,16 @@
-libcitygml (2.5.1-2) UNRELEASED; urgency=medium
+libcitygml (2.5.2-1~exp1) experimental; urgency=medium
 
   * Team upload.
+  * New upstream release.
   * Bump debhelper compat to 13.
   * Remove generated files in clean target.
     (closes: #1047986)
   * Use execute_after instead of override in rules file.
   * Enable Salsa CI.
   * Switch to dh-sequence-*.
+  * Update symbols for amd64.
 
- -- Bas Couwenberg <sebastic at debian.org>  Mon, 12 Jun 2023 12:35:52 +0200
+ -- Bas Couwenberg <sebastic at debian.org>  Fri, 05 Jan 2024 06:18:08 +0100
 
 libcitygml (2.5.1-1) unstable; urgency=medium
 


=====================================
debian/libcitygml2.symbols
=====================================
@@ -1,4 +1,4 @@
-# SymbolsHelper-Confirmed: 2.5.1 alpha amd64 arm64 armel armhf hppa hurd-i386 i386 ia64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64
+# SymbolsHelper-Confirmed: 2.5.2 amd64
 libcitygml.so.2 #PACKAGE# #MINVER#
 * Build-Depends-Package: libcitygml-dev
  _Z11toStdStringB5cxx11PKDs at Base 2.0.4
@@ -782,6 +782,7 @@ libcitygml.so.2 #PACKAGE# #MINVER#
  _ZN7citygml8NodeType21DEM_ReliefFeatureNodeE at Base 1.4.3
  _ZN7citygml8NodeType21FRN_CityFurnitureNodeE at Base 1.4.3
  _ZN7citygml8NodeType21GEN_DateAttributeNodeE at Base 1.4.3
+ _ZN7citygml8NodeType21GML_MultiGeometryNodeE at Base 2.5.2
  _ZN7citygml8NodeType21GML_SurfaceMemberNodeE at Base 1.4.3
  _ZN7citygml8NodeType21TRANS_Lod0NetworkNodeE at Base 1.4.3
  _ZN7citygml8NodeType21TRANS_TrafficAreaNodeE at Base 1.4.3
@@ -1004,6 +1005,7 @@ libcitygml.so.2 #PACKAGE# #MINVER#
  _ZNK7citygml14SequenceParser17elementParserNameB5cxx11Ev at Base 1.4.3
  _ZNK7citygml14SequenceParser27getChildParserDummyInstanceEv at Base 1.4.3
  _ZNK7citygml16AppearanceTarget19getAllTextureThemesB5cxx11Eb at Base 1.4.3
+ _ZNK7citygml16AppearanceTarget20getAllMaterialThemesB5cxx11Eb at Base 2.5.2
  _ZNK7citygml16AppearanceTarget34getTextureTargetDefinitionForThemeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb at Base 1.4.3
  _ZNK7citygml16AppearanceTarget35getMaterialTargetDefinitionForThemeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb at Base 1.4.3
  _ZNK7citygml16ImplicitGeometry10getSRSNameB5cxx11Ev at Base 1.4.3
@@ -1139,27 +1141,22 @@ libcitygml.so.2 #PACKAGE# #MINVER#
  (optional=templinst)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml24MaterialTargetDefinitionEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE4findERS7_ at Base 2.5.0
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml7PolygonEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEjRS7_j at Base 1.4.3
  (optional=templinst|arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml7PolygonEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEmRS7_m at Base 1.4.3
- (optional=templinst|arch=!alpha !hurd-i386 !i386 !mipsel !powerpc !ppc64 !s390x)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml7PolygonEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE4findERS7_ at Base 2.5.0
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml8GeometryEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEjRS7_j at Base 1.4.3
  (optional=templinst|arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml8GeometryEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEmRS7_m at Base 1.4.3
- (optional=templinst|arch=!alpha !hurd-i386 !i386 !mipsel !powerpc !ppc64 !s390x)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml8GeometryEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE4findERS7_ at Base 2.5.0
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorI5TVec2IfESaISA_EEESaISD_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSF_18_Mod_range_hashingENSF_20_Default_ranged_hashENSF_20_Prime_rehash_policyENSF_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEjRS7_j at Base 1.4.3
  (optional=templinst|arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorI5TVec2IfESaISA_EEESaISD_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSF_18_Mod_range_hashingENSF_20_Default_ranged_hashENSF_20_Prime_rehash_policyENSF_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEmRS7_m at Base 1.4.3
  (optional=templinst|arch=!alpha !hurd-i386 !i386 !mipsel !powerpc !ppc64 !s390x)_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorI5TVec2IfESaISA_EEESaISD_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSF_18_Mod_range_hashingENSF_20_Default_ranged_hashENSF_20_Prime_rehash_policyENSF_17_Hashtable_traitsILb1ELb0ELb1EEEE4findERS7_ at Base 2.5.0
- (optional=templinst)_ZNKSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE4findERKi at Base 2.4.1
  _ZNKSt5ctypeIcE8do_widenEc at Base 0.14
  (optional=templinst)_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml14AttributeValueEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE4findERS7_ at Base 2.0.4
+ (optional=templinst)_ZNSt10_HashtableIN7citygml8NodeType7XMLNodeES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb1ELb1ELb1EEEE5clearEv at Base 2.5.2
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNSt10_HashtableIN7citygml8NodeType7XMLNodeES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb1ELb1ELb1EEEE9_M_rehashEjRKj at Base 1.4.3
  (optional=templinst|arch=alpha amd64 arm64 ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt10_HashtableIN7citygml8NodeType7XMLNodeES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb1ELb1ELb1EEEE9_M_rehashEmRKm at Base 2.0.9
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNSt10_HashtableIN7citygml8NodeType7XMLNodeESt4pairIKS2_St8functionIFvPNS0_7AddressERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEESaISI_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENSK_18_Mod_range_hashingENSK_20_Default_ranged_hashENSK_20_Prime_rehash_policyENSK_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashEjRKj at Base 1.4.3
  (optional=templinst|arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt10_HashtableIN7citygml8NodeType7XMLNodeESt4pairIKS2_St8functionIFvPNS0_7AddressERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEESaISI_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENSK_18_Mod_range_hashingENSK_20_Default_ranged_hashENSK_20_Prime_rehash_policyENSK_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashEmRKm at Base 1.4.3
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEE9_M_rehashEjRKj at Base 1.4.3
- (optional=templinst|arch=alpha amd64 arm64 ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEE9_M_rehashEmRKm at Base 2.4.1
  (optional=templinst|subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml10CityObject15CityObjectsTypeEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashE{size_t}RK{size_t}@Base 2.5.0
- (optional=templinst|arch=amd64 arm64 hppa|subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml10CityObject15CityObjectsTypeEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEEC1ESt16initializer_listISB_E{size_t}RKSI_RKSG_RKSC_ at Base 2.5.0
- (optional=templinst|arch=alpha armel armhf hurd-i386 i386 ia64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64|subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml10CityObject15CityObjectsTypeEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEEC1IPKSB_EET_SS_{size_t}RKSI_RKSG_RKSC_St17integral_constantIbLb1EE at Base 2.5.1
- (optional=templinst|arch=amd64 arm64 hppa|subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml10CityObject15CityObjectsTypeEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEEC2ESt16initializer_listISB_E{size_t}RKSI_RKSG_RKSC_ at Base 2.5.0
- (optional=templinst|arch=alpha armel armhf hurd-i386 i386 ia64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64|subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml10CityObject15CityObjectsTypeEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEEC2IPKSB_EET_SS_{size_t}RKSI_RKSG_RKSC_St17integral_constantIbLb1EE at Base 2.5.1
+ (optional=templinst|arch=alpha amd64 armel armhf hurd-i386 i386 ia64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64|subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml10CityObject15CityObjectsTypeEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEEC1IPKSB_EET_SS_{size_t}RKSI_RKSG_RKSC_St17integral_constantIbLb1EE at Base 2.5.1
+ (optional=templinst|arch=alpha amd64 armel armhf hurd-i386 i386 ia64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64|subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml10CityObject15CityObjectsTypeEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEEC2IPKSB_EET_SS_{size_t}RKSI_RKSG_RKSC_St17integral_constantIbLb1EE at Base 2.5.1
  (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml10CityObject15CityObjectsTypeEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEED1Ev at Base 1.4.3
  (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml10CityObject15CityObjectsTypeEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev at Base 1.4.3
  (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN7citygml16AppearanceTargetEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE5clearEv at Base 1.4.3
@@ -1183,10 +1180,9 @@ libcitygml.so.2 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml24MaterialTargetDefinitionEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD1Ev at Base 2.0.9
  (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml24MaterialTargetDefinitionEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev at Base 2.0.9
  (optional=templinst|subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml24MaterialTargetDefinitionEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_insert_unique_nodeE{size_t}{size_t}PNSE_10_Hash_nodeISC_Lb1EEE{size_t}@Base 2.0.9
+ (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml24MaterialTargetDefinitionEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE5clearEv at Base 2.5.2
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml24MaterialTargetDefinitionEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashEjRKj at Base 1.4.3
  (optional=templinst|arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml24MaterialTargetDefinitionEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashEmRKm at Base 1.4.3
- (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml24MaterialTargetDefinitionEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEED1Ev at Base 1.4.3
- (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml24MaterialTargetDefinitionEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev at Base 1.4.3
  (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml7PolygonEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE5clearEv at Base 1.4.3
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml7PolygonEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashEjRKj at Base 2.0.4
  (optional=templinst|arch=alpha amd64 arm64 ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN7citygml7PolygonEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashEmRKm at Base 2.0.9
@@ -1199,6 +1195,8 @@ libcitygml.so.2 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorI5TVec2IfESaISA_EEESaISD_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSF_18_Mod_range_hashingENSF_20_Default_ranged_hashENSF_20_Prime_rehash_policyENSF_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev at Base 1.4.3
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNSt10_HashtableIPN7citygml10LineStringESt4pairIKS2_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISB_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb0ELb0ELb1EEEE9_M_rehashEjRKj at Base 2.0
  (optional=templinst|arch=alpha amd64 arm64 ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt10_HashtableIPN7citygml10LineStringESt4pairIKS2_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISB_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb0ELb0ELb1EEEE9_M_rehashEmRKm at Base 2.0
+ (optional=templinst)_ZNSt10_HashtableIPN7citygml10LineStringESt4pairIKS2_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISB_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb0ELb0ELb1EEEED1Ev at Base 2.5.2
+ (optional=templinst)_ZNSt10_HashtableIPN7citygml10LineStringESt4pairIKS2_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISB_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev at Base 2.5.2
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZNSt10_HashtableIPN7citygml23TextureTargetDefinitionES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb1ELb1EEEE9_M_rehashEjRKj at Base 1.4.3
  (optional=templinst|arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt10_HashtableIPN7citygml23TextureTargetDefinitionES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb1ELb1EEEE9_M_rehashEmRKm at Base 1.4.3
  (optional=templinst)_ZNSt10_HashtableIPN7citygml23TextureTargetDefinitionES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb1ELb1EEEED1Ev at Base 1.4.3
@@ -1215,13 +1213,14 @@ libcitygml.so.2 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt10shared_ptrIN7citygml18TextureCoordinatesEEC2ISaIvEJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_EEESt20_Sp_alloc_shared_tagIT_EDpOT0_ at Base 2.5.0
  (optional=templinst)_ZNSt10unique_ptrI14TesselatorBaseSt14default_deleteIS0_EED1Ev at Base 2.5.0
  (optional=templinst)_ZNSt10unique_ptrI14TesselatorBaseSt14default_deleteIS0_EED2Ev at Base 2.5.0
- (optional=templinst)_ZNSt12_Destroy_auxILb0EE9__destroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvT_S9_ at Base 2.0.9
  (optional=templinst)_ZNSt13unordered_mapIN7citygml8NodeType7XMLNodeESt8functionIFvPNS0_7AddressERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_SF_EEED1Ev at Base 1.4.3
  (optional=templinst)_ZNSt13unordered_mapIN7citygml8NodeType7XMLNodeESt8functionIFvPNS0_7AddressERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_SF_EEED2Ev at Base 1.4.3
  (optional=templinst)_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN7citygml10CityObject15CityObjectsTypeESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEED1Ev at Base 1.4.3
  (optional=templinst)_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN7citygml10CityObject15CityObjectsTypeESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEED2Ev at Base 1.4.3
  (optional=templinst)_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7citygml8NodeType7XMLNodeESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S9_EEED1Ev at Base 1.4.3
  (optional=templinst)_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7citygml8NodeType7XMLNodeESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S9_EEED2Ev at Base 1.4.3
+ (optional=templinst)_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN7citygml23TextureTargetDefinitionEESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S9_EEE6insertINSt8__detail20_Node_const_iteratorISG_Lb0ELb1EEEEEvT_SN_ at Base 2.5.2
+ (optional=templinst)_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN7citygml24MaterialTargetDefinitionEESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S9_EEE6insertINSt8__detail20_Node_const_iteratorISG_Lb0ELb1EEEEEvT_SN_ at Base 2.5.2
  (optional=templinst|arch=ia64 mips64el ppc64el riscv64 sparc64)_ZNSt13unordered_mapIiN7citygml10CityObject15CityObjectsTypeESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEE6insertIS7_IiS2_EEENSt9enable_ifIXsrSt16is_constructibleIS9_JOT_EE5valueES7_INSt8__detail14_Node_iteratorIS9_Lb0ELb0EEEbEE4typeESH_ at Base 2.4.1
  (optional=templinst)_ZNSt13unordered_mapIiN7citygml10CityObject15CityObjectsTypeESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEED1Ev at Base 1.4.3
  (optional=templinst)_ZNSt13unordered_mapIiN7citygml10CityObject15CityObjectsTypeESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEED2Ev at Base 1.4.3
@@ -1446,11 +1445,17 @@ libcitygml.so.2 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt5dequeISt10shared_ptrIN7citygml13ElementParserEESaIS3_EED1Ev at Base 1.4.3
  (optional=templinst)_ZNSt5dequeISt10shared_ptrIN7citygml13ElementParserEESaIS3_EED2Ev at Base 1.4.3
  (optional=templinst)_ZNSt6vectorI5TVec2IdESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_ at Base 2.0.4
+ (optional=templinst)_ZNSt6vectorI5TVec2IdESaIS1_EED1Ev at Base 2.5.2
+ (optional=templinst)_ZNSt6vectorI5TVec2IdESaIS1_EED2Ev at Base 2.5.2
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64el !ppc64 !ppc64el !riscv64 !s390 !s390x !sparc64)_ZNSt6vectorI5TVec2IfESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEjRKS1_ at Base 0.14
  (optional=templinst|arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt6vectorI5TVec2IfESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_ at Base 0.14
  (optional=templinst)_ZNSt6vectorI5TVec2IfESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_ at Base 2.0.4
+ (optional=templinst)_ZNSt6vectorI5TVec2IfESaIS1_EED1Ev at Base 2.5.2
+ (optional=templinst)_ZNSt6vectorI5TVec2IfESaIS1_EED2Ev at Base 2.5.2
  (optional=templinst)_ZNSt6vectorI5TVec3IdESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_ at Base 2.0.4
  (optional=templinst)_ZNSt6vectorI5TVec3IdESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_ at Base 2.5.0
+ (optional=templinst)_ZNSt6vectorI5TVec3IdESaIS1_EED1Ev at Base 2.5.2
+ (optional=templinst)_ZNSt6vectorI5TVec3IdESaIS1_EED2Ev at Base 2.5.2
  (optional=templinst)_ZNSt6vectorIN10Tesselator10ContourRefESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_ at Base 2.5.1
  (optional=templinst)_ZNSt6vectorIN7citygml14PolygonManager14PolygonRequestESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_ at Base 2.0.4
  (optional=templinst)_ZNSt6vectorIN7citygml15GeometryManager15GeometryRequestESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_ at Base 2.0.4
@@ -1459,7 +1464,11 @@ libcitygml.so.2 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev at Base 1.4.3
  (optional=templinst)_ZNSt6vectorIPKN7citygml10CityObjectESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_ at Base 2.0.4
  (optional=templinst)_ZNSt6vectorIPKN7citygml10CityObjectESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_ at Base 2.0.9
+ (optional=templinst)_ZNSt6vectorIPKN7citygml10CityObjectESaIS3_EED1Ev at Base 2.5.2
+ (optional=templinst)_ZNSt6vectorIPKN7citygml10CityObjectESaIS3_EED2Ev at Base 2.5.2
  (optional=templinst)_ZNSt6vectorIPN7citygml13ElementParserESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_ at Base 2.0.4
+ (optional=templinst)_ZNSt6vectorIPN7citygml13ElementParserESaIS2_EED1Ev at Base 2.5.2
+ (optional=templinst)_ZNSt6vectorIPN7citygml13ElementParserESaIS2_EED2Ev at Base 2.5.2
  (optional=templinst)_ZNSt6vectorIS_I5TVec2IfESaIS1_EESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_ at Base 2.0.4
  (optional=templinst)_ZNSt6vectorIS_I5TVec2IfESaIS1_EESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_ at Base 2.0.4
  (optional=templinst)_ZNSt6vectorIS_I5TVec2IfESaIS1_EESaIS3_EED1Ev at Base 1.4.3
@@ -1480,13 +1489,13 @@ libcitygml.so.2 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt6vectorISt10unique_ptrIN7citygml8GeometryESt14default_deleteIS2_EESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_ at Base 2.0.4
  (optional=templinst)_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJRKfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_ at Base 2.0.9
  (optional=templinst)_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_ at Base 2.0.9
+ (optional=templinst)_ZNSt6vectorIfSaIfEED1Ev at Base 2.5.2
+ (optional=templinst)_ZNSt6vectorIfSaIfEED2Ev at Base 2.5.2
  (optional=templinst)_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_ at Base 2.0.4
  (optional=templinst)_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_ at Base 2.5.0
  (optional=templinst)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev at Base 1.4.3
  (optional=templinst)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev at Base 1.4.3
  (optional=templinst)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev at Base 1.4.3
- (optional=templinst)_ZNSt8_Rb_treeIN7citygml10CityObject15CityObjectsTypeESt4pairIKS2_St6vectorIPKS1_SaIS7_EEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE24_M_get_insert_unique_posERS4_ at Base 1.4.3
- (optional=templinst|arch=amd64 arm64 hppa ia64 kfreebsd-amd64 m68k mips64el ppc64el riscv64 sh4 sparc64 x32)_ZNSt8_Rb_treeIN7citygml10CityObject15CityObjectsTypeESt4pairIKS2_St6vectorIPKS1_SaIS7_EEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISA_ERS4_ at Base 1.4.3
  (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml14AttributeValueEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE24_M_get_insert_unique_posERS7_ at Base 2.0.4
  (optional=templinst|arch=amd64 arm64 hppa ia64 m68k mips64el ppc64el riscv64 sh4 sparc64 x32)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N7citygml14AttributeValueEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISA_ERS7_ at Base 2.0.4
  (optional=templinst|arch=amd64 arm64 hppa ia64 mips64el ppc64el riscv64 sparc64)_ZNSt8__detail7_InsertIiiSaIiENS_9_IdentityESt8equal_toIiESt4hashIiENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb0ELb1ELb1EEELb1EE6insertEOi at Base 2.5.0


=====================================
osgplugin/ReaderWriterCityGML.cpp
=====================================
@@ -41,6 +41,7 @@
 #include <citygml/polygon.h>
 #include <citygml/material.h>
 #include <citygml/texture.h>
+#include <citygml/tesselator.h>
 #include <citygml/citygmllogger.h>
 
 #include <algorithm>
@@ -189,8 +190,8 @@ osgDB::ReaderWriter::ReadResult ReaderWriterCityGML::readNode( const std::string
     std::streambuf* cerrsb = std::cerr.rdbuf( osg::notify(osg::NOTICE).rdbuf() );
 
     osg::notify(osg::NOTICE) << "Parsing CityGML file " << fileName << "..." << std::endl;
-
-    std::shared_ptr<const citygml::CityModel> city = citygml::load( fileName, settings._params, m_logger );
+    std::unique_ptr<TesselatorBase> tesselator = std::unique_ptr<TesselatorBase>(new Tesselator(nullptr));
+    std::shared_ptr<const citygml::CityModel> city = citygml::load( fileName, settings._params, std::move(tesselator), m_logger );
 
     ReadResult rr = readCity( city, settings );
 
@@ -221,8 +222,8 @@ osgDB::ReaderWriter::ReadResult ReaderWriterCityGML::readNode( std::istream& fin
     std::streambuf* cerrsb = std::cerr.rdbuf( osg::notify(osg::NOTICE).rdbuf() );
 
     osg::notify(osg::NOTICE) << "Parsing CityGML stream..." << std::endl;
-
-    std::shared_ptr<const citygml::CityModel> city = citygml::load( fin, settings._params );
+    std::unique_ptr<TesselatorBase> tesselator = std::unique_ptr<TesselatorBase>(new Tesselator(nullptr));
+    std::shared_ptr<const citygml::CityModel> city = citygml::load( fin, settings._params, std::move(tesselator), m_logger);
 
     ReadResult rr = readCity( city, settings );
 


=====================================
sources/include/citygml/appearancetarget.h
=====================================
@@ -36,6 +36,7 @@ namespace citygml {
 
         std::vector<TextureTargetDefinition*> getTextureTargetDefinitions();
 
+        std::vector<std::string> getAllMaterialThemes(bool front) const;
         std::vector<std::string> getAllTextureThemes(bool front) const;
 
     protected:


=====================================
sources/include/citygml/citygml.h
=====================================
@@ -67,11 +67,11 @@ namespace citygml
             , minLOD( 0 )
             , maxLOD( 4 )
             , optimize( false )
-            , tesselate( true )
             , pruneEmptyObjects( false )
+            , tesselate( true )
+            , keepVertices ( false )
             , destSRS( "" )
             , srcSRS( "" )
-            , keepVertices ( false )
         { }
 
     public:


=====================================
sources/include/parser/nodetypes.h
=====================================
@@ -132,6 +132,7 @@ namespace citygml {
         NODETYPE( GML, MultiCurve )
         NODETYPE( GML, MultiSurface )
         NODETYPE( GML, MultiSolid )
+        NODETYPE( GML, MultiGeometry )
 
         NODETYPE( GML, CompositeCurve )
         NODETYPE( GML, CompositeSurface )


=====================================
sources/src/citygml/appearancetarget.cpp
=====================================
@@ -108,6 +108,16 @@ namespace citygml {
         return std::vector<TextureTargetDefinition*>(texTargetDefs.begin(), texTargetDefs.end());
     }
 
+    std::vector<std::string> AppearanceTarget::getAllMaterialThemes(bool front) const
+    {
+        auto& map = front ? m_themeMatMapFront : m_themeMatMapBack;
+        std::vector<std::string> themes;
+        for (const auto& pair : map) {
+            themes.push_back(pair.first);
+        }
+        return themes;
+    }
+
     std::vector<std::string> AppearanceTarget::getAllTextureThemes(bool front) const
     {
         auto& map = front ? m_themeTexMapFront : m_themeTexMapBack;


=====================================
sources/src/parser/citygmldocumentparser.cpp
=====================================
@@ -1,4 +1,5 @@
 #include "parser/citygmldocumentparser.h"
+#include "parser/delayedchoiceelementparser.h"
 #include "parser/documentlocation.h"
 #include "parser/nodetypes.h"
 #include "parser/elementparser.h"
@@ -99,6 +100,15 @@ namespace citygml {
 
         m_activeParser = m_parserStack.top();
         CITYGML_LOG_TRACE(m_logger, "Invoke " << m_activeParser->elementParserName() << "::endElement for <" << node << "> at " << getDocumentLocation());
+        
+        if(std::dynamic_pointer_cast<DelayedChoiceElementParser>(m_activeParser) != nullptr) {
+            // We try to close a DelayedChoiceElementParser:
+            // this means no node has been found that contains any of the delayed choice nodes
+            // This is not directly an error: this needs to be treated as an empty node
+            CITYGML_LOG_DEBUG(m_logger, "End tag found while the active parser is a DelayedChoiceElementParser. This probably means the node is empty. The close node is: <" << node << "> at " << getDocumentLocation());
+            removeCurrentElementParser(m_activeParser.get());
+            m_activeParser = m_parserStack.top();
+        }
         if (!m_activeParser->endElement(node, characters)) {
             CITYGML_LOG_ERROR(m_logger, "Active parser " << m_activeParser->elementParserName() << " reports end tag <" << node << "> at " << getDocumentLocation() << " as "
                               << "unknown, but it seems as if the corresponding start tag was not reported as unknown. Please check the parser implementation."


=====================================
sources/src/parser/externalreferenceparser.cpp
=====================================
@@ -17,7 +17,7 @@ namespace citygml {
     }
 
     bool ExternalReferenceParser::handlesElement(NodeType::XMLNode const& node) const {
-        return node.typeID() == NodeType::CORE_ExternalReferenceNode.typeID();
+        return (node.typeID() == NodeType::CORE_ExternalReferenceNode.typeID() || node.typeID() == NodeType::CORE_InformationSystemNode.typeID());
     }
 
     bool ExternalReferenceParser::parseElementStartTag(NodeType::XMLNode const& node, Attributes & attributes) {


=====================================
sources/src/parser/geometryelementparser.cpp
=====================================
@@ -61,6 +61,7 @@ namespace citygml {
                 geometryTypeIDSet.insert(NodeType::GML_SurfaceNode.typeID());
 				geometryTypeIDSet.insert(NodeType::GML_MultiCurveNode.typeID());
                 geometryTypeIDSet.insert(NodeType::GML_MultiPointNode.typeID());
+                geometryTypeIDSet.insert(NodeType::GML_MultiGeometryNode.typeID());
                 geometryTypeIDSetInitialized = true;
 
             }


=====================================
sources/src/parser/nodetypes.cpp
=====================================
@@ -202,6 +202,7 @@ namespace citygml {
                 INITIALIZE_NODE( GML, MultiCurve )
                 INITIALIZE_NODE( GML, MultiSurface )
                 INITIALIZE_NODE( GML, MultiSolid )
+                INITIALIZE_NODE( GML, MultiGeometry )
 
                 INITIALIZE_NODE( GML, CompositeCurve )
                 INITIALIZE_NODE( GML, CompositeSurface )
@@ -577,6 +578,7 @@ namespace citygml {
     DEFINE_NODE( GML, MultiCurve )
     DEFINE_NODE( GML, MultiSurface )
     DEFINE_NODE( GML, MultiSolid )
+    DEFINE_NODE( GML, MultiGeometry )
 
     DEFINE_NODE( GML, CompositeCurve )
     DEFINE_NODE( GML, CompositeSurface )


=====================================
sources/src/parser/parserxercesc.cpp
=====================================
@@ -65,10 +65,10 @@ std::shared_ptr<XMLCh> toXercesString(const std::string& str) {
 class DocumentLocationXercesAdapter : public citygml::DocumentLocation {
 public:
     explicit DocumentLocationXercesAdapter(const std::string& fileName)
-		: m_locator(nullptr)
-		, m_fileName(fileName)
-	{
-        
+        : m_locator(nullptr)
+        , m_fileName(fileName)
+    {
+
     }
 
     void setLocator(const xercesc::Locator* locator) {
@@ -124,6 +124,8 @@ public:
     // ContentHandler interface
     virtual void startElement(const XMLCh* const, const XMLCh* const, const XMLCh* const qname, const xercesc::Attributes& attrs) override {
         AttributesXercesAdapter attributes(attrs, m_documentLocation, m_logger);
+        // We need to empty m_lastcharacters here, because if a tag is empty, characters(...) will never be called and this variable will contain wrong values
+        m_lastcharacters = "";
         CityGMLDocumentParser::startElement(toStdString(qname), attributes);
     }
 
@@ -133,7 +135,7 @@ public:
     }
 
     virtual void characters(const XMLCh* const chars, const XMLSize_t) override {
-        m_lastcharacters = toStdString(chars);
+        m_lastcharacters += toStdString(chars);
     }
 
     virtual void startDocument() override {
@@ -240,7 +242,7 @@ namespace citygml
             }
 
             stream << " " << message << std::endl;
-        }     
+        }
     };
 
     std::mutex xerces_init_mutex;


=====================================
test/CMakeLists.txt
=====================================
@@ -31,3 +31,8 @@ if(NOT DEFINED BIN_INSTALL_DIR)
 endif(NOT DEFINED BIN_INSTALL_DIR)
 
 install(TARGETS citygmltest RUNTIME DESTINATION ${BIN_INSTALL_DIR})
+
+
+add_test(NAME berlin_open_data_sample_data COMMAND citygmltest ../../data/berlin_open_data_sample_data.citygml)
+add_test(NAME b1_lod2_s COMMAND citygmltest ../../data/b1_lod2_s.gml)
+add_test(NAME FZK-Haus-LoD0-KIT-IAI-KHH-B36-V1 COMMAND citygmltest ../../data/FZK-Haus-LoD0-KIT-IAI-KHH-B36-V1.gml)
\ No newline at end of file


=====================================
test/citygmltest.cpp
=====================================
@@ -22,6 +22,7 @@
 #include <citygml/citymodel.h>
 #include <citygml/cityobject.h>
 #include <citygml/geometry.h>
+#include <citygml/implictgeometry.h>
 
 #ifdef LIBCITYGML_USE_OPENGL
 #include <citygml/tesselator.h>
@@ -171,6 +172,17 @@ void printGeometry( const citygml::Geometry& geometry, unsigned int indent )
   }
 }
 
+
+void printImplicitGeometry( const citygml::ImplicitGeometry& implicitGeometry, unsigned int indent ) 
+{
+    printIndent(indent);
+    std::cout << "Reference point " << implicitGeometry.getReferencePoint() << std::endl;
+    for ( unsigned int i = 0; i < implicitGeometry.getGeometriesCount(); i++ ) 
+    {
+        printGeometry( implicitGeometry.getGeometry(i), indent+1 );
+    }
+}
+
 void analyzeObject( const citygml::CityObject& object, unsigned int indent )
 {
    printIndent(indent);
@@ -181,6 +193,10 @@ void analyzeObject( const citygml::CityObject& object, unsigned int indent )
    {
        printGeometry( object.getGeometry(i), indent+1 );
    }
+   for ( unsigned int i = 0; i < object.getImplicitGeometryCount(); i++ ) 
+   {
+       printImplicitGeometry( object.getImplicitGeometry(i), indent+1 );
+   }
 
    for ( unsigned int i = 0; i < object.getChildCityObjectsCount(); i++ )
        analyzeObject( object.getChildCityObject(i), indent+1 );



View it on GitLab: https://salsa.debian.org/debian-gis-team/libcitygml/-/compare/433d3286ab8f202edf5f424c6abd1588aa3cfa7d...aeb3f8c904257ca94ad35935e3b5fedb1bd89b58

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/libcitygml/-/compare/433d3286ab8f202edf5f424c6abd1588aa3cfa7d...aeb3f8c904257ca94ad35935e3b5fedb1bd89b58
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20240105/1af4cb44/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list