Skip to content

Commit

Permalink
Merge pull request #73 from Esri/develop
Browse files Browse the repository at this point in the history
Merge Develop to Main
  • Loading branch information
mama10 authored Jul 11, 2024
2 parents c96b7b0 + 3d31124 commit 001be3d
Show file tree
Hide file tree
Showing 10 changed files with 123 additions and 39 deletions.
16 changes: 8 additions & 8 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,17 @@ properties([disableConcurrentBuilds()])
@Field final String BUILD_TARGET = 'package'
@Field final Map CESDK_LATEST = PrtAppPipelineLibrary.Dependencies.CESDK_LATEST

@Field final Map DOCKER_IMAGE_LINUX_CONFIG = [ ba: psl.BA_LINUX_DOCKER, containerId: "build_tools/ce-tc-prt:almalinux8-gcc11-v2", containerWorkspace: "/tmp/app" ]

@Field final List CONFIGS_PREPARE = [
[ os: cepl.CFG_OS_RHEL7, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_GCC93, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64 ],
DOCKER_IMAGE_LINUX_CONFIG + [ os: cepl.CFG_OS_RHEL8, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_GCC112, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64 ],
]

@Field final List CONFIGS_BUILD = [
[ grp: 'latest', os: cepl.CFG_OS_RHEL7, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_GCC93, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64, deps: [ CESDK_LATEST ] ],
[ grp: 'latest', os: cepl.CFG_OS_WIN10, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_VC1427, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64, deps: [ CESDK_LATEST ] ],
[ grp: 'default', os: cepl.CFG_OS_RHEL7, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_GCC93, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64, deps: [] ],
[ grp: 'default', os: cepl.CFG_OS_WIN10, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_VC1427, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64, deps: [] ],
DOCKER_IMAGE_LINUX_CONFIG + [ grp: 'latest', os: cepl.CFG_OS_RHEL8, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_GCC112, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64, deps: [ CESDK_LATEST ] ],
[ grp: 'latest', os: cepl.CFG_OS_WIN10, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_VC1437, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64, deps: [ CESDK_LATEST ] ],
DOCKER_IMAGE_LINUX_CONFIG + [ grp: 'default', os: cepl.CFG_OS_RHEL8, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_GCC112, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64, deps: [] ],
[ grp: 'default', os: cepl.CFG_OS_WIN10, bc: cepl.CFG_BC_REL, tc: cepl.CFG_TC_VC1437, cc: cepl.CFG_CC_OPT, arch: cepl.CFG_ARCH_X86_64, deps: [] ],
]


Expand Down Expand Up @@ -132,7 +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) }
dir(path: 'build') {
papl.runCMakeBuild(src, tgt, cfg, defs, JenkinsTools.CMAKE319)
}
papl.runCMakeBuild(src, 'build', tgt, cfg, defs, JenkinsTools.CMAKE319)
}
31 changes: 19 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,21 @@ This document explains how to install the CityEngine SDK and how to work with th

## Table of Contents

