diff --git a/Jenkinsfile b/Jenkinsfile index 1d75ba2b..2e88f403 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -134,5 +134,5 @@ def buildConfig(String src, String tgt, Map cfg, List deps, List defs) { cepl.cleanCurrentDir() unstash(name: SOURCE_STASH) deps.each { d -> papl.fetchDependency(d, cfg) } - papl.runCMakeBuild(src, 'build', tgt, cfg, defs, JenkinsTools.CMAKE319) + papl.runCMakeBuild(src, 'build', tgt, cfg, defs, JenkinsTools.CMAKE327) } diff --git a/README.md b/README.md index 255bb651..52c40e37 100644 --- a/README.md +++ b/README.md @@ -79,8 +79,8 @@ Please note that the individual example READMEs may include further requirements ### All Platforms -* To load custom encoders built with the latest SDK, CityEngine 2024.0 is required. For older versions of CityEngine an older version of the SDK might have to be used, see [Release History](#release-history-and-changelog). Some SDK versions don't have a matching CityEngine. -* A license for the corresponding CityEngine version. For example, a license for CityEngine 2024.0 to author Rule Packages for the current SDK release. +* To load custom encoders built with the latest SDK, CityEngine 2024.1 is required. For older versions of CityEngine an older version of the SDK might have to be used, see [Release History](#release-history-and-changelog). Some SDK versions don't have a matching CityEngine. +* A license for the corresponding CityEngine version. For example, a license for CityEngine 2024.1 to author Rule Packages for the current SDK release. * CMake 3.19 or later () ### Windows @@ -99,6 +99,8 @@ Please note that the individual example READMEs may include further requirements A detailed list of changes to the API, CGA language and built-in codecs can be found in the [Changelog](changelog.md). +* [v3.2.10650 (2024-11-20, CityEngine 2024.1)](https://github.com/Esri/cityengine-sdk/releases/tag/3.2.10650) +* [v3.2.10352 (2024-08-23, ArcGIS Pro 3.4, Enterprise 11.4)](https://github.com/Esri/cityengine-sdk/releases/tag/3.2.10352) * [v3.2.10211 (2024-07-11, CityEngine 2024.0)](https://github.com/Esri/cityengine-sdk/releases/tag/3.2.10211) * [v3.2.9903 (2024-06-11, ArcGIS Pro 3.3, Enterprise 11.3)](https://github.com/Esri/cityengine-sdk/releases/tag/3.2.9903) * [v3.1.9666 (2023-11-20, CityEngine 2023.1)](https://github.com/Esri/cityengine-sdk/releases/tag/3.1.9666) diff --git a/changelog.md b/changelog.md index 616043ef..22df2b59 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,78 @@ +# CITYENGINE SDK 3.2.10650 CHANGELOG + +This section lists changes compared to CityEngine SDK 3.2.10352. + +## General Info +* CityEngine SDK 3.2.10650 is used in CityEngine 2024.1.10650. + +## PRT API +* `prt::Attributable::toXML()`: fixed a bug where some float numbers were converted to wrong string values in rare cases. Further, the maximum number of digits in the string representation was reduced by 1. + +## PRTX API +* `prtx::EncodePreparator`: fixed a bug in merge-by-material setups where vertex normals for faces with holes were wrong when meshes with vertex nomals were merged with meshes without vertex normals. + +## CGA +* New features: + * inline keyword: Allows to immediately generate a rule and continue working on the resulting shape(s). This means any rule can be used like a builtin shape operation. + * union, subtract, intersect keywords: added Boolean 3D operations. + * extrude operation: Added support to extrude edges. +* New operations: + * tag operation +* Changes to existing features: + * i operation: The new parameter cleanupMode allows for disabling the numerical geometry cleanup for inserted asset. This improves the support for assets with tiny details. + * cleanupGeometry operation: Removing coplanar edges now preserves the first edge. + * Floating point precision: + * All internal geometry processing was switched form float to double precision. The numerical behaviour is more accurate now. It is possible that some rules change behaviour because e.g a float value comparison gives a different result now. + * Float to string conversion (e.g. str() function and print() operation): fixed wrong string values in rare cases. Further, the maximum number of digits in the string representation was reduced by 1. + +## Built-In Codecs +* ShapeBuffer Encoder: + * Disabled vertex / normal / uv merging. This preserves small geometric details and improves performance. +* USD Decoder: + * Fixed a race condition which led to decode failures if multiple assets with the same ResolveMap key were decoded at the same time. + + +# CITYENGINE SDK 3.2.10352 CHANGELOG + +This section lists changes compared to CityEngine SDK 3.2.10211. + +## General Info +* The focus of this release is to fix some issues which are important for certain client applications such as ArcGIS Pro. There is no CityEngine version using this version of the SDK. + +## PRT API +* `prt::RuleFileInfo`: fixed wrong rule parameter names (i.e., `prt::RuleFileInfo::Parameter::getName()` and `prt::RuleFileInfo::toXML()`). + +## PRTX API +* No changes. + +## CGA +* New operations: + * copyUV operation +* New functions: + * geometry.hasUVs function + +## Built-In Codecs +* IFC, DWG Decoders, Encoders: + * Fixed a rare deadlock if run in a multithreaded setup. + * Updated to ODA 25.6 library. +* IFC Decoder: + * Added support for exotic versions (like 4x1 and 4x2). +* Shapebuffer Decoder: + * Fixed a crash when faces had less than 3 vertices. Such faces are ignored now. + * Fixed a bug where the first edge of triangle fans and strips was wrong. +* OBJ and GLTF Encoders: + * Non-ASCII characters are supported now. Previously these were replaced by '_'. + * No '_0' suffix is added to the filename anymore if the "memory budget" option is disabled. +* DAE, FBX and VOB Encoders: + * No '_0' suffix is added to the filename anymore if the "memory budget" option is disabled. +* USD Decoder: + * Fixed a bug where duplicate materials were created (instead of one shared material). + * Fixed a bug where Material attribute overrides in USD meshes were ignored by the importer in some cases. + +## Misc Changes and Fixes +* Applied security updates for libxml (2.13.3) and giflib (5.2.2). + + # CITYENGINE SDK 3.2.10211 CHANGELOG This section lists changes compared to CityEngine SDK 3.2.9903. diff --git a/examples/prt4cmd/src/CMakeLists.txt b/examples/prt4cmd/src/CMakeLists.txt index bee77c64..c3064689 100644 --- a/examples/prt4cmd/src/CMakeLists.txt +++ b/examples/prt4cmd/src/CMakeLists.txt @@ -37,7 +37,7 @@ if(NOT prt_DIR) set(PRT_TC "gcc112") endif() - set(PRT_VERSION "3.2.10211") + set(PRT_VERSION "3.2.10650") set(PRT_CLS "${PRT_OS}-${PRT_TC}-x86_64-rel-opt") set(PRT_URL "https://github.com/esri/cityengine-sdk/releases/download/${PRT_VERSION}/esri_ce_sdk-${PRT_VERSION}-${PRT_CLS}.zip") diff --git a/examples/prt4cmd/src/logging.h b/examples/prt4cmd/src/logging.h index ca874066..def2511b 100644 --- a/examples/prt4cmd/src/logging.h +++ b/examples/prt4cmd/src/logging.h @@ -5,7 +5,7 @@ * * See README.md in https://github.com/Esri/cityengine-sdk for build instructions. * - * Copyright (c) 2012-2023 Esri R&D Center Zurich + * Copyright (c) 2012-2024 Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/examples/prt4cmd/src/prt4cmd.cpp b/examples/prt4cmd/src/prt4cmd.cpp index a75cb36b..1fd434a7 100755 --- a/examples/prt4cmd/src/prt4cmd.cpp +++ b/examples/prt4cmd/src/prt4cmd.cpp @@ -5,7 +5,7 @@ * * See README.md in https://github.com/Esri/cityengine-sdk for build instructions. * - * Copyright (c) 2012-2023 Esri R&D Center Zurich + * Copyright (c) 2012-2024 Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/examples/prt4cmd/src/utils.cpp b/examples/prt4cmd/src/utils.cpp index a1b7e2aa..a40451c5 100644 --- a/examples/prt4cmd/src/utils.cpp +++ b/examples/prt4cmd/src/utils.cpp @@ -5,7 +5,7 @@ * * See README.md in https://github.com/Esri/cityengine-sdk for build instructions. * - * Copyright (c) 2012-2023 Esri R&D Center Zurich + * Copyright (c) 2012-2024 Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/examples/prt4cmd/src/utils.h b/examples/prt4cmd/src/utils.h index f31a55d8..356803b9 100644 --- a/examples/prt4cmd/src/utils.h +++ b/examples/prt4cmd/src/utils.h @@ -5,7 +5,7 @@ * * See README.md in https://github.com/Esri/cityengine-sdk for build instructions. * - * Copyright (c) 2012-2023 Esri R&D Center Zurich + * Copyright (c) 2012-2024 Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/examples/prt4cmd/test/test_candler.sh b/examples/prt4cmd/test/test_candler.sh index 8cd23a7e..508b003c 100755 --- a/examples/prt4cmd/test/test_candler.sh +++ b/examples/prt4cmd/test/test_candler.sh @@ -2,7 +2,7 @@ T="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" R="$(dirname "${T}")" -U="https://github.com/Esri/cityengine-sdk/releases/download/3.2.10211/esri_ce_sdk-example_data-v3.zip" +U="https://github.com/Esri/cityengine-sdk/releases/download/3.2.10650/esri_ce_sdk-example_data-v3.zip" D="${R}/data" O="${R}/output" diff --git a/examples/stldec/src/CMakeLists.txt b/examples/stldec/src/CMakeLists.txt index 218e3ee7..da1aad50 100644 --- a/examples/stldec/src/CMakeLists.txt +++ b/examples/stldec/src/CMakeLists.txt @@ -45,7 +45,7 @@ if(NOT prt_DIR) set(PRT_TC "gcc112") endif() - set(PRT_VERSION "3.2.10211") + set(PRT_VERSION "3.2.10650") set(PRT_CLS "${PRT_OS}-${PRT_TC}-x86_64-rel-opt") set(PRT_URL "https://github.com/esri/cityengine-sdk/releases/download/${PRT_VERSION}/esri_ce_sdk-${PRT_VERSION}-${PRT_CLS}.zip") diff --git a/examples/stldec/src/STLDecoder.cpp b/examples/stldec/src/STLDecoder.cpp index 2fefb73c..dc2c5890 100644 --- a/examples/stldec/src/STLDecoder.cpp +++ b/examples/stldec/src/STLDecoder.cpp @@ -9,7 +9,7 @@ * Written by Simon Haegler * Esri R&D Center Zurich, Switzerland * - * Copyright 2012-2023 (c) Esri R&D Center Zurich + * Copyright 2012-2024 (c) Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/examples/stldec/src/STLDecoder.h b/examples/stldec/src/STLDecoder.h index 71f274b0..07f3aa13 100644 --- a/examples/stldec/src/STLDecoder.h +++ b/examples/stldec/src/STLDecoder.h @@ -9,7 +9,7 @@ * Written by Simon Haegler * Esri R&D Center Zurich, Switzerland * - * Copyright 2012-2023 (c) Esri R&D Center Zurich + * Copyright 2012-2024 (c) Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/examples/stldec/src/main.cpp b/examples/stldec/src/main.cpp index 2ddbff88..513ffeaa 100644 --- a/examples/stldec/src/main.cpp +++ b/examples/stldec/src/main.cpp @@ -9,7 +9,7 @@ * Written by Simon Haegler * Esri R&D Center Zurich, Switzerland * - * Copyright 2012-2023 (c) Esri R&D Center Zurich + * Copyright 2012-2024 (c) Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/examples/stlenc/src/CMakeLists.txt b/examples/stlenc/src/CMakeLists.txt index 8ca07e0a..4c54dbac 100644 --- a/examples/stlenc/src/CMakeLists.txt +++ b/examples/stlenc/src/CMakeLists.txt @@ -34,7 +34,7 @@ if(NOT prt_DIR) set(PRT_TC "gcc112") endif() - set(PRT_VERSION "3.2.10211") + set(PRT_VERSION "3.2.10650") set(PRT_CLS "${PRT_OS}-${PRT_TC}-x86_64-rel-opt") set(PRT_URL "https://github.com/esri/cityengine-sdk/releases/download/${PRT_VERSION}/esri_ce_sdk-${PRT_VERSION}-${PRT_CLS}.zip") diff --git a/examples/stlenc/src/STLEncoder.cpp b/examples/stlenc/src/STLEncoder.cpp index 2aa5229a..86c8621f 100644 --- a/examples/stlenc/src/STLEncoder.cpp +++ b/examples/stlenc/src/STLEncoder.cpp @@ -9,7 +9,7 @@ * Written by Simon Haegler * Esri R&D Center Zurich, Switzerland * - * Copyright 2012-2023 (c) Esri R&D Center Zurich + * Copyright 2012-2024 (c) Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/examples/stlenc/src/STLEncoder.h b/examples/stlenc/src/STLEncoder.h index 4d7d974a..6b8aa21e 100644 --- a/examples/stlenc/src/STLEncoder.h +++ b/examples/stlenc/src/STLEncoder.h @@ -9,7 +9,7 @@ * Written by Simon Haegler * Esri R&D Center Zurich, Switzerland * - * Copyright 2012-2023 (c) Esri R&D Center Zurich + * Copyright 2012-2024 (c) Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/examples/stlenc/src/main.cpp b/examples/stlenc/src/main.cpp index 02915e7a..52877fee 100644 --- a/examples/stlenc/src/main.cpp +++ b/examples/stlenc/src/main.cpp @@ -9,7 +9,7 @@ * Written by Simon Haegler * Esri R&D Center Zurich, Switzerland * - * Copyright 2012-2023 (c) Esri R&D Center Zurich + * Copyright 2012-2024 (c) Esri R&D Center Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.