From 14729184dfdf6547a59a1c8fb3062ff74ccc24bc Mon Sep 17 00:00:00 2001 From: Cary Phillips Date: Fri, 13 Dec 2024 16:59:47 -0800 Subject: [PATCH] Restructure CI to use reusable workflow This follows the pattern adopted by OpenEXR see https://github.com/AcademySoftwareFoundation/openexr/pull/1921 for details. * Introduce the process of validating the installed files by comparing the install_manifest.txt files to archived versions, one per build. * Factor out the jobs for the outdated VFX reference platform years, which require workarounds for the outdated glibc. * Add a build that validates custom namespaces. This also fixes several problems with building the python bindings when the library has been built with a custom namespace. The code had "Imath::" where it should have had "IMATH_NAMESPACE::". Signed-off-by: Cary Phillips --- .github/workflows/ci_steps.yml | 203 ++++ .github/workflows/ci_workflow.yml | 657 ++-------- .github/workflows/ci_workflow_old.yml | 86 ++ .../install_manifest.macos.1.txt | 45 + .../install_manifest.macos.2.txt | 45 + .../install_manifest.macos.3.txt | 42 + .../install_manifest.macos.4.txt | 44 + .../install_manifest.macos.5.txt | 45 + .../install_manifest.ubuntu.1.txt | 99 ++ .../install_manifest.ubuntu.2.txt | 99 ++ .../install_manifest.ubuntu.3.txt | 93 ++ .../install_manifest.ubuntu.4.txt | 44 + .../install_manifest.ubuntu.5.txt | 99 ++ .../install_manifest.ubuntu.6.txt | 99 ++ .../install_manifest.ubuntu.7.txt | 99 ++ .../install_manifest.windows.1.txt | 43 + .../install_manifest.windows.2.txt | 43 + .../install_manifest.windows.3.txt | 42 + .../install_manifest.windows.5.txt | 42 + .../install_manifest.windows.6.txt | 43 + share/ci/scripts/validate_install.py | 145 +++ src/pybind11/PyBindImath/PyBindImathBox.cpp | 8 +- src/pybind11/PyBindImath/PyBindImathLine.cpp | 4 +- src/pybind11/PyBindImath/PyBindImathPlane.cpp | 4 +- src/pybind11/PyBindImath/PyBindImathVec.cpp | 12 +- src/python/PyImath/PyImath.h | 4 +- src/python/PyImath/PyImathBufferProtocol.cpp | 62 +- src/python/PyImath/PyImathFixedVArray.cpp | 4 +- src/python/PyImath/PyImathQuatOperators.h | 2 +- src/python/PyImath/imathmodule.cpp | 22 +- src/python/PyImathTest/main.cpp | 1060 ++++++++--------- 31 files changed, 2196 insertions(+), 1143 deletions(-) create mode 100644 .github/workflows/ci_steps.yml create mode 100644 .github/workflows/ci_workflow_old.yml create mode 100644 share/ci/install_manifest/install_manifest.macos.1.txt create mode 100644 share/ci/install_manifest/install_manifest.macos.2.txt create mode 100644 share/ci/install_manifest/install_manifest.macos.3.txt create mode 100644 share/ci/install_manifest/install_manifest.macos.4.txt create mode 100644 share/ci/install_manifest/install_manifest.macos.5.txt create mode 100644 share/ci/install_manifest/install_manifest.ubuntu.1.txt create mode 100644 share/ci/install_manifest/install_manifest.ubuntu.2.txt create mode 100644 share/ci/install_manifest/install_manifest.ubuntu.3.txt create mode 100644 share/ci/install_manifest/install_manifest.ubuntu.4.txt create mode 100644 share/ci/install_manifest/install_manifest.ubuntu.5.txt create mode 100644 share/ci/install_manifest/install_manifest.ubuntu.6.txt create mode 100644 share/ci/install_manifest/install_manifest.ubuntu.7.txt create mode 100644 share/ci/install_manifest/install_manifest.windows.1.txt create mode 100644 share/ci/install_manifest/install_manifest.windows.2.txt create mode 100644 share/ci/install_manifest/install_manifest.windows.3.txt create mode 100644 share/ci/install_manifest/install_manifest.windows.5.txt create mode 100644 share/ci/install_manifest/install_manifest.windows.6.txt create mode 100755 share/ci/scripts/validate_install.py diff --git a/.github/workflows/ci_steps.yml b/.github/workflows/ci_steps.yml new file mode 100644 index 00000000..debbe521 --- /dev/null +++ b/.github/workflows/ci_steps.yml @@ -0,0 +1,203 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright (c) Contributors to the OpenEXR Project. + +# These are the steps for all CI jobs. Linux, macOS, and Windows all +# share a common set of configure/build/validate steps. The input +# variables control all variations of the jobs. +# +# Each job validates that the proper files are installed by comparing +# the install_manifest.txt to a reference for that job. This requires +# that each job have a corresponding reference, and that thes +# references are updated when any change is made to the installation +# headers/libraries/cmake/etc. + +name: CI Steps + +on: + workflow_call: + # This inputs receive values via the "with:" section in ci_workflow.yml + inputs: + build: + type: string + os: + type: string + container: + type: string + cxx-standard: + type: string + cxx-compiler: + type: string + cc-compiler: + type: string + build-type: + type: string + python: + type: string + pybind11: + type: string + IMATH_INSTALL_PKG_CONFIG: + type: string + BUILD_SHARED_LIBS: + type: string + BUILD_TESTING: + type: string + namespace: + type: string + validate_install: + type: string + +jobs: + steps: + runs-on: ${{ inputs.os }} + + container: + image: ${{ inputs.container }} + + env: + CXX: ${{ inputs.cxx-compiler }} + CC: ${{ inputs.cc-compiler }} + + steps: + + - name: Checkout + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + + - name: Create build directories + run: mkdir _install _build _examples + shell: bash + + - name: Construct CMake command + run: | + # Construct the cmake command as a variable, so the + # Configure step below can execute it, but also so we can store + # in in the install_manifest as a debugging reference + CMAKE_COMMAND="cmake -B . -S .. \ + -DCMAKE_INSTALL_PREFIX=../_install \ + -DCMAKE_BUILD_TYPE=${{ inputs.build-type }} \ + -DCMAKE_CXX_STANDARD=${{ inputs.cxx-standard }} \ + -DBUILD_SHARED_LIBS=${{ inputs.BUILD_SHARED_LIBS }} \ + -DIMATH_INSTALL_PKG_CONFIG=${{ inputs.IMATH_INSTALL_PKG_CONFIG }} \ + -DBUILD_TESTING=${{ inputs.BUILD_TESTING }} \ + -DPYTHON=${{ inputs.python }} \ + -DPYBIND11=${{ inputs.pybind11 }} \ + -DCMAKE_VERBOSE_MAKEFILE=ON" + if [ -n "${{ inputs.namespace }}" ]; then + CMAKE_COMMAND="$CMAKE_COMMAND -DIMATH_NAMESPACE=${{ inputs.namespace }}" + fi + echo "CMAKE_COMMAND=$CMAKE_COMMAND" >> $GITHUB_ENV + + # Remove the os version from the manifest name, so it only + # contains "ubuntu", "macos", or "windows", so the name is, + # e.g. install_manifest.macos.1.txt + echo "INSTALL_MANIFEST=$(echo 'install_manifest.${{ inputs.os }}' | cut -d'-' -f1).${{ inputs.build }}.txt" >> $GITHUB_ENV + working-directory: _build + shell: bash + + - name: Configure + run: | + $CMAKE_COMMAND + working-directory: _build + shell: bash + + - name: Build + run: | + cmake --build . --target install --config ${{ inputs.build-type }} + working-directory: _build + shell: bash + + - name: Find python version + run: | + echo Finding python version in _build directory: + grep -r PYTHON + working-directory: _build + shell: bash + + - name: Prepare install_manifest + # Store the cmake command as the first line of the manifest, + # and remove the path prefix, so the manifest contains only + # the local filenames. + run: | + echo "# $CMAKE_COMMAND" > "_build/$INSTALL_MANIFEST" + sort _build/install_manifest.txt | sed -e "s:^.*/_install/::" >> "_build/$INSTALL_MANIFEST" + shell: bash + + - name: Upload install_manifest.txt + # Upload the manifest to make it possible to download for inspection and debugging + uses: actions/upload-artifact@v3 + with: + name: install_manifest + path: _build/${{ env.INSTALL_MANIFEST }} + + - name: Validate install + if: ${{ inputs.validate_install == 'ON' }} + # Validate that the build has installed the proper files by comparing against the appropriate reference manifest + run: | + share/ci/scripts/validate_install.py "_build/$INSTALL_MANIFEST" "share/ci/install_manifest/$INSTALL_MANIFEST" _build/CMakeCache.txt + shell: bash + + - name: Test standalone + continue-on-error: true + run: | + # Make sure we can build the tests when configured as a + # standalone application linking against the just-installed + # Imath library. + cmake ../src/ImathTest \ + -DCMAKE_PREFIX_PATH=../../_install \ + -DCMAKE_BUILD_TYPE=${{ inputs.build-type }} \ + -DCMAKE_CXX_STANDARD=${{ inputs.cxx-standard }} \ + -DCMAKE_CXX_FLAGS=${{ inputs.cxx-flags }} + cmake --build . \ + --config ${{ inputs.build-type }} + + if [[ "$RUNNER_OS" == "Windows" ]]; then + ./bin/"${{ inputs.build-type }}"/ImathTest.exe || true + else + ./bin/ImathTest + fi + shell: bash + working-directory: _examples + + - name: Examples + # The example code use the Imath:: namespace explicitly, they won't work with a custom namespace, so skip the test in that case. + if: ${{ inputs.namespace == '' }} + run: | + # Confirm the examples compile and execute + rm -rf bin CMakeCache.txt CMakeFiles cmake_install.cmake Makefile + cmake ../website/examples \ + -DCMAKE_PREFIX_PATH=../../_install \ + -DCMAKE_BUILD_TYPE=${{ inputs.build-type }} \ + -DCMAKE_CXX_STANDARD=${{ inputs.cxx-standard }} + cmake --build . --config ${{ inputs.build-type }} + if [[ "$RUNNER_OS" == "Windows" ]]; then + ./bin/"${{ inputs.build-type }}"/imath-intro.exe || true + ./bin/"${{ inputs.build-type }}"/imath-examples.exe || true + else + ./bin/imath-intro + ./bin/imath-examples + fi + + shell: bash + working-directory: _examples + + - name: Test Python + if: ${{ inputs.python == 'ON' }} + run: | + # Confirm the python module loads. Set PYTHONPATH to the + # _install directory of the module (better to find it + # procedurally than hard code a path). + if [[ "${{ inputs.python }}" == "ON" ]]; then + export PYTHONPATH=`find ../_install -name imath.so | xargs dirname` + python -c "import imath;print(imath.__version__)" + fi + if [[ "${{ inputs.pybind11 }}" == "ON" ]]; then + export PYTHONPATH=`find ../_install -name 'pybindimath.*.so' | xargs dirname` + python -c "import pybindimath;print(pybindimath.__version__)" + fi + shell: bash + working-directory: _build + + - name: Test + run: | + ctest -T Test -C ${{ inputs.build-type }} --timeout 7200 --output-on-failure -VV + working-directory: _build + shell: bash diff --git a/.github/workflows/ci_workflow.yml b/.github/workflows/ci_workflow.yml index 25a81594..a7f31966 100644 --- a/.github/workflows/ci_workflow.yml +++ b/.github/workflows/ci_workflow.yml @@ -1,625 +1,178 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright (c) Contributors to the OpenEXR Project. -# -# GitHub Actions workflow file -# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions -name: CI +# The CI workflow uses steps defined in ci_steps.yml, via the "uses:" +# directive. Linux, macOS, and Windows all share a common set of +# configure/build/validate steps. -# Run on all changes except: -# - doc file changes -# - changes to the website, since yhe website has a separate workflow -# - changes to workflows other than this one +name: CI on: push: paths: - '**' - '!**.md' - - '!website/**' - '!.github/workflows/**' - '.github/workflows/ci_workflow.yml' + - '.github/workflows/ci_steps.yml' pull_request: paths: - '**' - '!**.md' - - '!website/**' - '!.github/workflows/**' - '.github/workflows/ci_workflow.yml' + - '.github/workflows/ci_steps.yml' permissions: contents: read -jobs: - # Linux jobs run in Docker containers, so the latest OS version is OK. macOS - # and Windows jobs need to be locked to specific virtual environment - # versions to mitigate issues from OS updates, and will require maintenance - # as OS versions are retired. - # - # GH Actions (Free plan) supports 20 concurrent jobs, with 5 concurrent macOS - # jobs. This workflow tries to utilize (but not exceed) that budget to - # promote timely CI. - - # --------------------------------------------------------------------------- - # Linux - # --------------------------------------------------------------------------- - # TODO: Add ARM build. Add sanitize build. +# NOTE: All jobs have a "build" number that appears in the "jobs" +# listing on the GitHub actions page. This build number also +# identifies the reference install manifest in +# share/ci/install_manifest. The validate_install.py script compares +# the job's generated install_manifest.txt to the reference file to +# validate that the proper files have been installed. +# +# If you add jobs, you must add a corresponding +# share/ci/install_manifest file. +jobs: linux: - name: 'Linux CentOS 7 VFX CY${{ matrix.vfx-cy }} - <${{ matrix.compiler-desc }} , - ${{ matrix.python-desc }}, - config=${{ matrix.build-type }}, - shared=${{ matrix.build-shared }}, - cxx=${{ matrix.cxx-standard }}>' - # GH-hosted VM. The build runs in CentOS 7 'container' defined below. - runs-on: ubuntu-latest - container: + name: 'Linux.${{ matrix.build}}: ${{ matrix.label }}' + uses: ./.github/workflows/ci_steps.yml + with: + # Set values for the "inputs:" as defined in ci_steps.yml + # Note the defaults provided here for the builds that don't specify + # values. + os: ubuntu-latest + build: ${{ matrix.build }} # DockerHub: https://hub.docker.com/u/aswf # Source: https://github.com/AcademySoftwareFoundation/aswf-docker - image: aswf/ci-openexr:${{ matrix.vfx-cy }} + container: aswf/ci-openexr:${{ matrix.vfx-cy || '2024' }} + cxx-standard: ${{ matrix.cxx-standard || '17' }} + cxx-compiler: ${{ matrix.cxx-compiler || 'g++' }} + cc-compiler: ${{ matrix.cc-compiler || 'gcc' }} + build-type: ${{ matrix.build-type || 'Release' }} + python: ${{ matrix.python || 'ON' }} + pybind11: ${{ matrix.pybind11 || 'ON' }} + BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS || 'ON' }} + IMATH_INSTALL_PKG_CONFIG: ${{ matrix.IMATH_INSTALL_PKG_CONFIG || 'ON' }} + BUILD_TESTING: ${{ matrix.BUILD_TESTING || 'ON' }} + namespace: ${{ matrix.namespace }} + validate_install: ${{ matrix.validate_install || 'ON' }} strategy: matrix: - build: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] include: - # ------------------------------------------------------------------- - # GCC, VFX CY2024 - # ------------------------------------------------------------------- - # C++17, Python 3.11 + - build: 1 - build-type: Release - build-shared: 'ON' - cxx-standard: 17 - cxx-compiler: g++ - cc-compiler: gcc - compiler-desc: gcc11.2.1 - python: 'ON' - python-desc: python3.11 - vfx-cy: 2024 + label: Release - # C++17, Python 3.11, Debug - build: 2 + label: Debug build-type: Debug - build-shared: 'ON' - cxx-standard: 17 - cxx-compiler: g++ - cc-compiler: gcc - compiler-desc: gcc11.2.1 - python: 'ON' - python-desc: python3.11 - vfx-cy: 2024 - # C++17, Python 3.11, Static - build: 3 - build-type: Release - build-shared: 'OFF' - cxx-standard: 17 - cxx-compiler: g++ - cc-compiler: gcc - compiler-desc: gcc11.2.1 - python: 'ON' - python-desc: python3.11 - vfx-cy: 2024 + label: static + BUILD_SHARED_LIBS: 'OFF' - # C++14, Python 3.11 - build: 4 - build-type: Release - build-shared: 'ON' - cxx-standard: 14 - cxx-compiler: g++ - cc-compiler: gcc - compiler-desc: gcc11.2.1 - python: 'ON' - python-desc: python3.11 - vfx-cy: 2024 + label: pkgconfig=OFF, testing=OFF, python=OFF + IMATH_INSTALL_PKG_CONFIG: 'OFF' + BUILD_TESTING: 'OFF' + python: 'OFF' + pybind11: 'OFF' - # ------------------------------------------------------------------- - # Clang 15.0, VFX CY2024 - # ------------------------------------------------------------------- - # C++17, Python 3.11 - build: 5 - build-type: Release - build-shared: 'ON' - cxx-standard: 17 - cxx-compiler: clang++ - cc-compiler: clang - compiler-desc: clang15.0 - python: 'ON' - python-desc: python3.11 - vfx-cy: 2024 + label: custom namespace + namespace: 'TEST_NAMESPACE' - # ------------------------------------------------------------------- - # Clang 14.0, VFX CY2024 - # ------------------------------------------------------------------- - # C++17, Python 3.11 - build: 6 - build-type: Release - build-shared: 'ON' - cxx-standard: 17 + label: clang cxx-compiler: clang++ cc-compiler: clang - compiler-desc: clang14.0 - python: 'ON' - python-desc: python3.11 - vfx-cy: 2024 - # ------------------------------------------------------------------- - # GCC, VFX CY2023 - # ------------------------------------------------------------------- - # C++17, Python 3.10.9 - build: 7 - build-type: Release - build-shared: 'ON' - cxx-standard: 17 - cxx-compiler: g++ - cc-compiler: gcc - compiler-desc: gcc11.2.1 - python: 'ON' - python-desc: python3.10.9 + label: vfx2023 vfx-cy: 2023 - # ------------------------------------------------------------------- - # GCC, VFX CY2022 - # ------------------------------------------------------------------- - # C++17, Python 3.9 - - build: 8 - build-type: Release - build-shared: 'ON' - cxx-standard: 17 - cxx-compiler: g++ - cc-compiler: gcc - compiler-desc: gcc9.3.1 - python: 'ON' - python-desc: python3.9.7 - vfx-cy: 2022 - - # ------------------------------------------------------------------- - # GCC, VFX CY2021 - # ------------------------------------------------------------------- - # C++17, Python 3.7.9 - - build: 9 - build-type: Release - build-shared: 'ON' - cxx-standard: 17 - cxx-compiler: g++ - cc-compiler: gcc - compiler-desc: gcc9.3.1 - python: 'ON' - python-desc: python3.7.9 - vfx-cy: 2021 - - # ------------------------------------------------------------------- - # pybind11 and python together - # ------------------------------------------------------------------- - - build: 10 - build-type: Release - build-shared: 'ON' - cxx-standard: 17 - cxx-compiler: g++ - cc-compiler: gcc - compiler-desc: gcc11.2.1 - python: 'ON' - pybind11: 'ON' - python-desc: python3.11 - vfx-cy: 2024 - - # ------------------------------------------------------------------- - # pybind11 w/o python - # ------------------------------------------------------------------- - - build: 11 - build-type: Release - build-shared: 'ON' - cxx-standard: 17 - cxx-compiler: g++ - cc-compiler: gcc - compiler-desc: gcc11.2.1 - python: 'OFF' - pybind11: 'ON' - python-desc: python3.11 - vfx-cy: 2024 - env: - CXX: ${{ matrix.cxx-compiler }} - CC: ${{ matrix.cc-compiler }} - ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16 - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Create build directories - run: | - mkdir _install - mkdir _build - mkdir _examples - - name: Configure - run: | - cmake .. \ - -DCMAKE_INSTALL_PREFIX=../_install \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ - -DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \ - -DCMAKE_CXX_FLAGS=${{ matrix.cxx-flags }} \ - -DCMAKE_VERBOSE_MAKEFILE:BOOL='OFF' \ - -DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \ - -DPYTHON=${{ matrix.python }} \ - -DPYBIND11=${{ matrix.pybind11 }} \ - -DUSE_PYTHON2=${{ matrix.use-python2 }} - working-directory: _build - - name: Build - run: | - cmake --build . \ - --target install \ - --config ${{ matrix.build-type }} - working-directory: _build - - name: Examples - run: | - # Make sure we can build the tests when configured as a - # standalone application linking against the just-installed - # Imath library. - cmake ../src/ImathTest \ - -DCMAKE_PREFIX_PATH=../../_install \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ - -DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \ - -DCMAKE_CXX_FLAGS=${{ matrix.cxx-flags }} - cmake --build . \ - --config ${{ matrix.build-type }} - - # Confirm the tests run - ./bin/ImathTest - - # Confirm the examples compile and execute - rm -rf bin CMakeCache.txt CMakeFiles cmake_install.cmake Makefile - cmake ../website/examples \ - -DCMAKE_PREFIX_PATH=../../_install \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ - -DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \ - -DCMAKE_CXX_FLAGS=${{ matrix.cxx-flags }} - cmake --build . \ - --config ${{ matrix.build-type }} - ctest - working-directory: _examples - - name: Test Python - run: | - # Confirm the python module loads. Set PYTHONPATH to the - # _install directory of the module (better to find it - # procedurally than hard code a path). - if [[ "${{ matrix.python }}" == "ON" ]]; then - export PYTHONPATH=`find ../_install -name imath.so | xargs dirname` - python -c "import imath;print(imath.__version__)" - fi - if [[ "${{ matrix.pybind11 }}" == "ON" ]]; then - export PYTHONPATH=`find ../_install -name 'pybindimath.*.so' | xargs dirname` - python -c "import pybindimath;print(pybindimath.__version__)" - fi - shell: bash - working-directory: _build - - name: Test - run: | - ctest -T Test ${{ matrix.exclude-tests }} \ - -C ${{ matrix.build-type }} \ - --timeout 7200 \ - --output-on-failure \ - -VV - working-directory: _build - - # --------------------------------------------------------------------------- - # macOS - # --------------------------------------------------------------------------- - - macos_no_python: - name: 'macOS VFXP-${{matrix.vfx-cy }} macos-${{ matrix.osver }} - ' - runs-on: windows-${{ matrix.osver }} + name: 'Windows.${{ matrix.build}}: ${{ matrix.label }}' + uses: ./.github/workflows/ci_steps.yml + with: + # Set values for the "inputs:" as defined in ci_steps.yml + # Note the defaults provided here for the builds that don't specify + # values. + os: ${{ matrix.os || 'windows-2022' }} + build: ${{ matrix.build }} + cxx-standard: ${{ matrix.cxx-standard || '17' }} + build-type: ${{ matrix.build-type || 'Release' }} + python: ${{ matrix.python || 'OFF' }} + pybind11: ${{ matrix.pybind11 || 'OFF' }} + BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS || 'ON' }} + IMATH_INSTALL_PKG_CONFIG: ${{ matrix.IMATH_INSTALL_PKG_CONFIG || 'ON' }} + BUILD_TESTING: ${{ matrix.BUILD_TESTING || 'ON' }} + validate_install: ${{ matrix.validate_install || 'ON' }} strategy: matrix: - build: [1, 3, 4, 6, 7, 8] include: - # ------------------------------------------------------------------- - # VFX CY2023 - C++17 - Windows 2022 runner - MSVC 2022 (17.5) - # ------------------------------------------------------------------- - # C++17, Release Shared - build: 1 - build-type: Release - build-shared: 'ON' - compiler-desc: msvc17.5 - cxx-standard: 17 - vfx-cy: 2023 - exclude-tests: - osver: 2022 + label: Release - # C++17, Debug - - ## - build: 2 - ## build-type: Debug - ## build-shared: 'ON' - ## cxx-standard: 17 - ## exclude-tests: + - build: 2 + label: Debug + build-type: Debug - # C++17, Release Static - build: 3 - build-type: Release - build-shared: 'OFF' - compiler-desc: msvc17.5 - cxx-standard: 17 - vfx-cy: 2023 - exclude-tests: - osver: 2022 - - # ------------------------------------------------------------------- - # VFX CY2022 - C++17 - Windows 2019 - # ------------------------------------------------------------------- - # C++17, Release Shared - - build: 4 - build-type: Release - build-shared: 'ON' - compiler-desc: msvc16.11 - cxx-standard: 17 - vfx-cy: 2022 - exclude-tests: - osver: 2019 + label: static + BUILD_SHARED_LIBS: 'OFF' - # C++17, Debug - - ## - build: 5 - ## build-type: Debug - ## build-shared: 'ON' - ## cxx-standard: 17 - ## exclude-tests: + - build: 5 + label: pkgconfig=OFF, testing=OFF + IMATH_INSTALL_PKG_CONFIG: 'OFF' + BUILD_TESTING: 'OFF' - # C++17, Release Static - build: 6 - build-type: Release - build-shared: 'OFF' - compiler-desc: msvc16.11 - cxx-standard: 17 - vfx-cy: 2022 - exclude-tests: - osver: 2019 - - # ------------------------------------------------------------------- - # VFX CY2020 - C++14 - Windows 2019 - # ------------------------------------------------------------------- - # C++14, Release Shared - - build: 7 - build-type: Release - build-shared: 'ON' - compiler-desc: msvc16.11 - cxx-standard: 14 - vfx-cy: 2020 - exclude-tests: - osver: 2019 - - # ------------------------------------------------------------------- - # VFX CY2019 - C++11 - Windows 2019 - # ------------------------------------------------------------------- - # C++11, Release Shared - - build: 8 - build-type: Release - build-shared: 'ON' - compiler-desc: msvc16.11 - cxx-standard: 11 - exclude-tests: - osver: 2019 - - steps: - # - name: Setup Python - # uses: actions/setup-python@v1 - # with: - # python-version: ${{ matrix.python-version }} - - name: Checkout - uses: actions/checkout@v2 - - name: Create build directories - run: | - mkdir _install - mkdir _build - shell: bash - # - name: Install Dependences - # run: | - # share/ci/scripts/windows/install_python.ps1 ${{ matrix.python-version }} $HOME - # share/ci/scripts/windows/install_boost.ps1 ${{ matrix.boost-version }} $HOME 3.8 - # shell: powershell - - name: Configure - run: | - cmake ../. \ - -DCMAKE_INSTALL_PREFIX=../_install \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ - -DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \ - -DCMAKE_CXX_FLAGS=${{ matrix.cxx-flags }} \ - -DCMAKE_VERBOSE_MAKEFILE:BOOL='OFF' \ - -DBUILD_SHARED_LIBS=${{ matrix.build-shared }} - # NB: removed trailing slash from these lines - # -DBOOST_ROOT:FILEPATH=$BOOST_ROOT - # -DPYTHON='ON' - # -DPython_EXECUTABLE:FILEPATH="$PYTHON_ROOT" - # -DPython_INCLUDE_DIR:FILEPATH="$PYTHON_ROOT/include" - # -DPython_LIBRARY:"$PYTHON_ROOT\libs" - shell: bash - working-directory: _build - - name: Build - run: | - cmake --build . \ - --target install \ - --config ${{ matrix.build-type }} - shell: bash - working-directory: _build - - name: Test - run: | - ctest -T Test ${{ matrix.exclude-tests }} \ - -C ${{ matrix.build-type }} \ - --timeout 7200 \ - --output-on-failure \ - -VV - shell: bash - working-directory: _build - - Website: + label: vfx2022 + os: windows-2019 - # Build the documentation, using a process that mimics the readthedoc build. - # - # Note that this job does not actually build Imath libraries, - # it just runs doxygen and sphinx. - - name: 'Website' - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Create build directory - run: mkdir _build - - name: Install doxygen - # Need help2man for tool manpages - run: sudo apt-get install -y doxygen help2man - - name: Install sphinx requirements - run: pip3 install -r website/requirements.txt - - name: Configure - run: cmake .. -DBUILD_WEBSITE='ON' - working-directory: _build - - name: Build - run: | - cmake --build . \ - --target website \ - --config Release - working-directory: _build - diff --git a/.github/workflows/ci_workflow_old.yml b/.github/workflows/ci_workflow_old.yml new file mode 100644 index 00000000..b3b1ca82 --- /dev/null +++ b/.github/workflows/ci_workflow_old.yml @@ -0,0 +1,86 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright (c) Contributors to the OpenEXR Project. +# +# GitHub Actions workflow file +# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions + +name: CI-old + +# Build for VFX reference platform prior to 2023, which requires a +# workaround to run an old version of glibc required by the ASWF Docker +# images. +# +# This doesn't easily integrate with the existing CI workflow, and it +# can be depreciated entirely once we've moved beyond support for the +# old CentOS-based VFX reference platform years. +# +# See this discussion for details: +# https://academysoftwarefdn.slack.com/archives/C0169RX7MMK/p1732574400981949 + +on: + push: + paths: + - '**' + - '!**.md' + - '!.github/workflows/**' + - '.github/workflows/ci_workflow_old.yml' + pull_request: + paths: + - '**' + - '!**.md' + - '!.github/workflows/**' + - '.github/workflows/ci_workflow_old.yml' + +permissions: + contents: read + +jobs: + + linux: + name: 'Linux vfx${{ matrix.vfx-cy }}' + runs-on: ubuntu-latest + container: + image: aswf/ci-openexr:${{ matrix.vfx-cy }} + volumes: + - /node20217:/node20217:rw,rshared + - /node20217:/__e/node20:ro,rshared + + strategy: + matrix: + include: + + - build: 2022 + vfx-cy: 2022 + + - build: 2021 + vfx-cy: 2021 + + steps: + - name: install nodejs20glibc2.17 + run: | + curl --silent https://unofficial-builds.nodejs.org/download/release/v20.18.1/node-v20.18.1-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 -f - + - name: Checkout + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + - name: Create build directories + run: | + mkdir _install + mkdir _build + - name: Configure + run: | + cmake -B _build -S . \ + -DCMAKE_INSTALL_PREFIX=_install \ + -DCMAKE_VERBOSE_MAKEFILE:BOOL='ON' + - name: Build + run: | + cmake --build _build \ + --target install \ + --config Release + - name: Test + run: | + ctest -T Test \ + -C Release \ + --timeout 7200 \ + --output-on-failure \ + -VV + working-directory: _build + diff --git a/share/ci/install_manifest/install_manifest.macos.1.txt b/share/ci/install_manifest/install_manifest.macos.1.txt new file mode 100644 index 00000000..0f25ab2e --- /dev/null +++ b/share/ci/install_manifest/install_manifest.macos.1.txt @@ -0,0 +1,45 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-release.cmake +lib/cmake/Imath/ImathTargets.cmake +lib/libImath-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.$PATCH.dylib +lib/libImath-$MAJOR_$MINOR.$SOVERSION.dylib +lib/libImath-$MAJOR_$MINOR.dylib +lib/libImath.dylib +lib/pkgconfig/Imath.pc diff --git a/share/ci/install_manifest/install_manifest.macos.2.txt b/share/ci/install_manifest/install_manifest.macos.2.txt new file mode 100644 index 00000000..c1f7c714 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.macos.2.txt @@ -0,0 +1,45 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-debug.cmake +lib/cmake/Imath/ImathTargets.cmake +lib/libImath-$MAJOR_$MINOR_d.$SOVERSION.$MAJOR.$MINOR.$PATCH.dylib +lib/libImath-$MAJOR_$MINOR_d.$SOVERSION.dylib +lib/libImath-$MAJOR_$MINOR_d.dylib +lib/libImath_d.dylib +lib/pkgconfig/Imath.pc diff --git a/share/ci/install_manifest/install_manifest.macos.3.txt b/share/ci/install_manifest/install_manifest.macos.3.txt new file mode 100644 index 00000000..3c3490f0 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.macos.3.txt @@ -0,0 +1,42 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=OFF -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-release.cmake +lib/cmake/Imath/ImathTargets.cmake +lib/libImath-$MAJOR_$MINOR.a +lib/pkgconfig/Imath.pc diff --git a/share/ci/install_manifest/install_manifest.macos.4.txt b/share/ci/install_manifest/install_manifest.macos.4.txt new file mode 100644 index 00000000..dfb7b454 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.macos.4.txt @@ -0,0 +1,44 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=OFF -DBUILD_TESTING=OFF -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-release.cmake +lib/cmake/Imath/ImathTargets.cmake +lib/libImath-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.$PATCH.dylib +lib/libImath-$MAJOR_$MINOR.$SOVERSION.dylib +lib/libImath-$MAJOR_$MINOR.dylib +lib/libImath.dylib diff --git a/share/ci/install_manifest/install_manifest.macos.5.txt b/share/ci/install_manifest/install_manifest.macos.5.txt new file mode 100644 index 00000000..0f25ab2e --- /dev/null +++ b/share/ci/install_manifest/install_manifest.macos.5.txt @@ -0,0 +1,45 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-release.cmake +lib/cmake/Imath/ImathTargets.cmake +lib/libImath-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.$PATCH.dylib +lib/libImath-$MAJOR_$MINOR.$SOVERSION.dylib +lib/libImath-$MAJOR_$MINOR.dylib +lib/libImath.dylib +lib/pkgconfig/Imath.pc diff --git a/share/ci/install_manifest/install_manifest.ubuntu.1.txt b/share/ci/install_manifest/install_manifest.ubuntu.1.txt new file mode 100644 index 00000000..f8dbb2aa --- /dev/null +++ b/share/ci/install_manifest/install_manifest.ubuntu.1.txt @@ -0,0 +1,99 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=ON -DPYBIND11=ON -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/PyImath.h +include/Imath/PyImathAPI.h +include/Imath/PyImathAutovectorize.h +include/Imath/PyImathBasicTypes.h +include/Imath/PyImathBox.h +include/Imath/PyImathBoxArrayImpl.h +include/Imath/PyImathBufferProtocol.h +include/Imath/PyImathColor.h +include/Imath/PyImathColor3ArrayImpl.h +include/Imath/PyImathColor4Array2DImpl.h +include/Imath/PyImathColor4ArrayImpl.h +include/Imath/PyImathDecorators.h +include/Imath/PyImathEuler.h +include/Imath/PyImathExport.h +include/Imath/PyImathFixedArray.h +include/Imath/PyImathFixedArray2D.h +include/Imath/PyImathFixedArrayTraits.h +include/Imath/PyImathFixedMatrix.h +include/Imath/PyImathFixedVArray.h +include/Imath/PyImathFrustum.h +include/Imath/PyImathFun.h +include/Imath/PyImathLine.h +include/Imath/PyImathMathExc.h +include/Imath/PyImathMatrix.h +include/Imath/PyImathOperators.h +include/Imath/PyImathPlane.h +include/Imath/PyImathQuat.h +include/Imath/PyImathQuatOperators.h +include/Imath/PyImathRandom.h +include/Imath/PyImathShear.h +include/Imath/PyImathStringArray.h +include/Imath/PyImathStringArrayRegister.h +include/Imath/PyImathStringTable.h +include/Imath/PyImathTask.h +include/Imath/PyImathUtil.h +include/Imath/PyImathVec.h +include/Imath/PyImathVec2Impl.h +include/Imath/PyImathVec3ArrayImpl.h +include/Imath/PyImathVec3Impl.h +include/Imath/PyImathVec4ArrayImpl.h +include/Imath/PyImathVec4Impl.h +include/Imath/PyImathVecOperators.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/pybindimath.cpython-$PYTHONMAJOR$PYTHONMINOR-x86_64-linux-gnu.so +lib64/cmake/Imath/ImathConfig.cmake +lib64/cmake/Imath/ImathConfigVersion.cmake +lib64/cmake/Imath/ImathTargets-release.cmake +lib64/cmake/Imath/ImathTargets.cmake +lib64/libImath-$MAJOR_$MINOR.so +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libImath.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/pkgconfig/Imath.pc +lib64/pkgconfig/PyBindImath.pc +lib64/pkgconfig/PyImath.pc +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imath.so +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imathnumpy.so diff --git a/share/ci/install_manifest/install_manifest.ubuntu.2.txt b/share/ci/install_manifest/install_manifest.ubuntu.2.txt new file mode 100644 index 00000000..30f2d078 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.ubuntu.2.txt @@ -0,0 +1,99 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=ON -DPYBIND11=ON -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/PyImath.h +include/Imath/PyImathAPI.h +include/Imath/PyImathAutovectorize.h +include/Imath/PyImathBasicTypes.h +include/Imath/PyImathBox.h +include/Imath/PyImathBoxArrayImpl.h +include/Imath/PyImathBufferProtocol.h +include/Imath/PyImathColor.h +include/Imath/PyImathColor3ArrayImpl.h +include/Imath/PyImathColor4Array2DImpl.h +include/Imath/PyImathColor4ArrayImpl.h +include/Imath/PyImathDecorators.h +include/Imath/PyImathEuler.h +include/Imath/PyImathExport.h +include/Imath/PyImathFixedArray.h +include/Imath/PyImathFixedArray2D.h +include/Imath/PyImathFixedArrayTraits.h +include/Imath/PyImathFixedMatrix.h +include/Imath/PyImathFixedVArray.h +include/Imath/PyImathFrustum.h +include/Imath/PyImathFun.h +include/Imath/PyImathLine.h +include/Imath/PyImathMathExc.h +include/Imath/PyImathMatrix.h +include/Imath/PyImathOperators.h +include/Imath/PyImathPlane.h +include/Imath/PyImathQuat.h +include/Imath/PyImathQuatOperators.h +include/Imath/PyImathRandom.h +include/Imath/PyImathShear.h +include/Imath/PyImathStringArray.h +include/Imath/PyImathStringArrayRegister.h +include/Imath/PyImathStringTable.h +include/Imath/PyImathTask.h +include/Imath/PyImathUtil.h +include/Imath/PyImathVec.h +include/Imath/PyImathVec2Impl.h +include/Imath/PyImathVec3ArrayImpl.h +include/Imath/PyImathVec3Impl.h +include/Imath/PyImathVec4ArrayImpl.h +include/Imath/PyImathVec4Impl.h +include/Imath/PyImathVecOperators.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/pybindimath.cpython-$PYTHONMAJOR$PYTHONMINOR-x86_64-linux-gnu.so +lib64/cmake/Imath/ImathConfig.cmake +lib64/cmake/Imath/ImathConfigVersion.cmake +lib64/cmake/Imath/ImathTargets-debug.cmake +lib64/cmake/Imath/ImathTargets.cmake +lib64/libImath-$MAJOR_$MINOR_d.so +lib64/libImath-$MAJOR_$MINOR_d.so.$SOVERSION +lib64/libImath-$MAJOR_$MINOR_d.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libImath_d.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR_d.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR_d.so.$SOVERSION +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR_d.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR_d.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR_d.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR_d.so.$SOVERSION +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR_d.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/pkgconfig/Imath.pc +lib64/pkgconfig/PyBindImath.pc +lib64/pkgconfig/PyImath.pc +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imath.so +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imathnumpy.so diff --git a/share/ci/install_manifest/install_manifest.ubuntu.3.txt b/share/ci/install_manifest/install_manifest.ubuntu.3.txt new file mode 100644 index 00000000..3b1d3da6 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.ubuntu.3.txt @@ -0,0 +1,93 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=OFF -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=ON -DPYBIND11=ON -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/PyImath.h +include/Imath/PyImathAPI.h +include/Imath/PyImathAutovectorize.h +include/Imath/PyImathBasicTypes.h +include/Imath/PyImathBox.h +include/Imath/PyImathBoxArrayImpl.h +include/Imath/PyImathBufferProtocol.h +include/Imath/PyImathColor.h +include/Imath/PyImathColor3ArrayImpl.h +include/Imath/PyImathColor4Array2DImpl.h +include/Imath/PyImathColor4ArrayImpl.h +include/Imath/PyImathDecorators.h +include/Imath/PyImathEuler.h +include/Imath/PyImathExport.h +include/Imath/PyImathFixedArray.h +include/Imath/PyImathFixedArray2D.h +include/Imath/PyImathFixedArrayTraits.h +include/Imath/PyImathFixedMatrix.h +include/Imath/PyImathFixedVArray.h +include/Imath/PyImathFrustum.h +include/Imath/PyImathFun.h +include/Imath/PyImathLine.h +include/Imath/PyImathMathExc.h +include/Imath/PyImathMatrix.h +include/Imath/PyImathOperators.h +include/Imath/PyImathPlane.h +include/Imath/PyImathQuat.h +include/Imath/PyImathQuatOperators.h +include/Imath/PyImathRandom.h +include/Imath/PyImathShear.h +include/Imath/PyImathStringArray.h +include/Imath/PyImathStringArrayRegister.h +include/Imath/PyImathStringTable.h +include/Imath/PyImathTask.h +include/Imath/PyImathUtil.h +include/Imath/PyImathVec.h +include/Imath/PyImathVec2Impl.h +include/Imath/PyImathVec3ArrayImpl.h +include/Imath/PyImathVec3Impl.h +include/Imath/PyImathVec4ArrayImpl.h +include/Imath/PyImathVec4Impl.h +include/Imath/PyImathVecOperators.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/pybindimath.cpython-$PYTHONMAJOR$PYTHONMINOR-x86_64-linux-gnu.so +lib64/cmake/Imath/ImathConfig.cmake +lib64/cmake/Imath/ImathConfigVersion.cmake +lib64/cmake/Imath/ImathTargets-release.cmake +lib64/cmake/Imath/ImathTargets.cmake +lib64/libImath-$MAJOR_$MINOR.a +lib64/libPyBindImath.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/pkgconfig/Imath.pc +lib64/pkgconfig/PyBindImath.pc +lib64/pkgconfig/PyImath.pc +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imath.so +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imathnumpy.so diff --git a/share/ci/install_manifest/install_manifest.ubuntu.4.txt b/share/ci/install_manifest/install_manifest.ubuntu.4.txt new file mode 100644 index 00000000..711a1c77 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.ubuntu.4.txt @@ -0,0 +1,44 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=OFF -DBUILD_TESTING=OFF -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib64/cmake/Imath/ImathConfig.cmake +lib64/cmake/Imath/ImathConfigVersion.cmake +lib64/cmake/Imath/ImathTargets-release.cmake +lib64/cmake/Imath/ImathTargets.cmake +lib64/libImath-$MAJOR_$MINOR.so +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libImath.so diff --git a/share/ci/install_manifest/install_manifest.ubuntu.5.txt b/share/ci/install_manifest/install_manifest.ubuntu.5.txt new file mode 100644 index 00000000..4c3ea83c --- /dev/null +++ b/share/ci/install_manifest/install_manifest.ubuntu.5.txt @@ -0,0 +1,99 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=ON -DPYBIND11=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DIMATH_NAMESPACE=TEST_NAMESPACE +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/PyImath.h +include/Imath/PyImathAPI.h +include/Imath/PyImathAutovectorize.h +include/Imath/PyImathBasicTypes.h +include/Imath/PyImathBox.h +include/Imath/PyImathBoxArrayImpl.h +include/Imath/PyImathBufferProtocol.h +include/Imath/PyImathColor.h +include/Imath/PyImathColor3ArrayImpl.h +include/Imath/PyImathColor4Array2DImpl.h +include/Imath/PyImathColor4ArrayImpl.h +include/Imath/PyImathDecorators.h +include/Imath/PyImathEuler.h +include/Imath/PyImathExport.h +include/Imath/PyImathFixedArray.h +include/Imath/PyImathFixedArray2D.h +include/Imath/PyImathFixedArrayTraits.h +include/Imath/PyImathFixedMatrix.h +include/Imath/PyImathFixedVArray.h +include/Imath/PyImathFrustum.h +include/Imath/PyImathFun.h +include/Imath/PyImathLine.h +include/Imath/PyImathMathExc.h +include/Imath/PyImathMatrix.h +include/Imath/PyImathOperators.h +include/Imath/PyImathPlane.h +include/Imath/PyImathQuat.h +include/Imath/PyImathQuatOperators.h +include/Imath/PyImathRandom.h +include/Imath/PyImathShear.h +include/Imath/PyImathStringArray.h +include/Imath/PyImathStringArrayRegister.h +include/Imath/PyImathStringTable.h +include/Imath/PyImathTask.h +include/Imath/PyImathUtil.h +include/Imath/PyImathVec.h +include/Imath/PyImathVec2Impl.h +include/Imath/PyImathVec3ArrayImpl.h +include/Imath/PyImathVec3Impl.h +include/Imath/PyImathVec4ArrayImpl.h +include/Imath/PyImathVec4Impl.h +include/Imath/PyImathVecOperators.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/pybindimath.cpython-$PYTHONMAJOR$PYTHONMINOR-x86_64-linux-gnu.so +lib64/cmake/Imath/ImathConfig.cmake +lib64/cmake/Imath/ImathConfigVersion.cmake +lib64/cmake/Imath/ImathTargets-release.cmake +lib64/cmake/Imath/ImathTargets.cmake +lib64/libImath-$MAJOR_$MINOR.so +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libImath.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/pkgconfig/Imath.pc +lib64/pkgconfig/PyBindImath.pc +lib64/pkgconfig/PyImath.pc +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imath.so +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imathnumpy.so diff --git a/share/ci/install_manifest/install_manifest.ubuntu.6.txt b/share/ci/install_manifest/install_manifest.ubuntu.6.txt new file mode 100644 index 00000000..f8dbb2aa --- /dev/null +++ b/share/ci/install_manifest/install_manifest.ubuntu.6.txt @@ -0,0 +1,99 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=ON -DPYBIND11=ON -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/PyImath.h +include/Imath/PyImathAPI.h +include/Imath/PyImathAutovectorize.h +include/Imath/PyImathBasicTypes.h +include/Imath/PyImathBox.h +include/Imath/PyImathBoxArrayImpl.h +include/Imath/PyImathBufferProtocol.h +include/Imath/PyImathColor.h +include/Imath/PyImathColor3ArrayImpl.h +include/Imath/PyImathColor4Array2DImpl.h +include/Imath/PyImathColor4ArrayImpl.h +include/Imath/PyImathDecorators.h +include/Imath/PyImathEuler.h +include/Imath/PyImathExport.h +include/Imath/PyImathFixedArray.h +include/Imath/PyImathFixedArray2D.h +include/Imath/PyImathFixedArrayTraits.h +include/Imath/PyImathFixedMatrix.h +include/Imath/PyImathFixedVArray.h +include/Imath/PyImathFrustum.h +include/Imath/PyImathFun.h +include/Imath/PyImathLine.h +include/Imath/PyImathMathExc.h +include/Imath/PyImathMatrix.h +include/Imath/PyImathOperators.h +include/Imath/PyImathPlane.h +include/Imath/PyImathQuat.h +include/Imath/PyImathQuatOperators.h +include/Imath/PyImathRandom.h +include/Imath/PyImathShear.h +include/Imath/PyImathStringArray.h +include/Imath/PyImathStringArrayRegister.h +include/Imath/PyImathStringTable.h +include/Imath/PyImathTask.h +include/Imath/PyImathUtil.h +include/Imath/PyImathVec.h +include/Imath/PyImathVec2Impl.h +include/Imath/PyImathVec3ArrayImpl.h +include/Imath/PyImathVec3Impl.h +include/Imath/PyImathVec4ArrayImpl.h +include/Imath/PyImathVec4Impl.h +include/Imath/PyImathVecOperators.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/pybindimath.cpython-$PYTHONMAJOR$PYTHONMINOR-x86_64-linux-gnu.so +lib64/cmake/Imath/ImathConfig.cmake +lib64/cmake/Imath/ImathConfigVersion.cmake +lib64/cmake/Imath/ImathTargets-release.cmake +lib64/cmake/Imath/ImathTargets.cmake +lib64/libImath-$MAJOR_$MINOR.so +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libImath.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/pkgconfig/Imath.pc +lib64/pkgconfig/PyBindImath.pc +lib64/pkgconfig/PyImath.pc +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imath.so +lib64/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imathnumpy.so diff --git a/share/ci/install_manifest/install_manifest.ubuntu.7.txt b/share/ci/install_manifest/install_manifest.ubuntu.7.txt new file mode 100644 index 00000000..4be8f1de --- /dev/null +++ b/share/ci/install_manifest/install_manifest.ubuntu.7.txt @@ -0,0 +1,99 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=ON -DPYBIND11=ON -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/PyImath.h +include/Imath/PyImathAPI.h +include/Imath/PyImathAutovectorize.h +include/Imath/PyImathBasicTypes.h +include/Imath/PyImathBox.h +include/Imath/PyImathBoxArrayImpl.h +include/Imath/PyImathBufferProtocol.h +include/Imath/PyImathColor.h +include/Imath/PyImathColor3ArrayImpl.h +include/Imath/PyImathColor4Array2DImpl.h +include/Imath/PyImathColor4ArrayImpl.h +include/Imath/PyImathDecorators.h +include/Imath/PyImathEuler.h +include/Imath/PyImathExport.h +include/Imath/PyImathFixedArray.h +include/Imath/PyImathFixedArray2D.h +include/Imath/PyImathFixedArrayTraits.h +include/Imath/PyImathFixedMatrix.h +include/Imath/PyImathFixedVArray.h +include/Imath/PyImathFrustum.h +include/Imath/PyImathFun.h +include/Imath/PyImathLine.h +include/Imath/PyImathMathExc.h +include/Imath/PyImathMatrix.h +include/Imath/PyImathOperators.h +include/Imath/PyImathPlane.h +include/Imath/PyImathQuat.h +include/Imath/PyImathQuatOperators.h +include/Imath/PyImathRandom.h +include/Imath/PyImathShear.h +include/Imath/PyImathStringArray.h +include/Imath/PyImathStringArrayRegister.h +include/Imath/PyImathStringTable.h +include/Imath/PyImathTask.h +include/Imath/PyImathUtil.h +include/Imath/PyImathVec.h +include/Imath/PyImathVec2Impl.h +include/Imath/PyImathVec3ArrayImpl.h +include/Imath/PyImathVec3Impl.h +include/Imath/PyImathVec4ArrayImpl.h +include/Imath/PyImathVec4Impl.h +include/Imath/PyImathVecOperators.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imath.so +lib/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/imathnumpy.so +lib/python$PYTHONMAJOR.$PYTHONMINOR/site-packages/pybindimath.cpython-$PYTHONMAJOR$PYTHONMINOR-x86_64-linux-gnu.so +lib64/cmake/Imath/ImathConfig.cmake +lib64/cmake/Imath/ImathConfigVersion.cmake +lib64/cmake/Imath/ImathTargets-release.cmake +lib64/cmake/Imath/ImathTargets.cmake +lib64/libImath-$MAJOR_$MINOR.so +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION +lib64/libImath-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libImath.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/libPyBindImath_Python$PYTHONMAJOR_$PYTHONMINOR.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION +lib64/libPyImath_Python$PYTHONMAJOR_$PYTHONMINOR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.$PATCH +lib64/pkgconfig/Imath.pc +lib64/pkgconfig/PyBindImath.pc +lib64/pkgconfig/PyImath.pc diff --git a/share/ci/install_manifest/install_manifest.windows.1.txt b/share/ci/install_manifest/install_manifest.windows.1.txt new file mode 100644 index 00000000..a7522e81 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.windows.1.txt @@ -0,0 +1,43 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +bin/Imath-$MAJOR_$MINOR.dll +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/Imath-$MAJOR_$MINOR.lib +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-release.cmake +lib/cmake/Imath/ImathTargets.cmake +lib/pkgconfig/Imath.pc diff --git a/share/ci/install_manifest/install_manifest.windows.2.txt b/share/ci/install_manifest/install_manifest.windows.2.txt new file mode 100644 index 00000000..944b3d6f --- /dev/null +++ b/share/ci/install_manifest/install_manifest.windows.2.txt @@ -0,0 +1,43 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +bin/Imath-$MAJOR_$MINOR_d.dll +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/Imath-$MAJOR_$MINOR_d.lib +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-debug.cmake +lib/cmake/Imath/ImathTargets.cmake +lib/pkgconfig/Imath.pc diff --git a/share/ci/install_manifest/install_manifest.windows.3.txt b/share/ci/install_manifest/install_manifest.windows.3.txt new file mode 100644 index 00000000..1ccc20c9 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.windows.3.txt @@ -0,0 +1,42 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=OFF -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/Imath-$MAJOR_$MINOR.lib +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-release.cmake +lib/cmake/Imath/ImathTargets.cmake +lib/pkgconfig/Imath.pc diff --git a/share/ci/install_manifest/install_manifest.windows.5.txt b/share/ci/install_manifest/install_manifest.windows.5.txt new file mode 100644 index 00000000..3b3dee81 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.windows.5.txt @@ -0,0 +1,42 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=OFF -DBUILD_TESTING=OFF -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +bin/Imath-$MAJOR_$MINOR.dll +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/Imath-$MAJOR_$MINOR.lib +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-release.cmake +lib/cmake/Imath/ImathTargets.cmake diff --git a/share/ci/install_manifest/install_manifest.windows.6.txt b/share/ci/install_manifest/install_manifest.windows.6.txt new file mode 100644 index 00000000..a7522e81 --- /dev/null +++ b/share/ci/install_manifest/install_manifest.windows.6.txt @@ -0,0 +1,43 @@ +# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DIMATH_INSTALL_PKG_CONFIG=ON -DBUILD_TESTING=ON -DPYTHON=OFF -DPYBIND11=OFF -DCMAKE_VERBOSE_MAKEFILE=ON +bin/Imath-$MAJOR_$MINOR.dll +include/Imath/ImathBox.h +include/Imath/ImathBoxAlgo.h +include/Imath/ImathColor.h +include/Imath/ImathColorAlgo.h +include/Imath/ImathConfig.h +include/Imath/ImathEuler.h +include/Imath/ImathExport.h +include/Imath/ImathForward.h +include/Imath/ImathFrame.h +include/Imath/ImathFrustum.h +include/Imath/ImathFrustumTest.h +include/Imath/ImathFun.h +include/Imath/ImathGL.h +include/Imath/ImathGLU.h +include/Imath/ImathInt64.h +include/Imath/ImathInterval.h +include/Imath/ImathLine.h +include/Imath/ImathLineAlgo.h +include/Imath/ImathMath.h +include/Imath/ImathMatrix.h +include/Imath/ImathMatrixAlgo.h +include/Imath/ImathNamespace.h +include/Imath/ImathPlane.h +include/Imath/ImathPlatform.h +include/Imath/ImathQuat.h +include/Imath/ImathRandom.h +include/Imath/ImathRoots.h +include/Imath/ImathShear.h +include/Imath/ImathSphere.h +include/Imath/ImathTypeTraits.h +include/Imath/ImathVec.h +include/Imath/ImathVecAlgo.h +include/Imath/half.h +include/Imath/halfFunction.h +include/Imath/halfLimits.h +lib/Imath-$MAJOR_$MINOR.lib +lib/cmake/Imath/ImathConfig.cmake +lib/cmake/Imath/ImathConfigVersion.cmake +lib/cmake/Imath/ImathTargets-release.cmake +lib/cmake/Imath/ImathTargets.cmake +lib/pkgconfig/Imath.pc diff --git a/share/ci/scripts/validate_install.py b/share/ci/scripts/validate_install.py new file mode 100755 index 00000000..18cf0fc6 --- /dev/null +++ b/share/ci/scripts/validate_install.py @@ -0,0 +1,145 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: BSD-3-Clause +# Copyright Contributors to the OpenColorIO Project. + +# +# This script compares an install_manifest.txt from a CI build and +# compares it against a known valid manifest to verify that the proper +# files have been installed. Both missing files and extra files not +# expected to be installed are reported as errors. +# +# This script is invoked by the .github/workflows/ci_steps.yml workflow. +# +# usage: validate_install.py _build/CMakeCache.txt +# +# Ths script must be run from the source directory. +# +# The first argument is the candidate manifest from the build in +# question. The second argument is the reference manifest from +# share/ci/install_manifest, known to be correct. The third argument +# is the CMakeCache.txt file from the build directory. +# +# The reference manifest may contain variables for the library version: +# $MAJOR = IMATH_VERSION_MAJOR +# $MINOR = IMATH_VERSION_MINOR +# $PATCH = IMATH_VERSION_PATCH +# $SOVERSION = IMATH_LIB_SOVERSION +# The values of these variables are extracted from the CMakeLists.txt +# in the current diretory and the CMakeCache.txt file from the build +# directory, provided as an argument. This is so the reference manifests +# don't have be updated on every release, sinced these values appear +# in the installed library names. +# +# The manifests *must* be updated whenever files are added to what is +# installed: new headers, libraries, tools, cmake, etc, or a change to +# file names. Note that this validates just the file *names*, not the +# contents. +# +# The CI uploads the install manifests as job artifacts, attached to +# the GitHub status page. +# +# NOTE: If you add a new installed header, you must add it to each of +# the reference manifest in share/ci/install_manifest. +# +# The first line of the manifest file is the cmake command for the +# build that generated it, just to help identify the contents. +# + +import os +import sys +import re +import argparse +from pathlib import Path + +def imath_soversion(): + + with open("CMakeLists.txt", "r") as f: + for line in f: + m = re.search(r"set\(IMATH_LIB_SOVERSION (\d+)\)", line) + if m: + return m.group(1) + + print("Can't find soversion") + sys.exit(1) + +def imath_version(CMakeCache): + major = minor = patch = None + with open(CMakeCache, 'r') as f: + for line in f: + if line.startswith('CMAKE_PROJECT_VERSION_MAJOR:STATIC='): + major = line.split('=')[1].strip() + elif line.startswith('CMAKE_PROJECT_VERSION_MINOR:STATIC='): + minor = line.split('=')[1].strip() + elif line.startswith('CMAKE_PROJECT_VERSION_PATCH:STATIC='): + patch = line.split('=')[1].strip() + if major != None and minor != None and patch != None: + return major, minor, patch + + print("Can't find Imath version!") + sys.exit(1) + +def process_line(line, major, minor, patch, so): + return line.strip().split("/_install/", 1)[-1].replace("$MAJOR", major).replace("$MINOR", minor).replace("$PATCH", patch).replace("$SOVERSION", so).replace("$PYTHONMAJOR", str(sys.version_info.major)).replace("$PYTHONMINOR", str(sys.version_info.minor)) + +def load_manifest(path, CMakeCache): + """Load and return the list of files from the install manifest.""" + major, minor, patch = imath_version(CMakeCache) + so = imath_soversion() + with open(path, 'r') as file: + return sorted(process_line(line, major, minor, patch, so) for line in file if line[0]!='#') + +def validate_install(candidate_manifest_path, reference_manifest_path, CMakeCache): + """Main function to verify the installed files.""" + + candidate_manifest = load_manifest(candidate_manifest_path, CMakeCache) + reference_manifest = load_manifest(reference_manifest_path, CMakeCache) + + print("reference_manifest:") + for l in reference_manifest: + print(f" {l}") + print("candidate_manifest:") + for l in candidate_manifest: + print(f" {l}") + + # Compare manifests + missing_files = sorted(set(reference_manifest) - set(candidate_manifest)) + extra_files = sorted(set(candidate_manifest) - set(reference_manifest)) + + # Output results + if missing_files: + print("Error: The following files should have been installed but weren't:\n " + '\n '.join(missing_files)) + if extra_files: + print("Error: The following files were installed but were not expected:\n " + '\n '.join(extra_files)) + + if missing_files or extra_files: + return 1 + + print("install manifest is valid.") + + return 0 + +if __name__ == "__main__": + + print(f"validate_install: {sys.argv}") + + parser = argparse.ArgumentParser(description="Validate installed files against reference install manifest.") + parser.add_argument("candidate_manifest", help="Path to the candidate install_manifest.txt") + parser.add_argument("reference_manifest", help="Path to the reference install_manifest.txt") + parser.add_argument("CMakeCache", help="CakeCache.txt file path") + args = parser.parse_args() + + if not os.path.exists(args.candidate_manifest): + print(f"candidate manifest does not exist: {args.candidate_manifest}") + sys.exit(1) + + if not os.path.exists(args.reference_manifest): + print(f"reference manifest does not exist: {args.reference_manifest}") + sys.exit(1) + + print(f"candidate_manifest={args.candidate_manifest}") + print(f"reference_manifest={args.reference_manifest}") + + status = validate_install(args.candidate_manifest, args.reference_manifest, args.CMakeCache) + + sys.exit(status) + diff --git a/src/pybind11/PyBindImath/PyBindImathBox.cpp b/src/pybind11/PyBindImath/PyBindImathBox.cpp index c42d99e3..fcc22662 100644 --- a/src/pybind11/PyBindImath/PyBindImathBox.cpp +++ b/src/pybind11/PyBindImath/PyBindImathBox.cpp @@ -49,11 +49,11 @@ void register_box3(pybind11::module& m, const char * name) void register_imath_box(pybind11::module& m) { - register_box2(m, "Box2d"); - register_box2(m, "Box2f"); + register_box2(m, "Box2d"); + register_box2(m, "Box2f"); - register_box3(m, "Box3d"); - register_box3(m, "Box3f"); + register_box3(m, "Box3d"); + register_box3(m, "Box3f"); } diff --git a/src/pybind11/PyBindImath/PyBindImathLine.cpp b/src/pybind11/PyBindImath/PyBindImathLine.cpp index 15fe40d7..c812d58e 100644 --- a/src/pybind11/PyBindImath/PyBindImathLine.cpp +++ b/src/pybind11/PyBindImath/PyBindImathLine.cpp @@ -23,8 +23,8 @@ void register_line(pybind11::module& m, const char *name) void register_imath_line(pybind11::module &m) { - register_line(m, "Line3f"); - register_line(m, "Line3d"); + register_line(m, "Line3f"); + register_line(m, "Line3d"); } } diff --git a/src/pybind11/PyBindImath/PyBindImathPlane.cpp b/src/pybind11/PyBindImath/PyBindImathPlane.cpp index 2423135f..e65801a8 100644 --- a/src/pybind11/PyBindImath/PyBindImathPlane.cpp +++ b/src/pybind11/PyBindImath/PyBindImathPlane.cpp @@ -45,8 +45,8 @@ void register_plane(pybind11::module& m, const char *name) void register_imath_plane(pybind11::module &m) { - register_plane(m, "Plane3f"); - register_plane(m, "Plane3d"); + register_plane(m, "Plane3f"); + register_plane(m, "Plane3d"); } } diff --git a/src/pybind11/PyBindImath/PyBindImathVec.cpp b/src/pybind11/PyBindImath/PyBindImathVec.cpp index 07d453fa..768e6df5 100644 --- a/src/pybind11/PyBindImath/PyBindImathVec.cpp +++ b/src/pybind11/PyBindImath/PyBindImathVec.cpp @@ -114,14 +114,14 @@ void register_vec4(pybind11::module& m, const char * name) void register_imath_vec(pybind11::module& m) { - register_vec2(m, "V2d"); - register_vec2(m, "V2f"); + register_vec2(m, "V2d"); + register_vec2(m, "V2f"); - register_vec3(m, "V3d"); - register_vec3(m, "V3f"); + register_vec3(m, "V3d"); + register_vec3(m, "V3f"); - register_vec4(m, "V4d"); - register_vec4(m, "V4f"); + register_vec4(m, "V4d"); + register_vec4(m, "V4f"); } } diff --git a/src/python/PyImath/PyImath.h b/src/python/PyImath/PyImath.h index 38ba488a..ab4ff8dc 100644 --- a/src/python/PyImath/PyImath.h +++ b/src/python/PyImath/PyImath.h @@ -41,8 +41,8 @@ typedef FixedArray2D DoubleArray2D; typedef FixedVArray VIntArray; typedef FixedVArray VFloatArray; -typedef FixedVArray > VV2iArray; -typedef FixedVArray > VV2fArray; +typedef FixedVArray > VV2iArray; +typedef FixedVArray > VV2fArray; } diff --git a/src/python/PyImath/PyImathBufferProtocol.cpp b/src/python/PyImath/PyImathBufferProtocol.cpp index c4bce93c..bbf295d9 100644 --- a/src/python/PyImath/PyImathBufferProtocol.cpp +++ b/src/python/PyImath/PyImathBufferProtocol.cpp @@ -375,37 +375,37 @@ template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > &classObj); template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); -template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); - -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); -template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); +template PYIMATH_EXPORT void add_buffer_protocol (boost::python::class_ > > &classObj); + +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); +template PYIMATH_EXPORT FixedArray >* fixedArrayFromBuffer (PyObject *obj); template PYIMATH_EXPORT FixedArray* fixedArrayFromBuffer (PyObject *obj); template PYIMATH_EXPORT FixedArray* fixedArrayFromBuffer (PyObject *obj); template PYIMATH_EXPORT FixedArray* fixedArrayFromBuffer (PyObject *obj); diff --git a/src/python/PyImath/PyImathFixedVArray.cpp b/src/python/PyImath/PyImathFixedVArray.cpp index d95cac30..381a130e 100644 --- a/src/python/PyImath/PyImathFixedVArray.cpp +++ b/src/python/PyImath/PyImathFixedVArray.cpp @@ -865,7 +865,7 @@ FixedVArray::register_(const char* doc) template class PYIMATH_EXPORT FixedVArray; template class PYIMATH_EXPORT FixedVArray; -template class PYIMATH_EXPORT FixedVArray >; -template class PYIMATH_EXPORT FixedVArray >; +template class PYIMATH_EXPORT FixedVArray >; +template class PYIMATH_EXPORT FixedVArray >; } // namespace PyImath diff --git a/src/python/PyImath/PyImathQuatOperators.h b/src/python/PyImath/PyImathQuatOperators.h index 9ee235a7..09696b74 100644 --- a/src/python/PyImath/PyImathQuatOperators.h +++ b/src/python/PyImath/PyImathQuatOperators.h @@ -33,7 +33,7 @@ struct op_quatNormalized { template struct op_quatSlerp { static inline T apply (const T &self, const T &qB, const typename T::BaseType t) - { return Imath::slerpShortestArc (self, qB, t); } + { return IMATH_NAMESPACE::slerpShortestArc (self, qB, t); } }; diff --git a/src/python/PyImath/imathmodule.cpp b/src/python/PyImath/imathmodule.cpp index 21a60106..0806bf6b 100644 --- a/src/python/PyImath/imathmodule.cpp +++ b/src/python/PyImath/imathmodule.cpp @@ -143,10 +143,10 @@ procrustesRotationAndTranslation(const FixedArray >& fr return IMATH_NAMESPACE::M44d(); std::unique_ptr[]> fromHandle; - const Imath::Vec3* fromPtr = flatten(from, fromHandle); + const IMATH_NAMESPACE::Vec3* fromPtr = flatten(from, fromHandle); std::unique_ptr[]> toHandle; - const Imath::Vec3* toPtr = flatten(to, toHandle); + const IMATH_NAMESPACE::Vec3* toPtr = flatten(to, toHandle); std::unique_ptr weightsHandle; const T* weightsPtr = nullptr; @@ -292,17 +292,17 @@ BOOST_PYTHON_MODULE(imath) add_buffer_protocol > (v2f_class); add_buffer_protocol > (v2d_class); - def("V2iArrayFromBuffer", &fixedArrayFromBuffer > >, + def("V2iArrayFromBuffer", &fixedArrayFromBuffer > >, return_value_policy(), args("bufferObject"), "Construct a V2iArray from a buffer object"); - def("V2fArrayFromBuffer", &fixedArrayFromBuffer > >, + def("V2fArrayFromBuffer", &fixedArrayFromBuffer > >, return_value_policy(), args("bufferObject"), "Construct a V2fArray from a buffer object"); - def("V2dArrayFromBuffer", &fixedArrayFromBuffer > >, + def("V2dArrayFromBuffer", &fixedArrayFromBuffer > >, return_value_policy(), args("bufferObject"), "Construct a V2dArray from a buffer object"); @@ -353,17 +353,17 @@ BOOST_PYTHON_MODULE(imath) add_buffer_protocol > (v3f_class); add_buffer_protocol > (v3d_class); - def("V3iArrayFromBuffer", &fixedArrayFromBuffer > >, + def("V3iArrayFromBuffer", &fixedArrayFromBuffer > >, return_value_policy(), args("bufferObject"), "Construct a V3iArray from a buffer object"); - def("V3fArrayFromBuffer", &fixedArrayFromBuffer > >, + def("V3fArrayFromBuffer", &fixedArrayFromBuffer > >, return_value_policy(), args("bufferObject"), "Construct a V3fArray from a buffer object"); - def("V3dArrayFromBuffer", &fixedArrayFromBuffer > >, + def("V3dArrayFromBuffer", &fixedArrayFromBuffer > >, return_value_policy(), args("bufferObject"), "Construct a V3dArray from a buffer object"); @@ -408,17 +408,17 @@ BOOST_PYTHON_MODULE(imath) add_explicit_construction_from_type(v4i64_class); add_explicit_construction_from_type(v4f_class); - def("V4iArrayFromBuffer", &fixedArrayFromBuffer > >, + def("V4iArrayFromBuffer", &fixedArrayFromBuffer > >, return_value_policy(), args("bufferObject"), "Construct a V4iArray from a buffer object"); - def("V4fArrayFromBuffer", &fixedArrayFromBuffer > >, + def("V4fArrayFromBuffer", &fixedArrayFromBuffer > >, return_value_policy(), args("bufferObject"), "Construct a V4fArray from a buffer object"); - def("V4dArrayFromBuffer", &fixedArrayFromBuffer > >, + def("V4dArrayFromBuffer", &fixedArrayFromBuffer > >, return_value_policy(), args("bufferObject"), "Construct a V4dArray from a buffer object"); diff --git a/src/python/PyImathTest/main.cpp b/src/python/PyImathTest/main.cpp index b2b133e9..1bdc7627 100644 --- a/src/python/PyImathTest/main.cpp +++ b/src/python/PyImathTest/main.cpp @@ -40,111 +40,111 @@ wrapTester (PyObject * /* self */, PyObject *args) std::string typeStr (type); if (typeStr == "Box2i") - return PyImath::Box2i::wrap (Imath::Box2i (Imath::V2i (1, 2), - Imath::V2i (3, 4))); + return PyImath::Box2i::wrap (IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (1, 2), + IMATH_NAMESPACE::V2i (3, 4))); else if (typeStr == "Box2f") - return PyImath::Box2f::wrap (Imath::Box2f (Imath::V2f (1.1f, 2.2f), - Imath::V2f (3.3f, 4.4f))); + return PyImath::Box2f::wrap (IMATH_NAMESPACE::Box2f (IMATH_NAMESPACE::V2f (1.1f, 2.2f), + IMATH_NAMESPACE::V2f (3.3f, 4.4f))); else if (typeStr == "Box2d") - return PyImath::Box2d::wrap (Imath::Box2d (Imath::V2d (1.1, 2.2), - Imath::V2d (3.3, 4.4))); + return PyImath::Box2d::wrap (IMATH_NAMESPACE::Box2d (IMATH_NAMESPACE::V2d (1.1, 2.2), + IMATH_NAMESPACE::V2d (3.3, 4.4))); if (typeStr == "Box3i") - return PyImath::Box3i::wrap (Imath::Box3i (Imath::V3i (1, 2, 3), - Imath::V3i (4, 5, 6))); + return PyImath::Box3i::wrap (IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (1, 2, 3), + IMATH_NAMESPACE::V3i (4, 5, 6))); else if (typeStr == "Box3f") - return PyImath::Box3f::wrap (Imath::Box3f (Imath::V3f (1.1f, 2.2f, 3.3f), - Imath::V3f (4.4f, 5.5f, 6.6f))); + return PyImath::Box3f::wrap (IMATH_NAMESPACE::Box3f (IMATH_NAMESPACE::V3f (1.1f, 2.2f, 3.3f), + IMATH_NAMESPACE::V3f (4.4f, 5.5f, 6.6f))); else if (typeStr == "Box3d") - return PyImath::Box3d::wrap (Imath::Box3d (Imath::V3d (1.1, 2.2, 3.3), - Imath::V3d (4.4, 5.5, 6.6))); + return PyImath::Box3d::wrap (IMATH_NAMESPACE::Box3d (IMATH_NAMESPACE::V3d (1.1, 2.2, 3.3), + IMATH_NAMESPACE::V3d (4.4, 5.5, 6.6))); else if (typeStr == "Color3c") - return PyImath::Color3c::wrap (Imath::Color3c (1, 2, 3)); + return PyImath::Color3c::wrap (IMATH_NAMESPACE::Color3c (1, 2, 3)); else if (typeStr == "Color3f") - return PyImath::Color3f::wrap (Imath::Color3f (1.1f, 2.2f, 3.3f)); + return PyImath::Color3f::wrap (IMATH_NAMESPACE::Color3f (1.1f, 2.2f, 3.3f)); else if (typeStr == "Color4c") - return PyImath::Color4c::wrap (Imath::Color4c (1, 2, 3, 4)); + return PyImath::Color4c::wrap (IMATH_NAMESPACE::Color4c (1, 2, 3, 4)); else if (typeStr == "Color4f") - return PyImath::Color4f::wrap (Imath::Color4f (1.1f, 2.2f, 3.3f, 4.4f)); + return PyImath::Color4f::wrap (IMATH_NAMESPACE::Color4f (1.1f, 2.2f, 3.3f, 4.4f)); else if (typeStr == "Eulerf") - return PyImath::Eulerf::wrap (Imath::Eulerf (Imath::V3f (1.1f, 2.2f, 3.3f), - Imath::Eulerf::XZY)); + return PyImath::Eulerf::wrap (IMATH_NAMESPACE::Eulerf (IMATH_NAMESPACE::V3f (1.1f, 2.2f, 3.3f), + IMATH_NAMESPACE::Eulerf::XZY)); else if (typeStr == "Eulerd") - return PyImath::Eulerd::wrap (Imath::Eulerd (Imath::V3d (1.1f, 2.2f, 3.3f), - Imath::Eulerd::XZY)); + return PyImath::Eulerd::wrap (IMATH_NAMESPACE::Eulerd (IMATH_NAMESPACE::V3d (1.1f, 2.2f, 3.3f), + IMATH_NAMESPACE::Eulerd::XZY)); else if (typeStr == "Frustumf") - return PyImath::Frustumf::wrap (Imath::Frustumf (1.1f, 2.2f, 3.3f, + return PyImath::Frustumf::wrap (IMATH_NAMESPACE::Frustumf (1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f)); else if (typeStr == "Frustumd") - return PyImath::Frustumd::wrap (Imath::Frustumd (1.1, 2.2, 3.3, + return PyImath::Frustumd::wrap (IMATH_NAMESPACE::Frustumd (1.1, 2.2, 3.3, 4.4, 5.5, 6.6)); else if (typeStr == "Line3f") - return PyImath::Line3f::wrap (Imath::Line3f (Imath::V3f (1.1f, 2.2f, 3.3f), - Imath::V3f (4.4f, 5.5f, 6.6f))); + return PyImath::Line3f::wrap (IMATH_NAMESPACE::Line3f (IMATH_NAMESPACE::V3f (1.1f, 2.2f, 3.3f), + IMATH_NAMESPACE::V3f (4.4f, 5.5f, 6.6f))); else if (typeStr == "Line3d") - return PyImath::Line3d::wrap (Imath::Line3d (Imath::V3d (1.1, 2.2, 3.3), - Imath::V3d (4.4, 5.5, 6.6))); + return PyImath::Line3d::wrap (IMATH_NAMESPACE::Line3d (IMATH_NAMESPACE::V3d (1.1, 2.2, 3.3), + IMATH_NAMESPACE::V3d (4.4, 5.5, 6.6))); else if (typeStr == "M33f") - return PyImath::M33f::wrap (Imath::M33f (1.1f, 2.2f, 3.3f, + return PyImath::M33f::wrap (IMATH_NAMESPACE::M33f (1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f, 9.9f)); else if (typeStr == "M33d") - return PyImath::M33d::wrap (Imath::M33d (1.1, 2.2, 3.3, + return PyImath::M33d::wrap (IMATH_NAMESPACE::M33d (1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9)); else if (typeStr == "M44f") - return PyImath::M44f::wrap (Imath::M44f (1.1f, 2.2f, 3.3f, 4.4f, + return PyImath::M44f::wrap (IMATH_NAMESPACE::M44f (1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f, 9.9f, 10.10f, 11.11f, 12.12f, 13.13f, 14.14f, 15.15f, 16.16f)); else if (typeStr == "M44d") - return PyImath::M44d::wrap (Imath::M44d (1.1, 2.2, 3.3, 4.4, + return PyImath::M44d::wrap (IMATH_NAMESPACE::M44d (1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10, 11.11, 12.12, 13.13, 14.14, 15.15, 16.16)); else if (typeStr == "Plane3f") - return PyImath::Plane3f::wrap (Imath::Plane3f (Imath::V3f (1.1f, 2.2f, 3.3f), 4.4f)); + return PyImath::Plane3f::wrap (IMATH_NAMESPACE::Plane3f (IMATH_NAMESPACE::V3f (1.1f, 2.2f, 3.3f), 4.4f)); else if (typeStr == "Plane3d") - return PyImath::Plane3d::wrap (Imath::Plane3d (Imath::V3d (1.1, 2.2, 3.3), 4.4)); + return PyImath::Plane3d::wrap (IMATH_NAMESPACE::Plane3d (IMATH_NAMESPACE::V3d (1.1, 2.2, 3.3), 4.4)); else if (typeStr == "Quatf") - return PyImath::Quatf::wrap (Imath::Quatf (1.1f, 2.2f, 3.3f, 4.4f)); + return PyImath::Quatf::wrap (IMATH_NAMESPACE::Quatf (1.1f, 2.2f, 3.3f, 4.4f)); else if (typeStr == "Quatd") - return PyImath::Quatd::wrap (Imath::Quatd (1.1, 2.2, 3.3, 4.4)); + return PyImath::Quatd::wrap (IMATH_NAMESPACE::Quatd (1.1, 2.2, 3.3, 4.4)); else if (typeStr == "Rand32") - return PyImath::Rand32::wrap (Imath::Rand32 ()); + return PyImath::Rand32::wrap (IMATH_NAMESPACE::Rand32 ()); else if (typeStr == "Rand48") - return PyImath::Rand48::wrap (Imath::Rand48 ()); + return PyImath::Rand48::wrap (IMATH_NAMESPACE::Rand48 ()); else if (typeStr == "Shear6f") - return PyImath::Shear6f::wrap (Imath::Shear6f (1.1f, 2.2f, 3.3f, + return PyImath::Shear6f::wrap (IMATH_NAMESPACE::Shear6f (1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f)); else if (typeStr == "Shear6d") - return PyImath::Shear6d::wrap (Imath::Shear6d (1.1, 2.2, 3.3, + return PyImath::Shear6d::wrap (IMATH_NAMESPACE::Shear6d (1.1, 2.2, 3.3, 4.4, 5.5, 6.6)); else if (typeStr == "V2i") - return PyImath::V2i::wrap (Imath::V2i (1, 2)); + return PyImath::V2i::wrap (IMATH_NAMESPACE::V2i (1, 2)); else if (typeStr == "V2f") - return PyImath::V2f::wrap (Imath::V2f (1.1f, 2.2f)); + return PyImath::V2f::wrap (IMATH_NAMESPACE::V2f (1.1f, 2.2f)); else if (typeStr == "V2d") - return PyImath::V2d::wrap (Imath::V2d (1.1, 2.2)); + return PyImath::V2d::wrap (IMATH_NAMESPACE::V2d (1.1, 2.2)); else if (typeStr == "V3i") - return PyImath::V3i::wrap (Imath::V3i (1, 2, 3)); + return PyImath::V3i::wrap (IMATH_NAMESPACE::V3i (1, 2, 3)); else if (typeStr == "V3f") - return PyImath::V3f::wrap (Imath::V3f (1.1f, 2.2f, 3.3f)); + return PyImath::V3f::wrap (IMATH_NAMESPACE::V3f (1.1f, 2.2f, 3.3f)); else if (typeStr == "V3d") - return PyImath::V3d::wrap (Imath::V3d (1.1, 2.2, 3.3)); + return PyImath::V3d::wrap (IMATH_NAMESPACE::V3d (1.1, 2.2, 3.3)); } PyErr_Clear(); @@ -309,62 +309,62 @@ testBox2 () std::cerr << "Testing Box2i:\n"; - Imath::Box2i b2iAsB2i; + IMATH_NAMESPACE::Box2i b2iAsB2i; assert (PyImath::Box2i::convert (b2iObj, &b2iAsB2i) == 1); - assert (b2iAsB2i == Imath::Box2i (Imath::V2i (1, 2), - Imath::V2i (3, 4))); + assert (b2iAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (1, 2), + IMATH_NAMESPACE::V2i (3, 4))); - Imath::Box2i b2fAsB2i; + IMATH_NAMESPACE::Box2i b2fAsB2i; assert (PyImath::Box2i::convert (b2fObj, &b2fAsB2i) == 1); - assert (b2fAsB2i == Imath::Box2i (Imath::V2i (5, 6), - Imath::V2i (7, 8))); + assert (b2fAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (5, 6), + IMATH_NAMESPACE::V2i (7, 8))); - Imath::Box2i b2dAsB2i; + IMATH_NAMESPACE::Box2i b2dAsB2i; assert (PyImath::Box2i::convert (b2dObj, &b2dAsB2i) == 1); - assert (b2dAsB2i == Imath::Box2i (Imath::V2i (9, 10), - Imath::V2i (11, 12))); + assert (b2dAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (9, 10), + IMATH_NAMESPACE::V2i (11, 12))); - Imath::Box2i t2iAsB2i; + IMATH_NAMESPACE::Box2i t2iAsB2i; assert (PyImath::Box2i::convert (t2iObj, &t2iAsB2i) == 1); - assert (t2iAsB2i == Imath::Box2i (Imath::V2i (1, 2), - Imath::V2i (3, 4))); + assert (t2iAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (1, 2), + IMATH_NAMESPACE::V2i (3, 4))); - Imath::Box2i t2V2iAsB2i; + IMATH_NAMESPACE::Box2i t2V2iAsB2i; assert (PyImath::Box2i::convert (t2V2iObj, &t2V2iAsB2i) == 1); - assert (t2V2iAsB2i == Imath::Box2i (Imath::V2i (1, 2), - Imath::V2i (3, 4))); + assert (t2V2iAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (1, 2), + IMATH_NAMESPACE::V2i (3, 4))); - Imath::Box2i t2iMixAsB2i; + IMATH_NAMESPACE::Box2i t2iMixAsB2i; assert (PyImath::Box2i::convert (t2iMixObj, &t2iMixAsB2i) == 1); - assert (t2iMixAsB2i == Imath::Box2i (Imath::V2i (1, 2), - Imath::V2i (3, 4))); + assert (t2iMixAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (1, 2), + IMATH_NAMESPACE::V2i (3, 4))); - Imath::Box2i t2fAsB2i; + IMATH_NAMESPACE::Box2i t2fAsB2i; assert (PyImath::Box2i::convert (t2fObj, &t2fAsB2i) == 1); - assert (t2fAsB2i == Imath::Box2i (Imath::V2i (5, 6), - Imath::V2i (7, 8))); + assert (t2fAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (5, 6), + IMATH_NAMESPACE::V2i (7, 8))); - Imath::Box2i t2V2fAsB2i; + IMATH_NAMESPACE::Box2i t2V2fAsB2i; assert (PyImath::Box2i::convert (t2V2fObj, &t2V2fAsB2i) == 1); - assert (t2V2fAsB2i == Imath::Box2i (Imath::V2i (5, 6), - Imath::V2i (7, 8))); + assert (t2V2fAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (5, 6), + IMATH_NAMESPACE::V2i (7, 8))); - Imath::Box2i t2fMixAsB2i; + IMATH_NAMESPACE::Box2i t2fMixAsB2i; assert (PyImath::Box2i::convert (t2fMixObj, &t2fMixAsB2i) == 1); - assert (t2fMixAsB2i == Imath::Box2i (Imath::V2i (5, 6), - Imath::V2i (7, 8))); + assert (t2fMixAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (5, 6), + IMATH_NAMESPACE::V2i (7, 8))); - Imath::Box2i t2V2dAsB2i; + IMATH_NAMESPACE::Box2i t2V2dAsB2i; assert (PyImath::Box2i::convert (t2V2dObj, &t2V2dAsB2i) == 1); - assert (t2V2dAsB2i == Imath::Box2i (Imath::V2i (9, 10), - Imath::V2i (11, 12))); + assert (t2V2dAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (9, 10), + IMATH_NAMESPACE::V2i (11, 12))); - Imath::Box2i t2dMixAsB2i; + IMATH_NAMESPACE::Box2i t2dMixAsB2i; assert (PyImath::Box2i::convert (t2dMixObj, &t2dMixAsB2i) == 1); - assert (t2dMixAsB2i == Imath::Box2i (Imath::V2i (9, 10), - Imath::V2i (11, 12))); + assert (t2dMixAsB2i == IMATH_NAMESPACE::Box2i (IMATH_NAMESPACE::V2i (9, 10), + IMATH_NAMESPACE::V2i (11, 12))); - Imath::Box2i iAsB2i; + IMATH_NAMESPACE::Box2i iAsB2i; assert (PyImath::Box2i::convert (iObj, &iAsB2i) == 0); std::cerr << "ok\n"; @@ -373,62 +373,62 @@ testBox2 () std::cerr << "Testing Box2f:\n"; - Imath::Box2f b2iAsB2f; + IMATH_NAMESPACE::Box2f b2iAsB2f; assert (PyImath::Box2f::convert (b2iObj, &b2iAsB2f) == 1); - assert (b2iAsB2f.min.equalWithAbsError (Imath::V2f (1.0f, 2.0f), 1e-7)); - assert (b2iAsB2f.max.equalWithAbsError (Imath::V2f (3.0f, 4.0f), 1e-7)); + assert (b2iAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (1.0f, 2.0f), 1e-7)); + assert (b2iAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (3.0f, 4.0f), 1e-7)); - Imath::Box2f b2fAsB2f; + IMATH_NAMESPACE::Box2f b2fAsB2f; assert (PyImath::Box2f::convert (b2fObj, &b2fAsB2f) == 1); - assert (b2fAsB2f.min.equalWithAbsError (Imath::V2f (5.5f, 6.6f), 1e-7)); - assert (b2fAsB2f.max.equalWithAbsError (Imath::V2f (7.7f, 8.8f), 1e-7)); + assert (b2fAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (5.5f, 6.6f), 1e-7)); + assert (b2fAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (7.7f, 8.8f), 1e-7)); - Imath::Box2f b2dAsB2f; + IMATH_NAMESPACE::Box2f b2dAsB2f; assert (PyImath::Box2f::convert (b2dObj, &b2dAsB2f) == 1); - assert (b2dAsB2f.min.equalWithAbsError (Imath::V2f (9.9f, 10.10f), 1e-7)); - assert (b2dAsB2f.max.equalWithAbsError (Imath::V2f (11.11f, 12.12f), 1e-7)); + assert (b2dAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (9.9f, 10.10f), 1e-7)); + assert (b2dAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (11.11f, 12.12f), 1e-7)); - Imath::Box2f t2iAsB2f; + IMATH_NAMESPACE::Box2f t2iAsB2f; assert (PyImath::Box2f::convert (t2iObj, &t2iAsB2f) == 1); - assert (t2iAsB2f.min.equalWithAbsError (Imath::V2f (1.0f, 2.0f), 1e-7)); - assert (t2iAsB2f.max.equalWithAbsError (Imath::V2f (3.0f, 4.0f), 1e-7)); + assert (t2iAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (1.0f, 2.0f), 1e-7)); + assert (t2iAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (3.0f, 4.0f), 1e-7)); - Imath::Box2f t2V2iAsB2f; + IMATH_NAMESPACE::Box2f t2V2iAsB2f; assert (PyImath::Box2f::convert (t2V2iObj, &t2V2iAsB2f) == 1); - assert (t2V2iAsB2f.min.equalWithAbsError (Imath::V2f (1.0f, 2.0f), 1e-7)); - assert (t2V2iAsB2f.max.equalWithAbsError (Imath::V2f (3.0f, 4.0f), 1e-7)); + assert (t2V2iAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (1.0f, 2.0f), 1e-7)); + assert (t2V2iAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (3.0f, 4.0f), 1e-7)); - Imath::Box2f t2iMixAsB2f; + IMATH_NAMESPACE::Box2f t2iMixAsB2f; assert (PyImath::Box2f::convert (t2iMixObj, &t2iMixAsB2f) == 1); - assert (t2iMixAsB2f.min.equalWithAbsError (Imath::V2f (1.0f, 2.0f), 1e-7)); - assert (t2iMixAsB2f.max.equalWithAbsError (Imath::V2f (3.0, 4.0f), 1e-7)); + assert (t2iMixAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (1.0f, 2.0f), 1e-7)); + assert (t2iMixAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (3.0, 4.0f), 1e-7)); - Imath::Box2f t2fAsB2f; + IMATH_NAMESPACE::Box2f t2fAsB2f; assert (PyImath::Box2f::convert (t2fObj, &t2fAsB2f) == 1); - assert (t2fAsB2f.min.equalWithAbsError (Imath::V2f (5.5f, 6.6f), 1e-7)); - assert (t2fAsB2f.max.equalWithAbsError (Imath::V2f (7.7f, 8.8f), 1e-7)); + assert (t2fAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (5.5f, 6.6f), 1e-7)); + assert (t2fAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (7.7f, 8.8f), 1e-7)); - Imath::Box2f t2V2fAsB2f; + IMATH_NAMESPACE::Box2f t2V2fAsB2f; assert (PyImath::Box2f::convert (t2V2fObj, &t2V2fAsB2f) == 1); - assert (t2V2fAsB2f.min.equalWithAbsError (Imath::V2f (5.5f, 6.6f), 1e-7)); - assert (t2V2fAsB2f.max.equalWithAbsError (Imath::V2f (7.7f, 8.8f), 1e-7)); + assert (t2V2fAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (5.5f, 6.6f), 1e-7)); + assert (t2V2fAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (7.7f, 8.8f), 1e-7)); - Imath::Box2f t2fMixAsB2f; + IMATH_NAMESPACE::Box2f t2fMixAsB2f; assert (PyImath::Box2f::convert (t2fMixObj, &t2fMixAsB2f) == 1); - assert (t2fMixAsB2f.min.equalWithAbsError (Imath::V2f (5.5f, 6.6f), 1e-7)); - assert (t2fMixAsB2f.max.equalWithAbsError (Imath::V2f (7.7f, 8.8f), 1e-7)); + assert (t2fMixAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (5.5f, 6.6f), 1e-7)); + assert (t2fMixAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (7.7f, 8.8f), 1e-7)); - Imath::Box2f t2V2dAsB2f; + IMATH_NAMESPACE::Box2f t2V2dAsB2f; assert (PyImath::Box2f::convert (t2V2dObj, &t2V2dAsB2f) == 1); - assert (t2V2dAsB2f.min.equalWithAbsError (Imath::V2f (9.9f, 10.10f), 1e-7)); - assert (t2V2dAsB2f.max.equalWithAbsError (Imath::V2f (11.11, 12.12f), 1e-7)); + assert (t2V2dAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (9.9f, 10.10f), 1e-7)); + assert (t2V2dAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (11.11, 12.12f), 1e-7)); - Imath::Box2f t2dMixAsB2f; + IMATH_NAMESPACE::Box2f t2dMixAsB2f; assert (PyImath::Box2f::convert (t2dMixObj, &t2dMixAsB2f) == 1); - assert (t2dMixAsB2f.min.equalWithAbsError (Imath::V2f (9.9f, 10.10f), 1e-7)); - assert (t2dMixAsB2f.max.equalWithAbsError (Imath::V2f (11.11f, 12.12f), 1e-7)); + assert (t2dMixAsB2f.min.equalWithAbsError (IMATH_NAMESPACE::V2f (9.9f, 10.10f), 1e-7)); + assert (t2dMixAsB2f.max.equalWithAbsError (IMATH_NAMESPACE::V2f (11.11f, 12.12f), 1e-7)); - Imath::Box2f iAsB2f; + IMATH_NAMESPACE::Box2f iAsB2f; assert (PyImath::Box2f::convert (iObj, &iAsB2f) == 0); std::cerr << "ok\n"; @@ -437,62 +437,62 @@ testBox2 () std::cerr << "Testing Box2d:\n"; - Imath::Box2d b2iAsB2d; + IMATH_NAMESPACE::Box2d b2iAsB2d; assert (PyImath::Box2d::convert (b2iObj, &b2iAsB2d) == 1); - assert (b2iAsB2d.min.equalWithAbsError (Imath::V2d (1.0, 2.0), 1e-7)); - assert (b2iAsB2d.max.equalWithAbsError (Imath::V2d (3.0, 4.0), 1e-7)); + assert (b2iAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (1.0, 2.0), 1e-7)); + assert (b2iAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (3.0, 4.0), 1e-7)); - Imath::Box2d b2fAsB2d; + IMATH_NAMESPACE::Box2d b2fAsB2d; assert (PyImath::Box2d::convert (b2fObj, &b2fAsB2d) == 1); - assert (b2fAsB2d.min.equalWithAbsError (Imath::V2d (5.5, 6.6), 1e-7)); - assert (b2fAsB2d.max.equalWithAbsError (Imath::V2d (7.7, 8.8), 1e-6)); + assert (b2fAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (5.5, 6.6), 1e-7)); + assert (b2fAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (7.7, 8.8), 1e-6)); - Imath::Box2d b2dAsB2d; + IMATH_NAMESPACE::Box2d b2dAsB2d; assert (PyImath::Box2d::convert (b2dObj, &b2dAsB2d) == 1); - assert (b2dAsB2d.min.equalWithAbsError (Imath::V2d (9.9, 10.10), 1e-6)); - assert (b2dAsB2d.max.equalWithAbsError (Imath::V2d (11.11, 12.12), 1e-6)); + assert (b2dAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (9.9, 10.10), 1e-6)); + assert (b2dAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (11.11, 12.12), 1e-6)); - Imath::Box2d t2iAsB2d; + IMATH_NAMESPACE::Box2d t2iAsB2d; assert (PyImath::Box2d::convert (t2iObj, &t2iAsB2d) == 1); - assert (t2iAsB2d.min.equalWithAbsError (Imath::V2d (1.0, 2.0), 1e-7)); - assert (t2iAsB2d.max.equalWithAbsError (Imath::V2d (3.0, 4.0), 1e-7)); + assert (t2iAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (1.0, 2.0), 1e-7)); + assert (t2iAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (3.0, 4.0), 1e-7)); - Imath::Box2d t2V2iAsB2d; + IMATH_NAMESPACE::Box2d t2V2iAsB2d; assert (PyImath::Box2d::convert (t2V2iObj, &t2V2iAsB2d) == 1); - assert (t2V2iAsB2d.min.equalWithAbsError (Imath::V2d (1.0, 2.0), 1e-7)); - assert (t2V2iAsB2d.max.equalWithAbsError (Imath::V2d (3.0, 4.0), 1e-7)); + assert (t2V2iAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (1.0, 2.0), 1e-7)); + assert (t2V2iAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (3.0, 4.0), 1e-7)); - Imath::Box2d t2iMixAsB2d; + IMATH_NAMESPACE::Box2d t2iMixAsB2d; assert (PyImath::Box2d::convert (t2iMixObj, &t2iMixAsB2d) == 1); - assert (t2iMixAsB2d.min.equalWithAbsError (Imath::V2d (1.0, 2.0), 1e-7)); - assert (t2iMixAsB2d.max.equalWithAbsError (Imath::V2d (3.0, 4.0), 1e-7)); + assert (t2iMixAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (1.0, 2.0), 1e-7)); + assert (t2iMixAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (3.0, 4.0), 1e-7)); - Imath::Box2d t2fAsB2d; + IMATH_NAMESPACE::Box2d t2fAsB2d; assert (PyImath::Box2d::convert (t2fObj, &t2fAsB2d) == 1); - assert (t2fAsB2d.min.equalWithAbsError (Imath::V2d (5.5, 6.6), 1e-7)); - assert (t2fAsB2d.max.equalWithAbsError (Imath::V2d (7.7, 8.8), 1e-7)); + assert (t2fAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (5.5, 6.6), 1e-7)); + assert (t2fAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (7.7, 8.8), 1e-7)); - Imath::Box2d t2V2fAsB2d; + IMATH_NAMESPACE::Box2d t2V2fAsB2d; assert (PyImath::Box2d::convert (t2V2fObj, &t2V2fAsB2d) == 1); - assert (t2V2fAsB2d.min.equalWithAbsError (Imath::V2d (5.5, 6.6), 1e-7)); - assert (t2V2fAsB2d.max.equalWithAbsError (Imath::V2d (7.7, 8.8), 1e-6)); + assert (t2V2fAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (5.5, 6.6), 1e-7)); + assert (t2V2fAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (7.7, 8.8), 1e-6)); - Imath::Box2d t2fMixAsB2d; + IMATH_NAMESPACE::Box2d t2fMixAsB2d; assert (PyImath::Box2d::convert (t2fMixObj, &t2fMixAsB2d) == 1); - assert (t2fMixAsB2d.min.equalWithAbsError (Imath::V2d (5.5, 6.6), 1e-7)); - assert (t2fMixAsB2d.max.equalWithAbsError (Imath::V2d (7.7, 8.8), 1e-7)); + assert (t2fMixAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (5.5, 6.6), 1e-7)); + assert (t2fMixAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (7.7, 8.8), 1e-7)); - Imath::Box2d t2V2dAsB2d; + IMATH_NAMESPACE::Box2d t2V2dAsB2d; assert (PyImath::Box2d::convert (t2V2dObj, &t2V2dAsB2d) == 1); - assert (t2V2dAsB2d.min.equalWithAbsError (Imath::V2d (9.9, 10.10), 1e-7)); - assert (t2V2dAsB2d.max.equalWithAbsError (Imath::V2d (11.11, 12.12), 1e-7)); + assert (t2V2dAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (9.9, 10.10), 1e-7)); + assert (t2V2dAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (11.11, 12.12), 1e-7)); - Imath::Box2d t2dMixAsB2d; + IMATH_NAMESPACE::Box2d t2dMixAsB2d; assert (PyImath::Box2d::convert (t2dMixObj, &t2dMixAsB2d) == 1); - assert (t2dMixAsB2d.min.equalWithAbsError (Imath::V2d (9.9, 10.10), 1e-7)); - assert (t2dMixAsB2d.max.equalWithAbsError (Imath::V2d (11.11, 12.12), 1e-7)); + assert (t2dMixAsB2d.min.equalWithAbsError (IMATH_NAMESPACE::V2d (9.9, 10.10), 1e-7)); + assert (t2dMixAsB2d.max.equalWithAbsError (IMATH_NAMESPACE::V2d (11.11, 12.12), 1e-7)); - Imath::Box2d iAsB2d; + IMATH_NAMESPACE::Box2d iAsB2d; assert (PyImath::Box2d::convert (iObj, &iAsB2d) == 0); std::cerr << "ok\n"; @@ -612,62 +612,62 @@ testBox3 () std::cerr << "Testing Box3i:\n"; - Imath::Box3i b3iAsB3i; + IMATH_NAMESPACE::Box3i b3iAsB3i; assert (PyImath::Box3i::convert (b3iObj, &b3iAsB3i) == 1); - assert (b3iAsB3i == Imath::Box3i (Imath::V3i (1, 2, 3), - Imath::V3i (4, 5, 6))); + assert (b3iAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (1, 2, 3), + IMATH_NAMESPACE::V3i (4, 5, 6))); - Imath::Box3i b3fAsB3i; + IMATH_NAMESPACE::Box3i b3fAsB3i; assert (PyImath::Box3i::convert (b3fObj, &b3fAsB3i) == 1); - assert (b3fAsB3i == Imath::Box3i (Imath::V3i (7, 8, 9), - Imath::V3i (10, 11, 12))); + assert (b3fAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (7, 8, 9), + IMATH_NAMESPACE::V3i (10, 11, 12))); - Imath::Box3i b3dAsB3i; + IMATH_NAMESPACE::Box3i b3dAsB3i; assert (PyImath::Box3i::convert (b3dObj, &b3dAsB3i) == 1); - assert (b3dAsB3i == Imath::Box3i (Imath::V3i (13, 14, 15), - Imath::V3i (16, 17, 18))); + assert (b3dAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (13, 14, 15), + IMATH_NAMESPACE::V3i (16, 17, 18))); - Imath::Box3i t2iAsB3i; + IMATH_NAMESPACE::Box3i t2iAsB3i; assert (PyImath::Box3i::convert (t2iObj, &t2iAsB3i) == 1); - assert (t2iAsB3i == Imath::Box3i (Imath::V3i (1, 2, 3), - Imath::V3i (4, 5, 6))); + assert (t2iAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (1, 2, 3), + IMATH_NAMESPACE::V3i (4, 5, 6))); - Imath::Box3i t2V3iAsB3i; + IMATH_NAMESPACE::Box3i t2V3iAsB3i; assert (PyImath::Box3i::convert (t2V3iObj, &t2V3iAsB3i) == 1); - assert (t2V3iAsB3i == Imath::Box3i (Imath::V3i (1, 2, 3), - Imath::V3i (4, 5, 6))); + assert (t2V3iAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (1, 2, 3), + IMATH_NAMESPACE::V3i (4, 5, 6))); - Imath::Box3i t2iMixAsB3i; + IMATH_NAMESPACE::Box3i t2iMixAsB3i; assert (PyImath::Box3i::convert (t2iMixObj, &t2iMixAsB3i) == 1); - assert (t2iMixAsB3i == Imath::Box3i (Imath::V3i (1, 2, 3), - Imath::V3i (4, 5, 6))); + assert (t2iMixAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (1, 2, 3), + IMATH_NAMESPACE::V3i (4, 5, 6))); - Imath::Box3i t2fAsB3i; + IMATH_NAMESPACE::Box3i t2fAsB3i; assert (PyImath::Box3i::convert (t2fObj, &t2fAsB3i) == 1); - assert (t2fAsB3i == Imath::Box3i (Imath::V3i (7, 8, 9), - Imath::V3i (10, 11, 12))); + assert (t2fAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (7, 8, 9), + IMATH_NAMESPACE::V3i (10, 11, 12))); - Imath::Box3i t2V3fAsB3i; + IMATH_NAMESPACE::Box3i t2V3fAsB3i; assert (PyImath::Box3i::convert (t2V3fObj, &t2V3fAsB3i) == 1); - assert (t2V3fAsB3i == Imath::Box3i (Imath::V3i (7, 8, 9), - Imath::V3i (10, 11, 12))); + assert (t2V3fAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (7, 8, 9), + IMATH_NAMESPACE::V3i (10, 11, 12))); - Imath::Box3i t2fMixAsB3i; + IMATH_NAMESPACE::Box3i t2fMixAsB3i; assert (PyImath::Box3i::convert (t2fMixObj, &t2fMixAsB3i) == 1); - assert (t2fMixAsB3i == Imath::Box3i (Imath::V3i (7, 8, 9), - Imath::V3i (10, 11, 12))); + assert (t2fMixAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (7, 8, 9), + IMATH_NAMESPACE::V3i (10, 11, 12))); - Imath::Box3i t2V3dAsB3i; + IMATH_NAMESPACE::Box3i t2V3dAsB3i; assert (PyImath::Box3i::convert (t2V3dObj, &t2V3dAsB3i) == 1); - assert (t2V3dAsB3i == Imath::Box3i (Imath::V3i (13, 14, 15), - Imath::V3i (16, 17, 18))); + assert (t2V3dAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (13, 14, 15), + IMATH_NAMESPACE::V3i (16, 17, 18))); - Imath::Box3i t2dMixAsB3i; + IMATH_NAMESPACE::Box3i t2dMixAsB3i; assert (PyImath::Box3i::convert (t2dMixObj, &t2dMixAsB3i) == 1); - assert (t2dMixAsB3i == Imath::Box3i (Imath::V3i (13, 14, 15), - Imath::V3i (16, 17, 18))); + assert (t2dMixAsB3i == IMATH_NAMESPACE::Box3i (IMATH_NAMESPACE::V3i (13, 14, 15), + IMATH_NAMESPACE::V3i (16, 17, 18))); - Imath::Box3i iAsB3i; + IMATH_NAMESPACE::Box3i iAsB3i; assert (PyImath::Box3i::convert (iObj, &iAsB3i) == 0); std::cerr << "ok\n"; @@ -676,62 +676,62 @@ testBox3 () std::cerr << "Testing Box3f:\n"; - Imath::Box3f b3iAsB3f; + IMATH_NAMESPACE::Box3f b3iAsB3f; assert (PyImath::Box3f::convert (b3iObj, &b3iAsB3f) == 1); - assert (b3iAsB3f.min.equalWithAbsError (Imath::V3f (1.0f, 2.0f, 3.0f), 1e-7)); - assert (b3iAsB3f.max.equalWithAbsError (Imath::V3f (4.0f, 5.0f, 6.0f), 1e-7)); + assert (b3iAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (1.0f, 2.0f, 3.0f), 1e-7)); + assert (b3iAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (4.0f, 5.0f, 6.0f), 1e-7)); - Imath::Box3f b3fAsB3f; + IMATH_NAMESPACE::Box3f b3fAsB3f; assert (PyImath::Box3f::convert (b3fObj, &b3fAsB3f) == 1); - assert (b3fAsB3f.min.equalWithAbsError (Imath::V3f (7.7f, 8.8f, 9.9f), 1e-7)); - assert (b3fAsB3f.max.equalWithAbsError (Imath::V3f (10.10f, 11.11f, 12.12f), 1e-7)); + assert (b3fAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (7.7f, 8.8f, 9.9f), 1e-7)); + assert (b3fAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (10.10f, 11.11f, 12.12f), 1e-7)); - Imath::Box3f b3dAsB3f; + IMATH_NAMESPACE::Box3f b3dAsB3f; assert (PyImath::Box3f::convert (b3dObj, &b3dAsB3f) == 1); - assert (b3dAsB3f.min.equalWithAbsError (Imath::V3f (13.13f, 14.14f, 15.15f), 1e-7)); - assert (b3dAsB3f.max.equalWithAbsError (Imath::V3f (16.16f, 17.17f, 18.18f), 1e-7)); + assert (b3dAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (13.13f, 14.14f, 15.15f), 1e-7)); + assert (b3dAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (16.16f, 17.17f, 18.18f), 1e-7)); - Imath::Box3f t2iAsB3f; + IMATH_NAMESPACE::Box3f t2iAsB3f; assert (PyImath::Box3f::convert (t2iObj, &t2iAsB3f) == 1); - assert (t2iAsB3f.min.equalWithAbsError (Imath::V3f (1.0f, 2.0f, 3.0f), 1e-7)); - assert (t2iAsB3f.max.equalWithAbsError (Imath::V3f (4.0f, 5.0f, 6.0f), 1e-7)); + assert (t2iAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (1.0f, 2.0f, 3.0f), 1e-7)); + assert (t2iAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (4.0f, 5.0f, 6.0f), 1e-7)); - Imath::Box3f t2V3iAsB3f; + IMATH_NAMESPACE::Box3f t2V3iAsB3f; assert (PyImath::Box3f::convert (t2V3iObj, &t2V3iAsB3f) == 1); - assert (t2V3iAsB3f.min.equalWithAbsError (Imath::V3f (1.0f, 2.0f, 3.0f), 1e-7)); - assert (t2V3iAsB3f.max.equalWithAbsError (Imath::V3f (4.0f, 5.0f, 6.0f), 1e-7)); + assert (t2V3iAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (1.0f, 2.0f, 3.0f), 1e-7)); + assert (t2V3iAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (4.0f, 5.0f, 6.0f), 1e-7)); - Imath::Box3f t2iMixAsB3f; + IMATH_NAMESPACE::Box3f t2iMixAsB3f; assert (PyImath::Box3f::convert (t2iMixObj, &t2iMixAsB3f) == 1); - assert (t2iMixAsB3f.min.equalWithAbsError (Imath::V3f (1.0f, 2.0f, 3.0f), 1e-7)); - assert (t2iMixAsB3f.max.equalWithAbsError (Imath::V3f (4.0f, 5.0f, 6.0f), 1e-7)); + assert (t2iMixAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (1.0f, 2.0f, 3.0f), 1e-7)); + assert (t2iMixAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (4.0f, 5.0f, 6.0f), 1e-7)); - Imath::Box3f t2fAsB3f; + IMATH_NAMESPACE::Box3f t2fAsB3f; assert (PyImath::Box3f::convert (t2fObj, &t2fAsB3f) == 1); - assert (t2fAsB3f.min.equalWithAbsError (Imath::V3f (7.7f, 8.8f, 9.9f), 1e-7)); - assert (t2fAsB3f.max.equalWithAbsError (Imath::V3f (10.10f, 11.11f, 12.12f), 1e-7)); + assert (t2fAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (7.7f, 8.8f, 9.9f), 1e-7)); + assert (t2fAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (10.10f, 11.11f, 12.12f), 1e-7)); - Imath::Box3f t2V3fAsB3f; + IMATH_NAMESPACE::Box3f t2V3fAsB3f; assert (PyImath::Box3f::convert (t2V3fObj, &t2V3fAsB3f) == 1); - assert (t2V3fAsB3f.min.equalWithAbsError (Imath::V3f (7.7f, 8.8f, 9.9f), 1e-7)); - assert (t2V3fAsB3f.max.equalWithAbsError (Imath::V3f (10.10f, 11.11f, 12.12f), 1e-7)); + assert (t2V3fAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (7.7f, 8.8f, 9.9f), 1e-7)); + assert (t2V3fAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (10.10f, 11.11f, 12.12f), 1e-7)); - Imath::Box3f t2fMixAsB3f; + IMATH_NAMESPACE::Box3f t2fMixAsB3f; assert (PyImath::Box3f::convert (t2fMixObj, &t2fMixAsB3f) == 1); - assert (t2fMixAsB3f.min.equalWithAbsError (Imath::V3f (7.7f, 8.8f, 9.9f), 1e-7)); - assert (t2fMixAsB3f.max.equalWithAbsError (Imath::V3f (10.10f, 11.11f, 12.12f), 1e-7)); + assert (t2fMixAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (7.7f, 8.8f, 9.9f), 1e-7)); + assert (t2fMixAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (10.10f, 11.11f, 12.12f), 1e-7)); - Imath::Box3f t2V3dAsB3f; + IMATH_NAMESPACE::Box3f t2V3dAsB3f; assert (PyImath::Box3f::convert (t2V3dObj, &t2V3dAsB3f) == 1); - assert (t2V3dAsB3f.min.equalWithAbsError (Imath::V3f (13.13f, 14.14f, 15.15f), 1e-7)); - assert (t2V3dAsB3f.max.equalWithAbsError (Imath::V3f (16.16f, 17.17f, 18.18f), 1e-7)); + assert (t2V3dAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (13.13f, 14.14f, 15.15f), 1e-7)); + assert (t2V3dAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (16.16f, 17.17f, 18.18f), 1e-7)); - Imath::Box3f t2dMixAsB3f; + IMATH_NAMESPACE::Box3f t2dMixAsB3f; assert (PyImath::Box3f::convert (t2dMixObj, &t2dMixAsB3f) == 1); - assert (t2dMixAsB3f.min.equalWithAbsError (Imath::V3f (13.13f, 14.14f, 15.15f), 1e-7)); - assert (t2dMixAsB3f.max.equalWithAbsError (Imath::V3f (16.16f, 17.17f, 18.18f), 1e-7)); + assert (t2dMixAsB3f.min.equalWithAbsError (IMATH_NAMESPACE::V3f (13.13f, 14.14f, 15.15f), 1e-7)); + assert (t2dMixAsB3f.max.equalWithAbsError (IMATH_NAMESPACE::V3f (16.16f, 17.17f, 18.18f), 1e-7)); - Imath::Box3f iAsB3f; + IMATH_NAMESPACE::Box3f iAsB3f; assert (PyImath::Box3f::convert (iObj, &iAsB3f) == 0); std::cerr << "ok\n"; @@ -740,62 +740,62 @@ testBox3 () std::cerr << "Testing Box3d:\n"; - Imath::Box3d b3iAsB3d; + IMATH_NAMESPACE::Box3d b3iAsB3d; assert (PyImath::Box3d::convert (b3iObj, &b3iAsB3d) == 1); - assert (b3iAsB3d.min.equalWithAbsError (Imath::V3d (1.0, 2.0, 3.0), 1e-7)); - assert (b3iAsB3d.max.equalWithAbsError (Imath::V3d (4.0, 5.0, 6.0), 1e-7)); + assert (b3iAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (1.0, 2.0, 3.0), 1e-7)); + assert (b3iAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (4.0, 5.0, 6.0), 1e-7)); - Imath::Box3d b3fAsB3d; + IMATH_NAMESPACE::Box3d b3fAsB3d; assert (PyImath::Box3d::convert (b3fObj, &b3fAsB3d) == 1); - assert (b3fAsB3d.min.equalWithAbsError (Imath::V3d (7.7, 8.8, 9.9), 1e-6)); - assert (b3fAsB3d.max.equalWithAbsError (Imath::V3d (10.10, 11.11, 12.12), 1e-6)); + assert (b3fAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (7.7, 8.8, 9.9), 1e-6)); + assert (b3fAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (10.10, 11.11, 12.12), 1e-6)); - Imath::Box3d b3dAsB3d; + IMATH_NAMESPACE::Box3d b3dAsB3d; assert (PyImath::Box3d::convert (b3dObj, &b3dAsB3d) == 1); - assert (b3dAsB3d.min.equalWithAbsError (Imath::V3d (13.13, 14.14, 15.15), 1e-6)); - assert (b3dAsB3d.max.equalWithAbsError (Imath::V3d (16.16, 17.17, 18.18), 1e-6)); + assert (b3dAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (13.13, 14.14, 15.15), 1e-6)); + assert (b3dAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (16.16, 17.17, 18.18), 1e-6)); - Imath::Box3d t2iAsB3d; + IMATH_NAMESPACE::Box3d t2iAsB3d; assert (PyImath::Box3d::convert (t2iObj, &t2iAsB3d) == 1); - assert (t2iAsB3d.min.equalWithAbsError (Imath::V3d (1.0, 2.0, 3.0), 1e-7)); - assert (t2iAsB3d.max.equalWithAbsError (Imath::V3d (4.0, 5.0, 6.0), 1e-7)); + assert (t2iAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (1.0, 2.0, 3.0), 1e-7)); + assert (t2iAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (4.0, 5.0, 6.0), 1e-7)); - Imath::Box3d t2V3iAsB3d; + IMATH_NAMESPACE::Box3d t2V3iAsB3d; assert (PyImath::Box3d::convert (t2V3iObj, &t2V3iAsB3d) == 1); - assert (t2V3iAsB3d.min.equalWithAbsError (Imath::V3d (1.0, 2.0, 3.0), 1e-7)); - assert (t2V3iAsB3d.max.equalWithAbsError (Imath::V3d (4.0, 5.0, 6.0), 1e-7)); + assert (t2V3iAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (1.0, 2.0, 3.0), 1e-7)); + assert (t2V3iAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (4.0, 5.0, 6.0), 1e-7)); - Imath::Box3d t2iMixAsB3d; + IMATH_NAMESPACE::Box3d t2iMixAsB3d; assert (PyImath::Box3d::convert (t2iMixObj, &t2iMixAsB3d) == 1); - assert (t2iMixAsB3d.min.equalWithAbsError (Imath::V3d (1.0, 2.0, 3.0), 1e-7)); - assert (t2iMixAsB3d.max.equalWithAbsError (Imath::V3d (4.0, 5.0, 6.0), 1e-7)); + assert (t2iMixAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (1.0, 2.0, 3.0), 1e-7)); + assert (t2iMixAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (4.0, 5.0, 6.0), 1e-7)); - Imath::Box3d t2fAsB3d; + IMATH_NAMESPACE::Box3d t2fAsB3d; assert (PyImath::Box3d::convert (t2fObj, &t2fAsB3d) == 1); - assert (t2fAsB3d.min.equalWithAbsError (Imath::V3d (7.7, 8.8, 9.9), 1e-7)); - assert (t2fAsB3d.max.equalWithAbsError (Imath::V3d (10.10, 11.11, 12.12), 1e-7)); + assert (t2fAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (7.7, 8.8, 9.9), 1e-7)); + assert (t2fAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (10.10, 11.11, 12.12), 1e-7)); - Imath::Box3d t2V3fAsB3d; + IMATH_NAMESPACE::Box3d t2V3fAsB3d; assert (PyImath::Box3d::convert (t2V3fObj, &t2V3fAsB3d) == 1); - assert (t2V3fAsB3d.min.equalWithAbsError (Imath::V3d (7.7, 8.8, 9.9), 1e-6)); - assert (t2V3fAsB3d.max.equalWithAbsError (Imath::V3d (10.10, 11.11, 12.12), 1e-6)); + assert (t2V3fAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (7.7, 8.8, 9.9), 1e-6)); + assert (t2V3fAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (10.10, 11.11, 12.12), 1e-6)); - Imath::Box3d t2fMixAsB3d; + IMATH_NAMESPACE::Box3d t2fMixAsB3d; assert (PyImath::Box3d::convert (t2fMixObj, &t2fMixAsB3d) == 1); - assert (t2fMixAsB3d.min.equalWithAbsError (Imath::V3d (7.7, 8.8, 9.9), 1e-6)); - assert (t2fMixAsB3d.max.equalWithAbsError (Imath::V3d (10.10, 11.11, 12.12), 1e-6)); + assert (t2fMixAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (7.7, 8.8, 9.9), 1e-6)); + assert (t2fMixAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (10.10, 11.11, 12.12), 1e-6)); - Imath::Box3d t2V3dAsB3d; + IMATH_NAMESPACE::Box3d t2V3dAsB3d; assert (PyImath::Box3d::convert (t2V3dObj, &t2V3dAsB3d) == 1); - assert (t2V3dAsB3d.min.equalWithAbsError (Imath::V3d (13.13, 14.14, 15.15), 1e-7)); - assert (t2V3dAsB3d.max.equalWithAbsError (Imath::V3d (16.16, 17.17, 18.18), 1e-7)); + assert (t2V3dAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (13.13, 14.14, 15.15), 1e-7)); + assert (t2V3dAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (16.16, 17.17, 18.18), 1e-7)); - Imath::Box3d t2dMixAsB3d; + IMATH_NAMESPACE::Box3d t2dMixAsB3d; assert (PyImath::Box3d::convert (t2dMixObj, &t2dMixAsB3d) == 1); - assert (t2dMixAsB3d.min.equalWithAbsError (Imath::V3d (13.13, 14.14, 15.15), 1e-7)); - assert (t2dMixAsB3d.max.equalWithAbsError (Imath::V3d (16.16, 17.17, 18.18), 1e-7)); + assert (t2dMixAsB3d.min.equalWithAbsError (IMATH_NAMESPACE::V3d (13.13, 14.14, 15.15), 1e-7)); + assert (t2dMixAsB3d.max.equalWithAbsError (IMATH_NAMESPACE::V3d (16.16, 17.17, 18.18), 1e-7)); - Imath::Box3d iAsB3d; + IMATH_NAMESPACE::Box3d iAsB3d; assert (PyImath::Box3d::convert (iObj, &iAsB3d) == 0); std::cerr << "ok\n"; @@ -899,43 +899,43 @@ testC3 () std::cerr << "Testing C3c:\n"; - Imath::C3c c3cAsC3c; + IMATH_NAMESPACE::C3c c3cAsC3c; assert (PyImath::C3c::convert (c3cObj, &c3cAsC3c) == 1); - assert (c3cAsC3c == Imath::C3c (1, 2, 3)); + assert (c3cAsC3c == IMATH_NAMESPACE::C3c (1, 2, 3)); - Imath::C3c c3fAsC3c; + IMATH_NAMESPACE::C3c c3fAsC3c; assert (PyImath::C3c::convert (c3fObj, &c3fAsC3c) == 1); - assert (c3fAsC3c == Imath::C3c (1, 2, 3)); + assert (c3fAsC3c == IMATH_NAMESPACE::C3c (1, 2, 3)); - Imath::C3c t3cAsC3c; + IMATH_NAMESPACE::C3c t3cAsC3c; assert (PyImath::C3c::convert (t3cObj, &t3cAsC3c) == 1); - assert (t3cAsC3c == Imath::C3c (4, 5, 6)); + assert (t3cAsC3c == IMATH_NAMESPACE::C3c (4, 5, 6)); - Imath::C3c t3fAsC3c; + IMATH_NAMESPACE::C3c t3fAsC3c; assert (PyImath::C3c::convert (t3fObj, &t3fAsC3c) == 1); - assert (t3fAsC3c == Imath::C3c (4, 5, 6)); + assert (t3fAsC3c == IMATH_NAMESPACE::C3c (4, 5, 6)); - Imath::C3c v3iAsC3c; + IMATH_NAMESPACE::C3c v3iAsC3c; assert (PyImath::C3c::convert (v3iObj, &v3iAsC3c) == 1); - assert (v3iAsC3c == Imath::C3c (7, 8, 9)); + assert (v3iAsC3c == IMATH_NAMESPACE::C3c (7, 8, 9)); - Imath::C3c v3fAsC3c; + IMATH_NAMESPACE::C3c v3fAsC3c; assert (PyImath::C3c::convert (v3fObj, &v3fAsC3c) == 1); - assert (v3fAsC3c == Imath::C3c (10, 11, 12)); + assert (v3fAsC3c == IMATH_NAMESPACE::C3c (10, 11, 12)); - Imath::C3c v3dAsC3c; + IMATH_NAMESPACE::C3c v3dAsC3c; assert (PyImath::C3c::convert (v3dObj, &v3dAsC3c) == 1); - assert (v3dAsC3c == Imath::C3c (13, 14, 15)); + assert (v3dAsC3c == IMATH_NAMESPACE::C3c (13, 14, 15)); - Imath::C3c l3cAsC3c; + IMATH_NAMESPACE::C3c l3cAsC3c; assert (PyImath::C3c::convert (l3cObj, &l3cAsC3c) == 1); - assert (l3cAsC3c == Imath::C3c (16, 17, 18)); + assert (l3cAsC3c == IMATH_NAMESPACE::C3c (16, 17, 18)); - Imath::C3c l3fAsC3c; + IMATH_NAMESPACE::C3c l3fAsC3c; assert (PyImath::C3c::convert (l3fObj, &l3fAsC3c) == 1); - assert (l3fAsC3c == Imath::C3c (19, 20, 21)); + assert (l3fAsC3c == IMATH_NAMESPACE::C3c (19, 20, 21)); - Imath::C3c iAsC3c; + IMATH_NAMESPACE::C3c iAsC3c; assert (PyImath::C3c::convert (iObj, &iAsC3c) == 0); std::cerr << "ok\n"; @@ -944,43 +944,43 @@ testC3 () std::cerr << "Testing C3f:\n"; - Imath::C3f c3cAsC3f; + IMATH_NAMESPACE::C3f c3cAsC3f; assert (PyImath::C3f::convert (c3cObj, &c3cAsC3f) == 1); - assert (c3cAsC3f.equalWithAbsError (Imath::C3f (1.0f, 2.0f, 3.0f), 1e-7)); + assert (c3cAsC3f.equalWithAbsError (IMATH_NAMESPACE::C3f (1.0f, 2.0f, 3.0f), 1e-7)); - Imath::C3f c3fAsC3f; + IMATH_NAMESPACE::C3f c3fAsC3f; assert (PyImath::C3f::convert (c3fObj, &c3fAsC3f) == 1); - assert (c3fAsC3f.equalWithAbsError (Imath::C3f (1.1f, 2.2f, 3.3f), 1e-7)); + assert (c3fAsC3f.equalWithAbsError (IMATH_NAMESPACE::C3f (1.1f, 2.2f, 3.3f), 1e-7)); - Imath::C3f t3cAsC3f; + IMATH_NAMESPACE::C3f t3cAsC3f; assert (PyImath::C3f::convert (t3cObj, &t3cAsC3f) == 1); - assert (t3cAsC3f.equalWithAbsError (Imath::C3f (4.0f, 5.0f, 6.0f), 1e-7)); + assert (t3cAsC3f.equalWithAbsError (IMATH_NAMESPACE::C3f (4.0f, 5.0f, 6.0f), 1e-7)); - Imath::C3f t3fAsC3f; + IMATH_NAMESPACE::C3f t3fAsC3f; assert (PyImath::C3f::convert (t3fObj, &t3fAsC3f) == 1); - assert (t3fAsC3f.equalWithAbsError (Imath::C3f (4.4f, 5.5f, 6.6f), 1e-7)); + assert (t3fAsC3f.equalWithAbsError (IMATH_NAMESPACE::C3f (4.4f, 5.5f, 6.6f), 1e-7)); - Imath::C3f v3iAsC3f; + IMATH_NAMESPACE::C3f v3iAsC3f; assert (PyImath::C3f::convert (v3iObj, &v3iAsC3f) == 1); - assert (v3iAsC3f.equalWithAbsError (Imath::C3f (7.0f, 8.0f, 9.0f), 1e-7)); + assert (v3iAsC3f.equalWithAbsError (IMATH_NAMESPACE::C3f (7.0f, 8.0f, 9.0f), 1e-7)); - Imath::C3f v3fAsC3f; + IMATH_NAMESPACE::C3f v3fAsC3f; assert (PyImath::C3f::convert (v3fObj, &v3fAsC3f) == 1); - assert (v3fAsC3f.equalWithAbsError (Imath::C3f (10.10f, 11.11f, 12.12f), 1e-7)); + assert (v3fAsC3f.equalWithAbsError (IMATH_NAMESPACE::C3f (10.10f, 11.11f, 12.12f), 1e-7)); - Imath::C3f v3dAsC3f; + IMATH_NAMESPACE::C3f v3dAsC3f; assert (PyImath::C3f::convert (v3dObj, &v3dAsC3f) == 1); - assert (v3dAsC3f.equalWithAbsError (Imath::C3f (13.13f, 14.14f, 15.15f), 1e-7)); + assert (v3dAsC3f.equalWithAbsError (IMATH_NAMESPACE::C3f (13.13f, 14.14f, 15.15f), 1e-7)); - Imath::C3f l3cAsC3f; + IMATH_NAMESPACE::C3f l3cAsC3f; assert (PyImath::C3f::convert (l3cObj, &l3cAsC3f) == 1); - assert (l3cAsC3f == Imath::C3f (16.0, 17.0, 18.0)); + assert (l3cAsC3f == IMATH_NAMESPACE::C3f (16.0, 17.0, 18.0)); - Imath::C3f l3fAsC3f; + IMATH_NAMESPACE::C3f l3fAsC3f; assert (PyImath::C3f::convert (l3fObj, &l3fAsC3f) == 1); - assert (l3fAsC3f == Imath::C3f (19.19, 20.20, 21.21)); + assert (l3fAsC3f == IMATH_NAMESPACE::C3f (19.19, 20.20, 21.21)); - Imath::C3f iAsC3f; + IMATH_NAMESPACE::C3f iAsC3f; assert (PyImath::C3f::convert (iObj, &iAsC3f) == 0); std::cerr << "ok\n"; @@ -1064,31 +1064,31 @@ testC4 () std::cerr << "Testing C4c:\n"; - Imath::C4c c4cAsC4c; + IMATH_NAMESPACE::C4c c4cAsC4c; assert (PyImath::C4c::convert (c4cObj, &c4cAsC4c) == 1); - assert (c4cAsC4c == Imath::C4c (1, 2, 3, 4)); + assert (c4cAsC4c == IMATH_NAMESPACE::C4c (1, 2, 3, 4)); - Imath::C4c c4fAsC4c; + IMATH_NAMESPACE::C4c c4fAsC4c; assert (PyImath::C4c::convert (c4fObj, &c4fAsC4c) == 1); - assert (c4fAsC4c == Imath::C4c (1, 2, 3, 4)); + assert (c4fAsC4c == IMATH_NAMESPACE::C4c (1, 2, 3, 4)); - Imath::C4c t4cAsC4c; + IMATH_NAMESPACE::C4c t4cAsC4c; assert (PyImath::C4c::convert (t4cObj, &t4cAsC4c) == 1); - assert (t4cAsC4c == Imath::C4c (5, 6, 7, 8)); + assert (t4cAsC4c == IMATH_NAMESPACE::C4c (5, 6, 7, 8)); - Imath::C4c t4fAsC4c; + IMATH_NAMESPACE::C4c t4fAsC4c; assert (PyImath::C4c::convert (t4fObj, &t4fAsC4c) == 1); - assert (t4fAsC4c == Imath::C4c (5, 6, 7, 8)); + assert (t4fAsC4c == IMATH_NAMESPACE::C4c (5, 6, 7, 8)); - Imath::C4c l4cAsC4c; + IMATH_NAMESPACE::C4c l4cAsC4c; assert (PyImath::C4c::convert (l4cObj, &l4cAsC4c) == 1); - assert (l4cAsC4c == Imath::C4c (9, 10, 11, 12)); + assert (l4cAsC4c == IMATH_NAMESPACE::C4c (9, 10, 11, 12)); - Imath::C4c l4fAsC4c; + IMATH_NAMESPACE::C4c l4fAsC4c; assert (PyImath::C4c::convert (l4fObj, &l4fAsC4c) == 1); - assert (l4fAsC4c == Imath::C4c (13, 14, 15, 16)); + assert (l4fAsC4c == IMATH_NAMESPACE::C4c (13, 14, 15, 16)); - Imath::C4c iAsC4c; + IMATH_NAMESPACE::C4c iAsC4c; assert (PyImath::C4c::convert (iObj, &iAsC4c) == 0); std::cerr << "ok\n"; @@ -1097,49 +1097,49 @@ testC4 () std::cerr << "Testing C4f:\n"; - Imath::C4f c4cAsC4f; + IMATH_NAMESPACE::C4f c4cAsC4f; assert (PyImath::C4f::convert (c4cObj, &c4cAsC4f) == 1); - assert (Imath::equalWithAbsError (c4cAsC4f[0], 1.0f, 1e-7f)); - assert (Imath::equalWithAbsError (c4cAsC4f[1], 2.0f, 1e-7f)); - assert (Imath::equalWithAbsError (c4cAsC4f[2], 3.0f, 1e-7f)); - assert (Imath::equalWithAbsError (c4cAsC4f[3], 4.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (c4cAsC4f[0], 1.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (c4cAsC4f[1], 2.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (c4cAsC4f[2], 3.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (c4cAsC4f[3], 4.0f, 1e-7f)); - Imath::C4f c4fAsC4f; + IMATH_NAMESPACE::C4f c4fAsC4f; assert (PyImath::C4f::convert (c4fObj, &c4fAsC4f) == 1); - assert (Imath::equalWithAbsError (c4fAsC4f[0], 1.1f, 1e-7f)); - assert (Imath::equalWithAbsError (c4fAsC4f[1], 2.2f, 1e-7f)); - assert (Imath::equalWithAbsError (c4fAsC4f[2], 3.3f, 1e-7f)); - assert (Imath::equalWithAbsError (c4fAsC4f[3], 4.4f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (c4fAsC4f[0], 1.1f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (c4fAsC4f[1], 2.2f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (c4fAsC4f[2], 3.3f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (c4fAsC4f[3], 4.4f, 1e-7f)); - Imath::C4f t4cAsC4f; + IMATH_NAMESPACE::C4f t4cAsC4f; assert (PyImath::C4f::convert (t4cObj, &t4cAsC4f) == 1); - assert (Imath::equalWithAbsError (t4cAsC4f[0], 5.0f, 1e-7f)); - assert (Imath::equalWithAbsError (t4cAsC4f[1], 6.0f, 1e-7f)); - assert (Imath::equalWithAbsError (t4cAsC4f[2], 7.0f, 1e-7f)); - assert (Imath::equalWithAbsError (t4cAsC4f[3], 8.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (t4cAsC4f[0], 5.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (t4cAsC4f[1], 6.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (t4cAsC4f[2], 7.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (t4cAsC4f[3], 8.0f, 1e-7f)); - Imath::C4f t4fAsC4f; + IMATH_NAMESPACE::C4f t4fAsC4f; assert (PyImath::C4f::convert (t4fObj, &t4fAsC4f) == 1); - assert (Imath::equalWithAbsError (t4fAsC4f[0], 5.5f, 1e-7f)); - assert (Imath::equalWithAbsError (t4fAsC4f[1], 6.6f, 1e-7f)); - assert (Imath::equalWithAbsError (t4fAsC4f[2], 7.7f, 1e-7f)); - assert (Imath::equalWithAbsError (t4fAsC4f[3], 8.8f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (t4fAsC4f[0], 5.5f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (t4fAsC4f[1], 6.6f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (t4fAsC4f[2], 7.7f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (t4fAsC4f[3], 8.8f, 1e-7f)); - Imath::C4f l4cAsC4f; + IMATH_NAMESPACE::C4f l4cAsC4f; assert (PyImath::C4f::convert (l4cObj, &l4cAsC4f) == 1); - assert (Imath::equalWithAbsError (l4cAsC4f[0], 9.0f, 1e-7f)); - assert (Imath::equalWithAbsError (l4cAsC4f[1], 10.0f, 1e-7f)); - assert (Imath::equalWithAbsError (l4cAsC4f[2], 11.0f, 1e-7f)); - assert (Imath::equalWithAbsError (l4cAsC4f[3], 12.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (l4cAsC4f[0], 9.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (l4cAsC4f[1], 10.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (l4cAsC4f[2], 11.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (l4cAsC4f[3], 12.0f, 1e-7f)); - Imath::C4f l4fAsC4f; + IMATH_NAMESPACE::C4f l4fAsC4f; assert (PyImath::C4f::convert (l4fObj, &l4fAsC4f) == 1); - assert (Imath::equalWithAbsError (l4fAsC4f[0], 13.13f, 1e-7f)); - assert (Imath::equalWithAbsError (l4fAsC4f[1], 14.14f, 1e-7f)); - assert (Imath::equalWithAbsError (l4fAsC4f[2], 15.15f, 1e-7f)); - assert (Imath::equalWithAbsError (l4fAsC4f[3], 16.16f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (l4fAsC4f[0], 13.13f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (l4fAsC4f[1], 14.14f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (l4fAsC4f[2], 15.15f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (l4fAsC4f[3], 16.16f, 1e-7f)); - Imath::C4f iAsC4f; + IMATH_NAMESPACE::C4f iAsC4f; assert (PyImath::C4f::convert (iObj, &iAsC4f) == 0); std::cerr << "ok\n"; @@ -1198,19 +1198,19 @@ testEuler () std::cerr << "Testing Eulerf:\n"; - Imath::Eulerf efAsEf; + IMATH_NAMESPACE::Eulerf efAsEf; assert (PyImath::Eulerf::convert (efObj, &efAsEf) == 1); - Imath::Eulerf eff (Imath::V3f (1.1f, 2.2f, 3.3f), Imath::Eulerf::XZY); + IMATH_NAMESPACE::Eulerf eff (IMATH_NAMESPACE::V3f (1.1f, 2.2f, 3.3f), IMATH_NAMESPACE::Eulerf::XZY); assert (efAsEf.order() == eff.order()); assert (efAsEf.toMatrix44().equalWithAbsError (eff.toMatrix44(), 1e-7)); - Imath::Eulerf edAsEf; + IMATH_NAMESPACE::Eulerf edAsEf; assert (PyImath::Eulerf::convert (edObj, &edAsEf) == 1); - Imath::Eulerf edf (Imath::V3f (4.4f, 5.5f, 6.6f), Imath::Eulerf::ZYX); + IMATH_NAMESPACE::Eulerf edf (IMATH_NAMESPACE::V3f (4.4f, 5.5f, 6.6f), IMATH_NAMESPACE::Eulerf::ZYX); assert (edAsEf.order() == edf.order()); assert (edAsEf.toMatrix44().equalWithAbsError (edf.toMatrix44(), 1e-6)); - Imath::Eulerf iAsEf; + IMATH_NAMESPACE::Eulerf iAsEf; assert (PyImath::Eulerf::convert (iObj, &iAsEf) == 0); std::cerr << "ok\n"; @@ -1219,19 +1219,19 @@ testEuler () std::cerr << "Testing Eulerd:\n"; - Imath::Eulerd efAsEd; + IMATH_NAMESPACE::Eulerd efAsEd; assert (PyImath::Eulerd::convert (efObj, &efAsEd) == 1); - Imath::Eulerd efd (Imath::V3d (1.1, 2.2, 3.3), Imath::Eulerd::XZY); + IMATH_NAMESPACE::Eulerd efd (IMATH_NAMESPACE::V3d (1.1, 2.2, 3.3), IMATH_NAMESPACE::Eulerd::XZY); assert (efAsEd.order() == efd.order()); assert (efAsEd.toMatrix44().equalWithAbsError (efd.toMatrix44(), 1e-7)); - Imath::Eulerd edAsEd; + IMATH_NAMESPACE::Eulerd edAsEd; assert (PyImath::Eulerd::convert (edObj, &edAsEd) == 1); - Imath::Eulerd edd (Imath::V3d (4.4, 5.5, 6.6), Imath::Eulerd::ZYX); + IMATH_NAMESPACE::Eulerd edd (IMATH_NAMESPACE::V3d (4.4, 5.5, 6.6), IMATH_NAMESPACE::Eulerd::ZYX); assert (edAsEd.order() == edd.order()); assert (edAsEd.toMatrix44().equalWithAbsError (edd.toMatrix44(), 1e-6)); - Imath::Eulerd iAsEd; + IMATH_NAMESPACE::Eulerd iAsEd; assert (PyImath::Eulerd::convert (iObj, &iAsEd) == 0); std::cerr << "ok\n"; @@ -1296,27 +1296,27 @@ testFrustum () std::cerr << "Testing Frustumf:\n"; - Imath::Frustumf ffAsFf; + IMATH_NAMESPACE::Frustumf ffAsFf; assert (PyImath::Frustumf::convert (ffObj, &ffAsFf) == 1); - assert (Imath::equalWithAbsError (ffAsFf.nearPlane(), -1.0f, 1e-7f)); - assert (Imath::equalWithAbsError (ffAsFf.farPlane(), -100.0f, 1e-7f)); - assert (Imath::equalWithAbsError (ffAsFf.left(), -2.0f, 1e-7f)); - assert (Imath::equalWithAbsError (ffAsFf.right(), 2.0f, 1e-7f)); - assert (Imath::equalWithAbsError (ffAsFf.top(), 3.0f, 1e-7f)); - assert (Imath::equalWithAbsError (ffAsFf.bottom(), -3.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFf.nearPlane(), -1.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFf.farPlane(), -100.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFf.left(), -2.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFf.right(), 2.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFf.top(), 3.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFf.bottom(), -3.0f, 1e-7f)); assert (ffAsFf.orthographic() == false); - Imath::Frustumf fdAsFf; + IMATH_NAMESPACE::Frustumf fdAsFf; assert (PyImath::Frustumf::convert (fdObj, &fdAsFf) == 1); - assert (Imath::equalWithAbsError (fdAsFf.nearPlane(), -2.0f, 1e-7f)); - assert (Imath::equalWithAbsError (fdAsFf.farPlane(), -50.0f, 1e-7f)); - assert (Imath::equalWithAbsError (fdAsFf.left(), -3.0f, 1e-7f)); - assert (Imath::equalWithAbsError (fdAsFf.right(), 3.0f, 1e-7f)); - assert (Imath::equalWithAbsError (fdAsFf.top(), 2.0f, 1e-7f)); - assert (Imath::equalWithAbsError (fdAsFf.bottom(), -2.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFf.nearPlane(), -2.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFf.farPlane(), -50.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFf.left(), -3.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFf.right(), 3.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFf.top(), 2.0f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFf.bottom(), -2.0f, 1e-7f)); assert (fdAsFf.orthographic() == true); - Imath::Frustumf iAsFf; + IMATH_NAMESPACE::Frustumf iAsFf; assert (PyImath::Frustumf::convert (iObj, &iAsFf) == 0); std::cerr << "ok\n"; @@ -1325,27 +1325,27 @@ testFrustum () std::cerr << "Testing Frustumd:\n"; - Imath::Frustumd ffAsFd; + IMATH_NAMESPACE::Frustumd ffAsFd; assert (PyImath::Frustumd::convert (ffObj, &ffAsFd) == 1); - assert (Imath::equalWithAbsError (ffAsFd.nearPlane(), -1.0, 1e-7)); - assert (Imath::equalWithAbsError (ffAsFd.farPlane(), -100.0, 1e-7)); - assert (Imath::equalWithAbsError (ffAsFd.left(), -2.0, 1e-7)); - assert (Imath::equalWithAbsError (ffAsFd.right(), 2.0, 1e-7)); - assert (Imath::equalWithAbsError (ffAsFd.top(), 3.0, 1e-7)); - assert (Imath::equalWithAbsError (ffAsFd.bottom(), -3.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFd.nearPlane(), -1.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFd.farPlane(), -100.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFd.left(), -2.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFd.right(), 2.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFd.top(), 3.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (ffAsFd.bottom(), -3.0, 1e-7)); assert (ffAsFd.orthographic() == false); - Imath::Frustumd fdAsFd; + IMATH_NAMESPACE::Frustumd fdAsFd; assert (PyImath::Frustumd::convert (fdObj, &fdAsFd) == 1); - assert (Imath::equalWithAbsError (fdAsFd.nearPlane(), -2.0, 1e-7)); - assert (Imath::equalWithAbsError (fdAsFd.farPlane(), -50.0, 1e-7)); - assert (Imath::equalWithAbsError (fdAsFd.left(), -3.0, 1e-7)); - assert (Imath::equalWithAbsError (fdAsFd.right(), 3.0, 1e-7)); - assert (Imath::equalWithAbsError (fdAsFd.top(), 2.0, 1e-7)); - assert (Imath::equalWithAbsError (fdAsFd.bottom(), -2.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFd.nearPlane(), -2.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFd.farPlane(), -50.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFd.left(), -3.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFd.right(), 3.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFd.top(), 2.0, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (fdAsFd.bottom(), -2.0, 1e-7)); assert (fdAsFd.orthographic() == true); - Imath::Frustumf iAsFd; + IMATH_NAMESPACE::Frustumf iAsFd; assert (PyImath::Frustumf::convert (iObj, &iAsFd) == 0); std::cerr << "ok\n"; @@ -1406,25 +1406,25 @@ testLine () std::cerr << "Testing Line3f:\n"; - Imath::Line3f l3fAsL3f; + IMATH_NAMESPACE::Line3f l3fAsL3f; assert (PyImath::Line3f::convert (l3fObj, &l3fAsL3f) == 1); - Imath::V3f l3fP1f (1.1f, 2.2f, 3.3f); - Imath::V3f l3fP2f (4.4f, 5.5f, 6.6f); - Imath::V3f l3fPosf = l3fP1f; - Imath::V3f l3fDirf = (l3fP2f - l3fP1f).normalize(); + IMATH_NAMESPACE::V3f l3fP1f (1.1f, 2.2f, 3.3f); + IMATH_NAMESPACE::V3f l3fP2f (4.4f, 5.5f, 6.6f); + IMATH_NAMESPACE::V3f l3fPosf = l3fP1f; + IMATH_NAMESPACE::V3f l3fDirf = (l3fP2f - l3fP1f).normalize(); assert (l3fAsL3f.pos.equalWithAbsError (l3fPosf, 1e-7)); assert (l3fAsL3f.dir.equalWithAbsError (l3fDirf, 1e-7)); - Imath::Line3f l3dAsL3f; + IMATH_NAMESPACE::Line3f l3dAsL3f; assert (PyImath::Line3f::convert (l3dObj, &l3dAsL3f) == 1); - Imath::V3f l3dP1f (7.7f, 8.8f, 9.9f); - Imath::V3f l3dP2f (10.10f, 11.11f, 12.12f); - Imath::V3f l3dPosf = l3dP1f; - Imath::V3f l3dDirf = (l3dP2f - l3dP1f).normalize(); + IMATH_NAMESPACE::V3f l3dP1f (7.7f, 8.8f, 9.9f); + IMATH_NAMESPACE::V3f l3dP2f (10.10f, 11.11f, 12.12f); + IMATH_NAMESPACE::V3f l3dPosf = l3dP1f; + IMATH_NAMESPACE::V3f l3dDirf = (l3dP2f - l3dP1f).normalize(); assert (l3dAsL3f.pos.equalWithAbsError (l3dPosf, 1e-7)); assert (l3dAsL3f.dir.equalWithAbsError (l3dDirf, 1e-6)); - Imath::Line3f iAsL3f; + IMATH_NAMESPACE::Line3f iAsL3f; assert (PyImath::Line3f::convert (iObj, &iAsL3f) == 0); std::cerr << "ok\n"; @@ -1433,25 +1433,25 @@ testLine () std::cerr << "Testing Line3d:\n"; - Imath::Line3d l3fAsL3d; + IMATH_NAMESPACE::Line3d l3fAsL3d; assert (PyImath::Line3d::convert (l3fObj, &l3fAsL3d) == 1); - Imath::V3d l3fP1d (1.1, 2.2, 3.3); - Imath::V3d l3fP2d (4.4, 5.5, 6.6); - Imath::V3d l3fPosd = l3fP1d; - Imath::V3d l3fDird = (l3fP2d - l3fP1d).normalize(); + IMATH_NAMESPACE::V3d l3fP1d (1.1, 2.2, 3.3); + IMATH_NAMESPACE::V3d l3fP2d (4.4, 5.5, 6.6); + IMATH_NAMESPACE::V3d l3fPosd = l3fP1d; + IMATH_NAMESPACE::V3d l3fDird = (l3fP2d - l3fP1d).normalize(); assert (l3fAsL3d.pos.equalWithAbsError (l3fPosd, 1e-7)); assert (l3fAsL3d.dir.equalWithAbsError (l3fDird, 1e-7)); - Imath::Line3d l3dAsL3d; + IMATH_NAMESPACE::Line3d l3dAsL3d; assert (PyImath::Line3d::convert (l3dObj, &l3dAsL3d) == 1); - Imath::V3d l3dP1d (7.7, 8.8, 9.9); - Imath::V3d l3dP2d (10.10, 11.11, 12.12); - Imath::V3d l3dPosd = l3dP1d; - Imath::V3d l3dDird = (l3dP2d - l3dP1d).normalize(); + IMATH_NAMESPACE::V3d l3dP1d (7.7, 8.8, 9.9); + IMATH_NAMESPACE::V3d l3dP2d (10.10, 11.11, 12.12); + IMATH_NAMESPACE::V3d l3dPosd = l3dP1d; + IMATH_NAMESPACE::V3d l3dDird = (l3dP2d - l3dP1d).normalize(); assert (l3dAsL3d.pos.equalWithAbsError (l3dPosd, 1e-7)); assert (l3dAsL3d.dir.equalWithAbsError (l3dDird, 1e-7)); - Imath::Line3d iAsL3d; + IMATH_NAMESPACE::Line3d iAsL3d; assert (PyImath::Line3d::convert (iObj, &iAsL3d) == 0); std::cerr << "ok\n"; @@ -1509,21 +1509,21 @@ testM33 () std::cerr << "Testing M33f:\n"; - Imath::M33f m33fAsM33f; + IMATH_NAMESPACE::M33f m33fAsM33f; assert (PyImath::M33f::convert (m33fObj, &m33fAsM33f) == 1); - Imath::M33f m33ff (1.1f, 2.2f, 3.3f, + IMATH_NAMESPACE::M33f m33ff (1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f, 9.9f); assert (m33fAsM33f.equalWithAbsError (m33ff, 1e-7)); - Imath::M33f m33dAsM33f; + IMATH_NAMESPACE::M33f m33dAsM33f; assert (PyImath::M33f::convert (m33dObj, &m33dAsM33f) == 1); - Imath::M33f m33df (10.10f, 11.11f, 12.12f, + IMATH_NAMESPACE::M33f m33df (10.10f, 11.11f, 12.12f, 13.13f, 14.14f, 15.15f, 16.16f, 17.17f, 18.18f); assert (m33dAsM33f.equalWithAbsError (m33df, 1e-7)); - Imath::M33f iAsM33f; + IMATH_NAMESPACE::M33f iAsM33f; assert (PyImath::M33f::convert (iObj, &iAsM33f) == 0); std::cerr << "ok\n"; @@ -1532,21 +1532,21 @@ testM33 () std::cerr << "Testing M33d:\n"; - Imath::M33d m33fAsM33d; + IMATH_NAMESPACE::M33d m33fAsM33d; assert (PyImath::M33d::convert (m33fObj, &m33fAsM33d) == 1); - Imath::M33d m33fd (1.1, 2.2, 3.3, + IMATH_NAMESPACE::M33d m33fd (1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9); assert (m33fAsM33d.equalWithAbsError (m33fd, 1e-6)); - Imath::M33d m33dAsM33d; + IMATH_NAMESPACE::M33d m33dAsM33d; assert (PyImath::M33d::convert (m33dObj, &m33dAsM33d) == 1); - Imath::M33d m33dd (10.10, 11.11, 12.12, + IMATH_NAMESPACE::M33d m33dd (10.10, 11.11, 12.12, 13.13, 14.14, 15.15, 16.16, 17.17, 18.18); assert (m33dAsM33d.equalWithAbsError (m33dd, 1e-7)); - Imath::M33d iAsM33d; + IMATH_NAMESPACE::M33d iAsM33d; assert (PyImath::M33d::convert (iObj, &iAsM33d) == 0); std::cerr << "ok\n"; @@ -1606,23 +1606,23 @@ testM44 () std::cerr << "Testing M44f:\n"; - Imath::M44f m44fAsM44f; + IMATH_NAMESPACE::M44f m44fAsM44f; assert (PyImath::M44f::convert (m44fObj, &m44fAsM44f) == 1); - Imath::M44f m44ff (1.1f, 2.2f, 3.3f, 4.4f, + IMATH_NAMESPACE::M44f m44ff (1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f, 9.9f, 10.10f, 11.11f, 12.12f, 13.13f, 14.14f, 15.15f, 16.16f); assert (m44fAsM44f.equalWithAbsError (m44ff, 1e-7f)); - Imath::M44f m44dAsM44f; + IMATH_NAMESPACE::M44f m44dAsM44f; assert (PyImath::M44f::convert (m44dObj, &m44dAsM44f) == 1); - Imath::M44f m44df (17.17f, 18.18f, 19.19f, 20.20f, + IMATH_NAMESPACE::M44f m44df (17.17f, 18.18f, 19.19f, 20.20f, 21.21f, 22.22f, 23.23f, 24.24f, 25.25f, 26.26f, 27.27f, 28.28f, 29.29f, 30.30f, 31.31f, 32.32f); assert (m44dAsM44f.equalWithAbsError (m44df, 1e-7f)); - Imath::M44f iAsM44f; + IMATH_NAMESPACE::M44f iAsM44f; assert (PyImath::M44f::convert (iObj, &iAsM44f) == 0); std::cerr << "ok\n"; @@ -1631,23 +1631,23 @@ testM44 () std::cerr << "Testing M44d:\n"; - Imath::M44d m44fAsM44d; + IMATH_NAMESPACE::M44d m44fAsM44d; assert (PyImath::M44d::convert (m44fObj, &m44fAsM44d) == 1); - Imath::M44d m44fd (1.1, 2.2, 3.3, 4.4, + IMATH_NAMESPACE::M44d m44fd (1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10, 11.11, 12.12, 13.13, 14.14, 15.15, 16.16); assert (m44fAsM44d.equalWithAbsError (m44fd, 1e-6)); - Imath::M44d m44dAsM44d; + IMATH_NAMESPACE::M44d m44dAsM44d; assert (PyImath::M44d::convert (m44dObj, &m44dAsM44d) == 1); - Imath::M44d m44dd (17.17, 18.18, 19.19, 20.20, + IMATH_NAMESPACE::M44d m44dd (17.17, 18.18, 19.19, 20.20, 21.21, 22.22, 23.23, 24.24, 25.25, 26.26, 27.27, 28.28, 29.29, 30.30, 31.31, 32.32); assert (m44dAsM44d.equalWithAbsError (m44dd, 1e-7)); - Imath::M44d iAsM44d; + IMATH_NAMESPACE::M44d iAsM44d; assert (PyImath::M44d::convert (iObj, &iAsM44d) == 0); std::cerr << "ok\n"; @@ -1704,21 +1704,21 @@ testPlane () std::cerr << "Testing Plane3f:\n"; - Imath::Plane3f p3fAsP3f; + IMATH_NAMESPACE::Plane3f p3fAsP3f; assert (PyImath::Plane3f::convert (p3fObj, &p3fAsP3f) == 1); - Imath::V3f p3fnf (1.1f, 2.2f, 3.3f); + IMATH_NAMESPACE::V3f p3fnf (1.1f, 2.2f, 3.3f); p3fnf.normalize(); assert (p3fAsP3f.normal.equalWithAbsError (p3fnf, 1e-6f)); - assert (Imath::equalWithAbsError (p3fAsP3f.distance, 4.4f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (p3fAsP3f.distance, 4.4f, 1e-7f)); - Imath::Plane3f p3dAsP3f; + IMATH_NAMESPACE::Plane3f p3dAsP3f; assert (PyImath::Plane3f::convert (p3dObj, &p3dAsP3f) == 1); - Imath::V3f p3dnf (5.5f, 6.6f, 7.7f); + IMATH_NAMESPACE::V3f p3dnf (5.5f, 6.6f, 7.7f); p3dnf.normalize(); assert (p3dAsP3f.normal.equalWithAbsError (p3dnf, 1e-7f)); - assert (Imath::equalWithAbsError (p3dAsP3f.distance, 8.8f, 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (p3dAsP3f.distance, 8.8f, 1e-7f)); - Imath::Plane3f iAsP3f; + IMATH_NAMESPACE::Plane3f iAsP3f; assert (PyImath::Plane3f::convert (iObj, &iAsP3f) == 0); std::cerr << "ok\n"; @@ -1727,21 +1727,21 @@ testPlane () std::cerr << "Testing Plane3d:\n"; - Imath::Plane3d p3fAsP3d; + IMATH_NAMESPACE::Plane3d p3fAsP3d; assert (PyImath::Plane3d::convert (p3fObj, &p3fAsP3d) == 1); - Imath::V3d p3fnd (1.1, 2.2, 3.3); + IMATH_NAMESPACE::V3d p3fnd (1.1, 2.2, 3.3); p3fnd.normalize(); assert (p3fAsP3d.normal.equalWithAbsError (p3fnd, 1e-7)); - assert (Imath::equalWithAbsError (p3fAsP3d.distance, 4.4, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (p3fAsP3d.distance, 4.4, 1e-7)); - Imath::Plane3d p3dAsP3d; + IMATH_NAMESPACE::Plane3d p3dAsP3d; assert (PyImath::Plane3d::convert (p3dObj, &p3dAsP3d) == 1); - Imath::V3d p3dnd (5.5, 6.6, 7.7); + IMATH_NAMESPACE::V3d p3dnd (5.5, 6.6, 7.7); p3dnd.normalize(); assert (p3dAsP3d.normal.equalWithAbsError (p3dnd, 1e-7)); - assert (Imath::equalWithAbsError (p3dAsP3d.distance, 8.8, 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (p3dAsP3d.distance, 8.8, 1e-7)); - Imath::Plane3d iAsP3d; + IMATH_NAMESPACE::Plane3d iAsP3d; assert (PyImath::Plane3d::convert (iObj, &iAsP3d) == 0); std::cerr << "ok\n"; @@ -1803,22 +1803,22 @@ testQuat () std::cerr << "Testing Quatf:\n"; - Imath::Quatf qfAsQf; + IMATH_NAMESPACE::Quatf qfAsQf; assert (PyImath::Quatf::convert (qfObj, &qfAsQf) == 1); - assert (Imath::equalWithAbsError (qfAsQf.r, 1.1f, 1e-7f)); - assert (qfAsQf.v.equalWithAbsError (Imath::V3f (2.2f, 3.3f, 4.4f), 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (qfAsQf.r, 1.1f, 1e-7f)); + assert (qfAsQf.v.equalWithAbsError (IMATH_NAMESPACE::V3f (2.2f, 3.3f, 4.4f), 1e-7f)); - Imath::Quatf qdAsQf; + IMATH_NAMESPACE::Quatf qdAsQf; assert (PyImath::Quatf::convert (qdObj, &qdAsQf) == 1); - assert (Imath::equalWithAbsError (qdAsQf.r, 5.5f, 1e-7f)); - assert (qdAsQf.v.equalWithAbsError (Imath::V3f (6.6f, 7.7f, 8.8f), 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (qdAsQf.r, 5.5f, 1e-7f)); + assert (qdAsQf.v.equalWithAbsError (IMATH_NAMESPACE::V3f (6.6f, 7.7f, 8.8f), 1e-7f)); - Imath::Quatf tAsQf; + IMATH_NAMESPACE::Quatf tAsQf; assert (PyImath::Quatf::convert (tObj, &tAsQf) == 1); - assert (Imath::equalWithAbsError (tAsQf.r, 9.9f, 1e-7f)); - assert (tAsQf.v.equalWithAbsError (Imath::V3f (10.10f, 11.11f, 12.12f), 1e-7f)); + assert (IMATH_NAMESPACE::equalWithAbsError (tAsQf.r, 9.9f, 1e-7f)); + assert (tAsQf.v.equalWithAbsError (IMATH_NAMESPACE::V3f (10.10f, 11.11f, 12.12f), 1e-7f)); - Imath::Quatf iAsQf; + IMATH_NAMESPACE::Quatf iAsQf; assert (PyImath::Quatf::convert (iObj, &iAsQf) == 0); std::cerr << "ok\n"; @@ -1827,22 +1827,22 @@ testQuat () std::cerr << "Testing Quatd:\n"; - Imath::Quatd qfAsQd; + IMATH_NAMESPACE::Quatd qfAsQd; assert (PyImath::Quatd::convert (qfObj, &qfAsQd) == 1); - assert (Imath::equalWithAbsError (qfAsQd.r, 1.1, 1e-7)); - assert (qfAsQd.v.equalWithAbsError (Imath::V3d (2.2, 3.3, 4.4), 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (qfAsQd.r, 1.1, 1e-7)); + assert (qfAsQd.v.equalWithAbsError (IMATH_NAMESPACE::V3d (2.2, 3.3, 4.4), 1e-7)); - Imath::Quatd qdAsQd; + IMATH_NAMESPACE::Quatd qdAsQd; assert (PyImath::Quatd::convert (qdObj, &qdAsQd) == 1); - assert (Imath::equalWithAbsError (qdAsQd.r, 5.5, 1e-7)); - assert (qdAsQd.v.equalWithAbsError (Imath::V3d (6.6, 7.7, 8.8), 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (qdAsQd.r, 5.5, 1e-7)); + assert (qdAsQd.v.equalWithAbsError (IMATH_NAMESPACE::V3d (6.6, 7.7, 8.8), 1e-7)); - Imath::Quatd tAsQd; + IMATH_NAMESPACE::Quatd tAsQd; assert (PyImath::Quatd::convert (tObj, &tAsQd) == 1); - assert (Imath::equalWithAbsError (tAsQd.r, 9.9, 1e-7)); - assert (tAsQd.v.equalWithAbsError (Imath::V3d (10.10, 11.11, 12.12), 1e-7)); + assert (IMATH_NAMESPACE::equalWithAbsError (tAsQd.r, 9.9, 1e-7)); + assert (tAsQd.v.equalWithAbsError (IMATH_NAMESPACE::V3d (10.10, 11.11, 12.12), 1e-7)); - Imath::Quatd iAsQd; + IMATH_NAMESPACE::Quatd iAsQd; assert (PyImath::Quatd::convert (iObj, &iAsQd) == 0); std::cerr << "ok\n"; @@ -1967,42 +1967,42 @@ testShear () std::cerr << "Testing Shear6f:\n"; - Imath::Shear6f s6fAsS6f; + IMATH_NAMESPACE::Shear6f s6fAsS6f; assert (PyImath::Shear6f::convert (s6fObj, &s6fAsS6f) == 1); - Imath::Shear6f s6ff (1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f); + IMATH_NAMESPACE::Shear6f s6ff (1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f); assert (s6fAsS6f.equalWithAbsError (s6ff, 1e-7f)); - Imath::Shear6f s6dAsS6f; + IMATH_NAMESPACE::Shear6f s6dAsS6f; assert (PyImath::Shear6f::convert (s6dObj, &s6dAsS6f) == 1); - Imath::Shear6f s6df (7.7f, 8.8f, 9.9f, 10.10f, 11.11f, 12.12f); + IMATH_NAMESPACE::Shear6f s6df (7.7f, 8.8f, 9.9f, 10.10f, 11.11f, 12.12f); assert (s6dAsS6f.equalWithAbsError (s6df, 1e-7f)); - Imath::Shear6f t3AsS6f; + IMATH_NAMESPACE::Shear6f t3AsS6f; assert (PyImath::Shear6f::convert (t3Obj, &t3AsS6f) == 1); - Imath::Shear6f t3f (13.13f, 14.14f, 15.15f, 0, 0, 0); + IMATH_NAMESPACE::Shear6f t3f (13.13f, 14.14f, 15.15f, 0, 0, 0); assert (t3AsS6f.equalWithAbsError (t3f, 1e-7f)); - Imath::Shear6f t6AsS6f; + IMATH_NAMESPACE::Shear6f t6AsS6f; assert (PyImath::Shear6f::convert (t6Obj, &t6AsS6f) == 1); - Imath::Shear6f t6f (16.16f, 17.17f, 18.18f, 19.19f, 20.20f, 21.21f); + IMATH_NAMESPACE::Shear6f t6f (16.16f, 17.17f, 18.18f, 19.19f, 20.20f, 21.21f); assert (t6AsS6f.equalWithAbsError (t6f, 1e-7f)); - Imath::Shear6f v3iAsS6f; + IMATH_NAMESPACE::Shear6f v3iAsS6f; assert (PyImath::Shear6f::convert (v3iObj, &v3iAsS6f) == 1); - Imath::Shear6f v3if (22.0f, 23.0f, 24.0f, 0, 0, 0); + IMATH_NAMESPACE::Shear6f v3if (22.0f, 23.0f, 24.0f, 0, 0, 0); assert (v3iAsS6f.equalWithAbsError (v3if, 1e-7f)); - Imath::Shear6f v3fAsS6f; + IMATH_NAMESPACE::Shear6f v3fAsS6f; assert (PyImath::Shear6f::convert (v3fObj, &v3fAsS6f) == 1); - Imath::Shear6f v3ff (25.25f, 26.26f, 27.27f, 0, 0, 0); + IMATH_NAMESPACE::Shear6f v3ff (25.25f, 26.26f, 27.27f, 0, 0, 0); assert (v3fAsS6f.equalWithAbsError (v3ff, 1e-7f)); - Imath::Shear6f v3dAsS6f; + IMATH_NAMESPACE::Shear6f v3dAsS6f; assert (PyImath::Shear6f::convert (v3dObj, &v3dAsS6f) == 1); - Imath::Shear6f v3df (28.28f, 29.29f, 30.30f, 0, 0, 0); + IMATH_NAMESPACE::Shear6f v3df (28.28f, 29.29f, 30.30f, 0, 0, 0); assert (v3dAsS6f.equalWithAbsError (v3df, 1e-7f)); - Imath::Shear6f iAsS6f; + IMATH_NAMESPACE::Shear6f iAsS6f; assert (PyImath::Shear6f::convert (iObj, &iAsS6f) == 0); std::cerr << "ok\n"; @@ -2011,42 +2011,42 @@ testShear () std::cerr << "Testing Shear6d:\n"; - Imath::Shear6d s6fAsS6d; + IMATH_NAMESPACE::Shear6d s6fAsS6d; assert (PyImath::Shear6d::convert (s6fObj, &s6fAsS6d) == 1); - Imath::Shear6d s6fd (1.1, 2.2, 3.3, 4.4, 5.5, 6.6); + IMATH_NAMESPACE::Shear6d s6fd (1.1, 2.2, 3.3, 4.4, 5.5, 6.6); assert (s6fAsS6d.equalWithAbsError (s6fd, 1e-7)); - Imath::Shear6d s6dAsS6d; + IMATH_NAMESPACE::Shear6d s6dAsS6d; assert (PyImath::Shear6d::convert (s6dObj, &s6dAsS6d) == 1); - Imath::Shear6d s6dd (7.7, 8.8, 9.9, 10.10, 11.11, 12.12); + IMATH_NAMESPACE::Shear6d s6dd (7.7, 8.8, 9.9, 10.10, 11.11, 12.12); assert (s6dAsS6d.equalWithAbsError (s6dd, 1e-7)); - Imath::Shear6d t3AsS6d; + IMATH_NAMESPACE::Shear6d t3AsS6d; assert (PyImath::Shear6d::convert (t3Obj, &t3AsS6d) == 1); - Imath::Shear6d t3d (13.13, 14.14, 15.15, 0, 0, 0); + IMATH_NAMESPACE::Shear6d t3d (13.13, 14.14, 15.15, 0, 0, 0); assert (t3AsS6d.equalWithAbsError (t3d, 1e-7)); - Imath::Shear6d t6AsS6d; + IMATH_NAMESPACE::Shear6d t6AsS6d; assert (PyImath::Shear6d::convert (t6Obj, &t6AsS6d) == 1); - Imath::Shear6d t6d (16.16, 17.17, 18.18, 19.19, 20.20, 21.21); + IMATH_NAMESPACE::Shear6d t6d (16.16, 17.17, 18.18, 19.19, 20.20, 21.21); assert (t6AsS6d.equalWithAbsError (t6d, 1e-7)); - Imath::Shear6d v3iAsS6d; + IMATH_NAMESPACE::Shear6d v3iAsS6d; assert (PyImath::Shear6d::convert (v3iObj, &v3iAsS6d) == 1); - Imath::Shear6d v3id (22.0, 23.0, 24.0, 0, 0, 0); + IMATH_NAMESPACE::Shear6d v3id (22.0, 23.0, 24.0, 0, 0, 0); assert (v3iAsS6d.equalWithAbsError (v3id, 1e-7)); - Imath::Shear6d v3fAsS6d; + IMATH_NAMESPACE::Shear6d v3fAsS6d; assert (PyImath::Shear6d::convert (v3fObj, &v3fAsS6d) == 1); - Imath::Shear6d v3fd (25.25, 26.26, 27.27, 0, 0, 0); + IMATH_NAMESPACE::Shear6d v3fd (25.25, 26.26, 27.27, 0, 0, 0); assert (v3fAsS6d.equalWithAbsError (v3fd, 1e-6)); - Imath::Shear6d v3dAsS6d; + IMATH_NAMESPACE::Shear6d v3dAsS6d; assert (PyImath::Shear6d::convert (v3dObj, &v3dAsS6d) == 1); - Imath::Shear6d v3dd (28.28, 29.29, 30.30, 0, 0, 0); + IMATH_NAMESPACE::Shear6d v3dd (28.28, 29.29, 30.30, 0, 0, 0); assert (v3dAsS6d.equalWithAbsError (v3dd, 1e-7)); - Imath::Shear6d iAsS6d; + IMATH_NAMESPACE::Shear6d iAsS6d; assert (PyImath::Shear6d::convert (iObj, &iAsS6d) == 0); std::cerr << "ok\n"; @@ -2115,23 +2115,23 @@ testV2 () std::cerr << "Testing V2i:\n"; - Imath::V2i v2iAsV2i; + IMATH_NAMESPACE::V2i v2iAsV2i; assert (PyImath::V2i::convert (v2iObj, &v2iAsV2i) == 1); - assert (v2iAsV2i == Imath::V2i (1, 2)); + assert (v2iAsV2i == IMATH_NAMESPACE::V2i (1, 2)); - Imath::V2i v2fAsV2i; + IMATH_NAMESPACE::V2i v2fAsV2i; assert (PyImath::V2i::convert (v2fObj, &v2fAsV2i) == 1); - assert (v2fAsV2i == Imath::V2i (3, 4)); + assert (v2fAsV2i == IMATH_NAMESPACE::V2i (3, 4)); - Imath::V2i v2dAsV2i; + IMATH_NAMESPACE::V2i v2dAsV2i; assert (PyImath::V2i::convert (v2dObj, &v2dAsV2i) == 1); - assert (v2dAsV2i == Imath::V2i (5, 6)); + assert (v2dAsV2i == IMATH_NAMESPACE::V2i (5, 6)); - Imath::V2i tAsV2i; + IMATH_NAMESPACE::V2i tAsV2i; assert (PyImath::V2i::convert (tObj, &tAsV2i) == 1); - assert (tAsV2i == Imath::V2i (7, 8)); + assert (tAsV2i == IMATH_NAMESPACE::V2i (7, 8)); - Imath::V2i iAsV2i; + IMATH_NAMESPACE::V2i iAsV2i; assert (PyImath::V2i::convert (iObj, &iAsV2i) == 0); std::cerr << "ok\n"; @@ -2140,23 +2140,23 @@ testV2 () std::cerr << "Testing V2f:\n"; - Imath::V2f v2iAsV2f; + IMATH_NAMESPACE::V2f v2iAsV2f; assert (PyImath::V2f::convert (v2iObj, &v2iAsV2f) == 1); - assert (v2iAsV2f.equalWithAbsError (Imath::V2f (1.0f, 2.0f), 1e-7)); + assert (v2iAsV2f.equalWithAbsError (IMATH_NAMESPACE::V2f (1.0f, 2.0f), 1e-7)); - Imath::V2f v2fAsV2f; + IMATH_NAMESPACE::V2f v2fAsV2f; assert (PyImath::V2f::convert (v2fObj, &v2fAsV2f) == 1); - assert (v2fAsV2f.equalWithAbsError (Imath::V2f (3.3f, 4.4f), 1e-7)); + assert (v2fAsV2f.equalWithAbsError (IMATH_NAMESPACE::V2f (3.3f, 4.4f), 1e-7)); - Imath::V2f v2dAsV2f; + IMATH_NAMESPACE::V2f v2dAsV2f; assert (PyImath::V2f::convert (v2dObj, &v2dAsV2f) == 1); - assert (v2dAsV2f.equalWithAbsError (Imath::V2f (5.5f, 6.6f), 1e-7)); + assert (v2dAsV2f.equalWithAbsError (IMATH_NAMESPACE::V2f (5.5f, 6.6f), 1e-7)); - Imath::V2f tAsV2f; + IMATH_NAMESPACE::V2f tAsV2f; assert (PyImath::V2f::convert (tObj, &tAsV2f) == 1); - assert (tAsV2f.equalWithAbsError (Imath::V2f (7.0f, 8.0f), 1e-7)); + assert (tAsV2f.equalWithAbsError (IMATH_NAMESPACE::V2f (7.0f, 8.0f), 1e-7)); - Imath::V2f iAsV2f; + IMATH_NAMESPACE::V2f iAsV2f; assert (PyImath::V2f::convert (iObj, &iAsV2f) == 0); std::cerr << "ok\n"; @@ -2165,23 +2165,23 @@ testV2 () std::cerr << "Testing V2d:\n"; - Imath::V2d v2iAsV2d; + IMATH_NAMESPACE::V2d v2iAsV2d; assert (PyImath::V2d::convert (v2iObj, &v2iAsV2d) == 1); - assert (v2iAsV2d.equalWithAbsError (Imath::V2d (1.0, 2.0), 1e-7)); + assert (v2iAsV2d.equalWithAbsError (IMATH_NAMESPACE::V2d (1.0, 2.0), 1e-7)); - Imath::V2d v2fAsV2d; + IMATH_NAMESPACE::V2d v2fAsV2d; assert (PyImath::V2d::convert (v2fObj, &v2fAsV2d) == 1); - assert (v2fAsV2d.equalWithAbsError (Imath::V2f (3.3, 4.4), 1e-7)); + assert (v2fAsV2d.equalWithAbsError (IMATH_NAMESPACE::V2f (3.3, 4.4), 1e-7)); - Imath::V2d v2dAsV2d; + IMATH_NAMESPACE::V2d v2dAsV2d; assert (PyImath::V2d::convert (v2dObj, &v2dAsV2d) == 1); - assert (v2dAsV2d.equalWithAbsError (Imath::V2f (5.5, 6.6), 1e-7)); + assert (v2dAsV2d.equalWithAbsError (IMATH_NAMESPACE::V2f (5.5, 6.6), 1e-7)); - Imath::V2d tAsV2d; + IMATH_NAMESPACE::V2d tAsV2d; assert (PyImath::V2d::convert (tObj, &tAsV2d) == 1); - assert (tAsV2d.equalWithAbsError (Imath::V2d (7.0, 8.0), 1e-7)); + assert (tAsV2d.equalWithAbsError (IMATH_NAMESPACE::V2d (7.0, 8.0), 1e-7)); - Imath::V2d iAsV2d; + IMATH_NAMESPACE::V2d iAsV2d; assert (PyImath::V2d::convert (iObj, &iAsV2d) == 0); std::cerr << "ok\n"; @@ -2250,23 +2250,23 @@ testV3 () std::cerr << "Testing V3i:\n"; - Imath::V3i v3iAsV3i; + IMATH_NAMESPACE::V3i v3iAsV3i; assert (PyImath::V3i::convert (v3iObj, &v3iAsV3i) == 1); - assert (v3iAsV3i == Imath::V3i (1, 2, 3)); + assert (v3iAsV3i == IMATH_NAMESPACE::V3i (1, 2, 3)); - Imath::V3i v3fAsV3i; + IMATH_NAMESPACE::V3i v3fAsV3i; assert (PyImath::V3i::convert (v3fObj, &v3fAsV3i) == 1); - assert (v3fAsV3i == Imath::V3i (4, 5, 6)); + assert (v3fAsV3i == IMATH_NAMESPACE::V3i (4, 5, 6)); - Imath::V3d v3iAsV3d; + IMATH_NAMESPACE::V3d v3iAsV3d; assert (PyImath::V3d::convert (v3iObj, &v3iAsV3d) == 1); - assert (v3iAsV3d.equalWithAbsError (Imath::V3d (1.0, 2.0, 3.0), 1e-7)); + assert (v3iAsV3d.equalWithAbsError (IMATH_NAMESPACE::V3d (1.0, 2.0, 3.0), 1e-7)); - Imath::V3i tAsV3i; + IMATH_NAMESPACE::V3i tAsV3i; assert (PyImath::V3i::convert (tObj, &tAsV3i) == 1); - assert (tAsV3i == Imath::V3i (10, 11, 12)); + assert (tAsV3i == IMATH_NAMESPACE::V3i (10, 11, 12)); - Imath::V3i iAsV3i; + IMATH_NAMESPACE::V3i iAsV3i; assert (PyImath::V3i::convert (iObj, &iAsV3i) == 0); std::cerr << "ok\n"; @@ -2275,23 +2275,23 @@ testV3 () std::cerr << "Testing V3f:\n"; - Imath::V3f v3iAsV3f; + IMATH_NAMESPACE::V3f v3iAsV3f; assert (PyImath::V3f::convert (v3iObj, &v3iAsV3f) == 1); - assert (v3iAsV3f.equalWithAbsError (Imath::V3f (1.0f, 2.0f, 3.0f), 1e-7)); + assert (v3iAsV3f.equalWithAbsError (IMATH_NAMESPACE::V3f (1.0f, 2.0f, 3.0f), 1e-7)); - Imath::V3f v3fAsV3f; + IMATH_NAMESPACE::V3f v3fAsV3f; assert (PyImath::V3f::convert (v3fObj, &v3fAsV3f) == 1); - assert (v3fAsV3f.equalWithAbsError (Imath::V3f (4.4f, 5.5f, 6.6f), 1e-7)); + assert (v3fAsV3f.equalWithAbsError (IMATH_NAMESPACE::V3f (4.4f, 5.5f, 6.6f), 1e-7)); - Imath::V3f v3dAsV3f; + IMATH_NAMESPACE::V3f v3dAsV3f; assert (PyImath::V3f::convert (v3dObj, &v3dAsV3f) == 1); - assert (v3dAsV3f.equalWithAbsError (Imath::V3f (7.7f, 8.8f, 9.9f), 1e-7)); + assert (v3dAsV3f.equalWithAbsError (IMATH_NAMESPACE::V3f (7.7f, 8.8f, 9.9f), 1e-7)); - Imath::V3f tAsV3f; + IMATH_NAMESPACE::V3f tAsV3f; assert (PyImath::V3f::convert (tObj, &tAsV3f) == 1); - assert (tAsV3f.equalWithAbsError (Imath::V3f (10.0f, 11.0f, 12.0f), 1e-7)); + assert (tAsV3f.equalWithAbsError (IMATH_NAMESPACE::V3f (10.0f, 11.0f, 12.0f), 1e-7)); - Imath::V3f iAsV3f; + IMATH_NAMESPACE::V3f iAsV3f; assert (PyImath::V3f::convert (iObj, &iAsV3f) == 0); std::cerr << "ok\n"; @@ -2300,23 +2300,23 @@ testV3 () std::cerr << "Testing V3d:\n"; - Imath::V3i v3dAsV3i; + IMATH_NAMESPACE::V3i v3dAsV3i; assert (PyImath::V3i::convert (v3dObj, &v3dAsV3i) == 1); - assert (v3dAsV3i == Imath::V3i (7, 8, 9)); + assert (v3dAsV3i == IMATH_NAMESPACE::V3i (7, 8, 9)); - Imath::V3d v3fAsV3d; + IMATH_NAMESPACE::V3d v3fAsV3d; assert (PyImath::V3d::convert (v3fObj, &v3fAsV3d) == 1); - assert (v3fAsV3d.equalWithAbsError (Imath::V3f (4.4, 5.5, 6.6), 1e-7)); + assert (v3fAsV3d.equalWithAbsError (IMATH_NAMESPACE::V3f (4.4, 5.5, 6.6), 1e-7)); - Imath::V3d v3dAsV3d; + IMATH_NAMESPACE::V3d v3dAsV3d; assert (PyImath::V3d::convert (v3dObj, &v3dAsV3d) == 1); - assert (v3dAsV3d.equalWithAbsError (Imath::V3f (7.7, 8.8, 9.9), 1e-6)); + assert (v3dAsV3d.equalWithAbsError (IMATH_NAMESPACE::V3f (7.7, 8.8, 9.9), 1e-6)); - Imath::V3d tAsV3d; + IMATH_NAMESPACE::V3d tAsV3d; assert (PyImath::V3d::convert (tObj, &tAsV3d) == 1); - assert (tAsV3d.equalWithAbsError (Imath::V3d (10.0, 11.0, 12.0), 1e-7)); + assert (tAsV3d.equalWithAbsError (IMATH_NAMESPACE::V3d (10.0, 11.0, 12.0), 1e-7)); - Imath::V3d iAsV3d; + IMATH_NAMESPACE::V3d iAsV3d; assert (PyImath::V3d::convert (iObj, &iAsV3d) == 0); std::cerr << "ok\n";