* [Downloads](#downloads)
* [Examples](#examples)
* [Documentation](#documentation)
* [Related Software Products](#related-software-products)
* [General Software Requirements](#general-software-requirements)
* [Release History and Changelog](#release-history-and-changelog)
* [CityEngine Resources](#cityengine-resources)
* [Issues and Contributions](#issues-and-contributions)
* [Licensing](#licensing)
- [CityEngine SDK](#cityengine-sdk)
- [Quick Start](#quick-start)
- [Table of Contents](#table-of-contents)
- [Downloads](#downloads)
- [Examples](#examples)
- [Documentation](#documentation)
- [Related Software Products](#related-software-products)
- [General Software Requirements](#general-software-requirements)
- [All Platforms](#all-platforms)
- [Windows](#windows)
- [Linux](#linux)
- [Release History and Changelog](#release-history-and-changelog)
- [CityEngine Resources](#cityengine-resources)
- [Issues and Contributions](#issues-and-contributions)
- [Licensing](#licensing)

## Downloads

Expand Down Expand Up @@ -80,19 +86,20 @@ Please note that the individual example READMEs may include further requirements
### Windows

* Windows 10 or 11 (64bit)
* Required C++ compiler: Visual Studio 2019 with Toolset MSVC 14.27 or later
* Required C++ compiler: Visual Studio 2022 with Toolset MSVC 14.37 or later
* Required flags for extension libraries release mode: `/std:c++17 /bigobj /GR /EHsc /MD`

### Linux

* RedHat Enterprise Linux 8.x or 9.x and compatible (e.g. Alma Linux or Rocky Linux)
* Required C++ compiler: GCC 9.3 or later (RedHat Enterprise Linux DevToolSet 9)
* Required flags for extension libraries: `-std=c++17 -D_GLIBCXX_USE_CXX11_ABI=0 -march=nocona -fvisibility=hidden -fvisibility-inlines-hidden -Wl,--exclude-libs,ALL`
* Required C++ compiler: GCC 11.2 or later (RedHat Enterprise Linux DevToolSet 11)
* Required flags for extension libraries: `-std=c++17 -march=nocona -fvisibility=hidden -fvisibility-inlines-hidden -Wl,--exclude-libs,ALL`

## Release History and Changelog

A detailed list of changes to the API, CGA language and built-in codecs can be found in the [Changelog](changelog.md).

* [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)
* [v3.0.8961 (2023-10-05, ArcGIS Pro 3.2, Enterprise 11.2)](https://github.com/Esri/cityengine-sdk/releases/tag/3.0.8961)
Expand Down
80 changes: 79 additions & 1 deletion changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,81 @@
# CITYENGINE SDK 3.2.10211 CHANGELOG

This section lists changes compared to CityEngine SDK 3.2.9903.

## General Info
* CityEngine SDK 3.2.10211 is used in CityEngine 2024.0.10211.

## PRT API
* `prt::Object::toXML()` (including all subclasses): fixed dependency on system locale and improved performance.

## PRTX API
* `prtx::EncodePreparator::PreparationFlags::processHoles`: improved the case `prtx::HoleProcessor::TRIANGULATE_FACES_WITH_HOLES`. Before, it was possible that tiny gaps in the connectivity were created. Now the mesh stays watertight. However, in some cases there might be faces with more than 3 vertices now.
* `prtx::MaterialBuilder::setString()`: fixed a rare crash when setting the shader.

## CGA
* New features:
* A Visual CGA Design (*.vcga) can now be imported. You can call its start rule and override its attributes and extension nodes in the import statement.
* Default extension implementation forwarding: It is now possible to reuse the default implementation of an extension rule from an imported ruleset in a new extension rule.
* New annotations:
* @MaterialFile annotation
* Changes to existing features:
* setback, setbackToArea, setbackPerEdge, shapeLUO, splitAndSetbackPerimeter operations: Collinear vertices are now kept on the resulting setback edges. The setback edges will now match the initial edges.
* convexify operation:
* The topology of the input geometry is maintained and the resulting convex polygons are fully connected now. Note: The individual convex polygons (typically created via a subsequent component split) can contain collinear vertices now. These can be removed using the cleanupGeometry operation.
* Existing component tags are preserved now.
* geometry.isConcave function and general concavity classification: Improved handling of collinear vertices. Collinear vertices are now consistently classified as convex.
* material.{colormap|...|metallicmap}.rw attribute: changed rotation center from (0.5, 0.5) to (0,0).
* Bugfixes:
* readStringTable, readFloatTable: Fixed a crash when reading a non-existing table (Linux only).
* setupProjection operation:
* Fixed a bug where widthOffset and heightOffset were not correctly considered when a uv scaling was defined for the material (for example material.colormap.su).
* Fixed a bug where offset values where not considered for projection axes scope.zx.
* CGA Compiler:
* Fixed incorrect handling of the @Hidden annotation for import statements. Note: In the UI of older versions of CityEngine or client apps using an older version of CityEngine SDK, hidden imports will not be hidden in RPKs created with CityEngine 2024.0.
* Fixed a bug where annotations were not assigned to import statements but to subsequent statements.

## Built-In Codecs
* GLTF Encoder:
* Now correctly converts colors to linear space.
* Adapted to texture trafo rotation center change from (0.5, 0.5) to (0,0).
* GLTF Decoder:
* Now correctly converts colors from linear space.
* Adapted to texture trafo rotation center change from (0.5, 0.5) to (0,0).
* Unreal Encoder:
* Adapted to texture trafo rotation center change from (0.5, 0.5) to (0,0).
* USD Encoder:
* Fixed "triangulate faces with holes" functionality - in some cases tiny gaps in the connectivity were created.
* Added support for texture map trafos.
* USD Decoder:
* Added support for texture map trafos.
* IFC Encoder:
* Fixed "triangulate faces with holes" functionality - in some cases tiny gaps in the connectivity were created.
* Fixed support for units in geo-referencing data for IFC4 (was fixed to meters).
* Addded support for WKT in geo-referencing data for IFC4.
* OBJ Encoder:
* Fixed "triangulate faces with holes" option - in some cases tiny gaps in the connectivity were created.
* Shape Buffer Encoder:
* Fixed "triangulate faces with holes" option - in some cases tiny gaps in the connectivity were created.
* Added support for "doubleSided" material attribute.
* Shape Buffer Decoder:
* Added support for "doubleSided" material attribute.
* FBX Encoder:
* Fixed "triangulate faces with holes" option - in some cases tiny gaps in the connectivity were created.
* FBX Decoder:
* Added support for normal maps.
* Now falls back to the first UV set when the FBX file contains a broken mapping between mesh and texture.
* CGAMat Decoder:
* Fixed a rare crash when decoding materials.
* Collada Encoder:
* Fixed "triangulate faces with holes" option - in some cases tiny gaps in the connectivity were created.
* Alembic Encoder:
* Fixed "triangulate faces with holes" option - in some cases tiny gaps in the connectivity were created.
* TIFF Decoder:
* Fixed a rare deadlock (which was introduced in SDK 3.2.9903).

## Misc Changes and Fixes
* In the CGA and the PRT reference color spaces have been clarified. Colors are always in (non-linear) sRGB space.

# CITYENGINE SDK 3.2.9903 CHANGELOG

This section lists changes compared to CityEngine SDK 3.1.9666.
Expand All @@ -22,7 +100,7 @@ This section lists changes compared to CityEngine SDK 3.1.9666.
* Updated to ODA 24.11 library
* IFC Decoder:
* Added support for IFC4.
* DWC Encoder:
* DWG Encoder:
* Fixed a bug where the same textures got written multiple times.
* USD Decoder, Encoder:
* Made them thread-safe. Before, only one of the two could run at a time - otherwise, PRT would crash.
Expand Down
2 changes: 1 addition & 1 deletion examples/prt4cmd/README_windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Before you start working with this example, please make sure you follow the main

## Build Instructions

1. Open a `VS2019 x64 Native Tools Command Prompt`
1. Open a `VS2022 x64 Native Tools Command Prompt`
1. Change into the example directory: `cd <your path to>\cityengine-sdk\examples\prt4cmd`
1. Prepare build directory: `mkdir build`
1. And change into it: `cd build`
Expand Down
9 changes: 5 additions & 4 deletions examples/prt4cmd/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ if(NOT prt_DIR)

if(P4C_WINDOWS)
set(PRT_OS "win10")
set(PRT_TC "vc1427")
set(PRT_TC "vc1437")
elseif(P4C_LINUX)
set(PRT_OS "rhel7")
set(PRT_TC "gcc93")
set(PRT_OS "rhel8")
set(PRT_TC "gcc112")
endif()

set(PRT_VERSION "3.1.9666")
set(PRT_VERSION "3.2.10211")
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")

Expand Down Expand Up @@ -69,6 +69,7 @@ elseif(P4C_LINUX)
target_compile_options(${PROJECT_NAME} PRIVATE
-march=nocona -fvisibility=hidden -fvisibility-inlines-hidden
-Wl,--exclude-libs,ALL -Wall -Wextra -Wunused-parameter -Wl,-rpath,'\$ORIGIN')
target_link_libraries(${PROJECT_NAME} PRIVATE stdc++fs)

endif()

Expand Down
2 changes: 1 addition & 1 deletion examples/prt4cmd/test/test_candler.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

T="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
R="$(dirname "${T}")"
U="https://github.com/Esri/cityengine-sdk/releases/download/3.1.9666/esri_ce_sdk-example_data-v3.zip"
U="https://github.com/Esri/cityengine-sdk/releases/download/3.2.10211/esri_ce_sdk-example_data-v3.zip"
D="${R}/data"
O="${R}/output"

Expand Down
2 changes: 1 addition & 1 deletion examples/stldec/README_windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Before you start working with this example, please make sure you follow the main

## Build Instructions

1. Open a `VS2019 x64 Native Tools Command Prompt`
1. Open a `VS2022 x64 Native Tools Command Prompt`
1. Change into the example directory: `cd <your path to>\cityengine-sdk\examples\stldec`
1. Create a build directory: `mkdir build`
1. Change into the build directory: `cd build`
Expand Down
9 changes: 4 additions & 5 deletions examples/stldec/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS

if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
target_compile_options(${PROJECT_NAME} PRIVATE -march=nocona -fvisibility=hidden -fvisibility-inlines-hidden -Wl,--exclude-libs,ALL -Wall -Wextra -Wunused-parameter -Wl,-rpath,'$ORIGIN')
target_compile_definitions(${PROJECT_NAME} PRIVATE -D_GLIBCXX_USE_CXX11_ABI=0)
endif()


Expand All @@ -40,13 +39,13 @@ endif()
if(NOT prt_DIR)
if(P4C_WINDOWS)
set(PRT_OS "win10")
set(PRT_TC "vc1427")
set(PRT_TC "vc1437")
elseif(P4C_LINUX)
set(PRT_OS "rhel7")
set(PRT_TC "gcc93")
set(PRT_OS "rhel8")
set(PRT_TC "gcc112")
endif()

set(PRT_VERSION "3.1.9666")
set(PRT_VERSION "3.2.10211")
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")

Expand Down
2 changes: 1 addition & 1 deletion examples/stlenc/README_windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Before you start working with this example, please make sure you follow the main

## Build Instructions

1. Open a `VS2019 x64 Native Tools Command Prompt`
1. Open a `VS2022 x64 Native Tools Command Prompt`
1. Change into the example directory: `cd <your path to>\cityengine-sdk\examples\stlenc`
1. Create a build directory: `mkdir build`
1. Change into the build directory: `cd build`
Expand Down
9 changes: 4 additions & 5 deletions examples/stlenc/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ endif()
if(NOT prt_DIR)
if(P4C_WINDOWS)
set(PRT_OS "win10")
set(PRT_TC "vc1427")
set(PRT_TC "vc1437")
elseif(P4C_LINUX)
set(PRT_OS "rhel7")
set(PRT_TC "gcc93")
set(PRT_OS "rhel8")
set(PRT_TC "gcc112")
endif()

set(PRT_VERSION "3.1.9666")
set(PRT_VERSION "3.2.10211")
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")

Expand Down Expand Up @@ -63,7 +63,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS
target_include_directories(${PROJECT_NAME} PRIVATE ${PRT_INCLUDE_PATH})
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
target_compile_options(${PROJECT_NAME} PRIVATE -march=nocona -fvisibility=hidden -fvisibility-inlines-hidden -Wl,--exclude-libs,ALL -Wall -Wextra -Wunused-parameter -Wl,-rpath,'$ORIGIN')
target_compile_definitions(${PROJECT_NAME} PRIVATE -D_GLIBCXX_USE_CXX11_ABI=0)
endif()
target_link_libraries(${PROJECT_NAME} PRIVATE ${PRT_CORE_LIBRARY})

Expand Down

0 comments on commit 001be3d

Please sign in to comment.