From c9ff455812bc30ad8ae0877c7d3c7b21e76b23b1 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 28 Oct 2015 19:41:59 +0200 Subject: [PATCH 001/157] Move Visual Studio solution files from win\ to win\sln --- win/{ => sln}/IfcConvert.vcproj | 42 +++++++-------- win/{ => sln}/IfcGeom.vcproj | 62 +++++++++++----------- win/{ => sln}/IfcMax.vcproj | 20 +++---- win/{ => sln}/IfcOpenHouse.vcproj | 10 ++-- win/{ => sln}/IfcOpenShell.sln | 0 win/{ => sln}/IfcParse.vcproj | 76 +++++++++++++-------------- win/{ => sln}/IfcParseExamples.vcproj | 10 ++-- win/{ => sln}/IfcWrap.vcproj | 24 ++++----- 8 files changed, 122 insertions(+), 122 deletions(-) rename win/{ => sln}/IfcConvert.vcproj (78%) rename win/{ => sln}/IfcGeom.vcproj (69%) rename win/{ => sln}/IfcMax.vcproj (90%) rename win/{ => sln}/IfcOpenHouse.vcproj (93%) rename win/{ => sln}/IfcOpenShell.sln (100%) rename win/{ => sln}/IfcParse.vcproj (68%) rename win/{ => sln}/IfcParseExamples.vcproj (93%) rename win/{ => sln}/IfcWrap.vcproj (94%) diff --git a/win/IfcConvert.vcproj b/win/sln/IfcConvert.vcproj similarity index 78% rename from win/IfcConvert.vcproj rename to win/sln/IfcConvert.vcproj index b7e27a2ca2..edc1b07ac1 100644 --- a/win/IfcConvert.vcproj +++ b/win/sln/IfcConvert.vcproj @@ -17,8 +17,8 @@ @@ -88,8 +88,8 @@ @@ -202,43 +202,43 @@ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > diff --git a/win/IfcGeom.vcproj b/win/sln/IfcGeom.vcproj similarity index 69% rename from win/IfcGeom.vcproj rename to win/sln/IfcGeom.vcproj index 561649b717..4d13716f3d 100644 --- a/win/IfcGeom.vcproj +++ b/win/sln/IfcGeom.vcproj @@ -151,43 +151,43 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > @@ -197,87 +197,87 @@ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > diff --git a/win/IfcMax.vcproj b/win/sln/IfcMax.vcproj similarity index 90% rename from win/IfcMax.vcproj rename to win/sln/IfcMax.vcproj index e8e107280f..8778979fb9 100644 --- a/win/IfcMax.vcproj +++ b/win/sln/IfcMax.vcproj @@ -17,8 +17,8 @@ @@ -91,8 +91,8 @@ @@ -186,16 +186,16 @@ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > diff --git a/win/IfcOpenHouse.vcproj b/win/sln/IfcOpenHouse.vcproj similarity index 93% rename from win/IfcOpenHouse.vcproj rename to win/sln/IfcOpenHouse.vcproj index dd884cc213..4f0ce2b955 100644 --- a/win/IfcOpenHouse.vcproj +++ b/win/sln/IfcOpenHouse.vcproj @@ -17,8 +17,8 @@ @@ -88,8 +88,8 @@ diff --git a/win/IfcOpenShell.sln b/win/sln/IfcOpenShell.sln similarity index 100% rename from win/IfcOpenShell.sln rename to win/sln/IfcOpenShell.sln diff --git a/win/IfcParse.vcproj b/win/sln/IfcParse.vcproj similarity index 68% rename from win/IfcParse.vcproj rename to win/sln/IfcParse.vcproj index 0723f5743a..fa96845a7a 100644 --- a/win/IfcParse.vcproj +++ b/win/sln/IfcParse.vcproj @@ -17,8 +17,8 @@ @@ -240,87 +240,87 @@ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > diff --git a/win/IfcParseExamples.vcproj b/win/sln/IfcParseExamples.vcproj similarity index 93% rename from win/IfcParseExamples.vcproj rename to win/sln/IfcParseExamples.vcproj index c53313c791..94027eb617 100644 --- a/win/IfcParseExamples.vcproj +++ b/win/sln/IfcParseExamples.vcproj @@ -18,8 +18,8 @@ @@ -90,8 +90,8 @@ diff --git a/win/IfcWrap.vcproj b/win/sln/IfcWrap.vcproj similarity index 94% rename from win/IfcWrap.vcproj rename to win/sln/IfcWrap.vcproj index 99a3820186..51ffcc7320 100644 --- a/win/IfcWrap.vcproj +++ b/win/sln/IfcWrap.vcproj @@ -14,12 +14,12 @@ - - + <..\.. Name="Debug|Win32" OutputDirectory="..\build\debug" IntermediateDirectory="..\temp\wrap\debug" - ConfigurationType="2" + ..\..Type="2" CharacterSet="2" BuildLogFile="$(IntDir)\BuildLog.htm" > @@ -87,12 +87,12 @@ - - + <..\.. Name="Release|Win32" OutputDirectory="..\build\release" IntermediateDirectory="..\temp\wrap\release" - ConfigurationType="2" + ..\..Type="2" CharacterSet="2" WholeProgramOptimization="1" > @@ -160,8 +160,8 @@ - - + + @@ -184,7 +184,7 @@ - - - + - + Date: Wed, 28 Oct 2015 19:43:10 +0200 Subject: [PATCH 002/157] Add Windows build scripts from https://github.com/Tridify/IfcOpenShell-SourceForge --- .gitignore | 4 + win/build-deps.cmd | 404 ++++++++++++++++++++++++++++++++++++ win/readme.txt | 48 +++++ win/run-cmake.bat | 101 +++++++++ win/utils/7za.exe | Bin 0 -> 587776 bytes win/utils/cecho test.bat | 65 ++++++ win/utils/cecho.exe | Bin 0 -> 26112 bytes win/utils/cecho.txt | 1 + win/utils/gnuwinlicense.txt | 1 + win/utils/libeay32.dll | Bin 0 -> 1177600 bytes win/utils/libiconv2.dll | Bin 0 -> 1008128 bytes win/utils/libintl3.dll | Bin 0 -> 103424 bytes win/utils/libssl32.dll | Bin 0 -> 232960 bytes win/utils/license.txt | 29 +++ win/utils/wget.exe | Bin 0 -> 449024 bytes win/vs-cfg.cmd | 160 ++++++++++++++ 16 files changed, 813 insertions(+) create mode 100644 .gitignore create mode 100644 win/build-deps.cmd create mode 100644 win/readme.txt create mode 100644 win/run-cmake.bat create mode 100644 win/utils/7za.exe create mode 100644 win/utils/cecho test.bat create mode 100644 win/utils/cecho.exe create mode 100644 win/utils/cecho.txt create mode 100644 win/utils/gnuwinlicense.txt create mode 100644 win/utils/libeay32.dll create mode 100644 win/utils/libiconv2.dll create mode 100644 win/utils/libintl3.dll create mode 100644 win/utils/libssl32.dll create mode 100644 win/utils/license.txt create mode 100644 win/utils/wget.exe create mode 100644 win/vs-cfg.cmd diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..c8ab31c0d2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +# Dependency and build folders created by the build scripts +deps*/ +build*/ +install*/ diff --git a/win/build-deps.cmd b/win/build-deps.cmd new file mode 100644 index 0000000000..6478ab7067 --- /dev/null +++ b/win/build-deps.cmd @@ -0,0 +1,404 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: :: +:: This file is part of IfcOpenShell. :: +:: :: +:: IfcOpenShell is free software: you can redistribute it and/or modify :: +:: it under the terms of the Lesser GNU General Public License as published by :: +:: the Free Software Foundation, either version 3.0 of the License, or :: +:: (at your option) any later version. :: +:: :: +:: IfcOpenShell is distributed in the hope that it will be useful, :: +:: but WITHOUT ANY WARRANTY; without even the implied warranty of :: +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the :: +:: Lesser GNU General Public License for more details. :: +:: :: +:: You should have received a copy of the Lesser GNU General Public License :: +:: along with this program. If not, see . :: +:: :: +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: This batch file expects CMake generator as %1 and build configuration type as %2. If not provided, +:: the GENERATOR_DEFAULT will be used for %1 and BUILD_CFG_DEFAULT for %2 (both set in vs-cfg.cmd) +:: Optionally a build type (Build/Rebuild/Clean) can be passed as %3. + +@echo off +echo. + +:: Enable the delayed environment variable expansion needed in vs-cfg.cmd. +setlocal EnableDelayedExpansion + +:: Make sure vcvarsall.bat is called and dev env set is up. +IF "%VSINSTALLDIR%"=="" ( + utils\cecho {0C}Visual Studio environment variables not set - cannot proceed!{# #}{\n} + GOTO :Error +) + +set PROJECT_NAME=IfcOpenShell + +utils\cecho {F0}This script fetches and builds all %PROJECT_NAME% dependencies{# #}{\n} +echo. + +:: Set up variables depending on the used Visual Studio version +call vs-cfg.cmd %1 %2 +IF NOT %ERRORLEVEL%==0 GOTO :Error + +set BUILD_TYPE=%3 + +IF %GENERATOR%=="" ( + cecho {0C}GENERATOR not specified - cannot proceed!{# #}{\n} + GOTO :Error +) + +IF "%BUILD_TYPE%"=="" set BUILD_TYPE=Build + +IF NOT "!BUILD_TYPE!"=="Build" IF NOT "!BUILD_TYPE!"=="Rebuild" IF NOT "!BUILD_TYPE!"=="Clean" ( + utils\cecho {0C}Invalid build type passed: !BUILD_TYPE!. Cannot proceed, aborting!{# #}{\n} + GOTO :Error +) + +:: Make sure deps and install folders exists. +IF NOT EXIST %DEPS_DIR%. mkdir %DEPS_DIR% +IF NOT EXIST %INSTALL_DIR%. mkdir %INSTALL_DIR% + +:: If we use VS2008, framework path (for MSBuild) may not be correctly set. Manually attempt to add in that case +IF %VS_VER%==2008 set PATH=C:\Windows\Microsoft.NET\Framework\v3.5;%PATH% + +:: User-configurable build options +IF "%IFCOS_INSTALL_PYTHON%"=="" set IFCOS_INSTALL_PYTHON=TRUE +IF "%IFCOS_NUM_BUILD_PROCESSES%"=="" set IFCOS_NUM_BUILD_PROCESSES=%NUMBER_OF_PROCESSORS% + +:: For subroutines +set MSBUILD_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCESSES% /t:%BUILD_TYPE% +REM /clp:ErrorsOnly;WarningsOnly +:: Note BUILD_TYPE not passed, Clean e.g. wouldn't delete the installed files. +set INSTALL_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCESSES% +set BUILD_DIR=build-vs%VS_VER%-%TARGET_ARCH% + +REM echo. +REM cecho {F0}This script fetches and builds all %PROJECT_NAME% dependencies{# #}{\n} + +:: Print build configuration information +echo. +cecho {0A}Script configuration:{# #}{\n} +cecho {0D} CMake Generator = %GENERATOR%{# #}{\n} +echo - Passed to CMake -G option. +cecho {0D} Target Architecture = %TARGET_ARCH%{# #}{\n} +echo - Whether were doing 32-bit (x86) or 64-bit (x64) build. +cecho {0D} Dependency Directory = %DEPS_DIR%{# #}{\n} +echo - The directory where %PROJECT_NAME% dependencies are fetched and built. +cecho {0D} Installation Directory = %INSTALL_DIR%{# #}{\n} +echo - The directory where %PROJECT_NAME% dependencies are installed. +cecho {0D} Build Config Type = %BUILD_CFG%{# #}{\n} +echo - The used build configuration type for the dependencies. +echo Defaults to RelWithDebInfo if not specified. +IF %BUILD_CFG%==MinSizeRel cecho {0E} WARNING: MinSizeRel build can suffer from a significant performance loss.{# #}{\n} +cecho {0D} Build Type = %BUILD_TYPE%{# #}{\n} +echo - The used build type for the dependencies (Build, Rebuild, Clean). +echo Defaults to Build if not specified. +cecho {0D} IFCOS_INSTALL_PYTHON = %IFCOS_INSTALL_PYTHON%{# #}{\n} +echo - Download and install Python. +echo Set to something other than TRUE if you wish to use an already installed version of Python. +cecho {0D} IFCOS_NUM_BUILD_PROCESSES = %IFCOS_NUM_BUILD_PROCESSES%{# #}{\n} +echo - How many MSBuild.exe processes may be run in parallel. +echo Defaults to NUMBER_OF_PROCESSORS. +echo. + +:: Print script's usage information +cecho {0A}Requirements for a successful execution:{# #}{\n} +echo 1. Install Git and make sure 'git' is accessible from PATH. +echo - http://code.google.com/p/tortoisegit/ +echo 2. Install CMake and make sure 'cmake' is accessible from PATH. +echo - http://www.cmake.org/ +echo 3. Visual Studio 2008 or newer (2013 or newer recommended). +echo 4. Run this batch script with Visual Studio environment variables set. +echo. +REM TODO 3ds Max SDK? + +echo If you are not ready with the above, press Ctrl-C to abort! +pause +echo. + +cd %DEPS_DIR% +goto :Python +:Boost +set BOOST_VERSION=1.59.0 +:: DEPENDENCY_NAME is used for logging and DEPENDENCY_DIR for saving from some redundant typing +set DEPENDENCY_NAME=Boost %BOOST_VERSION% +set DEPENDENCY_DIR="%DEPS_DIR%\boost" +:: Version string with underscores instead of dots. +set BOOST_VER=%BOOST_VERSION:.=_% +set BOOST_ROOT=%DEPS_DIR%\boost +REM set BOOST_INCLUDEDIR=%DEPS_DIR%\boost +set BOOST_LIBRARYDIR=%DEPS_DIR%\boost\stage\%VS_PLATFORM%\lib +:: NOTE Also zip download exists, if encountering problems with 7z for some reason. +set ZIP_EXT=7z +set BOOST_ZIP=boost_%BOOST_VER%.%ZIP_EXT% + +call :DownloadFile http://downloads.sourceforge.net/project/boost/boost/%BOOST_VERSION%/%BOOST_ZIP% "%DEPS_DIR%" %BOOST_ZIP% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :ExtractArchive %BOOST_ZIP% "%DEPS_DIR%" "%DEPS_DIR%\boost" +IF NOT %ERRORLEVEL%==0 GOTO :Error + +:: Build Boost build script +IF EXIST "%DEPS_DIR%\boost_%BOOST_VER%". ( + cd "%DEPS_DIR%" + ren boost_%BOOST_VER% boost + IF NOT EXIST "%DEPS_DIR%\boost\boost.css" GOTO :Error + cd "%DEPS_DIR%\boost" + cecho {0D}Building Boost build script.{# #}{\n} + call bootstrap vc%VC_VER% + IF NOT %ERRORLEVEL%==0 GOTO :Error +) + +set BOOST_LIBS=--with-system --with-regex --with-thread --with-program_options --with-date_time +:: NOTE Boost is fast to build with limited set of libraries so build it always. +cd "%DEPS_DIR%\boost" +cecho {0D}Building %DEPENDENCY_NAME% %BOOST_LIBS% Please be patient, this will take a while.{# #}{\n} +IF EXIST "%DEPS_DIR%\boost\bin.v2\project-cache.jam" del "%DEPS_DIR%\boost\bin.v2\project-cache.jam" +call .\b2 toolset=msvc-%VC_VER%.0 runtime-link=static address-model=%ARCH_BITS% -j%IFCOS_NUM_BUILD_PROCESSES% ^ + %BOOST_LIBS% stage --stagedir=stage/vs%VS_VER%-%VS_PLATFORM% + +:ICU +set DEPENDENCY_NAME=ICU +set DEPENDENCY_DIR=N/A +set ICU_ZIP=icu-55.1-vs%VS_VER%.7z +cd "%DEPS_DIR%" +call :DownloadFile http://www.npcglib.org/~stathis/downloads/%ICU_ZIP% "%DEPS_DIR%" %ICU_ZIP% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :ExtractArchive %ICU_ZIP% "%DEPS_DIR%" "%INSTALL_DIR%\icu" +IF NOT %ERRORLEVEL%==0 GOTO :Error +:: Rename lib and bin directories to predictable form +IF EXIST "%DEPS_DIR%\icu-55.1-vs%VS_VER%". ( + pushd "%DEPS_DIR%\icu-55.1-vs%VS_VER%" + IF EXIST bin. ren bin bin%ARCH_BITS%" + IF EXIST lib. ren lib lib%ARCH_BITS%" + popd +) + +IF EXIST "%DEPS_DIR%\icu-55.1-vs%VS_VER%\". ( + robocopy "%DEPS_DIR%\icu-55.1-vs%VS_VER%\include" "%INSTALL_DIR%\icu\include" /E /IS /njh /njs + IF NOT EXIST "%INSTALL_DIR%\icu\lib". mkdir "%INSTALL_DIR%\icu\lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicutest%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icutest.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicutu%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icutu.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicuuc%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icuuc.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicudt%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icudt.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicuin%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icuin.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicuio%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icuio.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicule%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icule.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\siculx%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\iculx.lib" +) + +:OpenCOLLADA +:: Note OpenCOLLADA has only Release and Debug builds. +set DEPENDENCY_NAME=OpenCOLLADA +set DEPENDENCY_DIR=%DEPS_DIR%\OpenCOLLADA +:: TODO Temporarily use our own repo until the upstream has static VC runtime option +call :GitCloneOrPullRepository https://github.com/Tridify/OpenCOLLADA.git "%DEPENDENCY_DIR%" +REM call :GitCloneOrPullRepository https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPENDENCY_DIR%" +IF NOT %ERRORLEVEL%==0 GOTO :Error +IF NOT EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%". ( + cd "%DEPENDENCY_DIR%" + call git branch vs-static-rt origin/vs-static-rt + IF NOT %ERRORLEVEL%==0 GOTO :Error + call git checkout vs-static-rt + IF NOT %ERRORLEVEL%==0 GOTO :Error +) +cd "%DEPENDENCY_DIR%" +:: NOTE OpenCOLLADA has been observed to have problems with switching between debug and release builds so +:: uncomment to following line in order to delete the CMakeCache.txt always if experiencing problems. +REM IF EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%\CMakeCache.txt". del "%DEPENDENCY_DIR%\%BUILD_DIR%\CMakeCache.txt" +call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\OpenCOLLADA" -DUSE_STATIC_MSVC_RUNTIME=1 +IF NOT %ERRORLEVEL%==0 GOTO :Error +REM TODO OpenCOLLADA takes a long time to build; build only if needed +REM IF NOT EXIST "%DEPS_DIR%\OpenCOLLADA\%BUILD_DIR%\lib\%DEBUG_OR_RELEASE%\OpenCOLLADASaxFrameworkLoader.lib". +call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\OPENCOLLADA.sln" %DEBUG_OR_RELEASE% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %DEBUG_OR_RELEASE% +IF NOT %ERRORLEVEL%==0 GOTO :Error + +:oce-win-bundle +set DEPENDENCY_NAME=oce-win-bundle +set DEPENDENCY_DIR=%DEPS_DIR%\oce-win-bundle +:: TODO Temporarily use our own repo until the upstream is fixed +REM call :GitCloneOrPullRepository https://github.com/QbProg/oce-win-bundle.git "%DEPENDENCY_DIR%" +call :GitCloneOrPullRepository https://github.com/Tridify/oce-win-bundle.git "%DEPENDENCY_DIR%" +IF NOT %ERRORLEVEL%==0 GOTO :Error +IF NOT EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%". ( + cd "%DEPENDENCY_DIR%" + call git branch msvc-enhancements origin/msvc-enhancements + IF NOT %ERRORLEVEL%==0 GOTO :Error + call git checkout msvc-enhancements + IF NOT %ERRORLEVEL%==0 GOTO :Error +) +cd "%DEPENDENCY_DIR%" +call :RunCMake -DOCE_WIN_BUNDLE_INSTALL_DIR="%INSTALL_DIR%\oce-win-bundle" -DBUNDLE_USE_STATIC_MSVC_RUNTIME=1 +IF NOT %ERRORLEVEL%==0 GOTO :Error +REM IF NOT EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%\FreeImage.cmake\%BUILD_CFG%\FreeImage.dll" +call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\oce-win-bundle.sln" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error + +:OCE +set DEPENDENCY_NAME=Open CASCADE Community Edition +set DEPENDENCY_DIR=%DEPS_DIR%\oce +:: TODO Temporarily use our own repo until the upstream has static VC runtime option +REM call :GitCloneOrPullRepository https://github.com/tpaviot/oce.git "%DEPENDENCY_DIR%" +call :GitCloneOrPullRepository https://github.com/Tridify/oce.git "%DEPENDENCY_DIR%" +IF NOT %ERRORLEVEL%==0 GOTO :Error +IF NOT EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%". ( + cd "%DEPENDENCY_DIR%" + call git branch temp-vs-static-lib-build-fixes origin/temp-vs-static-lib-build-fixes + IF NOT %ERRORLEVEL%==0 GOTO :Error + call git checkout temp-vs-static-lib-build-fixes + IF NOT %ERRORLEVEL%==0 GOTO :Error +) +cd "%DEPENDENCY_DIR%" +set OCE_BUNDLE_ROOT_PATH="%INSTALL_DIR%\oce-win-bundle" +REM -DOCE_USE_BUNDLE_SOURCE=1 REM set OCE_BUNDLE_ROOT_PATH=%DEPS_DIR%\oce-win-bundle +:: NOTE Specify OCE_NO_LIBRARY_VERSION as rc.exe can fail due to long filenames and huge command-line parameter +:: input (more than 32,000 characters). Could maybe try using subst for the build dir to overcome this. +call :RunCMake -DOCE_BUILD_SHARED_LIB=0 -DOCE_USE_BUNDLE=1 -DOCE_BUNDLE_ROOT_PATH="%OCE_BUNDLE_ROOT_PATH%" ^ + -DOCE_INSTALL_PREFIX="%INSTALL_DIR%\oce" -DOCE_TESTING=0 -DOCE_NO_LIBRARY_VERSION=1 ^ + -DOCE_USE_STATIC_MSVC_RUNTIME=1 +IF NOT %ERRORLEVEL%==0 GOTO :Error +REM TODO OCE takes a long time to build; build only if needed +call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\OCE.sln" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error + +:Python +IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( + set PYTHON_AMD64_POSTFIX=.amd64 + IF NOT %TARGET_ARCH%==x64 set PYTHON_AMD64_POSTFIX= + :: TODO Update to 3.5 when it's released as it will have an option to install debug libraries. + set PYTHON_VERSION=3.4.3 + set DEPENDENCY_NAME=Python %PYTHON_VERSION% + set DEPENDENCY_DIR=N/A + set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi + cd "%DEPS_DIR%" + call :DownloadFile https://www.python.org/ftp/python/%PYTHON_VERSION%/%PYTHON_INSTALLER% "%DEPS_DIR%" %PYTHON_INSTALLER% + IF NOT %ERRORLEVEL%==0 GOTO :Error + :: TODO Uninstall if build type == Clean + IF NOT EXIST "%INSTALL_DIR%\Python". ( + cecho {0D}Installing %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} + msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR=%INSTALL_DIR%\Python + echo %ERRORLEVEL% + ) ELSE ( + cecho {0D}%DEPENDENCY_NAME% already installed. Skipping.{# #}{\n} + ) +) ELSE ( + cecho {0D}IFCOS_INSTALL_PYTHON not true, skipping installation of Python.{# #}{\n} +) +pause +:SWIG +set SWIG_VERSION=3.0.5 +set DEPENDENCY_NAME=SWIG %SWIG_VERSION% +set DEPENDENCY_DIR=N/A +set SWIG_ZIP=swigwin-%SWIG_VERSION%.zip +cd "%DEPS_DIR%" +call :DownloadFile http://sourceforge.net/projects/swig/files/swigwin/swigwin-%SWIG_VERSION%/%SWIG_ZIP% "%DEPS_DIR%" %SWIG_ZIP% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :ExtractArchive %SWIG_ZIP% "%DEPS_DIR%" "%DEPS_DIR%\swigwin" +IF NOT %ERRORLEVEL%==0 GOTO :Error +IF EXIST "%DEPS_DIR%\swigwin-%SWIG_VERSION%". ( + pushd %DEPS% + ren swigwin-%SWIG_VERSION% swigwin + popd +) +IF EXIST "%DEPS_DIR%\swigwin\". robocopy "%DEPS_DIR%\swigwin" "%INSTALL_DIR%\swigwin" /E /IS /MOVE /njh /njs + +:Successful +echo. +%TOOLS%\utils\cecho {0A}%PROJECT_NAME% dependencies built.{# #}{\n} +goto :Finish + +:Error +echo. +%TOOLS%\utils\cecho {0C}An error occurred! Aborting!{# #}{\n} +goto :Finish + +:Finish +set PATH=%ORIGINAL_PATH% +cd %TOOLS% +endlocal +goto :EOF + +::::::::::::::::::::::::::::::::::::: Subroutines ::::::::::::::::::::::::::::::::::::: + +:: DownloadFile - Downloads a file using wget +:: Params: %1 url, %2 destinationDir, %3 filename +:DownloadFile +pushd %2 +IF NOT EXIST "%3". ( + cecho {0D}Downloading %DEPENDENCY_NAME% into %2.{# #}{\n} + wget --no-check-certificate %1 +) ELSE ( + cecho {0D}%DEPENDENCY_NAME% already downloaded. Skipping.{# #}{\n} +) +set RET=%ERRORLEVEL% +popd +exit /b %RET% + +:: ExtractArchive - Extracts an archive file using 7-zip +:: Params: %1 filename, %2 destinationDir, %3 dirAfterExtraction +:ExtractArchive +IF NOT EXIST "%3". ( + cecho {0D}Extracting %DEPENDENCY_NAME% into %2.{# #}{\n} + 7za x %1 -y -o%2 +) ELSE ( + cecho {0D}%DEPENDENCY_NAME% already extracted into %3. Skipping.{# #}{\n} +) +exit /b %ERRORLEVEL% + +:: GitCloneOrPullRepository - Clones or pulls (if repository already cloned) a Git repository +:: Params: %1 gitUrl, %2 destDir +:: F.ex. call :GitCloneRepository https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPS_DIR%\OpenCOLLADA\" +:GitCloneOrPullRepository +IF NOT EXIST %2. ( + cecho {0D}Cloning %DEPENDENCY_NAME% into %2.{# #}{\n} + pushd "%DEPS_DIR%" + call git clone %1 %2 +) ELSE ( + cecho {0D}%DEPENDENCY_NAME% already cloned. Pulling latest changes.{# #}{\n} + pushd %2 + call git pull +) +set RET=%ERRORLEVEL% +popd +exit /b %RET% + +:: RunCMake - Runs CMake for a CMake-based project +:: Params: %* cmakeOptions +:: NOTE cd to root CMakeLists.txt folder before calling this if the CMakeLists.txt is not in the repo root. +:RunCMake +cecho {0D}Running CMake for %DEPENDENCY_NAME%.{# #}{\n} +IF NOT EXIST %BUILD_DIR%. mkdir %BUILD_DIR% +IF NOT %ERRORLEVEL%==0 GOTO :Error +pushd %BUILD_DIR% +:: TODO make deleting cache a parameter for this subroutine? We probably want to delete the +:: cache always e.g. when we've had new changes in the repository. +IF %BUILD_TYPE%==Rebuild IF EXIST CMakeCache.txt. del CMakeCache.txt +cmake .. -G %GENERATOR% %* +set RET=%ERRORLEVEL% +popd +exit /b %RET% + +:: BuildSolution - Builds/Rebuilds/Cleans a solution using MSBuild +:: Params: %1 solutioName, %2 configuration +:BuildSolution +cecho {0D}%BUILD_TYPE%ing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} +%MSBUILD_CMD% %1 /p:configuration=%2;platform=%VS_PLATFORM% +exit /b %ERRORLEVEL% + +:: InstallCMakeProject - Builds the INSTALL project of CMake-based project +:: Params: %1 buildDir, %2 == configuration +:: NOTE the actual install dir is set during cmake run. +:InstallCMakeProject +pushd %1 +cecho {0D}Installing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} +%INSTALL_CMD% INSTALL.%VCPROJ_FILE_EXT% /p:configuration=%2;platform=%VS_PLATFORM% +set RET=%ERRORLEVEL% +popd +exit /b %RET% diff --git a/win/readme.txt b/win/readme.txt new file mode 100644 index 0000000000..a433cb1f53 --- /dev/null +++ b/win/readme.txt @@ -0,0 +1,48 @@ +== Windows Build Tools and Scripts == + +This folder contains build tools and script for automatic building and deployment of IfcOpenShell's +(IFCOS) dependencies. + +As a general guideline, .cmd files are non-standalone batch files that need to be run from command +prompt or from other batch file and/or Visual Studio environment variables set and .bat files are +standalone batch files that can be run from File Explorer too. + + +== Usage Instructions == + +Execute build-deps.cmd to fetch, build and install the dependencies. The batch file will print +requirements for a successful execution. The script allows a few user-configurable build options +which are listed in the usage instructions. Either edit the script file or set these values before +running the script. + +build-deps.cmd expects a CMake generator as %1 and a build configuration type as %2. If the parameters +are not provided, the default values are used ("Visual Studio 12 Win64" and RelWithDebInfo respectively). +A build type (Build/Rebuild/Clean) can be provided as %3, if wanted (defaults to Build). See vs-cfg.cmd +if you want to change the defaults. The batch file will create deps\ and deps-vs--installed\ +directories to the project root. Note that currently only libraries for one build configuration type +can be installed at a time, so if wanting to switch between release and debug builds, run the build-deps.cmd +again with the appropriate build type as %2. + +After the dependencies are build, execute run-cmake.bat. The batch file expects a CMake generator as +%1, or alternatively if more parameters are provided, %* is passed for the CMake inkovation. If no %1 +is provided, the same default value as above is used. This batch script will create a folder of form +build-vs- which will contain the solution and project files for Visual Studio. + +All of the dependencies are build as static libraries against the static run-time allowing the developer +to effortlessly deploy standalone binaries. + +You can now build the project using the IfcOpenShell.sln file in the build folder. Build the INSTALL +project if wanted. The project will installed to installed-vs- folder in the +project's root folder and the required IfcOpenShell-Python parts are deployed to the Python's Lib +folder. + + +== Directory Structure == + +| build-deps.cmd - Fetches and builds all needed dependencies for IFCOS +| readme.txt - This file +| run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS +| vs-cfg.cmd - Utility file used by the build scripts +| ++---sln - Contains the old Visual Studio solution and project files +\---utils - Contains various utilities for the build scripts diff --git a/win/run-cmake.bat b/win/run-cmake.bat new file mode 100644 index 0000000000..1475d486bd --- /dev/null +++ b/win/run-cmake.bat @@ -0,0 +1,101 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: :: +:: This file is part of IfcOpenShell. :: +:: :: +:: IfcOpenShell is free software: you can redistribute it and/or modify :: +:: it under the terms of the Lesser GNU General Public License as published by :: +:: the Free Software Foundation, either version 3.0 of the License, or :: +:: (at your option) any later version. :: +:: :: +:: IfcOpenShell is distributed in the hope that it will be useful, :: +:: but WITHOUT ANY WARRANTY; without even the implied warranty of :: +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the :: +:: Lesser GNU General Public License for more details. :: +:: :: +:: You should have received a copy of the Lesser GNU General Public License :: +:: along with this program. If not, see . :: +:: :: +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +@echo off +echo. + +set PROJECT_NAME=IfcOpenShell + +:: Enable the delayed environment variable expansion needed in vs-cfg.cmd. +setlocal EnableDelayedExpansion + +call vs-cfg.cmd %1 + +set CMAKE_INSTALL_PREFIX=%CD%\..\installed-vs%VS_VER%-%TARGET_ARCH% + +set BUILD_DIR=build-vs%VS_VER%-%TARGET_ARCH% +IF NOT EXIST ..\%BUILD_DIR%. mkdir ..\%BUILD_DIR% +pushd ..\%BUILD_DIR% + +set BOOST_ROOT=%DEPS_DIR%\boost +REM set BOOST_INCLUDEDIR=%DEPS_DIR%\boost +set BOOST_LIBRARYDIR=%DEPS_DIR%\boost\stage\vs%VS_VER%-%VS_PLATFORM%\lib +set ICU_INCLUDE_DIR=%INSTALL_DIR%\icu\include +set ICU_LIBRARY_DIR=%INSTALL_DIR%\icu\lib +set OCC_INCLUDE_DIR=%INSTALL_DIR%\oce\include\oce +set OCC_LIBRARY_DIR=%INSTALL_DIR%\oce\Win%ARCH_BITS%\lib +set OPENCOLLADA_INCLUDE_DIR=%INSTALL_DIR%\OpenCOLLADA\include\opencollada +set OPENCOLLADA_LIBRARY_DIR=%INSTALL_DIR%\OpenCOLLADA\lib\opencollada +:: TODO 3ds Max SDK? +set SWIG_DIR=%INSTALL_DIR%\swigwin +set PATH=%PATH%;%SWIG_DIR% + +echo. +cecho {0A}Script configuration:{# #}{\n} +echo CMake Generator = %GENERATOR% +echo All arguments = %* +echo. +cecho {0A}Dependency Environment Variables for %PROJECT_NAME%:{# #}{\n} +echo BOOST_ROOT = %BOOST_ROOT% +REM echo BOOST_INCLUDEDIR = %BOOST_INCLUDEDIR% +echo BOOST_LIBRARYDIR = %BOOST_LIBRARYDIR% +echo ICU_INCLUDE_DIR = %ICU_INCLUDE_DIR% +echo ICU_LIBRARY_DIR = %ICU_LIBRARY_DIR% +echo OCC_INCLUDE_DIR = %OCC_INCLUDE_DIR% +echo OCC_LIBRARY_DIR = %OCC_LIBRARY_DIR% +echo OPENCOLLADA_INCLUDE_DIR = %OPENCOLLADA_INCLUDE_DIR% +echo OPENCOLLADA_LIBRARY_DIR = %OPENCOLLADA_LIBRARY_DIR% +:: TODO Python +echo SWIG_DIR = %SWIG_DIR% +echo. +echo CMAKE_INSTALL_PREFIX = %CMAKE_INSTALL_PREFIX% +echo. + +set CMAKELISTS_DIR=..\cmake +REM IF NOT EXIST %PROJECT_NAME%.sln. ( + IF EXIST CMakeCache.txt. del /Q CMakeCache.txt + cecho {0D}Running CMake for %PROJECT_NAME%.{# #}{\n} + IF "%2"=="" ( + REM No extra arguments provided, trust that GENERATOR is set properly. + cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" + ) ELSE ( + REM Extra arguments has been provided. As CMake options are typically of format -DSOMETHING:BOOL=ON, + REM i.e. they contain an equal sign, they will mess up the batch file argument parsing if the arguments are passed on + REM by splitting them %2 %3 %4 %5 %6 %7 %8 %9. In the extra argument case trust that user has provided the generator + REM as the first argument as pass all arguments as is by using %*. + cmake.exe %CMAKELISTS_DIR% -G %* + ) + IF NOT %ERRORLEVEL%==0 GOTO :Error +REM ) ELSE ( + REM cecho {0A}%PROJECT_NAME%.sln exists. Skipping CMake call for %PROJECT_NAME%.{# #}{\n} + REM cecho {0A}Delete %CD%\%PROJECT_NAME%.sln to trigger a CMake rerun.{# #}{\n} +REM ) +echo. + +goto :Finish + +:Error +echo. +cecho {0C}An error occurred! Aborting!{# #}{\n} +goto :Finish + +:Finish +popd +set PATH=%ORIGINAL_PATH% +endlocal diff --git a/win/utils/7za.exe b/win/utils/7za.exe new file mode 100644 index 0000000000000000000000000000000000000000..7f6bf86bc43ed71decf8b03f54dcb9b2be143a24 GIT binary patch literal 587776 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%0DGup{JR5@0O76 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Ë$;Klux- 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
  • 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 literal 0 HcmV?d00001 diff --git a/win/utils/cecho.txt b/win/utils/cecho.txt new file mode 100644 index 0000000000..cdc61b2ffe --- /dev/null +++ b/win/utils/cecho.txt @@ -0,0 +1 @@ +cecho is from http://www.codeproject.com/Articles/17033/Add-Colors-to-Batch-Files \ No newline at end of file diff --git a/win/utils/gnuwinlicense.txt b/win/utils/gnuwinlicense.txt new file mode 100644 index 0000000000..33ab9958e0 --- /dev/null +++ b/win/utils/gnuwinlicense.txt @@ -0,0 +1 @@ +http://gnuwin32.sourceforge.net/license.html \ No newline at end of file diff --git a/win/utils/libeay32.dll b/win/utils/libeay32.dll new file mode 100644 index 0000000000000000000000000000000000000000..8d31f86685a7b44b9c98b9521dd8bdbb13808e0f GIT binary patch literal 1177600 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�tsU=x-qHliaf1x&M_SaXSo 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 wVJXHW9=ldeDRIx$L1I<1Uv8l)rP2jy0c>S$k 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�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

    >!q+cyh} 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

    JMmR; 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

  • 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 U1$mD->a{cRFYf>6ui^>(U%jI#IsgCw literal 0 HcmV?d00001 diff --git a/win/utils/libiconv2.dll b/win/utils/libiconv2.dll new file mode 100644 index 0000000000000000000000000000000000000000..544dd92f56d05f4caf06bfac3194431ddd1bc97f GIT binary patch literal 1008128 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 %Maf8ueY#MnXRn#b( z#=2<`;dzqgk!dufd1cu+)+DHPZP^vuC<^Z`8=4;30#l#o>99;n?>TS*(=+0$EL}X zR&9FMl5-zi%izZBHOyW`28@_p8O&^Y$EGQp`If=&3+@^cz z7tk-FUq+wF%qIF3^sDIC&}W{*n7f7kHu^2}+vxA0Pd2k>$?p$tZMtvMtZ~|Q#g9Ju zAd;0-Y2L#nqSY~js+_#rg5MTAW>B(}b59&O`4Jkm5m6t|`R!9C^D^7G%QQsUnkrEszi061w6{ymCU(7jpob)&F8VkFf`12V*bBK8*bs zFM#ui$03Zv7)LRVVH~%GIa~1BLf8_(pUh!ACzGI@yxGFME%31sxg-HvmdgdX49O)) z%#y7Z9nGXXyZNN!+Yz^PIE8u4?wH9$<2aNgtB|CUm76Vlu{r zT^lEINj!}VDWS8TT(bXqACopFBaD8`Y1cNtWk#&*S7s%-Br>)tvy9BhivGwfC$pl= zvT_-eSwUv&n9}EG3DXp&%a}5C%wW2TX%^EQrc^!UZEMa@%-OBmZcXk(!l{?%6}cy) z+LZeRxev;H*mfJ{d{gdYmQ!->leidwHhLFBT#Rrr2Al3LPQc#1i&I>j+3vR7C*+o#Vm_H^5x zy7E=9XEl3Px6=V`V|MziUdOOL<%ofBR2Py$d|)AA9FlZL!lqH*fzm(U_fNxA>JE+X zPJD;rqg;?Y@1FdDY%C9Z%C@q=!~|Z1GdL)uXS3%YA4h=hOE@_t%xq_0(?kwki7rZ% z*vOt1ZX}vCRD?!j5?zvLLO3QPo{&Ya7G_$wMd|{nOQf!lVoq{{)C?&eyfegnGR&gi z3~SZQrZ#f2=m>}AGf%xh?bRk2EhyMo@@6~ zyNue5=G3LUqtwy^#%sptDM}1{M`j}=m5~nrDF=&hgrzbx8)PwFba*cn)@ZLfWW*fk z@KJ{kI%LFWka|V!T`DZW?kpQ;n)lLtFpZ}5d|1z$_551TtM!my{t_amPh}yc=|kmy#d#CyzNSZ-9%`DZxtc8c zlyngI^rKqoU-$m2RT>FO=HaKe5idb-dQ` zSjT6bIqNuRvvg%RW8`|X(RZ6ZF?${K_t4)LIyp?Dw!n7y9m~peKsWCPnX3zl?}e11 z;@az%KU}4$oMT8!b50dpSTWAF(v_MA7cxrMefmq&+xZW0X30ag`po#A%wLnmsqwvO zcum9WN4!JGF`)>rmCDW5k zM>5;Ou@?;{gb&)NA(zxHlUo+W6oCC|_f@;^W}TvlckObe5XOH(iFL=l*;q0gQ5}Bi z@Y`$WCL= z#58to%xhyF8}r%NoQ*l+IyS~UXB}=HF8MWP7bLA(wy-FZq|n#2z@MZUzuW4zZ86}| zw6kNboAN@w=1iV;?T9gADsN}@_|=|r2|wxrFT$cG$xvJ%wp(`oJa#c=s#Pt=mF~4Q!zRPoH$*e3N zahanF$}j$mPzJhCP#U)X0R=9cJvjSt4&iX;zZKuL{I&AkD2+=kI|%I}#Ol6>kc-eBs2~a* zAasaOAE5z4M+l8T6-xS_M2R%snaGty%O=8i#|2eFJc;-s;!B995MM@o1@ScETvLoM z1ugmvWt_!1SxjhgUW*=CjB3#!c zh|pfU=ht4ytOvEXpgphl0^0LwFQPpji3xMCQWqr`r9G7PwHMb>Kq}`_nd&I0qmYgw zW@Al9j@ek3%7xj;>L{wCn2vlp@}u^R8ZXXY)aP`xAeAc}@fo~23Y*5Bbr!9&Vx5#} zxTet)LTwJ=rZ*u7?OEOuug%w+E+XDYxv4thep}OOQ zOcpUF@wzLQ&of~*3N{w8>03kbTc4AZgX(1~&5?!)WbuJ@O(ry%L})AlB1?pt$-xbg zD{7B#KWm*;Tj2J>nQ<37@2Ho9r=Qdt#{3A*m0=f;mk?P;y)pGB{$pU8KY}v``)9pz z4L8NvRgThg*vQj0yxRgHHLecE8Up@BUD(tG;`}FIv#m3Ma|-7S&J@l$oD29*;Xi|a zYWyByuEqXS-=i=L`R6peZ~R^jcZ{D%T1);CuzRJ|fbT)WePwrQcu&Jeh7$U47ye`T zPvEDjiqClo{}ue#@ZZ2sX6g)~3y@0<6U`$WM`-R)IWOQZoPBF@S%QpNSxv4>;KOhT zPUJy?j9I_Remz1`e?hG%bj?lQE8+cQ&ICP%|0apW9V2uCO1VNLZl(yGBSebf3L)a6 zH~1sP?hs!^d=2ppB}Wi+l*CPPMQErPr#|XVqIJ#0mDo$PCQ;&M-x6&oB|7OZ6S*~! zf12@X`c(<|lL8=Nn&D3Ps|4+fK`m04bgm?Q2;)aLmF!jeNi!i$ziTF@nWVD0gWe|b zb;R?C7Z5KZ&P}6?_$K1Ksfu_F@dn~spvgnL363(1w-N6kz607s#Jh<15O)#ZL;L{o zL$E73{h=gwGYLalnS4Z=AIpnGD_ABSJd{P!#{)x}xVWUnv=(!Qba1h3k|$au#5YwM z3ls_TT?uCe7Re(Y8|thYXR?^rVo4U)wa8d@Xs8S?h7GT`Vpfa9sm^6FEsIQ|4zzKo zMc$3@9iMQb#eyvIKD;NlwN+V6ndHnQ?}RhsifdS&!}2_qJy`Z)*@tC6mKU%b#BvzR zQE=e(avaMEEGMzNjO7(9r?H&D@+xRhyqv=_H?$IRTgWw$+ec}vjeRZh%vXd1#fqy+ z+XS}H6eC)U%HonN<~04Ojfpny4fXArQ^UT1#!wq$$y`Y0S~3%5!%JqSjlN-pzF0CW z4I2FSNHUk&c+g%-8~i}{_nl;pwYQ{=e`cLD4WHp$GE>Q%X@k#mqP<0Jkiogt#tCv8 z$ZaB5L5_({9k~W_jPh;dI>_xH$Gy6X9QR}wxjp0#kUKp}mr!`6|~Hg?QLM>r^C74kD?w&J%RcX>dUCFpq@rOgZe7! zIn>usFM@_|bpmT_r@Ay7B^~8-RMt^SDl;7|>S#qrd)BIxXvTtg~ktN7mW5ERkBQKBm^GT4%#>>5&X-Io2T_IIs?3Lp}*h zykF~-t-~krNb|=!UF($WDpTK0>s(5UDPqw&BkP`2e(M~e zeTa4+?E%{Sdx-W3ZA!ez?wz82hV~R~GRqfeU!qM=kzX0hMj~JjXg{L;g!VJqFKEA_ z{f72C+FxjY!`-otYn@{oi<<`DUBx;>>(nfXW|!C_lLWRNGa*ljyCg1?Kt}wKrRR(r zx3Q{?F_NyD&WDX(eFB&i4t<-wzS(0#9GedKLq*4~48CN*+VI|{nTPzd=?|NJwv=d2 zNMF9#G;jT}={Ip#{&Oiydq@8meLm*|{ZsVM(4V4zf&LZxH|X<89%Vo{?%Spx;1cwk zq5ltV6)uGtBO7BHla~n*xlJ=*VZJ7lj7$jb6>OnmC=Qtrqua1l3QdYKX&CzXPs+AX zl}XkXc!YPW*}|$Bj15I`g-u)Fo!4c;BVC#BQT)3ulWmz)Z6R+4N47v9ZY+}~#!Q(~ z7&CoZ!8n8QD#lria~Q8-ypC}m;{wJ-j7u0(oOXuE6qA{)j%;Dg7BaTL)8PFnvAah9 zP9_BOrnY)yX~8=FHseoAYtT#1kJz)-o~;gSwQsAgTv7#hXsbh+ZQAMyCg+%3U_!eF zHke;ya*N3wCjT(G$Ar?3eOsj-{@l`ap?Yeo^mCvbjslx4+X|V}LvuQ`t)OiMWL7h$ zN46C;r~Bsgz?|;cRz&WzGONpsl~D}S5~gKLH*70x&WYv~EXQ}==jDFQoNrkUBEM(r z`l0Q1%{gnRvD{NE=h|)`7nfl3`^7ab*fepAi#xDiqdTyikazAZ`!B@;WE4^Om6T;8I?G?chRQesDd& z^%1Uzc5rQpB#&O@?ZS@U%#A6;W4VFlZ7esj+yV`m*^itd*mLFdqnO9IX?Uyxew$%k^4gK8*6jg_|V3;p)S4gstq1wj`S!6<}H2g9Y`Ur zy*;HQn6nbt!?nJly@B>dhJz0%9_w|rcdEUyQf^1he~)!5(~MV?K2Rb$_l?pI%5x~s zqwGQ1i?R=8KWJuE4xk)FIfQZqQ( zFpI0bbF<#i9uv8#_IoHZQ(BY)<9<&^J33;H@vEbTROihG`NwZz*HwkN#J#0+0>|G} zS?X4GM8feyM_W2-qrQRqCh8T`tEkseZ=k-7dK1*9)_H3O^&QlAQSYMeqP~avKI(nc z2cUwkK0^H%^$F^ysGpgQp;Uf!w5_9E9o3cN3F`bzn1E5a@o5@2(jvh1Y#ru5SHeBb znOWz-I)uWAgYj05X_%K5E9ED2Jm@&+_|WmAvw%(jogg|PbfW0Q&`F?^L}wA5C3I5g zte}%dCxgx^I$5y4&$&YfFXUHpYlQ5;tph zSihgx*r|;%4ftnv7Hn+K#?EYPYIX=!9auJl>;!D=Lflnx8Mr4lc4%Wm8|&NHmW_2S zJ6v3XOMSQlxcqwvcLa9~_ZTjjxCz`-xaV*$;9kPLhI<2-)0*z!lKf)ae1tm{l6SGD zjkRoSU}IyO__VPd8~%d(Puw+eGd9MQ_|?YtZN_8vPAv6%?z+tcY-Yji@#HV%XwFh4 zd*sLwT~Hp-e?*^6e{bkBh<~8}2|Chq)^Ps^9DP2R!(bi*HfR0XjAJwNa^$fYGLKib z&^CmK3oV%ti`%k=t}X1?0$H|GnY3j>s_w)VdbZH8gxnhpzZ1vV0&)X`4<1;3dalT^mW~*1WdSR|!~Cuw{9WsiUCWK}+IFgwGHh)vU;ZQHY!ovzsPC7I*A;J9*7 zGRHnTq?RVi(KcbCAMfxJRBuTzB!A(fEy18BcMx_E_JWhviR&gi65SCFMx;MXkrgOm zy#p-o7=oNzoZMH|=1_Z=+9UAQm8wTadpdHJhTG1kvm2bZw(tQ__cX7SF_yN|Vbta-F|jrvsB z_30Kccd4Np35HEDWFl{fKMO^bTf7e|tQ&Dz2z*(GDK{ra(=a5V-jpu1jh}+33k{!Z za@PbS%JzIV?`PIc!p6Zk-==)~&+?zATd+vlF(l8|$4Dcf)2vmVn6-vEO@{?b?Hk9X#68 z1Nkc1vo>gu#RNiP-F#$cKr1X{M-@kt|kZ zkx&4E3xX2IxSAN`s?1YpbO7dZm?+R$RDPypE;3t+iymftpz}kUT!%U8RX73yWKiJYc zVLH7lGx{fAiRV%?Wz7(3_@`Sjta-6U==DMWTvA^^6AUlMV@-5{Lhct`Ae2W7mk;sJ zi|<{0U*dZe-;ajx3>{GaKsln{zw!sx5q7)9pMd!r{$DK2iSJYCRusOMU{Zo{3C5H# zPVz`NdNr6Z!MG-g+8rXifH1G~fhI?qJW!%W!6o>Agd)snPojGgr5epu5}Hv0L0?+D zQ1)9b)+O_1l0PQ-EsIP%n2q$X>}rvh<&_qRAk|Fz!KC@|{^-_{WIiPGC7E~KO6pb$ zYksWp%30K{xNcFD^(h%XPXlYbgqEdB6oNoO&Tv-C=uCT0QsqZPisVHpx+oV=CKy6= z;!O%!vvDHTh*TGZO|R9kj>bxhHa0<5iBwLjZ5AI>t!G#3eCEbLF7T)EpeOTHpJbw zv41ubw}cIk{ATac>~US+*-Xq9_HE%nE~(sRKMp0_Pqz9Xm)s%qGV96Am3wy9%;cV` ze#%W(<%yj8vpjKP9l3atFIV=&19s?~buh;^UQ(!UGWRYtj+>{h`^~V^mU2q(im;L2 z8HqDC1O)sm%Bf`JM`)bO@nJNITo{O-tooyI*j+mm0?`Y+iJ&VtlQ-oovjrX*>cXD+ z+X+9#PmSf5_`^!8{P4H<{o)U5_+9)FVJECVAb$w(o1rCRkW{9t$z$<{H2ezc$-}%j zneC^9(|CjHn!J=?Ml)MNe{Z6W8RFzK2@lP8kj&2c7e9+>f z7N2!%RX72s_a&=7VJ%FQb#-31Hl$FHRli{$&8k;c9Ye5pD{t0!WOYura=JxmZXatw ztdVp1&|O}`pSo4ht)gyi>eiZYBw3jV-kz}c!JU^v)o^r<>laGaT}OMQ0)N!yD^{ey z*D9+^DzK!)NeYDfiiXoV*ls`}Q+X3*rkeL)s~x*A$ZS&aKDw1Euly_P4M=sxZ1A#A zNtKWkulB64%dEPjBQmP|mx=DJ^#)NVuy&)POC2$-{bw3KQe6{@rK=g?G_lcxutUwu zK8ttL_^@6snVj_!T6vOI(RyQ+R7GoDTARW|qO~Edvb307wQcNCc+Iy8(yCZ**m|k6 zdJ(r{y;193ME%a}EJ~{+?!Mt{S=SYJM_gu-A7+P84+G_!94(lgWpTUWGJAZn)PL^X z+6-@fwJb^FluWju1uI*^=;wM7LLr| z(sG9ExP>uOuRU{0tl-_Y3by)ctIxJY%@5IllHAuUg&Fr%bNMXyb$gJtq?w5Ga9+vV zwH`QWAmONPshU_Kj9!ZC#72qzF;M0g3|6vE30 zuOQ5YvkFdOrdohde{zQKI>LE`qr&lpoHCgq%FQkP#6$y{*)h=t&FpH1w897CpNM}U z{*Cw#;=f4Dfz$mG4ia7@$ai$Gd}_#DX1K|dyk^?-WfqfKeA6QHfe$1I?C*h-HI|th zjIn%-pK()v&q&!&x?kCf3-# z@vU2R-P*=l7;6!%MX|SgfO5MY)0UHp)$uTPU|t-a&a6bYCg626R#0NBIEd zKFR}>k5C?>JVJSl@-fOMC{Iv61zU!RG#1*j%93*n<(hDCGnIs8WgY7k*+OUAde@{?vtF)Q;-cT!V=-8@@p;RoJTy{H|M*U@~4Yw4^!8+Hf;9}W13j* zSohnUckMwA7u+H~%=Ip=4sq3&R|nT8xIV?r9*_{T$aT{S>z&`%4$qjnLD*Xzmctu;RuyNM+&@p&#iY; zNAFTCqY)I!9laYi?lT;*%{e1%g7cQm4hvgCy9XE_o58I)=cEj3w;J;5wS=SR@bZ(@Yz*&#c%{wp{wqq zx+%j6ATDv63nf8NCC2hCRldPbv+<}Sf-PTCt(YyQXANm>ORFiZmi02qRIRseZ5`?fh4;UIRXnEE%=ALL-jtmg=kxS%oD zYaD$hB;;bkD2jGG`ruPqZ!ikOD7w#g3MtOUp>C9PqpV0&*{JD8T{jwvF8@04*tLNj z!R8I4ZHlHUny^VAw6R9kH4@OshDJ6G6qpDS+Fa1)tw9?)2ff*tVj~mVTvZ;x36{YK=%%H51T^AB!gT%)xCo50V8Eh z`r4#%UZoi|I3iRsHlObDDf*}BB`zVmI6uSGi|RisD)ch`XqJ@{2$=&ZElFwBxIrl`3l?px`N!{ig^W>H zFumy&D(JMC;lBVUXbMcE`y&|98l?sPPUCYyr(@ie%Qd;&lFI{L*=A2l{rJF9B(_X) zlTQ!$w8#Ur;l>gMJi`m_)AA3&Q+jo3ATse^vj2+xQ})k{ugJkI<145?L_WBi0-yYv ze!<^81n-F{%1DygbB8d7n$Cf#^!vBCh^ixM zKN!SeWX??b(WGBZ;n%<&9knEe@-kSuM+Qk2AP_P`Mp22yCo`r@m#jU)2A8?uQfszFmlnS5-jAVB)28l}c5H5_W3m}*2kI1JSRI?G4m0SSi3JK{MJPggu=+G=SF z*Ts>xjuk_o9$P%;;<+FM*)&?Fjmml|VIYSvokFF#FzuRYgI$?P7$Ee{cpPK@5OQ-)fhh3GZBtw`HYnLc>Y+L)QE!)e z7WMWd2~`-lxO?g$V*)hqj&T55K&#dz*_LEgk_VEkX?I7G;H-**YP6T4QIC4qOwn5X zpk9VXu4HC3no4F)7&jPAOcxh2TC}J;Ml`yh5jw43l3CDbETw>PV^Z=NH%_yHakr%8 zr5WHy&bU~^@pwc^ekrX<$s?t8$-uq?R%|!YC`+R**z9i6(>xRGcMbG3EA-H&hZa3F z%q9FczUTpr>!)6Q(DQ(vFX*{1Jv0sf3@kW$Xdtf9JN!3(1$)OZCqti%_5~ebbc(+g zGHJ^+X<#591LuhX0hi>HM#79yFC;5f=Ulxa3&3M0o`Go}oA!|)&dIaOK$5GM z(5v~!5>DQ z9n!2Mr44C-k42pbHDE?MS-tv{-io<-mcf!tErR+2X4*k)=n01P7JyR>#6{PvBeiFn zW9zgDu^-q8=*Lh%-J8t$90Rd~ z`HN2mNn)*-e_FdQPC`fbZ6LQpPeZJFmg#L> z1}iek(eke@V}rgn|F&%0UeZ5ncYG;-24?cXUGim(ugbv;2Xl-p24q+u03w*>Ab=kp z#Qg$8P#4=`NR(qy1D|cE`;g!e16eWU7|6Q0S?@AL%dr$8`*{6|*3oeo()u;6gYg>^ zyo;e~ULVl*Y4e9IzuBy^ zwML;8w${z&F6t3p^G}+8<|>{$W?0r^rsJP1|Ao;fJ#A{~x+kRu3$4ln2sSJS0pp1QK56>t<-jZ<3L)ykehq~@T` z1Hg>ADW(jn*J{mFK^u;!ab>Ci&*)j-Qe$eWpf4UwHDlVq1E}mKWG_(z74Cu>*W!6H zRlKXJsUA>cKn--1uEc{a>Dp9L435QfM-6}qEclSjp)-yj&9&9lR!=cx>bW=764~oy z1Ds!w?IC-GY#*Ken)aA%0N_8ey=1SN_DI6O?F|VxC0v#8AvJ(W078BwTvi*)W?RBF zvNufok`8BN`%N!EJ)n!Kakh-JE#V_cUI?W7y^5er?$snYp<}YYF|n~Dew(L>cNO^FQfqkG9=9OA^d9!_0$vH4$Syj8n&D) z)58%xK+beb4=9}f1R2W5zh(y0u(5PttbwGDk#r8}d1^3hi1_2@iJYM(y`;B*pnZm+ zLbL@3tLFAapj#Ui1ukc|m-L+{U%{-qW*s!9O_&@B`Pd4v6*jRBA?Z5-hT+I0LBb!C zh1*j?YG-YYtP{f6MRu98OFU@v;K&pY4WiS~EvGQK+&Sk^$sTbH)F^Jja~@N6)$B+4bZ+*y%zm7KkS*KnL-c}cd`5?$9PfAl9DYxS z4_Zl!=fhM1yg{D7YilT;PYFYYaijLWApE`8rXJ4NOMy)K`HJ2)Xc-P3Fk;2FvY>x? z7PksR4|G3$MFV>ce^~ty^+y$>e8EG-$lLnVAe}jeiVp+`nvCbV(bWwMU|uM+UK>N* zz)$lW1LJ|M!Q~jZg?n0mG-&9AVr<1ZcEHvah48f|DYQYM2th%**)^Me3T+eAo*_WQ zwAnnPP=XP#9?5AWuaTl6JZtluLP19GdZeV0EXBPP+GJFA@ePXmIXC3ofZ`E~hbayk z!KHYd;&{Owif|o@gy#BWb;!CP%OR_4k~Y`24EFjYPQo5peXgM@JSSwL?SaMt7h&t3!?ifq!d#1z zg~HP%Op%;En*9W2L0n%milD5APw&ir*1*{O^qx9Ie@lOj&T3FV?iWXM2;N??*pJyI)>F|RG`0D@Y@QVkwDIU=w8mvz|aOm)x2WLDu zr^8nsoD!OqhrbMtw35{d=){6nids3)%AsOpuTs_ufKyE?b*(hD($Y#>E4Zdkw34C2 zcRB=9_eqB@+M1Xu@F#je&*H@b{$PqN@uHLdDjo;}M%o%{3%Ki2F?s3*?ffO)6>2}YUY8TZ$ zQ2S7AEYwxCYiif2XG?NMy%R~IZ+lI>W8;8No>TACIH&|~jk8NOc;*iE972>#H>=&8 zcJtaTXt$_cAi6{CmK4V0$r}OxU{@py!2Cv|56OBZi;n-h0f95Zdh4UnryyN=FxA1O z4z6@C)4|-hm}fty*_n<5I^NK6P{*56!t%Q#unZlC=ypoCm(oCecTTqxy1gm`PYN{>sU!xx}dW4?WMMQ=;d&&bvAXI4{%lHN9<`>n^M|)U(PERK&{a-&X&Q z`jhIn)DP}xPyGpw;EGGKWf}0*A&adP$H4ocb$h8BSGqCNjk!k38mTJWk3pM&W3d3< zu;T6N#*EdoG22(a$|~baczgJ5!aGjv$zIk zX3VucuBEuP&9#IgP%p8qi5=bRYGRAgXUqmDyH42+uI-!slJ0eM?@afgoayOaU-vF_ z4;LeH!^gTe(SlzKSW&^lybv;f2LlF4UIZTkEHu=DPYY{W2xwtL3qdVxY9XYBuofa( z06o&@!HAFoj7C6pAYPC#sKO?S8Oh42R&1>}TEW$HE(lq(!BOM2{!veTUe+YYBv=F$Tk-0M@eEcdXnUWcIygn zc0@dnz6F8i-KuuMS~RrVQVgTPl0AzGB}TKZly(KSv;*J-L>kS^_+6*i&@be~D<>YE z4$SOVIu+?urMISYum|e`RP%l(KppS*dVNKoQ5ls5;_z`_Z?6>5EwMW1CI;<*T82;G z7*^!o4G9k<>`E4r<{KIM%@VeftS(=(|6V;FM(DQhlzb)Qa|rfLe$eLo>PPnzT~U-L z6^?-+1Z@b~`N<%a80O?Lo6((*L8r9f7%1gujybwOzq%-U^|b+r{Zd*tCgNs z`dYcr%0Mx%R2gYytd%Jb7CZp(23r0gIL~`yf^g)V}x8y9axygO71i8n+xTKqrM z_%&4^_G|G%By+1Rs6+3y1rY)SqEF)86z{fp6Q=zw;RV4G(?xUnt|pA17Krq2XlTwh(PL%2$@7Z z5OILeK-Z88OpJpU0jNedAW7<4h3BIGzpCI0S3^S8k9V~Q!?%ur)9(3@igC`pO(CosvAnSU@1$TESrG4XqDZ-jO zk`lQ3w2s44f>p?k8Go7a2i;yv!!^Afx`os4tsu9tG1RH6Q``bSkLh+HCw@8c(L+a0 zV4+Z_=UeGC=q*fd5$QDP{Xu#`>21ouFR&55arCBRZr|xMrf?0t{h+T+`X18vh*uJ{ zdQYpkvd)a}-1s_-C?A9b1)Kk^gR!rwKW~s^9Xn&R-hi3c-wlGQ5ps>t>ex90cE%tB z`_hd^-FQ+&hK2UcCW!YNvpJ(so1gCkBj=3L z81-@-7Z*xwTs}9PTTnb}Vs{kJQ5?L@ohCAx$Z8^|iM%EXWIY)S)>$uHLxBt;eawrZ%&@!SR1P=Mc&b;C920d5F`fvD!P zyOd24W)}vrJuCTq%j@J~2Ja{LB zJ`b?00W7`n;F*yAJowbgC6&OuJ!)ZByeUGIThm9)bt;9$Yf&>mO)oWui`76-f^?>C61mg+4nRdH0_R|>7JTJzr zNU0zQ6`c*Fl#|9p8kaP4%@~G$cXASx#+5XtI-Sr%S1>Ssd1WrqxJ0qGK@aCTThi&2 z-lEbA(fgwe*Y)O1&^h{y3!H4f$Lz=S$0Pk?0@2fa)r}WLE*n}rp+gFl%;qhHupk!= zI);&+M*14L(8xgH2OAkNcoL8#Iq-hZoO@)9K;|Ay>_rnrO&n7EP!lDS#8(Vl4K3C? zS&(3Ta1Ee(p?i0_cdvU7W*n+Ph(M#YDb%D8uC*qk+700mKqj

    -chihkC>ros}|JA)m-FwnK@U$a-)@7tt_;1rOijjE#d;dV~4_#2@N=jWeOXPr!R}_eqrTrbmj?aK zKJ<_u)DKbLBatQQy@-X^@rvaUE2uF0>RxEq)$UNcBkhj0JJBwL>sQ*vW-%8FYucu9 zaDQr?A&sjvJ|x6vAj)=Jr11`oW2SdV;|h&4{{f|pH%+f$diYVE#z`9247#h>dB+Dd z4%0YcdTE1}DDnuh_~{mnqcq+Z0NU|}z?1+DI6&gwF^$s#cs#~)Ey?13oW>D@F!Av= zjV&4%Xk4c8E{%hd%}F*(WBiH$jYE=+N)|(@Z#qCr|Ig6X?3wn!5FG6p)KQPy>xgH5PmbY!`Md@uzdbqQt*K>iQ zrk4Hi=>(s>l zD1K_zXZ~p#Lqp$O8&TFVh`vQ>mOZ2FIi-A*#hwUMoHkI%XSgy8Xh zweqLcC9N)Nbw#Tlt$MZU*Xo*9*R>jCH>8-&ao5~RfKiwax;o7le&wH?s*hPH#+M#T!`45+qijzACI zn4_FTLK4A7a4!*TG}mMUhhz1AQ5$>2CLvC!zav(d`bk0z5b}WfDY2qrVOic13zF0u z?cQp4q1}6h&1UyeyHCcsCAdBUsDL>fV-agg$)<6e`dG)X075_TLF2k0@YnSzq^eMs zcJFBRA|)J&UJQ!L9?hQV;Z90NQaY9_mYRV96*&W{#5(h&SQtxfDV<2^RIze4-s$#F z8gDwi*6EG8#QN|=4_E>ApBa_Ns6A|rQ^`^hq)dbsKR`6j96G-OZ{MMN`%nxfR|$< zj!h}BN&yeYt{8&7fKP)f3^|t7Wy>-DI{stxuiM*atH;)WLg@c~nb0a*6SmIGzlQIH z3E}E+87z9}jKPP8aK~ZmTqBPffePhWBQF|x)ySJh-c88M7Pxot`F#_Qnz-M9($C`- zZ2X0ZM>r2MziZ+foDXmwKk{&Xh4Z+kdWw|W#F-|}6*0ScALlnTaZ0HOrNWfjq*Rn^ z3uCQt?UHM^##%NIB-HLW@8uebP{7(5rGi|$<{GNhdrGZSYK>9>O?x!$)wEC3eoe1w zdR^0aa6{8Ug-=WEhEgH6s|?@Q?0~Wt23E{Ah@%DDCAI-^=ad~1X4dRHqY|_{26?++ zMKH)_1KHLM9FlDSR7VRPEu3lLTnk+-^t8~|!i5$FT5z=ht`f%|nthP%AB0n@_(r88 zcJ~=wzY-8EN}f|wd}kK`6;L+E?zSlc$2KWDW*0~mmo_fsIF*j6?CxlF zQ!%+#4Qn-`)u>iuT8%5Fx~kh+O|ZMgE^hZsZO7DrIbBoBnHuWiE;Y~05iZOQHT%>& zH8mhcaG|&2y%6t&nmuYBiFYX8OKLi%mNm7cc>Cf7i`Wy`>!Ca8U5NLFnr(ucAN)z$ zVQojW9o2SB+i`7gX?sW8No`x&-qUtk+W@X3@d8GIk40eOfjK&mNM0fZb5xN?Mj~LP zP|CeY1lSU50xs}vi2y5Zll@9Ih}mcA7tK+T>_@Vn%u!V$mP8T~*^vmaYh5A$nV%Ag zOQa|f&{=?#`w~e@Bq@+6*l%jTtNo!i6eC}1f2$3FJ=F4lVim;7Qy>2_1{v-a7MZMA zIpf?5G>82H_0wYEAC{e6u`<+$qYDn$qdvM1&)R*_?yGj+wF^e;Q@bF$zP0@TutXEY^? zb*v^?Jbo(KmS8V{d=yD-Se)H}x*O^S)!kGq+HP3gh+@GXpGg+K2#0kfdu-f^ai>xm z7-n>q`b%NIGx(8HsgK#c=U&KW(U|MF?(YxHJGr%%sc(m@wytn-P^r#ios&bf4Y zW?nVdP>~I!XGt$*u4m>Nd01cc{viWElr6pK%V1juJM?J@q??~f8G=-43TDQ~W4)cr zcq$lHn!rbQs*A8pU)h8CpbrZ8O~}vS!9rb%4>=#CRGjl6&ST|yF&KoYp*)Xi8cPsL zT2$6A=3tfGB9%Jq7Q}m})udJ}t)|5LU~1SyGuqCI_nz!;!U^mwtFuJ?vVc+V!FV;&Qpp%WJ&sH}FsJ z6c{rL{%2kKVNYH?euZNm0t;f-#s|UJoP#IEcftM_vwFjj^{#&zgkySa3aqIgy|+bhBgcu>yQqDw~yU3EFjj#}>T(MS*p* z{>%9o*WNjghB8>hH_q=6Obp^9Me1wql~UW3+A^3_s(olW%r*#zE4EL#23CJU*-N&M z**@hOcnMo!x@EVufVK31-4eTHb^()sh-&QC*#&?BZh2)Fwe~sN4wcT>ZL)i)kSTf} z#S8u%-O?9oj;J|c7YpMXHC<{B*==h(r|rCWo+WZ9k&;Ae5-F4YBax~(YKzs72o|?G zHBsdLnj=*4@8bOs>rkwcSXJudrw!x05TxK%O{}{1JPN&Qb|6`FYDSX9ig9InmjtdT9~q?R z{hQu_sJCR)lJTWXY?VDpwO<2$NPUS? zJ6!wY+7H*4`EZHtbIJn!b{YHw#+Gf6gdm!(HH`}d8()vzV|Gue)MxjEniEs2i1%B( zKca(Pe8_Xj zUYp)RvR9Iw2|_I$RHJcqQC6dV{1If(zon#fFQ8URceKEV9Fk^OkX+V8c{`;CEK`R9 z^SWm=>0E&b8CCXhTgF#1z2G3EwrG<*aqNu(0TWm@fh7~bXZvDMfCN1n1X_DG|AZEA z6avIT)7CYihzV_*&=!MG4UJ4FZbDH;NPTFmp@|7WP4PqVOU`FGpW%Ft^Lfq}IDf$T zLlfWUe34QqV@0{{<+_g%5uVyJ);8BSx$fsWoB{9^09oyFeVywYTn8xH(libLIe$l( z-GCdm-DmrPLFQx^l)cr$gzF&3rc}CMRK%qLmBv(ZsWhR|kV+$VZ9-B*bx*5lt?p|T zyw)`}Zv;c}&6%m8Qn;li@B`SbD{bRSJfr5N_*TW|5#N%jHN>}UYIX6gXuF_o?BH#Q z9MiwA(w4}PAn^CdA!mggFF9cB=j1F)*KqEwnN?ChS4&nFn=E?r6FTq0+JQgmgBgI$FuM(kaKkZOM@Y^CEfO^i4X zAetaV-=;EV|C?=>QKyu^g3hS4pwcy!=2W^d2k3)O*#*)A@%TVZ@RJK_-U)1-peS}g z&2`MtnM8UL=}V-mQ1$nl29c50xmb=^9mQc|AQN=op2WiL|4OJkvM++fE3~1}gD$<$ z93wE;p#S8gX09PT{-IB3jL}3s;oyb(8|p`S(x*U(0znFFnh?6Zf978o_=`dlPAzM6 zNu#S8^=cH#v2TS-w)M-_52sLod}`D~$ji%DO+0VnITOc8UZ?n+^G(h-IA3E7jV8vL zm}mlP&LyRCT#s=*PAOP_;FL~idPmbqO7xlm_aoq#$U>IBu`b_@}%|6-x!Txvl!}u5dnlDBt#dl7CC_$`~kWViddDg)Z0lfq- z$#+IRhl4ldgE_+u!!J5`uYT0dpoWgskCXP+cqbg3a`1|LJw`}3yxCJePI*jdk9;<# zyc`dje2?RKfbw12-4w=dm6Fxy?0k!}%WPv9sK>{lKW>;?ESnr}zUS z4>W}}bB|I*u2;F9GZ^(k{&l^{brip#&JMW_ocwCg-A>iGe#-R**Ky~VQU_Fe<$9Xy zIHscMtfmW^KG5``rc0VGYZ?#YH4BVL&D5Cdb*^W*e#G^CuA`a;GDJx`QJ9{k%3MF7 z_<~YZLM~?tzr9VVHrI>n&e+9T@oQiLpYu`9?Ib`pw>6GArzcz;aUqfTEK?8(89eI z9!(~|&I$wV7aqhH6(5>tcrGZxA9GNk(ziLNnS(r)SJ=hk|78v;R9>a>k~sj~_fDl> zb6}Z+DwRIiePkCq#T&bKRQhBW`vs8dn99rM0KoW0F}7cAC}x?fZLJ|0Q1%oiX z1A5z)Ud~)YS9U19l3;e}{Z|HQ`rMU?LtppwjoR?XfKkT;IzsJX-Cwu4?r626nDA}e z>;fAk1mR^aoH{;r2KO+);63`;U{8hpf9Bt!{ma1z3RoPEYA{TpCr$zDmK9;jC=gOx zoCmVSZobgO9oNsee$K#qum!H3n;IyrA;GJ*jni+>903G^kh!Ejns);Ql?oxy9P@gw zv_OBSA!QUnAwpF?YV#T})g!~5J7p|@8z4sOwveqr~ET@;~j)LIcAxIyrN-wcCLUq*ac zK{lfMNo7B^R;dNRoEKj~B0v;H@g1mxOX)=-;KxQ1LC+K%8oHb~IVWOWNzN}hAN8lE z_bxfFx&?KMQV!DinZ`KfHl?{wb3ZL&w20FJ&^IkGf*v<%j$$VxXj?yg>GVTqTRMX& z+@-<~wsR%DGQDGB5ghd%eeTm|S|O~OrUi*hm&f$eQV+I5R4xqzbp(JJAlbjY2@)o3 zD7TznaQ2t$F4qTKA8NWqGa=_^U z@Xr)NuknlI)+LA2ew!Y?r3dqbG_}0c0;_*0&7AbAGT4`4lD-hs3qzzw<9lF)2nXLd z_)0+UfrtrgnSUGl7RRyoZF35uj#tKBkb+q8&4i9jsLiPZ#vYU^QT)rq&rBS9;uFPD z{9@y~*97*mPfa{%;)zlxT%U4%V&dlp;}2HLSZ#wwQvH%J9S@+UELRFpM)y$4H?QoNe{o32acFb!gFOve@v^6`%lEqc zpv!mcL0}M4??24y53em7ggCExcx{E(R(Z{<$b*25l4nyrA@zjS1G|QA=}7#8`5>K~~ei_fPCq)Z@T0y`#Q$udpI?u@Ur;_M9(2o^R6UvaD;K<+|K`F9ZJ{Ui$@y0kcWDdc&;xUgg56E19X!{S1mQ&_c7?+<8e z$;7d$zjI-gw!&Npabb%Kn_O6ZB{(}oX+KLd2GMp$oF)rXR(4K#^wM<+1?>cSa z;2>>zxsl*PlA$in|1d^K5|G%vYT`{3@0!5c@~w#sePj{AdXIXbvb;qMSUfuEO zj$e1ybZ1?60=l!IJ3&R({7y)B!nzaDov7}_bSJJmTZ9ib|4UnbE_gKY#f2b4*t~;3 z+(W5TgAuLNoKo1QMwGgx6p--Ppi5Z);`$Re0$c}HN8@ZjDKHo_u77j=lTsIyx}y{d zglmKLqJ?#@W6%vu;SLtVIXA%80(j$P!6W@}16mB(@M7VZ6-xEE0fy?8 zVPji=;l?sIA`D~j)Rc!&9tL@cZlJ@BRj%JN+-}QYw4S*E3hSL4;I$UqST`1ai%U3# z5Xsco;bDMMmplwnYRHW^53x{$xqi!a(2w8r@3aKWc;rTm8z2gfHGQgSkj5QNpKH3S z>7J(hn!eEVK+~?Ku~m&VjbdS{>6xbIng&a`(Dc2gA2j`_=_gIUX!=#tZ<>DBGzjWX zO@C?nThl)Z;|L7M4>t%`L}N+QBTb)Z`cBi&CX;6;&JHRFY=0I5vgYCj=88_4opY1P zm`si^0P9>(&N7*Vfrqn`WoJye7&~otP6_j~PQ_$)Oa{;0W+!jp+?Xj+E^9J%$~6tV z95Is%5mav9WMU>0VP|SG`;0vzS0aq%=5{ETW@m?;V|JSCWZ1c)9Nt5coe2Z0=UVLG z?cr_gQm#xG@6F+N9kPRU*kz~3PKh0xa!HfHQyhYuM=nFTDCH{b;FoS0_~|({f-49d zLL5A?BOsh1XUgreQ()(W9lY}qJD2R78F=&N3WSMZXNw)YG2E%M(`5&()n_fdYT-=_ z?^^iK!lxF#wD7G3i1vTA@TbKkEiP+uMT@Ii^k~tmMV}V^T3plOx)uXk+|c5t7DHML zYY|sy&1CQ<_qYLS2=6>$4shDIR4(!`#zRzCRdX=rp=}Oq9v02P84q`9^zM|sGOnlwnPCQLR7}-eaOQy z534+E@DRTm-~lLNsMV2H$65tLJJaf1VcJkdxp%A8g~HIFdau<7tv+h?NinToebMTx zR^PPxq18{VerfebtG`gC9%;5%s^!u~(v-=6FpIAmtpJV^Ga6)Y_3K2+Sjiq71jmsYw*?(~)Sy9B-1- zljyoR`jBW+a(Dv)iJqF{s6=xT-4bl{PFfw@X4JuNtdP?p2hZJ*DE`KTMAH%lvOSb& zS)w?R@Xk*pdM43xbrS0AsFPI3QYWR(uKug$a_Z#ODX3Fcr>0I_orXG1#hK}})j|L0 zSe+AfY;_!Uz=WTvgO}>+zxN5w0U`uIXiK6UfdREMC8r_Lutf1EmlTsPQT%~pa_|NY z#CkIw%XHBFzmpvF10SYSGMEH(0JBk}fkt?iR6tS?h2EP^#lUvk`Zk>+T`Y<9BdHZh z#i;*B7aoBg=3<%p5R{^U_(y$k^?2^8fcNX;DQG4x=wiimvI5ym|J`7+yZ=ZRIKV^w zH?bbXdX-#KtQ)azB?al!ujw30YEvvQ{O?kRp6XFj%aXz$QW5J@QcIG876M;i-N4`i z*C|3y`#5+ZDW9bLlG+gP06j~4DMeekx2L_d_A=VbYA>g~y!Hy(D=M5fdWYI8YpidNh&C*ZLwaoSJK|T_V8UmPt~Q#hUBWIzbd&JO_ojHLl<6}galjF z#6#mh!R7*yBp8p$HcfEm;1&$efq{Y`0QFwhcXi=5y# zE9DqXwrH|$`fHLqq{#|R{4@chl9ybB=4k?T1I5l9MV3YLZR7qL&;oPR?+GdINV!P! z6wSAc`$KauLOCge55eOHG*3zyuYV%twv=~i9;5l5ltCYXBtgB8`#2c&G7bRCgoA5R zu1NEc=5d^NooMoY>iDWkrFDM4GuxINJ^zB^mTj*j8zh@skZ z9rqMtiDT$S20C_iJk;?>p`92{bUfAZrH-$3Jk#-9%1vor2-01f4O(Pqf%h|{MV1x? zgYOq=rNx24=d(cI%bzp{v`9&_EzOodh`318qA1O}nV>U!MGMeh=-C}h6Rm`K zPXF|BNiUc6az!s!_0pr4UcL0`rC%@C^m1J<1A4h3O?-NIHCIl?X1+y_XvAO2$$%bL z&DDmvT9=bEbG1p2%Ytx?M~|FL%@s(DGClg_1T#Lz^a$>5BqxrXoXUx7u7dQqLXT_o zi07Wj3Eo~)P9S1=qsJvVfzJcv!9#^#{mjx?N@vgdZ+YOke(wwSWMIf1`cmo!BjX#!r^;>iSK`%qdWaa4j?}Jnm$(OW0^jdWRRhc zRT<=Da3F)c3<@$R%OET8Lix<;jjK09y&21(C@@a>glEMmeP(5JEW@-6(V*Ye+a0}y zm}j59w&-hHU^O{%WMs>zBcl_&ZOf=+7GDC|_Up+k24?Z2w}>!U(D#A4+mcB~CTH}6 z)a(p>U&_>#=^Ont>1R)-DAlLtUrAo(I117RZEe$5-25XO-?)%9pac<5hM~3sNWw8U z(CI({vZwpYy1%0PtCRznZxak~oEvto*_l(h$wMHhHVBi-LMKiIl z4sHkJ+zP@9J2goqwb#}jgcHYt_cPfueXNQt(~n5*h$bMhT`AjAh9>_{%D80aw7_Y9 zEj2Ga;u4tAV}Kse2fUV(IlW+PdDYzQ5bX5V)(kAlH(|DXss1a4Q59U00$?zzCXg`! z@D&vbfV-$OMxx>k4en_Wq(n}Gc?}jcm^Fbcg~1rl2riCcu&-AX4pKPEsY~;(DRyl_ zcNE^_)B}arICVpa5fA$rg>5)QVU+ObmrW=f;M7#3U?FZ9rEYkgQ}?u$FyNO8#s4X~ zvZZ92C3tbVx-RP(+*w>u7(^LFVL;h;nLz=80cBN`4|kva#s~)fbsa zjgc>Bbn!yN7dN^lb59o&x|q|&EJcw}Ltyhs=7ug7bkWj9BxnmVkE=u~=eqZ#n@ipNN0?5SI+0XRQXxqhk_t=eR8kR1AsJkA28$WL z3p{p(GPjgLzSE@4y}I5YETQzT?t|y-s`NW$9F<<_-dgu2y7y0AZ&C({(p2}BgfT$9 zAIh{TgGA|D_wlnJ{qW*n-J4Se=>xXOtM21Rkp9ec?^E}_bnk^Spj8)?L3;8g`2&Gx zNIoF>W66V9_)wR4HzelIs&K%bB$aEbaHtA?_Cyrq1m!M!PT2#-wZa}ehy)}~<)$i} zsDh6@m+Zl7ZrKxM&oO&0sJT#ueFZs985v58%4I4$RJPdz7WYo20qLt$Mo!UI1-w<7 zJpuOM_gd^ZV^4}bCVP%_@0~qi_8^O?tHK_YOH%og%C}Vhq`D#1O{s24bw{cmsd}aA zlPdnOAbYOZb1v0Ah6xPX(3&r*mLlk&n*US{wJ;#Ug z@eiNORV~UVkE#}DOq9UIYCe;_LCsf=;>Q8e5ku0{{Nj@r4sKHOjWIg_Dv^_wsv#Lc zV43m>ATbc~TGf(#^36dcCP*UQ`DDN+c!y^`!Ruf7TzI(FB9Gf;2RWkMUaBW$GMrw9L`C zvfCUjQO8f6BaYS-1fNmB-7D$@6*^gkUSY_3p!7$;~9;MeEOBV)SF*y2o^ zGf$jxIRhLu!xdOT8(kZ(=7{zA(mu0ykjuIeQ%4;eE}mOxf$ zq?)Nm^h`agM?*aV7QWK*gzNb2pIl$5N8JCUe#>|+;{~nLYO+=n6mZ+LzE%?$T|%pTPwN|o-@+R3Cd>Ee!1`i1Fs!rezBGygdi&T_vrX<6=)*@J9yQyhj|2MHqfblC{^%26DXV51 z+`FXDH1{m-CApWPPr#}S_pay@-d}C*-*Lag{d?|r88z;~jK1C&W$wWL z#uvUYs@U$mTAZ`nrtfR|zG1h;?j3!jE_}tq1bsiLMVW_vhW*0)m`8rv8|uS7eYmUq zP`12Mz|c_?<5m*6(#4`KmI>pAn?JhwrJKLH365w;Salg!_jh%Fo6!XWA1zOYJz3q~ zA$yDLZL&8xxWmC+>YNhBzrvxSeWBV&<(8ayQ*G?8R~n~jUT4S{>R;^OBErQHGpYs( zgCq_;3Ns)=C`gsbe>D9%WE>MfxxAXep4W#P1Ia|w7I3D ze-uEG`bz^^1kUB8tN{#6k2bvmTcHEgO{&W9ka?mEzd}>FkyeIRTQ(WjWMs*($N(rx zYRl19iwq#xnzkAm4QS{-v&!0PYV@WZq$Prv-DvBUj0~9|@b7fdA@fkfl-N8XGpNr0 zbkWu@D2CV%R>Nk1%mXt0lyJ#J3B!^&Ufj^dmM-3tiE>7g5)*>8S7M|thlEH71ER#E zy2Mv}JJ$A*x^%Ve)3!(3;GCZ*@u2N(ZSQIOK;run$JZl?gXxWGdso}X+TPL7eqeNR z>Ox%y)b+mZALxEiU3)1rqRd!fl2PV~%#g;w`piW4{krefeV^{1=st+qN8JbGI@SGv z?(eJXpza&G4^R=3d|2|Q>KeqdDJkHD5qofggLoXXr>U+_*aISQs0tDGG&qQw{v&%@ z?8&J@N)@825MvMEhozv2Di7EL*idCpp2{wJN(5sr4?swnJq5`dQUz=P+IPs_C)>~P zxwZGm_Hl4e)hZnHs#={<%E5nXdpHPIu*kuE4j!pmfo$xE0NJ}7Jd`RP#Hn{doj9Ws z*TGSU)6-SZw{i=43+&ZCS!Ug+*gAa7d7r8anzE*8eJvhZa8DMWH1J zW24 zMqDb;HLFv0_SrdLC&11TeH_a8nY$J4mKo!3K6Bi=;odd((hT$JuT$>#8IIO2f-S=A zE8`#k{^Oy`qka0x@u)!CYkjz{{5J&WTj(oHpGGHIBrWk{fg7QHqOP%w!@7T}`w_|G z2Ap{>c>u)#2ah>;B2{1{AcVO<8#c~yd5QC)={-KLGXZ?hQT0V$gd3{ z*;JY{K`tB}k&7h_4%Xu6grj4QPC5D{_dUUx>-JR}E3?E&kcvHdfS~I|ARbFXl=aIQ zER`;oy^NWjBT!WxdCJLCo*N!DPSWa3jT17)py4HbpsBegQTqQ`;6?Usy%Qp%t3>&Fzg7~=Nv@XNploe z1Vs0YF!i;Q;pl>c=hOl6f9B{5N0$m5RCL9F3Y}|C?lF2!p?ps6a?-1M295KoccOYh z&TepalQE+wyRFcm0d33@I~0iPTmjI+$>#$)v4NUnqv3`I+c6K5w6#ZD9(@?lIJN>C z>gZb?eW}1E1(MptgU8xD(&mXa50wEvXQHh)^^MBdx7ZGH_hJ zYip{l4>D|RL0#}qTMLcaWuz>TibQG>sY|3Gky{OckTup8R0?2?W@O+rT&d`Zg51}P z>LM!O3ta?pG*J-o7C%%pq9AEAOEfp@;=2D+mrv?)qES9TyftH#fQl6|)E8}EYCEUxn6@+Oa;#u}p7@~z z=z=$GC$(*A`&!%B$f)zaQsPU){4fE%>$|osNhKwfl2lsTSxS6s`%L4CUp{O5T-zya zU+8{OU86kurLM8lKPdC9u5m8k=zc<@{rMW}t){Lm-7hJOo`Fqb=2Jt|hk5JQ8Qm}I zKI*D#!oa3{O!60!k4yei@(IZ&C2t9Q;lSoy=QP}q(5K(Wor3Nsb-$|No9Er23bJ_A z)V`>)$sR1!6?<_9)y5a9?5RSNDqgB=QTdz7f9(07%C;)Bsj{mIef9!#B2|B;@&}di zBfku5*2)f*f2sUV@E$3zrHTL>lxj$-II>TrdM4F#_N>{1y)$Fat5hRY*yDscJ~}A32y(wPy~- zR1G`jnuA4E8*#AA!3$Lzb1=%m8V4^q80X*(2eX9YR4}h*mG zuhM*z=1Q9Xq`8*nyMO@*);V~^!JM)e)TvSjDKH92&(x_aP{GkpWup#NAWU5CAVFTU zi3WsMPWq@*ViOgmck0}-iTcqG1BiA|2EyhAocLpNlT8$`-l&sf6IeaZCaPEe1nzM6 zuG~YHJCgfHfp^yZSnelsKV{RyrkA5%stqiC%SlvlY)+zv^2Et=PWlz3q3($6E7b;a zc;sY+lPBaN`K@s>s@eb{Lj@^s@{E&5oJ5rHaS~blJtsq)Jm#dy$$iEc>xWl)_{Yhx zYIiw#NaF&HOPoDY;FGiaoIO;%q=LwBTvoj+&W2PEDKm2FIAiEo*2~ElXFZ%X7&YZ= zP(e9>IFsFz!G{b!1;%tpwX%LjX*(O>>@jB#7=sdeP_&|XGppPj&HFU(F?48AW7t#wfg&PZ?G6hEF{vxDn#U0XKr`F~XR< zwv2IOpBu=IOzo>2vx5^Y zODpJ#Gqk#32fzkOV^kJQc97DZvxBG7>|DtBRmN{JUa^CxVrufMCVz~^#x;!fkc}Sm z{S(6~4VQJYlF2`Yf0_e&zsX&jyA3siOX@9SeAsj-(-Ffsw+oB2J2l_pUXDJC+{?@C zTxJjuX6fr6_lMkf>FZ3*{}>ukoZ1V>m@yUs2Wy!i=L>98z@k7(88^xRg$wfbTY=*O zQcZ4X8!@Lq6_9uXsvJ-SxH`eXTMjnZ#7b^*64yPUvGi#yEM!Ni4rxnvZCX zve%=GP}@Se?VFYWpI0(j%jBItPUy2lU++9j>76=ldC8w8c%BEYwRx(6+$?a~NCSI1 z1qs}*Lc?J3M}hA$FUgE+xaXNyy0oQ>zk+)G+MGg0%Co~_c$22Xmm;n+Z?4WKnW5;3#QhAid z7PP|RyysqlyKVX`)7Lo<(>zLwXGZ>T z<9uHEvpRGu2U!&Wp>alm3;z*<=5oA60 z5@}1MBayB|9(3wJ88wYzLx9R9zlvh%f|SVV(xEQx>(YUS8H<^fcwFKrizFnTlsNbY zT$CdX>qxVpt~Rw@*S4eWTS^8fxv%Yxwi}c@qU155f!(&X4Yr|AXj-?slDd&pMp9Wx z()BS<&k14ySuA2h4%zRPuCCOJL zj{;v__oo_cwinyMpsYs~p4l6s%DE~4pG4Vv#@+~ffiYrIy^w00y{CfCXpG#liyQta{-pQL^w&2MS`Nb^@fQrR2wA5jJ*0Dv*%;F#<(nJpmPQ7bdrD$czcrD|18GoL> z-3P`XOI*RjV;yR07(*E&iS%?SprV$x2a+mL)+hNYd(X+P6Lzk>#X*3jF?A-?0g}Oo z16)z#Y?-qqT4E!t^x=s<4C;_0aELu9$N>tVB{?W7e~tnLjdKLBJW$l8sRC%|a|BAK zlRG)N7Yq$I<~kK10~unIj0qXYL>3CUM(R+fj>wpj@g$LfL|lnr*Wj-lY;{RBBy}sP zrnZOL2G2H^IF{=|T_e`*Qx=5VD`owZJ*4ch?k_b4Z2(hUw<&w1;r)(LfPK{XY61_^ zd_(fLlE+sk>U$jgr|LT#1Y&<78|MqornT7H zV(*H*C$>jyuh>4Z{bKKneaJz8>UTnLK!ia!>R@>+6_|XCgm$(S3Iv^3WkUltQ_dE3 zfVzQukpjPoy(3tS_vpHUdI~rhVEc^RPjY`$8^;__3d%_!%|NexkPAxfm)t*2-f^-; zF1Fq;CxMn5oOC#e#R+9mpT;8^KdBzDEA|?yIgd0(#iz&FDviek`xJLe+--roOSZz< znsTcOerv9+&?7cqa`}qONt(Yh2HlRZ^{!-;P>+zc+|V+^jW{=eIZbX{&=T7%O{RQI1v@X%QEGTn0a61PGT+>I8K0@?is5yqT7U}DgzBBsJ(1&Q)xg$SzM@5HP z+PqSz=9>u(a1tm}prip&%%n29Iu%p~`06*EIwj*>r%=#elJQTcOr466vC`m#QzshL z>c~W=j&;h=Db)SfWW4B9h|C8vaYoo=-suuh+^sGl(JqqNCKI$aNR^f@A)oyuvoGS#fuoX? z%o98WkP0O;ltkA2kFuzz;|%)H_Ef_hJDXJ34+P|iqZTu>Dn-ghb^l%WzX|6opdg?r z4&Uq*WwG5X%0?)Q^!bmnY2E*%?6u@uk_Ytq(ETsn|J8#H4KwZRIeXKpfJ8V?@C2x2 z2_5L(6nitO@WbAMDtr^h0#*vDxJ{J`RjTTGz}^y7kVogFnviNzs@N&`ksJ2r*?Y}i zyh)iVb*kXVOEC=eZ2aW_Z(~&lQ~gEgMi2gR2!Zj3V8s*sW^_+iYK-n_8;1@~s}7-J z68t55NVdx%Y&rn)k*Z_+9E*LzA#9c}>ikmYA7cS@)`aP_oe$-B*}UN7Bb#87|C9q9 z7-ciTfL@(Xg#w&;#UXr+D+m3a?`%TB2#|vmb;U^#eJ`9GsrEAsH)yy?!vh*ZH@KwX zJ`Fvb?9v!77;^HShKHQ&&~TfRJsNJ&(5t#Z)n3zZM;`v9w;{bv>1|1GTY5X3oYD|H z)dMHToJ68J;bfbJeog{hnKV42@r1M3bk8(ia`uUkG-dB-=%ew1vo?)^tX@?Q8An|~ zKAOembvfIiG42CvjW~;^?rA(F$g#56xqZ$KIE%j)Jo!J);s9-P_K~x8C^5<&(KAe zk)^`@2^8p;dMt7S8y_cHjvK&umU=9x#~dxeg(kUiNz1G}Rpbf1U|DXY*vZohaiB!2 zBCYc5;C_W2h`vya!-Eip)oER&b%XCw1O1?Njn)-4gR5kZK2GT)tY#=^Mi{f(dL`}- zxK~whzvHj zSR{c88DC_8xcktl3!S>ssY?yAIu+Ncq)u7N0NpwzbEwfoY2r*oLUcjqNa78N-%7kG zaa)&Sx&-X^OUZ(^f#?6UgWiOer0yhjuWjJ@AB||A&FaCH9&A%KqX#>B0Chbm`nKdd z?8QdARYizB(o)5?Dw91?brdu+(;U1#;8ul(S>ycDP)S(T$A2C*YDH>pa+(kEiY&P>eRJP<#j4Y z29ioNF#)LD=oC_Ke0pgOt*QA!=0cZ%y)9izP4b^_%jR+H0HTv%j)_`4?G$! zwb_Cm?CZgvh9fSJXSS#Z$9jM&URUzSp?Z=Z5Kvhbam>*JA5|XM+hi}UNT0p8gr-z) zi@go@-V<7eD|b}sD6}KNa@=dP7l<8?fG6y-w@T<)_SV@ukZMM%S*apg;%#f}#j|+Z z9#!xrEym0v2rS{62wE(J!o&-Q{EWFsVB2txK$aOYI27Pen8167f?}VFeI{VbL;D;$ zeFI}7F%4d(PEnxn_RBY0wP<4 zlq#3YTrSaKm!X4tge3hnkuyX+mZcSM+27eYDXAETAk zj#Br4y8CkfC+!VsZwkDoVTwCErD2$ph~EEH@1EfYyy<_X0rrQ3~-UGFRvVKN`C)o+gPDqd|bbA5=BlndH> z(uXGP&Gg}!#?WVfiTp5st7`N@`Vk`fsW2F9*Yoa04(I(<>UYoZH+D@~n%>uy@#YB7t z6#xN4kubX_yhmXW1tp!jqwu~mfa35V&|rnaUX45g!8YN?fXsj5!3 zbqbkLjlw=k`r*;J}71AuVzw-jev8#P22EmUvg<4-yAx{HLLEH&gq&0K@D;h6BANM zHeE>#B{h=NqokfBHI~#wQd3FIw1ZcMwPR}MOgj>aars)`^sT~!QF<%udoRSdEBMXE)qmZVyiYDKDukaPBen0jU}(yo8( zU9uNs0`3DN;agNyKw&*nWkwb3tO=nFsxn~oHA8J>f0O;mp(}!XJp_<>!J%sfi|kN> zLl%e5IF#iqo-#Rf$)UX1rr0sD@iKgk^F9La4Tqu}LLg0YC`TZ;aAezG9EuabdG|XbKBrWL2E}H{E_X=iqcTcH% zOz^TcTQmeu`=dIWocy98N);c1Q53y>=^e1O!DtX3o^cWh+M1J}Gz2V+(h$XqZ_aIS z4s}eB9zJpX;vNW^8nU09{o?E|XAxI_IQv194I1M$s0g%ZfqJw<3p6R@xop$I!|hG= z*kDX*URJnK<_0(r1e{xWYRZ#MOFUkt@h>+jv;;z{s_70pckHy-ak#z3aIi;XPJhB( z+{W|)MSX)Y0dx4Iy#dw-yy%P{7v;=yy~i} zAo=g)0FZ2RreU%dderC>N0)bKLjDf z=$h~`g##2eD11m^$SMGnMij<=`C{*<#=bu3NdzUuI(ygbeP{1Cdx1^|IyKZOS0fYz zk=Q;`_=v(m3Op$^YsUbk{wTJoqHT(8>yk^c4N8LQ`6Uyd6++gXiXuP_B<@OlC}<+X z2$E7;m+p0`qv3m5de9|sm?Mp*m{5UCaDXl)!Dl{DazMy^l5KT`FoJ~lo|51~yOhKW zM(XO6l0)qvjm5_c*mk3x93^||8l(*v8&En9A*sm%Xo0@I(}T1gBsFF$WO1bS+1g}l zo2@Oj0EttSg@6j7#-iZ`Wm|--2PsT3!nrNN2twb6DuUvEQ^hj^IIKKV<%PX}?AugD zXkBVjZAkT&bGw||X5SY3cG$PezHRm*xBaCG5El~FCFg)feB|s9gqr1h1rPsFiNM1^ zq6zgKu(|{02O*^*m_LpQw&goo_}LsX0BSd)931qhxK+7P<3^p$M>Z#HjtKUfuw8AS zg!DwiOSX0y<^aPhn(PqDQkIu34?z++L=6rZWt=TcdiAj7r^zjFs_DVKD6=KyVb|Je^7e%n8H{SbgI3cdO0 z`$$5B&{t??DFLWskw8xZ78FM$^dz{AB|Z_jXTt;%mN-d#ebP=*Bg=y;4klJ$a#I%A z39Q{p^8W?vG0(52ki5*Z;vV{{bN(u z0#`$yk9~gjov`niL$?f@GVlQ4W}&%)B}*M^yQ}IK3QoeI4ngM`LKtr|5*)xPJ0WOw z3^^RS;}9qa1pF)N#t98a-K0Ws6WK>Mp_~gg7u3bq6`}daoU{2RZJ)IL(%xqi*n7zU z58W6I(=@!MVTP?BTSuycl??XaMxmK;2z>rep|#TjoX)XjuoY(OKzfI49kT^wm}e`% zxg*Z))8vpQSP8i9KAL!Gazqn6=%L90=WsjZ9A4>XD@2n3O|WhOs*h=LNQ)y{9MB@b z5EGVN85OxaWM~e{BlU9W(O6@YY)9ZY}tWppWGvdJ22 z$Py&DR0BuvB?2gzS^6-O)pE|Ul7(iN74{~|{ zX6cK4A@&6c61Y&0x+y`IrG=VxNuKU$Rj072O$2{nB>bS4Vrbic(eS_W8PrV+%p8UV zd1})Vi2y*OD<>mu_9-0GDXigliG1i14h5`Iyu(tLUUdnNtaa%{!+9(|lQ<~lg~XpF z{wnd6#POPUfkQit{gVrYsR36w0+3pkB(;>(KS`|xZ=3qiPD48t?SQHN)J|O^K~AkG z`$$=2lvT`1{Q1+N}J=<=lpWsR0e_^+a6GLLT? z0vFZ-Qho%hb5#UKjXPKDi?Z*MeP>kpWnYqg7W=?gf3pu7k~^ukrP`J1gH(}Jx>6lV z^--!%QXNZmBGs8x=j=cQ6}Y)Xfrxo|}Ih+veB?$9ANBB<+B-L(&HN3QPM`+UL@aO52onOxkg2UrIY6 z?WD9VX=A0O1-9*Q%x-6-os)J^pye}vIR^2`2gkOQgQv36jz~Kw7z5NTQnw(O<}<9Q z&VlOSPE~b03OyrMgob4r7HNXrdQQWd>IB$AV2{(VPQwOcx>@g7dMDCDvK*G)sX)=u zI~TMc_F~ezklv;A@S245Ea{~Lf=?^Tm|kaHFoxe@%1Q4`dWLk{syF3akaMRrIpG}k zc!+bjbI!Ri=gv46757-&6LEv$8sdh+-t&D6LIWlU==uSp$8Fgj!Afuj)`Z5~G2vKMxqbC_nWHgo0Oh$7V zEo6j(9ZJK`GOEhxUPg#f6K?d?V}~1$+~{%RUOnQB!@2grjR7~t+C> z`|>o9Cs&?ea0jQdM|paZr?EUu~_ZF!o|3diM?oe8(0 z$Q`lc3c&MZLnfOt*^V z7@7lB@S9AZWIC4VM5a@j&J^@Ny(af;na*W~K2~6FbgjN}f6n~{qhi&6VN}GvF1i24 z{U!JR$*d}~n#|DF+K}0;%$hQ@Wp+tlSM>G6gI^we%j}s^PKBJteUkYGLo4NuWxgr1 z3m)F^Fe7s>{cOnGkadt56AWxJ(WY7E#RmoO(HZ2)5M_3DJ`IedgC&B zd2s0`?9AC&urs4I8fPBp1HHre=+=y-?gzX_qbQn2$8z$hf!xAiBd;Wa{|@x#55A zhA5-7R0m)QARko^)KebV0*FG1#G&E6^sc3MBfX43@da&wm166fCWwI-oQo?ofld$= zW2(0hH!be9xHsZviZ(ZC<4E?S|gee`zczxTPMnHQdk8mL7s!?Unok9r_S>k00F20iIgv(6dHT z6L=;+AQrlsPHg)N=l(inA-_Ukn8Pe-SBb$U~$y*jhg|8vqmgLF@s{Ky1cC+zmJ7<8Ly1$vPYM9<#JOlw>Wk} zF_2&rN`4cZ*_^(1#@czLc&f1BsBvK zU-}yew@``&{2S`QBf~|!a43Z%DFmc&EU+ktnK>psW#6e9rfP_)2KyQWsW65xqSL`w zqH2(;r-UYsG7xo*eHHeV*;kb+6vb~+T}kzyRFM|Fv+tIiD{>MF-Vtz6bS#3TE%e7_ zY~Hch6S1da&u9XE?3cQ?1mR^Y%&}9(r@C^aU6FQGU?C18aWv~$dDRKAm1Qd@y@K?L z(kls^sU|Vbp}IHYTuNLt8zwoI;2g{u-evSEqc^UgtrExgf*UxkKDm$T-V0-hNf%q- zkG?l}bjl--cIK*>V_#FMpHlrGi0)vu=iIVYU<+^ys-ACczGxG@Z?8JNPvMjbV^JOI z^np$XbQ+QQMVI##+WgBt?Y!x7K$j178RyYbMW1!~NS8sRV;Laog7aBw=UqFvthne1 zyf4~WX$J@&iv*Mf!YN`b;_9~^AYGm50UiP1$AWoL80S6srw541IKr@@AmaK}H-0^s zNFgKzP$F-7fGZ9t-e%t&`&{;Q*>_J+fcpT*N9^mf?}2?i_6^wAVxLXbGxiPH_o$qv zsv~>7X2Z+IHXBE5Y_f5{hKG$EHul-@v9U{#&lv#)4-mu8Mvx6ec!!M;8^>&Hv2h|O z8ySe?UkdbHEXJ`Y$5I?KId;LZ499S)COCG+u?WYI>e?K;=GYa-E;*Lu*bN)N)eV8s zam?ZvFlw1CT#G7OHAeFzre<4Bwi<+vB&)(!opV{vU2`tSxf`0qIR`PxGfgfzm*!la za|P9V;arAuC9Z67Wsl3h33TjyAA3JMypeR0J=Z!H)u6@Ssb2UX8 zd&;o0z;MsD!EKEA!FZG}?tXI@<55~NyW+tgLo5mr%K^x}7dd&+=@Xp}s_>4+c!e{M zoFOy4q}T<;t|%5)@Ng(YAN8usCvv$XmwR%#tFCOacF5W!YlEz9vQV}Bk+fgZ`;tB& zYnO7H>Lx(ouW~rb|J2RCx;fGVEFnaLOaeY7vC8!x;^q+3K=2py8M;ob`yYL$>+~ow>sy4IkO+ zvDIR<-NOk@aOi_NOVK1j6KL;WX_BUiMU#x`fx#Q_>6Sv5@Cg(u?VR2SDXLIFHL1b77E9j#ZmU^5k_k$}Tt^{e3Qtp>>-ijlrvY(5lT2q)lJ6YSF4gD=_NswC*zo8X{et25CK@4@=EX)a;nMFyH=T%t)QS zsQEs9-m1BuJ{yb@>L={DEr!(R3(hw1rEz$$MPCVaXKDeso?|de!#sV@cyz!Zd`1_eQn;7WumXS$5rxh_Z4m7}ii2;8Q%r(0XP zwW-}r%IzpjWOg?w2X4gF?v^SRshTE?rKjD&RK`>$NK4DF38tRu!x4`=^REszP&BrfQz5MfR--^Y45hMPJ##QI0dh zR&@xXI;xIb31@wijU*d5I4;?^VgmVW!K(+EWUgsmsl0sHZ; z&=G9S*?OVT23yYx?ZYE5pG&rIjTX|YNe^NJ?CTj@*wi01+GcA^!+$hHISd7_U)B4f z3HEQDCMDJTq)CBuEt+6c4`_k|<%4rQ)mw9}qk8{1*QW`#{DZhp50VK(EbI6{<8wLFroogGESdMTI3jF z(M4GecNy~0<(zLl>hYOxeSGVu<%E_~TFz+sNXsX_g$dX@tsb}qlZRggG4ra&tsQP* zjs0gU^KRD(kJ%*2KRsIdy}D{cHz>W=i!)s3?3aaI)FwI`pHwwQdbWOlPgInb$2sQXOa7eQ-P3^!zOYqs7L+BvNi$9gmZ>HWbL zE}YA`5$DF78*=W6bB|m>48NsGlQ9IUl2$`B(tgsSN(%KGSl^ ztvxmF(rUyl4`WNN@Bt>don|ziw-HM*O1Mj3*X(Yyi;rlFz6Zs)+c(_CC;uRq_~-&;;d2YBn-qbCtG3t=vZ7AaCi_8F z;M2RMszcS9s)NU{1)@-#iAI5A*mO(kzS3xyMtd~!C^#2QY??R>quRVDTmkv-8D*bkLqfoTPI|N$vV-kfNmY@7S4qrS-3?g7t`*s zc25X=W6mPbgEtv*&WSN@~~8Zcw{eNCAfJM0e-2;}OWD%$MdX3YD$$+G{Ds*p}~*nhx&VBHd9mR4;`YIwmO z`#tPGV*fGwx7d$N3gw#_IXzVeBQ$0M)G?^(5gS;XO+xwxUe3VE#Mv<+6f&GCIY2Cr zs=j0cu;+mdlz|XA0hsTla4Ghe*gs z+H9=zA$8xC^GRK(Oi=@ZLg0nrg+8x1^iuQxFabWcY zty?jdV~E3elP``T#?EQvQ)qJ@1!#1r`r9-*pb=_1-!$4+of{e*)98q;AL%uucPqW7 z^uTm|vh~HeHBH)_1Fi-E(oucXgMf(cX@RYDN0S!kR-AiQeH0KEoWs6bidz>K;q;wz zZ)$j`pl)5Dj)?_Xq(w^&PZ%m+=(rXDO9+4^8GWfC01{5pJT01B&eIY!$eM4DX!*gn z5pEr;M<_pWKghSod>f`ESQOaieDQ67Z!xL-OP;>v>4$Gm`PSf8fL1eFO}T}Qc0?<* z{)M>Z=hh*&_8Cpw?FzRc2nRLmK2B&st6sFM`je-I`D&^tS7N<5i1uFHIFyS4hDE*M? zgG7B`*g?Cf5dcf${Kcw+90kc*hZa3rJgA{Tz?smqEkO8x(*h;Pwt{Nq_EJ6ms;3QF ze)H`aEwKPhzJ*QYFW<)b_KI&4d>iB23%-qV>qI748wh$e`p77BbUy6z!ybL!G2Ed) z@74TB%}4Z=rEi4vU72sw&oz&r3j0Tw2udi3;Lq;yZBmV0TFrF`Q@4J#fvHxI*mGbMyJno8hp_ug>Q8EN<;h%yS!LImn~gRDRY-%Mco4RRMKc| zxCDWaR4~9HR7GTYBdX%)c~Zq0RVVB>sXAmo@_k^-NA_Q^KPI(3LPYY%skNnAyVTlN za33-dKPQCG8A#X|6R?Vb^4|{|&#L~(#*~d00*o=9*cg!W#m0~gm(euzfN+g?h(+6{ z7TAe7IS8b?;_Qjz5lC|Zbz&=e@X$kuWAF5EKo3Xs5Tpk`$JX?KWo)RHpB_LrAx{2s z3QYbNJ@`1~=L;Ua#Qzwj`sfo+^Et>RIKdPY4 zssK8UX)>b86Jcy_rK0+%zCF?dGK&GD@u7dl6`NtZU1=(KmB5PzLi)*&D+sw$g;6+_ z216kX_3tej%|LNH&|;{D=sx?Sh0B!=SFk|_oZsV0k1Kavx#vooZvlJo{w;d-(Ca4O zrq$C9y>8PhQk83Z_4Dlwz53{Ni(dEWb%$>=^twy0UU~XcXx>?&HT9WWAUEoa2)26R zmLZc%Q;0uTG`gfwf>Ve{sBg|xKc@P)aNvc8GWwy{eZjcN zTm0EbesdJY4Y0PX%Qu2S253*PGP;EwXZ@e6HxFy-+QP=8?0t6U)7iGRr3iuw2#BCe z3CgGhK_VbQAb|`(fIuJwNZ{azGtRT(JXOVcLJ5OIr(5mqz10pHt+m!#4T>6+ko8;l z`F+p#$LGW5?6Y%n3^{wR{jRm%wH7B&;N&Qor*f)fPBn!lrIJJ?r;>82G>R4{-xxl5 zBA<-EWBKGbhIzD9DICTOqFDgLpVJJ?cM8LdTZoP@Z+RM;UP~#aJx?p6X-4LYCX{OC ziz;d*^Tj^|eJFb7i#I`~tb&*M@-hT12w;*~NFBk*dJG&u=!K#8={_Xgm!zZB&Pe4W z31%I^y$^T2P%kPErl>;7gD5^A-1|as#hF>CHw*P(AvFv+@CZRe5tH~)#J3^!ETn;j z`moU9Jmx41!CeCvR5%m+QAGq3dlPv86Z#uS#3#24XW zOko+Rw5o>5qo@I~$^?cxLKW&D5!4V&tEy-fs(zJBj#-`%*ch2SjLE~994l^*=ZnMm z;&57JpjEX@j{035%fXy}m z;F1~E^+q|V2w{ol9Y~NN=$~(X)-6rttyEm7LY_W zO-kof2!5uKL=~sX;8X~EaB1UUCYfR&Qz~d$9ZjoczG*BJ9g8(I%}l14m~SfcoyL5p zk}0_3$S6uAc?d}lW}&{!H-&}b+#boqqltVh6OSSCF-(m6f`o~KnAo3*aWW$kMoc0m zxq61ddYViYhcZ8n7Nf-=ooZxMlR-7pnHW*cG$xIpNJ+xrL1{RXqO7*iVnhOFCXHfJ zlq6wHI-W@*nKYEBQQB_}$9+e56ejc3vcROdx?!~N78B&(Tyj%Fj`&Ba2Dm1GMrAj2vQQw6ys?P zhS#C}1oO13nX-`9sz@nT@14k(U`Eg)T9?8KMzI24rt%|YBdOV&FF}!FVrWh`Pa$Q~ zIL|1~Gm^$8Q7o#6wft154dpPTF^dtK#gW`vh730>FK&ot@<|N0Foab#GHS*RI+vt) z5{wa!i)U%L<0FzsV;b)JWqe5`HK&q^UYvXir$Q-IzRRixJfK7fngpDB(X~;6ZKS<=Ec%HS=um`hVUt$6o#-26*Zs^Qou6Q zEJH($K1`0PWd+MI(CQjego`?yVeyOVT848er;?P!lM-A|RSdUXq-H6R_n68G{8)iM zD;Q16a8dg+bRVEkL4|TPg<8A_+OI7BOkK|~tVxr^VX$PBjFYF)SX3*f5-cejE9K;= zG&Y$`L}PLa9~Q`m1#og1P0FK53Yw&(Nx3vBhbHB7szOes=2S&I7PQ5Rw^%S&rQ=i@ zPF2RKN;p+1rz+-DT9V>Ju?~wb>YfTJ8$o5h6!i`)4U^){d<*FRw9&D=4As(5DnlDf zK1Jme*HmaYmB&$e3`0sV#%ZE_3yt8BD2SR1?s{_68YZ&PNQ!$Lo+>6$g_J5%iCoOY z2rv?FvRCPv;JngJ_#{3aDsm>6aIM5;jGQNZGoNG@77idftfs?k!7 zn#H9s%$R{fDQ+^u031y|i%Vv4sZ^t(I&Z2&oS8&*K1?cQm?A@^;#F#1g>DOcuZrqM zuryzyPGd-M(R(mtwxo@qdVIvVphi+dEH%VaLn0|esjg)iSgim-bsROsu#6&VNT9}1 zB!4QCr;?%?YD7cg6oPSTMqj=-iW>c>aU?0K}cs6&b4#}kwo z@+nlFOfcRv6d$^ng-&3h_}rx|G?vc_<+H}|Sz&w@&Wa=!I*~^zCd!ad2~}heyp=!#aXb^_(~l!~y%^_)oGNgGjwSNRd^~b8ktU6>-^k~fcnl{L;~lc8 z0s$&co2gWhMbUV!LHj2<4sx}z%1Rc8A0~ln&^J-Zq^RyqCz!QZnnrd01WQb!9Z8zPq^Q>A zQB4iWFQB?H1Tz~;r;vO(!TeEJ%UCL7(ky}{A*AUPH+N*~NmHqAEU!XxQ6aCwSlSX^ zrRP=UysCog0+|#+2r7dzsvAd<=BFy6Nb^Hyw={$5eOTIPs>f+Op6YRO`VsYXs`q7> zcoW%K`VmBp*PvV)Ly!TbA5Qh21c^^+fmH9uFmasLm)H97T7O;}z-t3}Z4j>=!)x(| zqj)Xu3zJEqgc?$)K}Joe7@|s;MhX$PR8RxLR|7R!r9$G4k#9jdW0v}OjaK{}tDDJGDT6jFjLlq_1KBqgZo=Fys5T9e5XNlcMI zYmh=|vq}5Jb%*s2LG>AT^KV zOE4oDj^H*ihN+PEf*W5NHK#L`g{jf!Xr|_AOjXa97^xYzJOedXP;)s`r&0^ryL@?c z2U~m?dc!TFsRao$0n~y9u~TVm8YiE@$)|JpXkt@2 zxtx}#2vm`vS7DJO+D5@KH8D5X# zE0Kk!lXMwLpUPp_d*~!8Pi3L;JQ}XWQ;8gYJCX?6~<|)b{LCOF^qoIqCrN<;&21iP%Ro*vZxk~x`iw*gT*O$ zWfhM;)3{8kMQa$!J=BbHC?XtbKGlh-ZZg$HGbxsF!Cf_iNeh`&$1o6HC#AY5s!JmI zI;xvUb%=EpOqxq|iBuQMq%)XQ!=xotH-R7(S&E`Bo>x`zs%jo#A(rjdAqLY^9fGkU zCPnG0WztfrLquK1q-bO=qIwjJfh;YYAP+<@W=Lz%kD+>m)8!2LZ~6eDE};4#qAnxq zLaGm@dK8=Es6LkJ!-%?+s5Mj{PW6#gA5GL+sz=!vLG}1X3B!z7X%Q?fnjwP@`EvRw zst=+1u~Z+!(#G@JaV!o0yC{aVtF%~#8Gh0tc`bgJ2`mm_b}q}Pr3MYlXrP81YEV!^ zHZ`cJLB%o=ouUQ1jv5MCrVq>XW|?TFn?Vgqsz+#n@6BhKXf#0M6=IBHz6b?%9?L{U z(!?@HuncsaV4i=(^V3;I4K-x(+E8koNR3gX*ozeVQ)48-03TxvHHJ|=0{d8MjHX5` zsDv((d?qhp@?s`0C&dU$(1%h+jS-}HB$F3WBbxgPsc}3tBIeODc?C71r2=(TEz3k6 zdn{iZ#}~)*#R+_IA~lMc9G$1=l14vu0X2rRTwj*!!*YYDDVXI3P}68?8cFa;<&I&w zq0}^-ngXe56g7>YrT~`fM@>G|MK&wb9L+nvg!Vo_wqzv&x4f1C+v<68mwG1&y30gQ&^~Rw73R+uA zYs;Cknv_P++A>;;MEXdktfIAghFk(%4oVZjB4TyZSpn7xN3xBM)}ae2i`J#nx=d1v zRn2ks*{-MHgUpkIj5}5`aQWYf8KxLRTav1aTV7?7h zE~mIJhss%KHlKy)4y6Iw1`*g)Fljl}p<-LXkb9#~r20uLErIG27!py^5G}{COkb9X z)@Gbws5}~oPReq}Gi2A8!k7ZlZziq9@>mj9Af{$?CFk(*NF*rXlhc?VY8-LQ&xiSW zGe0jXi)VhrsVsr{jbwhFEHsDW#aW0aV|XN^D)dx=3IaN|P?lCw%%?5RW@40$xeUwi z=6X{_8H+2U+8~OUM~iX~!C@(jE2dhMdkFk6db*ZJ#)vk6>Qbm~3e_R5L)2GEb*Q8p zXd$kB6kJsV>1P;YsKu2&nIV@(kH9H`W%{v9e}WY~uu_{5t85^J8>`!gQ&S{0MX+34 z5$J@36ClOrUSxo14}&9pz%46ljqV{86PhpiAGLk zKKmTj)QI#BNHnamLbNXGva(EM)O5E)uR8xK()bCi^lUxs>Ns{+#@Pj9GYS4 zNPZ2IqD>6#U`DE&Ms;aST1RyVXc62Z?!|GG&(&0)#L{F8!|?S|h9nR*O5GHypF;J? z48!xa;S704Y01=3!ZOiNre~Rf)KJDUgBaGYHt?|K^Z8$;#j%))dFfo1}Gr`$~soTVACdSP@f@*QctfBg;R4=23DuxF0%n%-{`x#RS zK5o-QYMMasSrElT%$5)n!v1B8nL- z*@HJj1*3#h8j|s zN)2X~IgT2P)PTFNi4>v=Q%wrf2~q_z!&qiGHPlh#R8kyF&}*DMie>w-Y;S^e-|Uer z8+Xq%mW>-$0?VC1P4UzeOHFaq6hlpk42fzrm|xDs6gi}11}QUh|4I#73B!397VA{yK*E|`Y>@hReCeAo+|wa z!kah?OZKDM1gcG>+IXssV{vAdJc{ZNNg@`_XIQB%c{EE#RXU%gsaP6h zBY>R2(v-B)gBluGrkENtSvIbS>C}kIX$HX%A*3&wl86pvP9niYt&_7{oFwrq7j?jT zQi4FjOl#^GmN-;4Fl9Z#(ww!(vcoMNGZ11>vz}>&5v&s$TFydow=yts1=S+BZD8@p zov5ce1kY-Q?s$D3)uSSh4ykNfIgDjWSY|Y>^rV$uEPEU^;eI-a)>wEQa($8B&_L@v zSOHEgL>EXvjU>nlvml=wt>P*oSF`wG1ic2y0kkxeXb>ev@I~Wj9kPFiv3x`Y0ThGB z#g#06IKhC~c$_(bRHq?ms!a}J$zxga7?zBV+7OnE)(kB}s(>E9w|t^O>sb-ejACh} zM1x-`I>m}fVhu|}X&+B3N6|{ew=pbpA}P$Jl_N-D9x2RWnX$BTIITp4fH)z6R*qy? zpt;hUWsfJt_?@FsI-44ES#~tbmQZ6J%MPbToIDbi9Y&3EmL0*eqgb|>Wk*tD4mIJX zFoo!Hi7ub$3JA_Oor0QD8K#lXl@c8;Mx4?~EH{Pd5Y!U8274*qULeb97fIKnF`%!6PQXukXMX}u*^A39mFux znmUWA(V=FbmQf6MPjw}=1T*BdYLK=U!H}+F31=ECaTUchk<=2$G!vL6ky_9JmrQkq zEO{J319BQ}yLvXoi|SFoNaVHn{Y+%p6IgZ(%f=atI~48?IN7RLJgOU$s9sI5W|kiH z9Szao+bbD*qP3{b7-*#*tsKp;x_2dlqGDR<&oJF$=46%}#*%SYMJg%U?GfapF^mW< z^{1AJ{77$FiB&LsS^g+mhknBXRxp_rOrqupQidEG#HbleBjrYhavnjPhX*%Y!wol( z;ZfXZCGTIzMTKx!-w^9!$PIi}GUu7*=9T8=BjdHvZa&jEj5k4Yphv3PFf-?w<>ryX zg~SpM2{$a#%?m+k9rYN=d5q^h$8jSIxY5;Iyw)u`h95SP3mDFYOedjI;t{|Ni+39~ zoEtXD%@fDRbMaN&C{HdRii^tPqU3Jj-n>V!n-|_k$$7`npdfBoHuX@rc}5b?8JzbN z;+f5jigXL~S5`qaPmCDZMriOCaS&gqW**fHp$Oh^Y9{r}=e#1gskvN21~*L0kMiY0rCew-Kf06? zPvgX?T!NCrQtt`zZpdqjpUQb9lAu6-f-g5?n428^xuu+s2N$a4ypo8=SURGTOE43U z5Z*iA%`ck6OuraUlo;X`-N2;%)gcmGrM6`V%&WaM!0$V zaM2jCSjJ)eps#`pO5uHdxp5V4p(D8HP%he+n>3l5gnw@y^95C7AtZvJW9m@sb4 zL^5hP@h|5v8e)7Ehrx+~*>0gmZnB!2TtLLZ+_XvDv=n|~6_+b!UMb9LI-gR+0w(h5 z86+czO&P(k#*J(`=cnNOa=0;x1amLP1aQ-`_|zyqeL6Lp-O}T@2}*840fz+L++1!< zK8FEx2}W+1H}6%$`FrtxVSLaCE-8VJQIXg(7L9eZy|{@UZc!3$Of4A|OM}&1QU(#1 za1+PylLMH{%=w4Y;0it?lJk$_{G+&F{0X7~-n?HX7w*r6kLD&Oa!GYOrjZGp%ng@t z{_$>@$vj=hhMQR!=7Njlf+zD)3X-H?_@KjMIIO%Dmq*Yy7pUR#jLciiydzm)C6DoO z3QrzGy1bLwgh*Oa&w~6}crclf#U{kMjn3eLHExN;JOz~2`6JK zxmaIuH5}4DVlXweB#%eEE7iKh%i904L*u*@yY=44VhD^#0 zm(f7X`a7D#gkb1m0*8@Yk(l!hqYhy2v2|=LI!7jRslzxd-53($hNdUXWFCdNIFQnrN7Tp=#@s#$G&Y2jBdPt!`w3tnwhh?!V>|nk3%4+gq>IX^Gdhk`QP6wuHCw( za2~m>IG6X2BI?KI3V4or92dT>GhZsnSeua*69U3mxYDw`ZV zN&r!Q54@3YdiDK$moO~nSc+YBd&IwF?E`Jz7v;j#^dl;>y+n_kjHc zg7tL4jQ;L|182S~IQGv^1;2XSEU?-BDR^joQLv}kP4%+!EmdymN2D$tO|abs=6{+uKG!$R)J8ZY8Pgz{(QDr<#Mi9Jr;JUZoW98vc7Cr*`Ix@>a_k> z)oi`3YO?>MvfE#(F5f5WOLkuUH+-sYfl=y~J0WV|C#Y{jvf9y~t-kQCLJd~ET0f{- z4KPnFk*rX2_Kj-my}jzew+`UgIkkJx1$7TxRX6wjqISW3HMBU?9WY4a>wH}U_dn7s z>GRNB`OQyb>krr542sdXx~FIoK&~0ruhBTJRBD`VW({ncr?IuH)bzu4%}qzE2Ckgf zw86KUwky{(R@+^TWZ;R$e9fhi+n*-am2YbHMIs#5VM| zX5mQJkisUJd*S&@BMYCok1ZU!C92SIF|lybfUNKlC<|RyeWBG=UkI?I@BwTr6n@@Q z=(3+E1mQv<4E$JVivoc!0^#!_7x)*cX9gDyiVi8lHBPyUPd z`lHB)+%MWS_z}ML|F=frd69L16a&0p>;li?M(`_!+OXnx0;7tfzmOD*6cdW=&B^$B zPBGX@iXo-8SkzdD=L?Hp5iKfyU$mrH^uN}#yto%yaJ;oRrsFssFBA*uSBl>l{BL~y z|FppW6c50iVga5M3+}Gs4tPa(XAZ9$BzjwS3x?_de02~#Rwr_XV}G*lO;NH=^uN|F z)4BSUI(uW0P7+atW7rm(@R}waythKvA#B7kY+E`8CGaGoWV0)w zQ5?Pg9vhc@(k`Kogm5|o*5_r3|4CNqq4sjg z0{C|c4EnXC3;ry5xb|^LkIPwN>wm2jnm#NI7kyIN3nNOw8CnX_lG58GwzSbEE$xTw z(pD%cwTjA1MUSdWVP<0~BrGnC_-l2k5U{Nj@>)yhG@U5@&}J>o3;VjXgMD9mLAYL; z?7CArbmsk1tK@m9DD-8i^(|6%{qr}<1nVbdYnnaFw%Yy597o2L-ENprrm!TIl|g!$ z%~nu$6DrDN2kXk(9ZhACt`%iB?rbib{Lc2W$le2GdN^CQ94?lbUj9(_Y|n3H^{@R= zHeh{Hw!+~oyB$LG6yDNbhN1d9E#CU>tkL?gC82r=#OnL>Df)+yqxW$Y>RTGB^eEr; zuD0d+2hgGyZtvH_@ss*l(4hzZJN+MUT@QJG>W9J;y$uGHcfuRxknmBt!R1*F5M17J zE3#ZNDX!e=l9fN}%Pj|w!g4>Wp&Z&9%ROLWIXqcg?hM#o?vk{Y_X%y~Cp){#?fpNL zk8}Q3{_dkc%B{~HmtQ{9U;fAcsNc4CE3WdoS#jvD zvO==GxWc2?P~m*hP|@X>U-71EMMdwM8!O=6zKWq&4_6F;wL;eSRRwhar$X}0%?fZl ztZ;YsRR~w8;pZi98LYymhO5tp8$cLqa1Kl`y!m{xp}B9G;l=S>LvCx4Vac^h!_Y_d z22FjFLI39pgJ<&w!}#B~8TgJp29Mtl8oES>4e!lAVX*vZHKg}{W3W4}8=Rm0ZrIfD zkHHb_Fx0z9W#_XuE8Y8sR9XW(E1^E9a;+<>67rHNT_CUg)}g5sQVf+(_gE_XJLgq) zhb^sK)496R^kQ4(qy9scFWb&m+SgyK?EcsHl`n-~E3c>gQTcktgGwj7s08~fRUf$C zt$Mxx(<)fuQw1=t3hu>K!OWB@l9^rwHdPf2DX&sMT~*3~*;Vh0=2o496;%&~ma6E1 zJyq{}AE5fwUihQXN<;Hm~Cu+u+#_%8;tJ9b{gGheQCV9 z@Q4xKX)_MAd}VYx{%e%Dem7n@_|OP^Hd%oG{&c(P_Hz<##5R`DfEZ>z}5&fhVShKb)p#@LJ7{pFgO%a>b+O*DBu{ z{!~cKK){5W%eLg2J8sizoJh*JYSY$$P+bG(=hRs4EUkfK8*9$n_SV=WCu$(CyC%2w z`x^V5Uus&`-mU3{-WmrCt{r&5*A6rftsQvmQ|s>HxB_>FQ>?jCDd|echlp8tYupjAJc$-J!afa2oqx z)m>TqL)~e(f&GWr2I{Q0m>IP1o5>d+nrA)#+zbwXGeDI23M84`-$*ly0;id6wtO5j zmB+w!Dei`N(|zkh4C)Vi81Hrr}TNAo7j z6=9#HVf``7Gxv5&-@UIbJ;Hx1lJ9L6^U1$0tAwYPCq)C6GEZ8sHuLp@=)-y^c-2Es zV13KrarHd|6YDPu$@OoGrqn-$?0Woe>c0k4J*3R3Cz}@F`TBYg_Tqa^*5}dodXcET z{w91^4~}2!TRQ*1*Pqtsz2n4jXZM!gYsVur zyeb+bh#ChA0PhMQ`9kP`QG%z)Uuf(P!SfiQCqRm083J_Y3xb4qR z`@AvwfM+8#2R2&oM>h64CN&PsNoyQv%WM41Ror+6OpPy1vl~0~iyGnEb&V0i&PL~* z*2aXJXBtiF?nW5+cjL>kzczk<HP*2+ zQ_f3fX7?w}yabsu_x3Ai4zZQYTzRj0=C$O;nT}tV%)FMjerAeu=S+a(Gq(sGGwa^^ zYNk{8@64}X|81rd{+>CZ@9|6t>6_`a(OD_Zw`a9%`*@b9@snA-30|{q38QDZ(~wy% z_X)H5B+^-foU&QDjajoQAE{>bcb3h{8*Z8vXlWltglw? zo8`2goYh?0G3)yB%d>L(f1Cx=Z_er)a&K0sxM$Ypmi}201~R+B`p#@S|LJT8_|Dz| z<7TJmCd^(0$+Me5J{y>N_HC$`?cQjb?Sgr;B@b83=I*SY4YPO7#=m7YSi5I;w0w*G zU$H%yJsY0mk(&eX;hYB1r*lMo9&=m}I0ppD9RB4b9M75qE!sKFq;$?mQTd!2u*`A5 zqB(Dgmd<$$8}aoo=bU--*qm*DoyGC5@%-mG{CpeUk%XU+wyW-i<|;MlCWeajcl6|Gr1*9DvBf^cB&Rya8q$x^tLNSPOg|4?4f9%H@w_XJ_46bLcFYst=sf$K_Ia@J+j;n1%(KGZ^G=zb&yyHL zP0w$>(PV|8O%O4n>0v-{QzS^5+WARMJ&tKj&u7kP`qNt21TIsPaBF50!15;O-`ey5 z4mDkdwkBcr#U_{U)uz7w-d_2GZx%Yf~|JeC=0wd<9 zT#lRXYD=5{jw5@%0LAm+H`9E4X7dAJ<@{5wt@9;MznpIu&fwTr^BMd&-wMCaUk4B8 zyNez3{{XiIkJ|VJPvO%AO)z3XLc^E^dA~(1aIa5XaOu~y1xIW-3j~{Pf%!Y*f~Rhl z1-5VJFOb|?zF-GzUN8U$7L0SAS^xnT7WBan3qbVq0vG(Xz;x^J0)RmaA&+0^gwGa& z;J0wvdt(+Zgs6o8$qNOTv9LjuzwnC=HJ%$6LhI~>KMh{6P|>#x&$nVbywFW_6yMvi z&{qB3LeW1z;MnbjF6de4*7F?u+#*=}-lELLj~9uKf3^s~A6wKS);Ix=Qx`#N-XdO9 zu;`2Vnnis!1CGtYwqjB37wZ=Fz)tKRU&IU6MKeX6i++cH;rWe4?xNopx#01l-bpVP z4Q_Pe*c*$XYsg|4=e2m|Q{Tld2w#l4!D6_Ojz{(4vPRuvu-7df;+(VC%9bvErG52c zhk5(rTU~n>_rs~hdG1|{`vSgO{K#@`F&A)iai0F~#V!4g#r1Zw#BulSB^}m}mkjCg zSTY;@mOyLx5;kA51a3`U0w7V-_BUtaW@BFFI{TwG~uynsnx!E>7d^?EPV`nupM8zr=xA@1?$D7&G7G~`tN>Q zdZXvhrE>@Uy%ZcTmL>pgUXc1)^Udk+HUCxrS+k_cr}^3Q;O096lIEMWlbhi`8O_#r z@|p)Sb3V_)wOfQ;Oxc98X{@xX~uA?gkoYoc8d3gm` ze_HWE^7{%=-@O$Q;pqx^9acEu&6R!d$;xqkUMrz5Xyr_ZSXnP5uIzEhRtn?tRzBWb zw6X?_E1`b&$}RoPD=$kntju%lS^4kF``R~e)UAC3C?SHS#l002` z$qp+6B(JSnWPX3u3%kcE+i(7>HW@-zy--V5?f5%!l>{AeRcM0w$;7xa5YH!S9iII)-=MaYrymUHMfM%*NpBQ zzQ)A@*1-7iHJ4Att+85VYnrNOtoh!gU6X0AT+_R@Va?3;d23#Q<~3iK*Q|l49cyOP z9$0h#%BeN?tQXeo$-A<~Iq&+KoA$eFdTmeEG@Kb&V>GHENvzVe8&YnXoRfBW~S8kgWrE z#X2V|TG#lZ9ItJ}wrrh6w0hlR*uKt@aB!W6sC8ZAz$qNRyw2U{>bgO$>+2-eyXywc z{|m?Z);)H*t$*v@8|$^sA?x$D3|oKt(x~-T2wQK5#PtKNjP(OUl(&cUx1M!1 zu3zC;xSnlVz8-2euOBMfw*GJ7;CjjDr`Eedy4Lr?)%7jHjrDK*`woK1$Lp_IUF)Z% zx@}knZ*CC8A8+V(dTsz`&<6M-e8XVpgbl!?8wMbI!<(SNe#M5r`Yjv!FE(wsBU!Nl zVEYDV%b^X8aB73_Tla>IFTdX)4E||@^nq=|Th6~WtohgD4Rr-CHz*ngZ%nOuWuqIs zyYYS3(2YHk;Tzw6;kU8LJ!Io6Al?W=CU5NEQ#XQ}e4~A!aO2xhvC+MwW~0?QZ)1DQ zijD2xZQ6K$%kGUWaD3z0^VW^^_1|uE!p|FPZr<4_xc!4*lUfZ|% zZ|b#f-y{+3-SpM9Bb#o+`Ayd7i<|5-u5NN&yRm7L{@$iuc(!RN4BFh1^2TNmhHmbF z;hSM#?B>_|A~!qkP1>x5jLo;^WN#jT;?2W*DmH_)aWntN{LMgDY<|nKVKbcBvzfnf zWb?q#bNK#mH#huxZLWUF5p79o&E1?i6lq=X(C! z4)A=ts!zuW=0IzwUtE`#W0f&v(@HxOP01yt?x;e7Lja z#ju^${=l93KO=U+%Sk)kh4h`S8~Ho04Cr?{2I_bI=~%Fnx>oGGAFyd>kI&AX&V>he zZfrTd^KZDg^N!<(oz1Pk?R+NO-#H*ScJ}9yT~5b4yX=Ddt{=d6mjuFgfqVQe0n&H% z4JdaB?Pa^_9p+u%*U#HE^y-pbHtqUd6|ig9G2zHA;br?S>%e!r1nV!mT6_P*{?lDh zKX~^&czgGs@Y(JtVdQRb58dr-nYdecGG#aT$ah1NW;e7{?RLd9><0Ui-IDw3cE1Tb zb~_)o?uLMKyJ7uTyPM!Yc+Ky-q0+wlbLig|`gTuX z+mCyo{q~-ZMStLRPxru2gZ2guePwT>?d`qx$Di)Ce(b$hB=OtpfQY>T&*Jy?O49cB zSabG@tg5|ttmS)CoaVjn)y>}Pf)#t~pKji3wC~&NazC-xxus+8bKAf6S|9wf_nz+V zUMKYKg=>TMJpg{6)%Dpv0sQtku7&OE-x;$HN>lflf1RNc8(jziB^WJ#1_D^RNSt$M)}qc07K+zX5*RFTjKS?$C$l zuY3u*55An`{On7V0bg1n@=LHKVL$uJ0e9_}eNct{IbXus&4-c?gpB`|5?*V{_0}hyc0QigpBFM$_GHeY8toFqRUMI^A zpcpw|gF`shj>mr;Kv&*@4)`6vTE%G2pCLa_*8us(C z84iN8@u1J(xd%UVHRE~9L9iXdWBWnK`|jZHa2@-99b7&C(ZN|ypJAUK65#zq;P&|; zfYFB}u82d9FJca%EdtMH9I}G$5LoLDJ%J`XUwdd!-)6l20QS!vI_uVr#~%+tw+)Z> zLtt|q8sy?y;qUia0X$oIVRUN;jK_Xrs|_++FJD%++Um<%|F+k)g0P_Vh5M@32ItmR zSHOW*>*Ld{Ai2~k?z`Iht?rjr`?GtkXW(h;V;FQ8;GM&FejbWP-@`BZLJ!+-Pr&}v z!_cod+}%=qSOf;_&pbRE79W09wDj;x*mM}IUmmteP9N@R?K&(HbscuW5BQ$j*d8Bt z2iM`2i?1AMfDezLj}%+z5lK(%S792Zt z#2wm>!{@R=%a8W@+f%4<5>Dp z$BX=<&{=vE9G0Wc1{UDhx}(di+m1SgLq~0J{-^`KJNgKIIqGWu^Qd5ddNk!Z90lNy zy|8?83}DnT1|i3+5PR%ER}!9QAG;?M9(xJZ$G|c7*sHe|;@E~`;J)V=566yyzx9~+ zt&7Lt<&VdjZvT1=tbZQ^{`s*toG!fXt>c#;e{_7{s_CnrXO_laI1_(Wg7a%$oWb+2Ppa?!8~e9U+S?zUw8Fqiq3_jG0(^wc=adyf zPpyTRQ>X);66}goe*ML#>`~RH5?nJ+g|#d?Wq-8p)JE8Ks$YEMlu&T))R*w}sb_HQ z6x_Re3bDZ{3AmkxpWi+W@WpBC!06N9h&l~jiFiK!w9TbCeGjTmKgw%7?dn-{`tiLr zr_E8@PTS$|=~K{t`p&qoPQQSkPCM@1IsK1dKiv$@(?Gd1VEf=qi)+{!_$lBF^o!37 z?~6YJka6ZoLf#p;UvkFPTYKi~n8q_Aq3O)Vo@Hm8p6kzCg`H<^*pJ|KooD`m@9`ct z&bX`(&cJoY8No`=Lf6}8@iU&aLjWEnXRBRFc+5Tv*5b3*q57=k{!BbyepZ03XDi+J zpB083JL`nbvpF4Kopr&rvy%q@dbSV#Itzm1Y?tUIUi(^`B=>{1H$@+{{RLia@M28c zYkgsD0F&BarmW3Pl-}lqf;O01*7izcdE0%cZv%con@h5$O(a^=rns>MuRYWT>`Ys= zs2%&?xAlH@y{%*5cAMm*`)#hx&)TkP2ikhD`m(T=om+ zqT9bchqkD5Q2W<8J2=kSng*ZW2XCFXE&BMpRpNbK|6aiP=MZ%sWRuSSenob^;ZE-P zyq4ngg0}iRciM9P7%VtH#JcLdwr}$iuwFcG?YVlsA8hCQ{O+9}famAm z>=`(3)xXy6^nJg*2fk)m6#6)t~jwO$)( z{rSOI>pfwD)pU9yfM6AFF1Gf=Mr;3zy;l9e2`jX8TjB0i>j2oS z8(j~qZTFvB?E|Ev|2E%YeKNGeWgFSieI>Z#0ZizS+)nD~wN3A^{jBP6KxN0hfyNG~ zUDEM1dSyq4u&KklZ)Zn;)ZvadU1vK$d9kA({?lQ4>qZAy|LM^G>F9vOL7n|pzVloA z&`ukS>fGZ9?X>G-I`!kGbY8uj(fOH6*$HmC&ZqaPJN1)=&MN1E&b%k9I$s^w+}YB( zyVC_HItxE(>wE%Vbqcrs-3h|&PWa;Q&M*FL$G)pm)HApXUcBAq{_c>jFFqXF<$_UN zw#G4C028}90~5NUuS>fGxAd+K$m>EkcGvhGLzk^p=<2(?pbLa`UCSnJ>bej6y5`uA zc0ua7u8$i#y3T#~br&r7Pgi6AZ(Ud6Uf0@7JzXic`nm?q80hkJv2KUsgYFN0{H!}A z%)478@dz3zj9A9kZZraSg2xd1(HU$Dh|a=|6`zHshk z(1n|ChF@s@c;W?7W6TAppL)Ul<%|mfgYqx9Y~>ex!E&Mb)|?AyvbZ2Pw_e~IcU?ft zabZm389aV{K^VApA!hCk>_5bQ{{`rO?cxOIyBE#3hF*jopNnv8>_vM{^u-2i@CId1mq7B}rAs~kxdd)EFS(Z7zf}JB<4g8k&Py$MuUu}24=?`;UYG6Hf-d(t zqApKqPq+*({y*C80;;X;-xvLg3q*h*1(E;}NP-3r2?-9xEybZ&z1`h)O^wQ~yO+A` zz3W0fb%7#9>TT-O)0R@8A({8L$2<4^-+AYrd+xpCy>@)Y_c!O7$q13PR#s-Ra&PLU zmEY9se!H3VWy(!U>HM1*T6R-ywf-i|eY#m@IdXI9>eEo)x~YEG3i8Zse`+Xv!_v&fWUhyyg~a-g!%h zj^65FoxgSQ;;mb~hW1-%#>-nh&y2T>>i%1BEc7;P<8C9J@)SD}Zuk@4Ma-LLN3mJVF~<9KOvl{3Yrv{ie)?n@rZXg~BhdQZY2tK`GmT^!6 zDy(b>?HU7px`wMa7Bs-Tm4@9vwlyIA!G>PhsfOM+mm1n|HySYPM#C#!bHjAk`wcbE zo;UPN`rM!%)!T4v2=2~dm_$(0<$MSBN$z}n9tat8M?Wd!PA4k4Q~P2lv?t$bo1?qa zh?d+zy3KbMzuN_U$L|=5^>;YEH}3GQ8=?L5PS>M%cThmromBsA_vS&iw>3mSD5RgF5!xJEr+*NDa}ZM^e%eWUK#?#5j` zha2HNc;n_%w;NrS-G%x^<4wZ5Mx^g)T#krM#y9LHG=|qS3wbu7h@hrRD6*;fYGM#&TO(+mNcR78=DY1&}3;n(R2=7X)@?rn$WptP5RD{P00MK zsY^#`{$k)XC;j3!_n2hOI(>LE>Pc+w?8$AuZ7gfnnMOC48mBcI4lZb}Gp}hjS#4{E zZD6y>?sPNK-E5wj($Wm;=H{#V56#xS-{7)Xi!OuKas+W&;Pc0pnp&ThJ??=m*u5}l zC$`)y&2Ay$a$78@vPJiNbc>ERr3HI8qXp@fv^@7))1pCJTM%P^%Xr+umVVvYmYd(M zwY<``v_$qkYT-F4S?hP<+EzT;2JJ(w zCFGN>mf%aRgs(SRQEhwcubIzV8R%o{kLI7Pb$UV@4kNZ*Ld>?uuLiUk*9zMVCV88w zFtY8{g`_qM%4_TWSkcy_8{2lMe|p_ZwQG4ODH*j4)+D~<%c4T69O#1BH z(GxD}=r_naKAP1Xr6?5+FcoyHLRB3vjlXpm`(|_?#=;KE%{3i;lecyJwEWc(icWVR z{mqWosI4RL(~}Og@m)vHr0$LmgumB}*noGhSL=Dtd@kr-=`_u~FQ(LcFZu@EGok8x zrN(jhbpQ7(PDUAq{YxiuDdW!+m-SeJ%5-o(W(@nUO+_hX@ZJxMEJN$3lv&WiGNfJy zm;Ij;VAe3^-{7$S;FG+ zDFBE47KFoN!EpIt99t8L6JrXf|1aa%8k~k5jkBFL5La5N#YI}maf{JtT<@g`IFn^A z4(V3mESBxKF8x8A8J)+SH{8OR%=d7$T`zGK-B%pyx8M#>qT^A|06anx5RUILB;b)n zi#PJi@o4r)FcFVfbMRl$GCWdm!T0g^;rrFc@w#3;zEjAb6Nr_l@RonP=dKTmVk8G1cWLGk#9#qJ)Q6tErQ%Yu%LYeqwXXD8Lq+dc7ne9 z1p%4963iA0p$9RDsMZBYh!%Y)5n1Ai=THvOfGUV@^kaxRG?UnamJ*SAGqJOCAMqzT zNrdYm!u1e88(%6VzsOh5A+3NbNv!Utwc{KD&MuTHZG-Mn|>-v^UgX5kw6B22AZyK53TR< zQJNa*VQe!n(2TmzG-T^0>(2+TgZqjAb_4`WcwYrgX%iGEH<$ZJM zooFTfr)3)**4yABXrdc*Pv}PU5o!~?&PcUF$O(9XFssWb#>#@StiGT!$T85TvqHvY zR>-i`suukP?Q_syZ>2{Mt<0uQX!ls59gVtF$n|E0w^D%3ryKIfRn&EN=YqjwcWWP1iTQQ8tnPD_}G2pg{WeD9DX4FNd$9ZsWH%t$B4iIlwv>Kf+a9EXI@K0+7ebD(h4}!sh&A8V zg4RNNkF5!vfV>9U!E0!D!5F-q9@*Hz^WP4c{2?_U1C-gBdq&&!>ZaQ1EDP;=V1ff2 z=C(uTlXfO_4KC9LeJ|}`jslFuaeB-wjtTKNI^@GaMkNQK6b{1Wa%Q0t4(b`jLFVb4 z$jJE|%goiVY!?T09D%$9S~$pLfHVTcG3pui@OcmL0V;QT`&i%azy4GkVhRU{bwDK~TV- z6HXS>6(?O^vy(yl2(Igc(>K)Pgsu_>AY=yw1CTmk0I@3!>O_zSh7K^GNstS`da!Q* z>((L2i=YWS8=!A}57`H3&Tu<{#2Kv)hKvKbpvoDk$3e~otDV#Pw?Q5P7eNzv=4?Wr zAyP?IW-7M%P)c4(%n_oe8 zxuH^=`&YzphsViX-z$L(2T35`eJiSloCxN-UqEXhce^9~ad!*40(Gl9GQWWQ=C1Fz zxT8*M4;^yxFg*71&|5;Fj`KkJ91r+DlLz`X)}s&UJoIQ8w6}pn9y-f;$UCs?A>@0| z2WSF#&H;&lZwZEs1G$2ar~+~vm ziV$8)kRycX!W1DgEQERk*e^7rI$^)*8uYaZk@+R`eFu0E>ST*dh%Z9TJ|eYVA^M0C zMO{cMLa17#M-xQnbaSA+LZtt`1^WILA=YWpRdfyNc2PBY4*3<@{gBpTWN;C~XCfd% zjOr602Z{Bl8ge3-57vRbVgot}d0mW>?}}mDCN}84h%Lr`u^Q1m&7F>($Sn4R?GlIw zT2DQy@_eKI4eD8*$haJ`79938qKlACF#aiw`Q&La{em{#%YX)WA)S{OvV?k}o_H^~ z4(O|boB(RP^k@y_Zg2uz^O}vCAfJIRUP#afNt3{110)i4iySfP1fC!iB!EF+2$&>&kLE$Hks8r1slMl^REI7>y9GRl zKBKf2nWg9jO$N6ENMuMCChJ9UQ0IawFhOS5KNE5p*d{}N9FWn`aj36?HW^aCkbOg6 zptb;}H$pt%>z(jA1Tr3ILA5tZ_}v>0EJ3{#Yy}6s8-AUJyagVBciwQk8j|7ze~(Y; zF9Bqr52}rV%mjnMSRWIb1-Sxj2S#YHq{sQ#e6Nu)7OAP zppN&|S#lsN!FVvw7x7m@?(kiJ4nkf4jlNyzG2};I9r^`H_e01TNP)r+-A{zf14I3g zd6FN@vGnUkYoNW`Z%F@PNIhr<2EUS)PRJfW@rSMbzlFUWJC!5<0k`Ts(%q5c7g0kDn)!T^--AF%yd7}SX%4-5s91CV|}z^ET9 zq22+Gg3I7;03tjNu%Hi6{{nP5{7rJC_LBFb5UAsU7F5e`zWEJu7FZ!i=32XzSL59bUK{|^l2%+F0BZ`I00hM5U5UYPCYd@y2V1-tdlCn#1*a69hO3Zm;FSV>`wEvqFoqEU+rJ1i@`hAK^rEB)q#hK}kE)pRa{=@ZS2i0bL3=(dU#qm3 zcPTs3QKiYCSE_Y)l>MxGFy^fi_5V=n5kZB%vQ!B1Rm+jLN@r21P*L#Q zSQkM5@+iH2E7S+Ug{X0;KFWX|Lj67p{q+-)9F4BpM#DZ=G_vxEwjgCRG9^c=zve<; zRWy9RH~Jfz9gWn>po11e*X zWgO((7-U`rxf2|VQKL(cE#Nu$3b0rmV#UH^9E-YqAXOk06vsBB5s=fs;@DcW5%NGR z9P5C*1!M0)zJ<$nLz3cp5GM}4YaNGS|FuiVJI-WQ#MPM+;$V9lXGGO;W;7uV>E^{D z(`xA31&+s|-b;`z;5qmTu=r_+84s_~c+*X3yb*=Ro6HH&9u)r*RY6XOx1f3Ph_xcV zA8mv7p?KZ%(~!5~5v48uD>6WBjJLD&LDCY`efA0Po-_gNlS4))m{DdzGb&BcqtVcw znb2cg0=WhJ4SnYlbg;wJqkoXlU-voz8M+dT23(>Au@fyOUZTn3ov1?*iLi|Vg>c%+ z3dnI_E?Aw2bUPETqeD<%1Wn*sBEoehT4V2_?gO+WcpQNwY4%G$NHs_YrCe*at+v>g4D-SEa)=ScT?1sXOLgu za%SkWPK7y3z#Aw*3Mc|2!SqxkTAbQ!+yM3d)LL{3@Y5n@AX-M}8+Wl!} zWR;Fg&gro2PVYhCkV)xCmj^i%Oio9A^C8!zBmEx8li)gxZ-;yhegI+y?1yBSkpMCf z#AKkJEXeWWe-h#tdre1K(rnfxDwEOgi=3y!^Hp>$u! zNRXCgLdB4yvJii2mPNNP3w5r8_TDT*&xtI9nJz-zl&wZjvXS{C)F!BDIR@mE z1IGp=IT&jt`SA&B1>j2`c;~1LZfrdXhtr2^#?591pdrL?@mG90QbOK@Ds+6v~YY2 zh(Iui1G%6IOaL`tE!YE2YLWh$_A_dQ`X%@d@PlA`4LpE+5HdwUW`e>vx81-Sxj zA9Mj7g1k7$j2Z{^peIm&0{w&d7%mU{KQv26%R?roJh&erLm?CLkWLF(orkc|d2ZMk zxNh*<@6b0VuNJMy(A~?QOWav~t z4g>{YIG9@0gBC$MLJYhg!DI{eXj^v-avLkAF&wjx8je;qZsJ}ieVoI+Udm) zQ4!?GV$?eYa#1nN1BBdPj9#5AM&GU!TUd?781_H*96f;Xop60W;WFeB)X6D<$E8GX zkwZq87*HnU;1a|i4LP#}^(=+lTB1jPL!JkBz!UJP1nEpA81^4Mzep^F+YN*us1)@^ zl_GNn)McgSzEO}fO3}?fAUBno(E-Ra;5O6`N=>M<6h4JBW+1S)!Z1x!dQ_Qe)7*2Bm!@s_Qv9KGM1$AKl z*nNzEJ;bd2pJJD8y@W9@F(vjE@-0?|e-HUD6lneHUj&p9SYBW>R))o5!o);q|0mc< zua1w5xz1s`9^7@ zvQ?>7;i?FgN;OF}K{Zh|R<%yGT6IG8RP{{7jIkEpce# zfyB>=ElHGtZAp~_HOc0YQ7IKE=Td9}MS+QF?DX<<+jRE~UdGFeXBjUt#$~o=c4vlW z#by1TH8A@?_MYtS?4X>CoCP^Kx$|-fgR=4-QN>r6P67rt1eqVxM^_b;E0OUir1CVRoo#P zhL}et4NLMLE3J{X`7o>SDZJQ!o-JPPzq_Ax|LXq5{j|p!k82*;DMw)K_MiLCPR3H-kvkKFIC=d-|KrDdwMp!&Z0ROBU{#gkO1j*o^7yduL_mu|H z0qh52u%Cuy0oXsnazHN7f&(K^3S5 zL%=^PkzoLS>jxVFMuJgbG#CSZ17pGOU>x{og)#w51e3sI@XtyGRwmdqFde|}Az(9s z4$K0x!5lCb%mX!GK3D)2f<@pDuox@>OTjX*9IOBZCuU8L~{-U>UdEYE*@Dx$`dP8t!%HX6Gj7JI?dC^SO>S*Rj`J5^o!C zE6>cs_zHeFE}mb^pU~VsD*;u$}k-*h)U|Sj=6*-N=2z&8V^BJ;8W*BA>vg@TE08ekp$xe-ZyIzlC3g z`^oR&_wg%nKlog{7%vnMMNT5Q$X^sBT85t>8c3Mq+2_geT1?nW*iG0&*hlaq%89e3 zbEOPfmaLsvFS{uV_q|R^_w5Yu3!EAn9(I;`h8h|c8x|L~M7=6%V)W{wRYk`+XYJjc z-JCs~hdM8E-r(HlY;=x*7gMh@*@fWJ@BGEt!6h8?a&dK`xH!A~a&~kX$UTPr&b6;O z!9C7B#=VKXHG*>20s?Jm>-S1$S=aR@*Ug|e+Uk9tHzPs z?A+|#B5L^fS02HF5J7-IF8CrOiE^Bm<3mI%@cZ$*@l!>+@bg6~LJDENXSU4AYY9Q+ zHQ8%F;UM8KA%4;TayXD@Uf>+Djq#W~Jp zpi8(*s7nkccZqh1#$sKPU1BkfOR!6TOD30Dlfg~n9>?mit=wDKN$zRxC$50!$rJPV zJQ>f8cY=4E=Y$jSBlzR_3AlJ%9Bu?|7%tWAcidQ?U_hc5`?)rT8&>LS|U1#-y-@O{};Yi zbO66ubO^slv`O?QeqlfwVX0>Z!QzQL&7Lx^V}yBL%e=ODog|zh)OdAEXwq^WEdS*>{WYM&G5rHNIPYC-}}HA11eve+G1r+sXII-SWb~ zXi83CR$we8FEBQ6VBp}u8&qA`%CK!=m#Cw|riayrO$fV4)rRd1n-W$}-4S+;`e)eo zuq)Il%1O$Z%H6aH%4y2VND2L1(k!K<=MxKf+qnFS(s1MQ)(f_6ovRWNAEBdL` z+~`Zum!p~1>#cvpbjNry?!-67|4OV)S(&mvWlhRj_WZOZY0KxYP20d8nYGpCWZ}ia zn}vUHE*Bms+Ff*#bBa^P*Uyq{7B$l*=-g?JhfA zcDU5K>~f)v`Q0TGTjHYSvTAH1BGThe;*a7l z;Ps+&_}ik>qQ6DQ@u%=-@pYp6qB?w;r-rc3bDQTH&sxu|o>>IUYk=1Z!b(Dt*Fdj} zgmYe(y)F?h6V4FMcy04K;dR#Qr^HTbE1e{rLfjyoM%*afD(#hSC-zAt7+K~nJ46)8 za%GLg2I52FJlR|s{BWqZH7Ud!M^s0qz+OW zsl)e$?^EBszL$Nk`(E-j_&)c2=6jE{DBuKnZ@}4rhh!A+fb1xDlH=r-fIy0MU?OEi z;JUy$fqw)hP<90-Q+5U}4;)D83!D`w4)qKj8agbrfI2($MCjenWz-W?*RV$F9cnYR zf!ah}A2u?~5Y|fl5O$aPI_yE%v9PAFTVZ=?iD6*Pu?80Eoy?*wYaNsH{xUrZ^q3yA4Ywg@2sng=J<(;;}cP0f8tpzgO#7WKc$V; z!a9=jgmpZnm9;zNRLZ`Tzf&Hw_NENsGt;i6MW$~_+rzG9Z(?s@?_~d(wwZl9Z5Mkh zdvDsYw1qa#wo5s83Lh5M7d|L#F03m$%{f?frYN-hs(n;>WcjJ`%!-PNLC#a0k2xQ4 zKJ0wdxz(k^r5L;Da@ysH%TbqGE(NeFbi?J2%Nv(hE+<@ub5CQn+$-2+ZZmd;dzBl< zOXPLJJGOLQ7W*A`ombDh#`EOo@n`S{;-2!K@E`FX^3S-3wiX@AkqD19Rx=*mcc`l!f2dH}sM@^j>9 z`lrY@kuM{U(yys6sGHTd)tA*R>NH9G4$BY*2Gw=SW4_xYx`Jgtl7FPu05_L?ta|#_%)2xj2ZEB zerMzM_q_n2I zWYJPzrWjIgq*SnlX+3EV(w?UM$==KEP3uqF&pyC@pY|8~OWNP;mNaJi%QUNWbJ`T{ z#H?*Lle21Vw%bg|nvun_jn1jgakX8NOVS>)C2Nn^*5xx{6u3udUuD-T-*M67pE<#tTYly3_ zYZbCGkmG?*rb8z4yYoH&%Ne^4{jX&pXcdJE@oC>(@id^7HpA^!q^?;OFA^jTGQl z>=)`6?3eA=O)BzJ`y~e~AP-|L4md^L6p$g0m#4`!^7rIqd7}IyxlA4_Pn8EzLW6`s z<&+|dOHfD<{9u02fFNy9LQrH7FX%;$eUL|xXHb4nUQlk3e~=)^H&hntA38F0Fm-XL zj`}|IL+G2(5#evBZ>i(L2Zg_hIx2 z;p@V$DIY8EC|i`Tlm_K-+CAkLWry-4&66HX51~(u982$x#H&x!uh3trKdC#^eQJaH zt@;-I68$p$8vV8Ug}O__w{o@OTBTZPqjID2q6S5kL|u(qU^U0;MAQtcqfrJc%(@}^ zPP8<}&DtS`72{zov{uK+Vwf?)7#|%b-RRSkrS>pV}Y0L$Q za}yUQPG??Vo@ZWV3X?7~^~`HbQBryG>g0{d>yu})bgXO1HniOS9M9R+; zl=3Bom`X^cq|TlHmerGz&n{s5q*by#(?JmfZI;^1%c{-VoV6%xZ`P`;QoK>8)oW4R@5w++B=UGu^aVO^;=W(&2_*wD2;^)ORgUibE%Ny*q<&E~=>@Spi zIJ#reuKBKGuvph>*DTi@*Rie{uG3tnyXLw625-@)xQ=w4?7E+Om)p!8%A3e*=lS5a z^RMyqaCz=2?nB-8;*#8V<7#om?h^My<8s`y-FM*%+_&Qt?rL|L`v<{5yit&VPsBeJ zSOmE>&jfD;N%(gHBp?WTgnNVdqHXv>QL(5*6guG@UMBv8j}U*xzr_z0E5xJ4$>I^> zkN8e}oH$K9RICz@6|2Q##1q8t@#Dna;(T$AI9*&JE+P~YZh4jwu6h;{3cUtt;3sjC+$X$}giC{^3aMP0MqEN%NL*TTPI^`v zBny`{5x3O5A-*MUfb&VUcxy-rq!iM9??1hRNjtoE!?~)yc*l@By;Di=yq|g3k-A7T z{TBP-$yVeke)IiS`w_|G{D%9Ttr_V@CF}h9Nyq%o`XLfVuJ#-6x0qZIu#}t@kQ%Tw zU|GPyfO_)Hfck(2^6h|znpXjXbsJqI!Ci8o#-06itemttC?!Nrc2#OzfCu(8|d})Cb~b(5MotAyI8nE3KATt%!bMg}3gAz8`%r+CN5SEsl{|YhpNbUd%!3UDkhDC&V7M zPL9otO^=O^jgKWVM#qhe`yLm|_!ie4*A>?nr(z^9wlFruuZ~|C|04c5<2A!Q!8O4l z!7(8ufuAsoxjJ!U;-w z*x1J9Y{^-ZvnywL&YqkDIeT;d$l0E=B4<_Z%G@=%CvC-Axz++}OU&w!C_ss56 z{<-{v1&0gn6{K?FISHI(P73E?K_X`($F_)BBr4j>u`Bvg)WrF#sHf;7C%-tS__x&R_5T%>67* zk6Y({!u=+$#=Q==*?qhF8C<^mRUFKW#kJrLyH9n$jJt?y#BFnLz#VXB377(BVLF~K z%*HE)PQpl`SeT1f2rI{X2s7~}VTGttREys)-X)$RUMSunt`Tn#TkspjCj27tZ1Fnr zEb%vdH-4qqh$j*Vgdg~3aTgv>=)wQOoAF=p3&h*SU-47K-|_Rse~JGT?-nl=&lJZJ zIy}n>lL)tIJg-u(60cZEq~skTQQ|5w5(*`$lDCAL@teXDPNGq0qZF>R zX^NSOe1#2dkivmBOOc_lr%4nO6;eftLaJ(@1*^POp(?KGI_(NAOw~vWQpr?-Do>SA zRZsI#$s^}R&WT(QNmdKhVQQ(`TP;)1rTeM9)Q*~a^bYy}O_=5`ov-0&l$sv3tHxgA zqzTvbX@pTh^Rui|kIx!|GCMG7p zI?y^g#t?JDx*~RB>=EnI*y`BoxUq3m28A&(ZeASB=!v7mr!koEwD=507Gnov7h@0O z4x=;vWqfXek@0~MlQ1Y@WI}X8cEV>yR6-4N9&=yf_Qbu3yA#JJJ!a-7J!F<84N4lB zG&89(={~a{sW|Bo^BMC2b7E3z(uAZAW?S;TODARUGw>M>8I9?0 z(^uLQXLV$~$U0$j#O9>UA)7B*2|4jOKDOSr=W=AW`kWIv65EqGI@?XTG1}X<4Ymc^ z>$W#+>urOzVcKYIlD1fztW{}SZCh-8?1Jse@=Ee_c{B6o=8d#FnztZ-tKD|Hh52*y zciPq3&Cg$)KPSIFzcv4(-AlXn{M-3Q3PLz?P6p?D!Rvyqf)54h9CJYyXKSIXNLsXw z<5eUn@-EuW*}_p2`4@#2MHJoT(2I?nubgijOR-xC*WRjxZ|_v%QNpu#DWR6Q*)vP* zN|xELv|l^;>D(3e_wARIPb=4z&n|yxKd1bM{ZIQcT(^Cf{g?93<<<_L%1bN8RAf4g zs@UtW&tboVr=!qONwun(27m+>560*`?NRIbU@b@B%$qIi8oB?Y@ zKrQ*VfKdTQ$*%)e%Lx<;#hOBV%llNenlW{rQ)0-jJ8SPPxGQ3P8e4h@v0_T8?A*F zr^-}~QthB*MrK5&MJCXr)Qjo9>UecK-Ba_7o~X&zs5Az8u|})8Pv>b8G%=byO_JsX zJw+3ziPZR6;i7m^^;$&Sg3nG?Gr_K(<$)>C6= z#GbWY96LGoymi|ArLhZRSH;ebof$Vbj=^9uY#6iRSPWZ6E`t@H&nRSY;|DQz#P5!8 zV!V(45N~0WCyYqwXOtv#Go~c;F@7<|Bn(Yh$Xvucl=ug80dq0)Na9=OilooXKa$=s z7bk5@TATEoxgcqB()y%DNgI-0Fbi2ltX;{=S&LaqSx=J(rJP|^qz+FVnaW}hVB4{a zQzxW4u}f1O*fUZ`rDn62&W}n<&zP6-lda3>W+!GyGp1$yo>7_Mn^BaJozcUN%D9#B zm0g}ODE@8RW@sF*4gxDnX~M(&)7I*qpS-yr)_L)^KzPVp6AT6 zoo&0xc7tta?r`laZM*FlZI$+s?PTo??LzH6+sC$*+L_uXwnMZPc?gbT;hdudxtwecv2a`A_QIH=_@cz3xFStaN>K;r0>`@8uGqe~ zn=_(#NO5sVZb@*7yM2C%Ux~70c}Y>p@RIV9(vlG+qe~)6VoRb*HVs~7zj5$0`^WZ= z?3b4t?AMj|+4tK2vj0)uU(R&Mt%z}$QlWLocG%|drJ}pyfP+=#FNdzm07rkvo=Q~N zT`70`RQat^;^^zRscNF*%WBn-;vw&b?s57!)Hw9Z(AmQ|BU)S^x;}Az;JO5R;rh{a zF?_uD!}X=>GuNf?q2GP%2bYMW;0Uf;+(|7JIl7TnJyq(UZz2zhM4*{Lkb9{DEu7CD=;SI(g9mM;&! z9(*f!Rq(Ok1C$e#zbUVRF9qKVz8hQ{yfe5p_%!7ZrEA)Y;Ev#}!N)0QDI0>-)bXJ^ zLY1_yiY`SoO+#~uu#VtH1Vwm7I7UR$Vk4p>h!HjszZ3%_R;re%UeFe+ma25BC90XK z>8iP^x3q<-=QMlzn#k4kTy?fOU7e#Isj1RbYX)mZXohMgYC7p<8rID58gdjf`k)mh z`jFKtt25EvR&~)Yqsi9eVY)p>z)R;omw3xlIhhk61Hdw#1zHNOp z_He8nV^Q3KID5umh9th4A&swO_{4k1moen=6^u{uU*l&dY)hD%KxeK>AToC))F!M> zpfKkroKCDuT*_R|T)|w${KUMKbSi1&{JTk=%>7A!C4FZePijp1!fa03on&ODu%eR3 zB#%ulVU@Bbvc|K1XRTlfQVLTpvIeJ=rp!(ivqkKAsdj1O*#py3(#&j<4bJ95#@Y;; z&8m#68P+!IGWKMg%s8I0E8}&>gN%+0hD}|@!Hh>4t208fFWFqTxoxA$mSrbohi7-# z#AS1{qij*mhnzs$?i__JmirkF&A!jk*hbra$bDzKS-VWTQ~TO>i*}86h4z5T|B&4gyI*!z1=Ipu!HI(71%;d)g*yxP za0-fcat0Tb7Cq)X;)sf;6;CXlUM#d*Os@Go9yqF+d6O@@+;yTDl3W{iXBcn45&Qoz^Sya zbgm>g20Mm0hC7n0d>nf#aaB_tFIJtes;fFxb*XBy&qAL+NV|NN z`^+O%`shgcK9haskZODu_-yl8M_NSM;IqYNDd{}P&v%ypX8&dWOa0gQ-|&wm@AseU zuOy%GpYMOd|FHi`IG5y~{yY5l`Ja*>mvboR<$ufVDF@}ukS2<2h;ztu$`y)Lh@N5$ zwhs9k>=AN}@*udGVjJ=+_!dPPa)-hWX{6kwNJ9F8KLmS+2t(?e-UnxeriW&S#!ydD z*%4I{6CyHc18J!=Ev+RYn^qK|iWnP_Pg@yb6)`1ZcEs|CG+KVd_=qpGL#j`-U8;ks zk2E9gFV$YvPSt1Hciy1L+{lfQ$?B<^?{p*m8-0mpp5`;3!N6_;*?=k zZ8Z;n+Ulp(A2EZhSHzT9--vCCy%gITdo%V*>;Oh>+}5~lalbL5;zu*W;uZ1H@xL=B zG9u%T#2-pHo?y%5GxZ5JOb2FT!T{#61R;~d6fxH_*D+T!*D$XoHYQ$4ypeb{@pj_P z#O=)9Bop&<(#xcNCdTSzK1sq4#0~6Y-b*5~UME?S2rO)1f08+=i`kuol72BiCcR0T zoO~#`Gg;57N*SI~oia3KM9P}f9jU8Q*QKsbox*0@;4(Qjy%|iK?hI!eV&(uFcN>8X z-^L}AkQta6l=(SBWFxZ)&UCOLWqR1S*fiNR+sw#ru(@k<$7XD{qis>n+ZYgXf$sI8|__psv89P*&(!IG}KM;R4R_ z!o8faMZ=2@aGr4%7B4B*mz*xSSn{OgO^L6)k9~W|y%K->MN(n^m?y#v2e={TTj zgkycxqpG=%vmIwSKC8M_^}MRy@l^H6>L$k@)ju6a3>h}$_aPNS!krky4msh5Sr0qu z)I0RJ6MP?gD1O+y;T{A28vf^SF4uv(5tDIwTo>*N-Wnc7euxJSKh0wYzSLu| zhZ#2xKOX-ZejM=hNhK#^-`hv(F`;jXvvr){xHmwD?@}34jw@w)tQ3&nM@RbIDoc zC;oT+Z}|@*clckGyHH#ydiizv07|3$vYZ^KrU(NoLZU;mLLO6MLIOixQbvXh3b{{7 z2^k&ojPi!^n(~%%j}jVUpo|R}7!nflgpwWdh!Pj_TSyzFg;Erf7dj|(K6L^0AhnK~ zM;lH%7g0_dOuHB{j5d;1MLQYM7Ev2fO{8AJ6*J*ZYwrc26%qXSR>?rT((CCopi0JE9JEF_2E37xf46*)iw7q3eTW$NV z-9n2Mmk_Ezq0|c%N?S^4DU?#05LdF|E3zU)Nk||G9s)^_5WI5NUGKWPySux)kiDK~ z?|0@uv)_5Yz3>5s4-7LIvaaj={f^^wW$^=V2Hp<5Huv@18-aJ`4hmY9y()V$7nhTr zqYFak7=!la?9Ta^Gd6f?@SAyW=OqWX2Vc(ZgLs(RKO`p4H^e_AAS5YoM4m3>P>3{t z!@{)CsiEr@#)Yn4h(s|$XNFA;%M6oY@-aig=3pj;(J^uifSD3T#Vo+g!dP)P!s>8~ zaSgaTVfVt?a11meJNku8mwBIkm8*u%WPDl&jD$DjNs@CPht- z`pbw01_Qo83NR5E3nT;HK!0FK)FIYCQ9D@6q7JfFL@kec9<_%3FWVE<8x_Tgg7c6KU=DH? zaxOAK7$V$~EOsOY)~C+_Mqa!AsU z`$H1?P8qgkn6H;L-WXpSuk$*aa3P`CYfRFlq)|yzl2VeUCZ&$tH!7yz&QXK=?H+~f z_h{Vhad*ev8Fy>khRU1c_VzFIxt~n+VfZ{uru)20rul43xiazU#5msz6E99YH}U$! zSl@}h##C$SC*KvRUwzwBEvYrB?|k3*R;9l3b*FZvzV-d=Yft^=yE--3uW;&ozkoEg z|MeNyW;~rC^DpsN`rn*!YsRY?a{q5LrWuRt;H!0VasXMUdfYG&VnxGF*b zF`z4;Xx7hw^_iZ4Et!7<)@Ei6m_49;cJ>_9oVjzB&RI5RdDcH!vcOeY8?vl{PXnI? zewh1X?#H=hLGyFA1#J)79dsz?Q_km{U-L49zs>tI51H$i8=l)0+!=g3_f~F5NLWZv z$k@Dvd66LzAvp`aEf|xp%HOf@#6nAGdFaBhMobe19ae@}gK5R&hhf6jV%~+l2s@2D zhkG4%7WXLZS=d3`Cfsq{o3Km*C43fP8lf;ei$Dseg%iWq5PHLhk^D)4q&^XSBQnWz zB3xu<#5eMH@{q_JDw>)RDU9Sr&ZNzz@quEX5D)??zz9eI1)v1jKrVm-06+kwMU??! zV13jP*1D(->~-wTY%jzx#6ZpyM4U!saxWp~ zaW5nO<;F&%q8CIfqUF&`c#YBa=sx_$F7N{K9CDiQJaVq^2=WYaitrM0O3Vh4cff=p-F-InX%Gi`^~86?cgMTpo8uS7 z8@y&DC3~lMPft2HYT=l|F`vgR?%&;C;KTCymi#pNRr2%X{wX}4pYXn5kYk)-Ils9^8}%Ys)0Kg)fbJ1`_Bq%aSi$IqkX&0DZ_fh)uv(i-w>!T9|9 zmJ=c87G{NJhsL0=VWhA#n9UeM*lx^03^9xx_9^To?j7y}?iwx_e+!pO$RnT#3kjPD z8wpzoz7c7pi6p;>aioBV$)rIcqev<;D}o*2O*s^CEMgUfOdT4T7`dN%keWwZOWPP( zOP^VoUbw1o5im2#0c1oq0d>GSU^lP>$cf61>I81EuCu%mBM?c5Le47AEsh(p4sjK6 z3xVg}L=dLQDIxaemm&(iJH;b49zO{rG|Wj_6RnC)yWG zL|y{X$V1?6@C8)HXp<-{=9I`woFpD0w#ICT ze~@q|VY2tMq$%E_N<-4;BzfgxZ}G?@qXwk-r39ovJ`$fhDWiNx`#zj_f8x2+E2)oD zuctmr?c?X?=i}Gk??&p?)Jv(G{A&D%rjJceO#eKiUxr^sREB@Rk<62s$1_i4u9|Z! z>u44-dti2Kc6<;&hnpkHxf;X@E(~S|ql1~jQ*tNgt`3e5f%4))q*mN)W{eEn+igD`yjD8|M>e31TtgF@ne)7#$N$ik{2sjvm1u z#z*qw_|g2k(f(k6`|15=rrZ2e)1Cf^jDUdfjF61zjIfLW8GZo+0?uY$ z$UKvIF7slh?||Cbp8{n$3v%b?5^~oECxna$NeU^;D|$ zDAo%Lg~`I+VZ5<|upn#%)(;zkMdHKpeZvLeAc05NO%RgUq=*P92@$~}AtSh?g(M8Q zHsVA?IrSK|B61iLAJvZ;&GcjTXA+}614Ef!%z?~7%p~SuCN*jsyFbDgF^Q9cn9NDx z?BML;EJgg`yhaR;KFp;?FXYjpC-9d?uZ~_8eUkq$`UL+7e>9i|7J#FX0fOIPKfxcc z7gQi+NF~xs@C_U!_z6Y{LIobMk04MWMm|Hf2$u<8BHtiiAU`18qJtt^3{}h>vO7M? z>siA5r0+>Z-Xr>57fb57(4gNeDATygNIkdYykd9`^Bc@=p;s0cL%I{`Zqs|rJ4 zqp(A;1MyzrqVVSMJp?t$K(a=JQNk&7+U`Pb)E9se#flooPsRHexOr7jZ5^ zAE}F+!(7P3Gf_-&R2CDAl0>C*GC2o0m57aq&j?O5m51SPkG{*dAj^6G+N|G13M0NI?W+1s+& zxs2Sexg}wSu$frD@NxKBLOrRP)Z3VFMtSO5?~NXcgaj_6Ob`?kEK;>bFMk8gS3Krq_8+j&#Xr%qgi|o|2khISRS)Xyskf(9u}}BBM)mNbdhjm9<78q z4RMxxm%BeY8AOOeVpha#i@7r(CGt5NDOw_08DkJ926g9EFb_r#7CC~7a!+ww;boDb zF-t`Oh!R1oI6P)LqJT34@gM5o|Mde!LG?v>qq0zisQ4zla0zn0VoEl0ks&F3BR-a!e-%4;vVCMkzSLdC`lA0 zrGSQ^;b=eLfpH05y$X zgL0x;P>rZ&)DqM|)B)6C)G^d?)LGOi)M>c0nT45+0WlJc6a&F$x^EaCtS|g-_8Z%a z^{RvwHi|ugSIujMpT0YJPkA5se&9$jR?HUb#HYnq#J9yE&}2v~AFW7L%uvizP!u%9 zT1A~Q28BRHp(0U8)C|-@6dHv>J%!tJS5Q|`*HG6{k5NxhH&ORc*_gSQT8tI57V{JH z3-bdL05^Afu>Em9xM+B~cOR99n~!7Rm^c|uirbBQk9&gqjC%v0R9@m<;Qru#!0gd$ z+%w!O+$Y>e`1JA=_ZIgXcbj;Nh@gz8q)=284TV4}r=`hAAWiqc4C2 zqTy#_02{}~v$1Rpdl`IR84r#HM}uR)aUe&0RvZR}LTS)!C=<$nHYh5TwaPoHXDXz6 zm>LGd)XC};^+fd~b)DL%S+Cizd8fIpeWd-Yovz!bQ|V9ZhoXj|uqYf#h-yRqgIbPS zhVr2N(J|-%bQC%W9f}S^hoC>9zM+1jKA=9M{-XM#2cYL;=3#O$xflVa2vd*Qh>6CA zVZ*V(SOj({)(;nli^a)tML2(a2tE)WfDgs@#Sg&u!-wI6@P2r2d@$Yzer7!&-Xq>6 zP9i0fMv}&n#*!wGMv-DD11VD}X_N{|F`Qo-DLOd2G*d`4GOe0cL#w3K(tgnpbRGR( zp$|jDP{E_yLBLJm8W7A5WCyWB*&H^FO=hR^Uc&dgH@vsJPyEk(e{d!^8B77EfN^53 zxI~PA3Lz3ifdGgJ6+i@t1<{~|5DJpZ0Y#yrRP$4>H2g56mRZa8mi0Axn*vSYrb(tU zQ?04aWHUWBzcPO||1k$z23dw#q!xvx)FQ6RtjVw8)Rfi6xhA4kq86gj=y`AljDenv zrlASwWOM-rlXnY31}2L6-_}GqI1zybUu9RUWid+wqyRq zBw`b=aF_r;xz=D;VOL|M8$FnkZJvGD;zhPNULjG#jmsW~YsXbD`PvS@aCLgYKj^ z({1$Eg@JGqRL!t5zBBp(!vHRPXVL;X;0AC8xDK3!xw+TC5BPi+&JJT&uv^(Kwu!A_ z*RmySE8D;>W$V~Vb|YKHcC)4I7IqWc$*y8gTkOAM0 zazG~h#3g||@p)Na~rl35xpb(VTdUG1gXKGvzW92>#bW#iV%>$lXeX*ku;Vc%#!WItvPD?WtwqVuUFdqW5?zLd z&>iSHbQQWBEk~=-HE1Ea1nokXqU~^FNsq>3uowbHh|yv+m}1Oc%wNn5Y#Medb~-j0 zJ06>gosHdx-HpZK@HiX}gX810xMG|RzA0V7UB@Z$YP<_>8n)m~aMMr=cMTiyRd@s3 zWh%mJ@HTuqo{bma>+nW=1O6AW9A0QGA_++>5}(9{PfCL+^C|NvxsdoOzroNnA?A7`IsZ)4wLZ(`qIUt?cqA7ig&pJQk6R=_#NFJ2@+ z0=~ET@V)rK{672;eiT1|@5>JY2Y?c=4r~F7z)nyJYQbvwhTaOwKsi_j)`F#=15|_U zU=wHnMewY2xR@^n#bx3MXb|)mdI5cgHbG~gr_dH?FSHNZ13iM)Kv$v5&<^Mbv=cfA zt%t5dN1>0Lu9ntRPbmMxYpOPgh#Wv`{jveUB3vevT9 zvca;$vedHCvd{9b1yxm4H3TcDIo)v1e#L&#zRj`2vB|OBaol;)sckW}40dI@X1Qj# z=DOy%cDi1;u&s>N9@IM2delSoHuMJce)I$MMf7>}UG!n}cJvMOee@~xb@Y1l1@sa0 zA@nWuIrKfak4M5ZVw{*o7!)=On}=P9&Brdl&chzZp2Qx;9>fOWNVpPQJMK1aE&c$0 zCH@@#Bz_0n(A$DPjz5Ioi(idDh(Cfqf!}~%gWrVT4Y&7J;P>M_L<^~ow1~8nw1jky zw4T&NB2X|CGzCQ|pxmL{pm->cDK9AA)TfkJlv|W%l)lv86d`RXZ8Upk78 zrZ1!~px>llqJJ+O!boHcV;C8W7|R*I7=FMwfCtn7m4FqVB~$}8pcV*c4q?VJ6Pdxx zk?=`f&J-}&%p7JG6Jm;)A|{tPn|+6k;P`X?z#W;soOkTMY+uet_ILJs_8WFD`wKga zVMoGp?rbvP%V*PD+>*fE* zlNAbuOrcV|R6I~TRQ#(vrQEIDtURkcpxmMys2-Lu!>>S9fm zrdm^@IiWeGIjlLV>8t&z`JwUG4$$^${%Cx)ceGx`k;Q?O`C1}|fOV;`fx(bw3|=wnPPYbe`a7HSGIg_%-K*Gx}Mw@imkM@(l- z4^8m4aML~06VqMO7jwMjxy8G@fB9p}ZOb!Dzw)ORuX6wLOP1@FkCwjWcPv*d7cKWJ zmo4`#?=3#%1y#DLk}7@G!Wwanx%Nt}pViCiZSA%#vZ?Bo^;_%DHk@hrV1H(RWPfFU zYJY2gZGU2aVL#{#H;bDnitS_)hXT=}krE_SQ1^>pjo*3Yed-7DR<-S^$D zwzf7hY6~i`AgEw?!F%+Gg2aL!=uvQ2%%>n7ZjB8r2rmdL_=WCM5Lqy?;3G`94=9K! zKo)#PzeA6Mn}XsWt_RnJyN`Q; z4<+;^OeOrmKgEB-`w)KNBjFVKE&d_ipYRS&r=Q`I2)=~BaJuD9>PI?6x zhfqiqGKESBqavw;sl%v)s1ejRlvwI;>L_X=HIV9071PM{jkGPa?X<15^|WoYowOaa zesm0-Krf)brT?Y>roW=Upnsr$qxUWRLVs5{jxmO@2F|2cFj9ayL zri3YE%9s_*9%ehUp4rT_F)Nua<~;UiwjT!;DseJ66F3CU98L}g&6&@c&MDx`Z$7V$caV3KH-|r;kLG9bvHW~~Hh(t%2R{;w0;9n=L7E^}kR!kerU~W< z@Pbi-ErMu4K71pcDfj{w2r>off-J#kLAD@5fE3IYSjDyCf5pS0Bxocw0!n~BKq5(t zq()LL;Y*4oS_wtcB!MKg5~+kLQAvano5U*7Nh&2gNwegX{D%CA{HFYb{JeacLZ|qn z_^J4-_@Vf&s8YUF`m5e4A1Gfb@4*k}LN#4YRa4aa)JN6F)tl8@)O*!?)H~IO)H~F5 znvI%MnzNd7no-(e+F0#K?MrQPaZ+(w@sQ%l#Z!wDi^mnm77r_)SWM6r=$JY{N7ONN zg*uXss(Ye)tb4AzuY0C@sk@=8(AVg1>U~PWN@@*p#%SXJV}LQ%7;lU;h8m-c1C4`? zLB<&4Amj8hpscyAmT#`Hi`cCDbz7GR88}GS;%&GNv3`jxWzEPb)7dpI<(ud~!Lud}8^u^3?L^ z^33v-@{#3P<@hRV)#|FIs(-3hRoSYRR&`d%YqT}y8cU6_MpuKhhFXKIfz~K%fHm40 zVMSO&tYOw%o8G3gEw(MOY3tWETxz(|aK2%ay|2T^@!j6X@yq_j?(O(%@9+3wZ*e?y z+;u#1V4Vw{`OX{8yUy#*JI<6^mJu0j{rMRqY(tQhk3WEy=6(S1b3&RRW6-E}u6ebiV z6-F06DokUfGA1#mGX8}V27m_wav90kY4S;ASy z(ZaJdH)l1c2%e(Xa>_X!95H7lr-D<%Y2z&BtmQOv>>LxPgd^k#IC^-hL*!w26ds8O z5YRj_kHEw8I(Z$uwY>AZ)4VghbG$-6mCxl1_~sVJd~V~ zJdymC{F3yS9+#Y!Y>-@(te4!A{FLmFe3yKc9F<&>43ut@+>*SO+>pGIe3ZPCypSA| z9FeS+ypimeJd^yC`xgZi{guC$&r}!{X2oFTASFT>p^Q;hEBmVgRNg8dRj)Eg^+5Ga z^<6bs9k1r8`D(UWuC}YMsIRKGsZXiTsv9&{G?z5DHB+@2+H`HIHcdNSD=y9|MiujP z0-Z$nTi2*>(Z`mIEE!ZXwq!&}Ov%ua@gvNL7p$}W`+HszUeOcTrq^KkPR^C)w&Il=5@nPQo0NwrL~G?aIj zyUUBqmz2B8_m;0IZ!EW#Hu_tLHN`s4I?OuA8gHF%quN&4*4ozC zR@zqER@lILe*M1sUG=vc?l;6Zf*b=K(T?GcVU8h=P)C$ws3X=9;)r)39D^K@ju(!% zj=v6)^PKam^O^Ip^SSe_^QE)4MdVVul&)fz+@*49Tv`|8I^cTcdg*$gzpwXld%LL} zPdnA!W!=lVcXux-s4u82Xe)5SZA({yyP&jgdRc$VKbo}p1QAv^QTfmEny9zjSxhdKpst= zOimytlT*lXqycxjw;q7;2p zB^@Hoke-&-N@JubDMvb2s*nn$fHbCPV9|)8t}xZ>n#o@2MZCOEdVDPDs<%~Fs%}?3sk%^guZmQ2u;x(Brke6vSM3Zd(@L;1tm)R- zR=kyFEwJWTCtIgmQ>{cR%Vx1{uqb>>(ABS ztv_9VtNvpBnflxH$LfDK{Al>o&}kp{InO&I8>1SB zH~KdYZ47D*ZS-vnYiw?@x74*bTbf!LTN+xdt_D|~%jl|fRk`Y23Ri{epzEmXi0hc^ zxa+;^lj}@tf47g@&;8u}%KhH`(*4Q(*1f)MUEAUAv)vcFEvR*H&vG-|v^-j{uV8J# zzXiJsHWVB$D8p)DhWS4B8TJYG5%w{50`5NH1>rK`8Q~n^4&gZABH=ON3E@5A7U3b` zDB&34Dd8j`oD@M~kTEckMIuwlc(RzBPnMAL$ZRr}ynqZ+4pL82&rtVK_fq%3t;$2x z%~WBbtT3OUW1M81V1xq{U@fp77|04?<+6scJ~Icgelq*A{8%VfK5H&(AuEG5nU%x} zV)?M9vf|kB>cN}*ncPuxAJD3~E4dSM95!`654;SL~@HX;V`L+CNehuHn zui(4+^?Yxz8BQXpLamS~#0%BJWT8cvClm<9LWU40)CsGEg>Y_66V4MW#0SLt#h1l@ z#Y?0cq?e`JrH7;rX_xf4^r&>1)Ggg3-6dTky(o1_JEcdYSEQ?@E2LYcs3J;{u!vhU zzX&X%7ePh*qWmIW5u+%lNKiy9ny$bqrYf_Qvy>T1nTo0+r~nm1HCr`HMN!dIbd^S3 ztnQ=vpzf>rr2eS>rS_=5s6VUkY3^%iTCtX|WoS8ComQlUv~(>`E6}pF@3alY8;e_u z-Nm-z+G0bov$(0atXQur)0uT+EB5LJ>j&y%^^y8v`l0$B{UW`#QTUEBQ?4L5CiEOGeRhWv*a&xhnXO^0kX0cgk)|>g} z{+4+bONF*#W<^Scx`JOJu9#l|RnRKZE2dPiDmWFw3Q0vy1*3{y1yud4im3Lh_O0$y z-COm$%B$MD+NV08no@JW=1R@YnmaW&YVOuNtT|P4wdPVyXYJ!!u~lJJTKQI?Rc@`e z8mt`aB5RSg(kijCtx_vw)mcld8CHRnZL`{HZKrI#W1a);KsgpVFpdnz zY)7~=+6g&DPNDOpb7~{0F|BcCV`gJUBdu{kBexOLIJt3ti-f-O=K%sN3J9r$$!a-lz2)4MMM!& z9#WrCUsA8b1mq3sW2%~V4|Whdq&=lQqrIR#qCKJArv=g3^oqjjLK=euQwSsmo^cuO zJq7?dfE?Hf%wx@BEnsO`Y!-(Fu&69DOU)Y1uI7@tc_fj8OiY!ewQ8ru_B^x7~Aghs$mc5bo zm3@+)k$#sp7qt}`i>yTzMU6!nibjP?F;`ijLg8&W`M?D6QOyi zd910>8ntCwmiAzAPw|T4Eyb&fmlikZ?7Dj0czud~wSJZUt^U1!aY;)_U5UD+wWO=0 zxx`+wqolf|qGYFGuVJ5Iw{fGf)412T&$!5V%DC0I*|^EL%ech2-?+`V!?@0P$#~qj z)+jG~Q1-Cwei_3=HC3Am%qFwlTw}JH%gh$@bMr5=uO-ql)Uv>GvSNS5v5F%VZ57=W zn=3jiPFL)xI8br9!cnoO;$p?Aidofzt7lZlS0`3au0~c9s;5?us{UN#Rr{spXU&hA zzcnvv2G+i>S#GsiyRA#D_14AKChI@e)z)R!l~%XaX>GTzu!?N;Hk<9T?V|0HOS&Nq;sfK?JRa`ohoN>mzt4^U@_PDV`e1$+d@cA{;DzzS_+$EG z?qI61H896tkF{byU^nB&6K4>o!94IR;$-3|B94e6l87o|Dscia8GftkA$OCvkUL=t zcolg$Swiur{iY6}eWeD{{AllJZ(!%fYZ{l%qjwcH7ygH;VZlA#Ta5dRyNt(-2aH^x z2>2J+2549yOUf!_5m*+MfhA{&S*37;-@#hLYGAEpwX^U#c=5FTJ za2?!@+-2M*ZVPu6w~@P^yN+q5?5W{Ezsk_?UQ>%pj|fVPt$6UREWO$Y`=+nN-#w z)63*CuB=r?mR*&~WK0<#>nU1Ww5e!i5mC{hKq*N|p{h<*t}0cTRAuT|%_z+v z*OhE4Ia0E<g^CEM**=>%loLM=r@?FK)%5jwuu$gLjWn5)s<(rDcN>7DP zrKMU`t*K^K^Q()i1=W;lQgwbc4h|#>YeH*%Yr|_JYNKicYWG+#S&v(fSX->8tv{@r zttYLAtoyASt=Ft)t=p|Tt+%cDHk1vrJ+R%gJ+nQry|KNuJ+eKv-Lbv0J+w*cd+L|g zk7)>P7}5~m5YjNJVOT?4!_bCZ4MXgM?8EG%>?7=>?St(@?TL1wL+TJXBo3`3**VUc zt} zwXW6P8s{G49_-%Y4rq&L3vWZV-EF(jcE9a*+r_r4ZI{|^w*A}wuKj&`Qb%^j+zxGr ztiz|vzstL8RrkK`bKNV+*q(3<5)+9D#YACDnAMoO7$>#~`x#3iiitX+kjNz#6GcP; z%%c?%WkiU`CTfTW$@|F1$w$dj$`IOQS~2YdEtsAMY-TxGt5{anS=M&eKGrGL305-u zDEA=uGiH z(?oMcY!OSeKr~M@MFfa)MHI1C+#fn5+ay~oJ1qN0c2KrLwncV8wo|rUwp_MIwpF&T z=w#7_qDw_5imn#zEILdBfk&2-Ik%~Q=H zZMU{ZyG;9{_*U_o;^)Q7bqn<}+2*njWgpAlm5nrQF|RVOH2*gHS;!WOC9jfFnOiBS6jo+c z&aaeIiYghE<<&ja-PKE~>#JEcqiZMDCf1IrjjLTpN?& zwQrqQ-FNF->u2jX>mRGwCb2cyzS!nAq%=%!nA0$=VM@ac`viNMeUg2peYsujP&tYn z3Wvd=cT9FRI%Atsn|?G-YMRg#-}I+(OjEz6flZ-JBbwrxqMF7x#Wd}1S>amgTJ5^( z3T_Q+MYIOBMzn^s(pu@Q{8o2svOCQ^!#&kK&OObY;0|pY**3IoP+MHvz_zz-kJ>)A z?P%ZA{=5Bc`^XMwM^xAFt`S`$yTZE$b=~N`(p}%v*)tk53=@Z$i1~_bfO$p-v65I# zv=gtAFOx5l&yka9qiG2=J#8voK;Kiit8j1OjzTdbAGWieWF2B1XFX$`W=(`0bm!o% z)(!3h?g!X`@E@M=5%(?E!Yk+9!v zA^Rx1FMA-nEqfw+EqgCB$==8w%3jK@%HGL7$etJ7FM3z>tmtXc+oCr`Uy2?SO;O}1 z9v0uX&}}qFt@ss9mdFpM zrInqP&dTP>4V4|0)s-tNt(D6w!Kwq*7pu2aU#dP?xuvusM+FWX<+AKMSxZ`;cH`3(yiavSm*=Grst zbL`pnS@trA(NW9W14fRv)kF}T-ao38rh_7%4^~^EoeeEl{P_5v?h5IwF%#J zs^xUcnU)hR$67YIcDSy&2Dc7vUDSHHHOIZ(J*BO0yQgh^$C{4S9qT$~bj|9j>ptIo zulr8--R|4n89fVn9^qPu>xnmEgKrv*0X$|+Vt?U&;`VZVc)z&6x!<|}^6v0QfLq`; z{$bH>(GJle(R$Ga5g;xWZxH*-2grM6KJs6(FnNglchR4s-l88xTBTaKLbYENr6y{~ z8mwlocE5JFc8@k#w_eB6v-M2<5&cp97(G z>}T2UGObBtI%_^}4zQfBTvd6t@t9c4;56_XxD7x9q2WNoeEULswWHio<5=Td>%8D>Zn8GHnwB(eXl>^UI_02|1STj=&tCN=(1>#e3*Qse4u=YJW7s~`zV4GWW^Fi zu~M(xt2(86tg2R5so~>_=D0RSw@D|~3-uX>S%x&jOv6+|ra@dPDb! zWjo7ul-)4Dth`(Ks`6^(lgg)+-z$Gt_pb@6`B~jt&8!7#iM5Q{*>&_fa^3toY8|Q$ zU6)fwsq?E3s5dky8mb#K4N!x=LDhh_qwMSKR!5y$u%f+r{cqbcwp4uEy@x?xyao-9NDZ61T&g*B;^%awaW{W~6B6%^q zXZ$4ajVME&ET1S3Rg@^ttJoTzW`u6EZme#M?zsM&KHrdKSZH`}_+VIXHch&x=mDfRa{5n}3P$!15^Pu|L26IDY zgQa1s^RyG$?A`pg>0wK9>k&7$4b!%=ZA^P|`_%R+?Gc?pox1LA-7mT)^Z-4a9#+p( zOd94O@c{7j)LhmU80@9C z(miF-RpY7#Rt>L-uZgP}RwJr~YWLQv>a=ynx`=vfLw!SC17P1^-{lT|2tEy5D!l z^w4|wJz!5dW(MX2OwgSqmeH;hUMhswsjw1w0b-UIBPYvE$|owTTB?CGTXakVU??>i zP4~@;T3PKMxT=MykFIw%G&Qj7xz4%Gm}YGA%+`$7!>tEf#cp^=+rF^vz2S$7Z>dh{xdx7bXJ{&Ql{S|?GN)C| zs!FM`);Sz@2dA0Y%xxC5%G~reYCEl+)PA}BO8dojd?%@s*!i@pr~6CyMdC~HSRO-O zq)}+DYYWP1%2I2l)v#-t>Kf}@by~}y`U6f;^PJY)*14_6TIFt_J-&n70d)TC`qgFV zHg@~=XnPbrpBV@-M-CaJh8Z;nY8N*gbSj$V%|&iT+qL%L9cQ|^@>|;WI&JgGR(3nD zy|c8lZgs;^r?I)T+0d-*Ebjc?jklFG59}VP5Vfat4C)@*t@w{m`+t5U^iA+e@J{HL z&_BT^!8gG#!9O7&VL(D)LQn!+Oiu_+2>Y*rJ~AOH0g(_58-8LE1}4DLzl0$Pu)aPa zE@5r#|NM3T*Z0YRp1#Rm$-(ey-9es#o?)K8p5)#Uv5Bz-y_jBX@4tQUy@Xz3FR3@B zH!^l&Z$#{0&;S1P^Z0wF^rrUGJcXXAy=lFX$x+GEdZ+h>CWj@@=uPhpNFI*FC@m!+Mi2fsvCmu^&oVX})Z{nWBr4#$dWx#*WEch>) z-<#LFuou<4pf|r4=wX8NiJu&wIbzO;*(3Z%IOCe)8si*suDI5? zwm5ejA{Ji$;Ys&I#S41-d7gU0lOK2GHtal&3vuekT>q|QlQle#CJo3waR z18jOdGHGKU3WkPZUcpBvdtyUkJ#0g+OSC4| zCZ@y2?XigoiGvfH6JbYrVoPFRVrXI{Y~z+BN)zRYvcv+|=_X2K!EVvViBA)sBo-wq z5|xSn&nxu**Vj-_m?zv5;feG_c@Umx57HCkVaCD3)i_QZH;xy_kAvgqJEC)tzY zndq71ne3V3N%c(iq3d%yR8tip$3Q|nRhW8TNT zPk5j7?w{h5;tLZ${xI`1ASEy*C?z;0BqcN@EG0Z8A|)~Ng0?jC}nWU zkpD6Tu_gUVMx-RAj7%Aoa?|Ui*D0^#UZ=hOzg{yY?9O2)a1yu)JlLHB zCJ11Ujw(T&pn<&@#R<9ueL_isA;Fj+hj&#d;*@c!ICY#RP8(Mor;Gc){_p?K59Xlg zsIQoTI1A1f6^NRLsz+TXO6f`<1XYa*MvX@`p$?%=qE4XPm_Jwuw-Xmj@}`WXgwj2Q z4|!X}XT*`vEJX?`9rXfr2lW#55cZwkLIq;|v4e5>xOmcVQZ!`(#Z0T9g~Qe&6X)-CDVxkx*m6Q@nDMbtW z+=#R&*w$vC>**!*Qu_TuHEdh(0tUi7;Z@)Ya2}wu8Eh__#pbiwu(6TJrm}hLsl4~R zcf1U68cfp60H=eqz;tjDh=g(=EJTOUP#%Pb7C`w>k({B}s@SGzP>xoYY1Dd5S+T`n zF#_bg4o(4+zII$Peky)69*@t)$KVI!6Y)s=OgtJt8$S}C zfS-qdM|@6vN}Nr~hFPxpqy;1_$%m3jSx#|N7QtSM2FenOgJP$wpe&{|&>CqYVW(6* z-A=Ee*U@WX6Tg*SMQ@_F&>s{AFoGF%j9P|`QNyTb^aqB(?4<^{1Y86z0B?a8z&qeG z@DO+cJO+NjdpEuVzkxo?FTiwmIorl=VB6Wv>}qxqY?{)u<*;k2hOK2A*$TFb{eky| z_nG&J_m!6o&I2hR0n7(;VT;T{kP0pUFNkBHflx67LSm=_s)OuM5hR0zP&*`ns-YIB z6XHWkhzFHG4UkH%mva>R6?+wj6~`0@6}uEi6)nnEWs|a5*{GbZo~CYAx2VmUnYziQ z7E_zaVQMsWnj99prP9)1aax)zR!h01!cuHIY2R<}aV&N$b96gaI2JjQT_ar+T;p7m zP;RsVU5PfrUczd$2CYKZ!j3{MIv?GN7NOhGIZrx%lre!!08zND`8mR78@KG$a#AO)4QNNh+8j6OfFgKuR`c8)X;eJmnl^ zGvy5BAZ0sc59KiB8f6n~E<8XvLD@<Oxl)}92J>V%YjyZxE!<@(* zz?{qsfGM>}Fq<}%IhGmE3}S{d$1@|CVa!0LKg_B{vS-2!?pF3i_CEG%*x`MOy`H^= zy@9=(y^6h&y@NfIx01J;=g&Fl0`|*GCy!iw8LHz#wzq~MhDE}Kj0IUQdumNlY zHDC$6y`>6fzExm7Xan^yf$N0n+j7tdn!#dF2lL>GVw1R3d`~1R&|&Bp^cMOAU4rgHTOljd1(~3G&;ck}auzxcZG?V8=b@L-MW|Ws zmRHJ~tUrLvd1ZM{!AUMR7}UMsZQ`k8-hcopQNyiE@#0 zt+GpbSM@?QOP#6CP}|gQ^#;vn%}31#%~#D2?H}z=?QiWb?RV`Q-7MWvU9rAI|68v% z{54E5*-h(BOHDgW+f3_Bv6e-a1C}+Gc8lB6VcBL`VOek4W9hc+vTU`iv@Eu)vK+Gf zV>xWuZdqcHSIMd*RnjV=?UMbp{j&Y6{hIx%{kna#W2<9>V~b;>W14HGE8R8SmE}5% zK8n7K-i$tpK8-$zzJk7kzKPzA-h#f3K90VI-i1DZ-idyLo(pqV2e5~*GjRr7E6#;$ z!?|(0@Qd;5V7KOZ{9$}h`M>z}_-pv>_@nq^uxC?_--BO*--lP=@8LJ%w~@L@J*0m~ zHc~68i_}4CCb>y=QX6R*sh!k9`a%w(;3y9%_bBfueW)KPcPYOpe<^<`-zZNgpD5oc zw<#|vpDAA{4=BBqFO;{Gm9%{N1^Ny88TxhlY5HyYJ^C%!aebVAihhlLnSOOU zjDC)OpZHz<7WN?+BX8oCXtk3MPY@&BQV1 zG3UbsTs||CIfn_r`-0{&$xJ>|%ACW_VxMORaRzX{vV%F^oY(B1><~^M=Lh>6yALM< z_8I(QM{$0$Kd@)>vUsa``+2D_!8(yYg+G`-f*;SH#2>?-&L6^`%%8>|&kq4Z!Gqu@ z@C3LEyaQ9kKfoK{0q|e&DEJzD0<*5$V1|4P_#ONP)2@%fL*P#E9QYjk0B#2VfXBeM zFonDxd zx1dRqev%l;bjd(Tn52(nh-8kWuLLQXD)E+tNHQh9l32-DiJv51;x7r6{44K~?~`wm zZgW_NaH&YU?j+4&vLHqK_wCeB9AbIu;l5zcPT0nTC0 zR?Z1dB{#(FRW!M1O40J7l|@3{L0%nx3?Igi<=5rE=Y8UR z*%H|n*%>(y*&Epxi9ll0T@a?i@$`e~htiLxpH9a^$hR38*%>(*sEqj;r!o+;1G77! z?#*d}NP%)?kR8(ek=E=-{ zn2VX`GPh?Q&fJx`GjnU^=FB~rM>5Z3Zp+-4iI_WWZZm9SY)@=2Y$I%aY!hrzdsqdqwuz?3LN8v-?AsAo)2sXm4qL z?%3Q#x%%AVTt}`V7tB@Vmgf3$-MPA4f37vR+5AcKU(HV>p=fjofRikw1jNbW@L zLhePL3GK2?CATH_p!KHpr1hl@pwVf{Vm<8{3D!QDmrDxOg>A7?_okf?>bLdKXIlVWXOgGVG^kTZ2-k7eUi|JB& z5#2_=!8*@6%eu)r!5S*R$GXfq$GXM3!@9sa#X7_~%sRrl#yZWq%NkcGDC8IN3IWc? z!Z(HC!gqzQ3qKV`an5tDavpLnadvVZbMAAVa&Bx=7%>xvQLcyWqYEwM|C60<}vu}CzM z*3wqeWGO=0RN7eDK-xx{BCRh?l+Kgm<=OIFIZmD>FOxgu2ju(Zd*zLbM->k({#g8~ z_(SpA;wZ(ZVn7k4?5#{y_E+^(O;9ycrK?g^Xw_)dSXC!gOI3T-IMpmw3spB&9n}cc zOjTo5M^#(ZU{!BbSJhc)Ol#5FwE?Y8>(*+u zCaqVi(Js|`v&W!nwg0~^vl%bsSxXuoH_W}jDoX_Yv z+dsPq#Y2sNkT{U20jO@Mbkuy*Ak;uqA5;cvA}SHp4?-uHg&K;Qg6fGHjv9lSj;fm( zm-#8PA?9A@yUZJzZ!!VQ&zZHEbuiVL37FTJ6`66EQ0D#2SD6npD>LtAA}}?XNtnl( zQJ6%`%gm>lFEZ<4V3>JxbFmmK3Y(A3#ty*_#L}@yYz~%$Ex^vk60w;O{tynEft`TO z!cM_jv7@jvu|u&lAnXYWb}}{{i^h(_&chaFF|zh$?ai7yuQe_K*9zAh*A|zE>w>F? z>x4_i)yMV0rQkZ?+TeQOMr99xaP&52Z_D10{Zsa!oFO^BoU)u?jxpDktIge=yFPb& z?)lscxfQt&aWA63bExE^Y_v9YPJ(asRw;zE-FcOpmDTFH!Agm#P1UF$7 z!3tsG>IgOhgRqWJMDP>ngtY_-VF_V4geW5*Xb1{|onRrb2(wA2NTfV`URK`Rym@)^ z^P1)h$vU!)>?hO74Dwp?Dl(eFBrhhfCjUS#B6G}UivEfM*2^5E@L(Q zDg7RO3;iAa0v%u+rQf07reC7(raz?Lpx>llr@x^er|+WwOn*V&PQOUsPp_aKqo1L_ zqMxVN(l66b(eKlD&_A;3vEQ?ru-~u}*)Lcy_G?xWyM`5E!PyPi0K1y?j+MZUW+T|L zLUEy_P+r)I(}WYpN#-==)aBISL<;M3T66TAcbsa@TMmpH#jWMUaRKf}P7No*N#rJQ z-*D=1iA98>(?#csDvC}Noh&+Abf&0;XW*UZ4dwUd_vH8G_u~)X_veq~r}BsM2lA%~ zG6YivGX>KGGX$Lk69q^CQJ62J2&qDXkS4?ncL+ZUtA+1`?}a5Im&hg>C>|~zAWjwc z5w{n26!#Z56?YT2689B%7xxtR7WWem5jPii5W6Jhk}}C+$w28y=@984=`iU;X%A^v z=~(Gx=_u)F=``tZX%{I$UMly?LAg(UTz*1+N`6LuR(?cYAwMQ>Q{1|^Me*d~@x@b$ zn<`Qj%@i#ZJr!*fJru1K?G%j^ofWMV?G?$&A$OL<+q6Gvw`xynH)?licWMu4cWHNPGxP?1seXlik$$D#tGDYH z>Vx`n{c^oW@6)^WOZ2PtX1!By)hi8`3|9>o4SkHAjXjL5jYG}D&GXDSv(&uQEVYO& zLd#Cee#K|@R#akUSIl5cGfZntXG{l7 z7tGttDVS7DOH2z)f6QpiAWSdJP|OfaPfQQYa14I#I;;yD#EP(sumP+9y9_JAF2%0K zmSWdp2V>P(Bi4;oVNKW{uwtwfYsUJqC0HjG#6HV9m31QPLe^Qxlhx_0#Lwv5xbZj| zZY*v(ZZvKnE*&=uhr;#84Z~&NM&kP7=HkZThT^8;hCm2M{cwYDV{j93pD}tdIm>dE z=B&y&mb)$YWbVD()42z88{%K(*2Oo*$Kv1SHo#Zs*5rnB_vOamo8nvHlkkyT7(M|% zZN3Xa+gVRIO?XIn0$~RpAb`ZzgyV!egm;9C5C+d%0-ksqLQJ_yxIs8bxI#Ej*iSe@ zI7v7`I7)ayxJlaDK0~f0*N~r(6Ci}PCY00UqvV_9TjWRNH{`QqIOPKQDY+3Pm2!kUls23;nl^&w zqPb}vS}AQ8?FH=>?KQ1WK@EKpV=|)+V=6<>7{M6Hn8=vV=*}3;7|XyhIEc#HM?!ZoEw`ccbw_$f-4`a7rPcOt4>I)5p+CojCsW63;!0E$j z&*{tQ&*{wR$LY!G#Oc5p$Vue%;`ZS7;dbXX<~HZH}Nc2E7O*~mVK|Dn~ zLp)17MvM_p6fcqlBr7BfB^W7FN|4T$qNVv#sx(bXm(G*Yq#4pVQi?QPnj@Vh9VH(v zC&}~Vi{uOB3+0#P>BVWq$l`GEh2rswX^IR*nqsnIq++IGnBtKlqVc|8^-h(fKCC*bdak;!+M|k6-&8$RT~S3;cU31; zr&X6!Z&k-s@#^~OTdHI=T)kiQT6IzNQFTOhR`pEPKP*tizs)MRes>`Z-sut?& zs<7&c_MY~U_PqAK_L}yY_NMl^_J+1n`&4^b`$T(IJ4KJyqx9SLm-XB9TlIVOyY-v( zJM~-iyYw6MQHEpsQbW1HZMbQ;X1H#cWt?doYMg5vW6U&Sj1!C#jTy!%#&qK};|yb( zF~_Vh7n`@6cbnInx0yGY)s|w5!E(iN-g3%v#B#}U!%|_nXt`=RYPoDVWT~>gw|=yK zus*VetPibkt&gowtnaMPtuL*W);HFt)}FQjw%#_ly@wrUkJxH#b?hH(pKMWfz#eCh zwa3`;cA`DUKHr{ek8;#?q&i|8%^jT_^&N>0z>(sJ*lX=@2h7pg5$$N{=;&zXXyS-< zGpzc;BjBdtNVq~=0WKRy#^vMYLw;7$vS(#a%buA%J^N7h z$?U_~C$f)ZkI7jF;l#bqor<4^?~b2{AB69R?}eX)?~PBxcg2svx1CS6cbK0#zvKKv zgqMWpgd}1LF`n3#*bzde98YWmp(r;c4kZqT&{sPU6N#OOeTZF%V~GQay@_=peC093 zRAOgh0`W1S1%zVRj))*KNeL0;SZJW38_2!tXxpTee$ zrc9(zDMKmaD4CSG5VqMA%2digN&%%mWh8|}c|jIX22d!JF%%|c0)%&lp^T+)DKjX; zDbp!~Df1|4lypizN(QAjMNAn%nM9jN8&4ZYn?f5)^U*%hYG@y5?`hREALA0^D5He2 zml0$*87{^G#*d6`jKhp`j9rXpV+&(F;}l~Vqk^%4v72##af5M%;bAx!R)&SK zgt3sZhw&5R4C6S%%~;D=%$Urc!_Ht6*tzVnY#e(&yO1qlQ`va-I5vhoo;{t-V&|}t z?Ah!I?3rvVJFU=CXfCuD+6t|OBRJzY!#Tq^V>r_|Q#lj3)40>Q8QgSkCU*=sjf>>Y z;*R4^;?CsG;ojv&xM6NBw^fm_h+m|lR29|d#qi!2g^Oy6J``0KCGkELy({{;=xtGL zk%za5caw+W=kRm+8GJM!%ct=3`E&Sl`E>przE0p3xCA8vwV+g>5oiSq1uB71;1LuH z$^>F)0ZA#83WdUCQBzSfQHrREsFA3>sDY@3C`q(fv`7>XJs0JPiDJ5#E2fAG#UwFD z%oel6c(Fjt6BEQ6BpW5`Bzmb>U8xOwN{<4?xUWmma4JpxoWPOqsFP@G}-FG>S5{uYLR-p zTA=Qyo~Z7szN(t8?yVlD?y1gEv(!V?v(z)x8EU5bklLyquAZzOr0%aKt7Ym5>h9`X z^&B-rjZ`P-V7m9(MBPX2CGA`7OkK4Wp^Mi=>E3DU>0))4^e6PE^r!W=^w;&*^e6Ra z^csWDaNF?E@W61_aK~`ZaKrG(z%y!%awFb2+Q>I5jcQ|&QDsyZxkiz3gn7DonwexK zn)A$Bv)ZgNpEQ##6pP(rwpcAC7K_Dcaan8@hvkLkj-}G_(h{}$K z;ppQS=E!sOcaR*}4wa*qW13@(P8Wu2(cQYggi%xF)mCACXAuYy@3s3A7U>;USqCdf5twC{KwqG-oakS zR$^~qZ(^@vpI~oe`B`_e?q?C^DRIR(DNc(M;S@MN&WJPM^f(!WM{mIiadI3cdv5mZ z>?_%4voB|#hOn$JW?#)dmwh37LeBUcX3plE9{4W!vG{B}8_&UK;Ai6t@dfx|JQqI) zFT!WxN%-M-DjttVa z93G}jqs^pErv+$1+5*}E+Cf^FcAD{)@sbh4Ol4Lx1~We~dNJdfvzX18&6%Bh9Oef`h|!ZdhS`TXf;o`+oDs)FFvl}vnYD~}jG@ey%o@fpW*cTbW@~00 zW;>>iZDSkQ#cT~*$u41w*;=-O?PgCXoL%THEG={vj_1teq;qC)=5sk*Hn)gd$j#?6 zxIj^KQB0Av$X3*tSBIC#Ys5?D)#WwhZRIKW626A7)(BPz zWP(+KfMBU$fnc>@kzk3STxb-Ugk{1~p-bo#x`le7LueCr7floO5%m^z5p@!+5Umoe z7KKE5v0rQy+r>6}C1Ry`hh&drr)0Zixpa$kzjU#5rF5Tk zuk?@V@i{db|3xdcS(LdaZhudYgKqdY}4~dZpT{{!x8K4XT%` zcc>SsUFsw1lWL#(2lYDj3iTy*xq7p@LcKtJS$#o$PJLayUTs(7wf%J+bX{~b-56aj zU29!CT{B$^-FRIO-B{fy-6UOGT|ZqnT~FNzU5aj)uCH#OZk(=@uCs24uA{EGu8%HR z_g?>4|5E=-|4|>-hx9f2cluBI7y3&5b3JHSXb2hthNp(-h9`zqMvu{CbQnvFWyX@DqW?d|Pt z?5*t0?H%py>@Dmfd!b!u=h&AzmNkxkz3|gxr^OOx7e+A zE8KGTY4<62+sSoAc= z3)Unw28~6JLHCDzVf8?df_!6jLk~kY&s>E8F+XA!U>0N6VOC?7Visbck94qau(jCt z*mu~NtZHm@)(31MKf!(vbR|@|ZG)T8H|G@`+N9T0?nG ziKoJ-O{uBW`qX!nPSiN+8%kqpI&CS0S-FU|j22Y@6hvsz1!I|=m@=l0d6?;7T9^i= znK_@C#?&ye%rYjAS-?~>QOrVS1{2B5WV)D6CXNX(@k|<1%FJiln6sHCCWR?ymNE%U zK9kB6GdHl;v3>0I>;-Hu`v>+WHppJe4zQQ77qVBf{p{uJpV;Mv-a-r~gOkn4;pB2~ zoGcEWgXPTS%;)I12Ck8-qC^t$w!^s)4^^sY2U_EGvs`cC>% z`a&9#-j?#@tL5wEYve!6pUa=gE9H;mPvpen{Nlxmpdz3sRV-3?6mCUhWtwufGDC?} z&Qhi;J8Fh&>T3W^R}DfFuc@bLqp7RutZAwFr0%ZysIH?))Vxu5)4WnQ(!5tcSHD)* zs8cl0)KAroHDPrZO)E_=O|+&~-CFZb-B;5|^H}{v{X$)({-AEEX{+g@NzgRY^w!MR zqICovQODQa)p2wf-5gz(E<=acVRh-cY#m)k)gg7WbU8Ylj;SlqiF6FzJRM1wrW5Om zbn|ujI*Jafk2NG38X6J|O$<#9%?xluV?(k5VTd;@GAuDHHvDXOVW>1z7!Mn_8qXWg z8ZQ_x8h02k8+RM`8V?z-7!Me?8+RG68b_IDnoGnN%s0)C%?m7k%R-CK z($?C+nriK6?PYCbZDDO}O|~|(cCvQ1HngT#n_3%KTUwh~n_GL7bS!CF(!8W?Nr#fg zB~3~=HkOTP%eT>Nz3tuYUG3fM{p_9Wz3dvh)^4;b>`J@ZUTi<(IN&(w*z36J*zBlq zymZ`lTyZ>gTz1@aoODz<_B)<9jysMzPCFhsPB|_*jydi)ZaE%1&N|LJHaYG(Qk{n# z8y%9;)upRS*Osm?T~fBF?0i|QyN)~BjddH{R=3`L#$DlVUEZp^Q+e0&F6C{@Ta=9eeQkjedT@W zo#Y$u%lC18Y+s&_=PUBDd}JTdSKzDhfArV-BmVdPI1m6o_&@pUfUzJ9R0Yll>Iaj8 zEz=vMH%V`vo}7LweZcIyvsvg|Gy}~+=b;H`I=T>@jpn0UX12&YirIxZhS`JJj@ggd zi8+jE0{IJRk<~7%VOE2zq^!nSU9y^Iwasb``SMDpUyj>^TaR0dTZvnN+kjhx zTZh|-%g-if=VddqpJqSKew6(L@+mSsXD5V!4&qnf%kYQr8}Wzn`|v06+wptwTk&T6 zW#T2`8Da(T7;zWTKs-RaPJB(gO6*UPlO&`?q@#Je^Y-Q)&pVMppXepE7b6ctCMQ+d=ZYC5$G6-ymX9ZelerBaDhBsGmXhsvZ&Z17DqG)qyXxehxO4=&gQQ8q2tRSWUUa*FFg1MM^gt?P>nt7C&%{<85#SAcy zGgmNStfkDg%K_Fncr_6ha{ z_Hp(Rb_IJE`wDv}`!M?&`#Kve3=~p0d7OMs0f)q)ai|`d>?-ie=)z5@8P@oHw8}x4+YNzw*>bE z*9CV4_XIx+ZVT=RmIx<^ridnsHjB23Hi>=|Z4uoP-xog?-xOaIKNMdRKM{WrUl2bN z-xJ>uKNnvS-xi;fT##IroROTBq{!OIn#dAmZDeg_4P*#eOIagXb6I;?f~>x*v8xSf|n1baox6Q|nwhzs{>O z=vo^(8TuG{8hRNz8~PgB8@d`g7^on z8SfgO7$e3i<0qrt>@eHRZ_Od|OY;l!Yjc5xVOeTfZs~6wWgTK2W1VOnWF280X&r0r zV;ybXWgS$~t7KqFzmlOPgG&aK@N7bx*rv68wDq?Sv=6d7?KZpJZn2lxJ3CuD>p0su z;m-O_k#mT1gtLXSgEPe$<(%Z~=|ni|IZrrRIX^lYI6pYvI|ewTogJMKM_1=i=RjvS zXG3SAGr<{l#5)1!Cr4xF&eBt*yGyr~ZZF+jx~Ftg>8{cr$}W^8xKrFoZjamTcDY}; ztK9?3dzbes@91gc>Fnw133x)DO3y>j1J4W3ea|z`Q_o}1Ht!zqM(+;qJMTyD2k(1t ze_ydr6l@PBfz7}+pgy1t z=mKj4YXTPomjWLHDZ!D!PU)%X?bAD^w@vSw{wBkTHlrX+3as|Vzts8d$&tX^5-te07@vbNv~Ab)_na}MA);dkO6>BA@o`qUQRZy2w4b&jjM_ot_P<2!%)k-a;s;Dcd zOQ?3LoVtwarD~{Vs)L$ETSJR4ILZ8h`G$Fcd7pWM`7`q|^AYnF^A+06RuC=xB&ZQY1g`|K!ViM5047`|Tp^q%$`YYP z7||RNRc`c5X#7kl%QIcwLtr#wOA$}=NlGK$v zk@S>}kd2e|mrW@jBI_obDjOr4EbA(pA?qU>E*m79AR8u|D3{A+a;f}{{FS^%@eaj7 z#Yx3+#UaHJ#ZJXjMV1n)oTpT2iZvyg<(g8>0*y(tSR>Xf(Reih4PPVC7&HqtB8@CDsdOWvk2Dy4$#$x?8!MxxMa%ZofO=2Hh9k7u+x1W6LL$Pb;5VKCyg!d8((o zr-!GTr@yD4r?;o4r?01vr`)sHv(OXm{pfk)dGGn)srJ0{eDc(K!k!xFlmFe`u(#G5 z<*V^d@p*kKd;y=&x6HTDx74@9r}ZuJE%2@L^#{j-`QRY17uXx@3l0JMfD^%S;COHp zI2arQjs)MzdxFM*Az%rt4;&3#3w#Ph0v&@Lg6)HIf(wFu(|e}(N-szI(QdRC4Wd10 z*4z?``o!$S zs$sro)@4N%M%W+NF@?2k9%n0eFLx7nA9pu*Gj|7fKeu5~gQ9snB5y7a$(zl~-PFxCOgE$%W*8{-cQ%a_nbg>V!54Vr9udpw*FSoC=ue5J+nw<{k z7N^e%It|X{POEdJGvHk2EOqLg9%s;5?6f$4blRO8oJ*W5oEx2so##r=m!2*CsqAvu zwX*%V+hteEZkBa$w|A$ySG(7`SGZTXm$+BD7rB?ZFT1b0FS)O{Kf00S>E#*aTg%6K zMtFvK>U$Hs@!on~m^ay5*Bk4N^TNG*y*Ipdd@x_Eud8pMZ<=q0Z@TY@@38NHZ;x-E zZ4C zb7|{oi3QDAomp*Jjal7U?O5$u9avpiO;{aSEm?_$bqnJPqYGmTmliH7TvE8WaADyI z?ji0L?g4J&qFmlF{&D_6{!4xMt1~87k=^87`@mJd^Nb zMKXbmCF9GOGLfuM#+8v})8*6TD!Ep^MP4fp%LT=k6&Do=N}>|4Bq*P2UTS{UT-Dsw zJkea!T-H=-UTLZ|S2VXZ_cb>(XEiT0k2F=9Tbg?sK>tw}qkpG+uZ!0w>J#*EeT}Y; zKBB9ukJisOU=3M@OatC9&ww%D408>7!xqD4!#e}gG{rQ{G{!XBgf`7FO*f%T>85d} z3{$3QyqRz2nZ0JXCC(CWS#4QqSz}pcp<4x3j+JUD{uf?(Xg$?k?_5?w{OS+?(Au-M8Gg-Sf)lmgCAZ%lDM;D&JAQyL^ggvS++! znP<7Dxwnxw)!WM3(c8k?-rLsO+1tU}+S}6G(7WH8;H&FH_!51Ceb0Q)eRq7fd=Gq& zeD{1Wd>4F|eU-i&zN@~6zKg!QzH2@{r~r+i8q|Yquox78TF?ZVK`BTBxnL2<0x6&d zQ8FU5gfxUs6K+oWq;Mm~IAUc>C!~_S=-hkeO{t0~_GcoHh?g%cF zU6s8T@=Ejp--Ohd)QHr8ber@f?>^+^^fmPb^%?aE^#k=KHAJnVj$jRB^=1ub4PfjbROE^=FM`H7IOYxS~+Xk#M$iSMgTzcJqGbo#db9SMX2qU-46g z9fX~QU4$KlU4~JiN1lpv7TVaGi)=wH{_bACY*_EBA7^~ zd=uTY)}poQt!nGs5_Cys391BBf-SMw#@ol*x7at?H`sr&C%788J~`XE>bn}c!p=sn zBv%(#Ggm#=TPNUp?~HRHT#a2Ru8+=mSG9A5tF9~JtZ^o~-Z_(9aM!KUJEgZvd%1hN zx4Cz?Yu#aYZu$IjLU~U4zViL$NY5CS8p%x5N}WK z5$|#DVQ-Qz#h2_$@YnIb_r>~C{MEiO{y0Cv5BE3mH}uE*gP;do0)n6eEC+3%4_pAc zKtH$=bb|{)FSrO?0S3Uu;2!V?unb%VE(bjUU%(r97=W!0?c405UBg|2TwPrwU42|bUEN%RT|Hc5Tzy>+ zOCOZpFCFL}=HBDJ>n4^TD?ePmw;ba^dxm;PdM9}&c*l9idWU&Odrx^A`I`8e`WpL& z`7(Un{jK~h{XP60{9XKA{T==7{9C}y;7)KKcmzBSR)D*~L*M~$2e=754Q>OsgR8-# z;E&)M@Fe&XcnaJAiUR(?^FS!@bD%}AX|Q>)Z*W$S6eI>6!ELh+qYt4^pxJY$XU)jE zh&zjWmE8{V*4T;Eo|HhVLyM=?D?qW(tV~u0t94a{woHfx#HZOtv2UozP~!-aHBb4_=pxhA_Nx~90M zx+b|syYIWH<&^Rh<#Rk)o>|`6-Z|bG-ZbwN?=zZW>+T!wL;Fy^N&YGR z(f$ekq5l5D0 z&4Cwzfx-U4e!+1;TCg;@C^$0Rlko)e7*jZRX4Vy4Z+%)$)clzFu=!m{siZQ}^SoqQ z3avivI4z5XWwkF-z60-qA@C9S3VZ?H11rHd;A`*+_%paa za3=67@HzkwwhRsl4h{|qjt`~<*+Ev25o89>qfen{WzpyLB>kKh%44@$Sj)BkqUpZ0|+yTpz)o@6Yqk_h+>}UAt{)9liKvJN7 zASI9-SQvO4h!0K<3WDOGC@2iJ&dg&mB_s43EX%A1>|B??#d8(8a=pELTtCOp_80jZ z1{wt31?mQu1j#HC>%D}k9i<RPxYAPY_n zmItA&yx}F^+2DJ!61epX>)dxT0Klv7ay~PDSh;HTnzifJ|G42NVAJL;z_#r>cJA7} zXYaoKz`;X@j~qRA`~-07bOmr0IDY}Sbot8FYu9f8!0kJC?*R`UK6?D*>9gm+&!H;d zCGh$U@a}!}hmW6X03ZSY2k!s5+%qr!9Q$|9x32gnS8euu-+qPb1GA%k09FF4fYrbnU@hbibUlPWumSi95JYVPHUnFLjHqqEc3=mv z6W9gp2KE4ZfqlS!AUf(Ga0oaI90863$AII&2>^&W1)K&dfTXCiKzz)3-~zB9>Jo4n zxB^@St^wD98^F4#n3&tZ9pEl-4~U6+06YX90gr(vz*FEE@EnMW`56cSRX}poOQ1u{ zYv2vAFzOwIhENTB06qerfEr+Z)T*{nGXOxD8~U+30Kn<`94&=N^ZDdUSh#5MlBLU* zulSQ3Y=q=s>mPD(;5Ruq3CY2kv**rVxcG}4e7^p(9Nhm+4k{rzc=7Vp>o;$|$ie3f ztAEFn==A&9*L&c9!-i3_v zh{=d4h^dHai0OzKh?$64h%^Kek&b{iZXuuzSqL-&+A;xoUd1A^e!oKmY6+geH~Fan z!oLXcFO~NXe-^*~k`a2c&*4jzulW-B)-NPquxOYK27|@I;IKGY9auc9E-V3-2wMXn zVD({1uw+;YtO2Yc4044EYXWNuYX)l$YXNHsYXxf!YXfTwYX@r&>j3KrONDiUb%u3; zb%k|W@O@&Q^O^3~Z&4kT@rNJ7vONV8^>@a8>APf!5gkfNFVOSXC<^#4I z$cE*>0NpQdDrT&r&&`m8lSK?F6;m&z>z%H6M0a@G%H6J_n6j zrCq#e;nH`|xd|}-lJ@z>0+AUaD?}v_{T5dLcJk%813K&h_U-?s-T|&&`z6;m^v+jz z`8=L|k;AW&{}$2zE#*tX0_gDjnEPMI&tEQA{3ZU^sPeA~`tW5)Yrm_0Tm7c`eKk9* z2Npm`FaU%DllTh~j4&(?OT+RoKWq%Y2)_=$3ZD*FgwKTEg{#9K!!_Xrz{lzj)z#HY zfKSz?us!S!`@+HS;&38-4X`}?Q#cp$L_Hr)fD_>)cpf|-4tWgzz2Lp!ec*lJ{owuK1KfscicgO7(#fKP-^f=`A|flq}`gHMOgfX{@_f~Ucu&r0AK@XO)r z;oISw>bK$d;Sb?Y;rrpo;mYvSaBbwjvQB}lLQeO!X{ z%J1V+P3>p<sp94OR&liEO$LE`XH0m~_0l&5n zRzThC5Bp$L+k=p8@LTvSxqBem3(-}G4nXud{ARQ4{}P2PhA-jJug5HoL>=DlK!Dd%VA7i~zg*6}xY~{je2SyYj^kq3V~lHC2z^e0={2ShsrBugduA zTYioO{+{$z%4gN_OE?pIHuhZX`Pd7w7h^BQUXHyIdo}i2?Dg0iu{UFH#oms+6MHxI zUhMtY2eA)hAH_b7eG>aL_E~IgWHC?+p+o&Pj{o_%78<#BK~+~9Sp`+2Jr(*q0qSub ze??XL0U)HNr)H+&QWrrM-)A(Y&lpWDp&mKnmmJvCIjNM?ywqF>o2ejm$u~-93iVt) zg!!}#;uU{|)wJm^xz|B0zXq}&o3z~x*^bL0J+KwBCs#mLcsz=A(EWZpkbrNO`0}q-Xa2pFBu|{FIggy zU+$6|iG0rWJNr-9LzjQP?AP$O+y8#|w(Z(?=$P86bC<5&y7%bWt9PHi{rV3WIB4*Y zp<~958$V&m~p9t?=#gzu%JIYQryj1JW4ZsQLfSV*GabU!?on z?f>ms_?!0n{aOB)|Nd19j-NPr>VK;If4wh!nT3C={O?JAzyAMR=KlMZ|DyB1RsL_< z<*)Vs{hs{Qxbb_mR?^7k_{M&wBN*Z~nFZ`=4xuzn1@f zP5ONu`um9eRn7mi8UJ6)Px@W||I=Fdj`aXN%kT5XU)P`h=zo8#IQ;*Y|F4fle_s9g zy8Q1+evh7CM!x^amj74!-}gt-Z`f_WO2L1s{l8uR-yaLUw(tL3|9{vu{}=u5`Uv3_q8SU=V$q={qu+B`(@?#Pcy4O*Z&vG@qe=w{yxk5t$fJx{f_4Ov*r1p z?|fiq^53%^K9~RfnZ)S>?zheb|d&T{KzWu*#L43~&2BN+%dH-DIzFp?`N3B2l&iCK{`!mVE&LRKMe1D($ z{h|5(_v`=Pv4X$<{{Phe`u6zy{TbY!?a00RzE}SD=b!&<&ilVH|M+Z$|M}^^9{;{? z1^>2E{I%ur`Jd1K#Qg8Swt~N1|Nj^E&#%i%(D?KHm7H&{;e76YzpNPk$Mo;#Rj5CY zfB%jZ{GV$7Z(9(*$>QJJ|NHaLuiyFmqvrq4`rE%_1^@Qt!5=ff|D^r-Ppsg-*8ji0 z^7QSMhkv>X`gQr=UrGJ`8tR``?Eeq?-&n;dg-=OPJymT{Yc!J~WS@mPioQy}%V09j zG+i|01B$(0bpMu5K3zT)KsTGH(8nrTASdDi3aEa-Rk0LUo3;+94ebQNr;Y*@p$kA-?HwQ#{uy{%@d40I2BJPx zCPalRnnqPcI!DPPgQ630~DtvHnR7KS(h<6jBpQ9orAEQEPvC%b^Nzsu@t)i|7=6CJ4uMOTJDMpstB zV?q@vF_Cb)m`J2=OvTFKF_Ujjgw9bhkqSagD2)+QOBTdb!(=gsLi(7r8fQ#pI2dy) zvIfetD<<;bSj?+~XJd|pZa}=p5bt%&$xv-fIFbm9R5pWsywCx5Khz5r36F$DA~Ru; zs(CP|J|P|#7QR>vt9WFBrPaD&;m9&rRn%&0`~#ont><=o@Q-500J88Wmd^o)&wsYEEn|OR~b%>J9wmF zTqvzgTur2BTqH6QqL~ok;woR|Lp&zL6UEhpb#alZGAMl+M4O@O_Q&0>IulnFxg8e? zhoH1@Tva%+P9)M2q8@c36~pR;9#5)M8$m&FQk|*@7doozgu?bZHzEP(d~Kab!S*`g zH;3y~h0fQhh}?yEp*j~Ts_TT(V&aEXCd7viHj1wZw~v?C_KA-~#>7V|X2pln=Eh4Z z3Gv|zjQEO>C_b%56Ca8=UA>PXP+R&Ex$nC>W{!8(Z@Wc2}_*MLcs@nKaPJG?k z%0_j=7uwdXiuA4<36H89j?AnZsmQ7uV&+3U4#bnytq2+Grg@xoBay`r@5j2Kw4HTp zdmOG??K)leQ0PkCwCa0xYr<7^Z%4vV9z;TcB!u5yNhs0YNl3#zO9+MEC%mnK zB}O6*6C#Df*^dZC<@dN)F?>O~?w>y?Ct)Jv~$3#GB@g)1fX!Zn6^Rbe+2UtX`EdVReMPq)>piX5#M4qt-O9@VP|y{Z?fjY5RN z2*jm|W{6N)M?@qt0HO(qinVEow3l-cl^=s6|q^rb|*JG6bS2NtNL_Nf**^N!m10(v3=H zQuv@SsUoCFN~^Ueg~EZPTlH5YbxK>Gw6k(M#5)M_&LpMPT!(m1l5Us0Nm`p0PP$nc zpB%p3B)KZoF_{_en;Z&{N`6x@H93?vC%LvDCpkQalKeEnOOAv!$(3Py@~sLG;;l%o zt=W_uzO*m7;`GVnwAw4sKaWq6BNgwGA5D%V?|KlQ5_!}++y!eS8eKEU$+n5-(uZs@v`o^k_(V`qdQgiusdBycdu^> zd9|tO%~xyjUaxk;zIe5M;$L5V(?4Ohrq91VZjLXteY5I+vljSHv$cQ1MCo4a&9OTN z19pD-uYYlTkBKt0+IiUO`u}-+!nb#|-TQy>`s(?2y8ib2ThTUx>EFi`uye9i`?*0a zE35Y3FL>9X?cYD_y=}MsufF!;^*OUj@bA29d;PClUj$zNVsHLM?Y~|Vczt_OM*n*_ zW;GVr3(O9%_OAcA$O!CUZr*v=`ug_!-@CuzMeld~*T48}O52wEfB(h$$E-5geb@of zc>n#ssQsZ~Kes+%cW}3J|1XNK_xiYHXGh?gnpt0Z@BifyjP~!}zh~IrfBx~~Z$*74Cm{rRu` zY%dz$zWwmdU;nkAFP{JZYd`%FRKNe_^`idkf3`RO|9bzkWeE|nO1>(6_1HC0Yt?HP zt(&sGf2Kb3#|_CF2X8WO`se0ZTZU%Yvm{&RY#X^fVuyT3`p&VtqIRoyFWNI@Z~uMz zeLwC`J}~&8`QSef%{n~vi2aBpd(P33IT6R?$I^4h9*@dX=Phb)6LibZ{|c^}?u?pB zdO&RO1Bmf`iE5j^LzhbiB1P;7MA4H`Q~g|2-z0{(p$gT~HuR`|1FEavgPLk{5nWyc z@=Jhw5L0}Lbon%z8QY0N)^>#$Ur$aw{RyXu`V++X`g58}MnjBmGKZw+aGEZ!gxH{* z(?r`KZwurdguD}+$7CsouD=Xgdi~vZ)8e_7RmvO6tNOj`!Q3t@MWwk`46x~w4kb6f=@3hbAjUVSLwWt^4$x;EpwA%h zhYlrmvJMbaguFE!s_M6cET;oS7k8kWE_JAHs)aNOd3=cR{ib7G(>oBy`vPKo-*qgh z8_+S98U-=FDIMvOw2pNp%R5p{GKle6Aukj1c6F>JvpeRMU>)mX%Q}+uWw@>m@@YV5 zr&|2=PI)EoLX7Wsov6A$LyWIK#PLQ$JTDnyeCeIa@2==XH~j}b>-+NS>f`uS%6LBhXd1-$(jmt8Bjm~X zrw6rBJuz7&Y@EeHGu;(wM`n(8+~jBn2?O)1A-!OII?sc$;}N)vS(@*5$K4>7)O zoguE)nXdS}bA8=kI>$D}K>ThD#Q3H`jBhT)|5kLaD*rdc|FoTBNe9FRvmnNI7|IlO zZmK=k885#EdG(!RDWY>N-Kk4neR!9;%Wpya@6#?-<==EEsuOkjff~}KwrPBq%93P= z@ufqIPYf|Wd6$wpbC*e=1^pp&&UqJ<@dsZ z>q_1TrfNS5rpvzy4r_m`bAoujo$s&qd=oZ4z--}yz38wN zy`7!tX>-%(FY@g{7yt8L;F!U-dUjb7&g`duOZX1EA(7#d4~yG$YD3Ve>43M{|lgT;}a%$_t4Kw@$H^p=xug@E6LQ{b~WqYtpDX#u%2aK z7e@H^>O=29_3dobhr^~krXvJhnL1yx0oL2+-X=#z#SDPG|3iI!?c4O91p7TwQoWtL zfZghkn1c(<>Z|$C!i$41fvtp7uMLQeP80~{_0qjX*gJsPM_>$MLQu-+Q%!ZEW92wn{i)0sCv%m+~!#E7-FY0b0QvAOVeg^|jaE z@Q#*uKkUUcw)yBrU`H_3!y_CvoISiTA(44mJu7u~`h2LkLzj?nuST#Tqj#9oAiw(@ zMjsn5@h)a@JDtoHW)^6PKl{eE-L`UeMS8#6q7 zgL|UykjZq=xY=_UjSCnc%{|d}i1-h*zWi{#w~%GR#wC&&c?6IY8Z5TLFs948Hf?hnD)H6Tkn)YlmQ2 z3DvcuW#i*Pi6{G%cvh;nljnmif{HuBu4?h%+ZG(c3_EW$swWc&frke=9B@jAi3EV1c)>X#?{H3@0mCkB-u#7&mq3eK>~Y}O zYsXx$0jpN#*>5b`7&u=aGY6s6~Dq7 zdS;-o&GpVBjH&mI6=qCFuy+1MeGGN_EGSbk-)H1~rj0en@B7-?N^je1BvP-tKO5Lhbn$3tkdjWUM_qu)*E%PpE!>z;7>nE{Ct;PW;YY`~%v5oCKm} z&+;6 z*{<-bvCrJITKoZ{!Y%gRcjm3R0|Fh21jZmw^Em;`ZeM>N`%f-5zj|s`4A$EMGuQGH ze`6;U*jK}NEWYj?3l5QY?wjiUf#+J>j*(|aHESrI+b!nnj=;9Z`y21|E4-7Fcg5`Y zgYv1Okd#zhgM}C*!))v_};W6_@V6D$h8*OxV@|0;{ zju~T*f;xDc8|Kwt_T9kSjGGeZrNCx6U$3?^efZC8LY>THnwIW!-vYbB|MKp|ua5k$ z4w*^YKR^bt{w(8;v#txwAnbA0u<))vzwIrdcWi*F!QABcRJ@M2&$Dkc`?u^)gvl9B znKmCX^{boDw`iH4-stIfvsz72&3@KP-51{^<*T?;7nt*2ea(9$^}P>#HTir%zg6(f za{~wYT@-I4+gX7;w+r5<6|hq9&ZgkC_3#-r?<&E+NMLGjy+rVN5%AR7F~i;o+PhL% z!E^<`bF=5&;vf5FJ)h#Wnyvljn0<7Ceo)Is>}0Pe zpLiX47}37Hq!E2!x?o50P^OWsyZE^ckZi>*2eVo8_S-k!e2YCg{qZMl2Y2fZX}xiN zvhTdZiz@c@$J@TK!gL4Y!m=9p3(g|9srcn{o_{Dd@3dw5+o$AgyFm-RqqB_2E4}|o;osgCgGGk8E~{a@wOG$UbqieWHM?#v8_-PkzW9yL^KPklN|JX5VHeYWw*veYUw5$Y zlYLVNI23>U_OITGqQT9M^Tj{>_s;xdi8*O-7Q`1ATmHk3@IOot}}d_x*pE3<>;m82H~X zK3l=OPJ*?gKeFI8#LWx5mKCJmgY&M!7+c{R664}oOW}248HZ@0cStusKEL67oiS}M zQ8eFDEZWy8al>G6FrEryn!&nxttWSjd`q`1brznrbnA_+qqiO1)_eQ9?eFez?C7*} z&d!FN({^2fH&$7@-`b;sfABYH@A19w?Q`x6-~Z43_xF!GP<|l#VD7G2E4`{ixQ3p-&r@u7Qz`$KF$ z_LT>2tR07mSrfto0h7Yo?Jonh!8a|j|KlZ4Cw$?RKd>d+Syr+CFoiYSpZ%`&DE5xG zR`CSZ^mtvimUagCb-vk!HLD+cy>st+s%@Rk^TwOr0J^Wz-+l4b@BaV;2POdDT8bHs zt(H>E+6*RIP{met2ABo^+L@i|p{sl)eU-AsypuQhDY)$IcG-FM4~Ojes~f z8)Wxc>DG=0JK|c(Hjg(p2nH6C)e`vi4&FCU%##G|V1L~E#F+=_kF^Yu~(K4U=IQO)LC_gWivhHBk{fVC65bP5bZ_#-ktcirzt zvabUF`0b18Z0lPUeZox5Hoc$OM&LK)^j10=DFinkK)!U-(ntGjbfjzd-*ViC=1+? zKU~Sa+F+||vGDAG_uYFZ@5%=B*z3nKn)IH}aI}hKF}=j<$4iZ}zdu{bw(>5R;U1`; z{tz=`m{{HLN4uD3@1GI;MSs)H7wBfEw~yE;w^vJ^|Mhm3udE&QmxSl;pAnuj-pph7 z&&8|-4HNiY-TRv93;Ds4m2rV!f$gso?wvIw?brsNjzCGUAuZ)vURE;`JZlx9pO`wE z*PqOQZ>#X2&H=v;Pc-lixX|lT!b9~1_q@H-V&?x(Mlt(3t-WCko}F*JduNYe#<5@q zuz!wgnGbwV(`#wjX{P(DfwPQPN0~9~oo52?oei=Cs>lZ|IudAUo1+`e-ir5K4Ew&) z>!~)!{kwyo`zXl5QZ{SIKJsjWs&ge!r?>y}9B6h-nx|nz9KJS{9UOg46PCfGc%@V%*ja2$jnI3n47UEV?hStS(dRR zV|B);jO2`Q87Ud@8M8CeGDy#ajQJV3XK}`uj2Rj8G7>WuW-QHEp0OfhWyY$EC!Sdu z&pb~(8!~85qvx@Q@|<%wVh^!L*kkMo_7r=D;TVCD7=_W8$P?k|(^hA03d7?cr zp8lQzo`If0p240Wo>)(uXQ*eGXSipCXQXG82R`uW8S5G6iT5OUCU_=#5)z+y?>^u@=sx5=>^|bob}#ZQ_AK;l%-EE%%DvjX#=X|P&b{8939G@4?oIB^?k(;t z_g42d_jdOV_fGdN_ilG%zzs~hh& zK5D$$c(bvgv8wT2=IUmUB;@hE7(=+8g?D4!ERtTv0K<}><)GptHthNbyz*tfZfL)VAtH| z-51=VjEIar8GSP%Gx}xphi}dd&WO#3%NUw5EMr8*$c!bPQqLmIWy2Xsk@m86I(}X< zR(U~^pu8w~YB(>wD7#=B?$~6%W1TJa$ZkpQNYaRVl1sWe$!^DK=>^RNU87_vK}bjk z3145KB{wAf;OihOUDI8+P19wRJX?0oc~@HLoGFX9?T}3%9@n0;LcT(pD;+?sl9x(%lhLxZ+VhT~()IEajy!U)YmY9MoF&~XzlCSX`;*7C zb5z^qD|NVPiEgL7j$CHmE#D{Kr9LD-C_gNZR1Ko8Ypb=xspInf)&}CX_KEg{{G_~4 zoU> zLB8H_lz1rbuX`+?XPTv;@Hl0meJVNIyh=AkdEPZ#bDP>@Ut&tIPm#|sq&a7jn6y$d zn7-s7=)+7)|HZO+e!y*x`W!n}i({uxglN6?CbZt~(=1SFNN3r>!@~*PPoU6>&Tr}>|FR|^^Ur=7NE_Kvd ztIRk)OnSwfEZrm9BE4-sNmLn2^^eU1$c@&E#3*{Lqrd%v{)FV2Ims|mRc=^r9BjB^ zjDar-t)Mrl;w;hHvx7|VXy8C8T~oF(3pYdj>~WPPkkv_z?=SoX?F$XSNj zmRNN^;|*7(W`Utxdq};+kY-tIC{how&2i0iO;oRQ9+VV0mRO468)yd%hYh8+eUdsy zUn1Xen%Jsd4BtiD<=E+{u*aH(KfU;@<}Q_7 zm8{epwCB2?5twY2rc6@e+-N^7xoS?{XXb%AA>+)%w|*JBB%$HJUid zXndNfLbB7eSyN@$qM7Y{ph$6^m5jwVXr`#somraO){UA?nsbs-)CT7&%{A3}*Jj;3 zGS9eGlZ>y{%)qB>hDzq(bMax4ak}H~OOn-|JohliaLGu=LCp#G3VZ`T-4czj#1Coq zQmgSb_*#6obv=Gra)H{2kC1G}my*?zSmz4Q70GtI$a&MX179z}9Xs*ec%EjCbGvMd z^P1$e^}1vae#SXcazZmovJ2mf@53)T@`$<4gE*#fy9ZfnBrBX7U3oa>9xd5~kC9xH zO_JTW>~nbBrFa>B&{2+`!!O{~wx|VJUBoZpw&{Z)&AdwUS8Usy)Xs%CW?WSsvl5OwaHJNwnjs{j~F><-Vj5 zAE)qsc{M>ZR93BdBq?_;kv^7W8V_p6IG#vGJDy4+q|YSxaa_`eIEt?!p5j9s7j@_L z&+Idu`=tGde$r?nMqQ;DE_-4>Z(V7pB-hP-9k=bnl#k(iO*hR)WcBua&Qtcg&W-XC z`xR3SeA6qIxN9Flj3icDDx?!Fj~)AzWtN$aTaKf$T=isoqGp2TnEHftjWI>GQa-|V z#D2myUJ_4?Cq@&PX&g~!yQ<05m0OdDg+wAzW6re@>U7sUXQ6YQ>6YfO^`YUWCYf9z zdt`m;IOdpRzHf+74A9>&J~rIY^l>H=8_hTH8AOe7g&~DlZ9Zg~Y8j%NOxN_@2CRJ+YZsWEx>Qp&x1ANvzcOG2YNU)=-+BI9UA(D5 zGe|c}y;yct7i-!>%+*ZQjyJ`b4jUh8MB2fodHQMR8Ez5Mrao1K&40TSG-?xn+r^!bcZV`pRfnl9ROk$jRDS@Z8)%Tn{?3(1X!*{)4w5iy^f@0#mcLM|ucY)iC@wU=BA;zdr?$Vwl^T{o8H<2tUA|KjLk%#oB$#Qb5ypp`2 zokE|{o+sy8FOl2i5Ad_v%j9Y86>_0sGFhtKAs=fRMhqtg6Gv_HtZ_uP_P+ftdC0ZW zx=Vh`a#7J}i^Ff49+D5p8tqui9{FHu0<}UJt$#wsX{Jl|$_a9Xi!{xU#L}ZQ`S>mE zGxC~kBNa)C4EyB+tOt}dIa6{#zEb^2yPUYGtv3#!qo{R;YC49BrXJ8U=_B%0)_oRI zvC27=%EGhdYbEC_L#P~igK@VulFD@E%J-UwQOD%{6s4|{&JxWdTb?|E8e|mm2pvFuac|-9$Po<%H&}JXUv3K1)(;e28zQwh{X@ z=jG#US=2>&r0$Zu!ga zNyh2)5W`gCDhaMH*UX@!2#={=m2Wy}O4aStrO>l)0UXdxsJL9yY{<^UHe=c>En{k^doz! zWSOnZw9&bf-a(%;=D8N?7Mpj`r%k)*a?=6lT-_Pde!AR!kdAj8q9a|Ern9EQH0?Y> zU$S3uoHt#zAEmSDyNHxKykj~`SKI4MdHP#qz3D7|k>2VWWWR5EXga2QY>LIN8sc=T z4NpuphNq@}u4{&8rt6N1#^btN-4*!W%yq*S$pynzI#1{Q0uABJ*WS{NB2K6_xN2z1 zM3`>TM-^vfPwDAOx9*O826^80ke+92pz|dW=04`fbfvmb_l(|PBKo@wi^7zAHePq##y;}o%q{^p^IVTzrWb&^5mXUl`NaF^@CdC>_qIt5J)J-zux~+nDU!@n%|rCNOa+R|vSLMvV!C;Td6v0Ukzy`aoKd8jvt1R6!>&E9-L7ic z9?2y|f@7|EtK^n_s(zk1UbaJ$W&>*eA-S=#%x=?90t7 z%qz{~Woyi9;rqoK%-PaOj!kBdYqL3z&Nbaq9CR(B>J&#ExsomBS^5anRxBV_nhsE;vC%Y5Ia?p4NmQ0Pis%F8$;v@S zOg&M5$egN}t1Qs%&_A#oHykmSxKfqb=0}Qo%Io^0=02KrM2>kkwMco)d;k|IBk^2w zyfV*x!n{nmM(H*e88E{->wTw<+_@OZ5GnC(Q-sGxqJu zrT9cgkvZRW!Qyu9R#v(&S6|m2mHm=j}vXz?e(`Dvd+i7#AexrW9KEZa?l&{Qnom7^a z54gryiOP30}+P1#cTR_A&1J!Ou*z!l@TV1B4`I{gU~X?3kv)S>_U{@}$+~2IoWPQTr38M?cPS%{)MQ- z8!YwayYw3PUU6S@lzD}{!F=ERz?^7b;~KBJ;81?!4RaG0ZP198=spT=4#_b!v@(lj48S?rfC{N8*S-tj4=+-UbQ7@E~}Rim4?3B0%|FJLA}j*NgtyfXo(^R zTMnzQs&=cc=!d}9bwzYv`jTO&CDX87HN@6ecTh3Ra*Vt!+h(I=hb{XpTP>OJCEoe= zJF>g7ovPdVTlyRNJ*p9wU8bB#cELEN8s&XE8?lC00b{Q60 z&gf4%7FiZs($sU*Yn*e{I}B5t$<70^rIt~$^Oo&~m6j@dmSL-5l_Sov&G1OJ)_KJ6 z$gtnA3eQweaILV!NOm|b*pKSdrL<$IdYO8SCD*XXxz@7IvP!*QlCEBFIRf7wU!gu^ zc;I|2+h`f#yym>;*reX9PIIL?x4_rtDc4o!Hg$w!lV!VlvtS9z!Ui7d;qSF+8r z-Lk{7%5p$`P@S!gaP5=jsCQY8t4UX#bB5ES&R5@%7pOgwP4Y|5Rh~7TXR=eC63=ya zjl0NG?4cXstGU{R+8DiCaYBa6mV0(vhQPOjmwI9{qBEYjqB4eOWRY3Yd75bQvaZxw zK&;TLHQm$|sFrEY>L!vS@I99Eh9#Q$IQ(}|d4K6;&2sA$JP}XTOvd+GW*KKvBdB!E zS>qvRAMHZTR6Ip98?SccXpU;KH3u!bqzjB9d?9{{Sca$4yR3zhY)c>fuqIx&$9mL~ zXZhMV<>JR3J0;U>!&S$Od6pBFdc|#gvgWDOZMmY! zx47|j#sbSce1f!ESE#9x#?ytCMtfiBdTEiR*iwfVT1zaY7Tmtve%i9$IMMusIN=;C zoh2)WZy~QXMoI@bSE<%gNzw<>XHxj~w2sCzi3-bL=M#Liw682uwpW@X9pR|7oV8rE zoRn^GOwnAjOqI=%t(5gup3*#$X4|h=sz}N{O_nBGAiFMIE4wF6kjBXF*+q_e=@aQf z$2CWlg_e`}4%;F}5`1ZXpmDgN+A=_PUs@^M?AjxpD6NxTw$Rcs(lxS7*)_`~O{IN> zBh#_j(MPoezH@%VQe#;ujda|!ESJue-L~9;|G|1hI)u1qX_QWJ^p_P&XUlF$>nz2Z zanfb7<+6H9g9VpHNao2NN;k;1I_5djiHXEP6|H{axMzH5sdFtiL}_Q6M&XYw1Ib60 zDtaGzAHEM=U=wL>*(mi8<8&g$c*{7Gm@m7j@K6z&RfdO(rY1)yd8-~8lP0sVWI?Xnc zAQ}}<)JfXMy1lk6Vu&eHNf{a~xMha1TtCpXiCAvBquvJJQ@^j?q1b5LLhL6G*tQd8 zWPz5lJW_9wjdab|XX~?!w-wJc*~S$0CfyX$ZQofn>O|QhS9sMPDVZk@HnIh<(;5YqT}a8Dkw! zZZuK0K^X(BwZsPN8EHB`mRha8M{KlhkRG>Qkq)t*(oa;?8HbRu);O!%5l5y|nbd0g z7<>Xg*0li7CRW?hv~#tKwDokVHi6u)BBc?;EXOt7RYj#@ux*WDsP(vXlVLiUDodtr zOIML8+F{l-dINcz+-oV;QZKCw7bc%I`G+J6HU9O#Koo1aUT`JwC-7cMOUE`?57s-;X zV`V$YL*xwW25q%;sAHmXrgfIJ)|g@)Lg!Mc)?{@dxmSB#Rik>~IH^4>>!&QyULY@$ zIoccKO~YC89J!t<*523Owp}N;=@#LI+HtC*+M&b&Z6&==dro^udtST7RH~Y7O~db6 z=U7QnBwOZsYP_ngAjj(0Yem#V?E~XN+cQP9a=vx9=AOFD(2t5$_SY}4#^Xz@1F6%7 zG1NreV^?1dZaimyWE`v+Pc5~cacsr&ZDTYZ#ctgd?PYBPS*v|wEHPAROQfrAgs;H#+lj-$>3#{p}({ebblVwt|oG2FP;kgYtY8>3o6Eu+pW zaK$?7IY+tikm@kyreZXEG{@`*H0w13mFum0H6q1X#{}I(Q?YJvEsCAgIL#6AoaPL5Ni$Y+ z&@f)J*?OL;qE1s4)J5tNMXOfPS+cXXRL62^67kH?V0c6((!)%#hS};=Q<7=8u9jL% z9MmV68a3lgPpDJc$)+r8tZ}P#m~OkZOnt{Vi`b!lNEK*ySZm2yrlH2Urh5HD$1U|i z>mXvL<{34~bW?p#8)>|veoV|TO_mH>%}(P~dZl5Eagnt|y;hfH z+bla{*hOyDrW*U{p6dJA#_LPfk95iOI?ZJ|-+GV4DGxcBCe^d(MhYW`sQ25Fjdl8+ z)kVxsqOMpKh#G9MO%}J+Wot=d20%D8ppq zL0zottfs(vNH@`5qME83fSc@Gsie-*6>pE#M9VI30CGd`i+tCbh5_f!|HwJzLLZN;?xHCGH*t=Fwrlr`2I-Er*+?Gn{8<4V;Hx*xsYo~GHL z_vj9oMCxpEw0fuPGJeC_*AS_QwLPM5Subkm7zQZrS)XVQ*oP=eh+IdFuEBa;H&lN} zcHi2dOH$m?O;RRV$15IKvz__&6h*pnfpV@QQ8807Og}WV96KplWY@hgURuZ8ICD7jCRw>wi&jovZ?Buwh_`4+iY6` zoo<_{Pt`Xl1}mQ^4&&#EL9zwZCF^5+zAZ}cHq2BGQ7*QP#IGA8Z1Ec0FpZe1=x^FU z^f4{95yq3M@wUOn(~3#@fzCb7GVLZxWa_6*HjTqK5)mef+)N!&4^rkEMk==wbMz~0 z4X!!5EmVP_*f7d<#g=E7piEJ&QS2gyle?%{%9DmA$~le`uEk^@#W-cIYMo+|Dpr%O z-9r`9M~J?r6NbZ*HMW780j9Oe`!2#!X3JE@lToIADx6N#$2g-kglesAu715O)3(WW z+L7kiV%w@*q2F%XYdqq*EZyWdqCBdcq0O|e_1vMaSR-V6?RQ;ktgB=m{ zZPstnAGhV%DzsbdH)M0ArOGqrN2)c_Vq3ZGjLk#rvZs-i%5>{^yiA#-+H0C_sIVO| zT~t1y&nYAH4~@^PDUJuqI%TD8wnHSXS3XicR_5wwno5i{j^&OB)dgFG?uKo<{f_OP z4Yy5}4UwL-O_LHf(ni~cOKWT*dxSkol`cDJ>|>uK-6|`Su9iKp_qAWPMcPj)hNyNa z9y_D#v8rhMNy#1?O-xWtQH@qjQ{`A|$jRzt)hgv`WsLnao}fCQnx&ed8cmO+(^d7> z2HQaUIr=@Y4<(b{FYMaFErFXdLPRc%mh z)NNE%>sP3zY7SC)+I#e7`!!dLVYq#x^n^9RFwr>CFx!wo?69w)ciOk=*O04SBMl?$ z5!x*M8TC>lNkuCt?K;&K)fW9$)jE2V{hINrewr@YuwPwk%Tis_$I7lr2g~m0hsf^9 z&Z*bB9_t_JcR9Dw^XR3TE%ZbE82dc!33VSsk&4!jRZq1Q8jDq9?T<-{9&eAguheca zO|YM$5~&i~B~`WRp=yVzL3KpCPv6fuP%*|ZNIJz{;+SfmW*=urvZqMTNt5kq(ucA* z^)cIYd!}~2q24uAeax`XFvGrGTJn!^&(<{dX0LaI@_>B zz1Of-yzm+Nj=S+9bPVTVxkWY8{)ji*-xw`O<;1TIW^i0>^xl#}e&2E{h=- zk;811VuNz2z9I0_#KqI<}&`96`!cjnf9Rz4J zTr;{WPcRnfSg5c057Nj74&rp>AujMg4*?2-axLH>9;90!MjasC8UoZ2WDK~dQ&+^} zcjcm2y7od{Kn@TG0|f+y!aasTz5voJgyFz5;B$Wid^_ND135t09q2EIQ1lv<|8)?e z9&pXCgz$B^=4T-KEtCQ9-T(>^^aKicM+kbW`5s2Ah|L>~iffdG91>GmN;pF$oB?q|R=;0izQ%8&RG z(hT_MtFArJ*O2}i+VKt076hX|!r1s0^!8662Z;X+^v_*|=r2GSaL`}j-u?#Zw&07u z2l@A1M+o}@1&AYo0>n{3e<8U2pzO;bK+#YJz>fj?e*+PJ0My+AE*c1F20SzfbZ0R9 z{t%Eo2X6D24`3R?5dsMBhjY+_aK89aIO048*~`J{_$=Ioa47c+AtInG5zgUIK&fys zqQeolDIDxbFxU|vxQG{wL>+=fqE3(oaQHy^!8trQ`iO#oXYp4-Fc*bG*{&c1#C3zR z-GToZbbbxWyaw0yfcjns{`FuU`fad4&=b;cLOKBaw;=siaBn083h480FbBOCEEazN z^h1z+7%W5|0R`}S0qq6pkAZ$1d=>o;D2tpgpnPvg_YVFMeFbHHAB;MG18D|A!5@MD zV{i}gpMkap=r+jy5-b+|Ex054KA4Y0kY*r85x@iD`T}hYF^U9P07Oxcj)LFr2X#aT z^LhP)-w_WA=J1DroWZ*thXFqf+BzKQ@L&-d0dxe=kwAY2qES$W0T+!1J^3xFJO*4e3HTOp&}2xrg#b+n z<_V`lUI2vCApH`ElOZ1vG$R;^X9kP-DUePH=J96-ql~m*)N3B3=Rx162MdB128W_0 za4$>Yc`XYThp!Aq!XJV~f*+yGkHJFDKcJ4Ef)@)VAeRC!1Gx;!{s+c@9P~sPoRe+< z89;0d?t01wybZ2*1dEX~n1@_YZWYK{Ah?kk+*i06WGn<*fCmV(f^UWG2}Xjw!J>B# z1oL_x0e#4ZyzF4{JI8u7Wx)Lz(K}>Q`!@y*GkI!dsAkD_9`D6a0^VG(i8{hx#7` zr=iCnXCZz9efca{_#*+b7W{}PNIwTI4YGD1XoBBGAz&aG2sl7l1OAp4&~fJ|`xi_sBTAio{(tRQa<4zhua!TSOy z@IMa`azVM);Gk6?1MpS@)`W1;TIj2FA&9#kF{G`Z@4+fQ*G`C;a9vNC$wk8`5ndjJ9r$CQOfwB;m0S^$L4nd-F z;M+lu3izE$$O{1HEVS<&$j*g`I2VAnMH;FCc~yuY;|i3$3Vdq_(KTrMb&xaYjc$Ow zxC!YN@X;+uKL_z`xR*O{?On)YA*=gw z=Mg;f$H4zOh|m+brX7f%g1$e4KEWX$AR>SgU}s7AZ3=#ihBScJ1hgGQazbHFX@eYC z_`;d3P$cLO`Y!4e%0ql81K_+8iuj#Fx!mB;pHOIMBsU!7Ef8~l17*8`jDbM#D)6s{ ziqUI80m2@kLiBp*>!>Hl-UJy7(ObX+gl_|70BcF8>m5k5;JgdJ{T`$lz}gXb7UB

    nu`Ln!kc1RsIyqfkET1++Ez=;KfU|5K2E8Y)7cg`&jILy_nUNHY)%z62h?`wA!n zKKecIEQDVJ9{}Mua6f+l*&jlCqi^9i{}hUX{sL(R;-K$Bk@$N^e;+CoM})qGqJU?> zL;ZjUbc_KC_;w&r2C&Ww4MIa8JtUOFi-S6b0{`<6pkeTQhr>OMfcqO6+BcP)4n==YgLE3yF&8KUkuV*~&4)BVya4WDA@B>KPZzYT_Pyu=x+6y(pwK&M|P;N&GC_qHR^KXLsP#EHI!oa472@p37 zae{yk3i~VS1Qa0PhlvE8fd>e?gmIDgU(EwLhKBJt0=Om|(hOj206ZYLJJ9Z7eDrFV zn9~Dz7F~ZEhD2|K#h^Dq)*4*&7Ra6h=WUQZ2aXVA&w=v}+{3#dZ-EfK2W@*FWbcQG z(FZ_V0CpYH3`FQ7;6Dlzia!S04#b~;ye&BBQ;;*@q0iu6e+TKd;Gxe!-VV55goR~% z6BZ=+HY|txmoOy$YgmsQQCJv?gz}ML!KhzYns`7MuW2~k$A~c1pT~uX!zP9aQDPV; zFDa~7@9AMVT~eVxXNSFy(!%IYOMzb&_I{o?EJ*l|uxj+Lu)lYb!Snl1*kYs#Ye2fN z(4LmCA9?mLuGksIqUA{dIU(TnX0z7GDTULRG+5 zg>@BQ0m_1V75J-RLjHC5ts3BKU_9Ia%0P&20)I1%i*5mBz(==%Zwo%U18uzvs0F)r z59+A{S`TGgz(Wm?ZVfTI4`cN~SP*&ydF?|id;)n-Kv$jueGZ&wAbSRFYy{c}x{m{G zfd~=MCK6=NK|p~FAfSQ%ItT?wfO5F-+AILvAV|L)0(gmqxE-JzgC3}pK!o^^<_iRz z&Okd0`XC5p0k{a3ZC>zT%0Zz5m{x!?;35I=41$pN^&Jb*Z-8gOLEV7wCg7v)Kz{{9 zuR{3%a9@LT3qsLvA^lru_Z!d)J%R5j5OdxF8UWtgkY>S$-aikOpwx z2l_tT><2(UfcyDSAVwbvdZUja-4;Cb3CKTz{`(Xti?_Z2{y8LmDd3^6Kn@W89_UNJ z`C7mY{v(uW9~|^86aq}zgr;^6rXg}j$QJWTK|8UbYhyphnR zQJ@c_Aw3$d9RrjB7mWq}IdI2;Y@DD6iic|wfPW5x2_R!2LK6i@ln9svGC+qZpaV(3 zGZ3Sxzz0Ay4f;D7+AtmZYzE}bfb>kD&w(=w##9Q(TfpPZhBS-BG|;)Z@I2-TI->a? z|78&J7DD?LL4PcUYZ!#_R{*~Pes3kz_k$ou_;*PE9m@Sfz(GF&&p?d+2|NQX`WNv3 zg8Y92WsxHR-S`ir{{wB43&iiJ1g{_s+@BU?twDCOfs6qc*@173CeeD3u@Gd!E47XA zTbl%{P!_atE95cwE7}P>K(tHn6WRm6yBGR(AIMtJgpNYGHAE-}WUbKy<$??#J`Qcp z1D-{W8+aBX4EO->J%V6#5@akm1;7KUi-7`!B|uqlP6<%gGDw#Ra!@(Y7W76H(EpVn zdk(_0AbSq{b0BLU@9-}|9)n0!1v~>0x(xg;1g{#(z8pMs1 z1sQ|hs1f)82yjUM3^)XoAwWM#pa3BSlmb1aVVpGq-xeSYhxazk5F<`F;&CC(fP;d7 zXCdSP4-j?;N0FU?XCdMP&kyHwI|Bu9yM)6)0iH!7EH6e*<|7MCdz60|eg#1@J{cSqLM5 zkAP>^2WTJY=f2S9NT@#w^sOJr7zl+i(2o8f8vwGG1Lkii^Blql!}A*gzY`02F9sLI zK|YJ#!+>WY7!LePz!?GkH!_^V9}VS3hYQgdxX-b`zW~AGp+DjwAHYd~`~etEc%yAtRR;SFK`4o4j&a1Db{^q+9lQweDX5o2`WD8~@~1+qea*Z_8T zPLA-7``1F5wc(<;O!$or;fn=XkOqjihNG``0MFokv@2ZIabLLj?IYnr@lmif$HGzX z8BJv`@t|Md`}^Kjj-z$+J_e=k8lR)q(lYUtZ5aQ&6=-o0yp0)#g}b`yAj z;1;BBhohLgkiHA@TA%>IJ@C>Vsl2;GE47cpAH zfp}^&glH{?BUlgV^&A1peh6qU zE~n$CTwdqTVN+^vDElSI0D`Z$?+d=+qW<4<2cW-j#hkx!QOED09uXJuBe*}sMR9Xb zG?Zl^Mlm4o4|NX!89+1;?q?9U13wn{IB5S+E{{JP=m;(kjfCGB1^J`79ea!i8qXDR zCqSDgf~lRv?S`gs#lor3hH2cMXa>|dllv|w73yt)0L_N<3(zZ#+eh&K$h!})CbBke z_$QOeWRf5TL`6jn2uKwW3r!q)?}&m8DS`+R8x|~s0znOHZ)-!bE9lz0BbK%Iwl=`- zy7scGEBgJjxU25E#ogz9zwf%fJkM{>eV;RDW-RwPP!=F%opfvs&`Frde#2?{mkk{hLTf{)W!?uW+jG@FtB^J|! z7BhqqvqUOZsbpe8eutKe39k@Sd>yfb)D`Cu1F)Z2ApT$ySAhJzKn-GGi?C1QU_A0#N=}Q% z|0~o@MBPL&rJ9Tqs3}3*Eenjj@j)`frlX&i&Mh@H=?EhKBXT_Z8yqHs7M0`<9i7sK= zm+?4XK@O^`V$ql?JO`8n(%e#Jw!<>m4-C_eWH2Fh!%+&&@5$)wnnr8Z9*H0 zn$s%ElvXKQ&|+c%EpfVo6-^Oq^s%OSr7f)|bD(L?3DYE<=}BhoX=S1t+T3WCxYK?S zKC~C{qb-#|v{V{Fi%29ba4~3)p}WwXX*r)j)1)g+th%EPEE7>C(kecQo)wu!8)u1FRC`gsm!|psbSODUPbxZ!bseM0zLPYuID@Y# z&(UM(i?lNEGOZL{rTN4vn&Yq2gu8)ba})Rb7VS&!;N|cxJ(=96$)pD~F?@sx-A}My zV4l%D{eterzQVMY*ECW7jP1UmF9#om#}02SCSAgE8Hj7)HAzC^vXKL=mM~<1 zgdzhasxdjJt7R%0CLxn@C4?Ix;Y6b(0-J}nJc$7rD^Ud&A}*9D*&+!?jYr=J5}qwa zT`{)(m4wJA;r>rX-zlh@BB4do5Kl)8`7Md?TUg^*C-DaO^js?o%w;ETPz~SjRT( z&vvwLmy~e3Py)9b{r6y9704?jJhx9$BtD339g^_MBX~TIqW-8vq&kkiCnO@n(-H&z z9NN!I#*m8=RlO@{zartOYZ4J(C6UoLu-r}5eMET+?RW4zxr=%b-9vd#VovT$M5+gp zNb(5zBZ(DxB2n?raDSg8e^2xR`}k6_h`d5wEv52j2^mv^=fzvpy+^&1P&kPRZwMJ* zLNg?uWq2ZE@SObxU8fF8p!HGeGn5iT$tnYeB8Cj%>oJj}J|iLx7*=J>ETT=Y4A4y( zN>CwIF;1ifmN&<;77Vd!iMp0dqSzK?Efr^v*d8ZQIWRKfgymWz2d_2^OWI=H?HHxZ zl_?_bOcCpe?Qo2W^JZw;mr<(xnLs{>A&DXAQ;Q;@3>_K4a9k9lBGC-~EoSgtIoe~H zLed!}@Lf=LVGNXA8H(?YxH}_|o+!b)7t>so#)twl7@G8D1g;;$(`qJBH4y6?gk=UX zN>L6&L_@Idp$uo1%UIE)Q2#+)YAi$Q6f#7q!G4Tm0?7pQ)iP7aL`IKHW=!d649S~; z_0NP^xR0}$Br=zwsQGy7Rl=~wr3^7z!Vs6`I0h>im2wrMCFNMh8pe=b$I$s3@m14i zhG(}jmfTK;NCoUu1@@r=`?MF!?ZYwOk9D}VH!2jP2o0>(qbdj*Ow}djimxrVsq;VIiOJH}YX?`y$MUt?d zWa;;@eWfI-AGV{G>Zt}wC($|Rmm{TAL(x7=nn-e`q+*n`isVU^f%$05mx@S%bfI#b zlq2JjkC*22#Zo0d5!;v~#p@)>DX5=A`o+qX9N>E?RkSxOS zEX6)7mGbm*)I-H8sVOOw#_{W2mQwX`t$e)U?q_X(W9{ zN;{sH68S|O*YDtxlo(u*%E&b-Pb#HS(G97JyCo&wchLWi)RFyO>TCW`YD1n#^AcZ3 zY5GSgoA_Evb8pc8MrugjN?D8=;PX00FKXozyoJ+I;-6wx!iuV7tRYdb0awa zF+`VotQo1#@}vQlYshlM81?U+Y=TpZOxQ@aIqI6TGGfXSkr`q$Hos0wlr33SWX%%Z zh9%y1tQG5kItQ%7kyUc7v8*#oqS~PjTD!8-*bZ!C!lB)ZCA2q7nfjp(cz@Pg9E^Pk zVYQ+NY%`K=L1M66EZTwV#C9|8iWtP*SLQTg>XEV`v7E4c>gX1|D{pMm@^H9G4WeH38g*cvzP!C3nQ7&f9 z*<~n~q2F@Wh^%D2Rb|+AIcv~mJsZev!ZF{>3X$7!tah;ZW&+F76)dOP$66U4M88@p zatJY~4r7|_QN-_2$8gM!vr5@1+?UfVDLKnFQeI>o$t6~mcol8eu-`M(^#$r)u$1UWEc+8%L|(Hj z_Xfwk2KAtNi|xI``iP7cVaP}&mYE7t8D%V&;dMr)Wc6g>1YcExh#1HSZz$tQJ(=Lx zP=@Co>cOxv;wG}9Xq9XlZ7w6Ug=`wJ!uo7v9Al4lwvrL0gG@;rWh`-$sc2^`-$q7> z+M$0tnUZ%w?ur;B?lR8IQ%1Os$UCABCo?DBGEUzg+YLZnfQ+MqPzK4A`JpnAC|pK! zkurX5tc`W>-;Ol@+O~5LaW}*YP;qkmWIVWQOFPtc3aj>v=Gfqn->PVi*KYpI;@lpN1t zl(d|6l*;k)C8sGl+U0VJDC8oxj$B0aQIDx!q!vEJApSg@pNh7R6xGA}jZg=w`tnHD zSWe`P<@v-!&KftDGfw7c`wZGbjt`P(vy^j`6-q1of!WBF#1?TainB)y7LIa4JIOiT z899jB$QN-g*l$DE$W2L<{BF;#a>}TOTtp|L4X9q&P7>CWj67LhL{ibWx11wsazkYX>OSI?DJN_e z_PrnK{~8rNK+cna*xwvEi5!aMff^>~*j)4l+%Gzu#Ty6!!a|_AGld^>cBk2^W;i)f!xZtRNhUs9Q(Wyb)Z}&7n3r1 zN6`j64>rnuL$=F}O?S(ml6`WK@_<~VIw&VAj$$8<%USj$j@2o-f}E8biY~}`t4s37 zs!D95O0K86Ay>+7%S)8^@EG66e*S>j~l~I8IMdzNdPI_!;*3 zIm-9)UZVexa)Ej+-%r0o{YOMZfiJ@qcpsp^P&!IV!HQ^w8DSJ0ktztqDhMv#M)3;d zdI~F|ui#WlEcXHC9xGU4h~?@jC}O1WCJhu~VyqZbVuE!xMO`xmPpK57$PE3=6b(|X z6%vu1f+qF~FV0b6PFkbBwZf5at6;hI3S;7`;8}Onxhptj2Zf4wBK}|!<)tX{^H-3_ zK!uMo6#E*kAY6ok7)D{aCz}$W7`P|J<<(z@3Gw#O1h_l81zy&l4J#;Q?ReS zvHmm#QKloOa;x z*$KN8DptUD_b3dgec0dqST86KC`jxf1(|#l`Dd`l6s^fgMK7;&3g3BG6jVv2;xxH| zWpCgyys4nP?kH%{Jsgkk6$1GI_xS;i?<0kbeyX6U=eVyg@c6t`kTE~uSiiz^NUBzpJG z08GJ2RClPW=l!A0Rn zJ8a({;-EL=pzc53M0i+mkHk_2U*O^+M0=b@(Xc+Y*ATxP(FD_aOwbN4&C#ktZi@Uf z5?heY^=;Ai=jyQzgrc3Wmez!&+hExbIAkAgA=)^tuXd%jyLPWOQF}zYPuoQsq&=-2 zpv~3})T*_dw!gNkHeEYddsI6_J5;-0yIT95Hc)$3J6xNq9ia`=j?zYJ4{H}`OSL_; zOSE3vG;M%3O1n(ELK~w^(3WZYYWr#9waMCVwCl9%wK>`=+6~&1+Kt+s+D+Qy+Fn{e z?G|mhcAGXryF(kP-L1{g_SPQK?$Y{bv$TV>o3&fD+qHuBg7%{JlD0zISvySIM>|p* zt6ivFto7F}*PhU>(gthSYS(B(wdb^FwCA;_wB59s+Hh^Ec8@ki>#gmi?WudJe)cwi z;NNky{9i)w}gr!2Nzj>8SW~N|J{5w7=MeRJ8vyO41w4{xuPn`1F>7^zW%Y?etNWjQ9(E zva(+2{}4OWF^YSD;3y%{3~x)I8MPemG||DVJ67-;|BQ|Ugh z{uQ<<+W$M6YL4~%Z+!X~)W>>1qH2Kre~-pze4Iz~n-BjU)i&%^v`w0$|zFaJpB_Ub(rQ{2g4(EXfl?a%#wdC8&6A8s<#;OifJ zje_B5#Q%GLcuD+Z9~fk{Fb5a$r#QUIV4&w0pFS^9^~(*llmyY|VX`vX{sz8X#!CKo zC^6RcAN}_FiB)}k`@_L}u2pNg6^9f@7eCX6Xuj80YBMwe#R(fp{rtL>|KqkW(aEPkPVrA^Xu#l1BBG*7hN#n-jf+WXol%^hu$CRy`X z8>#7998;XA>7jY44J(e(#A^IB(VEEOOih9&P!p_)DE2Atqwz1U(GJn{*8~;EX@=vN z{Lvo{4wf4BMO0Y&)7wy_|J;YytzXxYgWx})hoJwbRKKqJmvS)v`xmG|X#WD#KrH_! zRA~CcZ2)Tixj+65_e1}GiO)vgzo1m3{Zkai5>=@EaO;ck^Z0)`?x!0sq<=T=_xo|c z-*Vmf9{F+~j$Bjs13-3P}57hk&_s3fbs{R2w`FEeo ze_c}&f-k`T+V9u0C*epUlK(yYCNb9ge~|M1xZ#H<1Ge}3+vmp*zjVxy#~7e)9PszJ zzZ(1dsEzymZvB?WBlxDZ|j`Jt_q8-(x>B2K?K& z@aJFH-tS=$%D<<2zw{rAKvaF9PhJoF(f{+PkH>{of826yjW3En;{U}ME6zE?y8ei- z-O!)>mqY#UsJu}3_juxs<^BTqVZ8L0vD44~k+;PdO}qp{qN#&uP{jyWqoj4^*a-uzqq@%ZmY-=Tl}efnR%FC#qk^_I_8=@5lLYjwbfu^90=(>>pkevG{K{OGN+7ANO6i z5?$>-K!1KrK=h?!0jhfVG;M@GsruONN7x3)8{jXkAxaP#6H3(>WfSDJIE-WA_ehWf z-3)5Sn|_&#fuoE+lD|ah#sOI~Eb{^XyKzGfW0guCi~M$zM>-?8e zgr9-_lQExP#)6b}v2TAurMnZg;~6+<4)LE5$O=hBnuNpu-q zPOqic&=1t#4!)e+Ge@!{wDZRLkNjS=7$>VJyIJX*(xm8NY|$c*;C$ESZP%BrtV|sE z?BM>q`=<7j0?qmy&Ob*MIIW49RHODBbkm6&Bpq~_s~l9L_G+y= z!6hx8&t2JK_i&HmB?Hxy^mEqF*{i9ruj%5P6Tj$bi=SF-$dZ}YH8(K7Qn#MD<(g+L z%*@AF*qa~gG|Jt+WV=&{d2jO(<}b`=nx8d)WiGL(AMV{*WpS)?%)uJa(a}nZ*VR+iSbf-XK3F|8~$Bi#b(Q z7WXY4S}gN>x+UIluAj(KVmZ!poXXRtk>&k55yMrMwo6K9wzF)X8)G@lyKl>xE^|7T zSx!CJX2iUfCoFGTE^QoEFmL1rWt|Z_DrZgBv@C0$ZQ0QOK+AhAYt#)j!-ZnXM>=$ID0DEN@VZq)$2YNAioCLM z+V#bn*c=5_x1Zx-j~ewh$2Tjc=H9mWQB|Y9Yw=A%kYgLCiYu;8?oL$-52sOXO;W?0 z@&?2{ZKhw|Z^B^Z3gJ^)AmeFZavqzNBbjfjR#2Dt}UqFw$7~8 zZF`n?t~0cqOS|wf9)&gP@m}p_8TC23WZo9j_7?4PQVh_E^S9Hb6L7!y$fEe z#(y(s!_~k!XEyE+`f=*w3~$#f%NLgS)pzr#D5+5|b6wm&9?4#A zmh-9(&vRQd&(tHtqq1tfyV(8Md@py-y|vP-j>iH){|DEF?!i@W>gTv$bg$MQHz>K& zNi$cE_yrlo1s>v(s~*mEpSZFey4?z^+r2~b&}PnqJ8bB1Y|2LN^1{J`W@&hNFU!V@ zOg%jon|KcKJTkF=+2n&?ds@bB_4Fv+->^gJ&86BhzHHng3;F%JPjkm+4x4jo;>4&S zZmEZ>58EC&-*Ilo5ghIHu5AC3bw`{#Z#XJ7*S#LMiZiXQQLibD@vm5XG$evMWp`xu zPhMg2d0uNvUvr(uj$G2o_;HG_S2wS4y^mMo9( zNlFndxAXaW#j^56<=cGjR`2xI_w`P#?;B<7lWOkkl~S;|l`rS}ysXBplW%9=P6qpC zhq-m|8sl4|w)MNQ`u?>CP4->0@@wUH!f&PD>){W-J>(bUZ?>#u!Q%2{7m2)md7bjy z@*n-``}?>rEqC?z$+=)qqb{48=)dkpfd5Uu9RIDIGX2%^LH-xN#N$dqk)x2lj5$fAGzVm_+~+tL0r(I zc2yg?1li496O>Y!UMVVg9#o@lH)cw?+F8ZZqRW2O<)m}$b8Fin|eOmjxXm@;Ne3&xzWU@V!Ij1^$Z-GH#4J_%Z%W029arF~Lj-6Uu}! z;YHObpYDNn(C0p?Sxi4Bn^80UnE}i|W)L%&$zg^t zLz!XBa3+@-!Hi@^F{2rt$z#SaW0`!WfGK1&Oc67V8P7~$v`jJc6*G~U#7t(UFjJXn z%yec3Gn1Lc%x1o3<}h=adCYuf0nYYb$Sh(?nZ?W!W+}6bSJ+$eX-gX%zeQXMId z@}j&cAIg{Vqx>oSVNpR;Fcm_DQejj$6+zt*ZxL@5pJ0ym|5`P^zqk41hK}lkEu7Sv zQ~&E{{&n?DwMIQg?Idj=HWhbey5THzTEa-A5>_IY=t=5G>Pt){O(hnRmJ%C@ourkd zoy0@pDe;#COF|`Kk_bthq_d=lBw13sXJbW?qOPJ?(O}UTe1mm_j2C5m=H2pty%(b# ziX3J*yirCdZaTbjNK_0}jB%`SOm*7p6sQ-gH(IY)uc7luXA6fzdOte9a<1FvC%w!z zC)-%G?b6nz&J!!2I%e(M+Xb}yy4{32qOsq5X*zhm!?dpbU$%PT`USh?BfyH?|scHWbfk>0W1+1{hQ$9dlxxTk@WY}Uwz zi{Dz;JL>79+WM93y8FHA4fa8y3%ADKP7NIynz?Oz=-SYV(7mCjeCq5yY;-B~YUuZ& zkBpvLigqZ%I)zz>9pCtN$D*+8u(_Q!Y~Ow8WSD8(l&~7LYG;`;b;p#r*NEGO@7duS zJ~o^xTN=L8Wy{J#;opYe4j&Z$Ec``yjXEu|sd4_1?hy@+7W*qc8LD=f%vd{v`2KWXrn3POf2^$moDFz>bfjCuu2-! zIOeg<%gMVvjrabvu4Vh+vBt6U3#WSADzCq0cth*hI>QYQzFp*MwsY+DxTH?O2V0gq z&R<_Jv~*=`SNF3|FB^q)J{jA%)Ac>hsLyoTB{e!a(<7ntdFhxVk7jj=yScr8+!^J~hIc%I;|4G45>lf+ ze{l1Wu}7}O)u<^l66i-Ofd_>xJztFP-r0@}!H)!+!BCXE?=u9SUZ~so6N~FLb~!)7N84>dH^)u4Htp_qwA-<6*46p67MDM^{BXbc9gt)hyI95p~vrp zKIr+fr#SI!a(rS|;;qZkS8gSWQx-gm9QG{H#^hRMhpX73yxb~X%z~h?e>aDK? zy@p4J^zyj6>)gU#nOBcoz1wT*H9D#HwTHd%j7oCUUy-ygX?3`BrEG$Ja;2wNa#FJE z<{I^Zs;-Ols=ID}l53aJH>JAje)U9evHkU`TUDthzR5pSyIy}+Juszf>YJVgy_fd3 zOfBjC(rat|;gh>u^T;bNtu*Q8nVU8vEz_tpt^U!*Z8oL72(GHynWksC(B!8>Z3a%N z$iBJcX4INan(=d;(y1=(((5+uU|e9_XU$;mJo_f;HR|cNI;W4fUv;Zzx<#t8MfGZ1f%uNr|P5htT!oSk#S8okJJGp6_KF)nY`tNe(fKeet7?(>BHoQ%^$tZ689VQ@T-0Y-F*AaDL(Ts@lmd3;G?ZsuO4i8 zq|C0L-7MQI`+0MlY=`W{%e}Ho^eyT%RSqzHE4RHqCc7v*u9Yt&n_E3FP& z?a$tl5pwfs`sldp+4r)qgzBps_>OA!qRhQ~h|kdSqUEQ`=lfl%cGD~f8CBWtMxT^t zDZW)dB6K0Hi>DlW-tggq zruTXub#)sk?^O4WaoK=Vf5>d}o954knBvp^@J3pnqsyy?+m$aKZQyZr1jY*tX8RlY z$NA6l3vcGJ=GYRY*(X(%TBy&kKKjpGlQy9wElbZBt8R7 z*wmjZccxUyd$hXNYQAHU<9W>v&BKLtoF>})XnZwZ@~Xn7a?gT#a+{cds^R0;&0Ag> z>J;vjrnz6R$}YDc-~Mdpk*BKScePHOYCE|}>n#S4CcT{$cys+x(#EsDfBz0y6$F=g3FsMHa!d;`*lX) zhB=F+6X#HKWXq4cq#R!564OlWqCT@~e5p(H++K5gxD428py#%5N6B~ki%LA_o%BDi zf5O#f)l0V?ZgkzZ9;J$NCEuZtI_#2Cfy#S@h@H)6?1J2|JZN$Kbv?Cz7WeABWg-jTi<-)X)P zt1VV=a8dB- z;FEswA$g~hx9A(ysAt423CZ$sTkID4JfxqIWkGABw#iRI^hW5F#}9NXEibshu4=iK z{a!Y0z_H=iLucE)nEYtlm2F{mO$I&=&agYM{cY$gqwe8Z;Rf~BZ}-?`x$9W?u=2+R zUxkkdFAsm}aV0_;c_tz}%5+aRA@Kan2x?bG{f!6XhBj~u?|))GZ8N1}XvOuit5Ge( zRu8e>?z2-b?5mx(GbCM-`*!mfJ81I-t z`}g*t4kpE>#u^-qiMw<7WalO)4%m%0;tTuQR~MSw8*37~ym?x;v@G82q_^F}_ySXD zLdS&O3AYlCC5X42P1t{W-{}|C-&N18epOj!P#X85(TPT_6+64m?aJORcCt<0x6H`J z+Gn44LE(d}%I?-Zu3WfeyEn+uu3rNqc}CAWJ!NaviQ^NW*PrFN-K+YmIZcLnP2d_A z-phO;TT}Kk{?+=XC1bKZiB1ivN~-s!s%2`^>+aWY#jWZ(yZ5r*GkeeIz2Ul_e}%#5 zvWjw>6?Y7l%$b;W=SJ@vsW*-qWR?F^-fD@Ve_#JM243mvn;N&KO=E60-&&(iPZ?Kf zdEKGfvtnCvl>NPK9wx8+x-OfO-ap+X5ks3~3lpO__l&R%=6sEEPKHCXl^NaordAhiJ>g;6*VEpiZ~wcI%?{q(kukDa z=Vl{Q*4b3#CE2)?FCXh0+tU7M=q2s-hDk}?tE^6y-APqB<1ClUCDtdqX%vc9+DiEYHr3$7x%ilsY7sV@TTC9 z;F$$MbM};7lC3knD^F zvi#)Remzrm4R%U7Ue%zgFy&5lr_F6m##Ht7*;}?d_omg?Ije>b&Gl}%FT}0zZ3If@PGx_C3k7YfRx7y`ZEh-$8a;)x#VR20l>$Pdo zM;WT@HfFHT&-G_rs>?0DdB5Szj&(1lc|Y<(Itca zO=!D*$(|;8i6+;{p=cY{rh(jW>|5_e%b%1d&sOJknE1+VnR}Npx8`j)U%6mx)%g;) zc|F%Ac$6*p@sMX+Wy9kQdmo;BxZ+T=V-3B6j(6xZyx>76;n37$O$ra$R@gl&SZMc+ zou9^IS(e& zWu1#P%R@b8EZdj2)Z5v|dc_iD^NzQkoG4F?w6)82c&41|bhW&B;o=C(xc!!|7xHt@ z4%lT~f9UL-TZYZFn;wb1o7`IKFwyT!czjjWE!ON#)G=SB-}7@Wey)BwTfF=N{Z<$l zpI_bUh0lPpYQL8;hYj?CP8nSH>|oui4W1jkHaO$2Zy00f9gr0;AfPy4 zgyF$}D*=LGSl|W2L4j8chX>AGSLBmyMY^uAXSfoP-)dLT zk)YPL#=%>?O@f!#a}5p%jtcG_92mE8lXHlVTk8<9k<4gv$n21x6PeIAiD^cYL)RJY z2ptx?&*((x<D!p|fM-V<|AM4XK{ z8Br5a9@JCW;hhrK!nr7pHr^Fi9rsh5va?I)=+5rO*`3v$OF9oRZrvri%YZIxy7;9j;+aMb z8?{Opov=9J+XREIX=hh--O|;lTbpi^yBqar-J@HNS&bLihOMUV;$>qtrlW!#7 zPkxsCJh>*>CnZ0nEXB_x%A{jYoG6$KIxNhqo2_z<9Q2{jP@Dc8Qn9IG8~)j&*e6^n025GV$krcG*tZ9kTti zucRhr_s<@heK2%i_O$*(1||+laNnEygYC@0yv?4}SMp9d({oFy3$7V-N=93L@r zWaOv^Bb`Skwi+=i#L;AQ-O=qv_i%L|9XL8}v_>|1^wiOhM*lo|u|-*2XYQ(gf*tBU=r`4Zs(bZ~tRbu$`E$O4D2lUz5H*`jgx@gAc8F#m{GYw~Mo;iJ{ z_pCOvLuap_eS7wTxy|N1aVm0o=Q8YE+WcqpYt(Ld-_v+O1C07JgI?H#yLNG3w(!C! zv)z+RUzLtJbxC`&$v&oAF!9-L!nJ~^k-)@s6A{oRXvS2S38 z(0b6S%X$v0mtPIKw@5Dj>RPvOjJ%&-om)1&T;|KIamig`Yq9RYx?w{aCuXicVLsZr zzfb(eMw`YjZn@@7OaD#%Hci2IYU`!DH?2E$ZIf~1>zi(Gl5X8y)_vRUX6P1 z))9>ZD<5tfx1HG$IlkID3Zw0maQgg=Uh9NQ>#lbjQ*pRrjzjxHHEMcqH%&&joN{)r z!;pAB%yW*!c>Q`31R_@rhQnjHhF6~6ennPV=KPJTQZ*^dD zMY97nYRv)fF#e{&u-k}V9qc}0@=L^)Ba;ao_{;%V5UPO9J{LrPd2)F z$UWdz{KLa9ZMw;iO`34**zsv~xf6aT@{+d|hn#RsS$ZO}e3<8g)X0-tMlOpVoM1U^ z{go#LTey|wiG?@yUdeQyE;<^&bSeAZ{O;Zay)#|TG_bC$7o1ptIgvTo5QsPeu8TmH6veGfxRi#2-|N7c=7jr?xIcMrca)z-Zf zbSeAN*Ov+}uemJ0B9|?{Vsq_v6U%mSm27aQIzxr&oi=FIxjaqVZ z_01af$(wI({-|trD|n5v*F@hVR%y5I-Clcp%k9>8qV68L`~6*?d&}?Xf8Y3i*ZT`1 zxBPJ9hm__4y{A4}auI2t+42Emu{++qhuqtEoc~XEvrip z_dvg_@W8D>eklVi17m)SO|@zrV;r|L+Qup=WUN)3W%rT#GCwOPD<{{a%UQBE0ghI$ zTVAkS*HV-lm#cIN+|X`h(u|~$w%G|0&8*svzS<@${j6o39xr`zl04eIYU|lho3P$*csGuWBlR7&sZpn;S zU9u@(V;?)g@_XxZ+qMqHcMo-zOdRBw`NN^+4>ETxdi+C^=J(dkzun_Ox43qt15OOw zuPW)+)*_<);?<=Ybpm_oSqw7RCc9@GK9~!1w9gqiJhpR$|T=7+5T`o?-T*ZM5UTblZM&6IWPn zNar%PrDs~Goip7VTgtP>Wc}RCD@|~}ZRQ_PR&Xg}J-#=LPs&T{mQ*xzQypa?&8xap3ai)z%f%gzVR%gj(s%iYzfA|Bt-wj#Rko2`4Aw{_Gv z?eDp6z%bJ*mW^9pGOy_2iNA7Zn9^ZHl7)I^W~)9M`fTfKl}%?4_c6j4tefYo_@PlX z>O`yHC!2eo!B~t@&xt+f_Veml(Wd5dde4nL&xHP1?iqS9*rwy1uF}ASs-@Zb9pmEn z2CRD&6HK0l_PFlb->lJzwO#}QjNNUb6Vhq zzWcKJrA*8mj6JSVx9?%+XPUk?vw>`#@3+mO!h0F~;V7%dqV2rJZN1$LWiuTrsvGxmy-}lX)B<12gbc87N&9(ZYCUWxs7758{`Ia) z;r5}uqm!eXSdCcxmRb$odI!5F>xLtP(q z-`mYL=qLY6af4+~-Ea4(QCnlQ^HoQ$_^2g!{4XnWd~UYB;(V%Zje2wI8g>6Dd;IHS z?d;hs(Y#At&7#h`&Y${bQ@&O(5rh z2LW`G)H&cm01|~9co0B0L7oF11kg=_=YR(RbQAbF;6VW0qpgZA! z10Dp>ooJvt;eZDLbSE_Ee)xn30dyxqaKM8Ax)Uil;6VW0kGyceg8;f8bK!so0dzkQ zqx+#49t6<+hztij2tX2%0}le|PCDU$2LW^^$Z)`e0Jh_ zK>*zeLLBfQfbIk#4tNki_X9#4@F0Nhgd`4l5I}c=69+s9pgZA;10Dp>ooK}Y4+7{; zp5lN9-N|7b@F0Nhgf9+sCw~c`JHd+s9t6<+SQH052%tMTjRPJ8(4E}I0S^M`PLAV% z2LW^^({aFq0J@X+IN(75-N|?y@F0NhG10Dp>{a_mhJP3dv zZo@?bkb?laA8_M<2LZ?^)%d2Ob2#^k>2W4+4-e$bkm|$XMjSg8(ES zIq)C=DL@VakV3@3gP@Bwh(Q2SgdBJfK=-3^9Pl83?nm=D;6VT~0Xgs>=wdBm5P%dT z2Ob0>A(8ahG0uMs%H4zBMU>W>& zI|l@3MROqN&W@HL1_6j1G4LP&!S7!3Ab{?|V;t}x0I7oQz z2LW^!DC2+!0f+%|;6VW0h08eLK>$(@Iq)C=F+vVJ2)ejFVj#G{83(!xoe4l1A_pD> zAjZgn2LVVU7z7}u$bkm| zh#7LgMbron0&wPtK>%Wb9C#p>h=B(IaG^EA0S^M`F1p464+0QtUDS;O9t0q*kpm9`5NE_70BM6Z5P-Br z3_J)x+93xX1R(8^0}lca7nH8Z-B1GOj@Sb+a2*hX0K^k92tYcb4R{bh_Xd&!9t0p> z$bkm|h&OWJK>*@|9C#3b_#y`$1R#FMK>*^97?}<xvizz{U6Q-Uc}cK)NFb(gP*% zAb{@Td>jZs5)lIrq!(h~LD0oXC;=Do!+RLig8(E2Iq*PI5d#mTH%btIq@f;o5P+m3 z2Ob2_T?~)|9t0p6$bs}l2|NfuGLZuh0_ZLr$N>)m=q?<{0S^L@Y~;X$07Q)(co2Z} zM-Bpz0jLK-R}Mrz2yMXY%E2f>0Fr|oc)*1R@ty=R2)cMEVi14~Lk>I$K!zg+9t0q{ z$Uy)y0!AVS9t2%H3U#9qgYH8Y2RsNs@{j`$xS}56fCmA{SmeM1$wv%4kOIUY04YQr z2tYJY1mn;SJP1I>BL^M?AQO-S4+0P^N+89k1M(Hxfd@fnBH~FXflNjl@E`!0h8zUo zr=tWi6D5#YXagPuAhVGJ4+7{e*vJ8ygB%5i1>tQ>AUTQ;N(Q26%<q=23IfggZhN1!FKHl&eiH4B|B4bfwk%?#o zdhbT>JyZtiC2CAJp?{sV@&EPG`muzsQ3qrGZ;g7S>MD0Us}f^RHR{2qPqj-hO*g%3 zI-|vg7FSxBn^&9PHP5y9%EG|X*wW0}(bm^Cz;=M`Als$(*X%3pFSR=0nA`eLdrvoC zwd0-8-$tH@ti;6J_EE!QPsC<-^6%=|J*oTB#AS))i3a{}{vY1% z1FWg8T^KZJr1vgGT4)v!ktRio2%=I1r70Z*1wlH}1Q7%U0l`8QP^2kEMVd%2iU{^b zmo8lteIftKH?L>j|6JdhnKS2_3D-?_HYCx6mG!K(pS_+#J;oPycO7s8GhhG5*Coft z`;R-;gX}z`*gL!b2i9ZCJUZA znRJrv9cxtjIX>PbKr+o)q)FtdNQVelWQ%B^=q2R3r~z45tW&H3`3m_J*)G0!i-3f> z#9oOmks67Y5^fwMdWw^bTHvIjpps6KWvEJ26Z)0psN{;|nj}d|PRdfsN$P~udsKwf zR}>e;lt!S>zjKiS#{ka0IlJY-OR4tst$2vv1v`}rm+`~Y@DCw|D(QasH=Be$R(5z) z2q~+F`h};ReGt*3^u+E+*s~Cc@S^m$AF0LQxJPKuRMCf(O;VN3>6Ir7@hjusDEg?_ zhvpNVuk^0XdD7k2y+1I%Hm)d%OC7k@ou(YI8!s1ev-NFj?rT})lq%TSyLQ8u4-D@J zT=&KbxS#n&sgk{XZQZ-GxZeL=BQE?%XpK}IwU)8&?I$#T^;ksl;qUIYp*6cS@%|}% zcEi&3O1dED4zk!4N=)nG9lMFpxz&%;#|wOVjOuDYUQUr-4695RnfMDCrde0PdpA~I zCR{g2v{^hjq87Fi^0_V5G${g>s(N)dI{(3eu!G?qVX2gbFk~n(5*N1aeKO2F1Qi+? zu^zETNl!kbOADztZpS!k4*YohKneFz<7RAHwFgcvC504yc!+JxN!|K9>&?hSl(dlRBr5~nT zjCdKU5~dP?ij4h8k5&zPSy6E9>eese1K|%N9z}eX=?kUxAN=GWzB?@Zfi5N>d{5-{ zhYj=A_d+gI-}&p~2idz4*64=El?U%`;}e(_Dm*aXH8JENHa<+xg(1+W~FUY`AX#2vEwl=L9P+5ldi7Bl>vClhDB-TgBEl@F!H%IYbU3P&Vr~?{+Ca?$40gQkHz#+gGFab<~!+<$(6tD!W z0UN*;I0hUC>;MOV_q@FM4|l)=I0bkD-hdBq2Ji*^fB+y62m(TYvp^^i2807qz~5tT z-q@NqUgnL1d1GI`zsI$_u`F*q${U07#+|$|B5z#C8~5u1UM%vjzWDFHm)EcI`aV8h|Mqv^1fKCfF1s-sg1%;V zl)Iow+YV_53Vo-D@b~Ps;*&QJV<;FG%CGK77G|?*Mb2p=4<|q()kyqf5>U~5SmHr6 z+-Xy-xj2HjbzMc4v(I$e*h2B3kOVGVeP!ndvC%_?%3s9uQ48pLj2w!IzN@T=PmoR_ zz9c@{okF`oYo=2)5}0dRY_{$ur#)PObrn!TQsA- zO6I5RwJk-;SGE-^*T|J9_sZLC8B!8eC{?a8(Ngt+=OH$c)>U|4Cw84=1t2sC>nd-z zoYifV#UD6_^xJ=yN;iCBRHl4SIh}l8d0oXu=0E=XeCyKx^RLre{^yVJ|KB4_Y+9E- zD%dR&$KQfIqL9AhCPoRjF8zkNY1f)W5R<}hx-*DXDRorH5;vsffG(g1 z>;?3JeZYQz_Ze^y;C%)h0jz-k+~#@h-4)=qbuZvg+vc_FV1U<#d2?;N_RE{=`qM`L zv`+|VJ5T@vV1Z2ludNCLqQIZ_x(jS80lNWBKnvId=m185IbaR&+AD9|;RW!<4`8go z#~UmBiQ#$iG_U<80KB;OI>2kgycm?%hIujN-fdveWO~q;@DUe7I;Dps7Z7jZ#Wgs>=ITz{_>~-#4{rKR zU6)Q16{6MbTj5va%GX>Dk2W^H9{WNl(?VQpaT+uG{d*xK~k^4jp) zueIN6>uZ0lZLED*`@HsX?d{s9wfAf9*8chE|LwI?|IZiZ?}w2B*Z)nC|NIw7f*b$O z{BL*rkB8uZt^aFK-ukZp2K---Ar8L(55UF1{r?+K|9aB@+izSh3DgV`0SEO&!S9Ox zYh{H0;!g57E<_$GPvA<42yi!XH*+Ce`3*@Cj)=*I>4w=xHJ|y0#m141qZ_tds>qHF zn#j%#KaS#t@dk>E=I+{1+OXjs<0@~cY|!NC@~RtZ8zgzM{O%3)4U9ZiUSmUZ10|1^ z*V@>#fs@C}Yj5am5afySx*K{MRvXqEHXF7Z$2N{{uteA*f+9j9Lh{1$yF?U3U|fDK zhPzv&kPjyRjMK}h;#6{8fD`u+k{z6O&Mi(Zr-4(?$yY##-sc zGGek~x5Y%nHj6ci_3!N4xkYTd*e)?eu|1MHl4)W$#F9l*MX!jah^C8P6TKmNU6dmx zE=J_4bLnCyHsIW^T#Eb*%?QGpy z&Szz6V|v{5n5l!Qlj(%Tl;4ZcbDStnH0L}ghI4@v%ZcM8fliCY<9O4~_$8gfq(d${FMMaL#aiIV3Kb zOW{(vG%lUX;4--^E}LsF>LBVU>Lltc>LThY>ITMF?xLddV)Ekh67n2*NqH%GX?YoW z?ZbM9_Z}AIigCrc5?l^fk}JiP=E`toxm&nfx!btgxpG{2?hdX3cPCeoyNj#DRpzR2 zRk>X^qOG}O$$A)v5Y$(Pcs1f z4FO)?_9w>W^>2UTTQjiDi*b2<9WTD+^>_bOeCrH;<^u5gzCSVUNw9qy_;)d`KiD4t z{E2gUedE82btAz3NPyR8Mgix67~ldB3;caN>0f;*FAo0u7}0;k!&kt*f5yaD!R<64 z9r)At-T>P-feauM$O5u~9N=H?F!W!?NBH328UgSFNB{+(fj@mU0c;Zi5P!L}V>4>$mhfD_;hxB#wz8*l<}2Rr~?yuuq}@M0F;IKvy@ zjWzznE`DI!9|!;ffgm6l2m$`YHDO>o9EboSfpb6<5DlCMVgO$36AQ!v7lC+y7YAJe zcw?DFAPKkvBm*fxDsUA@1JZ%N=l}i{Gu;HYGXUQB=kGZ^-aH;}{_a1Q+b}YroWX){fLp)jq2Y)qY;vRO_KVP#dScMEXfuCYjbz>VA=iYPZxqSbhJr z?)ntt(qF(pYTJp1}_2hR?S6X&cUhS2m#I`21Mz<c^{ezE7!i?#J&Rv&_EGKhuBEdk?1! z@DJ%QkV7Yj%o(SKEEuW7NsOz*E9MUvRSd@wrxCP;-H7vu&4|^=Z^k;KV6=3!#Nsc; z!?CSQIp)2wEzGvDolHgMZ;RdIrAO}_Ej~KQY@FOOeSSJ}`rwT5jIHH?nUrtG*!`Pg zz{kryyI{LS@Ui1#H@K(&NMrK|s2kHuxYAKFABF+s?Vp8_rfP zH(e(nY~isJ?@oL^F%FqH@eMKpnSp#gF$tN4V1y;0H#gI~9HEPz4p4ijGc*DE=(Lyj zDerUMIzDU|1IB`h!8Z8_!I&^%n3NC4hv_5eqv0ds;|}wHo%1~f3xUPM(EjcIt^S#? zHve_l8f-p*3mXg=2$&1_9xxm57wk(wjQDRD6mADUB5@pk3~mb-3o?~RfnN(w3%&|g z_UVHcon3?<4z1uE3AG3fM4U#9hK+>9BEk@%h;T#{Jf9tu9bM5Dp`K`fB-s5v0&u!kp=CFk?`FMzWFtz+|L z2*_+1-MB}{(u*a?GUOfPlZ%gKi;=am708l{caisz<;X&0B{BDM9qPIm2* zHfs6Ok4xTL_a+)7o;?xLP0^(5t^Os>o(Z%Sco zli2n?Sr`2>xi47*y%&8pxj$JC{W^Ifc`$h(dGEFl$-T+=v{7`h-1@OW^cXrs?kid) z&0Jm#vmaA*-4LUPF~Y=RE@DzJ$(SpcM2zMQ{TttI%CAzeBrF+wDpLWgh*ie!#42HT zVO_ALS)n`6?(E8@D3)U>Irp)}*!65k4mqa;doc%*vyqL>5y^q)#N{qyp|@7Buv?E5 zhZIq`LpTeZ5l$v=ciusq?=Jp4Gu)Y72XNlIOmK&Busl;-P=0WJSpG#^M1C6XIj$4; z0;f>WjpHlGQW7iZ!4=)M#k=9%@h*5rJiJg!WtWQ8YBB!t-Hf7se4Z+dfFq<7qY3;3 z1mU7;QZbf*B3v)Nt$MFGk&spPNNti}c;Do{{{3mfq5HRYx9qmKKSh`!INx6&s8kpc zOEi3m{=^hwGBK6N(JUn1A>Jhx6E~`gh*p|)#Cl>av4JQ>iqX3BNP;9x+DsB6iIBue zG9)ol=A#>r1WAcn(xiuv@*m|sDtwgjXz=myV;_<)=?v*$4V1iGce>8KZiDnh`(#~E zU2GkS98(unccl(VhLa=f-0Jwqe~}#O^vJ1oi=?Hx3w3w2`N=(vt&Q#E7IG80nM`Z~ zQ+#B6QzN;b?Az2$u3g16$?2h*s7+ML&lY)#CPkG}(t5X5ouWm#-Kt2@ptQ6Ww5m{E zx7M~Uw&m(aQMB5lDbwv4lph^KlrNND9p5_!C>tH4l&=)N&TIQdDA3N|9mvi>%BIfk z)W==QR2Aw}*G!j5w{drZ;e}_8ki=(Ksj1WwY8iFm`S0i7sXwSXFIK5PsWC5pQ`e}L zG;127&x%Go5JM}Vy{CPk8NK;J>!dlo`9=Fp^EZ~F=NQYvgE(Zxuweub z9cM%g#SB?9k{KzCD~wczz{n5tCyc<6fRXDX^^7`3HKT?RG6G?4FzQEZN1@C|qg+P0 z#e-2kX789XQ;m6=8ORJ~wjVh=-pLf46rB{Bd^)+r}_nw;Ha)gW21i-1@>San+qLpxAd^lpf|br@kbACHkkim`_a(>* zL{~V#eG#HAobK)c74Z`F68Dnv3iLMhk$@fX5r@V3Sov7^NWre1xqikI_D$3ab{cle zH{W-cSPl#W=Z6#Em_R%n0oMq`1!CbO_;$EPkZMqQaAokl;B>GqSu1=WrwuN0wjb^l z>KW=0dJdrwo`|@DNJ6NFCnM4jsfheAPsxbzUEvzxD-qu#c7xSS45Fl?cYVNBlFSWPEY2-57HSV}f~p-F8Ph=Ex4`8!k7lVbUacP-wb(5=HP~wGwj9}n53FXMJ#Js#-aIRu zEzTNei8ITy!FlJI|!)fQ?^3?M#xA?7R|y-0?*uO42jSZN==Ei0=M_WllV7&wdk{oFZX&Y%LiS?NMcv0&p$(D4MWLI;% zCWHj77t^7Vg~?2^2w9d)Cez78GK;LDL#bD)-%3`{xw}fz5wC~U3zGTjWyt#V4)qkW zvCcK}`KB{^Cz~9bjx>2RnKfB7y(YgThw3>r)va1K1vb4R(svt*Se1~(mLGwr4^-bNQt2swV$UPYR{tl)t*hsrTl8or2KBrp=`AOpiEPCbk0+z zD9e-u$_z!NbC$A1`A(UmsCCwLsZounR^9ul2dJOA2fIhQgQ;h!LDcMLx1K$ul6oFc ztEt)h(X5nS&vy*>yB^tS>@llzina%*od%2+4AhWHgatIB62Z(aemQ`ZO;~7 z5?UhLURj>8i|1ntWb)0~-Q=6Mo3;Dpgo9uqcu0yM+~t+~2BgpZmpd2o8}b(f4efO2 zgT8V17w&QIcmM4!dn(S$!OI8gh%SV$&P2w50=D|QF+QhY@Gd*mDB+4!{h8}Y-) z#Q4|9kMZ&Gnen5@@OVAcUeu<`7Ks5Uf0TXV-K}w`V$|=X5>zQ_J?SVqdYe7^82Tjo zWr`Ep4c(S<9NnKnPHo%PBe#ZLMwg`(q!p!=r)8zBqOV`elsCm3#+YGJZe(EMZ)9RF z-$=jl19L+mNg-KbZ-!9@F_V$G8ylagiPgY%Ww~QJv%0gKb6T*i*beNm9H$&r#dhp= z#ZGKoj#{p2ZjNHE;yCsvmU%1n77~|s%Nch97m#;#mkaLRuE@NzdG0uayt{dEc?tRP z`Iqwl%KwNP!i_6g77XA_3oHr_7YO2o@SE_TZ=c17;6w4Yg+cg0yi1|=Y6X7oZY91P zzi_u+W$CUGVOPm^f>_C0Rgn@!!nP9W63G(v5?O*u2{`$fAV=6i*g{Ys$d>FPY$}m2 z87*d)OqETP^{TzS-+CWKjJ?lK?708oK1+S@{z0Mx5mO1Ntf&kkHdS6FrV#_G@DB(N znusk#PfcXCDhXZ9s8%EGCha0AkqFi5q$^td)xwYWKei-=lEO%rNtZ}>>XYktleNf? z>(lEM$lJ(m^>SoY@^-Qs8PlLd-a*zRtB}of6v>tK+T`l`2lW^0FW1YHW9ysiGwW08 zb;;fJCOYx;LygzT3P#7y}YI;P3=vkP4}8u z6#Km`tEe_an;At~f1~vfMMR&k&6r|Bac)1+epmkjC6;oL;?eHjj_;s!bJS>R6!r15NNOB) zThI0$=^mM$9X&NvxgOabHKT$T)h`-fkZE`tiAJS4y;P?;(wt~+eNSEut){)nd;_EN z)1h<--RJF@w+Q;_w^t95O%~rNn<&vI-|eF7noO_WqUX~MKRJKOr5k*jrr$X{N#FWq z_{;p4rvsu40mi$5*8_$O14h|Unz z214V#?s~<0Z-+hek%PVQc^xDGr^0Om{R3U$4nZ#PbnhSV_|TW(!;DG%V+!gGV6X*c6A37Ki7X zj?5cpGJawFGW4)o*ge<_nL60S%qy9u*q+QEnQybs=cMJt=j>7J#$LX6~ft) zz!EjWch$&}_7ZhMXvvilO+tQ2SV==kHX(;_i$J}XL7))H<$C4#auyLsq*Xc+A6JGD zt1F|c?h)@3X%EVXf)84W9mIBG8}apnHxHV$_K6vYF95Or|wYk$*RRB@dBD$v>M&%|gxGCTugjd78Y@#BEX2H>X%qY$@Vx7L)|a zCCVMjZHjD1Zs+yR%uX&PyYo)x!_M+fdFmdjHg&E0d-nxu|FcGF1J$JGP>)fMSAlg6T%8V$afe4#<}pt;h#`_A;a(E|HU(8_4{XydPn-@K)v>6hMK zKXmaej*g)#yx&b%qn|f9XA<)Mv`O~I+>hR$?$e9uC3LS(uAeICE}u&2v-F5BLth{a z?w8ep9|PY9#2J4LNHByMYXkckE({Mw_fX4F`;a^1@o>X%8l!#~F)}nVHKJoNI5Io( zobh#JV1(~SFJob3bcD#99VIZaOcE2%#4(pf=SQbTe~;-i4VcPD44KMb2gZ|`iOi4V z@0o9zMw1_zhLi7@Zzj1%*O+Eg`=Nd5BeIS!!8sd10n-CVwW= z^3hD$40TT3TF_d}`W35()yHDaiOnfkD_R@QNzUPZsLx5y-CgLg`Mv1KR#K=^ocTvOID+*&-i%5 zVgqL+6wcm6WXe)jm6a{c=SdTRGJ(0BZ?JM z%1?{wi4nOl5G#okM{eVnBxoo6K>kMlLfR&nC-@}3Oe{y;M;*Q*lNz2H zjt))@Lr0>$Q$126&==4#sm`gC?Ln#M&2m237)#7iOfIJO#saqkH*gx*5e!Suki&X?@PXv43t<9CQ3{Q2M7j) z*CmGuFG`LQ%n64G`w6Cm#gbPgh6E#m6QR3gs-%!`hfqM+bWi)^`?T(u6#yIPL~hD0^V zHP>ry)WngJNQcQbrtwmDLC+ngw7ZT1ugiXFwU?Qq+{w#$_B z?TM7=c7=|SPBe9_^HnE;`lj5`LS~cmA@O_ZA?Ae4SxoG=1S!n zwo>hTTEOH*8x`4$=*9Jl(yV(o)5K_-dZlP0wD>+x+9}#e+G(0M?NT55^_{nO4wb$w zdaFZEc>l=c(tADn9(vsSi|@7Qsqafn66n#NjK6Rg(hQM7QFEoCks*J^8OGeuX~x9R z)KCD!hf!!gICPECG5n5!9(~JzjJ{`lW_)72W@uVanPeu7i5SC;1${mC)s$(%Jj^s_ znlX=mwg2k&)su<%u`-^xrc$>n+Q2&SdU2%XaP~ z>jR73>uCLkHO3DmCAg`b-xc1pu$$3d=1SH}%LLgE+ zniDM%Eg8KtS}r;%=13eAwSk17-fn@RxX2p`aMZW&`%xbfW6{;A=h2T+W6)@M^Yo+X zA?a3_;2nt>?Fv^iYBJzhL#zRIKFbr^k9~z5$?3zs&3T{mF=rrW0*k@5>_X+k^D+6@ zd}#gxuDGD7V6*bO!ViTmDg%Wd3!mT{@v=qjDr#ywN|n^Mlx{7RDcxRroFG*yU1~$H zE0r&mD4kI&A*kIeC8*xpb1$;|eEDXg5YfLppj?m`S}sfsD$ghnFSo96CT^`fuaQ}` zuR6ZkfV7V!^?3i2<75Z2)RQ5dWu5I{g(uY0ALNGS^yU@vPqOgdC(Vh?er?W_$hH(p z66Ffzfqp9GE=9dVqoatT)}hm}rZ3UO-=$|jpwhdDRA?8j3rj_HVY(1qf?Xu4DK)Cw zgnFUdi3)puwx@#{(&J+!L6f9;8AbL68(H?Y8u`(DX=iA~eIRY zj%hHyGojuOtpM}qUv9w~X&G5}SvyQPGS78H1?O} zbav`WlC6e)0myQ$5avL~y|hJ@VLyD!1MdZ{A3Fio9?pj6gl31zM-(HBBZ?3O2&o9u z2p_Pfu4%M+^pR+(m@ zBGU8H!_)6z+HT}y3NW`ZaXY=Ri#bajW!wsG87FXOrtl(u zx^QRFQ@m5D3n8V{rL>H|A?B8QuO6@HA{JNgClyt@?YT(GeBw&>CZ{~{B)gN{$QPcR zAro}H$k9(S$$yd8!QhrlZeHCW^HE+jyHeaKscprS5(<;Ly-TV~x{FRdZa|?D_OqUY z^+tQTsfj&Z)MwNyJxM+1dSz(RwD{gjy_a9^q50DSXqA0&v=46{9Xd*fnBqU!(WxJV zOfBg)bb$|Yrlp^%=vANQ>Bk4<8TMc$YNtW>LAOC|h7m)0IE=A-5rX};-*PO3~UkjM| zOudPH69y9+6FZL;*_9?d2(nBPzNZmvgq6Qe~cA0ePQq8EBx}~0{QE&7-r&jcCp_TU*_m=j`(mIR+X`OxDeLAm) z-b}omd^`S@N~h5kO>I6L`EZPG{lT8DY3fLS{ITs*C4GTzFc3BvI(Tj{YS3};0AufP z6re1ALse{w1meiS`Sy`*IEJ>>%mOo3%>dfpCYlXGUdTQNe?Z5DG z;oX83Ta&$qeTaROZN;`^Gk&-)xh;9IU6)QT`7F)a^e%}npJQKO-(F5)Z!G^_USB?8 zo58MNSFt@$s=*L`BK}hF&cLof4|pj;>H-TTd`ao@0hGqobo9F$`>|!2eA(x4YWdN) zHQY~}X{k3Mqtu7+zFd~LjTlB$(A=TVvH43+EZ9!0K+8(z(YRhiVY(LnsuJ6@l-z7?Q?sDwBOn%?C@<({#ImSjKI}nNj~yVWtbS zhFQ&g%p7CpPu`yVJoRPDdioOUA}gNtY4-DM0;^>H{CvPXguTI#mo4ABqvSE9(gO}sjfy*Jw7ukBY3M*18vMXCxJZ+^{WL8vG+1UKo zV@JO-%O=OCNUU#DMAp=l!?gYM&KWtDJj>Y%`wjIim35Vc{Dx$s*(i4RJeJ))kFhzw zFtZT0Xu|ekXDsC{-CD|B%3M0j4rNC!``YeVxy4ppQD4br=drt;1)vvCMnTnM_FQ(l z>V9~-?xwqZWmN=4;!a{D`E*N3dl@CUOOI+nt?22e&i5{UTKZHy_;4_u zabeVY%#GPT@oZw8Svg5%El+K;l=^m!g|m4x|9&3Fo}G_fSX$6$+p_)GXV_&+LUtWkafgD2? zd`h6CwA^dY?_$%t2A?wDPw34^Ec~=lvkkNLUU{{G$1zwfOGWHrb_`Cmth*+&#drF` zV$(8uI^FioN;7i@i_9)zXR=-o^8J6EANHTmfB2IhW)AYCEC61f*iqn5uGoLhjs9~! zggy8j2fz_<0{-NU@p7h50KEJ$UhdeRb0m0q)cpfuB*P1oy4`s=)2sTpoP(e+|XDM|%e|zaZ9U%`PGmiRc|GuEUR+$4^%Ty^WIaWIB zB}+#jT7cbm+rHSI=tOXi7J4j{>5}21?jbGS>?1A-k>-$K#1KVy9WDe`+EB?e699f_O}J;kV3%%L3yWWrx+)S zv!Zi@(3tapv#bkL_`b^nmnxSEmo1_K;=9BLP8C9LLmzvVd)|RIpI*0ON`}H@&v;9Q zNfyDT{HLUj1}MUJ!5;;_3mgc%3uns+%J|DPhm@S!aG2Xlum?a#KWkU{C)gS zV;f_wP&EmHmnn)3sK~_g$uY^&m?~9?v?9zEH6`@}#m|YW73T~dn|ilAp!v5jJH%NG zzO8(VHrv@BZHxtK>}mxD`G)w!1Yg+q+rPADLUbMP3ziF32p)7)bdrO7aB>!6IlmH8 zaq)n>bMc0FLO#1Zb9w9X-o*>j=c3uC-q-K41u6}-@>sXh690N?{8S2b@>GI&gJ-gM zn)nk>!_!)@p40IhV^AsPxX(+UFc`mYH7p-i4y%C0N|wMveSLiA{ng;gaJ;k%d=LC` zV0B=kbPjxHa71v3%+gsn0u3s5tiv&&YKLq@LPR$rIwC&e%GNGKV#Lj@kD}DKt8I_q zzrOwb`F{Q*G5xVF@}K&2k~|(SOZw)HIix5Q_}=mi|OH}kd~m9fR^Bvq?XW@APa#G!4A%mlq7$a zA8WhKR-0{nINKX+tgQ)1Ax795gOg+seLn2N0*wOAb}e>K1q|%x1oZ94_(u7r?T7hh z>__@@`0kOo1V(0fPWn}bdRPTCOVy~fT@g^ok;t|-@F2-?+4I9izE>f(A__?U3G zXt3x-j}XyQqUSxbJrX<=ps}Kkr-a0>LiNS3LDx>{ivKv34!sWL_x$2n3H{(X=sDt9 z19brT*NfIyIR3B*SU5~ZG6|-2M)M5Tw*giu8SPsKtA}0ieJU9mpaIteb%1^ZhJZ>y zL7*Pc@4(%`_u=L64)}BU+S%^232Likb9Yfssnd&<->)m+F3N*_be)of+OL`xTUNMxG~M^IN@CLJX!paJeho{eChlb+7AiAMd3w{N~%k! z`frKviPicah_8w7i0Ari^w+HpmW}OO-$yjCC!s4)71^X)B;m?UmEx83N_HiqveBU1 zfL6(>Y%<6tZGQOW(cmNZrkAGcR;QY3XsIpt%+gw}wj{S)Ymx70qBql3j<8+{^6jua z&R5U20w+r<+1l|JMWV4#yyst_z5>z<O;L9=};h#f3!SM)|ECGQH6$bTnBte}WQN&SM16e7=CWKlj zK9n4)A}bOK36(%7hvxVB$QFk;A%+nX5t9*=Z8M1P5hI9qh$+Ob$nglwwx1E=+ZH3v z^V6c~(dg)h{Pp~w`3Lw1`On74%7w?c#=6B~;>?jl@=xRsBPCEAl*~?PloTp6-Z5b~ zVIW~JVJaa3HJ11z@iR(y*L31)A|(mZe@D3z{Z#owvYe`2ssP3}RRQCps&zFe?Ib2F z?G(lnL%CLisl}kN7_8il>D>ZY`5T{Zh^Sj)Wo}wymHPK&1Y$KZG&6#+Md~UUF&YM$ zGuW4z>)5}r{F-ze3%9Dlz%g-b9G|8Dj*yMchH4_SV{vvl_Bok2+1#5rnOrVz19$M& z4*Yh!JYE5RDsSCN4)2zihEK<<<}2n~6|~_)2;xOL#Hb>3Vsz2nB8%d+;-AHT75^$m z>xcB`5Oaxn#37j|R$>nw1#Ci{#7) zvJcfBZh0vEu=o+NT8Kib9)B!LCzIKl4+NkZZ=(^HPWhD>S>iNPiY>DAe)?QF`HcZJZxQTPuiC8eLMcaZnuMigQeguhaC=@4!RCX z4xWxekTJ&{kS#(hP6r_Fpt?yKBpGrQ(&*aade1cpGAmr+O5eO8T<3bS;DMimMo>t;g67Qk?(2r1Q36jJ+C_zF8b`%Cmj(J19?{g5|wVVnL zpSPb+5G)FI4d!yj=}Z^woo^@XE$lgL()T6olka=q7qAZ4Uy^9QUf46(lH`WuSKkTW zpHf-@``}Ll4B#~ZwE@xa82EX(NRV;xR+-1}dU$fkm5{lR<&fEs#gLhhrI3}7Zz0;D z2BCXHcOVo&WvD3Gh|q*kam4P>L!oMjWZ5Ly(9j2nhlp>8S;Tw9LWEMJR-|s^j!4Bw z{m50s1VS#dB`OqD`cjIH60-K0+&Tz{(kF8d}q+ykLS>t2o z9QGS_18bVa#ad+T&Q{D8$0=tsHFsnSYHr49Wm{#_G#zr1a941axsJIexw$yg+&j1& zoPKU0?iOy_Eht_IZ;)@AzdzqN-z48K->IMz?^; zs)Sl{i`ZYHrmtD5Ug}nsT{cZDE1MvGDAOs+FUu{PBu)`S%i!haB+GL9@~-mEa!CUh zl3>NAig=P=WjV>K@^oczWj$%TVPK_&;U>e!Bn`vR%1V-VrMzJSDWo#0GM;Q|bc?L_ zFpsSJFwSW2Lpp_1y}4S1;!Bx)oOtl^L3B-ZO-+q+ty3-f5baO}#j)0Y%mJUbpnLylrWvEwlz(oVR#E@1{SeA3f4V zuRXGEW%Sa~#*44o)@@U%ZHcW9Uz2Se-z&aJJ9md;4t5U9eBb!K^Eo>>IxO-n@vZWS zK-L_kA#;u_p{+tzLM2Y6PQ^|qgu;a`IEOgj5|Vbi1+m#&3@L)_aC->34Y>=^*<1+O zw|SeJZlA{HEp7^K_M2x!Wll<-JbdyXbmvLMlUb)Sp?2chp3~5;&}1)nuhSec@8d8< zZ_mE%J{Mr;VJkk?lG1)3V1j-FFtVS7AKmX0jNxbQC+^4f-vRFpco|>>e-U5^-w!_k z?+COFiiax&U4$pVb%W~Qc`{itV{qBCkhA$R*t5j5yFukOUe&e3h`~@jM1QCjLI>1d z>j^ajb=aC^KZRN&Zp#`XdP4=bJ`ESz3gbT)85J2Hc{lP>WZJfy+aRDi;BUklA~6!d z{|k{2d1qUCXMS5fJx zG}JZJnaeAv4OCJR1Rb0NMF%FWp{^vwB}FD>C#|A>prVo#lP)H4Q87v3U=8y-Nm!+a zNh`^X=z26lMJ7cuMK+Y@;YxA$ zaK)goA_Bi3uZdU3@5X23>EN~Ty7;2Jy?EFBoA?ZT4n7-yrXZkzc6$Inf*;2dZ_DV6 z;-z#3@!EIv?_}v3-O;@hPUs>$C$ty#5jqNA5?&Pc5;_T8g*}94g>8j~#C=3dB3Q_t z=s|QZjwD7A&l5ZMMiYfgYD*pw%}Py650~bYeJYdOw@4fkk zTp|7-4wQW^Q!h{Gw;+jCC{&17B#@qwnn|xKJ1greyGhSUJ(V4#E|Rz5lgf6|o~pN% zEu<*JhRRaI+R9ea)5?tgtp29TI}dJyjMyS_nbBSH9kSg+?}r`_T^_nUJpC~CVYiX# z0gY5YDtO&g+s|YAWQM1uxf%SR}O|y*fmWx?+?B^c#TqD(^<3qkWXzr#jCc8 z5>(qrsiySwhtyWo-LEUJQ>5xs4X9SeckA!eAECNY4I1_~oS@#I-lXO}DR}ap`nvHG z^)vMg^&PdpQS7N9Z9na!N%hm`Pj{M)H?hoa(mI=ZXx+4xmS?nYExokxmeKy_v}xKm z+FI*+>l6*ywuwG}_%gkp9@G)i5!?~qxkNwP^`?8OTZ1vvt;zVw5NCd{e84(ole_84 zCV##Qo6c|gWgEXK04$u5v+33**0I!04ScJ1Zv^5UE;_97ML5Jc{NjstIPY-X!O0=k zK@=j@Cju~FY)I-|bp1EDw+~-yYX@)$7Ja+4L>xK-t zbwOUZJ%*4(nPMkS9)g}csV8Ov-6H03a<7={$-tB8C%sM{>5GRR^>h(G;+g4{?e!OQ z4SLJV38v%S%hC7N^xo+c3yXvO^0^5z;4{t?pE)As>lf-b1-sxk4KtTAfiDLv1RQ~z z!HwbOa8vkf!2O^^coN(>=tPipu!hWLP^sV>dRB!0VS`{?5HiZQGF4`P1vFU0uEt?}b8EXNQp2+D^c zyW&ES5y-Z;Q5$JbJp{24hf|$WM^bxGqF!IQn6RDpVf1* zH?WT~Zej0cEMjLeCo)fGb!02ya}%O= z*(Y;e<1@4a^Yic*^3Ue? z;KK{H-=4tB-Cn>e-=4zH;uUUB;^**Cg3@i(+q-Vt-iaba6D|i#5^4>Zq@%~}|wYzIwx4XO778Sc2FtEF@*8me0bQQtw zR%}JV#12G25yjq)d%N@Zxqma?GtYVE%sFS~ne*3i<}(8Vh3YH4*EZ&Wk zDSR9|K>aZGbL`-R{KS%i^u!wlrAgUIxycU-Qj>>lG8Db1K1{7oglC9nu&1_1W&b^G+ zi}w+{b>Y&5aKRu!gdpDqFTu0%u=tIH0m0K3mlGs}Jdi%fqe5`xAt5*9K_M^XF~B#x zU+6=UFVY*CAXJ=OlAM}cnp`GSn_Ld~d4nz&C8s6lCL>eYQaUd$U#1D&O%)dw6HdLN zip~)ZyIvriEBsK{1bzSdfG`++3r!F%7ruec5=No5(5fQ$Mbt#pMed1ci1>>Hh}_PW z!c>b?iByOXG0m8LxtBz}b8m}Y5Dm+{BPzyp%k9V|-aaLIMf9R*P_9Srbh+NNHO5SkZis(SzvM5{hZ5~4ubZO9y3I|Uc6R(qGY;cyrfaQ zT70IYLHxB^o%mcyllWu_y=0^0K`C#Ux&*6yqg+=)PeNZ}x!hi3p&Tq>AfY3{F6WkO zORSWyRp2BxD>f>2Di$h7CHf`CB&ZS;i6My*i2(_c1haBlf>kLYDJ~hOB_oNcf=M3J zc9L|Ew3Fmi+ej*D4^}ryHb~MXmn1W5pKE8;Vrm(ZuOzMOeoFf3IM)4^{3iKTl1Iv} z&c5!8q>D~?{ei}9sbh^wjmnLCQjeu{8&SHa8y`vCZgP|kmBvbEOW$v)mHyOXtFIsf zZ~H$TX#e*+|6k`vCcqc`moM;dZuBop;6HiLzgf_~Incihfq!$K|FE$B!wC5AY=D0= zod2u+|9>(Z9Ps$Rxy`@({(raq|9#j0Kh1EYft)}Fxc+OFqX69huX&C#aQ}aj>6`^# z|KD?+OTg#;pR%3Xz;o^Z*Z*C{qX|5&1zi8hdO*N!UEunEllhnd&-<^r&wp3||7Jh7 z!1bT}#{szgUo)Wp2@l{udC>n4nE=2~@Bi_^P@PwuRh3ZVQB7BsRFhUav{&fNRFzdr zP-W>^S^TkYa@9eIswQqnHK$3bF^$zGe@gCAI($_G(v|{jPwU^` ztJH6_)U+A2nXprJ*bh;LbVHk+hh17-PkDNI`g?*9y@=Nlkx_#p3djwMgQ!EOr3$&K zk9EFd1B$Y%hyG@!*D3$}3PIffA3-*Ezt^CdW zmJY@aFP;8zx($It>>#!f4~PRq_~1H}10_1QIFABZL^qIWkzMBx{SlaU?RCX^gnI^f zB0PKc!aPGgQNZ7E%>Z&xe-H_A0(A^^0d*R69Ca$=ah77vUTGf?BG@u+J9%;?9OJv`4eCA6%yNLtVJ7}`&?IofRPf8B^H z+E2BYwOQJ_AU0?fB(MAXeu!?KE?0M5S6dIHcSHY+{<8k2{*t}`cuk+HF9>Go@9HO+ zMwuc_QKreJ&^-V8gbf+pXDg?9}bM`E48^4p4_4en$rf2PX$x z2RjFp!#k&g5I=}7BoyKe34jDaVjx-2e&{pkbLeB}Q|J@uJ7}^q$(iCj;5_MU?K0sq z&kV-c@%hNcw#(X`@Zpg?|V7GFu)~<5i}o^8h%K`2mwYIBPfUo!~+q& zNL19rsGO+0sGJ86AM`xPd+;f-Iq4Sa4oV%RhPr~fiu#uPHu-d#t@!DTGa1^MQ<>A5 zud<$Jz06X{*`IS-@&xWA?o`pOs+(29b%%(%T`hgCBT-}VV}pu^XH{ko&HAfeQZrFI zuWrPnsD4phNL@r-Ox=vfPAf%gmS;-qv$m+tH|^)zKeb4^RP^y7QDX z+GW{=?ZR~V;VJ~!_r%3EB$U4cZA>3o;R2584j;62u>TR3twZA3F#TvcLi|RCex^<) zC=;AHpQ)3jm-QQHC4SHPk>!j%lyg?nAkA zl}eu~!>V;@gDTA`<0@#Cew9|0WZi-KL-qUWYh{ktH*|<}3U$YiU=`d)JVp{n{6`*) z_>6dt_>B~f6#+}P3$vGIugzYby)ql9dQI(;`aSi#>JXm$>bKP4>Mu24X)0JXpkQ+!_S5r4a*Aro=|4LUy&tA_T+yu4(!@`8kgl)ny={KdAzA}Ao+GqOG^qJ`k(}xx^ zmQt3|mf}|YRu`;9tZntOm)Gl(*&EC>p&Oyq72$&o@ z9as)HNFF2?QU=L~6hI0g1W1xV=AJN293}!=b6#;?b=h{=6xeck;9iE~xHy z*G<>+zGuJZc`qKXkDebqUwQuU{KxaP=U>mCo1BAy{O5vj*s zBc34MBUB^rMc$88i&T#UM`}juMjAvJM!7~kih2?CE^1wbEAk=gpQzVSPotEgS49RN z3_losu=4<5?j-$5bWZ9{A|>5N-a~32?;_Qa=ExwF3kr!sp+Zq{s2EffDjXGzBA^mb zzmjEBuBTi}kx6--`YQEe+NHGhw9Dxi)6b{hNHOtz&>fY+^JT>Z(>H+E=>UHW@)$7%L)oayrHC?n^wbr#bTANz0c^q{h zI!-$GbZ+YC>fF##({a%8(+LKJfkHr`pdipY&?}Iku8Hnv-J^PbdSQCT`Y?S9@OSVJ z@K5jw0}}YSK`(d$+yj0KF65%ijQbJ%p)agcHpaolhabChuGfpkLpAcK%Yu#>R;umiB;FcsKA*fH2s=f}>^ zoL@Tc36$);bNTG@)T2!^>)+^z_QyP@3r1j&GP z*x1v+^McnW&x>9@88tE2wCpt9xMD+3KBhja#e?O3oKN0`# z!P^H?NfJrqq$6ThNL!>e(gtaXbU=2XDo|l!Rj6XrFsc%DCq-QRed>qQn`w8_Zlz^A zZ>O20o27fCyQkkycgXO`fMmF2IA(ZexMnzKtYoq?&9bbrZe`!gcF5Mww$Hwst)6{7 z8+eoT$Q=vE_G3E$zK&^*drnA>agKS8S&nrMIHy{|CdVqr5jf|+@bL1(#Jq$&WL|O} z7-xes#hKuYarQXR0*?aVFr?sJ!N-E{1)mB&7rZU_R`9FfYr*e=efXP2w~Ou;wHLP) zw-#3ypDm;MmX>vw<(3HngdA~zmZMc^UfEJr25ii_s+d*us_LrO(sfl$RSi{3ReZJd z+ND~hy8U$#^`Z3->%;1?^?~&n_2Kmt8DxEAeO!HFeQtepy)n^%2q9V$)rnd}eWEE* zm1soNCTbAPh^-w@J6?30>pUiRqw{j-;m#v+laG#fp6PtnCEo4TL+oqoyLy`V~nxJ9*@nB?T#_W z9*xn*md2ipNl_Q3=cebUp|ftYuvy31sQDCzw(4(H6*YIYKJ_m37wXT{+3Hs{UaN1a zKUeQi?^WMbFVrm39OTK@dZNYQan*6w`NR_kdJp;tO4Pf%XRq&|f6t)7;Ff`_fu#Z5 zK*vDM0A$c&&}7hK5M$tHplZ-;aKqq^!5M=_gAju&2Dc4*4Xzs8H@IuiY0zqL*&xE8 z!{Dn4kLi1pk0!2WZf4ibE}0pboj3EgsJ5uFD7UD!(6zj7Sz=XaRb*9cx4aDt`^(}1bNoM76pyD&Z2 z4cKXCvcOm8x6bdJ-#C}K2)W9-in#K*in$8AK6JynrMf+L+Xr8E^A((MTXEA9sM{&_DN!k3Qop9!rs<|>r0JwtrR}DPr27C(4w(3zM+pFBCME-! z5uXv4fy>Ag_sU$$+{x5<7URT&ws>rabI8~O_J5~JE0@dqPFRS>fSyhj# zo>ZyUdevU6J63nPZnU^-D6OdP@D<`u_Uu`t|xp z^|SS_>uX!FvNf&FL^mRw=uX5EeTn|WR3e7xK@23CbQ*SoI}JK@I`ujsov=>*PWf(? zZmDkR?gQO&-Q(TE-9z0mJr8=u<@)53dLnvCdahhS^o+{&%V|S!E>}qnq&iY9>3%*P1&RkF&^{vqX|?xB$(%FyW0z)=6t z%8=}c%*gl%b>zhe4PYL1lVtN&F0s{U3T zK=o*T*7~URN$Z1Fp|+1sl1{1)Rwqa2lX{v?txg&U4N3>4f;Ln#K!5eT^cQ%?4XSx3 z3{(xD8GJMNY0$?zY%pao$vegS%V5;thT*KiAA@y+1p|t~Z-Z?EngP{d#^Ac)B}1mc zHA9xcWkb5bUlUQ&UnXH@&1NlT4Q6p>k!Fo%t!Bx5#||`G@awf&5G`6PEG!)?H?6+$ zwOLhLwOBo}YPZ_4dTjNDufeL>YR_udYTJrv^~8!{)oQh3Rby3Q6$7};LAL6)U|U^V zO&)jOxGw? z_Zu&9@84cR-hAFl-pbzZyq0~v{QUeP{3895`~v;(LcV_9em;QLyw?AZ|8M`-0WSiM z1-=S+7Vsh9Xkcv6rI5=ZbHP_aW`Yxh=Yz+CQ-YbnQ^81Kdhkl{a`0yGg^-#MZt%qr z`H)*8jPQl!7Z7;!k_c*MzwqY=sx$09N!Gb3@4Ig!}N+{hA< zhDeVn9#Q2Og_uJzf-!%i55%a%?2qA(k%|Gw2*fzW2*(_a@r(D0kB#??Z;z)X(UTZS zi%BlXC?o=zfs8<+kzvRw)JxP3N;vr`>IrHS^$4|&YD-B-iBCyPVTrA!{7C(oYMN$~ zW|?M@R+v$cQI;{5QJhhdQ6XNMv6@kvfzPPSxR&`MGbpP#yDl4-U7uY9Gz$u|9|G-y zs_dHVsqA2EAl45XfDOe4VYjiZIn6np61_RZoUWYioR*xvoavmYoPdWR54-b>C9`oz zTrw^mmx{~9RpT(Y99#k}6PJjK#HHh+aY+TJ0%SpQffN2F{v!T7UJHK-e*=F3Z;aPG ztA=+fiYjs~`ceG7_*XGo>T~h)V$qUk#ZQZ06kjj9ST2W za>ZiZ`-*oJu9cpZja6dR2dd?&g{#f0rK+u}m8yAUtgCIRQy$q>2iAtwUa33Zup#5# zkkZf&Ft9=z>>89B)En+L1UE!ATyD75VA9~y5Yce2;eNx#hD!~a4ObejHfS^~ozIo+ zY9$eKh@G-{pua;P77*)*g~VqUYKX-|BC(#>M=TNophYkUB`l z{g(YE{l4<9{lh?ShcwVPP$fS!&=2JMU&$ZIpU6MSzsaA;&*XoQ6)3OeKahWsc_`cR z7lzIaT^_ojusXyYS{vdFJsn~XF@~NEEe&l9{WGF6x_?w@^!3QwkvAisMy`xrrS7LH zQ)K~Og&b9esz8+(mmHUwI5%;2!gJbddTV-ndS`lVnmf&zel)#0T|e6}J2KliTQOTT zTRlsht(mQyO`cDkN6n|qzgd9M@)m9B*7RSGEa_Hs3wqg7I)lI{VU#g^S+Xl{_QkGV zSJn-jQq|J9tl^_^N#mx*bq!x&^X8|ap%JVRq47oYsMc96Z>^tNf3$vS{nq-c^+T&w z2f&5t{NfqW8P;jgY1YAk@Kl3)+8KfjjSL+OJq?`$d>k&61S|h$kNJb7sI>-3M z+!95`_{OxxB*jF;gvLb11jqEn^CyhN^Con~PsDSRHj+3=VT@j6BQghBj>ICjP0dLZfW`tl zgO>3JZH(} zyw$vwyq|frydQb&yn4wJTsf``SBtB_)!`a(IR)7T1qH5vtp|z^##`du@C|rpJREO> z55imF9q@s87kmKT0uRGu@nJ>LMG-}jMGuM+isAtdphC%^l7l5DO6*H!%3#v7Ws_y; z<(cKU@_Q9p6&e+HE7%qN(ovPsmGPCERnFB>)yvgh)h^ZH)nV0yYNu*^HLTjRI;1+H z8c_|ccCEfC6IiWXt5&B`7c65~_qbl7QL#~~ak*i-L7|b`;L`X{gJ>hY;ctUV*8@C%?H>@^XY@{_jYT#*n)$qGPy75w@MdP1_iH6;V?+ujJ!B(7XzAU+QiO41{ z5_gF!L^_d0RJgcI?Cr?ytm;H|rgjE(W^|%D(>ilH(Va=1DV>Z<=YU4S`R=RTd)<$^ zce_`5CVFOjc6zpZ=6g1Kp7$*G9PI7w>+5^cr$;g*X_53vx+EjgENOy7CHeHvUq$u% z_j~sT^au8b_UFm30{w%vfoA!^fz1K-K!ZGI;3!3jqD)bw?5CWeSWpg8E>aFs&QUH< zPEy{=pQYRz`Y`lv=$~u<480wCImA0WI07Aoj5>{;9tBZvQ14UkP;XP!s5hxbR8{IN zsybDRszKdHJw1MMTxR_C_^I*Zie3|mKvU`G^zZ3k(?6!!v&`9z$Is^j%sx??2+f=3NrTheXoN*x`hL1H9ZL762he+!en0Y}yU~N_FuD`H zdZ}rtZmE8$YpG_bmC?*-2S^K@j41|@F~A66MeLJUMXn~VCahX=iq>)K1?zt{mA3`e z!Zc7kMH)m+A#JM8yv~XaQ)fYERcBIXPUp2sHK+zu1$wSh52^+I1@Y+K;uX?6rB|Vs zsQ=RNmEo45veAy=bHi=J_lBlAMzE zlJb!q$QI-fvJ;6x5|PcwR^%XZ770#I_$%{L8^=ACv;{LD#W`riyCv34 zE?wem?$4a_K%Yw>_gt=6ZuV*F!-uEqA1X*r`3c*L<^RqT%9qR+%@@z-$rsF5&tJif z;K;aXTwy_RfuvL|z7$^u5G?Tc0(>358BfF)<7@B)d@jBnkHPawHR9jkYl@1Bs)|aB zYK!KJ>`Dwu97~K!pe666%u7s5U?um<9+mBuZIuzqi^~lvj4Dhj%qq+)j4Mnlz!jDN zr{#OauZo`)zbn2~{HVyR#8zfhqAM|#xs?fz4pz5R*8;3TVs%AzF~AzDt6r(DuI{QX ztFEe6tktOvuT81ltcBK@)J4h|*LgQIHYPS=8nYU|Ha0bWYAkNdZY*d_XpCwUljWBU zZT#Js(OA?N*tp#Iura>Ty)mNkdn2|H(YV&=)%c_FbEE5pvDVpE{*Hg~pnk~(k6-Ii1D*6TLt zR_oU2e%<{~_ls_^Uh&>QSVVW)tqWZ^`=?_+$0mK57m;oq2NG; z03;

    b>#19pxnGqN*9ic&L*Gtx84GmQTM{}O4bcWHsK$Y3x8Zp|}FZY8i{Sy8NP)-LPl z%Hb92iZq*t{b`>JTXI!u6}yUA&0Nh|&0ft}wddSYw&g%Lt?LZ{*Q|WKSsAl=WPkn^ zZYysKsm9hA*LbY4ry;62qA{Z}tbC1y@TTb}>!;{LjY5pFjpB^FjAD%3jV6u!jRK9rjC_qEjL=3?Ms-Hd zH2jPRMo#8Xb4T-&=BLcBnmd?ZGmo?wvq-g!xAe45x3;pjvCg!%uuii!xAw6vv#GQt z+YZ_G+t%B~@o(94>>2j*PND)*P6q&{nXte?Cpjl2Clx0Hb7SZo=xyj-=zXXmR1Inb z?SxTby|4*bAMCKp5tnusf7f8wJosbyMfbPxl*8ukR_+$=_ucQfgWWycwcOR*_1v}H zKYCCE$Gm&IjfKwp9QQfrV=AQKqvmtfXWDPYkL}0uTlAapgZjJp!~Lm3L;fTF(7?Vx z72&eL#6US=Tp%(K9HbwlCX5S;2vrF^A9@{N+MftTgpLbGhF%5;_eVoRLzO~9LNA71 z2|W_(5jrX?f>1z+A;b~p5sncy5tb2s5w9cviF_IPCdMf?Jk~STE!H;HKh`4_5^EA0 z9Gemw5(`VPPw+~xPAE(uB%DopmGm;{dD82ow@D1-9J1m#9Z5qjB14kBf!=Fia%6H$ zvR`r*Kv4-z4oZ$qR!Y5>s+ua3hEI!2dyp2NHk=Mc-$ma;Uq;_VUq?gGH_&S6C*o3B z(pfTD=~)nrHO55(iqXV4VvI1l7!!;Zuv~G*m|<)%AWS+2g-yj?%LV6N&b^Xrkb5&% zS+YXwdj9SF8~NArweq#|H*rkd8jdKrjpO1tI2LXTw}V^8t>V^k4F!Mjn|Lk49{#Wt z8^48ri$5dv3jY%S7|*~fOTEVbz^~yy;&<^I_$T;n{4)Nilpuj!v{JNGG*dKDG+RU~ zViqkF%@tLa}{D)d3Cunz-M)> zfKnm$3TPvF?pH=hLY*(*UKdP3lQK{9dHK>iN zO|4C<{Zsq5)}t=8F09V24qg{f=UNA=bFcHR<83QpsB7YpqbU0(H7JOZ9}x#v?aHNT=Z;n zZ3}4&2DlwzZ2@hOZ4qsbZPRUI9p5`1bw2B4chWo8J707%J8iqoyG^?-yY0HacYo^^ z>f!GZ?fKgMxf|T8*Q?R1-+Qk2X0K+iZttyLr{43uH+t{%f_m@uUhReTUhh5AJJd(+ z8|-`E_pZ;41SL6;V5D`@8flZXLE0k4%UAYS_e+!I$#P^_vI2QOS&F=me2jdQtVE8c z+_{!ciJ>G>q9{m;J|&h?N=c@qP>7T=N;$=L==Si1;WNYf!xxA3hHngC8ooJveAq+b z$Vm5S_Gr#%`zUb~JK8$hG1@uWHd-|LY79Y*0H|Go)DUVm)qLD?++o~g+-zKNVt9f( z(LK>Nkv^R{oiUv?ojt8Pb7|)M%(a<|GkP;uXU@&&&wQFyn3I{4o|BsspOcsqo0FfD znp>M&n&ZDYHa{{yG(R{`o~O(+=7;B(<_G3gXa{KrXb)+4S_Q3?R!l3S5f|$g+ZOrh zr|C!OC+H{X$LMG2r|5_2IC?%khh9u4(y2;wOOs0!#xCO}<1ynO##6=)<2mCALxqK7 z;aTOZ0#+3Z%PL{zu?VapRzBqgSvJbOm*+?zdpJ?xW2MJvOc~(yY8@= zyIHVF*c9Co*%I0k+>+TMY!z(1**dbV^4Qo8tM**uoyI2(AzmY@;2cWutkcU87l}Z6h_~Uq*DJ z81qQ;X!CT-QtM9ZG3#RMJnMEzsx{tv)cT=y0dOQVZaZpAwawJ;uv4 ze?@+eoQa){-HM%y-HY`Q4H6ZITZr9^eH_b*osOM~brHQ2$4PjT(3Mb=(4Fv4!ncHL zNsuJ3B;O=_Qc2QRU`6mL>2uN^@)`08@&)oK@(~h|oS2*gbbtxTHObiI!sP5^omAaa z-&9blPwE#jOj<@-RvJ2OA^k{3651KJlq6)A71(Jd>4Rx>7MVJp8=3Cz4O!aHS+`VgYt>_?{S}SUvQss z-*7*1uW@g2|KJABe8qjo{l;|`+$J0#Tqo!dObJH_#|Q@r*9eyhV1g<^o1jd%M>s?{ zLpVWLJ^QBUdC`-iw?&VOUKhP9S}oy}ESJocFiYl3SS3$O_DT%P49fnNiI#Vix0gSt zh^~mO2&;&xNT`sg6tARJ4p$CVj#Q3T4prW*5vdWZQLT}wk*JXb_<{Fp@nAZ?t!G zdvsTUKrN=0Pz$Mf)O_kHHJs`{ju?*~4;)vXcro#L;^oBU$!8OPCZ0^(o_sg)bmHP9 zdb(gbf7*1$XvTcTV#avp{M?1PD|46U9?bm%u=aQ6H|E#p+4G;~*XCE|kJFCPPSQ@% zPSZ}%nrZE{4q6MX9iUzJE_N+;FJ7Q?=u~<;eURQyAEuM&J@gTJH@%Zip%2m7^i4Wv ziM6z{^k`{sX>Dn1X?tmXX?f`*V~-)psR%hR1-(cTZrL0b^POeU`&aXDE&a4ivj;#)@ zqB!LoBqxP~xsB&wIT@UE&d$0dcYFQu`ri8H`s?+r^=IoZ*B`AzH>2*sHcK}TZIx}6 zZ1rEi8S5Kc8}Auw8b2^HHa0WPGzJ^zn=kffo41?Knon8GSUj|(TQ6HL zT5sAe+ZsB#JHeb(1iYOnPOeT#PA*Va=sJuE+k|0VGh72)%iU+)YuyV4*W8)z>+YNG zi|)VN6+B%%SAFJvXg(`G&wP3O#r&oH`TTkP4+YEx&Ii&0&4WsVl0qfJ_`==`3x|CT z{TBK=^kmr2(0gI`!;T}Gj`>9dMj#@jqPAl%#65~V9d|zNMBJ@7qqyI|)Z=jC--L2t zBlR8#78;Z5lY>%|Qv*|T()`4?(^t}W(pl-8^lY^8DI6M)PDSUSo6uNvF1jB*j;5gN zGOIJIPt|1hX0>KDW)U&{m>x_UrVo=UGlm(#p-#!e? z$L8ncXXaz_3-Yt_v-3Oh^Yee<6bqyZlnZ1FBnv17-39lgstCn|6hb8-jZj8tCPWi3 zgiJy`A(lWOWDu|fb-=kANk9@(2@!-wLJr{}p_))iKob%PctQ-Jg3v(Fmr5s;5b6k7 zgjvGhBK~5YV!mR5V!`6403$-7R7zT+RJwG3sd%Y;=}L)=^ubb#GP5$d@`3Wyij0cf z3i-;VN=7BKa^jw@4lsbvbe--x z)OEP)dRIV~V^^kJY!n9q6s|`$)obtWJ9tE*@$dT zwj=Wlu25Dfe<^E}M-&!CQGr8Qrfg9{hY-UV!->QG!|B5@!_mX&;iTcn;d3KrN3M)K z85J1gAA2|YeDvk$`%&I8zOg213zbCeqwXnGj$_Bu#?!}B$Fs&W#&gG2CT>pLnY=Q2 zb@JZi&B+^+sgo&__a`f+eP;q@{ARpo{AV=hwC2R;ne*S~c^7`nD=mC^bdh$6b_L+> zkI_EUCTLr<1san^rO{|~+9qv=MqV5S`1_aXSLx5_Z|KkIPw9IA@$D!57yTvupQSHL zAD2EYyCdyIREdzh=q)#561FLD*Rm$*l`=eWk)?#;T* zhRv4E`pxFe<69@TssJNW<<`&^dF#j4x2<1WU$$;;gSOrGFKoUNqVY%@YhW*BA`1`BfvOAE6MJBO%8G$2AEf+JWF%!sp52clG> z4n`e|x*q2h7atcMml)?6mlWp~7ZDc}=N%Us7ZB$j2aijR>xx6h1;_cvq2e;*&Lv(= zyp~8v;z9mR>PzlT9#6)kDyNmE6{i)Ykd4egx;;{KxEVeMWG`A?XGPgWeAdi*b15g)8`ThAr`F;5V`Mvqa z3yu|x7Yr8sB|IT~B`^s*ge^4WxVqxH zlDdXELR~>!UR`M&zOJvizqzAXxn;7sx0%{3)Uv;20KnC=n_HXJWT%?Do5!2yn(56$ z&5O+nE#zjEma%3^bBS!REHCj_t5ds8yIVW7-L~DR-MHPd-M8Jp{ryF+c87LYyLY=? zdq%rQyIH$^ms6Kzmr<8-m$Mugpe^`y`FH7e1$NnV1$CKpMR%ulqq-a9c6*=na(lOW zS9|$M4@e0l!G7WXr+_W(XaAG_XZ_p#fBPc`+{s=5Tfv#^LG~xRkiE%1WRXG9!F_{@ zg9ir12hR>l4Jr>>59$p{4vG!R4;l@|3{?$dhO38jhl3QZja(f$GPZwAV(jqPp)uhx zFX|+fOdX<9spHfUs-$Aoc=dSWc+Gh8c>DOk_??NINsuCTGJP_0GH;SFSurU%)im7z z?5$CN_akctJ%gM{nn|BYn=zd`IDcgR*utTO;|qW04=mhYxU;Zt;qJoe1?7dCv|F_6 zv~Z+F#lq8bWD@#5L^@gRi{Dt+Cb#R%x54PgE;5lP^$xgwJs-~W%uBL{jnx>}ag65*;aqSb@721=a z3D67UB4b&;r^e5WzZx^mZ}9)Nmaq}G`N#g4z;S^RCoxDcGy?ho_6?@ta?(S}L&-zg zL&oEphptDx;5m;g9>yNGJ!%AR`ttZ*@IC5(%>S_eA^*>T9|FGw=7yDpm4@Yo;ldbU z`C+6mLRd#wMc8cECB#KURK&%o(YS#)>qM<2KGaWSl~`74TWU*cRT^#cW%?$11HFcB z$!yIeW_D#>%({?8&EmmIVui4OG5lCwtPEBfD~K(`60mq|5wqpg15hkVuXqKOm#X3FK&UJUNDp zBpVO94|)vR4cZKv4ay9f584kp4_XfT4f+le0p3CDaMN(xu!*L{*sZbaV;m}jN~aD} zSH{Q2r^d&}spF&LljGClBjXd}%j3C|%tE+1Jwv8=p& zZ28>s$>r0_&MUzyK`V%ru$AzYcy3?pFO4bxUX4aNA(pXxn7lczfTD@{Zz;)sD@M^-l3l z$Oi|5N@K{Qm~F1uziso`zPYGXfNVE#QlnU8TTsgcU*L0RAP8yd16drH2@0} zKnbE2lSfj&pueK8WnImh&6>_Sh&_u{!5+pQz#hSluu|g2I5putM)b*Fyh7=fdDZuR{HE@IqK2w9xaBMR7&x3F-3E`qEqFcgt^=-v<`O z4{BO!3}qT?8fq@oUaUP^dqKCUwz;;Y_FHXd-MhNCb&V}qEx4BQmYkN1mV_20V6Q4^ zLAB(zq_!lsGy%>HN#YM#di#7kr+u@X)xOle(#~#YcjR>ybj|Nzx=Omrx^lY80f!#G zJFi=*?|k36zKeZ|Bsr2SNuHEJ$^!fX=>W`Fsb8gk|G>V1hh!W%YcO{(XE1Frc@R68 zKG-;z3XnfggAIcN!=&M!;lAPS;i+M@F|Dz?V-KnI)OG6mIA?rqoIAcct~4b#b!5s> zQDI7DN@l8ix@~3*aMQHUbj}cGx@IP3)aEtk-4?tS)M%=-i;D?L=NB~=uPk0)JhOOi zQEPE~acfbHu1eRSA6wF2Qd_#cba(02(ly3y#wErL#udh8#w|uGvx!;HY}{wE3|iJ+ zHec3Rwp?!7r?qUctha2mY`mPjf?7eY?5q^BE7&FMVs;T5&u(Lvvqd?Q9J4i}HPbb% zHH|fcHJvs1n%@3!qaYBp(|2Tg;tP41Z7GPz-L&*ZwvUvplIZ{`PV z_S=lu4LS`w4LQX_^FHA4YC?phO3QG%z3e}1oi#wzkrIga)QdrquxnLE!<}&Z6ny%XKwWPYfI&{nT zmbI4WEz2$3mc5qk76#ycc?rl>Wr;u9zqNk?IFwQyd>zsqxn0DrrY?gXr#|yOvp(BC zn?9qyl|E$>hIFWZfB)%$vjZ0f;s+|p#pDul?;vroYY;ayJ8U*)KBf!U8DEUwoA6ak zxG@cQS*B*jXL=NwGhTCv3rPzp3#ki_7EG12X}UBJ&1}(pFXyq{>id)G`~HfK6g|uqBlDttu;5b3Id>gzQzqp1QLK|`$@*B~ckS+L@%NA^_Word6qp`Mxw*$6Awu1m$Lg04Pw%_*R z_Umom9iN^0ou-}U9iCmu-ETX;cEonS?(pvR?NWA0y92v(yS|#Iv>i=^EkrGj+X&kU z*hvR{v!8ZiI3++uoQ+%x_Xb=td>{Iz_=fwUeN%mJ_{#?!3O^ElF#Kq^O89~Bdx&<# zlL)n_I}h$Zpd?C($)F@r?P;><9C67^iA?d#2fK%^m(~h)ll7Vol2`@t90vuR+(1W zR{2(C;?a&H9Va>tb=>JV)p4@pe8-uN8y#mmZg!BnLN1qeoAf{dk2rmLid;voC0CQj1}`d14^9kD4NeX&56%r*kG&s1HW8#qn#!A6p3$8vTqs$1 zxKOZAypXqGy=cFfrUYGtEqW}zT>NKIhYq59EV(VYF2ysJnJdgSX8Ll`a`tlOa?W!1 zzO3c{#oT)aHQn~@x+03$LB-zNZEqnV2}uAUQUVDCQfQ%0(XFF9Mve8_#@ffa#_o)@j48*u$CfrAhhZd?^)&|tXFSYcdvB*n7aX1Co! z7Rvt@cK@7xbJ{o-VR~V>FmxC;j1XoXW~CXe8PAR5KI9tksK5cV;FI{b<3_f=vv6NM>n3_czUD!R^_dV z+cmc)7|}}`$i|m9*vETJsle#7NBwWr;=1qzwb0>w91(Vk% zzf6WtwM><*+CIH)dhc}k^w9KOgUiH7%P317>w69lBJ_6klr2NPx(Mh+t! zea3yt_2#?r$K#eIPA07sU^20p2l5W(Ey}kncqV=?ekpz>J}M29zArvpN+>ld-BW%; z)?3MJWHizn9U5b_-CBKHy;@ybJzH6=j;%heL+uqEww*EZjVGH=wVY}__4M?U)6Y-8 z?|<3g`m15=4p2~!NxW)gKx~aOZN}X80 z>g~jviDz&rQa4#Y*)aKI5;2uNC7(Jub#3bE6lL0e+H!g&eae9y7RC?dKTG+Mvo?RO zWS&G*5+jY1`jkX9MmJt>zx1#~UUKs1=^v+mo&LN3bN}KC>n>clJa~EFvfY)qk-tX- z*RrlTUH7_q_13jp-M7Er@xE&~ZZsaM_XW(~Z&jaEufhNQUiD4YIr($)^b~8_aoT0t zdHU+~$TZe&+Chi4j1|F;o5Gc7^)0Yrj3|ib-w=fhWcIdxYfAzIBk6H#GHu*6Y3Kh6Z0qLO=L{;PX05An#!E= zo@P(`OrM>;G5x?{$EXcGrDS$VL8BO)RrZ~l zeQEif8)uLEj{A&no7gciJgGO8J(V?;yK3XZ&5}gvSUdW{kCEwHp?A$j z1IB~L4^AAIh@9Rc`6@elH*8#YBJFkhWCHG1bL7@Oq>5V z_%;83W!L<#xHbPLnKl1Uy#@c~)co6D5C$xq|IT3$1)u+S9)o!J{Ey2Z3G(0h3^L&J zKTd;e$baWG5W(mF={69<`#*kz&p~J+got9qZNw5?fV$~!0?%Z%Zn&Nr8joJ4AfR_*c$f%GHKq>Jh|$%b zg^tE);rCd+v!Yr3Lw;(rYnC>3DRl|81sWSU zioLXGS_w@`tC_TvxY$MIwMzX&@Bn+V$o)r1Pd2|^_Sqo^lT!IhaO!obADWDPJRl1)=hZ=1R* z2qZ(2(n?{qoje0temH3RAt;9^Xo@b?mTE`sv~9QDPphKU&?;%Qv^rV^O-8GxCD7yP zO^mHTsP=_>37m(%hqIT7Ut-AnqyF4Ayq6KDqHjhojoF;>sc3P7R>K_h{K0vHs}QRZ zD-qs^L_{s(G2$uW5kg0Ii|$rkW8ER$)4IL7=ou$uM6Me9xLP3g@=TcMXL zNa#p(8ybZ{V)QU*OdKX2lYp@;jKy5R3}E^(XEEKFLCk@T2XXsxLAXR5RxJ&eip$33 zOqf0}oi?2`oic5KW%DUBBFUK4N4iJ~Q1p`qNJka+Ry)ai zfIYC6ypKGKGLxc4F{D^f3@8+e5rs^7Y4gga5#dPn0PcW2Rb_k6cFcClcEWZeqLtQ0 zYp2O+Hgqc8nx0Ho%u1pUF}fK&jCMwj<94T=P8=sg4+1nESzf)sV(IaEtB7Y)G>Om^ z@AIQWH=G;DgFfSTMN(j9U~*t;NK!~`_#j#kt%#k76}p>s)fL+iJ9Pii9n-z1dtdj1?r+^sx)Zv@8M72>NR@7kUV>h% zUYy=zy~XIR8S~Kc8S~LLXe!zo-Hpa$2pAkD4RaTB4|5eWg|XB>tbYrbQOj^TxFt9Q z4vEuK3&9;w%f*Rs1vnM%Fy0Vfo%94RG&w}jQye7xO}Ik1Pqh#`clKFM`6nzMCDSWsKL}gsuxvY``Y%o z?L)ZP3!C-A_8=`+fu?N~BWYM#0xcdovxCr`O{ZU_E9n>L=ja#d*XRm*FGJ4gW0WX5 z8H3QJy}`K5xW%}{7-8IoZfyaOStO2yj{UPUobsJ=orF%wPDM_sPAN`VP9I!fyS{ZD zb3X!&SrT+-EuhV13GFTqFE===arGMVI_EX$b0$vezL@C z%4E${>onUmx_~AKg6()mE>?sV=|L~m4jr$Y0BXbc0z}~~@f@+HSVKHloU0Tm*O%N- z&TleqqBb#`SWUhy*)54J(Jjo5KAjngJ&1jX`DS|&Y(zUkj;KStMy%4M=q^X9BNriO zA?F~qkbfa}AQvKcA{Qe!Bejt!ddYf8dIG&vJuNg7?SNi@9Y&u+n_|o{78nwy*ESoI ziJ61dz;0B$#k|A3#(cxf#6HD*!hFHJ$JpxA^jE8m>yPR0QA6V-xC&e`PKrB@dyIRC zo5oGy9^f9~ejR#-+pk!Pr{hU@3%nKH5^t{d0{9Cr@vrb$0*-(o=o6M1EHXeE%!4}^ zv;kj@Y_P(>K(XFHZaiYFG`<9sG=*`eNh5H_QUQ!1G7*?mnxvUjnN*vkn8-|ynQQAgEuYDQGuo7ic$VG=Qs2Dt9b(tZ*!LJmjS7ByuWr%5my+>T;4R z}#6ZVD2Uy*d1Re`K4K|lkfxi@^ z(C--w9EaXxci=$ay}-f1pNeyVtCVffdt9mfa`ZFMRji>S9>NXgwsKpz&Devfz&wJW+e`gZi) z=t{~vL>EGXzk|P-zll$$Z{c4tJ`kfDqli<+U5vvkO`r>Dr2HEH6G+QHpcy$MVP=A% z(n`5Cd130#h3;twGInR|%E()|H)C9|BP%r<&}c&I9CFTw9QdUq_iFCr+&SLJyn}g5 zMY~0NL_}yR8i|-9Q<0;{T9l}C5m|`nB4d$>$VT+5K(`PH+dx|3f};6F^NPL|A;nw8 zOT}x&Z1Fa@RVz>yD#gl;C3R)B;3J+}J`Z|^4^Pa24NFIbvy54rTANneQ`cR$pvk1k zyD7ej3p|C`CZDE+CSFr*OGQgn%kdUQ$6{zf?}1kI({2vpB;qsT1L7lM1^R%lovy7e z6^TdUkh(|&(hj*F$(%t$8X)zMbfg=SiPTW&BM%|>Aqhx*M3!E*-cs~(^b)iqT7bTb z9zk1UY%mneF^mxN0kcW51G^f#4Z9Az47(A#0lNmf0;_{vi(QJ{rf}6?tLCl$Q2)OE z6c7kkraRi(R?kLU}w^#82w+6oozaD=;!NPmvo$(HM7rZOp5$}Yz z2advfyfML$aF}33Fd#4t*amRsWe{Q@GN2pe7z7#w7z7)58~7O9HSRLLXFO_r+xV98 zDU*{X{U$vodNZd?CQR;|tc)Br=>rzuI@4{Yo6HxO?*v-H8uLZw8_Z{!uQi`-u3^5> ze4+U+^DXAu=1wGUk|T*iVv(Fl?@2F6pGYrB??~TCKS(>Q_E`B_?XvQ-3bMLqHDz@@ z?xEFV;DT9^X=FRHEtyItlU>PYY!_3sDN8Bmp?z|Ja)Z)MX{0n$u2RlXq7|1Z4bYbB zq5QDBp4AM*g+^*QH4hre1EBAoXScx4 zf_8+aOC!>ZfxsYAq|s7o0@^rjl-4V?$D@e>EOajxKSp(FiYR6i~M#nnG21hh(Nia@EP6Vej zPQ6Y8PJK?loz^?Qar)_WQt{16!}*cZb6^XqJO6SrckXwc=e9j{rQ1TF+bwe2=oaEG zaev@G>3-im!Xwh-kp|x*#v|Dy(?j5KLy_UJ$7?6h7-wyo3;w4C-V438ytiwXvBm5P zwv>I_?}6VtzZZTlp$YxWZ^|#lKh^)8{}F3q06KsWa5%s)z%sKFJvHOJmf;iM96C8%aG}i!H~X?Iow}I)qn}3 z&JBfrAeY|(59Y+_7f{))4Xvx+0f z*~Q(68;K*uo5#;iSe&pb!C0x0upnV)!mI?%gl!3H7pMb$Pb*NsV>PV z8Jmnt-kofotdlxp;qp{l<-t^oKwKI>Eilawm{0y`(ZGI+N@J%5rRf228JB^|z-JIL zrhzWAH*0rRc6MI2e9^INe`RiVVRkf7V-kdgLYc5YSR}N|q2~OZGb8s$&ZnHuInQ!m z1v9EQ29o?C_Q+4GH6UvH))TUSaOPbPwop7w_c++6ZP|I*jVatV< z^DP4{L(3Mo)4C4BzJmmN4%;rXF7qynE^^oX=v)k`H@+{SFR4#}Ozb;M+l&JUKjJiE zC8Zy63h@=8r;F76iKpw@>#}qMk-5k`q%YDN8HV(kQHTUY7P3(9jow=HYV<1f8niQ- zg%Y){ zs{c%X1CE5Vz}e!$aWY&b?lbNq?i=n4?k8>?J`f)QTsICr7#{?jH(&gB{5L$AaDSB* zfkLn#SP}}=4lCZk!t9K}pus0-w4F0JZ_s4$!1#snL*r@VFD7clCB)Ar?@cxk-^hc1*THd4Q4;^JIywlxhp&rmgWb{ z(dKxd8c=|BplgmYKd{D+xyW+8rM>!GOHIqAmTH!Z;oe=ta*k#D+Au}9dL%Fo zUjyUtjg>Filk7tdCA*W4k|W8hC@UyBl;xBsluF?n$_@2N$|K4+JTQMz}225`zlDTuXE;AcA zoaou9z~f9~CNa6pNMI|rGEX}8I`%joaWZuxI=yiE?Bwf=aqdyzflFoOe8Ablnc!^b zZ0T$YbSkPd*4fs1*mcl#t=l@cU2f~$_PcF%+vm2;EkmPK!@`~99_~J%@yz`#Y>v-q zyl}s)c%gCJqZIZVHL%<$_mFxtc=UVJdF=J#c$s+Py|LcDK$P?Io>HK}V~6n$^hS9< zR1mylfifpy*Rh+}HSAiT$gqJQ1lrU`|0-y0O|7r<^}`? zxCa;oumYR{J_c^*JkrE)W+?+WyE*$f`WzPL2QVGCg2(0nXSULvgXSPPyEuC|zMO-c z{hYlVECh90KQ==9iEqq3=Wf4%r;~A!IT{Cv zK;v8UDSRrQ&hJAUg8$n6fjGke#(e7hz!R7z@I8beu>7N3@wmYQY@n-eN5_sAK60*>H2@Ev{#5Wu|C z%OYeUv!t*msm^ZAmSmS_muA;ypMZ^XQ+985aduU92jVYbw(yuxD9jVm7v}<_hLOX} zVdXgIIORCz_$;26tDd_kw>#G=&mhkt1(9%#3{S!Oj@wqiMH+3|fX&P=CXu1T9o0_J|raoZY zv;+C(Y0Fg0NXva_rcAbswR~vZ(r(zkMu*UzrgOE!j^NnE>~imN0c(v%7pu#)D@C3v zPm@1`u4G7GO5e;&seM}gUvUEnH^OhkPXtESP1jZT0rCa%A+i(MjO<5tBWscM$U0;P z@;0&w*@Nswwjs|VH5D(Br;s<0w~+7k)}fau+|gO+C+MeW2MiNqk150yVcf7j*buB2 zHU=AujnPlm=j+Gn$LYuGzt#VwzaB@%{lI<4{lXno98yH$`S=)oGCmp~foG_(2o3}% zf<1vo@F36$E(BMCBf-MZ%do?6k0H+xZ%8$CGu&lJFw`~NY1nSqWM~LvXcL8jp^;&z z;b-H&jXxQGF#cxz7txMLBkm*GDQp#c{zbb!NTd+MhzE$fi8jPNz@2ph=4^nezbV_a z%oGhwKr9dfOJ-t#|EF)}YVKz40R)?TbCEgA+}GR>=r!Jo9CH`*P;)N@&hjtIt(My@ zw^_QV@32H!9<(}Or3+N)7~o3BTScnhM1HXHCT9T!EQu^uKSqus=aF;CiR3kuwUocC zH(9IHcds+Ho>X6H9c{hZnq+NZZDmcdUS*B6UTRIXUS_@CdXM!+;D0W$-e5h0x`k>; zH3m-DJ>c9-P%l%*sL!aMfgW~~I!?VqeM-gJ8Q2*Dz1rSR&(6dyOOdId*}lDw545keziFRoKWV>d?`gkiEP5fmh+a%TPA{NK6{{I@8MA;av6iutv5=v~ zSin$cL^G?IJRmV2WsWn$nGs9@Q^2!ASNIpAS8ekNDf4B4sq1y=5n5Lo^vWV z`J6P4j5EQB<|J_vfDO&(JmNgyh&VBv0nTyGF<1=FotwppgPlw==P>69$0pPw)H8Hj z=>E`sp}RwOgdPgr8+tGl6S^nVEmWJU#a+U+<9@B`K0l zC!I|?la!ZSmn=*UPmWIJCRZkVrsC6D(y$Ae%91omT3eb2ED=3nkyyTvD+m*W2#yLC zz#8%KLhZ~AnX5AwX0FLxnn}*0Wm#v%EV_|>Gy8h>duYpF%)Xp`E&FQrWcF_1KH*+r z37FB!gmuDlp;&kVXl5-!4%kT?asn57<@mz#XGQMv+?Bbja#!bW&RvtcHn%_bO|C

    sIfpK2&YGw7#0Lw5}RmgR0T1F|9!WUkzDfQd3o1U0YiF zux_&MX5IU`M|D$mcj|`rJ*gXoJ>)%DORj0y(6FvyZNqwK25)L0FOxT%ZaCj?0eo!z z4Sfw=4V?{(fj0TFX{_l{)7_@ge-Vo&nw~b@Xgb%V08?9Di=ZX5C8I^NRlQZCb$09D zE%RG{wES#UYn$2j9jN4AT4%KV)2h+-x%EfuytZxa#_cBUp0JN(bvSn1=?F!fMew>3 zyZBu(U8!9OUCCYHu#JrCitS35XUj9?xpJYLe=_o9)X5j!mc5eG*O8fh*?oe(V}08F zbUU3(M-fAaVZ<6;7hOMHwywYK0@P>ZYvfMUZ{&OA3e-QyH^^VewWy!S8K{jY-i&WZ zACxAlRPUqSHuPWU4QMa42Ra{Jgno~9!MI~StaQa}R%Brlu{qdGY&JFlTY^2NFVxS| z--4s!_9F5M~q9fVajW_yA)~zM81GYj{LqhPVaf zX;X!n;*_De;-2AvA=2oy;h5pD+JxZ@quYiDjQR{!hQEw|8_zLW!3`p^iNQo4VjZyn zoR$H^B4P-UI`b$oka&!^-*nCSI#aTli^9Ro%#3DcX=ZLlF|#ncV_t4vXYQjYF~4PA zX~;Xxl0|c+In$hIpJ+4a zn)EqzHTrD2C*1>xN9FVr^fLN(#$Lt_#yZ9;=0oO7=5qUs%r&Ct%ty?v_Scz4vnQBm znU|Osm`|D3vtKYt_Eid3`xtwIeWikGPqxR|AF@ASzr|kZc*#-Wc+v5Squ9CJxeQoH zGUp=ae#Lv|xh!?o3uhwhwexJ&YL*U5jrGcT5o-nOFlz}*i}lv|ALkjY1+2xaSu9QH zkQlT26l+-8tfj20t|P8Nz{QSo3wHB#W4Q&mDHM)wZf;&~aqjW%eD@mnYGA~j(WrHo zxmN&Rsmfi=;~)2*?lU})9&bF}dVKbH=JCSgp~nW#pBj%mzI(j)_~CI&f%n3BMb3!u z;(5*2y6%0!d(!)w_muY??@{mNK8t+Dychdu`&u)h!AQgnfiKG$_<3lpU(W_28y*1>7`XbEj}KxJvE? z?j`PJt^!zfN#V)i5#fp9VL%Da3ctp?%DcfE<6Y*x5py!8E~YA`ET%rD zDCR^=X-q?mBt{lOA9v>VZ5+4x%GNCJ>Fd+w6Q0B@C zAVcLPlqZN1hJcJGPbf(!Na#qY1jfm&B+-JaNx{1L$!^=uBzGncCbuu>OKwT#rADOs zrv|2SQbSXNQbST3+_O>*(&T9;(=@jCrgf(kV|&unwr6HUWh7^$XXIu?!pb#1BQb-Y zQMoV~IC&oy>Su;z;-UTiejyaXY8Cai5lK7lxSi;8SB;`aXkL2#n-IlvOcTcWf z?!jC{?xEbja(4l7e1Gnl+>kuCJoh~Byp^JJq9M_+=&Yz&q?NA;eIqO|{89M}@-^~z z0g2o?e`9`%a!>vy=q0YoN9M20U!1=*pO%lwU!A`|YeoK}g69R9TrJ=p8vtu>B{xfX zr|@>+-NKoKK&^vC2a2#oDbUb2laM5Ol4wbQBt_x{^zu}RuEba3AYn>EC4Q2dVw?ma z(U(|BC_v?Fl{iXh5>JW0#8&b|iy>i20wqWZTVgNqmRL({Bu)}%X&Ny6%q3*WdvTZ~ zU2;`iscb9mC@wCk1PXe0NqI?0No`48NsqFvL{xITq@v_RNh_EKI?Bv0?P_}33gDO-tz8YKYMmMX*RiCVGtnR3mSGQMlmO9s% z*N|%{HC8oFHO{rYwIj6ywWn%_Y9BAvsQ+5`yKZUy=ej3Lbzyn4s{sj{n_CUz4L2KZ zG>kM{Z75szt7(4o@20O!Uz%1le{cHMG^6?NruR+iz_wc3+}I**X=*8NS@W;1?sn+v z?tsSb>ehX&I;}cw%i317tpu<4(zf|+o7(OZ1_#A)eiVV|h4v`^M2?vwNt^l|$A`acbP8HgMdf}MW;@XU+Jh*`Sv zy8BTED1DSW$^?Z#xuABV<|;5K6v_;RL0{|_>1XL;8EENi>1m0z(zn7` z%_PqvtCKr{YuXEpXgRr!+(Pam_mkVnTPbqu9_vQyR_nXgz1F|2FImSa{#Ng>?zg^T zecJkz^#$wYwrgxx*y`Ap*&b6Q+9lZ?v-7jdu*(PXX^x#cEr+&%zL-8VtBPJjuclYh zkqk5g#V}@=GV~b6_7(Ovz>E&G-*0bc&#|Z3>)BK6t?e-zO6_YE9riW$A+x{P=i1jO zao~v%x!Jq7o^Eshl+XgaR85b09w^{nT~(;fL3!@Sxx;g-=Ppk( zPZO_XuPm=&ZACeChsHs&x2|mU?x;`i{PMi6d``~=6d@OvPC?f0chrKwCgVKyyHAKu17hKwUt4Ky5&0z}Wywpm*T<3)l#r3hfGAr|b+p4a=zR(7w>Kp;lqYTEU*dujL6zNV?t#?s0&+A~gM)C29IZeevsaYk20O~x@njv!Z%lIfTkoaveA zlj)Jk%k<6k%Jj>O$n?%k2S)7Ctf;I=pkK#jEro5^3RsA3hULR5*ogggY{{{$$F?0~ zp^)IvzAhXFg6w(WC7{SY5N70L=A`DN=Va&T=i+klxqs(I=5g~9^WySS^1}1@;NFPN zi_eS7Gh*N^eWlr0*qbVNj(hoiAM>-6&N`4gp!> zkz_=I0LsKFSajc%d;wn02I(issB{1pL4C!ll8KUr5=F_ylF5>>l6xhWOQwKB_OYb7 zM6L8>Sx=d~th?-U*~hZK%RZFlmY0+tFV6#3V`+I-`N1U@lm+GIm4671#pQ2L>;*bE zvSLTYzKX{cFJ$j!FJ+^$YqF2Bd$JMP?Iq)~yRvE72iZm0nC!mny6ma!s_bNyY4zc1 z!%>zrKD`{hIm}^_%N=)vvDKTfe1#dp)ZDpE_)VVZ-4DG^|i@4aTr22w2d89OLHEMmVG;jU1Y#(?_{Mw^o&B|?Ow@1RRHN1n@akL|>V`k^? z4z)Xrj z_3HhttU28b8^Dg!#eH>sa&RTI_o-j%23x{F->JUZK3soje@H*KKdgVnfX={jAVz*4 z_%^U-Fl8`tFb=$K>4P6b$v}w|4HXTEhmH>w4;2n&p8Iv~=eZS^GW|4l=jeu^Do`z` zL{v2DD5@0|j_N^`qS{a=Q0*uVYQ7?EMg%Gfm4uR_zUm!Bv(dijV)QJG1akp<9;?C* zV@I*Ku#?#9*lXB3*sItk{TBTiaIrYz9B^~+CHUj`27D#H7+(rLrF!rwEh5Ac_=GoL z=6h~**yw@LmcwIU=zD0SbNH>%JFxamfK_ho;ZdV|;O~2Fqg(EN^*I0Zs&m~1$=353S3N7O-g_g;de9L2&IhJC}B+Gb9k!7OguS0k% zBdZfuWmfaZ3&|JB3i1W=74kMpo3+Y1Uh&xall6f0J?j_NAFRKtzqfvE{lt1EHBqt6 zcBSnG+l{tYfe|UOtF`l`dDDDoxwNHp9r`-@a{4N|Ki!uOWkx!iUQcH*s0?d{3&V#& zVSJe7$Z%pfGd4Js*tglYf}df?zQw-QUS%(~AGWUqDtWzqmHj4%m-bKWzu14Z|7rgn z=)U!e&-QhSY5P}>4;&vkesc_BS^D>~rdcywMp^qc?yw%PhFBe}8>~Ua286wo`IgX6@&TNUO8TJA1&V{zNdWpd}jNe^_k=Qx6gA$i_a&YFFs#=w0%Fb|7QPS ztNG3Fo9XwP{hj@bZK$c|Z|+a>KjLrd-{Ifx-|BzTUpwG(z+}M9fZGB00?q|o3{ZeS zMj3ED;6}hiKtNDf(5B#bK^ubggEt3n34R8a27|e4f?o$MQho?JGFKJ!JZN3;c+iue zrC~Z@%V9}19~N=gFnpLaY+cygFwHRiu+7}<+-+cOIF14Y5cdges~&T;!?!7$!~4TK z!#l!T!gIsVhReg-!x<6!5zGji2%`v0gm9jH1Tn%b;#tIZ-~_*o{1EvrQZqU@+7Eaj zzR?$9qa00W<~Q)W_$~Z)zMS96Uk}uDjo1ybjq?}B&Wv3ZyE1ljtWNBl*oCoMfh4>> zHX}|DH!psE{G9k%@pI#o!4khRaTzR{mnSYt)K1idC8$nfO1xg;E?Dj@PK-?oPvRxL zO8S|snetDvdWu%c>=ccZ@5vWZ&!i5e)}+>^Hlz-w)~8-fHBOtEz9?NS{WmD?eHU&{ z-;_QlT{C?_x)OLJ{TY23PRiblo{WZt=Q1P$|4dP4er8=}d1iH{o3bIZH1l|7E)d`3 zS>0LEtlUN7tm9c7Sru9JcI8=RS&qkokJ*7O!t0pLv65qM#~h9wJ!W}~bc}V3dCc}0 z6%Md4z+it06!uZ!m~dQpPpA@32_Fe3gntX)3&lAlKrpe+HP3zYmwWErT(!I}xiQMD zyyCp{9UDaJMR;((Y3JML6Y`n)GYU%c<@xpbE%}Z42ei)Q*X3&w-W2c(BMYMnV+!L6 zlL{jWV}Zc=1elx7TI3@8BCggkC8fv$$R_uJdva9LC~*U$bhso+5-D+&cuEtFPfC-) zahNBKl-`$$r2*1uX_XQ@^wI?Bl+;W5kCvabNLnwwDQ%E)z>O6yjg~e^tCjiEyV77V z@4S~rNqwb-()rq9;Le(mj!Rplt|Dn4I)zvQB}cBxM3j?zt~ zdrNIfcb6_N-CBw)-B7xuRI4<;R3GRmyGqxTt}NYHYEZhibbIOi(*CmHvOZuT|0ruK zZwH5c4^Te)%H`$V<(=gn!2E0mO5KMOA5VNbp_wGTHMyEz&8W7ird8WjU#h-U zeZBf>^^Iy}^_}X>n)I5Knv9y`mc2DuHAk09Y6LZ}YTp7Yd2Zd;+K;s}>ekgYF8x(& zR_|0#t7p}l*L&2v*4x&*124+F!J@&k!Kz_iqekQY#!ZcL8s|37Y+T-`-Z&q&p{~uo z&8%kUW{+l{wJm91+PHBRxV@x3rTv+*tX{>?EOa>(i;l=&@AAHX7u)+9z5NDTJ2Kb>A}9vzLR|y z`}9}b1P4cJpR(^tpHBa({uTWO{f7M}{d}NKMFN9L<5EU{O#haFtpnQ!HV^zYuwg&} zzM^?&=AW5$=IsjgGiqn%o>@G&Z*cEmE*LXQ2XhAV2TKOUgU1Jp2c?5{XG@04fC^JN zR5dj7{E7=}F02A?k)G*)nSK1foD$a}Et7G<7@v zwLj8E3ic$ylWro)7Zn1}!7ZrIY5}MqIFa%~C7|L^o~ST*9`=D}xy^W)G0u3tv9|F6Xqz&g6sY?VusSu=PK8_j~v z!_7m?dFF9zUs?r|FQgH`PuTf z<(xn35%SQ`Me;fFnIQ$)in5V{q97^hKvv&G*-jy97*O|Gg=<49o*2N3?0S+IK^^=JD@PQ3sTJ41YLy}LpvGk83=}!!y$_OPt<=rTdN3TWHk21atQX@OFQ3n(OTE z?B^WGx&jWxN34ge02d$dp)p<9E)6aWmnIiGmu8o67jqY)3&myeu(eAJaB;j{%v@wH zHZHajQ(rCiN;a0gnvG@~vDdJdvDdQKv6uKQ^qb=s3%5T# zy77KdKsxU6@AW_B-v`g<1OA%=uz~nMRG>L*uH^F#0<8iGfqnB21X2R^IAXX3(uNzL z^dLdd+F)8RJ=i^%0WKn~V5?wyhBylK1< z5bR&Yzm9(sKN3(30eVqO%{Ym=DjI9DQ!G1xkAR}Wv*p{~o<_dHLdj%E(9YNhN zLa;;dmtdn{w_vBh4;UYd1ZxHVWYiBM1=<3Vz*4Y5uvmZ*_zKnuG=TxKP~a|T5gZci z5qJt_36=}21akzt%#cBj-%++1#OARo;`lS9u@up5?vFdy)4zZz}Iv-Y9sO zZstA8`BYIlvBhf3Qi~l+?MjhgbJ8o@S+>3GkDqQM80rp{?J7H1wzbTt>~NWJ*)}jet%cs+ z`tr}^RVOmQo+~(!cB0`#>WR`5q7x@hq@R$TC_7Pp;-3oG^vb?gd;xZUnk+*WF5>_z zF;SKxOOhqa7(kk)S2|a^R$5ikD(xz5fuQJ7>0Y^_YI)UO@OBPV?bm4s@>*-v)vE5Q zgE}{>+NxTrMyfiiPJ-97SO;CVqYj`&bw+iFy4}F_*KSzZumaeM%Nw5PENs}`5ZN%= z@Uh`;!)3S~x&)k`5x6h94fjQN8m_>-(GB2KU2g1dJlS}*aj5anebELu`$}}LZq8{g zZ5B6+n)8~gnhToifa6x*($Lb_vY~ZzYkg~BYi?^pYej2iYe{QSYfNidYjLZjwYoL0 zwWd|kcCqb3+oiUn?TU8viW}|s+F!OmZ-3kVru|#{{r2UZ#Ll=*F?jP*J99dvoh6;w zoyDEyoi&}pP9r%|t|vbr$I4N1&2viml9M_oHvndi8Mc<=$RkSv&SS z^xOAK`t$n>`$he^{lb26|AK*e1B(Wh3}_F`ACL~1uIe1HS+(}e#xtAF+&pvR40`a_ zuB-m*_T=pm?#bHoVsFnr&i?ZK6HQAFtT+&OVD_OO2Y(&ZI5gwXKL>vwlpmUnn1lGU z$TJ2i=fDECCwqQTpk)3|tm&$~_wPy!rSd{7HNlz8h|=+VP!u34Z8br)V;~ zsd^dguw{gDSULacruQ2R10UMb(893IP{(M6k(SX)qbZ|FqrVOt8=C=z)!LY8Y-((0 zY-?<2Ofz0F%fUF<%#mnCq(jRwZOEROK4eFNlzd7mC5NI* zIR*>8YDyvHh0UZ*pWPRmmo`&2&upe`p4+^!d2I8_#sk{yXQ91*hB`!DY1?ckvpZ*3 zZr5p7Ww(A#C7iZZ+to6%8HtQiMg}8^k;|xNNEtbd6h;i=)zEQ972_SFkde-~1Dn!R zMkS+&vDRUgL#acVLy1GNgR>*cG0f4!u^-xrryU2Nx!&iv6uf_5oxa1i=C_lL^L*F$ zE_E)qT~scYTt2wCxZZQQ<1*%Q-Q}vwsLPbgEtiijvt37AKDjIz9(P&fs^NOq<%-K3 z*J&3`*M8`&kGYS#-`!9S8=O-20rwVYebl>u0w-V>oVVR`KjVH9x*rqJ1F3TFgg!_E zcmm7Z+n@!q&+~w%#Ph4?XU|VwFTJL{9(i$n*gn#E5}#6^d>@fduFop=3br}hlx@bQ zvJKfD>?3R!_9EzXr1@R)y9_(OOa4!dHU_u^x`JUVJTNRU1a7U)&i4e?Q-jY03xY|*DZvH7=D~@<$-xn%9Pn=a4*3yc9Yzmx z2(t`REntLAA00b-@93waM6N0KX!xIgA{)9Ij>GZc3E^(x!QnyB-Ea>7&g)qCkv9+S zqFjbsBM4DPq9{=&QS2y0)cz=P6gFyiR9%#H6fsIKYFpHvD1#{7sGU*kqwrC$`QF1H z`7ih{`IloyVz0$MjGc`?3v zSP1?Ga^Q@FU$F97noyI_nGl?KG%+NRn;4TAmN=X^lz2aJB2hbOF?bAzpslEc=Hiy* zwv?@@+Ns-8=cR5)-I%&8bq5#?m!!^5U6HD7WuBIimXjt-D@-d$6Q#XQdzW_KJtdu& z9+jR9R_Q-Z>DTG6(m!V$2eX29=CI(RU{Ww3=n$L|Xk}_-rVFI72D&Wh5=;wD3(gDX zXI2Ud1Tw(`!4<(nL4)9uKqzP!t`ls{d?Z+s`B>nSSuZFTJP`~Eo(dLbrV3gGnSy5m zg27d6P>}T0GvL9r7Z@mh4T0=sG@P)7wPUHH7PlOkRufXtHC%h>< zBYZBrEgaK6C!El}B)lfP0cUm3;O0vXose5X^YTGBxf>BGa+SHi^2YN1$(tqm4(2c& zk+x_KxWj&meu)CXWWB6lX~BYm`9MkE{6ENh&!{HXFkDjetp@fhwxWx)80?HNe3xh-?mKF_J`gmFfWFs@dB9=}2wKRd& z*PTQ|Lt-+GRzy?LmC&M$f}}?nuo%N3>-f6(BP1Z-LMHMn?1=T2w3Y}DeLC}}VG z3!FL~B@v~E$_&ajmJN6BEjv(lwCr@*sj{K&T1F$}B88BStYF+@)HB){Tn3-uv;~mamB}1?rSeq)gR46M4D+emOEBh+DDxX!}tQ1ws!KSUK z6j!!ZN-7^zzOPhO4p-i)++V%5npRD!E{9xXR?VCh=o(Z_Y)xoQdQEsuMooN892m+X z!BMul_Dikl&UfI7_y&B)e`-I}eyx39TUK9OUsRuDTw4FB+m=(m!kKf4Yfr1VwXapxdZ(4N(!Bk2 z`^ol$z;?aUexT!Uhe3yV$MKFOq9dZiB16$Zkz6DZsYJb^EVvF=(Mjqgc9wQt>7;ai z?ph?#kj#-RkSJD-bbaXh-u0#HN7qExja4tZ-gmv}nk$(hdC~Q&%SYxZ^O9{}T_)3o zy{%31$~u+yzAgG|^mX*t>d(~| zMy$KaJh0SYgF%;p+(2S5_mK7>zeCp#?Ly`qAssO{JZ~6gc-jzQc*ziDXlLkT7;1RN z(84gpP-|wep|hd>v4h9-03g-^3C?Qc8pv|y8s`}o7$=*MkLMqMV|v@P$F$G1*RK)Dg_?Vr2b%kvCzuDAhnf4BCqY&- z&?4Bv*W$kA1IvEP5zA<+%T{{U`>gj{U$$WbLe%r<#6Aj2IwXk&O4A_op&O?IRA0}*ZG&T4)W8SZ_YEI zm#T%_4jpzoiQ+(O-g-9p@MK|XS^$3l;J9=aaOp}n=sTi<&hIB;#i z34Xx)khh-qQSTGp`@MI1ANIEO{_VTeZ=>HzzkhvK_cc2uxUkZ&y6}w=Y{*u$M07;-MGCfN@RpjkR88{>J zqh?*!yc`uB9~~1-h)#;W)J=?zj{Xxf6{C*%1e}LoF<)W|;>zRrkgHe@$%$nNx{#!3 zPmm@MllV#8q{gI@q=KZbr1GS+q^2ZEQgM<-s&?w^)S&J;sdH2Brs+V2aK)mf7+uUt z%v#I}pu?}itideC%)@A7E~ZC!FM@VyZ1=8=B^kOIE1|#Ml_7={p(Nuhs4Bi*2|oKa>jB{*ppZ!HWYgvyBV_cpK-xnSiBp-9r6$R2)u42q#=9= z)&x4ig|M68OVEc@1Q~dDrUXxdB>@Eqi4z1Hf)im3auSJbmnD0x_Nzr>@=vFs_sn)v}3mal+e z`GPUV_?z*J5m_Es9#I}%p20$~!dYRgP*yf8hZV(&W}#UTU|>U6rc|a@W>ijAYE?~C zPF23C{8;&`@>S(n_lHV#r2!Cu+o}cCoz?Z#!s?gZSHQeMswt_NzoN9JtfrtQ9~i-p zLyoP8tvgs}RA;#2NFA!q1hRgib%~JlJ5fikudT1DXVzEN2Xi7gVVujHSWY}Ak<-@j zwxO}Xyzvwy7__-_VQ)nPc2s6?HM#S+IzZi=1A8mWVV`9McLC5hwYX~TAFd{E22Y!} zm;b%{ApbGHhku`chaaNb3l5>1dVyo#)u!I2In8>_KbpsyC!0SutDA4@ zPBedRe&77N`G;Uu%Ll=0fkw-_mMy~N!o$M-!ehcy!s9|4AyQ~8JS{X6ZUL*u+18QP z;nv5k&syj7jDi<|8I|DKU~Pl~_ymN^~WwC8mW9i<6yW>3RDN}+N<$yOcI->Sb$ zf2aO6{p$Uj53Ds^-AEs~2CQhx_B%71WvE~%>E9P_0*qwQ6`O@;4 zdg?t)s2mtjRV7He=^T&kdaWa_;xJWw!dZtIyB1`**z-&|GKR&9YNp z{B?1r-D$fuh$V;>2wmu8-9_{vwt%&Fv;7N)opT%EeY z+OuxJ0dPj1MWz4=AQ`9t^>88VvfD$qA-8_FEgqXZwt8&v2=}P=j`yzf4)d<^P64-B zuy>3%*1HxQXGz{D@5|nC-e)06x5rP<&(d#~-wwaie*654{Py}C0;}XP|DOSq0ivLe zpst`!NXJE>aHxFf`&Xk5c9(&5{0{o=d?^q=3c_yB{}|RARuf(y-VnYkVq3)ah#e7} z2yuigLK2~f_!K!B`84u< zuBYS*iub7Gs0C zh&csBr}G#D<}7sgqcNv3moSddR{>uua~~ zxRr4o(r9IwMVSSew9LXxYG!`s`m8Nko3q|zeaw2A^)l;u)^6-RY#cTVlG(?x=6*@o zON+l?%W-A6QrtJ(zqnd_A-)EmdF8Jw9fbA7XM{n*IN>=#Lby+W3&@0f1U*7icQ>Jr z@PeR4oI`v`SWA3G7$V3BD~YXyVZv(ykI+Q8PIyCjOZZKiBF)IV3=SeovJ13Xt-+oa zMfQfCQaCx9tmu|^Tam-a5#$VVD42?}$TrYiiXr=v(c~O#0NIy(o!m!xKAebqRAebA+*%xre!r zxs#bx&R~_Ws4N1jm_=h5RMb>9RIaURTD}nS)AOn}Rn4thQ?(3wN*>i-)t=Sfkd&4{ zN?HNAu{+i5nwFaOn%Ww1O>Q)W_>NG?$injWTrdnq;--yT3u0HMO{5~ zk+L~74xUrW=?9yLUE`(33ytYOXJ5-*$=$?V&0Pcg)f>30xa+yQb@h1LcsqIeyzRVo zyw$utx?6c0d24ukc^i07d58Ef`M>xt_&@mH_;2}N`0x1>{7?MP{A*3up)=dlMAN<5 zvhSMaCfX`GB{CD8gw*u7=q==?Uy9y9 ze)@yxL1%yGNawpwlq3w?2Z55G;2rS>AA*a-7Ay$9U`L3Qcu5xa_)9z_!4j54EECBj zvQ8kwo5=O#M&Ls-ke^cA1W()FibskO#bTgz+ra)aO-Wb&rDW`Tq#RP#tLE)v?z^dP zwEx)ty8T-Xwis+SxO1og$PDj*NB7=vuF(r1GCVh&FdR30YdFuyaObqo>^~C)eWc44A1yywnphu$X04I68f|QyV4Y|kZ(VG|uqm-AwOL|2 z&sKeIk?m^RSzserV5x6A&HlT?KMr3VemJxtX~<$E6-hz1Aj^?1$ZBLMvJAOtQ5NQr+o+qa z`$i8v4}Fil9wP59Z@IVFd%$}fhy*fksduZl%Dd7V2MOjI-fiBGyobGo-b3C&Kw|O* zI#V!sd!78WjZW)V_|FLZ9q=dMX3(zg8$q0)>p`t3E~){D13DpZLf(gb37H7_5b_#G zN`qi4dJ*;^Y#>Y+t{0(D`-fJHa&BAXzWjBKbtJUGjElxNJ=}Of>?^iD~MIRGZYZsq0hUY_7!+F(gbb zhK9+(6lb-E4ZX@%h1cv&)Az0*ZnACDB~e)O;lv=%G#c_G3#sA z_pEPOd$Dd6_Baq zT5=uOk{G~9Nh(Y$OfHN9ZVIL_r7#s(DRG5)MfpW1sAklY)KgT=WecI-znHE=e@k0W zpGDt7*QC#Y&i`g`OfI8q)0Y54RB=bRPKJ)FpFDXO}L4oKZq4zAU|rQ0Bt)fv)D(<&I1@rWX^z^krUVdO%woY&iyULbWV55Txo@O)M%#z&cWKtm10rfvP=Kd#m&yVY{zt zx^c3lDik`J`PJ!=v%OtCQ2n5~ABfF2YwpxYYx-(5*#mWbb@%J0>V_cgqplleg;v2f5hog0+I( zf{lU$f^C9bg4Kfkf^99E!4|gzTyb$Nfx=j5j-(0mAuYQ&k0;#Qx~CP{x}|M>+g_kv z=>hj@EjWPpwC!p$X-jL5YENuWXpd|UYfo*DZI5ez(jEww7+gnkM{WnUBNNO`86D;# z3(ZYk@!#NWT!S5fftC6i?@h>bj}mc6@Tx{lf+91l2*wT=$s^iI|Bpl zlYB|FBtudpNt0xPQ==Bl1x!hh3?;iMyDsaOos^%G+sG~DC*N0rZ%h)kZ6UXtT;_lab-Ecg7heru;=GcqgXJ5GR{}-`HZF zV8OMRVfEW`rj^=qmeomXbL-RA9oAJgGr&r5%2vzPUf<64f~~!+y`7z%vz?cnBP36E zAP%(dLF_{8L+BwMAm;qn;O{}+hKA#7^JMXRDeFX)Zl82cGq;a}pO#(j@F zkYJc_FyUyz^@Olw6d2WfAV(PmIm$RNswE^RCi^FcCtpgvn7Spk3Dbb7#xOAqOeLlr z!^Ko#*qCMv2Xhs3FvB3@P{!d5Ltv5&L!019#%RXVjM~hG%&N@lOwH_B*}t=PWjA4Y z*g7m1SBq98Nkk&CnMfm^CZ-St#1>*U zkx8s17DM`R3o)5^g?NXUPNWlCiEWUJWDyIAOY`RE>Eu}Q6Z}^XlY*ItfHc#!lE}BZuiH>1N=#y-&|AURAQVWKHRI$n6(^F}$!Wn_0@tWs;b9CIy;l45qap zue_kVhoyv!zKqqz`iphEB6s<_O0%kCRfbiS)kV-bdjk3U(dv=vhczQLf7d*%8Lt_u zS;bz>wr9WVKEu{wFM|H|O7?p85_W5SdwmD^Y*n0A&cVhNjaiK*+@svnTstrZ9OfEv zO}QtyN4Umd4=@CifCV?6=fOks;&>svP+kDfpBKgR;$7zb=KbNF;O}iZ+N9TXtjVm& zr0G!8=_X?!iwpr-WMT8X=3~vq&87kifidL$P6$p5a6%&3*g}LA!crkwm?x|hN`)=L zHerXbL0BcM74n6RLW$6z)wR{X&AshBSi?`WA%IBY3@j4+HitH+wt&X$_Gu;wy`!?D zs$>4Dc|Fw~bsZ~Ltq^S!ofX-LtVQQUI-S04^C3$=w{v! zhzBKda2`CBypo6{1Co!x@P7^#iieW7lJ~2+fakxsCrlOz3Hr;j2Qt8?%UtD1IYMqH zca&d{pO@d1-;&>!_sfwAKZU2lLE)x&qj&|b$@R)0rK{3i>8A8iRw_xWYm{%4AC)hZ z|0*Yx@0BzaRV7rlsRSzajPv^24(v6!d#LyDQKN%K4o1dCMn=bg@%xYQSL1KSzl{Gi z{%p)Rz6xl|zs!D{%>rJ@-qY92mFCG7v#o5bMb_0e2;1|}5%aY5vE6!}Xcu7@YZqe| zWfy4|YPZ9FuH&2ypO7DsQ^>_G3tYY-eM$s)40s?XL+8N!NLE1MdZ0L&;F<&~<1wx)D7iWGduW z$j=as(AnXd;m5lVM;whZh&mmm7j-0RD0(Y2lQiOI#LtSCsE$L9`ba`=LSAxta!GP) zazipJnU>5?H9@-KNYWt2RNG8bIcS_Sk%Av9T=3fYB%!g^o@ zH5O_Xm4Z>@G#yDlN4KEc&}|`U>_lI?%o3VAZgdnq5BxhDN+j6*rR8PJGFBO*tQDFw zjZ7i4iK${1mQ%}V<@EBqtUIimtaBBXRpwO|RhO#x)lJpS)uQTW)#KGKtKZkWtud~3 zVP~_w*eTHTM6w;(9_%zW0AktBY`+zrY;pYn2iX|h7}R){Ys*D&ZMYY>R^0Po^SH=O z=s@V-W2+@CbdPkU2cnk)NMwa z)ovwjw*x1<@rDLbM$0ZEHI-#U0fi^Q0G~+R{1Fb<%aK z<7IKOA=$9ZNA527lzYn?Sy@tyXs%wpLB?N#LLJB$Z@Vl?m&g8(hZfpa^R42nQmt!k+-%)#J!}JP!|XEcvg~kn zRJ$v74-vcU7dq;@e7LITve{*|i;3%TS7X;SHxmylpJP6UeU1XB#^gUzjl!?nPwXcJ z9$B^jg23UR+bBNzPsp~=u5d~C(TIVF`wL zvLv}LS(V(D+?yPjx_8k4<{6N>#xajDD(IuX$!N;tW%4uUXDb2B)QMBzYl*u^TS&V} zt4JG3>qtvUdq_!3Hk0;}R+2subxB)Ednr4h&$fkP4Bc)6iUVac+D?(Su*+uL^wha2tlKNpzXrn#Xf$PRaf`7%C%i*()TE!rtszsfJukJCo{^eLPfCwViPBS2 zTj>euS!s$aNfsavm!srpd4xPv9w`r&hsZ5fbLCIuf6GVYJ$^(*mLgMuSL7%%6#ptd zD*jP?QG8Q;ReSS5sXR`0a600<8XXp&0pgA0D8)X||%a;@EXm&>s#)uGvuA{k&rHh%1iHoU= zz_rEox!Xw(51&gu=Y4E_+lOTu--7l+Hj*W}qoosIeu{W*G1?7rCju?J(9#4n9Mm+(0GA&@tpB|itM&?s<) z!c(JC-vBeg4_FCrGo;uq>^1ByXsX=x>&4!{-UZK@7&irNm2SKZ$)0qSbe43Abb+** zbe?2EvL#uOtVtJ1hNRP^vlL6pyrnjjit@T?_t;W4mHmMIoZ|z|8$Yf;*PH9k_27DPYk74%TYhj;cvBSkW+R$DG<|OR)bz1w zMf39J@J6fV6hV?8Mi3_m7bFP61fhZpErY_h(2e(R6@vM?wv7$eYgSubTRB*;IneKG zXm5m$UnR8vUbnw#f7|}NW3=OG$1ahF$W7!Vau#`sd_`m8aq$!Ju=ut3i};)PrT8E5 zzv36-XJXPSnzTVmmqtn}rA%o2MM%@6Mbc7fv=k?elEzE%K&{D~YWPsZNW{gc@6rE6|A<}|Z!f7kUU8!k~_(V zgeG~BE>PSl-V{H|W5A;K7G5u`EvhccqvOE0oUY&MYBg$~u}9fY*<R>$1la<6a0q{bX6I+2VXM4Nva)NXv`yC50i8~9o2X6F*3~xA{tBFU>qLH{ zbJj+kM>`L98g|a^TGutRYkk*-uBYN9U8}k_cWvrg+$ELrrEOA?v{NdRc1tDD*31HH z)H_+4JX!ui&Q_EwN)`K+2bEdMHl?NNl*(LXsyeMQQCX=%!1j@6wB%&e)!eJL)_d(Q zx_G+yxrDfwxxR4=^9k`m`|Rm@>i4(b7?`m~{LcI9295{4fS&vM@N=<|n3ql~(-}`xpBwCzLDZB{rosC4fIrx7oSnIy7MK zv341KdL(@+eIOl^{w;kaU#j3MniN=Q zsP-$7Dl-*Abxvgu4OJ(Vv+B0$rs|-<0fYWS>t+@hk&W_=3XLd6muD@r!dP?dB7I)? zZAEWG&kdaux)Io#o5RN<9HN|~9HSy%jl)_3#Ff#KUiv(XH{U8R_(m{`Sm*W z3+tEEYu7KXUr@iazPtWA=LZMf7}BWVsdza}=}p;98BN_hf`BB*6HGUdKDJMF{OJf1 z1&dH3v(DpPwq2%OC%VkKOuGI^byk0qevtl>{*Y?OCZ%{;x_pV^w_*kuY>!7sm0e1A zl`D8``&9D}N4p$5vF7BsInE;9D#1!%hjxi^nQ%+?sr7#zG(S`ah;+wd7pE*q(M`!n zO;7!e(MX?>Zk6#d15YAQNE93;hmudprr;@g6e491?7%EK-eOkyZ`Q|Z?b^Auo9egK zZ>*2xI`O}Q{qb89S>W07UHA}M%w6rD+BHO>qEnrxJ1=(GcOko$$~0xmWLmO?vP^k~ zyiFli$dmypKUKI2tqN6jt3nUe(wCk*Z@tkm-X+21j7N&k1kj4!`LX?12W}0I*`yJ( zE@f7_b;cts1vtnw3Y|is6jFu?2MV33NNN>bt9+8RpmtuZe*NzH{q;Tdm$}z@u6!4M zE;zm)w+**FYLm3TTRB^#C5jM*i6Y_BtY?>Bmur_-*J{~%*;?5a**e(<*>_pCe1$@! zP%1RQymC(&tBO%wR`nfTdvfuaM636Ho#<`hJ>j!r&SreaDsd`Y5vhbyN^zyu)3+Cw z7oVyys6SMHlLzWHUZLP=Ta+lIYp-m#Y>jM(Y^Q9G?1#)WB2Kl+B*_Kilc@74qm)D= zl~b6M5z3>&`QC3Ju@|4M{cvXTbMU~<*C!J0jrZ243sU2^7 z-uAUUR%9qUBFk5%t1zkus#d#q^4P}3p{Vp4%HzU*9;qp=>zFKCm8rUS_=De)(CpM0 zfZF9XnaFM$;8j?ayJJmMESI2KZNe&k(RNa{G;~TvRMkesixNZ+RilOXcxy~J^!vOU zif){s$iD^pSpVmL|8M(a=I{@kfw6$Ggqd!rS;N@CoQ1K4xd=1u-$KAlJGdNRrafHK zT{35w=|0*2>Ev>U-%mTaykLA`roCK&Fw;G=X+IYV1`QJe6ACl!>xzJhgqiN4MZ?6v z#KKH>(&AwfU=m@bU0%sB(>=9RnCY%sCQKI0bYBezlM8bNCJ$!X>qUl{c6&{C*ot7L zdu%kAG8hI76Q&%71v3frKla;ZLKo@(NylvgJZ>S34$S}DcUuOx{g0iumGI~PtKQoN zxbOe2`?dq_|DXGBd*QbKRR``cJm!DZgENK4{Lfvu({S7W+dkYS_`CmKbmBtb}wqg>@Sfl42=6-l`k%t<=^sMrK z5bOkJa$q$^tSMb&zu3MM$b4!9*Wu_4y1gaxqD~xS75GSF;OF&(*L$iFlWR@|oDLWY z9u96mHKI<3o(e6oyB4lS9Em&{X&9L`dA?nZXp31Hml@xVwb8qr?_OMA++i^uJbQ*3 z@zVZ`gN4KHl_zF&L!SGZ!(R^9A)R)^;ekUc@^V`XvK5)>@|VkX7d7Izo2lCgH#4_w zllR@M94@Re^?2qX0;Yiqs0PumLtPE+2DZSp(7!^}h&$m2 zBCH~slnUhQcq=_&Q>F&*wedC?s~gw12AK7`M!Dy z`S_yTqANu!OIDPq5o!d*;6=4I$E4w6gBqdVxxe#|R4x52?E>zT8nM;>t^FPc8;7$F z=Nv{Io;r*4JCJIBDsoMp(I7yB&4E42~Epk5?XtJ&$-E^)!UG*>leqo)ez28ZSLxdA^3Pxf;>w z|9ZXH-)(~*cwp3s0GPmllz^ZB*GZS)H^Fa%CxYJvzYqQp{4rRLx{11q8bEc!RsH*@ zYpB0a*HOKw8>qAJmFW-l2{(*TBmAMaRk9^0GB^?yN#7D3iH;13^xdUKT#i1j*%`Ag z?r59@*a`ADMI0`EB;jxH9X&}HO(>synlP5|EMZ@&UTV#DPAVgn2|PVkY6Wohs#4X6 z>eQN4cIxS@!mLa1^+jZ#$+pkl0&gWdc(q<)z8X;kq#asOt+pCLFTxxsF1k>B5%{WV#HrFfQ{T%p zS*uwqStsFqe=U0*``b|+4x(X*w?h!qrbfiJU6ah0Er2r_9oZt;V%c>ImqFLTEO0*O z4670Up4~LId2Gwr*0F74yT|^4XM29|C5Oh9D;-w>d2+Sm8b|vXYaQ49=LOp6xXE#| zBLTVudRuakxVFELwl3#^$f0)m?eYhnr)q=~GzpPzE^Z@kf4fDyGuBDIM6qqhHeSp3bgvsaPEvV5k-*nr$y2u ziz7=S6DLa}%OaVP<&mt&ipZ~EIo}wKkIs)F$G}I6`5p5oW=5<=?3zS1Vm#q_!i$8L z39k|+fSU0p;cdeD#F~`qln1HTQvXW5p4yvwBlTwLt<>A8Pqgl&UfnLr=!C>$c-G^r zk*r{#$)mGFvO}}Ovct1i@7xC2d-$AiFR(wcuduJNZ?M0yZ?O~DcUYS_@3ED;K49y1 zeS}A>#C^hk#ugFWi0(uW;{H6!+ymfDH^@7bcMEducYt=-l;50xf9_pKyZ1xh{XRTz z9^`Yh>x$S#^+nCVnP@0#1m*;qn{)_mKCI50C@M&8}M@;T!CRazg`2#=`xb`}_aeuWE#^ho8qk9uf9uJS{vE zz1FTv@=Eqffo5x(7se~y3$LL@KrPZM%PSjttynLdSH2hCE7z+h;95Y#hQ9)?2lNKq z2)G$=E1+=$=%fS21MY&2tv}#i!2N*kfCm8s0S^N<1#b>sgIWrm)Dfp z&!if$6uk_+9K8aqi(ZLdg)3np(rOgMn%fd9B zv_)x)f%mc`ZE4!FwB>0l(sa{Srmad7!T-BumQ|K@)>u|Xc2;&Q9N9V9*z7&n{>i<- z0bPY#ja!3LBi7>9;nw3e;5Onm;Wp#8;I`tH?B0gkj@yCTiQ9$SjoX9!NVLg23+xrZ z?&e*{yO?JOOcs!p0iVS+&oR#{eAdxf4UCP9O^nTqEsT9rTN&FJI*jd%y^MW~`HT-tHR5XdQ2B7V z5$hPsm}SDUKYW~J$~wU^gD$0Yg>A(y*atyW*;a3@v6$LcbC7KS6zNrlhk+w~lzkGY z(rSbe+mvm@ImR*Om~f7BY&p>lF%5?n#x}$?BsQFaeMxh!8&8cGJXS|==e^*)1Wxp8 z-h18wL7K@yK~c-4c6Iyj_BS1Bgb?T+MQ~&>U~)QVNDLt}$EfGUb(dZ>!noI@cUNC-zZ!9+pU_Y2C-qD2RS%q5Rx?mI zSTsl-qz%#sJBKfh*^ONqiyK!XrtGuqjT}52qTtAicT8}cGkMi95iG08jwz0p9aF)4 zn&t@6L@*v^I%YYRJ7zoPIAR@fj(EpH=OSmS^GE2SsSzY#<&zcExW#ewSrcLoOr z7YCOFA3|+IZAa~ZpCMy2PoVuL&A<_N5`7Acai`Jd=rd>wv?co4Oe=IqXlUr-uq9!# z&9UJh!_g5TaJ~=jQSqACAvHMYV@wy6wOU> z+rb96HEtqqT=OT;dP@>Z6U!3);0S}|B+)yOk?51iOms+dOmj+ePD7@-q`3k`37zJa z=APz}7MKQ)OY=%wljfb~1Hbo8Tbt&Wwzy+Shiz6_)&!7}-e-M)T5WxHUG}@#`@u?b z5Nm)vguRHnghSv`!MW&wbHq8}oN-8;3(ghihI7X`@AklX;=FJXIB%Q}&KC?$m%-np zMug+q2myJ4c|m!>d8j;eUPxYOo(|cZtVS#%pCMa7deaKBn>OUdq)2 zRCB4?)UQSJpi{LLnpF#_I@Cqf#neT`KE;W}N?;T5O3fK(7#0jmh84q_VZ-oeoMoJ2 z*fP#D{+g#Zb*$W(g=D#~yjZR*bj98(k19{N(y2yxSNT*St6i$kLeJP1I>r}joI&E= zS{KfCgIz~8!h`JzZ$sIp90$$`jw8nj+QiNrB*%s0%5j5^622i9&TWxg7p^P(Bn#pN z^H8w=uSQJo|4;Aw&){qDXYyz9HGwdD40iWT1jpg09h`Hw2wPfP+FD?7&4{|KuNOF zsR~)8tV-45h0CHCOelf zZafj>FuBv;A;4jdQ@3M}<27(SPCFl8INor)2}k%X$J>r~9Pc{zIntp~TIT!~`40RR z-;p0+x82Rf-NnNt%r)Fqjfil~aLaVN=+1MW_bAN+<>}z<=*`i z_xA9f{>(kSy}V7pNpu`sMJEEyz)*22@O0q0ndX5|2m(jZ^kXaotpcqBZ36XzYlBTu zW~lJcSLj%D96BDIfKCKjLozxAod?|RH1y?77<4-DyEFeIc;}$8(EY@tbJ17O1T+yH z5gG~3ip!yU!uE#k3)2hJ58EGhAnagRR(N(qPDCLb$=C=SkQ{P>4Ck1~xq0Xvm&UK(`@cKe@1k48U@9*aI3doI>C_I&Jx*o(1tu{+~_#!bde#TA38 zs5D-U*pN^T6b2UXw?8HR04hTzu(+!eYZ7Y{CljZD*`QARowzaSPvVRuVv_qAruC*22omPnmDa1O_C-}gG=VXZBV4CpyPQd6On13 z>5%D|>6&Gibtx+$>qpkltZTp(y_J1C`%d=V>^>lk-pjrZw9x^0ImP zRHgPAss+`BYDu-CTEjgy)Mdq);2{bu2`UL-EISm)7@il)h+zaV!WeOkU5DX6Z?huLDglmv1}ZW!^&aJ$OU2;jZFZ07>S+8$>Jn&JUGc5HGuLn1_j0dm@5GH2u%77NyfL*B-uK+R zcJr^B_*=QR;QZhg;TG{0>DK5SHNvFtc%NzCi9WNwlYOW9PWQR@H}yjdy}z-a+uzpD z>*x1BySHtCf2Mmtjd(kFfAGQJz#w*5jld17hqWHtjChUS9~~IIGDa99j*-Ul#`4F= zW0bLivBI&`@wD-YbJJg;chB8k;67qM!g^qDWk1s)%pu$%!eOD44)B{7J1ucq>a@&h zxf9E|!nxA9+Icf_3o->ug`BgGOOOkwPFxFtadX9u;P%~Zn|rgnz&+1H6R6A~o}r#$ zp0B+Z_`LCc>%GtiR%u8GzW4qBHsw#=pS{0$>w=3`6S6}8KxXip_jm8+bu$BI1!xA8 z2Brk|1g3&XZQ7rc5qNUr>5Z9zS%KMsIf2+fTp&OAJgONzf^J85fM>ZA+}&O1$7l&! zik6|(2s!wcm1q?>m+zo8W(}je!NL3pOw50wuR~M)20AS?IrIV$X6(W)g(1T1!yLf+ zoge-yybhXu^$}Ym39uFsqexMCQTb6dQ6%?vwvJXu|Bi;A;IS#O5wVeAqrDuv zJ8n;$S6o&60mw`HB+X2km86-Zl{7nPPLdiiH%U9mH)&qd{GiH#*}q{0`jb5)XKs#0&di)6IkR#! zbKv=d&BbP5GqH!n6S#M<*1X4kzkDWCT#=Y{vW1f>K}njh#_SVR;nSg5#<=9Moj+W zA)la_QBG2Z$)_l%DVw#;DQ752`YF^@Y8n+oO{Zp1Ght22qGnTbs90((6-UKWbE#LT z1S*kAqUOPUa3uxalBpDG0kx1?M5V%?b|0isor;}-+oA)>>LlR)6H306el0Cz6fvj_ z8iUT@F^Zw*oy;gM z@yKBcxt?KINLt|`X>|%RR_6ROd<(uM|194M(pEP75J4cUT|t6IlVAbY1U|Et-z|Sy zW(YN)Jv~dPDb#}I^r1EtP=I5ms6hKY(sA_v*a<|7E{j57UoA`&4*OVJ#M57ut>RPS zZQ||X9pathUE5>z|$==Dq z$&&Rsu5MN8fN%p`egZJ`{ejwfmV+PYW)=- z0?_I|uOs>N`z#OW4ZIO}Gf@5hR^V+gtlSOk3+xZP7kEGLLEu1ORPcFwU+8=MM*o4_ zq#B_SG84>_D?&6wwBS#;(A?1Qu!yio;BbUbUIrdVOc)cM6rIqiQ$<~k8i?wSQbhGc zU5mOB3nv<}{&7V9scj46>*GxljwhHVoJcTBIGGTbbTg?VNtD!?Bu)x~HgYhqG|eDVs00IL!a`XG7G1tCMunu2+l!OBEtq^>j!Dk(9MhZ=IVW>Y<(!5!$~@-^mH>Ek7rYzZ9q)nn#9!Ith4;q$;C=Ca zczRU-sQ6HP7(N^yfhX>X#7E&TC0_*i@#urd;Wl##wC36I&6 zjOXA}@Sh12geyc-QXPp+62qF*l_$xQ=20jGutQu#p;D%Iiyx7TDbstk(?>=bg#o*+ zJ%n@)(I4v9@B)1`6#OVOPcqivs!+68tl9g^;96^@ss%}{8WA#AHz@QXYe!mS^R819g;3N zf?NSsfD`N!>IwCs34B0!P-q}L1g+pB!lOb%;k~vq9Wz8(qHGa%DhYC(DUk9^gY^p| z#zDr@TzXhxv-F7KsKQWTq&TK9R+uP`D@+w96lRK(ic^Zy3UkF7g@wXWVWqHE*eK2_ z;M`AP3+;*vidQ|ad*1ZC?V0F#*Ym#TL(li?rM&2~? zx31rf>5J_H{ZC&)Ut(WUpHKg2|I_}l{%8H;{m=Vf^uO%?y7b_E(}5EMW&{5W{5$Y% z0Im@ao*FtmWIl9e$YRKH$ZE)X$Y$v5(7B;|mg3e6*_U9iomN#b82vIbS_77R?T(Mb_sStxu9K2U4~sBxjuHSchhj+O2fQEP?LK@wuS5q(F@TBKgIztV;F=S0!zk`5Q~tbV1+7#1058vKw~fq zS0ipjd;`YckEowfdtr~DCgu*jEstfzR>W4uR>fAw*2LDv*2S)h_XfH)NXQfX6QoJ9 zr1{D6Bn7Nm3zA7m3zKz{J(CwDFHTk_ElE}*R7um^pK;7{@DRSlyuuV<&Zesokb{Mc zp+@=y<{joE<~>-NK4CsXlI$zyAI!gyDf^E3f%%E~jhVzuLH5Tl$3G_^Com@{Cpc$* z?!sKj9G%=nxixc^=RUv>;2+`#@k97w{3HBh{0RPU{1f~r{waP8{|rA49KIJo;(LXE zjemoGi=P0t&%50B_z(Dx_!+sM@R~$5LW}ryvW@g}@?qX!-ca6f9)~icK%-!0!K?z! z0>bWY>M%Vp=SJM{9z;UHZ^)~~8xU4O2AP5s*Xb#VLo z`VEjZ+Ejmo!;QVkxdp!3JMfzEE@yG$lE$Tt%NmzAE`k<{E->s49b46S4YI!#V63g= zwej2kqug}z#lSVV#_s~ojg&6~(t(1n{r)Q~Xl=rMRx>RosAf?kz>O z^0wlR;;y1k(GLu|8{Id%k6tsp#=2&7?btQrYiCZ$dO!8bdlkLkZ~VA1dBgnXnVXAl zFTTCx_R`xt^JTY}-(GQB_xAL2>;B!ryJ|#pUvVE4#`_BT=zWEK{{0&FX5O21PxGGE zz1jEX+;hF}cK^b_#R0p4)eqM^T>DUsSO>FuaLpig*_9E9ZVvfdMh-;{T^@=aiW!O> ziW@S1Z1VW{W7o%~k54})j8u#eM@S=iBaI{ZBk@+`5x_r=G>kM^6^;~*l#kTInH%ii zJ=1tL^VzItn$NVJbwBHQrbh6`Ti}|x8u9)4vKQqqb6%y_U4M0IB4Z+RB5NXhqWgW% z`)lv19|7(75&6mGlN!PK((tA6OWwb;z6rl&dfNZTea&&W<#gNWj?-PIJ}20-cDm>E z$Vuqj3RlsWx#&P9a+bS~I|S(5+dNJ>6#JI=mim_YGJKgpTVwft09$OOFV=T^z~P`H zU=7j>@})ThA%enY9t|=KG735tWE^AytkmN{;WOidX*p>q3m>j>|j2?+UMYF7LUl745&ZFQy|_jS$6l#%_t<8XuhylaQahGAcLns{kfdKEH3`(-1^9y8f-41t0%Cz0v9XX; zkXMjjKrWyZ6ciK|ESV}QpcdSqtb+S!1@waAf|3F#vH|a(Sx{cUDzMxSS7{3>3rhEQ zOh1Aa41_QuP{BfIp+F7`2a*`(f1~V8;F`$qKK{MB+je)m+wJc5-uCISy|#UNU)yc* zzEM#w1usBU4i!aI&@#zPlF2cXOeV=3naL=MA@>1_f(M77AgFjN2?#34CASB{{=eXM zcl$hj{;&UEUn)UgsL9MPGvD9m^L_&@Y>RoT88c@AMQl5e#dg4ImILhnNe@7-InVsw z7|mQ^f5!g;*aE*4ekJ_3@N41k!f%A%3cnM6FZ@CHs<`acQ?}{*X6&1}Z`Quq`?SFB zBA_v=FEA7&9ZWu$auD`EVGci9_(%Jn>>t?wZ2t?aOn6si-q)c4`-b;T?|9T#z3ax_^1khT$NMfk`kMFa-W&d#z|tCz zYW5cf4+ZVPBIvR?VU5Wca|PYdXq!Cdy+L2lADme-tK=bY?9+~Y(bsy_F)_d%uH+svyT|TG0v;4yGj^mxj?;nqZ-u{w`Ea;y`RU8_7 z|IK9;%PXQQVxWnd16|a3=$@^F_E}~{V#QD1gvoNnPv2Z!0Xt^Zc#XPdJnF=lrbb(% zt08L2$4Ge0)#z&sHB^nU=B>Jcv#>W&H&z#0Kd)ha!-9r|u#PNhh;N8&Sllq&m~y`G z!l4WH3qNT3VUy;P_LA-raVZY2tm3bHc=c~rKf3z&t8=f>*G<>W*DcqX>w9ia+}L~b zpEt*&R^Cdub*H(adAzx@`D$}jb2Y3A&CREqYnp4DZ#SQ5KHFT^T;Du6=Uj6`^B-FO z*gB{6Pp#i>`%c?;+um#YUfcKEa@%&dO|;dt*S4Q&KigghD~Hsvuj5>2L+8N#Yxk#j z&+abhKGE&XMLUr-Uq%1+hFa;>)#GP=MQH0?^+1&GlMXF7~K+& zEwjXo#ypI96!RozEaq5jS!{Xi@z~$T{UL6D+}rVA1XoD~CVdGEWv?c^mh^hkSCZa<&rN>+ASEpo_Eb`p zsTrv|H)u8<0B2ZX+M%=)X?F03Ilv?hF>@d)!=HT7o#sh9kbW?|HscI%Rmv~aWz=V! z%V@}G%=jkwOcrJ>%8JZ-dE0nYLv~~K`RohX2|q%1%69%PZc}brZXh>3HzW64t|vE` zYk(`HOz78b&OMudDBqr6l<&xQ=DYIU`JQ}lzAt}GzCZsq(k>g7-FV-N`7l3r3=3dE zY@q_4PsKik5BEbrA&3{_-A_vJ!}t-r6hDd|!?S)-1_qJi;1D^9x8SGn3cM1p!mII} zzkoR?UW3=-XYjLl9sW0UJ$?>vz#H-NIBcBaD?a$H_C0N~E=6}*SEH-deXRSKc#eFY ze1ROH5{#qNL&`@zq8?L;z%F@0jZyolr_?w#0ldMljXh`l-WU`m%~j@V^J#O9xz-E= z33D9~pB}VdGoLdzm>bPMu$%`n6s-K_Cg7P|0+z`Y^PiayllJhNmkf;Vxh!?eb`*1OJ|0fHX9 zS3}3(TV)H&3D^+nuIPb=X&3=5eFqCN$FrD~2kDD_*IDSsAQ(BNgw!N23)F zD;_~_?n%X1#nX!MiV2`6eO&Qe<@1#;6#}Q8%q_YkgMzwt7_q-k@&KG-w-i4MYRkpl>iVP_SYQoIi2l$O@D6sOVeMQK5Y71(??BzZ~95oKbj_Afm4?%E}fW}3Tw!QD{)s-uEt+oarH;n z8m>29KYzXHy6xroGvR>$s(`*!?y;bHR~{;vA#>TjsOss0ua z$iEG2@qYkG{5{}@e^31*XxSdrE-jhReU*HR{2IBOTm_uBe;6Z-(~Q%NGk{3+eIOFS zPKD8DoMVhNJ`WAs6+kI^$?^ru$Zr-~mRMf4ykhwxkT$+-dDZfo<#ix&ya7CpuUdY` z{GRy(^OPB9e7v6z@In6hS966tVUMs^_@|IBAc9PIEZ(&3+c)`)xeGi6u%CAD?7_N& zGP~T4+A+JruC%M{xLpnB>nn~gI-YlY$?<~Y%Z^tauQ?7m87J$6x}wwST=Eye`7LPr zO!6|{{xIMTdW*d!K+ZhnJ>o3|cG@xTcYUt~UJraF@Q1(~K==7-;H|(U4edw8kjDZh z=1+=$TKqF0S^T2-gW_Kn|Ef3&+Uef}3ytQ8_Q(&Ri9P`Ivwx07mMt!eE?ZKzv@8l* z6fcx5FB>TPQTfH=d6j!A_d@bN9~ylKr2OTTXe9=@er2VqlCQ)o)s>n`Eu63WDs`1a zZIHdHlKH=J&$ zX@K8qm^eQkb>l+wg_{?$FUB>+H?3$|*_6=KbLm@O8@iNrW!n|mRr%GQU;D+i53c?4 z+UWJ?ZalpH==x)r&eFF`x6HS`-K+>L3@r-D;arl1B152M2rUgEA?4ht(6Z3-P&9l# zCKMaO=Ej9qh7v-Fp;e*Pp*5kkp}f$#(BIx3k4g$9hqkrOYMb3Qr)^=|TkUYI)c%({ zFW!0m&adxYxqIr~V8>9$aK}i;Xvf2jC!J%Rv$|$?&Fk*y?(Dwad!skHFQzZH@8*MB z51Jp8_8;v(*6&|f){hUC_y2n6H$%T2`rQ!R=??v2=#N8lBL6fL7}1ZuKe~VP&ktb= z1NQ>|4gQCp$NnPrZ0w)nz7G!5@2yNps7pANSdmzncqFMb=_oXF%cjn{@~MXIU{VP% z&`MKVl8&ZcNj(NMwD}tbfp{^T_9Sg2?S=F~NZQNqA}R7NtQ+gWdSQ;*hq)A$>Wyjy znEh$$bajS0Q@vTeMLqn=R&|zon_8>huFh8PQ2&VhIY~e}oiyr=1~``}qY;=ACLl{# zj0`X)I3sVg8vkPX5WLBM1Fz)Yfg`a6XcE&br}zr~fM5|03XH%4LjvZdLLu-Y1VI#R zLSyKRAPL_TU$>nsxPP$g;C_37{Q!^&3+?ZKSMj9tl(WKF>8x^AJ5M`bPyeC&g!@I` zOTI7oUiQ7>`=aklKy-N3_nPnfzSn(U@x9@Lc_=Vmei}$DURAuhcun!z;&sJI#mU7f z#jz#l4_`RU9^sC3m3Ei*l6}7wI_}^WdTboyl z*6yj@Tl>#iMV+$lx%%hpRrPqix_$)SkAB=Z+R%NW=R)s=z6;8?9$e_ZklyrPmw#~i zhnIhJ`Nx;vznps|?~36nb=7$FD>vS_@#c--tv@!`g!YB@hmOuI2%QTZ2ptR+hU!Cy z;7GTJib4+f)fsYy+@X_mJt1$%7t*%sT8Y+yF{+hpjcQxgw!AI6?PstTF?4tM?(3aj z>3pN}&Ca*)Z|%zJdZXv1o|k)IMe1qp4fSU9?dr?ygQMp`s6X7_(%;&DyT7f!z5h=C zUkC2?pI>;dKW!*|DAJM~d3@x=$jOo4kDgro)}x5nX|XRPznJ_|@)wd{PQI3UE|uB% zGBn@3;G^xz7|ht8RgiTcYsdDH?9uFpaBulx-jDPCn)kQ7kMjPW_b24f$X^fu&Hz8< zBjoSMKad3oq&biu$WwtZ`UH;4a#;HzU!#8Ii-+N(LUoz?klL;;QagZ3?E-?e8*C9? z^{=$g5dbMy7r%1xjf=3e*@QM>P4X+~6(3AW-oNpa z8-Kj<(;Gj7U3}P`3U!9=hnBtF73zj#q$kuH>I=b38yX0`79I=@g@!{Tq0!L8(4$a6 z>w(sTt%a?JTH#o4gBkdp+jri%2ML3FU%&T3=Px^daQ}z*&0Ur*SjBpN-SZnbVp@7N zeOfqHbbU`Bj6axo@bQDM5BzfA8v{cNzc~QO*nw{ie0$(K0~_Ck9Q@GTcbOp;*2U`4 z#jy>swTa(J{%-Pn$sMWpQ@c{TQ{PD+*gUxTaF(=le%|-@tU=Zy(~xz@i;9;NH`F)P zx75w*5WMnX;FY%moxDx`))(91@o&g4&@a=k&{@#0)mT&(*gdl7EClpz^_J<(3oMe-DhULqM*EYftB&-E*N;xA?=|zFZ$DdIJ99KyeUW z(PH3AA2{;d(dUo8aMT5>L$LgC)sd>ws-soMs>-U$tBzNls5)77s;Z)@vZ|`8y6SXQ zO;v4Gd+nXtyS4XfJ75(ksoPg)s{gR@Z;c-{{=M<-^WVStUl)IH@rM_G1UCqlCZ>tL zY`Sc|Y`M%_Ca>tPlwbYu+DGu3wcL8I`G?^jh3AET9DYCilkiW&Kc4rq@Xy1)3jcRF zGW_ds_t?k}FIIo4`laeGRKHyPO7&OIymjVlXWl;Z&Y7I)Og&rww~N2L_$xS<$}X2* z-ubnUuFbhI_r|;%^Kaa~*>SV`*7uwL+`KNF8r~4z7~T|43ulBg!<)lf!dt^xVKTfe zygi&9-Vx3TpKYycy*IzU^;~O1>r%L?fH~XU_|6rbD?20ZpYK}Lo!evVE$@4`|JVI+ z)(j8>|GkJD&<_{}r~%^uJzyFz5BzZW?crM^Uw+v5XnpJku&!Q;O-g=ggShei^q;4v z=OyQnh#vX9{40tdYu?xV1fIX2YF_&QCU=^jYkmQw<-e2D=^6Cz=n6}vrOI+uxF+1T zx7mN;xadCTYw$Jt&ilf}lbqb!#iL~(RF6k3ul{BAud1h=nSQ3WPO9Hmzol_&V^$+v zypnXgWwbKuw1p=1S|9{;YI0z{f~eC zoukQp+qXH8T=JEpORASvM^(q1i9Hi{2Hw9LWsToG|K9l-7adLGx5lGt!nNTW;cIYq zoC%)|Luep;6Fxo{ZU{Gq&xbFBFNVv*w_Dp<+gpq7MBdHmoP5PxJ?@^vy?6T_4Rj6Y z2D=AL!>lxr`X2g*i_aZ-gB;H(ldVZyp^yzN0#)+SF)ne6HpBmfy7Wj(w*kqkXtcRbj?rDJQy`2MVpypG`mdpgjLhX=6^ZO73< zU5BybMj_o{>gXvncbGed3N0PBj?qG?!_!fD$lFoYF?guFqo%`bhlRSM+}?%w9dSi)Bi^yH=uXGIj>Mwjj^{cpMbE=EQ-2X$HFZ9@_HO4lI+sqo*ZE#& z{KWg6?{}`9_(kUjo$Dul)A`%Z^ob8UKkVEwF{5)v=iZ6sozb28iR8}YPH7^-KFvPe zo=`NyKGQzSKHEOWKGz;!G|xUC_M#Tr7uh52i|tG7OYKp1%D&9L+#YR@vB%ou?D2Nk zWVI*Q6YbBYK5Omk>`8X0UfI`wGXL51$?PZ7zS+LTzSW*(-)7%#&$jQd=h%1JciDH_ zbM1NdJ@&o!d^;el{@4Ae#;&#N>;%k^^mcd;E{*|hs5%t2zUpdj?6%2BD0X$ z$Q)!YG7p&#S9S}LMMxyF7+HcWMWT>p$Z{kai9uqKI3yl{Xfl$3BqFPj)yU*Ez&a!e zNk&qT^++nR0ojObLeh|QBm>DrK>mVkMY51>$aW+f*@5IBJ3o1+$wT%ady#wuL1YLN zTM!IUAWB4q;D{R0AX-F+5Xj^jYCtH&h|q`$F(Ve_*}B6cRzyHV#D+-7K4d>qFlAIL z1UJjG^WBNKkjb;pi}(;f5)ASaPiNCi>}%=~KPG*W}q zPLZDLrkKwSNF#C{natibA(xQL$Q59kUIVh}4dfWymsRn`K+TQj-Oan(g4Kfx4`0r)-yOw=7qd2j-f+vV0jLlgZ@Z z3c$b?pp>a(xJ)h6$h0z@i~z>9USfJaWY%4!kvo%n97JNwSnz=9Bql0a;L1EGv;6mK~9m$^h*pE0dMWj>`Z5Av*=u zyGpR5BWUaE>vNl<}?2hcN?4GPc)+xI$>ymZLdStz_KG_3VzidD@C>xRu%SK>w{ZRHu z_E`2rHYR&28<$PUBIMB0mCuj^o<{zxUo}rYU%o)TP`*eWDPKI51CNr!cA-349wU#H z$I0X6E95KX3GzhwD*0;pB5b-zDEI&z0xN_sI9k^W}(KCYQ@m$V@5ZO1Vmo%hhs?Tr1bf2{|d(%MEf0 zdaktGBsa?~az@U|IcTX^<$_$4+vJjbpL{=<0uRU!$_wR( zO-28``?(q2f^J2#&~4~;G#lN4=Ab*#UFdE!7tKTWpnK7L6hURsq(jlk9-R_Zp*X5W zHK-QVp#(~zdeneYs1c=66KX~+D1)*nhw`Wu6;Khip%S_e-H#Ta2hfAi6gmWbp(50Q zI#CzuMm?w(^`U+=fCkZGv;;kj9zjddqv$cT3@t~GqbJalC~VTBm1q@Ojh;qp&|35i zdKRtwKe`52(QD{+^agqpy@fWTAvBD(psna_v<+=X@1S?lduRvRiQY%M&~CH`?M3_0 z2WUS!fDWQV=rB5hj-n6IN9bep2|5Pp;mPc9#8eh<1~wC$h0Vt1U~{o~*nDgOwh&u{ zMPiGwCD>9d3R{LP$D*+qEEbEy;;|LjN-P0O#8zReu{GFQY#o;Lxh%{^Y!jA-rDGXb zCbk*df^EgJux;3OEF0T_IKR48~#{#$#4Yz@T`5N!UJYKURPpzz$-C*dff06=4p{iMcR0 z=E0urO-=4h6=NmXVeAN2iXDZ$sxqt`JC2>ePGYC93ak>V!m6>;SPfPSd)jBQI;*%b`fjBE@97R+Sg#JeFM7*2F_;iZicZItQ8C@ZCE>Y2fK?w_yFq!E9bxF za(!Uw?8gSML9lcVVl8_fWJQW% zy&_eyL9tP>2|A$Zz|_uEY*uVhY*l1IGiAFX8*BtQU?bS2*saJ_A6Fe+#ua+?(v#pF&u2aIkj@VZ5XO(DTf-+o1b z;sCI^3l)bHc14lGp>Qf(K+N?hyb7PfuLvlDieg2H;;`a~0xB1ZV?b^zR~%QIP@Ghp zQdB4^6;+CA#p$We{uyZP*D2~1=M)W!#wn)TMMV>kyDlrPD6T55DXuGSC~hilDVh}_ zMOe|IXjR-+v?5mFddI6%arBH87v z)+y_i=adb~M&)_s1?5F$lk$@Cvhs@Zs`8rhy7Gqdrt+4uSs7A>l`YCvw9EOI$=>O^$M5v~zrmJSCW~yeXW~=6?=BnnY z=BpN{7OEDhB2|l3OH@l$QL1IC<*H~^j4D!2B*@&|0x^1 z8!UQx;L_Wx%2y#OnMw|BJxrxgDOD;Ju2QQsDy>SVB2=VGuQI48$R5*>H#Vy*Dn`Ys z0K=}bssxp&vZ*B1KGl9z0T?_EstQ$yRCdT4J5)}UOXUVqy%$*ZexO7LRmG|j)nU~U z;LILX9aEL5%2j~nQk_(tQccoltAJH_8aQdSsxzvysyY=^fK&~tM%8)M1=U4hOkYy{ z|4$J<%MkVhpL$R=q#9O@s76%}RgYAURZmo7s;8=P)r2YnpN3DzXW-8=JCkXh|F^78 zEFK5Bo)!2?JONL{SK+JiHTYV59iD_I<0<%hJQd%7Z^Sp@X?QxGfoI~I@h$jPJPY53 zZ^yIo9e57D6W@jJ#&hvJd=I`C&&Ls5hRbmf8RH6EiK}oNSK}I7i|cR#CviP)z$x5_ z)3^yY;{dS6S)2p!p%oW!5x3zIz7OAz7vKl*gLol+2)E-!xC3|MF5Ha+)(ihEdGPt% z!Dp$1&oT#}&l~)E+Mo%)gkQ$5;8*c$_;vgSeiOfiH{&5Z44H*i{5IZ(x8ry4yZAl4 z1MkG|<6U?+4*5+;KRv+v@d11gAHs+65quPXh(E#~<4^E0{3$+;Pv8;iY3k|f8S0tp zS?by9IpATQ2j1mLuks>wqiF&CzO1(_ITpg{BQOBy|)bVO4Sg8}#iRxAA)#^3s zwP0LM0^4$mdc8UoJj@&a$Bxgl{hnvLJvr)~>RsyH>Rff6dJp)X^I?BTrk1NwHN@`K zO0`OjtJUCs)T(uA0vwTgwLwj(jcOX~k!H0;&8S&0OY&-~8l(bh8#p8PsrQ3d@__oF zy71p7`OoI~KDA#R04rrNm?#gckEl!4N5N28rY=_>SD%1s|0ys|R;sJi)#}sg8g(sL zEYGUzz)pD%Je7^=^Xd!gi|QuzCG}Rxr9`hmJ%J)j;`52=UMBkEE0L-ix|WAzjDnEI)DTs@(V&`bj#*$mB0m{85u z%+bsRZ`pj!0?k6rB2A=bvF6!CXmT194L-A2O&l1{R%j+oXo=uDTMb6DwctNX0v}om zc+OJ6gSJt#Nt32Y*JQvFbjZGtI_G$KO z3N!~a2Q`J7LmIoLNaN5rH7<=?WSZW#AM#4&I>u z*)gpJd(c@;ou*!MPSc=i)SL&`&_(bLUD90ET+v(wAJKL24Bgb+(ll#Any{ut(+Y;S zwkb=|UCljB2RMlCgMFx5)1!f{1kD3Yzh*!)s2S1>YeqDqnunT4n#Y0slS2~LjL+Bw>}+Iiaf+6Cb0Sfq^vgU1r>Qf-uW8Mr;7wK3r9h||VvS7=vG z5m;7fS8La3*J{^kleEd&6zzI#s&<2Rqjr-vO`ERG&}M2kgX3eXHcPuryIq^D-J#9V z?$qwm?gr+59&q{h0(BqJ%CvIe@nc$rR;g8Kajjab0b0Kf*!`qd5Bz=#c>J{11oVCj z5c^q3DDqk>@cTs|^-DnU->)s0$|n>8^WUy5(mJ$GtxN0HdbD1xZ;JLGoFe-l)*jK8 zYL9ADuRW)204KnC?FH>cV2oeV zUe;dGUe#XHUf13L?)WVrkB78jZ3|GzZ)@9tMt%oa<@dB5+D`3#Z5NQsd$he^9eAMa z*A8e0wL{ur?TB_%`%wEx`xuz!V?Zz;*G_07fP_0;H$yiQNVv17NVxNWj=KP;xQl?0 zyI8kGw^SDe%-rR=XkCmhRu`v>*R23fYQhvLbu}Ly*9 zE?t+Q%LMA>7Ts2$d~VZi*JbN==yHJfxl6ZOmkS)sJwU|F2O_2n=$NPu(^cNvWJS9RBP*L62^H+8pk&AN~-tZUJ=>TZJr zw_SHfcUN~$*8xu4`?@Y&x2{LmtLxJ}(DmzJ)T|rQ4eLg9qq>LChkUGi0#2^UbnApJ zf|y23CuR^ciCM&KVh%BvnD>7WSE7j+B9@3F;(@)gl1LyDiB-gEVhypDSVtrg$wbQk zU`J#SnZ#yd3$c~RBDN9RiELsAkwfexb`iUYTq2LyL+t&eGcG4k0wWZJl28#ip(Zqh zme3IdK@xhxKv0B{pa~OUhV~}&NsrS?2*hNAQzG^e`-uYRcOE1Pi9>{)C?Xt$lW-Ak z!b5loAK@ngM35*ZN{GY65u%hhN*p7~rg~N*C2 zoFf{DM&dkifw)LC5toR|#1-P|Cq0Lo#4Vzk2oYhTg=i&i6KzC0afi4|+#@=OPU1e% zMRXHAL@&`tJRtgs0b-CCB8Ca5#t;vQN5o^|2{A@ICB}&fB7&SoPA6xOGs#)xY;q1c zmz+n=Cl`(} zQ^@sXD!GB&NNyt2$aFG;%p^CHTga_s7P*bwPG*xk$Q*Jfxr^LQ=8}2j9&#_4Pa>p@ zl#?ilkqS~dMI2L;8d6K@NP;9uJ!v2*(n!*zi8PZIk|9}=BYDzF3M3RyNr~J??k5Y# z1LQ%nkUT`%$s*E0I!PDlCOxDV2vmMDKnB6cTtXfukC3J0QSumBMwWx0`2=|qyv!A3 zC0LuQ$T75IIbakfY>7@)7x%d_sUDYo z%uaeRK2czRqQUQE)&qE6&w~Gn2m6x%Mkt$J0u$7JeF0dZ4ubvZklqfaD2Lvucj?`F zkKU{I>HYeEKBzC&m*@}ckLXMFNA<__Wnh##u0H`rsb_?SfAJY=!Lj!lnW6E2Fd43b z@8vpJUv7f?rCA>W3rvf?6>KnV`gZ*t{ayV%eTTkNe_!7PMwlLbuf9+JK;N$)&<}!v zVptCWCGb!@(m&Qe(T{9e80H%08Ri=n0PTE{AriRfOMrYH zWmpEp{%AvtA=VIQfGR&U91{$QhE;~uK*L^ZSO-MxWJ8K!y&=`G!LZS=$&hA9H)I$x z4Vw*H3|kFZhHZxJz;oUKMCYA`UBGwFHRJ*Dc#?aJ0QFc7d|=F=09LTdfE&~X4UmF$ zzzZe~dLZ;tpKD+~>tFJp>t6nQ^U`i8GB^xQgUjGHcnn^H&)_!%3_(M&p~P_500kSv zQNuAqnW5Zp+;9SVo2LvFhDt+~q1tfTP-CbyoH3jQ_jtYGoT0(cXgF`U0ItI(!zFMY zLQKbS4V)b}z*TSyXuBap*wA8VHQY9|8QKkZ40jFp3>}6}!+k@Sq1(`7=r!~i9vJ!! z1BOAvkYU&`Vi+|%G(0jqHaszm8J-%(4HJe4Y8o}2nnBH^W>K@LIn-Qg9yOm@KrN&e zQIXVQY6-QJilUZL%c*E8hKi-)sCa4xwUSDp5~)?xYHAI&mRd(8QOQ&awVq0)Hc%U> zO%&AOs0=ET+DvVswo+NtHflSSP3@p^sGZaNHhD)lz4uvs4{bPo1M0s7C5Mb%DA_HBpzS%hVO> zDs_#z4o3K!)Gex+3Q=LIg=(d4Q*Bf`b%(l3-J?3FPU=3@MRij>R4>&>J)ruj0cwyM zqK2svYBKXZnfRVedq2y1f0h%SWt8aEl!jOoS8&4Qd8c!K3z_d|itTvuD));GnWPjFJ_qjyXg-_E|SAf`k&3N5-!+6tp%h+rT z8N5yNTNzbBZ({t##^gMb#y?|awFQOyq#q<(-DIG;GqnFds zbPOF!Kg$QKq!Z{wdKJBzUPG^?*U?FIGMz%Nr&H+-^hSCUokpkA8FVJSnchNgrL*X5 z^maO%-a+TkJLz5YZg4&4f$@1SolhgQjF!_VjnN8PNvo!)sv24g-ckY#eR|qJQ{c;b zM)$PP49(IU&C^y|phen7OY}Z^KXCsK&ErYX`XqgduAnRFD!Q6JP1n%1^qK!i#=G<>7w}|=|1`a-A@nDgY*zROpnl`^h5d){g{42kI_%* zae9J|0QcZ@AoIm! zw9=GdN;Iu9tv0POtu?JPC7F^(NRMQ62M$;x!nkn6sVahaZHf=F&HD#H$nYNp< zO*>3Erk$o;rroAoQ{EJ%BY%p~A^(KX@jv+-q)GodGKbk@F)=3A#F==L)g+iilg%WV z_L=sZ3QPw~2Tg^hLngba$mB3NO)it$8R`nP`mWIMmv^uK%g z_n?*EX}WLfGIg7JOueQ)(*sk#X}~mS8Zr%=Mogooho(oS$I$N|Gd(qpna=Jn>(ss7rg&$ZXKKyxkY)85+WTWfpFd(HV~#4Iz*q2Y#^ z6=tPbWyZ~Fvj!S)Ix}G=&3d!JOqq>l+H5kL%@#9bX3ZS9&#h*`EP@MNGVe3*Hy3~# z{h+zfe8_AEC%VJz1RJ^=TjU<+>Or!6&>TFV*BS#U1bgI%-%ETiYaGkVd|1O~v%mMf6Kx@Ng1|a+tOxfx7@MZwcN9GKuYMorOVQ7>9O=$`YaDD{gwgCpk>H1Y#FhPS{_;+Ssq)S zSjHxaww4J?1T&49%xTVKW-+swISdGOnfc5DW+AhPi3Dcy5@snA#Vli%GttZ>i6@SU zX8?r4Bru80DrPma1~`Q4m?S2dNnzGAsmumuBeRJ~W73%nCX?CBY+<%CSq$e3=C>T@~jFM3?IHP7XjFtfy5!loK>M`Y#nl$;C8PK;d zEW?4r#maz6im@>gvya)&6fg&vgG?cF2x#F&jDvA9F2>Dx7%$^v{7ireGQ|w2otPs` zDRY!L#*{JT%yH%fbCNm5R4|oH6;sWeW@?yP<_vR|sblJyb4&x%$ed>`Fc+C7<`Q$6 zxx!p!t})k{8_Z4S7Sqgxm@w1Av;vu^jcI4@Fn5`I(5LTY?lWCXH`BxPGJVVgrk@#L z2ALsdm>FS4nTO0H<}vex8JlXbOfV7bG*K1y*Ejti zvmVyV`dB|3V1sNiTf#!npZynWpqxFkHnEr3%j^~QDtnE+&fZ{evbWe~HU#GJ7VwVWp0beNVehi{*bXp}-)Fnn zZnlT*W&79%Y(F~yp7J4fm>pq9*@x^S_A&c}9b=!eg6O zJZ?U>fLq8d;v%`l+!Agn7sV~(mUGcu3>VAAaq-*=ZY7t%C335{)!Z6xEw_$K;*vQ) zopGt$25uv_iG!jym%(Lno4GCARxXR%#%<@axgA^%*nf9%ySZF0kK4oT;snK_W_a4g4hJZI$uPULKy#O>qua|PT1 z?jTpl9pda<5$E8XQ#4Qy=jD8yp9^q7u9z#~4s%DiQtl{sj4R{Hx#Qdk?j(1LtKcfR zDz2J4&DC(V93WM=Ih_~}ayn}c0F5b<1crWkc{d|BA^2K}!f0#eQ zm-0vXV|*E3&L8Jb@F)4n{!Jxc#aHvE`5L~KKf|Bp>-c*99N)k<^5^*r{6)TrzrdTXk6gLR{IlQqqnZq2Y}S~pv_ zShrfUtlO;Ht=ZNc)*S0j>n`hVYpylVy2rZLnr}s{GOOH*0;x@5Ra#Y6+^V)}tXiwi zN?1v&-fFN?*3al}%qLv8NvfL&6eY>J&${1Q09?0&)xoZkOrNos&H#z&KXI5YTd!EJTCZ8JTW?rz zT5nmKts$T}wOCuNx2hbtwYvf>xgyK z`q28w`q=u!`Y)zRgfLB*F3b>S3bTaS!W?0)Fi)5-ECAp4A|X;(EG!Y0f)9Kdbd;l^ zpB(#XGdTeo$*Y9bU2&A9~k1!<|1zIo(X6T18Q|&PR z(`J|?>=X721;PR0pin3r66`{e;1HaGOK=Mw!7KO#zYq|DLa|UHJnQou6^;pI(D6Ag zoDfb5r-XksK~4)bLM<2}&kA*5g*+!T2#vyd;ev2cXc8_7mxU|BRY=WW2T$Kk$eT9{ zAt4OO^H$-u&?dACcZ9pbJ)uMB6z+q=ty|~;k6WMc0Gwk3U>+L+2ib@)Dm)Y(36F&* z!kF+>7#Ajl2yvP?U7R7#6laOE#W~_!ah^C|Tp%tK7m1PLVsVMMRE!driOa=kF-D9P z;zCW*;F=UOkOiW|g@;wCXoOcyi6OmVZgMcgW8iQB~O zVz#(L%n^5ryTsjMu9zq85%+?@9T8=sTtr0-jP6QNCE}u5)QDP9ClVql>O}*%n~fs< zi6fQ~S&LVx3qoo)a6yM)ACOLA)q7 ziI>F7;uZ0#cx{T+ep9?9Hj5!KEVhWP;%%`_Y!~l{cg1^RhuA6J7rVr6u}AC``@{!g zzc?TcibLYCI3kXU55-5~WATYNCO#F%#R)OOHqAEOHp4d4Hp@2KHpe#CHqSQSw!pT~ zw#XJ~TWnimTWX84Ewe4RMcZO*u~WS26}FYO1Y4qQ6_Bgf*w)(C*^+F@wiMfXTdHk? zZKG|IEzOp0%dllm5o@>FvTWOI+ilsl9kv|XPTMZqZd#bEY-6^k z;HR4av*9%Gj?Iu}O0%Td(i~~7G*6l@Edb{JA}LZ@EG?0iN>S1>X}J_F#YnMIoD?su zkXA|wQlhj=+k=9G8(gtaxv`I>n(xnV3Q`#(Tk+w=%(l%+klr8O$ za-^NoE@`)vE9FUhq`gwUgh8`=EvZ?WWbd^|t#^iX;vJ(iwGW71P;T$+#~9Mc@r9Wxv=9kU#>9djIW9rGOX9Sa-_9g7^1 z;09XaSn7y!EORV(L^}ZP=7@8|J3cdntahw%taYq&Bsr2DDUS7yR0l|t9Ge_zj&w(c zBh#_jvBj~~k>!{)AxwG@avVFsg|OR^>&SELaqM;EI}nG=A$On-%%N~79h1a%wL|03 zI&==gK|1sfgM)Gy9kj#bFgq*`#=$x`2k)>t1c&IbIV4AfbDDFybB1%KbCz?qbB^;f z`pqI|q;s)ziF2tl%DK$B+!^hRamG61obk>T&XvvtXQFeJbG37gbFFioGs&6kOmVIU zU-bs(M(3mxG2NNr%ye#cZgFmPW;wSxw@)!La-2JzyPUh7xz0T29_LuT2;*IL&)*QEJ1#kJm* z>Y6lwZgQo$(p?#@OxI@D7S~o+mTQ}9yDQtZ!DuMm?aFoKx%RmBy7FC!OXiZh zP#09XT}qeAg}c-)jZ5p&xd<2O(z^^U%4KxXE|bgbvbY!*>*8Fz%jyzbqRZxzToLYR z?&Px6VztNw?l@a6cnQnx-twjGJ|HZr*Km z3vSVEb4%_B&*$m5&)B&0!PUIbv&a+aS?pQjS?Y=MEb}b)M0;X9v7R{aIj-=m^dxu^ zJ*zycJ!?E`J?lJ4o@7soXT2xYv%#~`v&oa@N%v%UGCi9;TRdAmS)Og4?VfDU4o{9} zr)QVvGlJ!3{7THD@F+bh5AIQWG#;%-=OH|#NAEFsD38%YdrTg)$Kqi;tcUaP9;-+2 zh#s3q@VdE#ME%0(#VTZ?<=bHwO%dAig;ySIhaE+ufnVJ zs=T;Y?bUd-UY(cll3u;n;HA7qFYPsX&0dR_@v>gd%X_U}!7F-gUdbEbo93JDo8g=3 zo8_DBd)A)*tU0~dx5T&97v)>#TkebY#rR@+qc7)+se3Z}VqkSfy*=O-FKGw(ic%RiL_(Y%0 zC;1}$)BMx@GyF6Cv;4FDbNqAt^ZfJu3;YZHi@@c**uTWT6gctA{LB5(K#PwBlYP8@ zg@2_#0c`fG!1ukzzZTrzN&aMi3J{r7{Tsjoz6pHb>0o8f^l$cW@o)8K`L}_qIU8)v zIbdtv1?J{lf1ZDjf3H8^kN9PN`4sz90pwGaANQ;M8o$;*>2M|edcVO>`Hg{hXioTm6Dx^xOQBKO!(KFg-9MFf%YKFgq|OFgGv{{NoD(3j>P+k%7g5C4r@Z zsK7FC2v2sNV*_!4_`r(5%0NP3vQN7@uqLoJur81kNDia~)(27p8v+{xn*wQp^gu=+ zGq5?ZC9pM+71$Qo9>@;t2;>BI26hE@2XX^>fjxn}f&2gxkOkxcG=K#Z0cBv)G^Gw` z0@{EsKm^EuK41t?0b_s;m;&a2CBOvO02kl`)_@QY1Gaz^hzL##P7lrq&J4~9&JNBA z&JE5B&JQjKE(|UTMg|uLmjssvqk_wV%Y)HDfb0e1g7Lu>!Ii;;U}A7paCLA^aBXm1 zFe#WEObPxc%Ho#b)?ij}TX1_YJGdj56Wkfx72F-n4dw;+1osB>gGf*oln2ou7E}b4 zK~)eBs)L%KHmC~{K{BWh8iG{N7^H)ypgCv>GC?-T1^J*gC36 zvv^kV?BY4abBpH{&o5q3ys&stab)r0;w8mPi=&E{6)!K2E{-XVEsiUWFJ4i+vN)mm zfAcEV|39?dS9I#>VfXvpd!60uY`?K%JC0|Z#PQg1>{0K%_uhN&z4zXG633H0W5>s~ z0D(ZLfT#i?5D1V2h~5#siWklH#Bom6xjPrX^*sE!0Ipf<`&rIh&RWi1&RNb~&Rce* zb(Ra4iz3=68Gdzbr``&kPgTIWCF4P*?=5CE+7w(4=4Z>0*U~|fD%9{pbStBr~p&~ssPo18bB?e z4p0wh05k!b0WE-5KpUVP&;jTKbOE{nJ%C<7AD|yF02l-e0fqr1fKk90U>q<3m;_7# zrU5g6S->1%-XWVW0+s+yKxd!}&=u$gbO(9>J%L_8Z=es*7w8A{2L=EGfkD7vUfmy(8U=A=Bm1)K)X0B3=7zDs2$V+>I8Lxx|%$^6=?&iQYB`l6L$N3XtgrEH~qrDEmW7Oq~YS*cyA zTd7}ZSZP{mUTOKd2;IKYvC_HHwbH%Pv(mfLx6;2durjzZwDLcjsvnA~b1U;J3oDB& zODj&`b6?sO>;`rRdw@N`USMyq57-y%2lfXCfCIrn;9ziwL(4n2@*=>I;3#l3I0hUG zjswSo6Tpe!Bych~1)K^_1E+&Cz?tAIa5gvxoD0qa=YtEth2SD^F}MU=3N8begDb$5 z;3{x6xCUGct^?PD8^BHAW^fC*)!~J;gU^MLE^s%v2iyzp1NVamz=Pl+@Gy7;JPIBI zkAo+`li(@vG5vRaCL{}z4atGz zLh>N_kOD{{qzFfS3Q`UEb9=i9(hO;Vv_je-?T`*fg}V#V4e5dO zLi!+%h&p5tG6Wfhj6g;qV~}yk1Y{C21(}A-KxQFxka@@gWD&9iaawg=by;;?bz5~` z^;q>>^;-2_^;z|GSmpk!0giIjH{Gf*N5d*&HF7m-HQFI=$F9b$#;+zgBVE9&xS4&n)SIbt*S1VR4SF2X5S8G;lSL;^m zR~sBPpz{(?>uTF-`)bE(=W5q#_iE2-?`q#_|LVZ%;Ofxo@ao9w=<3+&`0B*!dFf?( zb!K&Tb#8TjbzyaJb!pWJ>I`*(x;i?%?oba$E7J?=4fTQgLj9or&;V#4Gzc0D4S|M2 z!=T~N2xufU3K|WKfjR>J(0FJ9G!dEvO@^jGQ=w_lbZ7=N6Pg9hhUP$Xp?T1JXaTek zS_CbImOx9PWzceH1+)@c1+9kGKx?6O(0XVCvw)#c`e6OA0oWjH2sR8GfsMk(VB@d}*d%NUHVvDB&BEqj z^RNZjB5VofwC23#vgW$xw&uR(vF5qvwdTF%v*x?zx8}bVuok!$v=+P;vKG1)=Fs>4 zyS*2;7QdFTmbjL*mb{j-mb#Xem|9n%0`vTGm?E+Sc0FI@UVZy4Jeade(Z^`qui_2G$1G zhSrAHM%G5x#@5EyCe|j`rq-s{X4Yo^%NAQ&bAmg=UEr>8H@G|81MUg;f_uY#;J$D_ zxIa7q9taPD2g5_)q3|$xI6ML#36FwD!(-sF@HlupJOQ2vPl6}IQ{buaGZ-%$PTj6c+ zc6bN86W#^yhW9w6k3RVSR6af!A5&lZ9<%=?do02K_p<&sUH!oIp!MMOkoC~@u=Viu zi1o{Ydw2CXFYd4Z#{p#V7+j? zXuWv7WW98~Y`uKFV!d*`YQ1{BX1#X3ZoPiJVZCX+dA()5b-iu9eZ6D7bG>W5d%b79 zcfD`De|=!xfnTi;uaB&cu8*ycuTQK`u1~E`ug|Q{uFtK{uP>}Gt}m@SZ8&eZY`AW? zZMbiEYUM&d@&M)F3=M(Re|M*2p^ zM&?G=M)pR|M(#%5M!utiTewlQQS9jDmTr`7ly6ixD!Ek~)f+V%wHtLC^&1TvO&iS{ zEgP*HZ5!=ILmR^zBO9X|V;kce6C0BoQybG8GaIuT za~ty;3mc0YOB+s`&YLcquA6R~?wcN)o||5q-kUy~zMFoV{+j`tftx{_!J8qQp_^fw z;hPbgk(*JQ(VH=wv72$5@tX;oiJM8A$(t#gsheq=>6;mwnVVUg*_%0=xtn>L`I`ls zg_}j2#hWFYrJH4&<(n0om77(Y)tfb&wVNO6fldFfa^N@J!1HF{;O5Zg@aD+o=;qkw z_~yjskbY`Jc^ZMkoGYD+p6Dc*lOBp-fG!u-D=xv-|E=v-0Iru-s;)v-Rj%w-x}B&+#1>%-Wu5&-5T2( z-7wL!eM+P7RkwM5{WC$`88HNl;Mj#`RQOIay3^EoOhm1!iAQO>E z$Yf*+G8LJIOn2C2naC_;HZlj9i_AmjBMXp)$RcDhvIJR*EJKzfE0C4QDr7aX23h+j z^Q`Gl+F2X29od2GM0O#&kv+&>WFN90Ie;8Q4k3q;Bgj$Y7;+prft*B6A*Ycu$XVnZ zavr&WTtqG*owl8~UAA4f-L~DgJ+?i!y|%r#eYSnK{kHwL1GWRVgSLaWL$*V=!?we> zBeo;Aqqd{BW42?r$dB+8@8Lao3~rG9n{};`*z26=XTfjdFlF_ z%JtxX^{vOY$G0c8C%31zr?+ReXSe6J=eHLeUHzqPCzLbF1?7rzL%E|oP@X6+lsC!; z<%{w|`J)0*fv6xSb#Bvdjg1(k|QL#3lK zP?@MKR5mIHm5a(l<)aEvg{UG_F{%VriYh~uqbg99s47Rd@I$q*-q9>(yY63NhnnF#ZW>B-JIn+FA0kw!) zLOG$&t5U9LH?%w21MP|SLVKfq(7tFtv_Cok9f%G>2ctvKq3AGlIQm1qDH(LG9CUi5p1>K5nL${+l(4FWmbT_&O-HYx+_oD~UgXkgjFnR<%iXKCc zqbJal=qdCxdImj+ysm9b`YB6<~dQ1bR3Db;e!L(x9FzuKQOedxb z(~arD^kVuj{g?sFAZ7?Nj2XdDUZxCN>M3jm^R4V)L;1*aB=Jwg_8{Ey0#z%dq9x3T!2|3R{h>!Pa8y zu=UsmY!kK_+k$Pywqe_`=k?1jY&W(C+l%eP_G1UIgV-VLFm?nxiXFp_V<)ha*eUEZ zb_P3(ox{#!7qE-iC9D(98RvpKmn7VA9ym{&7tR~!gY(7t;rwv{xIkPGE*KYr3&n-u z!f_F}NL&;y8W)3$#l_*`aS6CYToNuBmx4>hrQyxI$bJ z?n5!U3|Ee;z*XX^aMidPTrI8+SC4DJomXpHaILsDTsy7<*NOX3?(D_&;rej{xIx?y zZWuR$8^w*`#&Hw4N!)osZU#4to5RiH7I2HWC7cu98SjF3#k=9%@g8_jycgaZ?}PWn z`{DiZ0r)_C5Iz_mf)B-q;luF}_(*&dJ{li`kHyE~+ucvCVVr#1>cHq z!?)u*@SXT`7xEhw(gD!phw#Jr5&S5A3_p&az)#|*@YDDi{49PBKaXF)FXET*PCL#! zE<3I}ZaeNf9y^{pUOV6P_x-4XeICLxQEO~@hS67mT7gaSe#;X^5}lu$+} zCsYtB2~~t@LJgsoP)DdIG!U8y=OwyULK~r-&_U=VbP>78O zql7WSd97`dFh!Uq%n)V?bA)-q0%4J`L~tTH6J3a|L^q;4(Szto^dfo_eTcq9KcYV| zfEY*&A_fyfh@r$VVmL8^7)gvGMiXO*vBWrHJTZZoNK7Io6H|z(#57_$F@u;%%pztJ zbBMXbJYqhvfLKT@A{G-%h^53bVmYybSV^oRRugN8wZuANJ+Xn?ZaQdx?F-e&PUekT^sfCXNtCiDSfZ;skM$I7OT$&JbsbbHsV#0&$VJM0EOE z8+F}v+jZad*!A4?+V$S`+4bG^+x6cK*bUqb+6~?f*$v$d+YSG3USI5P+;04C!fxVj z(r)r@%5Lgz+HU%8#%|_r)^7H0&Tj5*-fsSG!EWJh(Qff>$!_WHU#eTRyLG$u4gs)f zw|Tc^w{^E|w|%!`w{y2^w|lo|w|BR1w|{qFckoa8%;@ge?)dJ6L!p`4o!*_tcrRoxbT4c#d@sUL!~b)IJAN-=FL5tvFL^IzFLf_%FMTg#FLN(zFMBU%FLy6* zFMqFKuW+wuuXwLyuXL|$uY9j!uX3+yuX?X$uXe9)uYRv#uW7G&uVwE;m$qZCbFXW! zd#`7&cdu`+e{W!KaBpaDcyDBHbZ=~LeD6aGb$V}RZ+35PZ+>rKZ*gyF&x!0zb|Jfx z-N^1_53(oOi|kGIA^Vd3$o}L2av(W~983-&hmym{;p7N%Bsq#4O+J@{;>hvj1acxd ziJVMMA*Yhl$m!$^awa*8oK4Ol=aTct`D6!uLoOm0lS{~@iZjK9;!1I&xKlhRo)j;NH^qnIOYx)lQvxV~lpsnlC4>@638REl zA}EoRC`vRXh7wDOqr_7ZD2bFLN-`ydl1fRVq*F2|nUpL_HYJCWOUa|;Qwk`Blp;zo zrG!#SDWjBADkzndDoQn_hEhwZqtsIxC{2`RN(-fx(ne{gbWl1eU6gK052csVN9m^w zPzEVOlwryUWt1}ZUj^D}$_!Ah^fe7|D9a=&W7dcS7>yn9{0->~1b-@MqlQx>sFBpD zuce1rY8*A5nm|pYCQ*~ADb!SIn!|v|pk`9DsM*vUYA!X8noljD7E+6-#ncjNDYcAR zPOYF;Qmd%d)Ea6nwT@a(ZJ;($o2lmw`!;GjwS(G8?V@&5d#JtCK59R8fa)M^sUPaz zW7Ki#1a*=+MV+S3P-m%g)OqRxb&gO*9lqGi)^ zXt}gJT0X6SR!A$N71K&+rL;0yIjw?LNvon&(`sn7v^rWnt%24=Yo@i(T4`;xc3KCm zlh#G+ruEQzX??VQ+5l~kHbfhyjnGDEW3+MF1Z|QwMVqG0&}M0Kw0YVBZIQM_b2|9n zZ9~5U|AT;oz=NQJ;DeBZ(1Wmp@Pmkh$b+bZ=!2Mp*n_x(_=ALl#Dk=R{DX4?>@Nkd%7dzd>Vukt+Jm}-`h$jpri12#mV?%VwuAPA zj)TsFu7mD_o`c?lzJvaQfrG(=p@ZRrk%Q5LKifdl2Qvq=2XhDW2MY&_2TKP|bZ5E? z-IeY}cc**Mzo`NH(*5ZE^Z9O=UdOSUWo=8uk zC(~2tsq{2@Iz5A)NzbBZ({t##^gMb#y?|awFQOOIOX#KaGI}|^f?i3lqF2*v=(Y4Z zdOf{?-b8Pvx6oVZZS;0}2fdTtMenBf(0l29^nUsPeULsxAEuAcN9kkqary*(l0HSB zrq9r4>2vgX`T~8CzC?FoI5S)rt_(MZJHvzF$?#%$Gkh4n3_pfHBY+Xe2x0^?LKvZp zFh)2df)UAxVnj1y7_p2vMm!^dk;q75Br{SNsf;v6IwOOT$;e`4GjbTYj66m@qkvJ! zC}I>dN*JY#GDbP0f>Ft+VpKC~7`2Q#Mm?i}(ZpzGv@lv3ZH#tC2cwhG#pq`AFnSq% zjDE%dV~{b#7-ozxMj2y_amEB=k}<`YX3Q{V8FP$zhJ(;xEHRvz&JNAZmFdQGXL>L_ znO;n9rVrDX>BsbE1~3DeLCj!g2s4x!#tdghFe8~!%xH%IckVjHGZUDJ%p_(qGliMT zOk<`qGnkpoEM_({hndUFW9Bmpn1#$DW-+sbS;{P9mNP4umCPz;HM53U%dBIb`z}q) zW@ZbsmD$E@XLc|4loCqL(F032y>J<#ys~ZCYe*rY32-bmO00q zXD%=onM+KkL+3-6L)SyML-#|EL(fC6L+?YML*GNcL;u5o!@$F!!{Eb^!*5LC$it|^ z=);)9*u%KP_``(5#KWY+K`f%oO_HgcS-eKe|It)FhBj+QRBiAFhBljbZBhMqRBkv=hBj2yx zjetLi8zDy@w2cUdwGnj`eH8OQw2hRbb7v#{DB~#eDC;QuDCa2mDDNo$sNksZsOYHp zsN|^hsO+fxsN$&dsOqTtsOG5FA#~IqH5@fLG>;aC@6mSDe$;W)dDL~(ebjT*d(?N- ze>8A3crF5j~tI4j~$O6PaIDkPaRJm&m7Ml&mGVIskH6Ha%Q=( zTv=``ca{gsljX(oX8EvuS$-^kRsbuI6~qc=g|I?dVXSag1S^si#foOduwq$ptaw%e zE0LANN@k_7Qdw!NbXEo{laHwJBl66j$y~L)7?|26hv>ncc!}Ww){0*&Xaob{D&w-NWu> ze^4<7*+cAM_6U2FJ;okqPp~K1Q|xK>411P6$DU^|uou}&Y$uL0$A#m{apSmiJUE^l zFOE0IhvUofEKW8jhm*_6sRa^rR4ed2TC>(FlePXbN?Pl8T@Prh+MB2FStqE4bu zVoqXD;!fgE5>66Nl1`FO&IN(Alk}5}lgyK>lkAh6liU*rH*->OQg~8yQhZW!QhHK$ zQhri#Qh8E!QtdGDYESA;>Q5R@nogQeT25L|+D_U}I!-!Ix=y-JdQN&z`cC>!22KV~ zhE9f0Movag#!kjhCQc?#rcS0$W=>{L=1%5M7ETsVmQI|w&RiF+E7y(d&h_AWa=p0T zTpzA4*N^MZ4d4cHgSf%m5N;?pj2q64;6`$zxY67gZY(#B8_!MPCUTRw$=nofDmRUr z&duOvam&wcGW%F`)xx74HKCggR$SdL%^GbN7yfR)n zuYy;}tKwDjYIwE0I$k}mf!D-q=C$xzd2PIQUI(v}*Tw7R_3(OmeY}3&0B?{t#2e;~ z@J4xKym8(HZ<05~o94~%W_feGdENqVk+;Ni;yd$Q_^y06zB}K8@5%S#d-HwxzI;Ev zKRj-^Go=p{4#zyzk*-Mui{tpYxuSNI(|LBf#1Y$=C|-$`EC4m zeh0sk-^K6d_wal9ef)m@0Dq7_#2@C5@JIP${BiySf094NpXSf-XZdsddHw=_k-x-u z5;zN71g-)%fxEy%;3@DDcnf?4z5+jizaT&mC`FzMw!*C@2yX3rYl~f-*t5ph8e7 zs1j5QY6P`{IzhdlLC_><7PJUj1#N=^ay$deS&_$fM8HCBp4Qq2u1~C zf^orwU{Ww8m=??kW(9MCdBK8UQLrR%5;_ZAgswt2p}WvS=qdCPdJBDozCu5tzc4@; zC=3z?3qypV!Z2aDFhUq9j1oo*V}!B7IAOdnL6|5^5+(~%gsH+bVY)Cwm?_K>W(#v1 z{ro&fJ^#F&e_qZn5ta(egyq5tVWqH2SS_p();dc1^}+^WldxIXB5ZXO_1lFV!cJkA zuv^$8>=pJ2`-KC-LE(^aSU4ga6`mLNCxny2DdDtmMmQ^+6V3}4gp0x@p_9m2Bk~pbiTp(YqCioQC|DFC3KgCA@gqc$qA1Y^CnHW2FG>(4ijqXh zq7+f8qnn>D$`ECWvP9XU98s<)Pn0hz5EY7wM8%>KQK_g*R4%FzRf?)a)uI|vt*A~^ zFKQ4qiJC<%qE=Cxs9n?{>J)W}xZ6b*@nMI)k7(U@plG$EQ4O^K#O zGoo41oM>LOAX*eHIlK;Mv5VMM>?U>>dx$;7USe;tkJwl2C-xTyhy%qz;$U%zI8+=a z4i`s=BgIkTXmN}kMQjyPAGC(aiahzrF< z;$m@$xKvywE*DpbE5%jfYH^LYR$M2p7dMET#LeOsajUpZ+%E1AcZ$2j-Qpf`ueeX# zFCGvNiigC*;t}zvcuYJlo)Axpr^M6Z8S$)mPCPGO5HE_C#7+`tiHpQl;wCw_%RD7s z5^sr*#8=`c@s|Wh0wqC`U`dE1R1zi$mqbV+B~g-SNsJ^`5+{k5BuEk^Ns?qqiX>H% zCP|lMNHQf^l59ziBv<0#oFoO3LP?S2+>R=hlu61Z6_QFxm84oyBdL|tN$MpHk|s&B zq(#yyX_K@|IwYNvE=jkfN75_llk`glB!iM6$*^QZGAbF9j7!cLc})`bqtz0n$KekTh5tA`O*>NyDWP(nx8P zG+G)Xjg`hp!l6SCh0fwbGx)d+9~alc1wGtz0y8uzjQ!4C>@dxOGl)m z(lP0{bV52Qosv#VXQZ>zIqAG~LAoeik~+zpWiB#TnVZaA<{|TxdC9zGJ~CgKpUhtt zAPbZQ$%17evQSx=EL;{Li7(>j`YHXD0m?vSkTO^qq6}4rDZ`Z!%1C9DGFlmqAXRGDa(}=%1ULGvRYZAtX0-2>y-`4 zCS|j-McJxsQ?@HRl%2{hWw)|N*{keR_A3XJgUTW0uyRB>svJ{}D<_nb$|>cvaz;6; zoKwy#7nF<2C8d+fS>>W~Rk^9$RURr&m6ys}<)iXd`KkO>0jfY%kSbUeq6$@oslrte zsz}wjsve_?RmG{|RSBv@Rgx-Mm7+>jrK!?Y8LCWGmMUA7qsmp~sq$3?szOzfs#sN` zDs@Q8<*Eu*rK(C*t*TMgs_Inrss>e)s#(>dYE`wV+EpE@PF0txTh*iLRrRU*RRgL) z)sSlVYa{hsNS#nks-{%asu|U+YECt;T2L*jmQ+rs&ZjP?uBUFN?x!B7o~K@?-lsmN zzNdbt{-*(_fu}*I!KWdop{HS|;in($tmr?wEVQwDz>_wEnc=wCS|@wB@w* zwC%M0wBxk%wCl9{wCA+W9XGpDnsbEosC3#W^xOQ%k1XY~ik z$6f8A_H=kY-fADUui8)TuMSWLs)N+Q>JW9PI!qm|j!;Lcqtwyr7LPWqxoAQE7XS6VWdQ?589#>DOC)HEx zY4wbHRz0VlS1+g+)k|t8jkCr@MudO|m9Mld4J6q-!!XnVKw3wkAh&ZWrcj3N(e9 zB2BTTL{q9M)0Ar}G?khvO|_;*Q>&@d)N2|vO`2v+i>6i6rfJu7XgW1rnr=;xrdQLa z>DLTs1~o&PVaeb<#QOTy(BFH=VoAL+7dU(s}EAbiO)2oxd(X7pM!;1?xg|p}H_#xGq8$sf*G@ z>tb}Vx;S0DEZ)|rx*A=ru1;64YtS|6nsqI@R$ZH}UDu)O)OG2)bv?RXU7xOBH=rBT4e5q; zBf3%Dm~LD*p_|lA>85ovx>?|u8+`1>ZA10`WStzK29I6PtYgolk~~@6n&~bO`opM&}Zti z^x66xeXc%FpRX^_7wU`j#rhI`slH5KuCLHn>Z|nC`Wk($zD{4SZ_qdCoAoXFR(+ek zUEiVa)OYE-^*#DteV@KxKcFAf59x>XBl=POn0{P8p`X-G>8JHG`dR&)eqO)e(3zL? zP6lU#i^0|4W^gxn7(5ML25*Cp!Pnqt@HYe)0u4ciU_*!@)DUI}H$)gB4N-<@LyRHT z5NC)tBp4D6Nrq%YiXqjIW=J<=7%~l6hHOKQA=i*+$Tv8EK0}eA*id39HIy034Hbq; zLzSW0P-Cby)EVjx4TdH|v!TV%YG^aG8#)Y~hAu<5p~ui`=ri;i1`LCSA;Yj?#4u_Y zGmIN143mZ_!?a<>Fl(4I%o`RAi-skGlhN7eVstgS8QqN@Mo*)c(c9=_^fme!{fz;} zKx2?G*cf6AHHI0(jS@)To2aJQpA>*)d#5igkGmaZ4jFZMG$=l>(@-_LH{7nI-KvR$@*c4(4HHDeNO%bL@QRFHItLLrY=*rsmIi7>NEA5226vdA=9vF#58IeGmV=j zOp~T5)3j;EG;5kOIS6XgqG`$GWOg>Ym|e|oW_PoP+0*Q0_BQ*Nea(Jme{+C2&>UnA zHiwu)&0*$nbA&n49A%C+$CzWyaprh)f;rKgWKK4xm{ZMZ=5%w0In$hF&Nk@0=gSpAvY;G~Pn%m6n<_>eGxy#&b z?lJe8`^^330rQ}F$UJNwF^`(Z%;V+>^Q3voJZ+va&zk4V^X3KfqIt>eWO25*SX?b` z7I%w>#na+t@wWI_d@X(!e@lQR&=O<`wuD$hEn${$ON1rT5@m_D#8_f2ah7;Xf+f+C zWJ$K9SW+!%mUK&oCDW2+$+qNJaxHn5d`p3)&{AY6wv<>(EoGK+ONFJc!O~=DwzODUEp3)|ONXV?(q-wk^jLZ=eU^U9fMw7!WEr-MSVk>lmT}93WzsTb znYPSWW-W7;dCP)j(XwQ5vN~H`tgco!tGm_1>S^_|dRu+0zE(f0zcs)bXbrLkTSKg& z)-Y?hHNqNcjj~2tW2~{(IBUE$!J24IvL;(otf|&CYq~YVnrY3lW?OTtxz;>uzO}$w zXf3i9TT85^)-r3kwZd9yt+G~IYpk`_I%~bP!P;bPwzgPXt!>tJYlpSd+GXvw_E>wZ zeb#>KfOXJ1WF5ASSVyg6)^Y2Eb<#Rzowm+cXRUMAdFz68(Yj=HvN_vaY_2vpo4d`! z=4tb?dE0z!zBWIbzb(KPXbZ9hJMh0yTbM1}7GaCDMcJZlF}7G+oGsp#U`w#}v*dThP6K3l(Sz&2yoCThRzt4J~{XXY? z?)$v=`R@zf7rrlgU;Mu0ed+tM_vP;^-dDb_dSCs%=6&t^y7%?(8{Rj)Z+_qMzV&_E z`}X%8?>pajy^nYw`Tj4h!tKv4T=?@YUO;_z;f(N^;q36U#`{9Yd;kCK@z-DE_m0o_ z(;oc6asMB?^hd|DKYsS^!m{K1%Qam9e0J#q@Usgl$Y(E`;h)W3{>xwX;Z?F z!!Owz(=N49axV2t%PuiH>MvbEG+#QvcVBwNAGw6hoW1k_^)Ht`Nq>LIMgv}wMXq0( za6(@C(G2d=&vy4NDaM$WeiFpFq{2xq{pNStOYzlbmn@05FPqMuU)DeSKbKYO-@APJ z`9EB))O~&#(%^GhX^*~q_OrCh3ke06-_k2DFRwOVw*Ot<C5l_apAIC z&A(snMgI0OD`w^LD0Jg8ypnL)v`)SJ!?NSc9Tzy4A0YUb|NVyK@`Go}%Rj!Nxs3Uh z`7%&_<;o@A%`0D>J-PC5`_+{%zx!8LdPskB<-1OwUg1al^vd_{{PPv3o1b6#c*^sN z#y9xNFY4p2$P8ImQhrc)rR>wHEB|h4xw4=fxN^65{L06_UbvD}^lw+>e!scWXkWb& zKE8E@xI?(|FM-r6?J0*>LKg*BtbeP#V*iQdN+$8z)%WH1ui6J+UoDh<_o|frqpL9C zKVMz^-0P~r9(mQ!n0~cUS$frOX}MbXsQ0RfHhvZVV(#h}#$R8x7cO5l+<;!y|9<;w z&27Tfy36}le-p&K`k7F0wN;NHGg)UVRyU!#bLnpZ!yBJ{{t-X zI_gIm*DZjO>u^ou^(1Wjb(&)My1jhi`c>J#U)L4}0bivM_n!i3#$OWV8=*@V8)q#@quc)fq)wvu&2{jvDQ&YJedS(5F> zZ>z80?8n}}>8pHsQ-0yy&4VBP_02=r-`yPh{GV>xsy%L+2*Ef1mK}LhgG{~|o{)1> zZm7Izv9;fH{Of-6%rJNJAK+iy{2l0zH$R<+-Bd1OZ#HtNH|{_t)-x#Omfdu6>-PrvExXxr>(ifKz0EGUb344^ z$?dn%Z*JSf-@kok|LN_Ij-775$9UZ?;|JgNVn^JLktN=?&E(upBv#z+^l!NR)5DJ2 zd7}fjkDgB6ZhAF$yBGPZ+pmkhyv@o4-ae&m+-A^mw^N;VZv&mEw}m^L+h2uBZUa5k zx5WbM?M2OvJ4Zeb@BH%0vpc^wed`YN_4n_vYJYO)uMJLj?2UnU>|e&-IbvnqsXZ&d zlVESTV+Rf0QL+~9G|Ilb(+FR=V^JgSi0!01a69`Bt5IGUZ6MS*+9u)Wdo-+2^_wJg1cu%_avwMw49{23V(0ji2 z#Cy}Q?0d@ovU>@VhI@>~?t3+BWB0zY|I0nQ{rC6IZ18)Qvz>da&*=9Cf6TeZ%9Guj zAJ^UcqwvE09Q&R7jlviA%hJDf-#`5O_s@3z@qYVv|M~vU?cVoa-U+z>&z9)>fA~T2 zeN=qz{e*<_`~AObysyjbxqrEKO=qQC<&1J`H-1uZw+< z(3AQgG$iN2)3dS%{KlpS?5_3)jQqg|yu|4T3GWsk{3Gkj2R0MvL1`cSLDPS1JwVtA z4=!lQ4?eZCAB;CjA5_{+4}P9-`61Q*;Guc{)kCKFyASp7A3r=4|MKC{r1wK}W5h!R zEA^owzTlz7UjMLgw(B7fH2Sb!w(#(84uAcSDER%uMk?%Kz5(;l_SODFMJ4Cq8B6)l zl4yNsx7_}yvElhgwwiB$bhP-Rj|%O-{OC;U^U;w#>LZ&x{UZguNs9{o`h{K#fW zeB{}f^N1c<_UN*%?vbsu>k;i}?9s=Gi;vohe)Z`4KmGC%_IUZxPff5#0oM_aWJbcH zFXw5GhVzae3Ccx}t`5r|onFyAB8tx*T?1Wvy!-ce9zSk*@HqdAmyc_I|Lw<#fBf_@ zsr@I9pM3Q5$DH@BkAXk)dt9i9dd&Py%46iSoX6k(QNd$oL(SuR!q&&Ix&Ft$`C{U6 zIe+OftM{wNf6H8cj0j(SEH$GZ3m3_czonaNF`rB zQT8oAu`9Qp)Z0lC~aPQOJow29(>x)mz5nnu2nScM(UIu&msT<;H;}Pkp-Nbr2VH7=u zH|n24?U$dizPkU+{<}BNK3)6XGY#V(o+)dco+<16o}DS8pV4d?&kXRgXGD9;vjq6S zGrMj68QlJxXLi==GrI)+>~$F7StEh*Y&D$s>}S7_KV$yP@JtqZ;kl*p-gA54tLL9s zzw?~4@X7NU*w3C@?>IkCI`Mq2TMd2wtTXmG{a;d_=l^rwb33c{d5yj6`B~uDb36Rs zo)-fC^Es>%^4#)|$mb;*;&XGiJXtXxGuv_|H*zNN#EWi8m#lL?3#}}VA!e1y8 z@h@~)`!85-$1j5ZzzH~kK z$;)2g=P&2h~lhT)ZV&lu-{jT?=p>pb_ed1Rye*paL zOMnghQVB=B6gQGz&c0;6{9eV$OV;Pgm*U?TU*=OTzOq-}dj*Mm_UdEFw_cUmfB4F( z`Pr*sf%7Z-8~;~?!N^yp#!MG;pnT-_L*0px4(L2-1*N}-}hO5 z^=t?Bs$dE6D&cp;S1(!gSN2xkt45{zRb#*HRe8$Q*Wvbuui3Ddua8c@^O|7$yVrKb z=dW`uzORq$(XS2g%-2eL#cSoiHNS>h`(A%`dGvKm!rbdd^ZVEM+CRRwTQ*-e+DWes z!_3#q`@Glm2IcGTh8td=Q7^yw!{nVeg{#ls=~rqcb>H*ote-_+av-q`JNZ$7C? zd-JQ~{5LNG%HAvx8r~Qh``*|Mvv1(P_~Ok(;_u(sqhW8pDA|6q1K52t@UOHtx-U6z z64Rw`{$o%5#tgT=i3Z$wd(3+BHh}o?+n=p}=dJwg@8AAH`OCLDy7$}p)v&kqze{@C zn3?w$-dOYYb4%x2d&Br!E9+n1+UX^l`+wbi5SC0L_v7bBU`_68Nc~@`Ga@?yN>vC-BoyGpeJ9{PI-32G$y9dv~?=D;b zzjL|(dH3J}^xcI^uy+@(ti8MFwC;Gm{;tW4dWW-9-ucxWzB8=|-icwS?`&V$-YH+* z_*Q=7<8PV$-hAu-vho(tZF9@sz5``uZWAX?+B8kvq)p09DcG`XOR{9ymMzHwTj(;R z%*@P9nVFgSEi*GS#{P8Ro^!r+-*fK$gMRDDjAmwUt?aDGiak4bR@aU{KcGSU+`TR0 zKR?TfA9@^!FZvpeuln5`Ujd@yHy;+`U;XSGANesVK0kLxeA1Hz@!Q)hk3UgnO*~s{ zbNs>yyW(38Iuzfn)$#a+r_RRju5vYg;jTOJ5%E?0&V66w_dkr%ANf&K@0wR$|2nFw z{%0S9KL40ezx`)3{kKm!`VFr@eI(-5_dFfcKU>~QKl1!Q{mbN0`VVa;>SMP|(~I2~ z>LY#D>LV?7=^s`(sDD-Vq`r68i~4c8D|&M7ZGABMp}uv}GyTw>@ASbhKlM?mVSTqp zg%WZ*lt~!&ymCTTe|^I9ggObax|D?6V+|7)>}{R!DX&XH_&t;mcLGgt^1g)ireMPD zAH5R3-yWQ>tk9^0{BzS1N`)6{c1^U*fy)=)_kW zrzVPgpb)lS;?sX@|* zZ>^H&=9ubLVF#iTTTu4lZ4r)Th?=q?1<UQ;6Z*RN{HA3qq9?|iDCye`rr`Awv2a-=1i zyg$MwM|$>5-WnO29EnWTSgNrlxk%jhXbTBI<<~2HdIHa(}?a~N7t%{=4(U-)M@@^RGoXj zX4LudX-S=L-`Cf<^eM*$BLyGS23?JAz zCGMIfrCnqib_!H~?`jt^PvcGlRNW`K+Xvi9a zG$v^*(%7hRP~&3Vma*6C>U7uZMwPx=|jno}8u|R5% z+oe(mTFRx?E>}5qN3HnO1$lK-S$D%!>1&JBOY=LWo_E_)KYn$m+OIIF8|zA`LpO9! z?bdWaYUucg)W*<+)OYjeq`r!*OpWZ_p86^GNNRrmAF11;Zlv~^^C4r_v(1H#GY~H8ze>5)jbMn?@;!>`dZJ+gneW~Xc9rANMP)$GyqTDnu|ZKBSm>vVr(;K1|g zm1F-%Z>77Gt}A?5i))m=l0HaxExmBujr77rZl}k^-c65cbw7PW?n`ZspBhDtkw{gI z6pbbtosE&wR-C7(!u4V3pA7)0rywChLAV2e4Zm|a6a;r4> z^(?7DYiDYMH<2a{v^Ca1H8_nv8lyF4Ypl}PrEyB*rp8N+pBhCQYCj{56pbbtof}3( zq+ylm?uI84sD`?!OhervzG0ylsbRt5p@zRAL$sPH8cQ@bYaG_Nr141OlSWKdBvMWz zK_gS6t%g;@r=e;L(U_vKBrB4;DQjY@tyyI%@63vd+nt3kKAe?&;AGb4mY1{oe!ZXd z$^ANOf8>l}@vVV%U?A&SY>~|3%`*);Y zwziJhk=!}i1@AA+j>v1WTm0GEk2+S1{*!1Or=9;fg>}4^`+vcKpiU=Ax@euOjhA($ zTdBGv&HLM7(;d)3x>%1x7mo32p?^a!TFdbn*AHibXLvRh}O)%J^u2hZH%stuAnYXS4g91^BL8XhUvlIAUOD!EJ>oB;CWOcT+xo%(HuIN}e>sNyhl+v! zk{k3d{@+Iaxjs7$LPp{vfR`&WwwC6v(e~$V8!|U_EnAaPo{$rKzKW3f(CX4-> z_<#Sdp#OE{e;@mwBKChf@933dR*qdcZsquu6IM=KIceqOl~YzuT{&&#KW78}I@b30 z8Q{NKB#i&*jIKY8{&Oz=uX*9`Rq{Wo)xUb7aQDAQdjBKy&$0jXhW<--pl*C0Gv2KZOscxAr zPq$pRLbqDCMz>dYM0Z7ZTX#oSBdTUpt*C@3LsW89ov4(k)Tnw#;E#H8Bv*0 z4We2_b&fJcfl<~dTa-Ntih`rCC}$KN<&E-1`JU#lo}O^>K@f2s%KQM zsKHUIqP|8|jjj`&8l4txjLwK|5Zy33JGyCf^XL}QEu&jSw~lTT-8Q;?bcg7U(Ve1m zqB}=-jqVn0ibkVd(Q>pJ-7mU-^o8il(J3+YV!#+@3?Ac(@x=II$QUYyj$vZh7%qm7 z3B&|rgcvbKicww}bV|vB(j_DKAH>O`q|Cj+WxiJG{2E`1H84@!zW?0Pd zm=Q6fV#dUbjTsj+A!cICw3xXu^J3cC*ONu5+EfnJmFh;BD1ZVfD`le~3Z@XsL7@~z zIVlfCP(F&J{1i(CD1jPCji$y^bE$vU1kQDvjbM^%lg{@3+y8`VClV^mI5S8dg~s6f=& zsPmdGYPzK9il%FtZfLrt=}y%5sGm_lG#KrP_C_CzKB4JM^!4bQ(Gz19Yg!evA?A># zQ!%>O=-5)RfF>}uR9u<3vT>C(RgJ3_S2Hd#E;%keuD+%QnzG`W#5Ids9k(_vIzCoY z!T7@QMdK^PSBj5|*T=i#1My;fpZE#!Q{$(_&yFvoFQPB0FRiJpzP!GozKXt@zPdhM zuh%DPO45|7ucuGfXX+d2o9SEVJL+@vUG&}b7QI#P)_e6nJ);lmCH++Wbp1^IZ2eMw zo_?SHfWAyZxdeA2m#8MrO^hUVHJA+{!$8AC!(_vB!ve!%!$!jv!*0Vq!%@Qt!zsfV z!&$=x!vn)pLu^u^q{2x>lUgRV*3>p>VA|lcA!)2O8=W>TZF<_ww7j$xX)DuK zr>#v}pSCG&OWM}79cjDL_N1LmJDv6}{damKJ=Pd&tZb}qtYwTdrWl(WTN+y#ry6G) z7Z?{BzZriSBgWYJDfMe*q+}Q~GBOrtEX^2~IWcoi=7P+HnTs zW@58@%^ozfw}M-_T6K{-P;jmVjuGdE{`&cd9nIXiNCbnVr3e%Ga4 z%XX{UZEd&p-6Gxc7DTQEv>hcUG(CIv=~;#66`oglUgLSK=Z5FW&r_b)dv1K5`Mk;V zX4+1WcG_MKNZZdrJ+J$tp4RQuN9$dh{^RM7=Re;6`1qsP&(fO8YO3(F($6YCYyQ-0 zGW<;XnesC|oS~_`*1=)bglO_>3WRkLcjR8=X+(Q}LHj(vT~w#2{0Q+c&w~HF2mY7W zFq{=`9BvYB8EzGB9&YiE4w3vwexzx*SvWh~C|p0BAIS_i_?Nrpe~s22G)=Ll0;Ynd zQl_$|N~T(-I8(eS!IWgGV@flno9de~O$|-ire>yArq-r5rgo+drp_jd$!>y8s0lN9 zO+FK8qD+1hW8zG_DPRhk1e0h|Od(TuQx8*5Q!i6*Qy)`bQ$JIGQ?6;CX^?5KX^3g4 zX_#q*X|!pgX}W2KX_jfOX`X4mX^Cl-X}xKKX`^Y2X`5-gX@_a2X^&~IX`ktY>5S>T z>4NDG(@oPY({0mz(?io!(=*cx(;L%U(>v1#(`VCn(+|^6({EGQq%%jGW6ZJU0_K9| zLgvEeV&>xJvgUH;^5zQWistI(8s>O&g1NT2jycs_&zxqiZ_YF~G-sO|o12(62nRCpY&0Wl0&7j$4hRlT7Yo^VNnKSd|pjj}>X2smy+|%64+}qs8 z+}}LVJjguQJj^`YJiCn1v;*1$9e^C5GtdR-1^|Es00Apt10Vnf5WoRo z01mhSH{byXzzg^Q5}*M;zyK`30Xz@{1V98NKn4^*1wue~pcl{^=mYcv`U8W2!N3q; zC@>rt0gM7h17m=(z<6K+FcFvpOa`U^Q-Nu~bYKQB6PN|e2Ic^BfqB4uU;(fYSOhEv zmI8UeDquCR7FY+Y2Q~m3fz7}cU@Nc<*beLfb^?2Vy}&+TKX3pz2pj?q14n?Pz%k%B zZ~{09oB~b*XMnT7Ip6|t5%>eR1Y8EL0M~%)zzyIQa2vP-+y(9d_kjn%L*Nnc7C-57{2f{!E&{?7^(UurXtfhdZu%(ElsHM22 zgr%gVl%=$#jHR5VyrqJrqNS3hvZacps->Exx}}Dtrlpo8&Z4&@SQ0G;OOhqoQrl9; zl47ZANww6oq*>A}MoWE5h9%R|z|zo?Wy!WQvNX0du{5{gQdXIU^%cnSOKgK)&y&T@t__|01aRg zm<*D1Z_ugDMyTyMsNzo?tJqH`oX43-$vCfCIrH;81WFI2;@Sjsi!6 zW5BWCIB+~T0h|O*2B(74!0F%&a3(kloDI$emx9Z{Ja9R<4qOjz0Jnf!!ENAna0j>( z+y(9i_kerB1K>gM5O@SU3LXPbfTzGS;92k-cpkh6UIH(JSHNrF4e%y-3%m{90q=tM z!3W?&@Dca~dIvKFxxwHC7$x0bY)v6i)#vzE73wpO!Nx7M`Qvg)mgR)aO!TH9L3TGyItt!GWQ z8m;xM8P-f|18YNTmNnbj$lA=>+}g_8#@f!>!P>>z)!NMpSZ!9s>ab!~+)7y)D`yQ@ zgI2}b!`j>0*V@n8-#WlL&^pLE#5%${(mL8Y-a5fL(K^XG**e8K)jHie!#c}4$2!+K z-@4Gc$hy?J+`7uT+PcQN*1F!h!Mf49$-3FP#k$qH-MYiN)4I#L$GX?L&w9Xm*m}fz z)OyT%+-g?3MhxL;6iuI=Tw)KwnuJwWSq4k;dv-PL;!WyyaY|*v?wnDaIw(_>h zwko!&w(2&$EzxGMrPz$NOk0*M+t$R^+}6_8+SbO_&eq=6(UxQDYU^e**~~VJ4YlDm zm(6YS*a(}?M%nx}*2dX*Tfi2y2{zFt*+RD7wm!B2wp`mF+Ys9@+X&l8+bG*;+c?`K z+Z5Xj+f3VB+kD#s+d|tS+hW@?+dA6@+a}vq+cw*F+fLgq+aB9K+hN;L+bP>=+g00j z+b!FD+XLG}+aud!+bi2^+dJEP+Xvfc+ZWqc+c(>H+Yj3>TiB+vN84lUvGxM?!uF!} zV)o+p684hzvi5TJ3igWjO7_b3D)y@O>h>D;n)X`uc)P)#WUp%XY=C+C%o<_CEIh_FVfg`*8bM`#Ae}`$YR>`xN^$`*iyZ`)vCh z`+WOC`y%^d`x5(7`!ai;eT99ceU*K+eT{vseVu*1eS>|IeT#jYeTRLQeUE*={ebU2BPiVxU;408|hv1QmsfK_#HlP#LH!R1PW+Re&l&m7pq6Rj4{t z1B!#Hu|w zIzc&5XQ&Hgh5*O{fshrlLlA^Q7=%ME$PIZQ0`fr=L_>Zk2nmn~Nst1mPzdS{^@Mss zy`er(e`o-d3k`$@L4%pqbDtXf`wl znhVW?=0gjhh0r2sF|-s~2IWD^p%u_dXce>?S_7?x)-fKEcEp)=4~=p1w&x&U2-{(vq)SD>rVb?63k z8+rsifu2Iopy$vF=q2JM;_s4e8)0I2tYh7lMny#o-cgNw^eT z8ZHBuh0DR^;R z1-uGg1FwfSz#HMs@K$&mydB;N?}B&3d*HqBK6pQT06qvGfsew+;N$QK_#}J^J_DbH zFTfY!OYl|r8hi`B4c~6X}KYM*1Lqk$y;jBo`Ts3`K?`Bao5EXk-jB78!?(Mkx9r@ zWEwIZnSsni<{)#CdB{R!5waLrf-FUrA$iDhWEHX+S%a)a)*$ zA={B1$WCMzvK!fp>_he=2arR^VdMyM3^|URKu#j3kkiN+kh{n|$QR@r@*Vk! z{6c;s`Pv_35k%*Ra>O_aI0`xnJBm1pI*K`pJ4!lAJIXl9I?6dJIVwAsfDNOc$;8IDXxLr0dQsiV20g`=gTm7}ery`zJpv!kn{n*(rw4y(iAz#L8o z?r=HW4#MGckPh16cQ6jt!8v$Gz!7u^4$&bwWQXGD?&#_02bj)_lam;nhb1ZNybS!c#cH}vhJJvYXIyN{qIyO7DIJP>r zIkr1?ICeSqIQBaBI}SJwIu1DwJB~PxI*vO|I8HjwIL$lI^H?nJ3cr*IzBl*JH9x+I=(r+JAOKTJMtZ2hYpQK zi=xHQ5@<=Z6j~ZBi*vU8o!NpakkeNt8lqltEdPM+0aO6;KhCP#INF743!gM*E`u(EjKEbRaqi z9gGe^hoZyK;phl-BsvNmjgCRbqT|r<=mc~kItiVEPDQ7o)6p5|Omr4H7oCUBM;D+A z(M9NDbP2i?U54hN%h46+N^~{423?D;L)W7l(2eL8bQ`)I-HGl(ccXjIz36`Q0D2fb zf*wVWp~uk^=qdCxdKNv0o<}dB7tu@T74#Z<1HFmfLhqn=(R=7a^fCGbeTF_qU!t$k zH|SgR9r_;qh<-vpqhHXk=r{B``UCxm{z8AF`Dhr8pgJrHi^gKGSgZh65G#Zg#)@La zu;N$=tRz+nD~*-G%3|fP@>m6|GFAnvidDm^V>PgvSS>6Li^ud>0+xswup}%QtBuvc zQn0#MDpn6m!_qM$Rv*j68e&;kBdjsj1Z#>l!|#kyf8%#48;gt;&eMqqx7!FVi)37Ci}SP1KZ^~8E%y|KPnKWqS&iw(wxW23Qg z*m!IrHVK=IO~s~T3$W$b3T!2|23w1*!`5RPu}#=^Y!|j0+k+jz4q}I~6WB@Y6m}Xr zi=D&HV;8Z@*cI$5b`86Z-N0^Qx3JsTee5Cj2z!b>!(L!7u~*n@><#t~`+$AKK4G7+ zFW6V?88;&VkM$&Y{j>&f(4x z&QZ?M&N0sM&I!)R&MD4m&Uw!H&IQhe&PC3p&SlO#=W^!?=PKtq=X&P`=O*VC=Qig~ z=Pu`N=N{)i=K<#-=V9kj=P~DT=LzRY=PBnI=UL}D=XvJ^=SAlw=Vj*==T+x5=XK{z z=Pl=L=N;!==RN0r=R@Zs=QHOE=PT!H=UeAH=LhFU=O^c9=NIQ!=Qrnf=MU#k=Wl1e zGwh5wb$ApWixLv10{7xRoWv=d#{D>hb9fLJa0!=j1y}Lz zcn`cM-V5)I_rd$({qX+y06Z5Th!4Vt;6w3Y_;7p#J`x{=kH*K~WASnLczgmr5ub!l z#;4#@@oD&UdA61^7aI5xy8-f-l9F;d%ISdT;9K!+_zrw0z6;-t@4@%t`|$nv0sJ6-2tSM;!H?m`@e}w-{1ko~KZBpc z&*K;Hi})Y-CHyje1;2`4!>{8v@SFH;{2qQEe}q5AU*fOvH~4$}3;q@Vj{m@a;=l0U zcm&tEVqJw?MO;N)#aty^C0%7*s;$y8(bS*n_OF5yIi|n zdt7^6`&|cI2VI9;hh0ZpM_tEU$6Y5}r(I`UXICsqPvQ_s=K1otHO z6!%p3boXrc9QQo;eD?zPLib|#68BQ~GIySPxqGF1wR??wy?cXuqkEHkvwMqsn|p_Q zr+b%sw|k#^zx#mup!<;fxch|rl>4;%ocogdvipkrru&xrw)?L8p8KKuk^71Jsr$M6 zh5NPpo%_A}qx+Nlv-_+2oBN0Rr~9|Nkf*Sxh^LsRxTmzIjHjHZlBcq#s;8!>mPhYN z@FaRtJ@q_k9;2teC&QEJY2eB7WP2KU8he^}ntNJ!T6x-e+Iu>9I(j;Jay*?qT|Fj` z*<&kK5z%5FW}ydjyZ{Q9L0}cTZ2x0M9_rAkSdWFwbz$2+v5* zXwMkWc+UjSM9(D86wfrz49`r@EYDoee9t1!V$V{~GS70)O3y0KI?o2rX3tj7HqUm? zPR}mSUe7+ye$N5VLC+!2Vb2lIanA|QNzWP2SE7s7b^Vdcr`|Ch8C=L@H5_NF&k-BT=8oATo&tL_;Er$R-*Q zjfo~iQ=%EsoM=I`B3ct|h_*yKqCL@p=t$%cU5IXknE(iouo5-`B47d`90W>Wgp+U) zZo)$lgpVKzil7OW;0T@w5J5s9L_#JMLM1{(526>*o9ILICHfKli2+0|F_0KU3?_yU zLy2L;aAE{8k{CsdCdLxuhzZ0*ViGZ#m_ke=rV}%WnZzt&HZg~oOUx%05DSS##A0Fz zv6NUw>_p(dx*Wne&PUekT^^nA&wHq zh~vab;tX+?I7gf(E)bW9E5ude8gZStLEI#65x0pu#9iVZai4fVJR}|wkBKM5GvYb% zf_O>1B3=`3h_}Q$;yv+!_(*&rJ`-PwZ^U=v2l12mMf@i6i7=t_MtP&XG2U2j0dFC1 z5pOwfd2bbOb#D!CO>dkx!JFhw_SW{+@z(X$^QL=^-um7QZ$odEw~@E8w~4o@x0$z% zx1G1Ww}ZE{*X#wnb}!_Gy$&zxb$W5H%j@=fyoA^5CB2lF@ycGs8}fGd_Vo7h_VM=h z_V*6*4)zZ54)YH8j_{83j`5E5j`NQ9PVi3jPW8_6&h^go&i5|y=6RQUS9(`@*Lv4^ z*Lyd3H+eUEw|KXCw|jSZcX{`D4|orH4|`90&wDR=uXyix?|SchA9x>oUwU78-+MoL zzj(iUe|Ud-e|dGj7+xUYn-l&`d}tgoD}ysv_*V$+Bfj+Cx=7W5& z5AivCs1NfweYnr#BYl*Q_Ax%r$NK_4(I@#7pXv+wy8C+hdi(nM`uhg>a(#n*LwrMh z!+gViV|?R$lYCQrQ+?BXGkmjrvwd@XbA9uC^L-0^i+oFcdA`-Y^}db1O}?$ZZN8np z-M+oP{k{XfgT6z)!@i@w%JSlo4#AV+rB%#d%lOh z$G#`Nr@m*t=e}3I*S@#DcfR+&557;nFTQWSAHJWyU%ubIu=YWEELo5&L>4BCkVVN7 zWJ$6NS(dCoRwOHtmB}h(Rk8+Ii`0_|WFl!GlgZj-9kMQ&My8WSvObwXW|9rbEHayH zL^dXylFi5#WGk`_*_O;9yO3SUZlsAclK^QUt)!iVNSJhxD2b6y5+~iHha^ZZ=_5&! zB59H#Ig%#>q(F+KM9QQ>s$_`lPWB*sl6}d3WPfr1nM)2N2a!X_;p9ki6giq4LyjfK zk>kk;@-6v}d{2HLKa!uw&*T^KEBTH5PW~W&lE28`WIh=t zBV-g6O~p{LQ~|0WRfsA~6{U(%#i+2IdKg4Xrc|ms)r0Cq^``nzeW`v_e`)}g zt93UFq6Sk#sG-y_YB)8L8l`nRjMMrZCQy^9snj%TIyIA;P0gd`YyA(4sU=h%wSrnj zt)bRY8>vmyW@-zymD)yar*=@gsNK{)YCm;=Iz%0(PEaSQQ`A}N0(FtPL|vw?P}iv& z)J^IZb(^|F-KFkP52#1fW9lXKiuy=>qCQh!sPEJd>KFB!%GWwAB2*L|OBbLE(S_+E zbTPUFU79XKm!&JxmFUWJRk|8oovum8(|S6APNb9QI&=zMmrkYAXd|6LXVTepBf2r& zgl2?nrl{bLh@=H`+u4w1q}!2aVBA8mC>fhxXDwnxg$QOLH_& z2k0Oz(+aK9-RWL*Z@MqtkM2+B(gW#1^bmR&J)9m%kD^D@W9V`8czOaok)BLXp{LT* z=$Z5^dNw_Wo=eZC7tjmoMf75N3B8nFM(5Eh=~eV(|hQ>^nUsPeULsxAEuAcN9kkqary*(l0HSBrq9r4>2vgX`T~8C{)4_mU#73n zSLti?b^0cKm%c~erytM{=|}Wq`U(AveonunU(v7WH}qTj9sPm+LVu;d(?987bUq#B zkM_s-WBmpE1^tEm#r-AyrTk_5W&P#+75$a{Rs2=`)%`X7asGI}-k;!4^c(!i{yP3N zztNxJ&-7>cv;B?yjr~pi&HOF=E&Z+i?fmWi9sQmCUHskrpx@@V`(Z!gclc31=EwbB zzt2zlX}{mk`vZQ#FZ)CO9{yhb-u^!RzW)CHf&Rh%A^u_h;r@~S(f+aiasKiC3I0j` z$^I$+ss8EyS^hcx1^$KpMgFD!JpW4n8vi=~M*k-N7XMEFF8^--9{*ndKL39I0skTY zQU5XjasLVbN&hMTY5y7jS^qiz75`QLHUBODJ^us$BmZOnQ~xvnbN@^KEB_n+TmMJ@ z7ynoPH~)A45C2d9FaK|?bs>t0W@4CFrXW*-Db18+$}<(1%1jleDpQTA&eUXTF>#EZ zNnjEg1CzugGqstzOe#~4Nn_F(BU7Jgz%*pCm?lh9rX|yn>B4kl%nZmt49p;mgFzXL zaWXjLV%!YJ1ehQrFd`!{GNUjm)1B$X^k(`neVKkte`Wxa%M4@&GeemX%t&SwGnyI0 zjAh0#7BY*NCCpN08MBgE#jIx5Fzc9& z%qC_FvyIu#>|k~>yO`a~9%e7IkJ-;0WDYY&n4`=w<~VbLImMh|&N1hi3(Q645_6fk z%3Nb^Ft?c7%pK+~bB}qzJY*g-Pnf67Gv+z-f_cfjVqP$4ebCfktBVzb#sY!kLA+l+0&wqjeeZP|8gd$t4H zk?q9hu$|d1Y*)4$YhukTz*<<4wX${=ViDHCVyu&Ovjpp9NtR;$EW@%a#|GFSE3y)+ zuqqp3yR$vmK5SpMKRbZUWe2fC*kSBwb__d~9nVf+C$f{+$?Oz%Iy-}%#m;8uvGdsl z>_T=CyO>?VE@hXodF)Dd6}yIA$F65Lu$$P;>{fOgyMx`y?qc__d)a;Le)a%+h&{|6 zVUM!M*yHR8_9T0nJ#pR&)` z=j;piCHsnf&Aw&dvG3Ur>?ig!`-T0=eq+D0KiHq_FZMSZW_4T?7tO_Rv0MSJAXkVh z%oX8^amBe3TuH7JSDGusmF3ED<+%!6MXm~0m8-^8=W1{@xj0VGC2)zHflK0&xjI~3 zE|sgtrEx|sgUjR^a9Lb7*NAJ(HQ}0a&A66aE3P%yhHJ~U=Q?nmxE!uC*M;lKb>mE& znX_;pXXR|1or5@-Lpdjhb1u%!c{nfU<4BI?{2arv9LMoofD3X0Cvp;}a4Hw#x^q3a zo?I`k57(FL&kf*mxk21uZU{Gw8_td3MslOL(cBnrEH{puz)j|+a8tQy+;naxH;bFi z&Ee*9^SJrk0&Wqvm|Mav<(6@I+;VOOw~AZKt>e~n8@P?!CT=sgh1<$)RYx8yZ6uvH>%Gcx5_;lXL z*XJ|&27E(4i*Lj?<(u)%`IdYuzBS*5Z^yUiJMo?QE_^rM#G845x9}iuf@gS^=lK91jC0^zgUgbl4cfJSTlkdg%;rsIg_*{M=~ zILctG6PwG>_Fo{lR(oz zvp|bL%Rt*eyFmLur$CoL*Fd*`DPRs*0${)zfC5Os5kLdpfGX17iZ?0^60~-Qc0$T&y0^0+-0tW&I1BU{K1IGf#11AEf17`#00_Ou41Ahdr2W|vz z25txL1nvbM2cBx}fG+~C18)K!1D^vw0+E0&7#)lW76=v$77i8(77dmNmI{^*mI;;% zmJe14Rt#1SRu9$))(XZ2c- z3~ml?32qB+5AF=^3hoZ>3GNN<3myy}3LXxg2%Zd{3Z4y~3!V>N2>ubg6uca~61*0? z8N3y|9lRHO7OxJSmY^4sgk+(%kRqfCX@XIxFJuZ0g)AXk zXe=}pnhDK?7D7v*mC#yfBeWMf2pxq^LXOZ`=pu9#%mN@-1W>RGu;36-!71Q^OYjJU z;1zrVDNq6}_ytB_1x^SEK|vHGK^7E26+%LHp@+~@=q2BXTnS2mGD}4BfJ&f3Gamu!bjng@J0A4d=tJ4KZReyZy{d@3lTvlMu{YFo zXcRNV24X`oTWlmY7MqAo#b#o2v8C8bY%R7C+luYP_F^Y7N9-(i6-}a91VoDnidNAk z+C@l&MTdxrn23vR(IXO~Pb5W3^oxwhik!%c0Z|ksQ5IFPyVyhQDfSloiv7g_Vy-w) z93&1Fhls<(;o=B!v^YkbAWjq~iIc@C;#6^(I9;3}&J<^fv&A{$JaN9bKwKy;7MF-i z#bsiixI$bht`b*^Ys9tUI&rA61Rw3#qHt_ahJGT+#~K4_lf((gW_TFhy zCLR}0h^NHU;u-O*cuqVoUJx&dm&GgMRq>j5UA!UQ6mN;Q#XI6X@uB!gd@Mc@pNh}K z=i&?TrT9vGExr-oiyy>~;wSO5_(l9GeiOfoKg6HnFY&jSFNVd4sFR|kXemaDl?q4& zr9x6+sfbimDkc?|N=PN8Qc`KDtW-`aFIA8#N|mI_QWdGXR70vM)so_*cu6lMN(L!O zN|tI%b)*!ju9Pa(lhUMg$tcyAGNeqYfs`d>OO2!^Qd6m!)Ld#IwUk;(t)(_nTdAGY zUg{uqlsZW{QfH}))J-x;fMk(C$tu|-y97zFgh&nvl`zRE;gVbONQC5-d=e>95-s^9 zMq(vS5+qqtBvlGYJ*D1KAE~d@Um7G0mWD_}rQy;DX{0np8Y_*HCP)*dNzxQ)hBQ-} zEzObUOADlh(jsZGv_x7eEtB%3<7(>X z`Ye5szDnPvpVBYsw-lBll1`42qvaSmRxThHlncp)(l{uN019DInWl5IhklbDFA@`Jf%YEg3@&Gwk9w-lz2g^g`Ve)W!ggjCnC6AHE z%H!nm@Wj5$+zV@@?H6!{6KyvKawBIPvz(G3;Ct|N`5WBk>APhIat$}DBJGDn%K%v0to3zbF6Vr7Z4R9U9vDa(}=%1ULGvRYZEY*aQWo0YA~E@ii} zN7<|FQ}!zdl%vWq<+yTEIi;Ld&M4=Vi^?VCvT{Yas$5rYDz}tV(Wj$tM3;-J5NC*M z7*`;^Nc{Bp8SyjYXT?|0*U~5GK|QVa>-XycgT(+EtOlFGZh#E10WmlXr~xxL4YCz#9UFpg}N*2FV~B6oYCQWEgB1Vi;-|W*BZ5VHjx` zWf*N3V;E}~XBcmoV3=Zy+>)A*Mi1^->~M!hk? zm}oQ@lZ?s6+QvG@B^l#0CuGjeoR>L2b5Z7z%yXF+GyllEl4%S-j6Bw6h>x$Iksm1? z_qVxz8|N738uN`|V?pCQ<9y@){U0rXuq6zJZDD&D3d3PX7!6}#r?&UZ6?TU`VIu4e z`@*EQXO9juVK&T#d2Oe|zf++<{SIy`ca(d|L*9a<*V{T$ydTk zMA50yYOGp7EvOb!3#&!cVrp@PU68I#wO0PEaSRlhrBeRCSsL2PQ^|E?Jy{cYQud6rJTk37~j(SghpgvR|sgKpC>T~s_`bvGRzE$6;@6`|LC-t-X zMg6LNQ@^V})Sv1v^|zX@hSi9w3q^&ZL$RSkp~9hJq2i$up^~98p|YWJq4J>$p^BkO zp~|5uq3WR;p_-vup}0_dC?S*>N)FWt)eY4PrHAT=GD6v*Mxn-`CZVRG=Ajm$mZ4Um zHlenmcA@s64xx^rPNAGo=TMhW*HE{RDP#@-Axj7hSwprE6hcCH$P*$$-jFXuhNuu7 z@`soZ8{$HIC=e1tVn_}tAvF{Vbr1Cl^$zt3^$qn4^$+ES28V`*hJ}WQMutX(Mu*0R z#)T$?CWR)4ri7-3riG@5W`t&jW`$;l=7i>j7K9dt7KIjvmV}mumWA>{t3sq6^88$ugHn?jpITS8ky+d|tzJN^${e-Yg_+jj56WoG84O}R;$GGofj%*+^zC0n-G zvTRAV#devQxxLHG%*@P9>7VCa>o@oY-#TU2K2CrhiEPnEomKbNbixAL&2SGtz&h|4#pt{x>~~ zE2}G;E4wSFE0-&`D~~I$E1xUBtAMMJtB9+ZtAwkhtCXv>tGuhCtCB0hRmD}+mFTMG zs^O~Xs^dy=HF7m^HFvdgwRW|2wRd%JrMWt~I=i~Ky1BZ$db#?#`nmeM2Dk>f2D^s1 zhPp<%M!Uwi#=6G2#=9oCCc37$rn;uNX1Hd$X1Qj&=D6m%=D8NQTrR)`x)2xY!d$qE zaCuy$%j=?Cw2O6dF5V@$L|4Eixk4`06>;e<%VoP_uEnn9t`)A8u2rtpu63^Mt{tx3 zu05^;u7j@sT*q9eU1wb9T<2XETo+xJUDsVVUAJ6!Tz6gfT@PFjT~A#vU2j}(UGH4) zU7uW^U0+?_T;E+kTp6xku0O87u53UKAQzAu$OGgB@&g5dLO@}lC{PS24wL{&0p)-S zKt-SuPz6W?Y67)@Bp?N-2h;}|08N0VKy#o4&=P13v9f3|jXP^tv73cVZd-;1TYF11B?a60po#*z$9QYFa?+jOarC^Gl5yaY+x=h z510=u0MY>$001BW0|E>4g2lk%UhagKfaJU(+y(9i_k#PugW!MQA@DGG1Uw2J1CN6zz?0x9 z@HBV^JO`c!FMt=pOWf=qLXDv&P;00y)E?>pr9mB`&QMpV8`K@@0ri6VK>eTr&_HM?Gz=OJ zjetf%qoFa-SZEwH9-076geF0gp()T*Xc{yJnhVW?=0gjhbjSq(5Cp*x0-+EN5s(}5 zKqTaad=LfE5Cd_L0QsRH6oM2e3`L+QWIzrSgBC)Ip{3ArXeG1?S`Dp%)Z^jFSs|{2kr~^gZsk+;X&|Fco;kmo&ZmTC&Sa=>F^AACOjLS z3(te+!wcYa*aZVH45Kgx<1hicVK3~18JLARn1}ta2nS#Z4#6_4z$zSuBXAVfU>!DK z3$|egj=^zwA-o7)3@?F~!pq?0@Je_Uyc%8uuZ7pa>){RXMtBpv8QuzSgSW#w;GOVZ z_yBweJ^~+wkHaV6Q}7x19DE+W0AGf$z}MjG@J;v@d>g(4--YkN58#LJBls!&0)7R* zf#1O&;ZN{q_zV0M{sw=Cf5I8?Z}>0#56+6@Kyo6vkvvFVBp*@$DU1|BiXz33;z&uP z6jBB$i38X=95CP*`+ z1=0p-hqOmJAZbWPq!ZEw>56nix+6W1o=7jGH_`{`i}XhZAOn#>$Y5kBG7K4xj6g;r zqma?a7-TFm4jGS3KqexSkjcmtWGXTZnU2grW+JnY*~lDZ9x@+UfVdD8!4MoF5HCU_ zEW#rK;zvY8LV`#LQIRlWASPlVF=P?47+HcWMOGlIkk!ZtIgA`Zjv~j9xBL9`HB1TBUZM@yll(K2W`v;tZYt&CPdtD=c$O|&+ejMhU_ z(FSNEv@zNQZHhKWTcWMewrD%FJ=y_HLp!3K(XMEBv=`bN9e@r(hoHmIk?3f23_1>- zfKEgwp_9=m=u~tXIvt&X&O~RSbI`fy0yG^3PzXg(48>75N}^uWhf*kmvM7i0sDS!W z5tYy&Dx(UjqES>w4b(&}G=|2}h3FD=DY^_@k8VIWqMOkz=r(jax&z&X?nd{Zd(nO9 ze)Ir(5Iuw*MvtIJ(G%!N^b~p;J&T@0&!ZR6OXwB!DtZmQj^03Tqj%7I=za77`UriD zK0%+OFVL6hYxE8J7JZL?KtG|M(J$y%^c(sE{fTCvztBJEKQs%L70ZTY$8umfv0PXl zEH9Q1D~J`sieN>tVpwsk1XdC&jg`U5V&$;%SOu&iRtZbMs$f;IM64QC9jk@a#_D28 zSTdG^)x%P;`d9<3A=U_Mj5WcUV$HD@SWB!G)*5Srb->cFj#wwGGu8#`igm-fV?D5* zSZ}Nk))(uC^~VNa1F=EaU~C9B6dQ&O$3|cyu~FD)Yz#IQ8;6a@CSVh>N!Vm;3N{s+ zhE2z2U^B5<*lcVLHW!ct8B<96@7=_UogRvNg378)fu>dAv zK`ex+SQv|924-Rwwh&u{Ey0#!E3lQ=Dr^n57F&mHz&2uAv2ECPYzMXz+l}qP4qykd zL)c;L2zCrRiJivIVdt?6*hTCTb{V^Z-N0^Px3Rm}J?tU&2z!h@!JcBzu;=pJJ zdxO2j-eDiGkJu;dGxi1hihaYrV?VJB>^JrY`-}aI3A`j;3NMY9!OP<1@bY*Cydqu+uZ&m06Y*+zb-V^%3$KmW z!ISW0JOxk1>*EdZhIk{qG2R4kiZ{cX<1O%(cq_a$-Ue@rx5L}x9q=@~Bi;$`jCaAi z;@$A>cn`cM-V5)I_rd$({qX+y0DK@m2p^0O!H43*@ZtCfd?Y>!AB~T}$KvDg@%RLM zB0dS9j8DO*;?wZy_zZj|J`10N&&B8A^YI0EI_|;&9KvB7!BHH;ah$;2xCbY3FYd!B zoW>cP#W|eE1>BE|cmS91ARfYHT)|a5j7RV&uHiav;3jV2HtygtJdQ8K7vYQXCHPW& z8NLEviLb&}<7@D>_&R(8z7gMqZ^pOaTk&o9c6AodqB4;{R3WMoi9|J`I#GkDNz@{06LpBXL=urqq!9IpRH8o7 zfM`fGA{rA-h^9m{qB+rmXhpOp+7NAtc0>mvjp#^pB03XYiEc!9q6g8F=tcA<`Vf7I zenfv_05OmlL<}Z|5JQP!#BgE+F_IWXj3&kqV~KIZcwz!Ek(fkGCZ-TmiD|@iVg@mj zm_^Jc<`8pYv4_}8TqB+kZ-}2nK6ep!C3jPIb9YO3 zD|c&m8+TiGJ9m3`n!B^Ri@U44o4dQahr6e{m%F#SkGsEnfP1ien0thKqhN)+|S)F+^^iP-EZ7)-S6F>++W;Z-QV2b-9Owv-5Ksb?!WGT?rfgi zo;;qso_wA{p2D7@p5mTzp7NfGo=Tp|o+_S1Pc=_nPm(9ulj5o8N%b`FH1ag}wD7d@ zwDGj_wD)xMbn)Ghp;@Rfe?%CN)N?;W_C! zbc>$?|I;PiO>Z>G|dP>-m>Cwv?63PUawU zlDWw|WPY*$S&}SGmLyUNHWHN>`x9Rhmb?b5#&g66giq4 zLyjZIlM~2^fH3&};~Vsa_Dj9fvkBG-^>$#vv-ge&h z-VWY0ZzpeOZ&z=3Z%=P8Z*Om3Z$EE;?*Q*W?;!7B?-1`W?+EWm?3?=;31=;>+jD?`U-f@m2LD`l|V=`)c@V`|9{oe5t+$zNWsGzSh1rzP7&hz7D>QzD~Zb zzV5yrzMj5bzTUn8zCpghz9GJ$zG1#mzVW`fzInd+z6HK?pUVgMU?1Wmd~Tn|NBX=z zpO5mfKF%lj{65ha@CAJ#pX>|!BEG0k^BF$V=lJ5jMZU$pCBCJ;WxnOU6~48;b-wk! z4Zdx@J-+?E1HMDP!@eWFW4;rm7+>hWvOyhd8!gsnM$ClP*tf!sy0=Js!JtN$y5qek4mK)Pz|X@RAZ_M z)s$*ZwV+y3ZK$?XJE}d^fl8w~Qk|$SRM*Tor0!G?swdTp>P_{b`cnO=0n|Wh5H*+@ zN{ymMQ)8&H)OczlHHn%`O`)bz)2Z3i9BM8#pGv1d3Z_sBqi~9#+?0nRDIY~qG{sN? z6`+Dth>|IVQmHT%p`w&dnUqC2RE&yK3#rA_5^5>6j9N~upjJ|=sMXXOYAv;nT2F1H zHc?xsZPa#Z2epUVOYNr)QirI+)KTgfb(}guouK^rwdPF^;o>MQVm((ljHT9NyN4=*$QlF^L)EDY2^^N*Y{h)qQ8PqT85A~PILT9D3 z(b?%7bWS=Kotw@>=cV(}`RRgmA-XVKgf2#xpi9!F=rVL!x;$Nhu1Hs+6X>dRB3+HH zPS>Do(zWQ?bR9aGPND13sdRn10o{;pL^r0J&~50pbUV5|-GS~%ccMGfUFaTkPr4V~ zo9;vRrTfwS=>haWdJsK?9!d|VN6;hbQS=ykEIp1MPfwsH(Ua*Z^fY=pJ%gS}&!T73 zbLhGBJbD4`q5&GDAsVA`+D&_ClJ?R*nxQ$Grv=(ii*$gN=nyT_3a!#%IzmTjjn-*{ zHfe{B(Q$eqy@*~+FQJ#w%jp&LDtZmQmR?71qBql9=&kfNdON+7-c9eJ_tN|5{qzC) zAbp5FOdp|-(#PoI^a=VDeVRT)pQX>y7wJp%75W-|oxVZeq;Ju;>AUnj`ab=Den>x} zAJb3iXY_OW1^tSCO~0Yv((mZ^^auJQ{fYief1$t9-{|l35BevaLI0-z(0?;0{IW9H znCwgrCKr>N$;0Gj@-g|D0!%@s5L1{b!W3hQGbNakOlhVJQmlxHe16`4v*WhQ~C z!c=7vnQBaRrUp}ssl(J|l9*&Bg{jA+GWD4TOhcv-)0k<(G-aAIEtr-}Yo-m;mTAYd zXF4!xOh={@)0yeQbY;3R-I*RtPo_UJfEmOLW`;0BnPJQbW+XF;8N-Za#xWC^iOeKs zGBbsl%1mRXGqadE%v@$Zvw%rwTnxZ~48-^tilG^XVHu9$8HoupAx35tCd@<`jnNr{ zF&T@AF>z)gvxr&DEMt~4YnXM+dS)}Th1tREWOgxon7zzCW_URnYqebW3Dr|m^;i}<^l7NdBi+so-)sv=gbS{74w>T!@Os{GT)f*Oa}9d`OW-c z{xMnE9BfWD7n`3gz!qW)vqjjVYzej$Tb3=)R%9!)32ZgC23wP@#nxf#vPo<*TaQg; z8?X)8#%vR|8QYv~!M0*sv+daSYzH=t?Z|dwJG0%{9&9hR58IdR$M$CjvV+*c>`-<% zJAxg_j$%i%W7u)*cy=;7g`LVyW2dt-*qQ7sb`Cp_ozE^{T`b5#EX*RToAt0HOR)^g zvOFuWA}g^$HpI%T!iL!h8)bFYU`^IyZPsC9>_T=CyO>?VE@hXo%h?s|Dt0xyp54f9 zVmGr}+3oBOb|<@w-NWu>_p=As|JXz9VfF}nls(R#U{A7V*t6_8_B?xmy~18)ud&zJ z8|+Q?7JG-i%id$}vk%!v>|^!``;2|gzF=Rnuh}>3TlPKsf&IvSVn4HA*stt2_B;E7 z&0v4Azu7E#;3VcPr5?`55;H&b9d^NrXUz4xJ*XEP>WIlzj$Jgf@@D2IKd{e#|-<)s3 zx8z&#t@$>5TfQCNfluQ*@tyfDd{@33-<|Kl_vCx=z4<_U(2uK*Yg|rjr=BlGrxu3%5USh^E>#R{4Rbs zzlYz;@8kFL2l#{hVg4+CnZLqc<*)NM_?!G~{w{x?f51QFAMsE4=ll!)CI5V)DUV4wS?M2 z9igs}BqR$dLOmf>s4p}S8VZes#zGUJsnASlF0>F@3ay0JLR+Do&|c^uqzN5`PC{p) zi_lHzF7yz33cZBhLLZ^8&`;S3bTaS!W?0)Fi)5-ED+KKmjDQ$011eI3YdTkgy0rD0x5U} zpFjz;zzD3s34TEo0)iw2g^(Z%iVzkeLR8QMT`&YwumoFhgqRQ)77B}m#ljL{sjy5~ zF02q%3afEBh1tRs2=`iT-N->i(MkTK?MpI{v!;B!99$#b3{# z>aXu_;BV+}_1k z_xJGk^!M`j_V@Ak_4o7l_Yd$7^bhh6_7Cw7^$+t8_mA+8^pEn7_K)$8^^fz9_fPOo z^iT3n@lW+n^H2BB@Xzwk_RsOp_0RLq_b>3L`(1v(5BecL>__~lAM@jW!teHb{G{LO z_xUM5?PvU~pY!v6!SDBr{(xWd2mK+x>{tA%KkSeAqkhe=`whS8xBRx>@yGme|62bh z{~rHw{{{ame_pYY*i39Lwh&v2t;E)18?mj}PV6A2i5My#1Z01ag;b(93zeuCx{cpN#bO2ia1rACe9RRiL=Ey;#_f_IA2T` zT_PZYA}V4cE)t?!^oXSB6Dg4qS&3rq zii^a>;u3MGxJ+Cwt`Jv>tHjmf8gZ?-PFyc;5I2gO#LeOsajUpZ+%E1AcZ$2j-Qpf` zueeX#FCGvNivNj+#KYnd@u+xAJT9IPPl~6+)8ZNNtawg5FJ2HYikHO8;uZ0#cul-6 z-Vkq!x5V4x9r3PsPrNTa5Fd(<#K+1d0ZV1&Rks1WE=<1xg3X1j+`=1xDdD$xE#0=xEi<-xEZ(;co29PcocXVcoujbco}#bco+B( z_!#&U_!9UQ_#OBg_!r0`WtFl?*`*v(E-AN^N6If1lnO~jq@q$Wskl^9DkYVc%1C9U za#DGzf|MXtk*Z16r5aLAsg_h%N|sWk%wm_+NNOTAm6}N{rB+fKsjZYIb&@(uJ*8e! zZ>f*eR~jG4NK>Wh(hO;~G*4O} zxg=16Bv?WuRKg`f@q)4h1k)o0&>5?Itk|jA(Tv{kC zk`_x#q@~g_X}PpQS}CoPR!i%o_0mRZle9(JDs7XtOFN{U(k^L_v{%|E?UxQn2c`d{ zL(*aCh;&psCLNbfNGGLJ(rM|8bXGbqU63wHm!!+m73r#UO}Z}KkZwx1q}$RR>8^B7 zx-UJD9!ig-$I=t&sq{>GF1?UmO0T5X(i`cm^iFy&eULs%pQO*y7wN0?P5LhVkbX)T z(l6<^^hf$D{gbi;vj(#Tvj=koa|Uw-a|iPT^9J(;^9KtA3kC}X3kQn?iw27Yiw8>t zO9o2?O9#sY%LdB@%Lgk2D+VhCD+d#TRf1K6iNR{Y>cJYpn!#GZ+QB-(y1}Giaxf)W zFPIvvA8Zh87;F@59BdM78f+G99&8b88Eh479c&Y98*CSBAM6lJ3w8{43U&^533d&3 z3w96o2=)y23ib~63HA;43-%8V2o4Mm3Jwkq2@VYo3l0yC2#ySn3XTqr362ep3yu#? z2u=)63QiAtf?`k!I>Cj(MZv|vrNL#v<-rxf)xovFb;0$)4Z+R9Ey1n9ZNVMEox$C~ zJ;A-f1HpsA!@*<0lfhHL)4?;rv%&MhOTlZw>%m*W2f>HI$HC{pH^KM8kHJsDFTt^ z5Na4|6lxl39%>P49cmkD7fK6t3Uv;34Rs535A_K34D}8T3=Ikm4h;(p4~-0s3XKkp z35^Yn3r!474owM73r!Er2+a)53C#`73(XHL2mv851cl%b5<){*hzOA(Dny5v5F6q{ zLP!h+LQ*Ig3WbzVI1~-(Av0u$Vxf3wVQ6V+S!hLQWoT7sO=w+cb7)6sZ)jiWKzSm;FPWaxD0Oz3RrQs_$PYUo<%M(AefR_I>ne&|8yap+0tY3OC>Rp?FVUFbvT zW9U=pbLea6Tj+b}XDB1|EA%_`FLU-jtDIfVDd&=N%X#Fyay~h~TtF@;7m^FhMdYG# zF}b*0LM|znl1s~F;-PLWgP2698W zk=$5rA~%(r$t~oTax1yD+(vFIx0Bn;9psL3C%KEu72lXcmUZP}4ya$H_0 zFOrwa%jD(q3VEfxN?s$cl{dASiwkCIo(r{q@(C5N@1mlQdB9X6jw?pC6!W2X{C%(Rw<{HS1KqKl}buwB|)j8 zR8M5y8eWiiYP-&zzR+=bHm1atFrG?T`X{EGQ z+9++6c1nAtgOa9nR5~f0l`cwGrJK@S>7n#gdMUk?K1yGupVD6$pbS(7DT9?E%1~vP zGF%yW>4l4gChm^z05#^|IOgXNcR8A?Ul{3m&<(zU}xu9HBE-9Cl zE6P>nnsQyaq1;q%DYun7%3bB2a$k9%JX9VjkCi9NQ{|cRTzR3qR9-2sl{d;;<(=|g z`JjAMJ}IA-FUnWtoAO=xq5M=blwZnk<&W}L`KM%2v#QzD>}n1*r#hls`=FX zY5}#NT1YLd7Ez0;#nj?z3ALnJN-eFHQOm03)beTtwW3-{t*j=fRn)3#qFPO@uGUa% zswTs$S?WT5Dd#F9tUTSZ(kJ?x5r}kF|r~}nO>R@$T-33x>8-Gu2$EmYt?n?dUb=kQQf3&R=22I)oto_b%(lB-KFkU_o#c- zed>PofO=5$^@Ms-J*}Qm&#LFt^XdilqIyZatX@&Cs@K&U>P_{Q zdRx7t-c|3Z_tgjLL-mpRSbd^CRiCNP)fehZ^_BWseWSir->L7_59&wtllocxqJCAs zso&Kf>Q6O8{iXg^|EPb}f0-(gtl@0o?BN{YoZ(#I+~GXoyy1M|{NV!Og5g5p!r>y} zqTyoU;^7kElHpR}(%~}Uvf*;!^5F{Mis4G(%Hf1?m2lN?Vz^qkdbmcoX1G?kcDPQs zZa68N98L+>3#W$bhZ}?&h8u+&hns|(hMR?(hg*bOhFgVOhuenRh1-Wagww(u!=1vN z!(GB%!`;H&!#%=1!@a`2!+pYi!~Mej!vn$t!-K+u!$ZPD!^6VE!z02Y!=u8Z!(+l@ z!{fr^!xO?2!;`|3!&Aaj!_&gk!!yIP!n4D3!gIs(!t=um!s%gG7zl%5C=7>@FdD|f zc$f&g!=5l1_J)07DlCViVLg02d_H_Rd?kD<{4D${Tp^MWsTpY)X&p(6bdB_g42leo zjE&5Wq(@v4Faky32ogafSOkv{5l@7Scq6_D6`>azFAQ@-Xr! z@;LG&@-*@+@;ve;@-LD*T0B}NT0UASnh;HlR*P1T)`-@O){54S){Q1blcV*bsnMp< zX3^%+7ST4*_R+Lx_h|2EpJ=~m|LB0|;OLO((CDz}@aV|ssOaeE*yx1lr0C@6jOeWB z?C6~6+~~aMf+!S)qev8uVo^LwMBPzOl#F_#z9+G`!OG_9l7N$ae2(Yk8gwC-9Dt*6#Y>#g%^*nlBJ)fRmFQ6CH3+aXR zB6?B1m|k2jp_kN4>815DdRe`kUS6-DSJW%%mGuO@ie6Pu)T`;$^%{Cjy_Q~EucO!1 zlk{XgMX#r)>h<*odPBXD-dJy3bbW?CQ=g^J*5~MR^?CYyeSw~?`*lfI^oVZgOZ1icDt)!SMqjJ1 z)7R@8^o{x^eY3tr->PrZx9dCfo%$|)x4uW;tMAkI>j(6M`hWT%{jh#SKdK+okLxG& zllm$Bw0=fEtDn~|=vVY>`gQ%ben-EnKhPiQkMzg-6aA_FOn<4r(qHRu^tbvu{k{G{ z|EPb`KkHxgulhIryZ%G}sb}cF^xyg){jdHnQ%9B6$Yx|Wau_*{Tt;pqkCE5NXXG~u z7=?_&Mp2`fQQRnDlr%~irHwL1S)-g$-l$+yG%6XDjRd2LQPoH^su|Ud8b(c{mQmZN zW7IX0jAWypk!sX88W;_YMn+?!iP6+(W;8ci7%h!fMr)&u(bi~Zv^P2!X+}q*lhN7e zVstgS8QqN@Mo*)c(c9=_^fme!{fz;}U}K0e)EH(AH%1sEjZwyEV~jD@7-x((CK{8C z1qNim25Jz7*YFvvn(H#Qg> zjZMa8V~erX*k)`ub{IR2UB+%>kFnR-XY4l)7zd62j6=p@{CRvW9W)z0c{b+>w0J+0nWU#q`0z#3!?wuV?ktzp)1YlJn@8fA^P##m#m zan^Wif;G{aWKFiFSW~TO)^uxzHPf19&9>%PbFF#Sd~1P~Zn-SL0xigbEyO}C%)%|g za$6pYw7izjqAc2CEY{*I-V!XoC0YSXvVvB~k}btjt*{lbqLyaqmSLHeW!aWv#jLos z&{||Iww72+t!377YlXGaT4k-a)>vz;b=G=ogSFAxWNo&#SX-@a)^=-$wbR;V?Y8z< zd#!!ee(QjB(E86hWF5ASSVyg6)^Y2Eb<#Rzowm+cXRUMAdFz68(Yj<^wys!Lt!vhG z>xOmHx@FzA?pSxNd)9sHf%VXOWIeW?SWm5I)^qEH_0oD}y|&(1Z>@LMd+USs(fVY4 zw!TxcEz%CLS}zpX#kU+Z6{U@xnk&CYJ;uyfkE?A&%9JFlJ3&Tkj63)+S3 z!gdk6s9nr1ZkMo2+NJE$b{V^@UCu6VSFkJEmF&uPf?dU~YA4#&?CN$6yQW>su5H(` z>)J_nvYlervs3N*b_2Vi-Nw-49{?f>jU_6hr>ebK&T-?DGp5A28bWBZBy z)P80^w_n&V?N|0|`;Gn9erLb8KiD7bPxfc~i~ZI9W`DPT*gx$I``o3Rr<2Rc?c{OtI{BRZP64N&Q^+ao6mg0=#hl_!38$n}$|>!XamqU7obpZu zr=nBIsq7>;Rh+6$qEpSO?$mHWD- zY3{UeS~{(q)=nFzt<%nF?{sj|oQ_T>r?b<=>FRWIx;s6bo=z{Px6{Yz>-2N_I|H17 z&LC&7GsGF{40DD%Bb<@WC}*@Y#u@93bH+OpoQcjPXR z>&$cJI}4n2$K?PH=s*taAP(wa4(?n@vgq?^Jbu>qJ499dV$95bi=ER+a&LU^Av&32IEOVASE1Z?iDrdE`##!sEbJjZ> zoQ=*VXS1`#+3IX_wmUnVoz5<2x3kCD>+Ey(I|rPD&VSA!=dg3cIqDp9jyorulg=sU zv~$Ke>zs4WI~Sab&L!uvbH%ypTyw5FH=LW!E$6m#$GPj=bM8A2oQKXM=dts|dFniK zo;xp`m(DBawe!Y#>%4Q`J0F~n&L`)y^TqkBTjD=!yEF6o(qA@L|$BdX6 zvto8E7F!rw6k8ly5?dNu7F!Wp8Cw-w9a|Gy8(SA!AKMVy7~2%v9NQAx7TX@%5!)5p z9ori_5IY$AFLo$)ICeC4EOtD0B6ccvI(8;@A$BQtId(O6Ep|P2Gj=O>FZM9@IQAs= zEcPPyI`$^^Huf&|A@(u$DfT(`CH6J;E%rV3BbE{S6Z@Ab0nHlE7SA5f5ziUV70(^d z6VDsZ7cUSm94{I#7B3Mm87~zt6E7DpAFmLv7_Sts9Ip~jj8}_SkJpITjMs|Sj@OCT zjVH%b;;Hfa@dojR@ka5+@h0(R@fPt`@wV}H@%Hf!@w9lSc;|SRc-MHhc=vdZc+YsR zc<*?hc>nl-_`vv}_~7`E_|W*U`0)6M_{jLE_~`hU_}KWk`1tsQ_{8|6_~iJM_|*8c z`1JUU_{{jM`0V(c_}uus`26^SczWCw2jXBHiofS#9w*{t+#3(XrFbwNipy~& zuExXhNIV+X;(FYUJMmb2QG9WHNqlL1Sv=_{{4?_N`Ol9(3uF|`D3nn+qi9C)j1n1T zGAd^zWK_vW%&3-8Gow~U?Tr6_uj&8a?_^4;7o}g6c|oNtXw;<#`y%N@@62JJ2d!45)PK?7#p;y7?Z&iUpVBmKOUm|? z9VsneY)V_3wkPFo+O>}3I`{0H_9C%M?JiiCK$lY~UAiIN@NV92zHW3krdzz5)on+& z?cD~x81!OE&v?&;Js0%^doJ!-yjO`{C3}_XRk~N1US)f&?=|s7o74~WKGyqG?{mE` z^}g2oR_}YgAN79L%c%FO-v4tTCT6LYrFy0jJt<3amik#5WXV*uWyzF(WEq`hOeSNq zOvo}Z(|kT9lc||Z%aS?&lqK`AL6*z{;s1GN|L2cg|9^JVEm_WIxsc_5p4bMNrr7_v zVjE>`oJo^Rnr6~0lji?tja`#WRkaX!ODdy$Agck{4622yUOZcAfJK;}4 zl}z_(wJO!C)T@$OrE8ULndVcg%JZr(s(!5csp_D_!HL5XhbK->oRT;#aeCr{#Pmd8 zB9-V*6cg3NaAGu3OVksM#MOyw5>FZ7u|84v)a~gk4 zlbKCsHTl;hOVgW8Z#DhV>}RuS&8IiNmuV?|*7|wteQo!*t>3OeyTV%QT&8?y zSo^ab&UJX$;ZcXhX-m>pq^(T*nU;~3w`0DJhdLeZ^rh3+PTx9x@08K$S0=wZ74BT5 zbFt3FJJ;%5yYus|FS-`$RygyYPjoBVy;%40-6wS4>)n^h{!9*dPkYZ~a@Kp%d&zqv zvu}MTvv2*t`_TKs`_lV9vuXXmUUflVA>aQlqyM`@{_mL2?FXR7xJ;O4F zXLQf#kOD%Y{h@yugLz*xTLSd)t;} zSuT=x_m*YJwq#4PWm~q~t8B^L-Z^QcKmtrc2_zwbgwT5rC2%RB_a1uh<sd?Mwk0hst@W(+yLrO5kOJO?^uPKSvQKyk3dUyv|G-y0 z;VbwW;4Rn!o`v$O72s(&03L=-;9=N)^%!^_j)3RkL%+jY;7Ry~SHJ!VkHg8URp5I# zf3^PVSG>Aw^o+hSFowp+7#pfFF=ocps2iHGFqX#L(2b3;GS`= zQ^rplKWF@m@e9T;8b5C+#?KnRZ2XGxOUADmzi#}7@qXhsjo&ib#%~+HYy6(^2gV;7 ze`Nf=(KPV8m&6e3QduG?{n*(!bj?A(7m0%$))zr+XIWu*0VXn-zxiPoq&U~5q3iFlbtISuM zuQ6X|ewO)q^Rvx2n4e=x#^;)!XTH&Vlll4P7nomYev$cRQ#QWX{1Wpm=G)A7m|tdA zj4wCeX}-(+3iI9OSDIgKevSFH=GU2DZ+?UMjpjF--)4Th`JLu>neQ>b+x#B$`_1>7 z-)nxK`2*&EH-FIlar1}FA2EN}{897A%=ei;Vg8i)(`L>1N%QB;Up9Zy{8{to%wIBp z#%vkCX1?G2E%P_c-!OmG{1vlm{EqqC=I@%nXa2tV2j(A|e`Nl#`6uR|n}1>crTJIp zUz>kp{;m0U=KnDN-uwsipH0Iw&BsjQv9rfcA3J~S;<3xet{zK0cKsOnSo*QwG5*y2 zT;ofOw;11K{HpOM#-AC2SvBY8-n=y*m@hX!(|oP@sQFg&OU<{NUuAxi`7P$Rn%`mm zg8A#_pPBz?{*(Cu^X4($C>oqmF#hGvd@}sugI8L9^uY2T;6+ay;LE|jPjTm+ApSgg zNxtfie(*BO;=uB{ z^}$`s=D;HF4s2ioqU9k6F9l^EfcOJ&+?RpyNglDh9K>IKKv-UJU?E-!;(&u!f$(YW z04MnS2d@FP|6J}`UJH)-zrg+19atWG7C6R7=H9*6AKZKU=YrqjQBd|j&I2&idLInD zS^gb7uzWr!|6w4$0OUPSh%W?X{|#RFW>Dte#%}o%@VmVQlzoyr_udBL&*T8SkXZhA zaPRHl`g;dB_VeJ*mw|H6pQk0sFTk~a3HJSuao=(U_60n04Z{C8cP%Nfe+qn-8xVdF zcSw+ak_VPFxbG;C20X}sFaz#I8iXIpJqrWufCpI+{_o=jmOMCq{@|{K1>uK6SU6z+ zPv*e~*Td0+I~ElDjSuCnB?i8K9OONd2bKh|Jqck+g7~vIz<}+!dBlQ)JisFa2tPdc z?wlQ1?wx}&&jc8rwVeRdvp5KV;|GELnH*R`;QD}o9RlY)48jl3T?-8IpWc3`8r?&5MK|%kHGzJ z0QpaH|L!+|_%pdrd<(FBi{-B6TS54(mOGYjvm98y-SRTacY^eDaPVEg{^7Z2`EHQ^ zks&Pa0cHMkxo`O%aLniC!1BEy?Jb*EeJF(G7lHj* z-1{YPoL>g^r@3SK6_9?KM=ZYz&g-uM+lS$0zX9@|2M6y5<(}f;H$nWF+_n4`usxFl z%Wqo<%kKa?;NI_A?h(Ha;?K>CEPn{{{$mi9KLYzc2M_)j*a46H321)(DTx0m_&k3G z!e?>!&w=ep9#65NM>1&;C8;Fx~{(trnl3&JP4`+~m*@h5p;`3H;T zh5rQ7fJgorgwMf)4*>hWlY@s%`X{+>F+u!k?pq$SyxsEu0UO}paS(ne_dyQG0QD(o z4&1u~;?Lxf2X}$(Y2Iu3Xi$HC46r>ncff(b$$b*yV?p@*xkLOHQ2x1j#PV?<@0mQX z{8wQ6Ant$sf#uF899&plaB$D^!h`#kPXu-Pi$Iwd9S~Qa0>Y=cYxz`=2Hg2H@ErSZ zApYFkv3xqn13dT)5PlF3UJTOz>)f@xz%%C%9Pi(Tu-HMle?NCD4zM49aDvcz z@QB5AV7coC@#oKh#RJNJD39Fp0sDU*cP##c2ltM_F`p*{xPqT^do!?pD1_yUf&IBT zuzU%)8{Pu$(YJy!PeHs5#6L2G+cBp9l8&Jn-2b z1>v)}_eNlQCimQ50KUT)0{hcEV)-KQ{ekHjTLq+^;-CuR&!0P>cir-cZ24GA1MK${ zcN7p;Kz-W;;ZxjgSzdIv3(`+v>x1}HJQ#pDfEa?0HUjaH<p@JS9VQxKnmcGV1o zAH;zM(i*VqAbb{g=fE}xc?%Fe#r-9S1Bev}pW=}KA zwf|bM&$D>&I$-XSkG-{#IMKh<(TzZl$;F9GFW0?xyIa3m{;Kh1rM&0=`~OwZU<>(n~4 zYF6Dkw=S$p>&m*e%GSEIVO6Y6Ys=cUcC1}%&-!p}?2mc;&f~$*CtIyn*!H^HPk(Ld zjjwt1{jdBn<~?e#{l4x89yQySH8=gc^kcMz`6vcuip-zFTQ-o*SALu75)$C(#r zud-_PEc>SH-)Da{OXixnx8}Yt_ZPWO%D*N575Vq(eUKZdolGxm+_H?zOVe!TG( z?seQ(agTGKSrGXa|F!)4_#fpz!Fa@YoAAxTe-T-rQ(po4^zRhETP&8}TRxfpD$ve; zG0>X+ZlD0|s<4$87-v9L`JtNe&sMBJ`Lri6vi%q#?~hq-QJ6gF9PaL0ib_$1yql2`@aVigMN8{52fK}0)3cYAKnEj zC=;N4^0h$2!P>cR z11so$#p3@lu9n}Bx2|Zg`srpBSbvJ~sm7-nZ(9F1<4e{*xB27EryG9`2FyRhNbRNl zckJH|);`PMUcdAmFMY9b0M?~>=_`H|to)LC<+r|)eU%8-`*?}*jjwt*0{byw=KBl5 zT<0~I8~lA>zOK#q$Jeo7{^{Rx zE%34hKAB#_XSm+%H{SMU8u*31|BL6qPwI1kx6*rnPml`yIgX4^ecR7He6&92_J6MP z|8t%H|LHn^=oj%^b^gE9@6WyoWP9D-uq*bay=8CPJNB-ix}6@E$L)4|Jm7!8bK*Yn_}o6vvHRHLvIT5z z@HxD;Bk;FR9cPYn$A#n4apkynq#QR6(vfyhj*NqLFpdw^$#{Oc7`kKbSU8rBmBZx+ zAKZWFxBDG_ryqP+zt`{c`~64$WB-Xi;1Bvke#js8!~TdL@kjlrKjx476aJ(h^W*-9 z-U|;s7Fa*$FZhdo!7utt{<2^4SNv6f?O#0^nosyLbo||a^=BA8;nAS_r+(h=wH`m= zR}r+bHqPd-I;|1gHSn?!tZUE4v-Rved(W+>ZMy+21-nbOwQLQW=pwC4_sYF>@7#O$ ztvlcdIzkS}5q7|ihy!s%9jL?VusIGLc89~^bhsRDhsWV{JZyioK?|gBE!YHG(I(n> zo7H9m+9RyhZsVS4xj?p%ZERJo7uKxRXWd!%)~$8(M7t(vy96zqBkROkw4PcE)-&t5 zb!Z(u(aw3;-Z{19ta)q4-F5feefPjUbdTI)_r$Hbr|y|sbL;N8yW{D4dY-;#;2C;G zp0Q`*Q9V=7%%gd9&)k#o&>qH<_2fKx59{GP1y9k#djyZ@DS65s$y4!EJvEQ)se2k8 z#nbe(JZ(?LO}iO))}3?b-K?8)7u-cR?-tymyW}prC3nSLb=TaoyY6nd6?fC!a<|=9 zr{8IF9yt%4Dd)BG*lBm3IZvG@PN(zAdFc!~9nK5qxijE&ITOwsC+S3-X(#0jIXzCy znQ_ui)X6xr&M>%;bI!ao>P$LWC+CEmUT48sbjF;xlXnVE*y(eM&XP0kEITD9;jB2T z&YDwp)}0Nf;%qu2&MR9Tv=Gm2*S3@`Z6j?rHp-@e_F~M2+FGE^7_}j`nzd>@vz4tC zt7N^fUD`@k(aP9pTh^AdF;?1|uqADTEpEeXxGiHV+az1XRBoAhE{+)H>*y=UHY?}hi$d*!|Mro1;^(wp{D-i(*_GTy8==goUr zFXt_Ii(cLmd1Y_i+wdyhrnlv7dpq8)x99D92i~D~a+O{eRiM2=k&QARuVq1&*$^|j(o?y6JNj=^o4woFYJST5g+1<`cPlY7xyK6 zNgw9JeT47Scji0yUHC42SH5ds%6H=|r}>kJu4=)Q;L?_P9M^Puej%ZYS)g z_A~pr{lb1}zp`K3Q}!D>X;0fJd&W-N8GF{Av*+!sowFD0MLTa7?4rG7FWV)1#a^}7 z?9cb8g?(vX+1K`seQV#@_x4+R&=c}Np0Ee@L_CNm>Onm*Pu!F6Bt4i1_Yj^_ z&za}kbK$x4TzRfNDbJ0E^rStMr)CSfLvF|&cEj$78*xY7s5|D4yA$rD8*}4s!hPyK zbDz5}+?Vbv_q99azHyW8w3~8wZB^Tii*%)3lq=(kx#BMHlHsblA}+)gb#bnOtLWlg zg3Ic%xei?pm(S&Q9l4HOC$4}i=nArpxm_NY*Ohc(u9mCq>bSbDx~t(*T)2yH zox09k=dKIarR&Od?Mk_57vsvha<06Kb(LIYmtq^boG#flan)@J*T@CCP*>kIaMfHu z`rS2l0h!%ldXis+gz_j@)~mELrdIoVlR-!#|p=hyUpidSP> zbe*StiaglR%e13aCn>JpSEQrbAbkSFP*yFXdN|DVT>V8azU_6WNjrO5^*1SDx~|do zO{l%yBsVE4Gbt2oY;Ndk=7+(>md<7Iv>j+mo>dzQX*8EmndV@<%)&+cu-)uWhiM`` z8}_rawPRSz_B(@YPU@AZJzuVuBE_0=UcIPV$>I2rMaIl3)sK$-KqHOrCD!X!e^{)X zjU203ODNmOOl~wD3@@v)azplJbRn`hqpyo$>ZZ6Q);Pvh-4Nmse?P ztzIGLk>0Q~9;+H&OH-%WydIN@noQ@V{(ey;`@ODT$!d0TRlcsOgW|N&qNr_J>7Uj{ z#cU59D+M;Ew!+=>fw#ZgEanN7+sEZ|I+l$sH6gP+Zq~R?c0WAMPsV(q*|)6*8JrJp zhnbKx%J)g z47DjSi)e2y&{T%caiiXVY>1)#kwO*2qN~o1&$H0JS?Dt7qfqvic9*iN;y$;^uUM&3 zS#M7(uu>Ua(AKn4sq9YH+q{)=HzWG(@K_mjPWO!xBs41%b-GYD^Bhy+B&UQ=7+REz zA~#I;aWYWoF{3F%t(v2zz`ORoerTaG$+g}tr*m4a=h5VBzNeJ(4ckJmH%o;MKDRL^ znL{R!xt$(nPwIy&CmCP%XQ?XNyQx<91leEHIc}Wi4n_A~9fmxJ};*xz@P8@-rW>~3^!H=K9hSR?w`KCm0^8)S0d>7Uo~xdv@#eS5ifJySd5tXE4{ql7AR|o0~d4B zpES{)FcpNE9B%KVsg_l?v#atnJIhK;jtx@6(w$BWu%@J+NiLOWkH|r{+d7x3qZzxT zINH}aPY3IvrN-u2VqU3f<7p?nPtEe0K4u#^s$Yxscri1dO|LgA@r-LNE-SN6ZImWA zWw`5P;r-3J(M)db{3TtW+r?xnQ`Ls@XgI{SgW9T&t+lLIZgjcEKJRX^VwH{RiRE4z zc00|b;vNExj+UN1$+sj&HardPR@7A`x2Y}NoB5coY90UbVo)FX#QOLte^wsLPdRfC-N2C5`oN_vU7ndmjjO;$*l87B_*F@r1XZWFrIE)i76#{ zIfkS;>*V1@nJ?7)++nS@UuL$bGa;!R?Ul`>7VNKAHhba7n^Hak*RDsC2R zX*%2N8%$x9t!2`4wdqS=@VAXp<+wB^(SlV`x<1XrEP;S$lb&_wt>aFtIII!PW)~Ku zCaOoK)dpOjWL(o0T}dmVUt4E=L$=ym&ezrYIGs?6t8sa{k1VVDXeO53>b}lZ{jxHu zv#DA{^zYfpX>+jhm#=n5LTphhv+VVXCQn!4d{{y^3<>S}p!afzD1qWRkA! zTvDfav&t(;rOps)X~Pa=QlC_i0Q5kN#*Fr_?7AFn1){u88{%Aj`vDBJXx$APFs;k+8*t*^oCAkqO z9cn{1tzYiHsTPm{a4c9Cu=m+5dn*}LJ(gW%|#!j|cszCuJ+>eMW}2SLub? zDP;Q`b&~e#C%yBz(CbyS>9!EBZgmZ4b2yhb6_#^Tr=U!O0X(wzzIs8{A+ihnhR8x%KJE?39d72!1ox_X>Nq?G}#9 zkvg)%<@0U7Vrw|ZU7+|zRvKAnWl&i+PZS{gq9>^Sve}x}>dWOCod_$>T3jW^SAx={ z=VGNJqWSYetCTH?If1UG{ra}lTWDQBqpEv7RVHXoVRG~7EHhxD8K+XpJyc_*n_Jd1 zy_pGwb|W@f$Ff*Ey>)v$Y+G=YF2DsW{-7u z<#JTi#A;h{vw?D{g)6~wuW%}tCp|U9@3TGeHai-EPL0`x+GtFAxwY6Ub)|}T?-O=irUhIXgkST&6R3R6&YoJLT z6ZEO7Q}fpD5{%E3E4;L?u4mVUtdLTzIa`hcRSPKwOV>g}qBVVvPT5j_F=vkVc`{t9 z@Ue|+oSe_W;p^OCu2^5K$?`hQagvCQfjVElU0*Lpm2wvcX>7;K8p(I* zaydSo_K?k0)nObz0&1Gi!B}a;dsvu@O%At}Y7nK%*J=e(er6thl#j8bkV}c%?6(JZ*p^}gZ1cHxJ>WH zm2fA_hnHBUR|+uVvaN}!;*N3p9pz<@WA2-5&+3%G$;)m~63M7*Eq1Yb#h7F@sU4 zkSH|vM_PFw=(%#r9-^CjdJ`aB%OGQGM|MZE`s7%2C+wV|2J>3S<$FojG>hc|8sbsCCB<0Cbm0JaLKy@Si z&6;Wpi)$_|=EXF-6g;KXyjne(c~&XmbbPwjDw}?C5wGJJPS3QNooy@0alKFqt!LXs zxmKN(rPX-Z9c=Q6X=&3hU6oFkk#c-d&?7Z;cQ&4rtw|$o z=j7_Xbk)SVRXM!K_qXdaxk)0OeZL}xOWtvBn=Zp8Z0cukwoHv+d8Iwc?uZ^cmxjnP z+F$2V656j$BRtHw#qrQvv1N|C$$D;f+S}#fa!0!ra=XyzL_ge~?tEhhH`B#2xm7Z8 zq1;-oxP^zmN$1*>dMvQ(+d@JJ%zTZmb~YJ~qMh3kM(t*UlF%rQaz#ka?^1(PHlr?? z{7B$#q$wY-Ikb$9PlKyXFTE|0+?rgbirrmO0}@G{Gd98=QJY1mDCC8XLqR)7Dz&u^ zoLpv`EYzmkMYuXBq+0eZ%GIlfO@tq>;A*~DSjRer!LrbqVD;louQ)EoJLw@*2-A-3 zxb9xk+oZ7H_I45G8g$QBDA!`sw$G(KG`gX?6TDvDC~42qxkV*nni`!?j*9f&+SRwN z!eYv{t5j$;kRtnjOP*5YOeMvQM8|yF=Gv*fwTSQ8opqAvjB|zdtQV-sLTq;eIu7dP zn^t&qE(^*QbeSW2*Y>Qp+>4E&Wb3N!hl*eL!qws18h68OiZh<5H_Adg*?+Bbxr2u+-46^S~*`M>C(8_WVQ%%KJL>;jXFQy+!XvPvD4E=!i6$b zTiuO(F|LZX!QtR+7w`MJjp}4{*qt&7uD`=Nvt77&+(1|gXez=ZrS9)my1hwKk22++ zKX+Za8BkrMnkcr|%BENflBtrj2Ceh63o=d5Gl9Lka60WZNGUudHejG5J1mXGt=ykf zHy1L>kc9?+(unezZfRkglp4E5c6*d-W{z_siSDjdnBKLwd@(z(Oqct`vfSTFy;E^E zzm&QD**ej`%;&a5$1&K{YzoSs_x9bBE<5vV9YVU0%AVvD{z|qL)seIg~ zT)*D;~kQ7Oh3X07=|46nHYvscRXX=Hf2 z<=J2^m=5Ja>9c8Fhu7!zv-)!2u90c9U0r$COA;AH+2Ty(F30LDM8>7n6d95&Vo}*E zT!Z44E&iN!3a5)jg~&*)bnBuHCc)}`ZCr};!G@RL7HiES=^osc&ld5?o=eGS*Ez9g zbk16q%9XM-PNxgI0ezZbx4tzu_lT8Vrc77PJJfKvrqVmv&9S42z|U6Xq{J07;#fGH zu{E{SZ|vojaI%b)cv6_Hh1zDqoQZig*F-dVGn|APNsbm9x`#Wq^uTCG)HDyatlo=oD;}d$u)P+o$X;^RnSUT zO0(Lk!nsHe$w9Mfk5$7nPHm>SEofdS?J8GWua4Ddu2$r;*4=m_NVQ(2wcX#yH$^W; zwd9_Vwe2ttYILdzDUvVDt+Z#pu52m=wYDhD2F>XV9q#ttx=2nY-uZfXv^txeFY>%? zT~s%!ywG~*Gam<$&dhnHlwrh+MP+=^2{#(Gawph5-ep>YO@e7Ki;OzK^b8l(ti9Q6 zpz$it)EJ_B+Eo}^&zn8feAyN7D{N&QwwMp z6heC@;1M^v8Yd^konH1%&{c0PDpz%!>sI^fnRddKNuW+Sx~>a4R6MF+h4X1`JSd8K zn@3993R5{0#FC(1OoTc&osG%`sc@n3=}2QbDQpEcTM<<#T`9OS{%kCFF@;+5ZM`S& z6FXb!uw>0o@}owtD$($)nax#Fb)>A+(9z|T(R{qWK2Wa5H}wsb{z*Lf%O^`;H+NpB!Y8q|$25=g@Lg`EGijU{KOLD~W8{u+6 z<#v^Qt+giQ{Vc$0`c0|Yj;*rYtx)J67OxiN*{&JtmP*pBxDEA=#>!?a_2+VXulo7R zxjb%_s})r|?5(F4v$SmQp^cz2*ts(is;tJq(B`=&)_s%9PEWqn2o5hCS9WWHvbCag zUMQ};(;R)h7?f{obwOKp_**WKV_K1Pv~-cdim`^kQ1W`P-*k3QRFE{=J*><5Th-Z{rL~bLW#rNlEgw_m(sd?SIS~$(39Zeb6)o@Q!@(sx+?DeK z&Q@)=0_sIUAB~i=?tHZ4<0Ic9I!i6uY-NTs{sF#v!+GfyRSIBCiN;YfzwtqfvD!ufm$*=-c8FJ_hsnKa+D`xW* zeJOPu&BI;19GmTXWVSfJ6vIu|DA~VlUo4O2vKS^Ct1|{0hFhsjYMkoaWRP`tIuqw* zn7k5iz_4Uu#0e!S(HQOI;cfo9=WVNv_~v---EN2YP}sG&^L1m~;}@e*bx4gBuDjZV zD{wO)6okHx()D7ViDYf`SX*h7l+N0BWQOApt8(*ZTxs0S{amh~3g;`n&(Cpz*dGnN z1$T!WcSvPb;e@`pU5?<^QFb~_Hd0DK^wtt(-~%^}v?f|=cEJtlpljH_5< zB00c7%Wcsr5<*!@j-oY3|A=2}tI_qGtSf`+j9Q8PE4B^%3|0EJ7un7lGX`C1V!B=_ zp{4BrO|M6?Oz4Syur^T+Wpp1@(-~|;6jWt1YW7BjN@u|#txg$lq{lkw2J_L?PO(VU zq3*b4ld>{guolYO^jb?h^wfqgwtCVwyI*V_rDVA=TxP23&0X48m}NVDAE%>CPQWZ0>uV_i?=gUy9 zymTwad|i&Eb1f-*S|A0FVwXL=YqlaCucFj(b|#R@33bHf7F70%JS)WLYcjAAYO(pC zrBC3BH#1X~+w3w1G-+=aMDDU1ZFcLY)F_XY8}iL2Q;(AJ>}EQx*3^p?HJ(*(I$ERN zNh_4HV*Hcay<->Lh_$?2(#h!|otP;@hwNLP45}@A-IvitXP3_O>XV%!pEm5YvwAzI z3}m&e>x~pU(BZK#uN7Lwz(CP6imrz?^GS^i4)D><-r2OTA$8d58v4W zY)jOxv~tFuIp1}-vz%jH=+X+wm1?!E(%G&UB{1&@H{!`^F^N=8#;Z)U>e}s=!DXDb z>Y4Fz{d{=K;H!qvW!=@Lem0zomut2%E$)Wuju@e2b6lUH)mc%mmTPRevr&Xo9jVM` z$DCG-RxX)Z4VzgP>A`M#tqtVes9bN2=T&x-o}OgU%6Tq0zv|aj|3aJ()K~?dT`q0q z#Vkh7m!SJ#%*qa0D4uXPJ(@k!+iB}GG_XyfL0Hw(0WPE=+u^)34(X%0#xzuVOiiP$ zIj<=#=8Azdp}A&COlG6B8?*5|PD;v*7K?##OFt8`(wLG9sw--9I+a|- zxlT`;vp{w-jIH6ph`VTXdf|b!pIABRt95AyaVT5u`+D^{!!C59&(vd7f812V+L$9| zt?9YW$&rDT@1~E|N4=&1Z7v(h-Ni5{_#}IwH;99W2LX%M_EXXUBR^ zr!$2z6R-H`ZZFJTH_P+WjiE=k41mss&Tk)ZGE+Q<7ffR zVbxKu%xyr>IXsVU56fgxOmnS`79Ak+kRMJ@TJ^$+&*f(I^(0Y|7A^Hc@AbCYgtJk% z%S0_RK(c4WqwdMXk?y6tn=7i*zV6%0H_WcFnN$abQ$88s<{XFpCc6>B{18 zdQFi%wJy(3wz;&tZOzo-P#uiZJ(W7)t=fENpBClNB&S=Kx#^DFlQf;uV%qJIN5u5eq#cs0Jnf5Y4U+RZavT~(cSHFFrZ&5b)M)$lg!^U`R{PjiFb zu-BAbC9ZPVKQHRVS_ztD8v99ib~)*E_B`E@YS-(9=&zNEb}6cE3d`n2aj4%;tg5$~ zDD4Dp(;B*W?O|F#w`_BrVVOS3G0D}nUh9|F2-h0q>-PTHroJ6*Z0eLc+$SJmFCs?6#04c|%)Z?t&xxE-0`Qj$Iwm@F8M(s=ngcic;MFE&i$ zauZ$4Qef*5YAqKSY@rsb#&jr`@>43GW|AacnJm`T@aCw{nPOE!O66{H*lLkpbB#G$ z?+Ldnim~q(batarSo?UP7RVg7n-+Q*c#~}`buM$*ag=in8?P*#eQUNv54O&7wcHZq zzE_Z2<>J+(zbZ7Bv>;FTk>1Yelrkrqbt$#RcdqV*fTfS6CErzvN`}#-fY@s%niu_H zv(;Q}<5aRKWtL*CLXWcIVJovf&d|)sg58e>QqkUu6e`8u+TKx$>0GloD{QKuaU+12 zYQZO@_tMTSYXxzCNUg;_JD*=qN^G*^?w&}8Y9Zs1{neNn9EZl4MSgr$Y{_x0-byzQ z`LpsZ$uQP{EpQmH2OI%sz!h)@JOOXO7w`v;0>^=eYfS|Mp#T&J2jD;?fCQoeG!XmO z^{4Ov5jYK;1J#f%)dP(H7+4Op0_{NO8LL^11CxLnm3c7=ypf~6X`h!QoJB=t8B0r><0(IVQ>^22PZ)_I1SE%T2K$pgNxuYxC*X= zo8UIM3+{urL2JksItKD`9nvc6R1k)d>m3S~lchzVsu2TMN0hPY56R1EPU zAtZ)Mp>jwHRYKKJEhLBPp+-mvHAAgXJJbnvL%mQxGzbktqtG}s38|rJXcp2!dT1V6 zgqERIXdT*wwxL~UAG!rDmp0(5ZHFAdXWIq2ArIsQp4)!t2s(yNpa2wvLJ$OnAsF~} zBTy7Vp&0P$PC!WrgK&s|PN6gC9J+ump)2SbNpKlmz$2W77$^(;!SfIcaZmv& z0?%*(5}^`Qh9sy0RiPRrLv^SDD$*v@g4$3A>OwuJ4-KFpG=j#^1X7_XG=nrqhvv`% zT0$#m4Q-$;@C)BVw~#e#3m=B|n+ z2_X;?Mqng@AV?HJkr)z35=auk5F8{Z`2p{M~|Y%(UWK(8jOab zP&6Ecqmd{QjYiREEE4^1LR5^FqUER*twgKQT2zkKqm8H%ZAM$scC-`iMtjkIbPydzN6~R~ z5>=zq=q##5_2@jhh%Te6=sLQIZlk;CK6(ory=~|rYDXQY6Lq0()Ps6aAL>Vs&|~xj z4WL0ZghFT-h0zF#pivY>V`v;rph*-%ag;z$(KGZMy+AL~EA$#op*JXrrcnybpft*$ zSu}^{Q5NOU0$N0QR6s?vgqBeWt)Nx3hRSFiZJ-L;L|bSZ?Vw%s;d+S!bclkfdFTXH z(J4AZHB?9E=mK4$D|C%+&@H+{_vkHfQMbhoWA>OM=8U;w?wBX$jrn5!*iq~_b`lH3 zg0WBxiiKlvED}Rv(HI(w#p1C?(F0OT}(tWGo${Vwo5n zV`8AwFqV(8F)mh!6=Qr%h>5XMtQ?bKl~^@ai^;KitPxXU%~&hej&)+)STEL(4PwLC zC^n8wVrpy}o5i%49-GG&v1M!(TgNuBZEP3Y$8Ldhy)Awix5piEXWSKc$31ax+!y!9 zkK)JilXxH=jECY-JRFDPkvI~M#?g2z9*-yD$v76r<3#*4eilEEU&JrtSMlq3Dt;3u z;wy7K`ewpSQvw`2!>!$48>wt97|wH48w4Y zz)rC<>>RtmF0m`@8cSg}7>T7Z3d>+L#$Z`2hvhLAeQEwL50#x~d%+hKd`7PI0u z{1CU}4%~^ma5wJ3y|@qe<45>0eu4+^ARfXYJdDG51V`{Fj^Z&qjwkRWj^Q{?;HUT* zevV(@m-rQaji>M%oW#>Og=cUYXYeeZ!}B4G za1c(yMYstM;U#>8pEx3pi4!6~JY3TiBEnCs>xvLj0wrQZoJbH!0wZvOAWn%h;+(i3 zE{QARnn)2h1WBX`ipUT&0j6gYIU-N61Vln(bfI*Sbg^`aR3ep1 zWm36RAyrCMQngegT`FBBT`pZAT`AQ{!=*Z@UTTm=NF$|D(r9Un^dE}0@lvBSL7FH{ zk|s-2q^VMqG)la@>2 z#zbkAv|3stg$J2rBH4J^1ldH{Bw3JbvMg8@BAX(cDw`&oE)&aU$Y#oB$!5#u$mYuC z$wFoGWea3svW2omvc<9`GKowolgZ>Vg-j_^$<#89Y^iLSY`JWOY^6*q3zz9+dYM5M zA&Znn$)aU3vRGN1EM8`mCCCzGNwQ>FiY!%TlBLPgWoDU0W|d{gGG$pZo6IiDmgUHD zWqGoES%IujRwOHymB>nEWwLTvg{)FmC99Uzz{75Va*=$ze1d$Ue3Cp!K3N_t50Oui zPnA!TPnV13GvqVnv*feobL4a7^W>rO`SJzwF!@6HBKczZ61hY!mCNLExk9d#tK@3A zM!roqvX-@7b$R7_F?DJCm|6(Nc#im8feis=fmVuoU-VwPgIVvb_2VxA&YF<-Gj5vEwE zSfp62SfY?9qzairu23kH3Y9{w&?uHFmMNAiRwz~~w2E+rPN7#A6cLI@MU*015u=Dz z#3|wxMn!@mQIVubR-`CW6(&WRB3)rtSQJ)8h9XmurLZaNifl!WB3F^8fRDcvg^D6Y zv7$s#swh*GD=HL~iYi65qDB#*3{;AgU}cDMigKzFN;@mX${EU; z%2~?U$~nrp%6ZCA<$UD=WteiIa*=Yea*0x+lqzLPxl*B2Dpg9gQlng|T&7&ET%la4 z)GEW3I;CD|P(~;tl~KxQWsEXb8K;a_8kGskL?zsUtxQp-Dox5XWxCR=v?#603}vP= zOKDTumD$Q1Wv(($nXfER7AlLB#mW+8sj^I2uB=d2Dyx*$${J;WDo`a-jaN-jO;k<# zr^<7%DnvC!HB~iDHC-iE%}~u$%~H))%~8!&%~OS{=BpN{!c+@Yi&TqMOH>k-R3%f% zRSK0-rBbO?8r4$OGSzaZmcCM@RfVf`D!s~}icm$WqEykU7*(t)P8F{*suEO*sw7pi zDn*s5GO5y3=_<3zqOz(oRGF$Ql}%+=!H2Y}TveVbUsa$gR28X;RVAuYRhg<>RiUa> zRjH~~HL3u0pjxCJub!ZusGg(_g6izS>Jar5^;GpV^>npZJwrWHJxe`XJx4uPJx?8~ zp08e@4pT2wFH$d7FHuX>QngGiS1Z&?wMwm4Yt&2C%hb!&E7U91T6MTur`D?t>IikD zI!Ya_j#0;|YG!F>YvyR?YUXJ|HS;wKG+~;Bnnjw$nk5>EMyio%ZD@6l+Q}rJ6ELxu!x>sj1RbYicyQ<U6q99eg~ekJTIX3Hn5Rl0I3VqBrT&^yzxD-lEUYXX>-`Hhs1} zSD&XZ(3j{d^i}$5eT_cQATmrc1Q{k9f(;>tsfL+`#Ri!{ZcrFh2DL$BSZY{iSZ-Kp z&>F%GI)mO|Fhm$44N-<@LyRHL5N}8_BpXriBX9~iB(B8@D@aBaz=7~%GA{C z)M6-yGC6&kd4_qWdA>Q!ywI#LYt1^d!5nR_FjtzZ%r#IfWxQpQWvXSmMQoX2nPr)0 z3AHS=C@dWNq^8I~-I&0@FYTJkLgmSRhZrPNXm1y?3o zCtHK9Q>;_1V(SvC)T*+ot;?+|t>IRkHNu)~O}ARCrB-W3Mn+ynenx3VIowiLlQAiC zO6H2pQuxtk&ML|(&8mXhBjat8Y?E!lwgt8@+ajCPCbOw*YTF81xJ_r%+YGi?+eG^$ zd$4`FU2LCWpJ|_C54A6_OYBm+(yp>EwJ)qEbnDU-ZU0N;{xjl1|FN;t z5Z58@L%e_>!WcXV5yUJAIYb0R8bl#P14J*x7Knr6#{NS@=)as{lc1N{AsAacD8NQG z2#CBb0wm}i0gCMu0I*ZgOWr4_^gjl<4+X^jvjQaSl7NeSCKv`+1-)x-3T)zU1^SU6 z1O)7{0GauVK#V;Xj1YbkV94(RhWJlG`BAbvg~xD5#4L9du-zSiEp@leEQyn8P>*xgn%%UwS*-(AF8;*NwV-NmQ|a{of!a(8S*=T78Bxr52E z?kHw-cLXH4BOuuwh*RAKBUX1d(GJJUbr*wtcR(m`$B<%o5n2voK=7*E>ue3~DB9!> zh%Im~?e09Z%N-NjNCVa&IX zLp+dRvWM7<;W0vBdmw=0fufiP01z0@10lM5h*2*OF~Qe^M-B9_@h5v=AjAXkrg@M< zW_uLji#?8ZsXchea*r@n5B>g)yqj?zBg>K@mj<~^=x6gFV!6;J*Fzjv?6E(%$^%1c zJpk%}eGU%pcR*n>^x1 zc6bnwUC?G1T*E$(5$a*+cg!O!^rQzi^05aIoQK@M!DD?2xi2C2wFeQo1INA#`M<$K z?t2K)@8S4AcmU)f?0@KiB9CGDFNlBgz&xLN5Wq9o_YB%ShvjoPmzN$Q@EX=3df&h` zjKO&lJjH!7K<3F1t01@BlYnVGfiN7}Lm)aBGr}_jjrGKa6FdpL6zFI6M1cizRw&$< z0b^!)Vy+y>6+o^O#;o)lvD8C<2yr8f+2%>O-sMTP^?NSB)_aanw|EkfcRYn)JG6n| z?eZks_Irk6@4>lz;K@Ti@;r*3fgFU-c~5f4r=BQs#S;*(!9ED|I-JW_aGtk35ym&3 zdF9`Gj%@x3&hv>U1APu{Ag~v3ZZADi?6s#0;E?;%lMdcO4x*RfMgD-{^(!v$8VU6F z;vxQCVKXOsA;KUpsJr-2h~uVtjZkKJ^&+8OVd5oT*s$D7glQnB@yf$idW{hDUKoh* zLeVJL7v+WU;=B-If)|P;!FG~YFV*Z7;%@gsLADoySH;*AKWd8612Zx=Efa`U|1#0$N#5vez!SLKcDUg7Ny!oA`9%$tWq zdIyMOA(!Y)Af|XDlheJ$GcvtL2-)6HBhVX&bG^NemUzp2s=Sd|b>5*^v$vS&gq+h` z2-;x@!Rz!U&sq(~>xb=s0|5ixpm&`&S+vPpjBJJDZG!@%?|7r=4sT4n2e$V@`@L`t z`@O}4Ly$WRxg)R-0y_rFe}VA6H?L{bn~0wF#?X)9co)2pkWanErC)jgV0?tW}nYd^#-5o#8Dq4-~%5N`_Kn!D*N!rr+sYV zi;(-whk#x4L1umB12u>tcLQ?Y`1}<5gAY3V*oT1pEMFvS zzAuV|`2xa1XagZ$?2C=aeTj(57YNlbrp6Z_OCbj#UJf~(FM}BAi=fevi-BCMFNPR> zi69Z$B>EC~slJHF3^|K0AZEZm2s9Ix5J(m*vmj^lbrEu49YUPvi;0VTnyqUbwNbap!&Z#P`uh%bsAgljki z?IF;^aGvkO>v9~9c>?;KgnnnC{m0PnJS;Ex0_+m>y8`{L`=W#|;5EDH8v?$8{t&(Q ze2F0sq2Eu??ryZ+yjGz;A>|_Jh~jF9c=#VIw?0BI51`^$`8U zn77{u!5?ygegWtN*f+tCfJ}noxIum>m<-#KAvYEJ&Gf^-Y{<>^1HyUGFAVxE@xu_A zA0k%zVdABJ1h5R+FN2&Gat1#hF~%=UoCL>9gX3ACpB3_dgGaVQt`Kr%egv%251>_k zC{hFY8aQ6PUkJYy&Y{f@AWqolgj|Q8gU|{4y8M8+8~XLZxeP$RK{(GLXfp);Hu#Cq z&3+iV&5zK#%a81~&kw~8_=&+G$Q|_y$@|DpKXTSj#Jl8&gk6RG*P-9PApQczyyZva z-StC49zef`eq!QJehBi5A4B{ca499Izl$*Ff1Nn&AHsdd9~19_ z+`EwbFTec4&T?Y=^m<}}yp0HiP9n*zlQ`wk8lvR>S|SKqPdqQ#L{!9WC(c{Ck62QE zj3^;}K1*uhZi$rO?L-JxjAOXquq+NkOk(mE0O;BYV*1tDZw({ysGa26TRW|L{t z7m%;e7Lyl$xRlI6v}DiMF=XP71hSNoLZ%rlWD+@(OaNJAK(>>ELkq}KT?rWhrDW8r zl1vMzA@hh0WB?k-fvK%z63I!vBIzU}sEZ67-Q+;YYO>DJPu56=$TYB)4A6DttCY=T zFmF5Ak+c{3?IjO`ePnd?L9!<}Oa>`O$P&UavI~3w{g0C)!AH>MBj`Iy2J};K?x)ET za0d3BAq#cq$S8V&48~s~6IOf%=X8aPP_C0bC*L5isQZQt0`8I#+C6ep`a?1iJSH0y zPsjo2b25qk62|+D%mTl|IKPuym;MFEdJFx>$ldN_ikZr!011oI)5xXFB6(0ihc~51 zDWtdq5k+X2LpLm#+;?I5F0|VZ%l#Cg_hE_z zya#=b!1fUe9UP+^Jbaqs$v8(52`*EH*M3fUH0~QpmF@whyy0icU+7E9`q4L(S6@@9 zDP%Wl&r<aCF3n~%Jr4qasP7 zk&;FIVQB$%LrOVy1zJs&1=mxBK}}T6CMR`2+C>#Qx~Xiin!2uX1J%{InL5mWhk7z- zH}zZT2$e)VL|xkPK9z-jNIlOyP31P8qrTtv8FiF!jT*@Rk_w`3QAZhfsAm@cKyB#x znYzXI1+_)~2bHJ>wBbM!El5nGjS`tOgvO=`hcOy(aA^v$J8eso9}WH=N@EKHXcGb_ z(iR>OLy`I!G~vuSG+oC6+8|g=OPryi4Fe60uzCfJ2(+~2>?oS-egaL{kwSBTR9g2H zD{Zx34lQU)5pCVlO4`X32aTd=r17Xunk(K#Qz%x`S~){-oFSS7tfie2Jq+=kF4g!+tv~}t9(MvYE@LnGMl%$BhLR?NiB(0_IK^y4}L+$hf z13mP*nf>&@fpzpouz{XA>m54x_+I+xmxt(KqaV;WZ8}MhV4kD^Jl0T%M4)}#m);y>CE_+SCLU==$%p9Xj0m4}S6_Y^^;W9=Zc`-(-0~m(!6B&|I z!HnfsW-!3;EXMBhVGM_J31jDM6$3cbj0@704Ac?M7&kte0ea#Xm6}ur0I7^mfSEyQ z%w&LB*$j@fkl_PL89-RZkT@zBfsSg%z;HdIc~dLH239e|!99$vO#_TN={g39vXK#x zvV}ncTNw_pje!jBU;xri#!=M>gY)4dXa&EOAJ81 z%m6#CFi50p4CkpE363qGbFS(43z(tp@2yd+yK#ylumUU)w#JL4whRDiSO3f=H(Vk@pqF*1Khx<$ZhND z$!?|{)7@^<=ehyUP&WV|>K3>$z(O|~SmfrCO5LaurQ4~{l>18(ENAve7BxEn!z(v7h4W4B$LPvIOsb#ruHcdI=5jay{#_imo! zAG=9zK6P`Pf8oX?y@LEJH|fY5xA7f-DI*b?v*Q^|Z@^*#2b+nWFB zNQzk|{wASFun*H*2M&kL3XUEG`&i1+Lo2%JAC8>LTx9Ib8c# z-V5Gir8j=SN^LsH8vW!Piy*wf64EZQrWJn9+A6%kn(cOnMFMwO0{#OQBK&~`>L0OU zz%ML7d%_~=p0gC-1&hml%_5h-WnGaF*mOW*0|}W88ma6RWF}j2gUcS0c(D0;UpCh* z0CItBgfO1%5CpLiVK5ueLfFe_)7jwEOjw`ACP?P6h2l^)eP9tA=9^+WJSFTY->KO& zpkb51Qix^jZ&59q4|Hsy!@vf@2sRjqW&<>aU7wf0t_Ml%RzfNp_@=W1S7fpgki`bw z*=!*#7sk$KOF#kSirGL>%5ET5u}@YtvI7EI;e4HJ!nd7l0_b9oDtg(B?*`dK_6GLE zx-IN0gza!{JJ_LRCW*x=)v zY(Toj9%0^PJ2u~EPu}{NEouIR4IEF{gk`_7rQ%m?KzPlTy#E(F<{wE;bYzZDNaZ+M z8Jv;v91cNE^_6s5g>0lPPJODv-fJ zBv~AlGLNIJFX4dEG7b%`;E=^NoVmZWavaQdj>PQZxb^mPP}(2|P}XvUkA^vn^V>M} zDLXkA!Cua6$$k!D+It*?dyGSJ9p`AgPQp3;?;#2Jal+Y2}-(Ai4uHk(QgS2 z=qAvN0zwO_8*N8bQWpv`dQs9l18B;x8&T&6J5ZSK3w`hW2>Km3gc4GYpog8Lgv2>2b2jiV0Q8+6$Kf(c1P3;-gAaj6*0+k=q?Sy)ssA0v?9;{$j*7Dc@w z?~M&91F+zcNf;QOj4@Jna! z936V>3@Hj5CB5BzJO(62Y{m@}<^X9JAf#h}Z-HOZte7Vu3&zXB95g$II`c48 zSO9GcF&0va0YL@i{sl=THteXuB!~mkAq^Nw*aYJ?Vj>VAvFY2frqMkZW%7RPjN~u|XzxMaBN)Z;J|;deiV=`g zSZKgGIM4GKi+CActIseA{TjvvpTl@xU?}M;jO4h9U2MIJX}~>fLiv7%mJ=Xd^r1&x1;8JI*ayx!ay8X9+{iNl>v5O9aZUfdw5AGeY`flIy? z!d<;%23O%ZhkMGtkb6og<9bNc+^f^VxrkQ;mqv)<5>CZ&fgph^aV2xRg=t)bWah3U zWx=@rdpI0+u1t{66_N_M1ZD{rP|CO@ekB*ARC8N4ws3DA>*j7G4{{li8@P$%w{g+X zo!pTL`?wmgAIAUB(9sTY2fwPXDe88n4C*T+DQLbd*3>O4_%w^PFAa0i*}OnP9&bfc2~UJn@Cc+T z9*|V?2mubBP*@MgY2b|~H1iz7R#^)9_*_8bO8|)v@0s!eLg5Q(G`Bm;S&_o`J~pFd_ia^ANhST-lS{lU=P0wIlu?PgM7s8 z2w#%-0UuR<#2;=w4Q>8A)SczSXBK=HIL`+Im-v)#ukg{l&-pa>8+^L-HXlLmK>Is< z;ez}8KJXCM{|!mtk9=YNQ@%Ih1&r~MKWXzDINqOpg5xcpaFQSZ1fl@YNP?4qDwr&E z6AX8tg7FkSdi?X2LdvaF$>Km@5#1c>)q`zQ92U6F9&^$o;P|Ojsg_ z1u_^<4(F~ANDvh))zD8ZAPAQVi0BFd39N+ef1y5HfC3$a9>zDoeuIESjfN$JA{Lha zBZQk1V1I(3V>lJg&m<6QECO0erhprl3$H~UjFm5NNQ(qCP%J<|2^_yv09I58NRBE& zJ>LPxse|jQ7X-jhxc~a~CBhl|4haJf5%}-*PrMy_1@lc)2xDXJ5ECKh5;$N1;qBN` zSdW9qgeZq-Bh&&H0p`;BzwmZ!BkbP?@e#yl5O)b1*@{{|oCMf^u@#D8E_ z+e`Q{|2x=}j38n$ye$XF2nkS-SWkBo74!v6mZ64-^jAs$3N z5g$WNUpR>n!D(poH&RB=AwYKlw*LkhT!QsW$OrS_<@tZ{>Vdb`?!Jb9?l2!!-ANx< z`hq&C5JnLGGuPB8%yq@C3j$R3G{6L6FbZZu?*BYsj$D9D|Hm8b|2f`{X}}wz9=sh( zfn_H2{WsvfXfQTb0pWxgg4hMu^B=E8;e~MHAFdlVJdG%h{63N%eKP(%V~gcI>k;cy z>k8Yc!c)ZyE55ELHN>>Gw$62)@Az!ho6aA)z8DNM6h)9Cvr^JikJ~;g^salq?ONNG zH4Whm!-uhDaX-WrB$X$fOC3#9S%0?HX7uN3OWaC-E2CA6RRmP6cjVOP*Z<_~U1QU( zk9uvHowKFvmkMJe+NN#U(SO6Bg~weg*kijjOE{~^6w#lz zS8&_h+r&STD5+54v@Wt)-C5ilGL)q4*5$!%<#hcjLyuu|*6~ub=kpD_4bxM8?b7IW zrv8$4F@0f1W7cSHYu%={)qUjH>ViE5q~h}G?3$g9_O_z-G?#vTo2kMcnX9W_P%Cm) z>6fLhuk>n<>FMa*qrDDukA0}4=ua9h8)_r+Vj5zHlDd;iQum~Onr=7eT0XG6wDf1R zWH;qK&)ZnEt>|LW&0>4m&t-QjUR5Zod#eSGB@Umuz6MLXpiAJo*Gn7-9f%)#wDweZ zMAU*pj~utbVwf5zpEw@_z& zL+gXJ8FmuBV`y!-U7xStXoxg^pQua8PI+$Ho)%`lSy)lArFnBlSN}}yJtNJu&U(A( zYWeks7Uu!yqg7hh@?O=z^`u9cV@E`S^sOZ{dnoTz!Iy=)%I6N_YD>i0G+S-7)}dP# zdnYzHWm4)D)0Ir=+AgDK^?pZk*H-OS-JZxjQB31-;={yXxW6(WV|muSg3gksrAgIz z?Qos8>25QzOWSqPMI4M8+P&6OtJEfH&uO2Bm+Ifb;|upAzK`gPqi+Y)QP5 z^k?b~liqyP`q+9YQ)m0w_A}f%zdold@2i5oLSoTJrH@NXDr&3gjz8XJu7l_p) z45V$Wc-P2FF0XjEqO*Qa=R{qo;deu61TE%;sUVGEJDokRbX!DBVMbF)=ND@hSWjo= z0CZY!AmV=wnH5Y*HZDHBBsV@<33J%llfzzvh4kevlVZviW|Gy3Rlf>?O5~1 z0Jj_$r&NB@;NL^TW3!g)mm69P<4iX)iZciM&g!-r9vDuiZZ*%(7|X0FT3&gq{-=fm zZS&i&b}b#G;}^C4ao5r@OJ~;XqPp@E=eSLXX>f9p7F zlJ!!?nT%w3^h{*0w%6OwWe@x_D_wojmZGxa+Tyyhr|?*Xx?EFUQNE@URKH){T1#Edskl|IiF;;69nD8ox5`GEB#d;wC3^Q^fcTd?p@OGz*`N&%x*7^YBpo>fn5Q z0Um}g#24X<@g=wfm*O&9j-Sp|;7a_Xx&vL$Q&hMbx72CyrTCJBW%zP@1-=s3;^DXs z*W-`lCpasuXte>4z$5V}JQ|O||8m6QarnZ7@9j$>-p}!lo7*s7`ySj<|8A6L%(>X; zKSuewuxskx_hX1B5TgY*w`D+-SmN4lb;R>r)a`g!^}%RRVz zH#_%O?z3XK<3ydbsiEzhGroOXZ?7GG%vEwa6J2N&AvQMFlteXcNdFcJIe%Gou;tN) z``Xr+oR~>*tc3jubCa5qXPfS&A1wT%uD$hWhqLeN4Nb-)$p=&54{L+i;0})#$HcM| zQW9Pzv?sok)RTNX1xss7^GKIx;2Ec~Ze$1Ke4g_l_ig^|lJe61@NgfgacA2v9WPdC zI*Bg6E5h}cYh`aq-|hZuHcDP>!RCUD!nD$l${$p&t#P#Pj6IiPG5=-$(9&V|&%cl# z-@zNm*49;gqurywtpCEmjNG1@Z`Ebo&G65z$~|6uu=M+imyWc?rk(_Szd6C$YrRo? zuA;CZ9#?gExTX%|CXCh%)k|HuE>=%}^7_QMtn*Npb7|#+CQ|#PZt+k{)T>k@o>|gV zyQKO3mfu^uTnV^O_RYLIg{jqx8WZuX?&pI^c)hkbf@I^`7U%gCOl|hxu)?sVOPBaP zOsC~;`zcpmwXWuJQ+nHpwhN{kb>mtuCV5!1vi~d~7v&b!x7=|xhqDrglNpUi^uuZ9 z;&-(aU8eqmzAgjHdbetS)x)aX`fE;~uFtyP3!kU|%^-{XIVlGohdXP&mGw3^xcqjL zsCDle(@@q>|AtRDtTlXWDYg0Kg_N7RWc{vGU=o={xl8lgie6UdI-WF6>=L<_^`6js z7`7Og+2`|4wO&Z7H@|B;mAkmAxbOiyY>h`Jc;l)?YZxkAL>5RcgK)|x2B&-zn+zp>zRiZJS;&Rl;(uyr>n?aGy8Mb{;|Gz zLq}O{`Ed1x22yYBhTaWdI`77kk|$Xw<$YF^QdQ#!&bM0nNWSiC*51-R zF@BjeX#O-`Rps zFRX_$rP=FpIC=D!+E@`ubq{B(KCDvyWB>ceN)gQav(K@#em3 zhIYqo{U`dQOy7zRtDiR%_uUGgY#4~(M6#pI3ENY&)*Tu4?7D*A3n)bmMJD{aVtZA2 z?a|t{hR<5>wSLllrTe?S3v2x%YjUsT4;1~;w5xMVU(C9V8~Ux6vS$@Ns&nt3Qg*3A zSlLsRnVwbjYw_{2M`e2kBiDYg;SSWR7v`?3+uhLWqH0%0Opd>ns7*GdE=tR^{An43 z>6+5=Hk3|jxsW&oMaiYHf4MUr5lTDk96GcsBlS+l9A65TcZR$U~;cO1pv`x>7td3+`)>|fJZp`_pq`TCk z;Z)C7&W!u-bqy@(Gg^I*{uan;DHBK#m@D$wjO(6+(heOV{Sxm>|os8q|ef3TMDfUazYBf zs`#otsQ0Gfr^I(tFQqa}=S;iPzcoWq7273SK>q8(#9~#Ae?6fgt7(h#qmD`asq1&d z-q?WY*oLsk@TeAZiJejHR-NQ-^jWFlxz3SC#J~sNcpzVo< z_=w9UPWplL+1Ajki}umN4MnRf*Hrn`IP2!tH#Ys$h4-BtoE^R_;&Q~-5ucc*qyuxe z`E=$Jdu;A6g^|U9B@aseEV)wlrff>Ns(MQOw=JJ{aR;6boHl%J+Lk^(N1t0&a%t86 zZd1>bA^BR7Zk29X%#OIA1a(qr@)FZx^D*;DGu_f|U6*+(=WJO(^)82_E~Nfo{ieo_ z=3u8s`#Y|geXflx-HY%v9FG}DzHRDB%eBgLyz)<%eB!v}cnLGOdbNGqF}Z7HcUIr@ z@Vs!Jq|dB@8Pz2sajKxrw z@oW3Of-{xGhA-?3ir(m24JTu7r1xiSFN!YNUgpvK-J1FRW;`hZNp`mH=-SuibWJd9 zD_y#dw$V#V&=u>A38hK?mIanG*0UK0^N`}R#TUxIshHFy9Hb3>6CMydBleXs$6~f& z*%dj}xep3MiXS)JZsoNlwDY?-;a}*`h=hn<x~}!SSjW=d&^`@s(nUiZ&WVw( z$Zump;wr>`5TlhhB^?`$AChdX}g zc+*j|>it!ZT(`S@`xJdQ2OqBUh@coIM;1jNjE#)Ti5pAanwn!mEj4!U{Eti8s_sjm0DoggAOLLbo(XNqr0I*{T_U1};f zxy&ur?U|q3zO;R1yJ0(O&%oyt{ZY&<>n{7E{6=|0)urltwc8wv>rU1E+Th*tsP&lB z-u^*{S9enX*8^c2_e2L9?a3YHgIW7*3E9tc1$l`DdkeRBT<-`Q=uVwyk98nJE4A&~ zwc0PB?7+hC+VH#KW4d1>evhC;-H-Y@`lnb^92WnR@ed;@;RQ@IH<;{~l99H~ywCi~ z`o_99qtZ5L|H>}Pq30=z3~#p{dvE7vuab&LB;wLR(Y+miBk zHqo^+7_-TyD?40fzR7?lavuy((%~lt;A0=#}toLTHjRX*lUr z(u)**Mru|pJgX!r7%lj{#9Y3=^7GmktuNaOov9snI(+++VowzP)p0J$j;B@xRu|M4 z6pSmLP@Ii>RW`-Gi9Md!mGoYcD>*8q$5flP(%fyiY5Cpap7Cpjqadj$r!og-OfIPX z-odTk*Hqiq>-2Ly=()T>xKR+79XB=Ub_(B8XmMF}_Osc^xi3n0mVMlKsXL_iruHH{ zlGhmJX53;_n`+FL%rkSU^N}J&QA^QBMfQ?i<+rM%YIf9C)E%swU+>-gb4#)F{;D!p zch7{?D+k|Qn-QT;h|D|#6H#KR&!dlg^Cb7@Y z+?M?$KL`Ib=6c*7ZMC zTZpT3@sW<7Bc?~|V-FiS30T5+i4s#o8b5ui`dxIVA5tgkn(^{ehD;a^4k6?H4RKIX63 zQ}M0F-3g-!6Oxcr7Sv2@P4k6vFJ-tMOLjk4=58BTiR)XqU{@;Ieo3^&IPI@7vzDqwmW;&`%ra z8@xW`z4r5nnpm&6JmW{ktJ(3n8}kE-jukaI{%W|F*pj>}S(fs%nVXTD8Ijdyo0I(_ z`+niul0Bs>EBV!;I^TLp!^_6BCX@4wv!&a=moji@kZFo&eb!~}p(ajB%uGx!T3?sZ z@mT)?`&R&2&&vwi6F5XxF$~mf)Mik;V`#AOu+B4w> zeNxnf_(uttDX!o|{jP?$&2g=M&Lw?k`*?%&^@-~lu?G`Qz(dyeQUs~@(g;}-atPg# zz1jhEUFpU)Uw|fsJc7nUVHOoyXVAiQ1X)W#Zwae#?rImksCE zT#r3&`m`Wu{WI;fI8I8KrNQ>FeB%1vh|$Q?G46>zsb5<5Wv?o$sUPT5^fyLSnflTW zWHV}(*R33QleMCD-+J#2$=Wd8dwSnEJmpoIICDY4Tt^Z9Y4?oeV!Q+=RexWf+xS7_ z_f4xhOYz+BGQ1pr5GyyvrQAyMG-sO!EEV{&Oi`9wHj-!0zgEmDIar=oQHeWit8hhI zHQw7k+FjjOgEIz6F`JT)n~_{l@=o~%=ib5iwf2o9{d=k1rd3%V*U5F_SW7ZJA2|PT zRvF!!{|H~GKNPKq+nI)E?@G+hY}U7Gr1e(K_+FG3CiTOFQ0y?=CK{$!%YSQ(VTOZPAlre~%j%f5_O0 zze?)DUAQhSEUg<~l-Xkc$ljUVoBdlhKeq?J3q_LR@_X^q`CsI(#>2~U%huq4*5a?$t;5&j8}O!-rtFRQ{`_Hl6TW}V-iXck7JMsy-MS6$ z{D-t#QAz!^`giaT)_gxyz2S^yJAN{MY2yxjC%!y(7rq-mnwX!w2Nzm8E#;Z-W`^2d z*yloFhFiHldDHWB`FHd43ism1qIdDni_Vv5D|&18;UoC-`V{A8H%)}*_wdhK)11}qwvHqC!JeZyuOA&)t!0H@ z2tT0HK)I1wk+-5uvG2!P<9y;D7&oRI!!M>ro5#%QmhBnw_Jg^fTp3q=d6t)#E=-CbRN5_?9RtRbs%@Y0D*pul`iUh@ZB`0gwxGwia4o=MZp=f8t zu8QyLZZ?;-_&ArwcNo_iH)Vj#wCtUQyrL;Z{bi4lkuu%csHA2#sJ;z<6( z+-A+Pw--*;5#zILPfFe6?1`5XClrPkzmI=_e-CdHOpl!!*B5sy?t9~L`~`u@p{_})0gk-7Q~1-Cx;9~Zoa;31a2W<`QfJzV zvd7g-Xxra)HGHqGUw_VUE~YK^nDJJzo?^$`L~e zm6)Qd^>wYvt`yhDxT!C8z-K+p>Rgr7vod_C?v5@$f)(?591>4Y$V+uursm8nSYGtB z`m}@HXlY#1l-y!$^=u=wN4YNbhp#Qvc87D}N%eF1^r)Rt6~=AGs-)_q50i#d?xxUE z>8WSZLd|sRdHi$hE$an5HPe)N%swgmA|9G^3BQ*+w{TwJCwKxB2E2?LN+tpK!@YGtzs|@>9ZUT=ot$~r)?IwRbZ2dP zeOJ?)mbBL6&b;>B-5uKRwT$p@@H_atxJPk!@m~{tl8wm$Dc|Dv@bB>Z_~L@^3m@Ql z#g~h}$KRCyfHNJl9F2~9_4caW~_nDKGKgaDK%rJiOs_hgq+Pc#Z##OTxrrlX{O$cMLE}Vs`CPBPPT69 zpm#0bsNFcVpsVt-)4Nw4t_`25cSK%^Ta$Fy1cj3`J+j`ld*|GQNvKa0AFZ5I{Sba& z#5BHcGCKElv~+s8j=DbWOWt_jz=*sTf65q}UTl7ubEe=8-dM7-!l!a&)#94FwUrGa z?H4=JSKV8c-1%b{-j(UP+A9yQ2tTOH(3j~~LM?^V*s9o+I9ftf!q-V_Q^Y1-#z!`q zeSfYtUkK$pLyPsr1tlvg+bj20eq7mAljB_6wX|zVPj63PZ^-I5eenaf0sld&A=orv zipx$fxmYn;SyG)6@nJ%LQfTh6yn!mLzjN)K4cpQx(o0$p?HcV~ZGx^?r-?irH)NC~ z?M-@}RF`}*_M?C<%mYJA7zirNy_oh+mzQ?_*dbAVq+uGK)+S=B(YHRa*`nB)R_WjQHcfHs3|A*^y-Q#)Ac%E~ToE+|R-vN>!n7=*p zji~BqeOyQKM_C!gbn#5-;J(L|52{=a*VM%~o@}%~?%m{hX4Y?y{}um>0cOD)qtc?@ zjhl)85+oRUl=v`ld(x@o)#S%1o3b*ql5#%F*_r#Ua93e)acJ>J#RO4<=(yw~kSHcw zcA(^!edqV{sxDVG*OVS6)MnIvT4&q1-1u3`T*9-G?wavq{IKW30|KwbZqK7|kB6O( zQbec4EGJ*fU<#R{-O?72U^K0C=V6P(vSVB7xqjS`&m-Q6G>J>yYwPRhcf>E0dqXf$ zlFCcw{TAdWXb$@@;{C`7kizskP`vy$NCE1ZS(DY5eKYSszPAJ`rAyzGzESqUe%q>j zRoOLFhuKF=Yklhi>Rjse%@0KvBvXDEe~rH`qF{!n_V ztgmd#f$FMXAL469YI1Au7i<+-iFmTYl4paKg7W#SI8wYvqE})@^2wBnG$f-lb0#lY zcup9WKal@%!Rv*G3O_GiE88ynrIfYrc;&9D`RcC^D~_1ewjGOW%xir1c!l40fnNzG zL$^lyCToNv`Ck?v6}?q@cmG$_(=~UGoJrV}^!VY=At6~eq^u)99n&=SMtvVsk+spc z$?pyBWZ*|ZSrOkv5Yyt*t`waR|Mt-1@YLbVS`Uz}j8j-4VjbICpL#|S-;wosPOI>J z;e_ZVNtvum(j+@^=(!qcy>YX5vrWK9VV}n{l9e2hoc&Y8b9)N4r~gd32sEF<0sP}Wz^^G6}?vW_P$%y#)k`Qzo`4Tf!L@y{=olx z-u|G0sPplaSv}G>j`$q0sGsC+4j)PXCF8aHp+b95-LJT6tm<|Ch+uPMVO&6NReoCG z^(tlcOGkc)6ed2%kd~;*uT=RTUpWaqat<&gHe`I8c~km%6|*+7cIm|SfV}~?dG#?B zu^+^~nfy{pC`d?pG@G0gQG_Xep?INqy{NIIsBF2+qugU(S@ph}*t$b??RDdR^TBs> zRtup64-P&ETZ!^dYOVbwFqHpe*!k$vnCN(WS#}Asul#6xyqvo+0!nJ(568B~y^vCr z@_K4o=3v2<;-NBH#avZu&Eq34)p^ym)EOV!a_q#h4;n2`tZ&)i8=fCg{7B?4o)j}> z6BUBP!ov>^8`mO!)4)Z$>qye}5pNvaqrzy0;Wpv8HAPB%(AAwhT25 zugbo;H?-uL(z~T^)f}vgI`RD}A$P*}Y~U}^^vwA1N6xrvzfZy%k}A`S zGF}r>if+_Nj!hi61=13K9kt?n9wgUm=U))qiw=xkiM31$O0g*8G9y=uBFhtsBmvv*#|YRG{FJ8L-r=Q=YA@@ zSpD{q4M%r2rup9u^o~pM!v{4+ha{X#-<#o``#AR%(Sd`fsxzVvXFberEqx*8vY#K< zDb_7lE50rLa<5Nq+wrX@E>)+7i~o5qO)!;vzqZd@iayVX(x0-@%5kMt8q8 zf$IZb4BXFq#KVQ)A~#2$jO~mKihJhK$LWa~o%v=(AC|C6KP-!>=&GoxeCgoxwO<{5 z+*EhcHL@r1M&gF-XL6r?^rN3NAT=s5CNODhDmLpAAxP>|SzN7cnrL!9q2j$E3QYOA z%Cow)sl8be^Ztd&GH?_?3i^913Hy-LawGfsZT@(FXLP$C(>#eL;vxD~D z+gsOgw1L~Wcsw`2<;Y`y6J9?rE~qMKD781^sx+~zVkE#ic{8^t(l5!a+`IBU-wnL>;Lr0m)ftYjZ4PN} zZVn7S!w=hUTGbWvQ>r*`;jmlUyNw|yf&@@*T20FFCBOUOiM>SZi~pe@N8L z=%kqLM8Q7K!yR>pj{Eu^^_B3J`H%QgL2o!E$}-kH_PNBQ#IMs*GUhUZGaqEuXWh*D z5|oV8=OV&T;Z5POg7D%g$?LL@OWrO^tGHa@yFY5b@Ic|A)N1)Ls41aoK6-O(VO?nG zi-|vHIAl5scb|M5^?vk=;tAfCsL1ri^qm=3v)4$A_pht6J+(QonztrwS87^zetu2y zNO5P`x8*riPKR2ng~y+NbU)rCVX$bZC{1MTdm@M{csooS`BwA?aWQELiGj&mGZS(Y zLL+HKZORFx#WrI;(;?5PdaB``zjtJ7luz_e(P)f!j5Ek)bssxjiNMbv`FL{I+sW1irwt;~flA z2RTMoN7*MO=G@3zQ~N={4*~J~Sw24JNX{=gihVCvRVKFXdnc$O(KE-i!XvObNR=jt z8jkuV?qH%@&UaPYkBpq&;I}LON_Jv?(*F2p-$M^hx%vO(Zxm>m@t|b>^rpleX-(P7 z`8Zy2__NZ@RRoYNYfqXrFFV>kV|lMp*$VeV|CXS%;F;h%g0*4mBAa8HKuY+?#Lp9( za|Ut-bKc2)rx+4-?ai+Gueh=QE9DqDUjD4yNWND7oZMKxLH?5bW%)+=Ci!OhEAp-K zSLLtCx5>B5336CYmowxnIVv}mTgz?ac5;r~OYQ>#V)*iKIk^2G7s?CeMRJk6L|!T{ zmsiO5$@j|-%B$pun9w(7RpwwAV2ZRgwi+D6+{Z4+&}HhtTC+hW`GwwrCY+8(q$ zZ2Ps%&<3?*+Kt-Rwm;v#zI|gm+HTrz-fq=y-M*`x)9%#n-0s@Gr`@yNyWOYVx1HM# zJ|fz~+aube+N0ZJ+7sH7+f&-p+q2t?+Kb!8?UHtBdqw-c_Ud+J`*8b6`)K<_`*izE z`&_%eeZKu_`?dD#?YG;%Zok`pzx_e`ukFuv7Y>$h>rMl zgeU}x2!%u;Rg@?y6xE6v#SulFqDj%LIH71!oKc)roKw81XjNQPyr+;W+7#`I4n?P; zThXKFRrD*AiV1~Up;hPD1}c>E6lh^zY<#26gf~!#krpi#m%tC7mUm zWu29s2RjdS)^r~2Jl0v?+0@z6+1feXsqb9syxw`E^P|q&onLm|>ActZu=AJB$DR1D zHC;ws&v&is+Ss+J>y@spU4$<4F1s#%S9n)+S8`WMm#{0pOVU-*wXf@7S8Z2aSAADg zS98~iuCra|y58!#(DioLyIt}wMOROku4}Sux=Y`+&~>%zTGt0%H@ZIQy4Cer*XLcg zyT0za({;D&o33xWe(1X2^<&r1T@Sh*c0KC)rOVI-bz{2m-A3KU-5a`J?%vqFse4;D zuREw4{DZDLtUJ6rvOB6fzB{2isXL`RtvjJ$HKU_I%s(UC)D_jlG+CxAeZ&yR8@QMS3Z{)LvTe&R(?FwAZ}X zx|h@I)a%^q((Bsm)$85s)64DU^@jIG^hWhY_r~;|?LF6fzPGja-QM?l6}_Fk-Mu}% zy}d)d%HHAL(cX#P>E4;%xn6zmeDBrXJH5u2HeA|xY0D+#68)0-CHG75my$2FTsn2> z?4|RU-n%5f)Ol&?(!ERfFFm*f^`)%6|iYwSDT*VNbC*V1>kueI-D-+O)X zzP7%ezTUq6K5gG*-<`g@efRqA_x;-UxX;iB^<(;38Y(?+@$`?~mw@?vL+J@6YJZ>d)yf>X-D_^tbja`g{8O z`$zj#{p0=W{^@>w|5E>r{*U@U?!VptW&fT2d;JgkANK#!|F|DNuw{TSU^ietz!`8E z@E-6R@E_n02nNCjq6d-(QU=lnG6sYL`2$4*l7WhWeFFyu4h~ce)C?RRkPoyCCx`D}o>4DjSxdHva{J_G%)q!gR9}L_W_;BFkflmi+4SY6md*IH%{ed3` zeja!*@NnSK05pghG#cDAXgz2%XgA0i+&$<%=rQOu=ria$7&yoq3>xHv@SOO;gu$f2 z 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

    B6w?~z-z`>VeL4<8O4(jNNi(Aw(PtFg!R$(# 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 |xs8;(LllTcHT5hx5a4OLb; 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 z%0A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

    `vu%HaL>c7hkFg~ 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

    reErpL-g>=@$?D@9Vz;wdZvd9akB9 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%0AJJ8c}V?dk_|0)I;`tb1W9xNBZ6k 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%0DC_{*(o{YkH8Tn{ zAaRc$bxT+}9_gm-@}Z-$5f@;|xR49FE9p2KJ>Kc|)re(XnafML$G?rbrfAqYXm_cW7b+dvqplR|92J_8X{Eu+D)H`E(SKL# z-YN*9yA<8w^l%^ZIqu}`v3<|}u07)DzCE;WY2Rmmk7JeJdRu(j^w@`Nzu)Xl>aQ8o z{ai1b?yIupOr7Yf^P?ivaec!+= za&I>czlt~0w2D${s6Q{ z|LRm>U+3wZO1|f3>^?wBR0WyH-V?N!X$9!7qGyi1yb0R9CEC0^i?*zk(6_?4`o5rV z)h!3;)Jy{JpLNM7HZ%BDcj+>9;M6R0Sb_|&vc$J?Wwfr+iilwgEWHKdgn&yXvlhsP|Gg0D%PHH@MZ#ivL<$d3}F@<%gN z#FZWCEDK2MUF)~)X2wO8C^Sg n)JM7F`#e^wNu<&%oSt>+A{VWYt|$xcUz(3MdjAygzbk(Ot_$Dc literal 0 HcmV?d00001 diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd new file mode 100644 index 0000000000..dbf2f405bd --- /dev/null +++ b/win/vs-cfg.cmd @@ -0,0 +1,160 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: :: +:: This file is part of IfcOpenShell. :: +:: :: +:: IfcOpenShell is free software: you can redistribute it and/or modify :: +:: it under the terms of the Lesser GNU General Public License as published by :: +:: the Free Software Foundation, either version 3.0 of the License, or :: +:: (at your option) any later version. :: +:: :: +:: IfcOpenShell is distributed in the hope that it will be useful, :: +:: but WITHOUT ANY WARRANTY; without even the implied warranty of :: +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the :: +:: Lesser GNU General Public License for more details. :: +:: :: +:: You should have received a copy of the Lesser GNU General Public License :: +:: along with this program. If not, see . :: +:: :: +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: This script initializes various Visual Studio -related environment variables needed for building +:: This batch file expects CMake generator as %1 and build configuration type as %2. +:: NOTE: The delayed environment variable expansion needs to be enabled before calling this. + +@echo off + +:: TOOLS is the path where the Windows build scripts reside. +set TOOLS=%CD% + +set GENERATOR=%1 + +:: TODO IDEA: Take more user-friendly VS generators and convert them to the CMake ones? +:: F.ex. "vs2013-32" and/or "vc14-64" + +:: TODO Print CMake and VS versions. Maybe in build-deps.cmd would be better than here. +:: Make CMake missing a fatal error and abort the script. + +:: Supported Visual Studio versions: +set GENERATOR_VS2015_32="Visual Studio 14 2015" +set GENERATOR_VS2015_64="Visual Studio 14 2015 Win64" +:: TODO Check CMake version and convert possible new format (>= 3.0) generator names +:: to the old versions if using older CMake for VS <= 2013, +:: see http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html#other-changes +set GENERATOR_VS2013_32="Visual Studio 12" +set GENERATOR_VS2013_64="Visual Studio 12 Win64" +set GENERATOR_VS2012_32="Visual Studio 11" +set GENERATOR_VS2012_64="Visual Studio 11 Win64" +set GENERATOR_VS2010_32="Visual Studio 10" +set GENERATOR_VS2010_64="Visual Studio 10 Win64" +set GENERATOR_VS2008_32="Visual Studio 9 2008" +set GENERATOR_VS2008_64="Visual Studio 9 2008 Win64" +set GENERATOR_DEFAULT=%GENERATOR_VS2015_64% + +IF "!GENERATOR!"=="" ( + set GENERATOR=%GENERATOR_DEFAULT% + utils\cecho {0E}vs-cfg.cmd: Warning: Generator not passed - using the default %GENERATOR_DEFAULT%.{# #}{\n} +) + +IF NOT !GENERATOR!==%GENERATOR_VS2008_32% IF NOT !GENERATOR!==%GENERATOR_VS2008_64% ( +IF NOT !GENERATOR!==%GENERATOR_VS2010_32% IF NOT !GENERATOR!==%GENERATOR_VS2010_64% ( +IF NOT !GENERATOR!==%GENERATOR_VS2012_32% IF NOT !GENERATOR!==%GENERATOR_VS2012_64% ( +IF NOT !GENERATOR!==%GENERATOR_VS2013_32% IF NOT !GENERATOR!==%GENERATOR_VS2013_64% ( +IF NOT !GENERATOR!==%GENERATOR_VS2015_32% IF NOT !GENERATOR!==%GENERATOR_VS2015_64% ( + utils\cecho {0C}vs-cfg.cmd: Invalid or unsupported CMake generator string passed: !GENERATOR!. Cannot proceed, aborting!{# #}{\n} + GOTO :EOF +))))) + +:: Figure out the build configuration from the CMake generator string. +:: Are we building 32-bit or 64-bit version. +set ARCH_BITS=32 +set TARGET_ARCH=x86 +:: Visual Studio platform name, Win32 (i.e. x86) or x64. +set VS_PLATFORM=Win32 + +:: Split the string for closer inspection. +:: VS_VER and VC_VER are convenience variables used f.ex. for filenames. +set GENERATOR_NO_DOUBLEQUOTES=%GENERATOR:"=% +set GENERATOR_SPLIT=%GENERATOR_NO_DOUBLEQUOTES: =,% +FOR %%i IN (%GENERATOR_SPLIT%) DO ( + IF %%i==14 ( + set VS_VER=2015 + set VC_VER=14 + ) + IF %%i==12 ( + set VS_VER=2013 + set VC_VER=12 + ) + IF %%i==11 ( + set VS_VER=2012 + set VC_VER=11 + ) + IF %%i==10 ( + set VS_VER=2010 + set VC_VER=10 + ) + IF %%i==2008 ( + set VS_VER=2008 + set VC_VER=9 + ) + REM Are going to perform a 64-bit build? + IF %%i==Win64 ( + set ARCH_BITS=64 + set TARGET_ARCH=x64 + set VS_PLATFORM=x64 + ) +) + +:: VS project file extension is different on older VS versions +set VCPROJ_FILE_EXT=vcxproj +IF %VS_VER%==2008 set VCPROJ_FILE_EXT=vcproj + +:: Set up variables depending on the used build configuration type. +set BUILD_CFG=%2 + +:: The default build types provided by CMake +set BUILD_CFG_MINSIZEREL=MinSizeRel +set BUILD_CFG_RELEASE=Release +set BUILD_CFG_RELWITHDEBINFO=RelWithDebInfo +set BUILD_CFG_DEBUG=Debug +set BUILD_CFG_DEFAULT=%BUILD_CFG_RELWITHDEBINFO% + +IF "!BUILD_CFG!"=="" ( + set BUILD_CFG=%BUILD_CFG_DEFAULT% + utils\cecho {0E}vs-cfg.cmd: Warning: BUILD_CFG not specified - using the default %BUILD_CFG_DEFAULT%{# #}{\n} +) +IF NOT !BUILD_CFG!==%BUILD_CFG_MINSIZEREL% IF NOT !BUILD_CFG!==%BUILD_CFG_RELEASE% ( +IF NOT !BUILD_CFG!==%BUILD_CFG_RELWITHDEBINFO% IF NOT !BUILD_CFG!==%BUILD_CFG_DEBUG% ( + utils\cecho {0C}vs-cfg.cmd: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed, aborting!{# #}{\n} + exit /b 1 +)) + +:: DEBUG_OR_RELEASE and DEBUG_OR_RELEASE_LOWERCASE are "Debug" and "debug" for Debug build and "Release" and +:: "release" for all of the Release variants. +:: POSTFIX_D, POSTFIX_UNDERSCORE_D and POSTFIX_UNDERSCORE_DEBUG are helpers for performing file copies and +:: checking for existence of files. In release build these variables are empty. +set DEBUG_OR_RELEASE=Release +set DEBUG_OR_RELEASE_LOWERCASE=release +set POSTFIX_D= +set POSTFIX_UNDERSCORE_D= +set POSTFIX_UNDERSCORE_DEBUG= +IF %BUILD_CFG%==Debug ( + set DEBUG_OR_RELEASE=Debug + set DEBUG_OR_RELEASE_LOWERCASE=debug + set POSTFIX_D=d + set POSTFIX_UNDERSCORE_D=_d + set POSTFIX_UNDERSCORE_DEBUG=_debug +) + +:: Populate path variables +cd ..\ +set ORIGINAL_PATH=%PATH% +set PATH=%PATH%;"%CD%\win\utils" + +:: Fetch and build the dependencies to a dedicated directory depending on the used VS version and target architecture. +:: NOTE For IfcOpenShell we can build all of our deps both x86 and x64 using different VS versions in the same directories +:: so no need for -%VS_VER%-%TARGET_ARCH% postfix. +:: set DEPS_DIR=%CD%\deps-%VS_VER%-%TARGET_ARCH% +set DEPS_DIR=%CD%\deps +set INSTALL_DIR=%CD%\deps-vs%VS_VER%-%TARGET_ARCH%-installed +REM set INSTALL_DIR=%CD%\deps-vs%VS_VER%-%TARGET_ARCH%-%DEBUG_OR_RELEASE_LOWERCASE%-installed +cd %TOOLS% From 89bea19b756f68065de18d46b45c66dc7fe1d130 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 28 Oct 2015 19:45:07 +0200 Subject: [PATCH 003/157] Enhanced CMakeLists.txt for Windows build scripts. --- cmake/CMakeLists.txt | 388 ++++++++++++++++++++++++------------------- 1 file changed, 214 insertions(+), 174 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 7431c8d566..58888bd39d 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1,12 +1,44 @@ +################################################################################ +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +################################################################################ + cmake_minimum_required (VERSION 2.6) + project (IfcOpenShell) -FIND_PACKAGE(Boost REQUIRED COMPONENTS program_options) +OPTION(UNICODE_SUPPORT "Build with Unicode support enabled (requires ICU)." ON) +OPTION(COLLADA_SUPPORT "Build with COLLADA support enabled (requires OpenCOLLADA)." ON) +OPTION(ENABLE_BUILD_OPTIMIZATIONS "Enable certain compiler and linker optimizations on RelWithDebInfo and Release builds." OFF) +#TODO OPTION(IFCCONVERT_DOUBLE_PRECISION "IfcConvert: Use double precision floating-point numbers." OFF) +OPTION(USE_IFC4 "Use IFC 4 instead of IFC 2x3" OFF) +OPTION(BUILD_IFCPYTHON "Build IfcPython." ON) +OPTION(BUILD_EXAMPLES "Build example applications." ON) + +# Find Boost +IF(MSVC) + SET(Boost_USE_STATIC_LIBS ON) +ENDIF() +FIND_PACKAGE(Boost REQUIRED COMPONENTS system program_options regex thread date_time) MESSAGE(STATUS "Boost include files found in ${Boost_INCLUDE_DIRS}") MESSAGE(STATUS "Boost libraries found in ${Boost_LIBRARY_DIRS}") -# Find Open CASCADE header files -IF("$ENV{OCC_INCLUDE_DIR}" STREQUAL "") +# Find Open CASCADE +IF("$ENV{OCC_INCLUDE_DIR}" STREQUAL "") SET(OCC_INCLUDE_DIR "/usr/include/opencascade/" CACHE FILEPATH "Open CASCADE header files") MESSAGE(STATUS "Looking for opencascade include files in: ${OCC_INCLUDE_DIR}") MESSAGE(STATUS "Use OCC_INCLUDE_DIR to specify another directory") @@ -22,8 +54,7 @@ ELSE() MESSAGE(FATAL_ERROR "Unable to find header files, aborting") ENDIF() -# Find Open CASCADE library files -IF("$ENV{OCC_LIBRARY_DIR}" STREQUAL "") +IF("$ENV{OCC_LIBRARY_DIR}" STREQUAL "") SET(OCC_LIBRARY_DIR "/usr/lib/" CACHE FILEPATH "Open CASCADE library files") MESSAGE(STATUS "Looking for opencascade library files in: ${OCC_LIBRARY_DIR}") MESSAGE(STATUS "Use OCC_LIBRARY_DIR to specify another directory") @@ -39,202 +70,211 @@ ELSE() MESSAGE(FATAL_ERROR "Unable to find library files, aborting") ENDIF() -IF("$ENV{ICU_INCLUDE_DIR}" STREQUAL "") - MESSAGE(STATUS "No ICU include directory specified") -ElSE() - SET(ICU_INCLUDE_DIR CACHE FILEPATH "ICU header files") +IF(UNICODE_SUPPORT) + # Find ICU + IF("$ENV{ICU_INCLUDE_DIR}" STREQUAL "") + MESSAGE(STATUS "No ICU include directory specified") + ElSE() + SET(ICU_INCLUDE_DIR "$ENV{ICU_INCLUDE_DIR}" CACHE FILEPATH "ICU header files") + ENDIF() + + IF("$ENV{ICU_LIBRARY_DIR}" STREQUAL "") + MESSAGE(STATUS "No ICU library directory specified") + ElSE() + SET(ICU_LIBRARY_DIR "$ENV{ICU_LIBRARY_DIR}" CACHE FILEPATH "ICU library files") + ENDIF() + + FIND_LIBRARY(icu "icuuc" /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 ${ICU_LIBRARY_DIR}) + + IF(icu) + ADD_DEFINITIONS(-DHAVE_ICU) + MESSAGE(STATUS "ICU libraries found") + IF(MSVC) + ADD_DEFINITIONS(-DU_STATIC_IMPLEMENTATION) # required for static ICU + ENDIF() + ELSE() + MESSAGE(STATUS "Unable to find ICU library files, continuing") + ENDIF() ENDIF() -IF("$ENV{ICU_LIBRARY_DIR}" STREQUAL "") - MESSAGE(STATUS "No ICU library directory specified") -ElSE() - SET(ICU_LIBRARY_DIR CACHE FILEPATH "ICU library files") +IF(COLLADA_SUPPORT) + # Find OpenCOLLADA + IF("$ENV{OPENCOLLADA_INCLUDE_DIR}" STREQUAL "") + MESSAGE(STATUS "No OpenCOLLADA include directory specified") + SET(OPENCOLLADA_INCLUDE_DIR "/usr/local/include/opencollada" CACHE FILEPATH "OpenCOLLADA header files") + ElSE() + SET(OPENCOLLADA_INCLUDE_DIR "$ENV{OPENCOLLADA_INCLUDE_DIR}" CACHE FILEPATH "OpenCOLLADA header files") + ENDIF() + + IF("$ENV{OPENCOLLADA_LIBRARY_DIR}" STREQUAL "") + MESSAGE(STATUS "No OpenCOLLADA library directory specified") + SET(OPENCOLLADA_LIBRARY_DIR "/usr/local/lib/opencollada" CACHE FILEPATH "OpenCOLLADA library files") + ElSE() + SET(OPENCOLLADA_LIBRARY_DIR "$ENV{OPENCOLLADA_LIBRARY_DIR}" CACHE FILEPATH "OpenCOLLADA library files") + ENDIF() + + SET(OPENCOLLADA_INCLUDE_DIRS "${OPENCOLLADA_INCLUDE_DIR}/COLLADABaseUtils" "${OPENCOLLADA_INCLUDE_DIR}/COLLADAStreamWriter") + + FIND_FILE(COLLADASWStreamWriter_h "COLLADASWStreamWriter.h" ${OPENCOLLADA_INCLUDE_DIRS}) + IF(COLLADASWStreamWriter_h) + MESSAGE(STATUS "OpenCOLLADA header files found") + ADD_DEFINITIONS(-DWITH_OPENCOLLADA) + SET(OPENCOLLADA_LIBRARIES + GeneratedSaxParser MathMLSolver OpenCOLLADABaseUtils + OpenCOLLADAFramework OpenCOLLADASaxFrameworkLoader + OpenCOLLADAStreamWriter UTF buffer ftoa pcre + ) + ELSE() + MESSAGE(STATUS "OpenCOLLADA header files not found, continuing without COLLADA support") + ENDIF() ENDIF() -FIND_LIBRARY(icu "icuuc" /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 ${ICU_LIBRARY_DIR}) + # TODO Are these needed on other platforms still or can these be removed for good? +IF (NOT WIN32) + INCLUDE(CheckIncludeFileCXX) -IF(icu) - MESSAGE(STATUS "ICU libraries found") - ADD_DEFINITIONS(-DHAVE_ICU) - SET(ICU_LIBRARIES icuuc icudata) -ELSE() - MESSAGE(STATUS "Unable to find ICU library files, continuing") + MACRO(CHECK_ADD_OCE_OCC_DEF INCLUDE) + STRING(REPLACE . _ STR ${INCLUDE}) + STRING(TOUPPER ${STR} STR) + CHECK_INCLUDE_FILE_CXX("${INCLUDE}" FOUND_${STR}) + IF(FOUND_${STR}) + ADD_DEFINITIONS(-DOCE_HAVE_${STR}) + ADD_DEFINITIONS(-DHAVE_${STR}) + ENDIF(FOUND_${STR}) + ENDMACRO(CHECK_ADD_OCE_OCC_DEF) + + CHECK_ADD_OCE_OCC_DEF(limits) + CHECK_ADD_OCE_OCC_DEF(climits) + CHECK_ADD_OCE_OCC_DEF(limits.h) + CHECK_ADD_OCE_OCC_DEF(fstream) + CHECK_ADD_OCE_OCC_DEF(fstream.h) + CHECK_ADD_OCE_OCC_DEF(iomanip) + CHECK_ADD_OCE_OCC_DEF(iomanip.h) + CHECK_ADD_OCE_OCC_DEF(iostream) + CHECK_ADD_OCE_OCC_DEF(iostream.h) ENDIF() -IF("$ENV{OPENCOLLADA_INCLUDE_DIR}" STREQUAL "") - MESSAGE(STATUS "No OpenCOLLADA include directory specified") - SET(OPENCOLLADA_INCLUDE_DIR "/usr/local/include/opencollada" CACHE FILEPATH "OpenCOLLADA header files") -ElSE() - SET(OPENCOLLADA_INCLUDE_DIR "$ENV{OPENCOLLADA_INCLUDE_DIR}" CACHE FILEPATH "OpenCOLLADA header files") -ENDIF() - -IF("$ENV{OPENCOLLADA_LIBRARY_DIR}" STREQUAL "") - MESSAGE(STATUS "No OpenCOLLADA library directory specified") - SET(OPENCOLLADA_LIBRARY_DIR "/usr/local/lib/opencollada" CACHE FILEPATH "OpenCOLLADA library files") -ElSE() - SET(OPENCOLLADA_LIBRARY_DIR "$ENV{OPENCOLLADA_LIBRARY_DIR}" CACHE FILEPATH "OpenCOLLADA library files") -ENDIF() - -SET(OPENCOLLADA_INCLUDE_DIRS "${OPENCOLLADA_INCLUDE_DIR}/COLLADABaseUtils" "${OPENCOLLADA_INCLUDE_DIR}/COLLADAStreamWriter") - -FIND_FILE(COLLADASWStreamWriter_h "COLLADASWStreamWriter.h" ${OPENCOLLADA_INCLUDE_DIRS}) -IF(COLLADASWStreamWriter_h) - MESSAGE(STATUS "OpenCOLLADA header files found") - ADD_DEFINITIONS(-DWITH_OPENCOLLADA) - SET(OPENCOLLADA_LIBRARIES - GeneratedSaxParser MathMLSolver OpenCOLLADABaseUtils - OpenCOLLADAFramework OpenCOLLADASaxFrameworkLoader - OpenCOLLADAStreamWriter UTF buffer ftoa pcre - ) -ELSE() - MESSAGE(STATUS "OpenCOLLADA header files not found, continuing without COLLADA support") -ENDIF() - -INCLUDE(CheckIncludeFileCXX) - -MACRO(CHECK_ADD_OCE_OCC_DEF INCLUDE) - STRING(REPLACE . _ STR ${INCLUDE}) - STRING(TOUPPER ${STR} STR) - CHECK_INCLUDE_FILE_CXX("${INCLUDE}" FOUND_${STR}) - IF(FOUND_${STR}) - ADD_DEFINITIONS(-DOCE_HAVE_${STR}) - ADD_DEFINITIONS(-DHAVE_${STR}) - ENDIF(FOUND_${STR}) -ENDMACRO(CHECK_ADD_OCE_OCC_DEF) - -CHECK_ADD_OCE_OCC_DEF(limits) -CHECK_ADD_OCE_OCC_DEF(climits) -CHECK_ADD_OCE_OCC_DEF(limits.h) -CHECK_ADD_OCE_OCC_DEF(fstream) -CHECK_ADD_OCE_OCC_DEF(fstream.h) -CHECK_ADD_OCE_OCC_DEF(iomanip) -CHECK_ADD_OCE_OCC_DEF(iomanip.h) -CHECK_ADD_OCE_OCC_DEF(iostream) -CHECK_ADD_OCE_OCC_DEF(iostream.h) - IF(NOT CMAKE_BUILD_TYPE) - SET(CMAKE_BUILD_TYPE "Release") + SET(CMAKE_BUILD_TYPE "Release") ENDIF(NOT CMAKE_BUILD_TYPE) +# NOTE: RelWithDebInfo and Release use O2 (= /Ox /Gl /Gy/ = Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy) by default, +# with the exception with RelWithDebInfo has /Ob1 instead. /Ob2 has been observed to improve the performance +# of IfcConvert significantly. +if(ENABLE_BUILD_OPTIMIZATIONS) + if(MSVC) + # C++ + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Ob2 /GL") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} /Zi") + # Linker + # /OPT:REF enables also /OPT:ICF and disables INCREMENTAL + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF") + # /OPT:NOICF is recommended when /DEBUG is used (http://msdn.microsoft.com/en-us/library/xe4t6fc1.aspx) + set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG /OPT:NOICF") + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF") + set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:NOICF") + else() + #TODO GCC (& Clang?) optimizations + message(STATUS "ENABLE_BUILD_OPTIMIZATIONS not implemented for GCC/non-MSVC compilers.)") + endif() +endif() + IF(MSVC) - ADD_DEFINITIONS(-D_UNICODE) -ElSE(MSVC) - ADD_DEFINITIONS(-fPIC -Wno-non-virtual-dtor) -ENDIF(MSVC) + # Disable warnings about unsafe C functions; we could use the safe C99 & C11 versions if we have no need for supporting old compilers. + ADD_DEFINITIONS(-D_UNICODE -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS) + ADD_DEFINITIONS(-bigobj) # required for building the big ifcXXX.objs, https://msdn.microsoft.com/en-us/library/ms173499.aspx -INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCLUDE_DIRS} /usr/inc /usr/local/inc /usr/local/include/oce ${ICU_INCLUDE_DIR} ${Boost_INCLUDE_DIRS}) - -ADD_LIBRARY(IfcParse STATIC - ../src/ifcparse/Ifc2x3-latebound.cpp - ../src/ifcparse/Ifc2x3.cpp - ../src/ifcparse/Ifc4-latebound.cpp - ../src/ifcparse/Ifc4.cpp - ../src/ifcparse/IfcCharacterDecoder.cpp - ../src/ifcparse/IfcGlobalId.cpp - ../src/ifcparse/IfcHierarchyHelper.cpp - ../src/ifcparse/IfcLateBoundEntity.cpp - ../src/ifcparse/IfcParse.cpp - ../src/ifcparse/IfcSIPrefix.cpp - ../src/ifcparse/IfcSpfHeader.cpp - ../src/ifcparse/IfcUtil.cpp - ../src/ifcparse/IfcWrite.cpp -) - -ADD_LIBRARY(IfcGeom STATIC - ../src/ifcgeom/IfcGeomCurves.cpp - ../src/ifcgeom/IfcGeomFaces.cpp - ../src/ifcgeom/IfcGeomFunctions.cpp - ../src/ifcgeom/IfcGeomHelpers.cpp - ../src/ifcgeom/IfcGeomMaterial.cpp - ../src/ifcgeom/IfcGeomRenderStyles.cpp - ../src/ifcgeom/IfcGeomRepresentation.cpp - ../src/ifcgeom/IfcGeomShapes.cpp - ../src/ifcgeom/IfcGeomWires.cpp - ../src/ifcgeom/IfcRegister.cpp -) - -IF(icu) - TARGET_LINK_LIBRARIES(IfcParse icuuc) + # Link against the static VC runtime + FOREACH(flag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) + IF(${flag} MATCHES "/MD") + STRING(REGEX REPLACE "/MD" "/MT" ${flag} "${${flag}}") + ENDIF() + IF(${flag} MATCHES "/MDd") + STRING(REGEX REPLACE "/MDd" "/MTd" ${flag} "${${flag}}") + ENDIF() + ENDFOREACH() +ElSE() + ADD_DEFINITIONS(-fPIC -Wno-non-virtual-dtor) ENDIF() +INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCLUDE_DIRS} + ${ICU_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} +) +if(NOT WIN32) + INCLUDE_DIRECTORIES(${LINK_DIRECTORIES} /usr/inc /usr/local/inc /usr/local/include/oce) +endif() + +IF(USE_IFC4) + ADD_DEFINITIONS(-DUSE_IFC4) +ELSE() + ADD_DEFINITIONS(-DUSE_IFC2x3) +ENDIF() + +# IfcParse +file(GLOB CPP_FILES ../src/ifcparse/*.cpp) +file(GLOB H_FILES ../src/ifcparse/*.h) +set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) +ADD_LIBRARY(IfcParse STATIC ${SOURCE_FILES}) +IF(icu) + TARGET_LINK_LIBRARIES(IfcParse icuuc icudt) +ENDIF() + +# IfcGeom +file(GLOB CPP_FILES ../src/ifcgeom/*.cpp) +file(GLOB H_FILES ../src/ifcgeom/*.h) +set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) +ADD_LIBRARY(IfcGeom STATIC ${SOURCE_FILES}) + TARGET_LINK_LIBRARIES(IfcGeom IfcParse) -LINK_DIRECTORIES (${LINK_DIRECTORIES} ${IfcOpenShell_BINARY_DIR} ${OCC_LIBRARY_DIR} ${OPENCOLLADA_LIBRARY_DIR} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 ${ICU_LIBRARY_DIR} ${Boost_LIBRARY_DIRS}) +LINK_DIRECTORIES(${LINK_DIRECTORIES} ${IfcOpenShell_BINARY_DIR} ${OCC_LIBRARY_DIR} ${OPENCOLLADA_LIBRARY_DIR} + ${ICU_LIBRARY_DIR} ${Boost_LIBRARY_DIRS} +) +if(NOT WIN32) + LINK_DIRECTORIES(${LINK_DIRECTORIES} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64) +endif() -ADD_EXECUTABLE(IfcConvert - ../src/ifcconvert/ColladaSerializer.cpp - ../src/ifcconvert/IfcConvert.cpp - ../src/ifcconvert/OpenCascadeBasedSerializer.cpp - ../src/ifcconvert/WavefrontObjSerializer.cpp - ../src/ifcconvert/XmlSerializer.cpp - ../src/ifcconvert/SvgSerializer.cpp - ../src/ifcconvert/util.cpp +# IfcConvert +# TODO +# if (IFCCONVERT_DOUBLE_PRECISION) + # add_definitions(-DIFCCONVERT_DOUBLE_PRECISION) +# endif() +file(GLOB CPP_FILES ../src/ifcconvert/*.cpp) +file(GLOB H_FILES ../src/ifcconvert/*.h) +set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) +ADD_EXECUTABLE(IfcConvert ${SOURCE_FILES}) + +TARGET_LINK_LIBRARIES(IfcConvert IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing + TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset + ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ) -TARGET_LINK_LIBRARIES (IfcConvert IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ${ICU_LIBRARIES}) +# IfcGeomServer +file(GLOB CPP_FILES ../src/ifcgeomserver/*.cpp) +file(GLOB H_FILES ../src/ifcgeomserver/*.h) +set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) +ADD_EXECUTABLE(IfcGeomServer ${SOURCE_FILES}) -ADD_EXECUTABLE(IfcGeomServer - ../src/ifcgeomserver/IfcGeomServer.cpp +TARGET_LINK_LIBRARIES(IfcGeomServer IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing + TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset + ${Boost_LIBRARIES} ) -TARGET_LINK_LIBRARIES (IfcGeomServer IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset ${ICU_LIBRARIES}) +IF(BUILD_IFCPYTHON) + ADD_SUBDIRECTORY(../src/ifcwrap ifcwrap) +ENDIF() -# Build python wrapper using separate CMakeLists.txt -ADD_SUBDIRECTORY(../src/ifcwrap ifcwrap) - -# Build IfcParseExamples using separate CMakeLists.txt -ADD_SUBDIRECTORY(../src/examples examples) +IF(BUILD_EXAMPLES) + ADD_SUBDIRECTORY(../src/examples examples) +ENDIF() # ADD_SUBDIRECTORY(../src/qtviewer qtviewer) # CMake installation targets -SET(include_files_geom - ../src/ifcgeom/IfcGeom.h - ../src/ifcgeom/IfcGeomElement.h - ../src/ifcgeom/IfcGeomIterator.h - ../src/ifcgeom/IfcGeomIteratorSettings.h - ../src/ifcgeom/IfcGeomMaterial.h - ../src/ifcgeom/IfcGeomRenderStyles.h - ../src/ifcgeom/IfcGeomRepresentation.h - ../src/ifcgeom/IfcGeomShapeType.h - ../src/ifcgeom/IfcRegister.h - ../src/ifcgeom/IfcRegisterConvertCurve.h - ../src/ifcgeom/IfcRegisterConvertFace.h - ../src/ifcgeom/IfcRegisterConvertShape.h - ../src/ifcgeom/IfcRegisterConvertShapes.h - ../src/ifcgeom/IfcRegisterConvertWire.h - ../src/ifcgeom/IfcRegisterCreateCache.h - ../src/ifcgeom/IfcRegisterDef.h - ../src/ifcgeom/IfcRegisterGeomHeader.h - ../src/ifcgeom/IfcRegisterPurgeCache.h - ../src/ifcgeom/IfcRegisterShapeType.h - ../src/ifcgeom/IfcRegisterUndef.h - ../src/ifcgeom/IfcRepresentationShapeItem.h -) - -SET(include_files_parse - ../src/ifcparse/Ifc2x3-latebound.h - ../src/ifcparse/Ifc2x3.h - ../src/ifcparse/Ifc2x3enum.h - ../src/ifcparse/Ifc4-latebound.h - ../src/ifcparse/Ifc4.h - ../src/ifcparse/Ifc4enum.h - ../src/ifcparse/IfcCharacterDecoder.h - ../src/ifcparse/IfcEntityDescriptor.h - ../src/ifcparse/IfcException.h - ../src/ifcparse/IfcFile.h - ../src/ifcparse/IfcGlobalId.h - ../src/ifcparse/IfcHierarchyHelper.h - ../src/ifcparse/IfcLateBoundEntity.h - ../src/ifcparse/IfcParse.h - ../src/ifcparse/IfcSIPrefix.h - ../src/ifcparse/IfcSpfHeader.h - ../src/ifcparse/IfcSpfStream.h - ../src/ifcparse/IfcUtil.h - ../src/ifcparse/IfcWritableEntity.h - ../src/ifcparse/IfcWrite.h - ../src/ifcparse/SharedPointer.h -) +FILE(GLOB include_files_geom ../src/ifcgeom/*.h) +FILE(GLOB include_files_parse ../src/ifcparse/*.h) INSTALL(FILES ${include_files_geom} DESTINATION include/ifcgeom) INSTALL(FILES ${include_files_parse} DESTINATION include/ifcparse) INSTALL(TARGETS IfcConvert DESTINATION bin) From b8a7b5426d703d141bac94ea4bf0b3f3371575a9 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 28 Oct 2015 21:08:08 +0200 Subject: [PATCH 004/157] build-deps.cmd: fix Python installation. Also uninstall Python if build type is Clean or Rebuild. --- win/build-deps.cmd | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 6478ab7067..5f7e461b74 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -94,7 +94,7 @@ echo Defaults to RelWithDebInfo if not specified. IF %BUILD_CFG%==MinSizeRel cecho {0E} WARNING: MinSizeRel build can suffer from a significant performance loss.{# #}{\n} cecho {0D} Build Type = %BUILD_TYPE%{# #}{\n} echo - The used build type for the dependencies (Build, Rebuild, Clean). -echo Defaults to Build if not specified. +echo Defaults to Build if not specified. Rebuild/Clean also uninstalls Python. cecho {0D} IFCOS_INSTALL_PYTHON = %IFCOS_INSTALL_PYTHON%{# #}{\n} echo - Download and install Python. echo Set to something other than TRUE if you wish to use an already installed version of Python. @@ -114,6 +114,9 @@ echo 4. Run this batch script with Visual Studio environment variables set. echo. REM TODO 3ds Max SDK? +cecho {0E}Warning: You will need roughly 8 GB of disk space to proceed (VS 2015 x64 RelWithDebInfo).{# #}{\n} +echo. + echo If you are not ready with the above, press Ctrl-C to abort! pause echo. @@ -269,29 +272,33 @@ call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% IF NOT %ERRORLEVEL%==0 GOTO :Error :Python +set PYTHON_AMD64_POSTFIX=.amd64 +IF NOT %TARGET_ARCH%==x64 set PYTHON_AMD64_POSTFIX= +:: TODO Update to 3.5 when it's released as it will have an option to install debug libraries. +set PYTHON_VERSION=3.4.3 +set DEPENDENCY_NAME=Python %PYTHON_VERSION% +set DEPENDENCY_DIR=N/A +set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( - set PYTHON_AMD64_POSTFIX=.amd64 - IF NOT %TARGET_ARCH%==x64 set PYTHON_AMD64_POSTFIX= - :: TODO Update to 3.5 when it's released as it will have an option to install debug libraries. - set PYTHON_VERSION=3.4.3 - set DEPENDENCY_NAME=Python %PYTHON_VERSION% - set DEPENDENCY_DIR=N/A - set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi cd "%DEPS_DIR%" call :DownloadFile https://www.python.org/ftp/python/%PYTHON_VERSION%/%PYTHON_INSTALLER% "%DEPS_DIR%" %PYTHON_INSTALLER% IF NOT %ERRORLEVEL%==0 GOTO :Error - :: TODO Uninstall if build type == Clean + REM Uninstall if build Rebuild/Clean used + IF NOT %BUILD_TYPE%==Build ( + cecho {0D}Uninstalling %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} + msiexec /x %PYTHON_INSTALLER% /qn + ) + IF NOT EXIST "%INSTALL_DIR%\Python". ( cecho {0D}Installing %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR=%INSTALL_DIR%\Python - echo %ERRORLEVEL% ) ELSE ( cecho {0D}%DEPENDENCY_NAME% already installed. Skipping.{# #}{\n} ) ) ELSE ( cecho {0D}IFCOS_INSTALL_PYTHON not true, skipping installation of Python.{# #}{\n} ) -pause + :SWIG set SWIG_VERSION=3.0.5 set DEPENDENCY_NAME=SWIG %SWIG_VERSION% From d5efe45b0b07461cd8c6b690b1ec9382f247eab6 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 28 Oct 2015 21:21:23 +0200 Subject: [PATCH 005/157] Update READMEs. --- README.md | 41 ++++++++++++++++++++++++----------------- win/readme.txt | 2 +- win/sln/readme.txt | 16 ++++++++++++++++ 3 files changed, 41 insertions(+), 18 deletions(-) create mode 100644 win/sln/readme.txt diff --git a/README.md b/README.md index b64227f291..5fd13d33f3 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,16 @@ IfcOpenShell ============ -open source (LGPL) software library for working with the IFC file format +Open source (LGPL) software library for working with the IFC file format. [http://ifcopenshell.org](http://ifcopenshell.org) [http://academy.ifcopenshell.org](http://academy.ifcopenshell.org) +Prerequisites +============= +* Git, CMake (2.6 or newer), Visual Studio 2008 or newer (Windows), or GCC (*nix, Clang untested). + + Dependencies ============ * [Boost](http://www.boost.org/) @@ -18,32 +23,34 @@ Dependencies For IfcConvert to be able to write tessellated Collada (.dae) files * [SWIG](http://www.swig.org/), [Python](https://www.python.org/) libraries *optional* For building the IfcOpenShell Python interface and the Blender add-on -* 3ds max SDK *optional* - For building the 3ds max plug-in +* 3ds Max SDK *optional* + For building the 3ds Max plug-in Compiling on Windows ==================== -Users are advised to use the Visual Studio .sln file in the win/ folder. -For Windows users a prebuilt Open CASCADE version is available from the -http://opencascade.org website. Download and install this version and -provide the paths to the Open CASCADE header and library files to MS -Visual Studio C++. +Users are advised to build IfcOpenShell using the CMake file provided in +the cmake/ folder. -For building the Autodesk 3ds Max plugin, the 3ds Max SDK needs to be -installed as well as 3ds Max itself. Please provide the include and -library paths to Visual Studio. +The preferred way to fetch and build this project's dependencies is to use the build scripts +in win/ folder. See win/readme.txt for more information. Instructions in a nutshell +(assuming Visual Studio x64 environment variables set): + > git clone https://github.com/Tridify/IfcOpenShell.git + > cd oce\win + > build-deps.cmd (defaults to using VS 2015 x64 RelWithDebInfo build) + > run-cmake.bat (defaults to using VS 2015 x64) + > copy-runtime-deps.bat (defaults to using RelWithDebInfo) + > ..\build-vs2015-x64\IfcOpenShell.sln +You can now build the solution using the RelWithDebInfo configuration +You can also build the INSTALL project if wanted -For building the IfcPython wrapper, SWIG needs to be installed. Please -download the latest swigwin version from http://www.swig.org/download.html. -After extracting the .zip file, please add the extracted folder to the PATH -environment variable. Python needs to be installed, please provide the -include and library paths to Visual Studio. +Alternatively, the old Visual Studio solution and project files requiring manual work can +be found from the win/sln folder. Compiling on *nix ================= -Users are advised to build IfcOpenShell using the cmake file provided in +Users are advised to build IfcOpenShell using the CMake file provided in the cmake/ folder. There might be an Open CASCADE package in your operating system's software repository. If not, you will need to compile Open CASCADE yourself. See http://opencascade.org. diff --git a/win/readme.txt b/win/readme.txt index a433cb1f53..b3f28c5d56 100644 --- a/win/readme.txt +++ b/win/readme.txt @@ -16,7 +16,7 @@ which are listed in the usage instructions. Either edit the script file or set t running the script. build-deps.cmd expects a CMake generator as %1 and a build configuration type as %2. If the parameters -are not provided, the default values are used ("Visual Studio 12 Win64" and RelWithDebInfo respectively). +are not provided, the default values are used ("Visual Studio 14 2015 Win64" and RelWithDebInfo respectively). A build type (Build/Rebuild/Clean) can be provided as %3, if wanted (defaults to Build). See vs-cfg.cmd if you want to change the defaults. The batch file will create deps\ and deps-vs--installed\ directories to the project root. Note that currently only libraries for one build configuration type diff --git a/win/sln/readme.txt b/win/sln/readme.txt new file mode 100644 index 0000000000..d338443843 --- /dev/null +++ b/win/sln/readme.txt @@ -0,0 +1,16 @@ +Original information from the README.md: + +For Windows users a prebuilt Open CASCADE version is available from the +http://opencascade.org website. Download and install this version and +provide the paths to the Open CASCADE header and library files to MS +Visual Studio C++. + +For building the Autodesk 3ds Max plugin, the 3ds Max SDK needs to be +installed as well as 3ds Max itself. Please provide the include and +library paths to Visual Studio. + +For building the IfcPython wrapper, SWIG needs to be installed. Please +download the latest swigwin version from http://www.swig.org/download.html. +After extracting the .zip file, please add the extracted folder to the PATH +environment variable. Python needs to be installed, please provide the +include and library paths to Visual Studio. From 921c3eb2d314ea1207a5dc6fd08f7a359a86078b Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 28 Oct 2015 21:25:23 +0200 Subject: [PATCH 006/157] SvgSerializer.cpp: add missing #include --- src/ifcconvert/SvgSerializer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcconvert/SvgSerializer.cpp b/src/ifcconvert/SvgSerializer.cpp index 8319393ff8..382873ee69 100644 --- a/src/ifcconvert/SvgSerializer.cpp +++ b/src/ifcconvert/SvgSerializer.cpp @@ -43,7 +43,7 @@ #include #include #include - +#include #include "../ifcparse/IfcGlobalId.h" #include "SvgSerializer.h" From b44a88d2030cb871ddc3ed41b97eab6028791983 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 28 Oct 2015 21:25:48 +0200 Subject: [PATCH 007/157] CMakeLists.txt: install IfcGeomServer executable. --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 58888bd39d..9428e82aea 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -277,5 +277,5 @@ FILE(GLOB include_files_geom ../src/ifcgeom/*.h) FILE(GLOB include_files_parse ../src/ifcparse/*.h) INSTALL(FILES ${include_files_geom} DESTINATION include/ifcgeom) INSTALL(FILES ${include_files_parse} DESTINATION include/ifcparse) -INSTALL(TARGETS IfcConvert DESTINATION bin) +INSTALL(TARGETS IfcConvert IfcGeomServer DESTINATION bin) INSTALL(TARGETS IfcParse IfcGeom DESTINATION lib) From c9313c8e0282fa963ae9ebe83dffc42e7ff2abfe Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 29 Oct 2015 00:23:19 +0200 Subject: [PATCH 008/157] build-deps.cmd: update SWIG, build Boost as debug or release, not both, each run. --- win/build-deps.cmd | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 5f7e461b74..d7903b0670 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -64,6 +64,7 @@ IF NOT EXIST %INSTALL_DIR%. mkdir %INSTALL_DIR% IF %VS_VER%==2008 set PATH=C:\Windows\Microsoft.NET\Framework\v3.5;%PATH% :: User-configurable build options +:: TODO Option for Python 2 or 3 IF "%IFCOS_INSTALL_PYTHON%"=="" set IFCOS_INSTALL_PYTHON=TRUE IF "%IFCOS_NUM_BUILD_PROCESSES%"=="" set IFCOS_NUM_BUILD_PROCESSES=%NUMBER_OF_PROCESSORS% @@ -122,7 +123,7 @@ pause echo. cd %DEPS_DIR% -goto :Python + :Boost set BOOST_VERSION=1.59.0 :: DEPENDENCY_NAME is used for logging and DEPENDENCY_DIR for saving from some redundant typing @@ -159,7 +160,7 @@ cd "%DEPS_DIR%\boost" cecho {0D}Building %DEPENDENCY_NAME% %BOOST_LIBS% Please be patient, this will take a while.{# #}{\n} IF EXIST "%DEPS_DIR%\boost\bin.v2\project-cache.jam" del "%DEPS_DIR%\boost\bin.v2\project-cache.jam" call .\b2 toolset=msvc-%VC_VER%.0 runtime-link=static address-model=%ARCH_BITS% -j%IFCOS_NUM_BUILD_PROCESSES% ^ - %BOOST_LIBS% stage --stagedir=stage/vs%VS_VER%-%VS_PLATFORM% + variant=%DEBUG_OR_RELEASE% %BOOST_LIBS% stage --stagedir=stage/vs%VS_VER%-%VS_PLATFORM% :ICU set DEPENDENCY_NAME=ICU @@ -272,13 +273,16 @@ call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% IF NOT %ERRORLEVEL%==0 GOTO :Error :Python -set PYTHON_AMD64_POSTFIX=.amd64 -IF NOT %TARGET_ARCH%==x64 set PYTHON_AMD64_POSTFIX= :: TODO Update to 3.5 when it's released as it will have an option to install debug libraries. set PYTHON_VERSION=3.4.3 +REM set PYTHON_VERSION=2.7.10 set DEPENDENCY_NAME=Python %PYTHON_VERSION% set DEPENDENCY_DIR=N/A +set PYTHON_AMD64_POSTFIX=.amd64 +:: NOTE/TODO Beginning from 3.5.0: set PYTHON_AMD64_POSTFIX=-amd64 +IF NOT %TARGET_ARCH%==x64 set PYTHON_AMD64_POSTFIX= set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi +:: NOTE/TODO 3.5.0 doesn't use MSI any longer, but exe: set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.exe IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( cd "%DEPS_DIR%" call :DownloadFile https://www.python.org/ftp/python/%PYTHON_VERSION%/%PYTHON_INSTALLER% "%DEPS_DIR%" %PYTHON_INSTALLER% @@ -300,7 +304,7 @@ IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( ) :SWIG -set SWIG_VERSION=3.0.5 +set SWIG_VERSION=3.0.7 set DEPENDENCY_NAME=SWIG %SWIG_VERSION% set DEPENDENCY_DIR=N/A set SWIG_ZIP=swigwin-%SWIG_VERSION%.zip From 455d382a9ed9302f2c9a1e011c096fdc2eb91c6a Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 30 Oct 2015 21:12:08 +0200 Subject: [PATCH 009/157] build-deps.cmd: add option to use Python 2 instead of 3, fix Boost build variant (for some reason error did not manifest itself until clean build) --- win/build-deps.cmd | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index d7903b0670..5e67f42f3d 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -64,8 +64,8 @@ IF NOT EXIST %INSTALL_DIR%. mkdir %INSTALL_DIR% IF %VS_VER%==2008 set PATH=C:\Windows\Microsoft.NET\Framework\v3.5;%PATH% :: User-configurable build options -:: TODO Option for Python 2 or 3 IF "%IFCOS_INSTALL_PYTHON%"=="" set IFCOS_INSTALL_PYTHON=TRUE +IF "%IFCOS_USE_PYTHON2%"=="" set IFCOS_USE_PYTHON2=FALSE IF "%IFCOS_NUM_BUILD_PROCESSES%"=="" set IFCOS_NUM_BUILD_PROCESSES=%NUMBER_OF_PROCESSORS% :: For subroutines @@ -99,6 +99,9 @@ echo Defaults to Build if not specified. Rebuild/Clean also uninstalls Pyth cecho {0D} IFCOS_INSTALL_PYTHON = %IFCOS_INSTALL_PYTHON%{# #}{\n} echo - Download and install Python. echo Set to something other than TRUE if you wish to use an already installed version of Python. +cecho {0D} IFCOS_USE_PYTHON2 = %IFCOS_USE_PYTHON2%{# #}{\n} +echo - Use Python 2 instead of 3. +echo Set to TRUE if you wish to use Python 2 instead of 3. Has no effect if IFCOS_INSTALL_PYTHON is not TRUE. cecho {0D} IFCOS_NUM_BUILD_PROCESSES = %IFCOS_NUM_BUILD_PROCESSES%{# #}{\n} echo - How many MSBuild.exe processes may be run in parallel. echo Defaults to NUMBER_OF_PROCESSORS. @@ -124,6 +127,8 @@ echo. cd %DEPS_DIR% +:: Note all of the depedencies have approriate label so that user can easily skip something if wanted +:: by modifying this file and using goto. :Boost set BOOST_VERSION=1.59.0 :: DEPENDENCY_NAME is used for logging and DEPENDENCY_DIR for saving from some redundant typing @@ -160,7 +165,8 @@ cd "%DEPS_DIR%\boost" cecho {0D}Building %DEPENDENCY_NAME% %BOOST_LIBS% Please be patient, this will take a while.{# #}{\n} IF EXIST "%DEPS_DIR%\boost\bin.v2\project-cache.jam" del "%DEPS_DIR%\boost\bin.v2\project-cache.jam" call .\b2 toolset=msvc-%VC_VER%.0 runtime-link=static address-model=%ARCH_BITS% -j%IFCOS_NUM_BUILD_PROCESSES% ^ - variant=%DEBUG_OR_RELEASE% %BOOST_LIBS% stage --stagedir=stage/vs%VS_VER%-%VS_PLATFORM% + variant=%DEBUG_OR_RELEASE_LOWERCASE% %BOOST_LIBS% stage --stagedir=stage/vs%VS_VER%-%VS_PLATFORM% +IF NOT %ERRORLEVEL%==0 GOTO :Error :ICU set DEPENDENCY_NAME=ICU @@ -275,7 +281,7 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error :Python :: TODO Update to 3.5 when it's released as it will have an option to install debug libraries. set PYTHON_VERSION=3.4.3 -REM set PYTHON_VERSION=2.7.10 +IF "%IFCOS_USE_PYTHON2%"=="TRUE" set PYTHON_VERSION=2.7.10 set DEPENDENCY_NAME=Python %PYTHON_VERSION% set DEPENDENCY_DIR=N/A set PYTHON_AMD64_POSTFIX=.amd64 From 7b4d8734ed5f315553537f5f2375eeaf0660cfbc Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 30 Oct 2015 22:46:04 +0200 Subject: [PATCH 010/157] run-cmake.bat: ensure Python packages are installed to the right direction. --- win/readme.txt | 9 +++++---- win/run-cmake.bat | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/win/readme.txt b/win/readme.txt index b3f28c5d56..f8779f3d10 100644 --- a/win/readme.txt +++ b/win/readme.txt @@ -27,14 +27,15 @@ After the dependencies are build, execute run-cmake.bat. The batch file expects %1, or alternatively if more parameters are provided, %* is passed for the CMake inkovation. If no %1 is provided, the same default value as above is used. This batch script will create a folder of form build-vs- which will contain the solution and project files for Visual Studio. +IMPORTANT: If you wish to use any library from a custom location, modify the paths in run-cmake.bat +accordingly. All of the dependencies are build as static libraries against the static run-time allowing the developer to effortlessly deploy standalone binaries. -You can now build the project using the IfcOpenShell.sln file in the build folder. Build the INSTALL -project if wanted. The project will installed to installed-vs- folder in the -project's root folder and the required IfcOpenShell-Python parts are deployed to the Python's Lib -folder. +You can now build the project using the IfcOpenShell.sln file in the build folder. Build the INSTALL project +if wanted. The project will installed to installed-vs- folder in the project's root +folder and the required IfcOpenShell-Python parts are deployed to the \Lib\site-packages folder. == Directory Structure == diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 1475d486bd..42ac88b4a9 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -42,9 +42,10 @@ set OCC_INCLUDE_DIR=%INSTALL_DIR%\oce\include\oce set OCC_LIBRARY_DIR=%INSTALL_DIR%\oce\Win%ARCH_BITS%\lib set OPENCOLLADA_INCLUDE_DIR=%INSTALL_DIR%\OpenCOLLADA\include\opencollada set OPENCOLLADA_LIBRARY_DIR=%INSTALL_DIR%\OpenCOLLADA\lib\opencollada -:: TODO 3ds Max SDK? +set PYTHONPATH=%INSTALL_DIR%\Python set SWIG_DIR=%INSTALL_DIR%\swigwin -set PATH=%PATH%;%SWIG_DIR% +set PATH=%PATH%;%SWIG_DIR%;%PYTHONPATH% +:: TODO 3ds Max SDK? echo. cecho {0A}Script configuration:{# #}{\n} @@ -61,7 +62,7 @@ echo OCC_INCLUDE_DIR = %OCC_INCLUDE_DIR% echo OCC_LIBRARY_DIR = %OCC_LIBRARY_DIR% echo OPENCOLLADA_INCLUDE_DIR = %OPENCOLLADA_INCLUDE_DIR% echo OPENCOLLADA_LIBRARY_DIR = %OPENCOLLADA_LIBRARY_DIR% -:: TODO Python +echo PYTHONPATH = %PYTHONPATH% echo SWIG_DIR = %SWIG_DIR% echo. echo CMAKE_INSTALL_PREFIX = %CMAKE_INSTALL_PREFIX% From 26ed16ba52a15cd7d96a3758c675f66c08e739aa Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 3 Nov 2015 16:06:20 +0200 Subject: [PATCH 011/157] Make possible to switch between Python 2 & 3 easily. Fixes also possible confusion when having both 32-bit and 64-bit Python installations side by side. --- src/ifcwrap/CMakeLists.txt | 50 ++++++++++++++++++++++++++++++++------ win/build-deps.cmd | 6 +++-- win/readme.txt | 5 +++- win/run-cmake.bat | 15 ++++++++++-- 4 files changed, 64 insertions(+), 12 deletions(-) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index a5a2f36e22..8e65a06b10 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -1,9 +1,37 @@ +################################################################################ +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +################################################################################ + FIND_PACKAGE(SWIG) IF(SWIG_FOUND) INCLUDE(${SWIG_USE_FILE}) +IF(NOT "$ENV{OCC_LIBRARY_DIR}" STREQUAL "") + SET(PYTHON_INCLUDE_DIR $ENV{PYTHON_INCLUDE_DIR} CACHE FILEPATH "Python header files") + MESSAGE(STATUS "Looking for Python header files in: ${PYTHON_INCLUDE_DIR}") +ENDIF() +IF(NOT "$ENV{OCC_LIBRARY_DIR}" STREQUAL "") + SET(PYTHON_LIBRARY $ENV{PYTHON_LIBRARY} CACHE FILEPATH "Python library file") + MESSAGE(STATUS "Looking for Python library file in: ${PYTHON_LIBRARY}") +ENDIF() + FIND_PACKAGE(PythonLibs) IF(PYTHONLIBS_FOUND) @@ -16,22 +44,30 @@ SET(CMAKE_SWIG_FLAGS "") SET_SOURCE_FILES_PROPERTIES(IfcPython.i PROPERTIES CPLUSPLUS ON) SWIG_ADD_MODULE(ifcopenshell_wrapper python IfcPython.i) -SWIG_LINK_LIBRARIES(ifcopenshell_wrapper ${PYTHON_LIBRARIES} IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKOffset ${ICU_LIBRARIES}) +SWIG_LINK_LIBRARIES(ifcopenshell_wrapper + ${PYTHON_LIBRARIES} IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing + TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKOffset ${ICU_LIBRARIES} +) # To install IfcPython let's get the site-packages dir from python -EXECUTE_PROCESS(COMMAND python -c "import sys; from distutils.sysconfig import get_python_lib; sys.stdout.write(get_python_lib())" +EXECUTE_PROCESS(COMMAND + python -c "import sys; from distutils.sysconfig import get_python_lib; sys.stdout.write(get_python_lib())" OUTPUT_VARIABLE python_package_dir) +IF("${python_package_dir}" STREQUAL "") + MESSAGE(FATAL_ERROR "Python executable not in PATH, aborting") +ENDIF() + INSTALL(FILES "${CMAKE_BINARY_DIR}/ifcwrap/ifcopenshell_wrapper.py" - "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/__init__.py" - "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/guid.py" + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/__init__.py" + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/guid.py" DESTINATION "${python_package_dir}/ifcopenshell") INSTALL(FILES - "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/__init__.py" - DESTINATION "${python_package_dir}/ifcopenshell/geom") + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/__init__.py" + DESTINATION "${python_package_dir}/ifcopenshell/geom") INSTALL(TARGETS _ifcopenshell_wrapper DESTINATION "${python_package_dir}/ifcopenshell") ENDIF(PYTHONLIBS_FOUND) -ENDIF(SWIG_FOUND) \ No newline at end of file +ENDIF(SWIG_FOUND) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 5e67f42f3d..dc17888e22 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -282,6 +282,8 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error :: TODO Update to 3.5 when it's released as it will have an option to install debug libraries. set PYTHON_VERSION=3.4.3 IF "%IFCOS_USE_PYTHON2%"=="TRUE" set PYTHON_VERSION=2.7.10 +set PY_VER_MAJOR_MINOR=%PYTHON_VERSION:~0,3% +set PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR:.=% set DEPENDENCY_NAME=Python %PYTHON_VERSION% set DEPENDENCY_DIR=N/A set PYTHON_AMD64_POSTFIX=.amd64 @@ -299,9 +301,9 @@ IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( msiexec /x %PYTHON_INSTALLER% /qn ) - IF NOT EXIST "%INSTALL_DIR%\Python". ( + IF NOT EXIST "%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR%". ( cecho {0D}Installing %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} - msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR=%INSTALL_DIR%\Python + msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% ) ELSE ( cecho {0D}%DEPENDENCY_NAME% already installed. Skipping.{# #}{\n} ) diff --git a/win/readme.txt b/win/readme.txt index f8779f3d10..0718d1cb5c 100644 --- a/win/readme.txt +++ b/win/readme.txt @@ -28,7 +28,10 @@ After the dependencies are build, execute run-cmake.bat. The batch file expects is provided, the same default value as above is used. This batch script will create a folder of form build-vs- which will contain the solution and project files for Visual Studio. IMPORTANT: If you wish to use any library from a custom location, modify the paths in run-cmake.bat -accordingly. +accordingly. If you used IFCOS_USE_PYTHON2=TRUE when running build-deps.cmd, currently it must also be +set accordingly before running run-cmake.bat, if run-cmake.bat is not run in the same command prompt +session as build-deps.cmd was run. + All of the dependencies are build as static libraries against the static run-time allowing the developer to effortlessly deploy standalone binaries. diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 42ac88b4a9..2e186475d0 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -27,11 +27,18 @@ setlocal EnableDelayedExpansion call vs-cfg.cmd %1 -set CMAKE_INSTALL_PREFIX=%CD%\..\installed-vs%VS_VER%-%TARGET_ARCH% +pushd .. +set CMAKE_INSTALL_PREFIX=%CD%\installed-vs%VS_VER%-%TARGET_ARCH% +popd set BUILD_DIR=build-vs%VS_VER%-%TARGET_ARCH% IF NOT EXIST ..\%BUILD_DIR%. mkdir ..\%BUILD_DIR% pushd ..\%BUILD_DIR% +:: TODO Duplicate code with build-deps.cmd: have some kind of build cache/config file and read Pyhon version from there. +set PYTHON_VERSION=3.4.3 +IF "%IFCOS_USE_PYTHON2%"=="TRUE" set PYTHON_VERSION=2.7.10 +set PY_VER_MAJOR_MINOR=%PYTHON_VERSION:~0,3% +set PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR:.=% set BOOST_ROOT=%DEPS_DIR%\boost REM set BOOST_INCLUDEDIR=%DEPS_DIR%\boost @@ -42,7 +49,9 @@ set OCC_INCLUDE_DIR=%INSTALL_DIR%\oce\include\oce set OCC_LIBRARY_DIR=%INSTALL_DIR%\oce\Win%ARCH_BITS%\lib set OPENCOLLADA_INCLUDE_DIR=%INSTALL_DIR%\OpenCOLLADA\include\opencollada set OPENCOLLADA_LIBRARY_DIR=%INSTALL_DIR%\OpenCOLLADA\lib\opencollada -set PYTHONPATH=%INSTALL_DIR%\Python +set PYTHON_INCLUDE_DIR=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR%\include +set PYTHON_LIBRARY=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR%\libs\python%PY_VER_MAJOR_MINOR%.lib +set PYTHONPATH=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% set SWIG_DIR=%INSTALL_DIR%\swigwin set PATH=%PATH%;%SWIG_DIR%;%PYTHONPATH% :: TODO 3ds Max SDK? @@ -62,6 +71,8 @@ echo OCC_INCLUDE_DIR = %OCC_INCLUDE_DIR% echo OCC_LIBRARY_DIR = %OCC_LIBRARY_DIR% echo OPENCOLLADA_INCLUDE_DIR = %OPENCOLLADA_INCLUDE_DIR% echo OPENCOLLADA_LIBRARY_DIR = %OPENCOLLADA_LIBRARY_DIR% +echo PYTHON_INCLUDE_DIR = %PYTHON_INCLUDE_DIR% +echo PYTHON_LIBRARY = %PYTHON_LIBRARY% echo PYTHONPATH = %PYTHONPATH% echo SWIG_DIR = %SWIG_DIR% echo. From a749775045e797785bee9873db7afb905712ca60 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 3 Nov 2015 16:55:33 +0200 Subject: [PATCH 012/157] build-deps.cmd: use OpenCOLLADA from the official repo now that it has the static MSVC run-time option. --- win/build-deps.cmd | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index dc17888e22..8b3c41a890 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -202,17 +202,8 @@ IF EXIST "%DEPS_DIR%\icu-55.1-vs%VS_VER%\". ( :: Note OpenCOLLADA has only Release and Debug builds. set DEPENDENCY_NAME=OpenCOLLADA set DEPENDENCY_DIR=%DEPS_DIR%\OpenCOLLADA -:: TODO Temporarily use our own repo until the upstream has static VC runtime option -call :GitCloneOrPullRepository https://github.com/Tridify/OpenCOLLADA.git "%DEPENDENCY_DIR%" -REM call :GitCloneOrPullRepository https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPENDENCY_DIR%" +call :GitCloneOrPullRepository https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPENDENCY_DIR%" IF NOT %ERRORLEVEL%==0 GOTO :Error -IF NOT EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%". ( - cd "%DEPENDENCY_DIR%" - call git branch vs-static-rt origin/vs-static-rt - IF NOT %ERRORLEVEL%==0 GOTO :Error - call git checkout vs-static-rt - IF NOT %ERRORLEVEL%==0 GOTO :Error -) cd "%DEPENDENCY_DIR%" :: NOTE OpenCOLLADA has been observed to have problems with switching between debug and release builds so :: uncomment to following line in order to delete the CMakeCache.txt always if experiencing problems. From d4b51a82e79a878ded3df718fc747dbbf1dcf817 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 3 Nov 2015 17:58:08 +0200 Subject: [PATCH 013/157] Fix/suppress plethora of integer conversion warnings on x64 Visual Studio build. --- src/ifcconvert/ColladaSerializer.cpp | 8 ++++---- src/ifcconvert/WavefrontObjSerializer.cpp | 2 +- src/ifcgeom/IfcGeomRepresentation.h | 10 +++++----- src/ifcgeomserver/IfcGeomServer.cpp | 4 ++-- src/ifcparse/IfcCharacterDecoder.cpp | 4 ++-- src/ifcparse/IfcEntityDescriptor.h | 4 ++-- src/ifcparse/IfcGlobalId.cpp | 2 +- src/ifcparse/IfcParse.cpp | 2 +- src/ifcparse/IfcUtil.h | 4 ++-- src/ifcparse/IfcWrite.cpp | 16 ++++++++-------- src/ifcwrap/utils/type_conversion.i | 8 ++++---- 11 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/ifcconvert/ColladaSerializer.cpp b/src/ifcconvert/ColladaSerializer.cpp index 2f9b54fbf1..8315a8e433 100644 --- a/src/ifcconvert/ColladaSerializer.cpp +++ b/src/ifcconvert/ColladaSerializer.cpp @@ -39,8 +39,8 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::addFloatSource(const COLLADASW::FloatSource source(mSW); source.setId(mesh_id + suffix); source.setArrayId(mesh_id + suffix + COLLADASW::LibraryGeometries::ARRAY_ID_SUFFIX); - source.setAccessorStride(strlen(coords)); - source.setAccessorCount(floats.size() / 3); + source.setAccessorStride((unsigned long)strlen(coords)); + source.setAccessorCount((unsigned long)floats.size() / 3); for (unsigned int i = 0; i < source.getAccessorStride(); ++i) { source.getParameterNameList().push_back(std::string(1, coords[i])); } @@ -73,7 +73,7 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(const std::str int previous_material_id = -1; for (std::vector::const_iterator it = faces.begin(); !faces.empty(); it += 3) { const int current_material_id = *(material_it++); - const int num_triangles = std::distance(index_range_start, it) / 3; + const unsigned long num_triangles = (unsigned long)std::distance(index_range_start, it) / 3; if ((previous_material_id != current_material_id && num_triangles > 0) || (it == faces.end())) { COLLADASW::Triangles triangles(mSW); triangles.setMaterial(materials[previous_material_id].name()); @@ -126,7 +126,7 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(const std::str for (linelist_t::const_iterator it = linelist.begin(); it != linelist.end(); ++it) { COLLADASW::Lines lines(mSW); lines.setMaterial(materials[it->first].name()); - lines.setCount(it->second.size()); + lines.setCount((unsigned long)it->second.size()); int offset = 0; lines.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::VERTEX, "#" + mesh_id + COLLADASW::LibraryGeometries::VERTICES_ID_SUFFIX, 0)); lines.prepareToAppendValues(); diff --git a/src/ifcconvert/WavefrontObjSerializer.cpp b/src/ifcconvert/WavefrontObjSerializer.cpp index 19643be430..a71b47b7ee 100644 --- a/src/ifcconvert/WavefrontObjSerializer.cpp +++ b/src/ifcconvert/WavefrontObjSerializer.cpp @@ -72,7 +72,7 @@ void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* const IfcGeom::Representation::Triangulation& mesh = o->geometry(); - const int vcount = mesh.verts().size() / 3; + const int vcount = (int)mesh.verts().size() / 3; for ( std::vector::const_iterator it = mesh.verts().begin(); it != mesh.verts().end(); ) { const double x = *(it++); const double y = *(it++); diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index bd7abee278..f94f8ab211 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -123,10 +123,10 @@ namespace IfcGeom { Material adapter(&it->Style()); std::vector::const_iterator jt = std::find(_materials.begin(), _materials.end(), adapter); if (jt == _materials.end()) { - surface_style_id = _materials.size(); + surface_style_id = (int)_materials.size(); _materials.push_back(adapter); } else { - surface_style_id = jt - _materials.begin(); + surface_style_id = (int)(jt - _materials.begin()); } } @@ -134,10 +134,10 @@ namespace IfcGeom { Material material(IfcGeom::get_default_style(settings().element_type())); std::vector::const_iterator it = std::find(_materials.begin(), _materials.end(), material); if (it == _materials.end()) { - surface_style_id = _materials.size(); + surface_style_id = (int)_materials.size(); _materials.push_back(material); } else { - surface_style_id = it - _materials.begin(); + surface_style_id = (int)(it - _materials.begin()); } } @@ -251,7 +251,7 @@ namespace IfcGeom { BRepAdaptor_Curve crv(TopoDS::Edge(exp.Current())); GCPnts_QuasiUniformDeflection tessellater(crv, settings().deflection_tolerance()); int n = tessellater.NbPoints(); - int start = _verts.size() / 3; + int start = (int)_verts.size() / 3; for (int i = 1; i <= n; ++i) { gp_XYZ p = tessellater.Value(i).XYZ(); trsf.Transforms(p); diff --git a/src/ifcgeomserver/IfcGeomServer.cpp b/src/ifcgeomserver/IfcGeomServer.cpp index 22eaca9844..9398bde3b7 100644 --- a/src/ifcgeomserver/IfcGeomServer.cpp +++ b/src/ifcgeomserver/IfcGeomServer.cpp @@ -69,7 +69,7 @@ void swrite(std::ostream& s, T t) { template <> void swrite(std::ostream& s, std::string t) { - int32_t len = t.size(); + int32_t len = (int32_t)t.size(); swrite(s, len); s.write(t.c_str(), len); while (len++ % 4) s.put(0); @@ -323,7 +323,7 @@ int main (int argc, char** argv) { settings.convert_back_units() = true; settings.include_curves() = true; - iterator = new IfcGeom::Iterator(settings, data, len); + iterator = new IfcGeom::Iterator(settings, data, (int)len); has_more = iterator->initialize(); More(has_more).write(std::cout); diff --git a/src/ifcparse/IfcCharacterDecoder.cpp b/src/ifcparse/IfcCharacterDecoder.cpp index a3aad64c1e..3b1b2a654e 100644 --- a/src/ifcparse/IfcCharacterDecoder.cpp +++ b/src/ifcparse/IfcCharacterDecoder.cpp @@ -135,7 +135,7 @@ IfcCharacterDecoder::operator std::string() { #ifdef HAVE_ICU if ( previous_codepage != codepage ) { if ( converter ) ucnv_close(converter); - char encoder[11] = {'i','s','o','-','8','8','5','9','-',codepage + 0x30}; + char encoder[11] = {'i','s','o','-','8','8','5','9','-', (char)codepage + 0x30}; converter = ucnv_open(encoder, &status); } const char characters[2] = { current_char + 0x80 }; @@ -188,7 +188,7 @@ IfcCharacterDecoder::operator std::string() { if (old_hex == 0) { old_hex = hex; } else { - char characters[3] = { old_hex, hex }; + char characters[3] = { (char)old_hex, (char)hex }; const char* char_array = &characters[0]; UChar32 ch = ucnv_getNextUChar(compatibility_converter,&char_array,char_array+2,&status); addChar(s,ch); diff --git a/src/ifcparse/IfcEntityDescriptor.h b/src/ifcparse/IfcEntityDescriptor.h index 588a90337e..f65fb6d54e 100644 --- a/src/ifcparse/IfcEntityDescriptor.h +++ b/src/ifcparse/IfcEntityDescriptor.h @@ -48,7 +48,7 @@ namespace IfcUtil { std::pair getIndex(const std::string& value) const { std::vector::const_iterator it = std::find(values.begin(), values.end(), value); if (it != values.end()) { - return std::make_pair(it->c_str(), std::distance(it, values.begin())); + return std::make_pair(it->c_str(), (int)std::distance(it, values.begin())); } else { throw IfcParse::IfcException("Invalid enumeration value"); } @@ -91,7 +91,7 @@ namespace IfcUtil { arguments.push_back(IfcArgumentDescriptor(name, optional, argument_type, data_type)); } unsigned getArgumentCount() const { - return (parent ? parent->getArgumentCount() : 0) + arguments.size(); + return (parent ? parent->getArgumentCount() : 0) + (unsigned)arguments.size(); } const std::string& getArgumentName(unsigned i) const { const unsigned a = argument_start(); diff --git a/src/ifcparse/IfcGlobalId.cpp b/src/ifcparse/IfcGlobalId.cpp index 85cdc1ad1c..d1692b6bbd 100644 --- a/src/ifcparse/IfcGlobalId.cpp +++ b/src/ifcparse/IfcGlobalId.cpp @@ -52,7 +52,7 @@ unsigned from_base64(const std::string& s) { r *= 64; const char* c = strchr(chars,*i); if ( !c ) throw IfcParse::IfcException("Failed to decode GlobalId"); - r += (c-chars); + r += (unsigned)(c-chars); } return r; } diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index ac3e0cc99c..9b5f33a26b 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -467,7 +467,7 @@ boost::dynamic_bitset<> TokenFunc::asBinary(const Token& t) { } ++it; - unsigned i = (str.size()-1) * 4 - n; + unsigned i = ((unsigned)str.size()-1) * 4 - n; boost::dynamic_bitset<> bitset(i); for(; it != str.end(); ++it) { diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index e57f5da279..3e106c5afc 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -187,11 +187,11 @@ public: } outer_it begin() const { return ls.begin(); } outer_it end() const { return ls.end(); } - int size() const { return ls.size(); } + int size() const { return (int)ls.size(); } int totalSize() const { int accum = 0; for (outer_it it = begin(); it != end(); ++it) { - accum += it->size(); + accum += (int)it->size(); } return accum; } diff --git a/src/ifcparse/IfcWrite.cpp b/src/ifcparse/IfcWrite.cpp index 86486ed992..99579f1d83 100644 --- a/src/ifcparse/IfcWrite.cpp +++ b/src/ifcparse/IfcWrite.cpp @@ -84,7 +84,7 @@ Argument* IfcWritableEntity::getArgument (unsigned int i) { } return args[i]; } -unsigned int IfcWritableEntity::getArgumentCount() const {return args.size(); } +unsigned int IfcWritableEntity::getArgumentCount() const { return (unsigned)args.size(); } IfcSchema::Type::Enum IfcWritableEntity::type() const { return _type; } bool IfcWritableEntity::is(IfcSchema::Type::Enum v) const { return _type == v; } std::string IfcWritableEntity::toString(bool upper) const { @@ -298,12 +298,12 @@ public: int operator()(const double& i) const { return -1; } int operator()(const std::string& i) const { return -1; } int operator()(const boost::dynamic_bitset<>& i) const { return -1; } - int operator()(const std::vector& i) const { return i.size(); } - int operator()(const std::vector& i) const { return i.size(); } - int operator()(const std::vector< std::vector >& i) const { return i.size(); } - int operator()(const std::vector< std::vector >& i) const { return i.size(); } - int operator()(const std::vector& i) const { return i.size(); } - int operator()(const std::vector< boost::dynamic_bitset<> >& i) const { return i.size(); } + int operator()(const std::vector& i) const { return (int)i.size(); } + int operator()(const std::vector& i) const { return (int)i.size(); } + int operator()(const std::vector< std::vector >& i) const { return (int)i.size(); } + int operator()(const std::vector< std::vector >& i) const { return (int)i.size(); } + int operator()(const std::vector& i) const { return (int)i.size(); } + int operator()(const std::vector< boost::dynamic_bitset<> >& i) const { return (int)i.size(); } int operator()(const IfcWriteArgument::EnumerationReference& i) const { return -1; } int operator()(const IfcUtil::IfcBaseClass* const& i) const { return -1; } int operator()(const IfcEntityList::ptr& i) const { return i->size(); } @@ -351,7 +351,7 @@ private: oss.imbue(std::locale::classic()); oss.put('"'); oss << std::hex << std::setw(1); - unsigned c = b.size(); + unsigned c = (unsigned)b.size(); unsigned n = (4 - (c % 4)) & 3; oss << n; for (unsigned i = 0; i < c + n;) { diff --git a/src/ifcwrap/utils/type_conversion.i b/src/ifcwrap/utils/type_conversion.i index 6c739033d7..9ea0644457 100644 --- a/src/ifcwrap/utils/type_conversion.i +++ b/src/ifcwrap/utils/type_conversion.i @@ -132,9 +132,9 @@ template PyObject* pythonize_vector(const std::vector& v) { - const unsigned size = v.size(); + const size_t size = v.size(); PyObject* pyobj = PyTuple_New(size); - for (unsigned int i = 0; i < size; ++i) { + for (size_t i = 0; i < size; ++i) { PyTuple_SetItem(pyobj, i, pythonize(v[i])); } return pyobj; @@ -142,9 +142,9 @@ template PyObject* pythonize_vector2(const std::vector< std::vector >& v) { - const unsigned size = v.size(); + const size_t size = v.size(); PyObject* pyobj = PyTuple_New(size); - for (unsigned int i = 0; i < size; ++i) { + for (size_t i = 0; i < size; ++i) { PyTuple_SetItem(pyobj, i, pythonize_vector(v[i])); } return pyobj; From 206a9cf5d03662ddb1aa2d853dc1e1a87fa01c21 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 4 Nov 2015 16:25:13 +0200 Subject: [PATCH 014/157] Work around https://github.com/swig/swig/issues/325 --- src/ifcwrap/CMakeLists.txt | 6 ++++++ src/ifcwrap/IfcPython.i | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index 8e65a06b10..3ad7f1cb69 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -41,6 +41,12 @@ INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) SET(CMAKE_SWIG_FLAGS "") +# NOTE Workaround for most likely missing debug Python libraries on Windows (requires Python built from the source). +# Python 3.5 intaller and onwards will have an option to install the debug libraries too. +IF (WIN32 AND NOT PYTHON_DEBUG_LIBRARIES) + MESSAGE(STATUS "PYTHON_DEBUG_LIBRARIES not found, defining SWIG_PYTHON_INTERPRETER_NO_DEBUG workaround for IfcWrap.") + ADD_DEFINITIONS(-DSWIG_PYTHON_INTERPRETER_NO_DEBUG) +ENDIF() SET_SOURCE_FILES_PROPERTIES(IfcPython.i PROPERTIES CPLUSPLUS ON) SWIG_ADD_MODULE(ifcopenshell_wrapper python IfcPython.i) diff --git a/src/ifcwrap/IfcPython.i b/src/ifcwrap/IfcPython.i index 4fb584a088..3aca18456c 100644 --- a/src/ifcwrap/IfcPython.i +++ b/src/ifcwrap/IfcPython.i @@ -17,6 +17,27 @@ * * ********************************************************************************/ +%begin %{ +#if defined(_DEBUG) && defined(SWIG_PYTHON_INTERPRETER_NO_DEBUG) +/* https://github.com/swig/swig/issues/325 */ +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#endif +%} + %include "std_string.i" %include "exception.i" From 6190771817cb85961ae8137e5b4937f64530b7fc Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 4 Nov 2015 18:27:46 +0200 Subject: [PATCH 015/157] Fix/suppress signed-unsigned int conversion warnings on Windows x64. --- src/ifcgeom/IfcGeomCurves.cpp | 4 ++-- src/ifcgeom/IfcGeomFaces.cpp | 10 +++++----- src/ifcgeom/IfcGeomShapes.cpp | 4 ++-- src/ifcparse/IfcUtil.h | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/ifcgeom/IfcGeomCurves.cpp b/src/ifcgeom/IfcGeomCurves.cpp index 3d42984299..117df42f53 100644 --- a/src/ifcgeom/IfcGeomCurves.cpp +++ b/src/ifcgeom/IfcGeomCurves.cpp @@ -149,8 +149,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBSplineCurveWithKnots* l, Hand const std::vector knots = l->Knots(); TColgp_Array1OfPnt Poles(0, cps->size() - 1); - TColStd_Array1OfReal Knots(0, knots.size() - 1); - TColStd_Array1OfInteger Mults(0, mults.size() - 1); + TColStd_Array1OfReal Knots(0, (int)knots.size() - 1); + TColStd_Array1OfInteger Mults(0, (int)mults.size() - 1); Standard_Integer Degree = l->Degree(); Standard_Boolean Periodic = l->ClosedCurve(); diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp index fe0b36681f..da3f95c105 100644 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ b/src/ifcgeom/IfcGeomFaces.cpp @@ -899,11 +899,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBSplineSurfaceWithKnots* l, To std::vector umults = l->UMultiplicities(); std::vector vmults = l->VMultiplicities(); - TColgp_Array2OfPnt Poles (0, cps->size() - 1, 0, (*cps->begin()).size() - 1); - TColStd_Array1OfReal UKnots(0, uknots.size() - 1); - TColStd_Array1OfReal VKnots(0, vknots.size() - 1); - TColStd_Array1OfInteger UMults(0, umults.size() - 1); - TColStd_Array1OfInteger VMults(0, vmults.size() - 1); + TColgp_Array2OfPnt Poles (0, (int)cps->size() - 1, 0, (int)(*cps->begin()).size() - 1); + TColStd_Array1OfReal UKnots(0, (int)uknots.size() - 1); + TColStd_Array1OfReal VKnots(0, (int)vknots.size() - 1); + TColStd_Array1OfInteger UMults(0, (int)umults.size() - 1); + TColStd_Array1OfInteger VMults(0, (int)vmults.size() - 1); Standard_Integer UDegree = l->UDegree(); Standard_Integer VDegree = l->VDegree(); diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 896863805d..861de7de6c 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -399,7 +399,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape bool IfcGeom::Kernel::convert(const IfcSchema::IfcConnectedFaceSet* l, TopoDS_Shape& shape) { IfcSchema::IfcFace::list::ptr faces = l->CfsFaces(); bool facesAdded = false; - const unsigned int num_faces = faces->size(); + const unsigned int num_faces = (unsigned)faces->size(); bool valid_shell = false; if ( num_faces < getValue(GV_MAX_FACES_TO_SEW) ) { BRepOffsetAPI_Sewing builder; @@ -882,7 +882,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTriangulatedFaceSet* l, TopoDS if (faces.empty()) return false; - const unsigned int num_faces = indices.size(); + const unsigned int num_faces = (unsigned)indices.size(); bool valid_shell = false; if (faces.size() < getValue(GV_MAX_FACES_TO_SEW)) { diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index 3e106c5afc..cbf18333e0 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -230,7 +230,7 @@ public: void push(const std::vector& t) {ls.push_back(t);} outer_it begin() { return ls.begin(); } outer_it end() { return ls.end(); } - int size() const { return ls.size(); } + int size() const { return (int)ls.size(); } int totalSize() const { int accum = 0; for (outer_it it = begin(); it != end(); ++it) { From 318779196b27941b0e9fbaed7ba2e5fc22dc6e83 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 5 Nov 2015 17:43:41 +0200 Subject: [PATCH 016/157] Use BuildDepsCache.txt to store information about used Python version so that it's available for "autonomic" run-cmake.bat runs. --- .gitignore | 1 + win/build-deps.cmd | 13 +++++++++++-- win/readme.txt | 6 ++---- win/run-cmake.bat | 17 ++++++++--------- 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index c8ab31c0d2..f58a70deae 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ deps*/ build*/ install*/ +/win/BuildDepsCache.txt diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 8b3c41a890..b60f92d990 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -24,6 +24,8 @@ @echo off echo. +set THISDIR=%CD% + :: Enable the delayed environment variable expansion needed in vs-cfg.cmd. setlocal EnableDelayedExpansion @@ -271,10 +273,13 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error :Python :: TODO Update to 3.5 when it's released as it will have an option to install debug libraries. +:: NOTE If updating the default Python version, change PY_VER_MAJOR_MINOR accordingly in run-cmake.bat set PYTHON_VERSION=3.4.3 IF "%IFCOS_USE_PYTHON2%"=="TRUE" set PYTHON_VERSION=2.7.10 set PY_VER_MAJOR_MINOR=%PYTHON_VERSION:~0,3% set PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR:.=% +set PYTHONPATH=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% + set DEPENDENCY_NAME=Python %PYTHON_VERSION% set DEPENDENCY_DIR=N/A set PYTHON_AMD64_POSTFIX=.amd64 @@ -283,6 +288,10 @@ IF NOT %TARGET_ARCH%==x64 set PYTHON_AMD64_POSTFIX= set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi :: NOTE/TODO 3.5.0 doesn't use MSI any longer, but exe: set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.exe IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( + REM Store Python versions to BuildDepsCache.txt for run-cmake.bat + echo PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR%>"%THISDIR%\BuildDepsCache.txt" + echo PYTHONPATH=%PYTHONPATH%>>"%THISDIR%\BuildDepsCache.txt" + cd "%DEPS_DIR%" call :DownloadFile https://www.python.org/ftp/python/%PYTHON_VERSION%/%PYTHON_INSTALLER% "%DEPS_DIR%" %PYTHON_INSTALLER% IF NOT %ERRORLEVEL%==0 GOTO :Error @@ -292,9 +301,9 @@ IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( msiexec /x %PYTHON_INSTALLER% /qn ) - IF NOT EXIST "%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR%". ( + IF NOT EXIST "%PYTHONPATH%". ( cecho {0D}Installing %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} - msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% + msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR="%PYTHONPATH%" ) ELSE ( cecho {0D}%DEPENDENCY_NAME% already installed. Skipping.{# #}{\n} ) diff --git a/win/readme.txt b/win/readme.txt index 0718d1cb5c..0b9b14c0a7 100644 --- a/win/readme.txt +++ b/win/readme.txt @@ -28,10 +28,7 @@ After the dependencies are build, execute run-cmake.bat. The batch file expects is provided, the same default value as above is used. This batch script will create a folder of form build-vs- which will contain the solution and project files for Visual Studio. IMPORTANT: If you wish to use any library from a custom location, modify the paths in run-cmake.bat -accordingly. If you used IFCOS_USE_PYTHON2=TRUE when running build-deps.cmd, currently it must also be -set accordingly before running run-cmake.bat, if run-cmake.bat is not run in the same command prompt -session as build-deps.cmd was run. - +accordingly. All of the dependencies are build as static libraries against the static run-time allowing the developer to effortlessly deploy standalone binaries. @@ -47,6 +44,7 @@ folder and the required IfcOpenShell-Python parts are deployed to the Date: Mon, 9 Nov 2015 15:36:57 +0200 Subject: [PATCH 017/157] Clean up CMake biz by using OCE_LIBRARIES variable for defining OCE libs + fix setting of PYTHON_INCLUDE_DIR + PYTHON_LIBRARY vars + small README.md cleanup. --- README.md | 3 +-- cmake/CMakeLists.txt | 15 +++++++-------- src/ifcwrap/CMakeLists.txt | 11 ++++------- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 5fd13d33f3..5930c8a271 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,10 @@ the cmake/ folder. The preferred way to fetch and build this project's dependencies is to use the build scripts in win/ folder. See win/readme.txt for more information. Instructions in a nutshell (assuming Visual Studio x64 environment variables set): - > git clone https://github.com/Tridify/IfcOpenShell.git + > git clone https://github.com/IfcOpenShell/IfcOpenShell.git > cd oce\win > build-deps.cmd (defaults to using VS 2015 x64 RelWithDebInfo build) > run-cmake.bat (defaults to using VS 2015 x64) - > copy-runtime-deps.bat (defaults to using RelWithDebInfo) > ..\build-vs2015-x64\IfcOpenShell.sln You can now build the solution using the RelWithDebInfo configuration You can also build the INSTALL project if wanted diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 9428e82aea..beb869f2a3 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -54,6 +54,11 @@ ELSE() MESSAGE(FATAL_ERROR "Unable to find header files, aborting") ENDIF() +SET(OCE_LIBRARIES + TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO + TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset +) + IF("$ENV{OCC_LIBRARY_DIR}" STREQUAL "") SET(OCC_LIBRARY_DIR "/usr/lib/" CACHE FILEPATH "Open CASCADE library files") MESSAGE(STATUS "Looking for opencascade library files in: ${OCC_LIBRARY_DIR}") @@ -246,10 +251,7 @@ file(GLOB H_FILES ../src/ifcconvert/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) ADD_EXECUTABLE(IfcConvert ${SOURCE_FILES}) -TARGET_LINK_LIBRARIES(IfcConvert IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing - TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset - ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES} -) +TARGET_LINK_LIBRARIES(IfcConvert IfcParse IfcGeom ${OCE_LIBRARIES} ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES}) # IfcGeomServer file(GLOB CPP_FILES ../src/ifcgeomserver/*.cpp) @@ -257,10 +259,7 @@ file(GLOB H_FILES ../src/ifcgeomserver/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) ADD_EXECUTABLE(IfcGeomServer ${SOURCE_FILES}) -TARGET_LINK_LIBRARIES(IfcGeomServer IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing - TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset - ${Boost_LIBRARIES} -) +TARGET_LINK_LIBRARIES(IfcGeomServer IfcParse IfcGeom ${OCE_LIBRARIES} ${Boost_LIBRARIES}) IF(BUILD_IFCPYTHON) ADD_SUBDIRECTORY(../src/ifcwrap ifcwrap) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index 3ad7f1cb69..c903d53566 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -21,13 +21,13 @@ FIND_PACKAGE(SWIG) IF(SWIG_FOUND) -INCLUDE(${SWIG_USE_FILE}) +INCLUDE(${SWIG_USE_FILE}) -IF(NOT "$ENV{OCC_LIBRARY_DIR}" STREQUAL "") +IF(NOT "$ENV{PYTHON_INCLUDE_DIR}" STREQUAL "") SET(PYTHON_INCLUDE_DIR $ENV{PYTHON_INCLUDE_DIR} CACHE FILEPATH "Python header files") MESSAGE(STATUS "Looking for Python header files in: ${PYTHON_INCLUDE_DIR}") ENDIF() -IF(NOT "$ENV{OCC_LIBRARY_DIR}" STREQUAL "") +IF(NOT "$ENV{PYTHON_LIBRARY}" STREQUAL "") SET(PYTHON_LIBRARY $ENV{PYTHON_LIBRARY} CACHE FILEPATH "Python library file") MESSAGE(STATUS "Looking for Python library file in: ${PYTHON_LIBRARY}") ENDIF() @@ -50,10 +50,7 @@ ENDIF() SET_SOURCE_FILES_PROPERTIES(IfcPython.i PROPERTIES CPLUSPLUS ON) SWIG_ADD_MODULE(ifcopenshell_wrapper python IfcPython.i) -SWIG_LINK_LIBRARIES(ifcopenshell_wrapper - ${PYTHON_LIBRARIES} IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing - TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKOffset ${ICU_LIBRARIES} -) +SWIG_LINK_LIBRARIES(ifcopenshell_wrapper IfcParse IfcGeom ${PYTHON_LIBRARIES} ${OCE_LIBRARIES} ${ICU_LIBRARIES}) # To install IfcPython let's get the site-packages dir from python EXECUTE_PROCESS(COMMAND From 8b63959509775435c81053d75e561a75b88b9949 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 9 Nov 2015 16:04:06 +0200 Subject: [PATCH 018/157] Use separate BuildDepsCache.txt for x86 and x64 builds. --- .gitignore | 8 ++++---- win/build-deps.cmd | 4 ++-- win/readme.txt | 14 +++++++------- win/run-cmake.bat | 6 +++--- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index f58a70deae..96fb1b5394 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Dependency and build folders created by the build scripts -deps*/ -build*/ -install*/ -/win/BuildDepsCache.txt +/deps*/ +/build*/ +/install*/ +/win/BuildDepsCache*.txt diff --git a/win/build-deps.cmd b/win/build-deps.cmd index b60f92d990..d3c5f7e2e8 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -289,8 +289,8 @@ set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi :: NOTE/TODO 3.5.0 doesn't use MSI any longer, but exe: set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.exe IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( REM Store Python versions to BuildDepsCache.txt for run-cmake.bat - echo PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR%>"%THISDIR%\BuildDepsCache.txt" - echo PYTHONPATH=%PYTHONPATH%>>"%THISDIR%\BuildDepsCache.txt" + echo PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR%>"%THISDIR%\BuildDepsCache-%TARGET_ARCH%.txt" + echo PYTHONPATH=%PYTHONPATH%>>"%THISDIR%\BuildDepsCache-%TARGET_ARCH%.txt" cd "%DEPS_DIR%" call :DownloadFile https://www.python.org/ftp/python/%PYTHON_VERSION%/%PYTHON_INSTALLER% "%DEPS_DIR%" %PYTHON_INSTALLER% diff --git a/win/readme.txt b/win/readme.txt index 0b9b14c0a7..fcfab65262 100644 --- a/win/readme.txt +++ b/win/readme.txt @@ -40,11 +40,11 @@ folder and the required IfcOpenShell-Python parts are deployed to the .txt - Cache file created by build-deps.cmd | -+---sln - Contains the old Visual Studio solution and project files -\---utils - Contains various utilities for the build scripts ++---sln - Contains the old Visual Studio solution and project files +\---utils - Contains various utilities for the build scripts diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 0f8e14e1d6..8ee76982b2 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -25,11 +25,11 @@ set PROJECT_NAME=IfcOpenShell :: Enable the delayed environment variable expansion needed in vs-cfg.cmd. setlocal EnableDelayedExpansion -:: Read Python related variables from BuildDepsCache.txt -for /f "delims== tokens=1,2" %%G in (BuildDepsCache.txt) do set %%G=%%H - call vs-cfg.cmd %1 +:: Read Python related variables from BuildDepsCache.txt +for /f "delims== tokens=1,2" %%G in (BuildDepsCache-%TARGET_ARCH%.txt) do set %%G=%%H + pushd .. set CMAKE_INSTALL_PREFIX=%CD%\installed-vs%VS_VER%-%TARGET_ARCH% popd From 89a015724b1a64f0b9f9f1ff8cfa351ef26732a5 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 9 Nov 2015 17:42:46 +0200 Subject: [PATCH 019/157] CMake biz: rename OCE_LIBRARIES to OPENCASCADE_LIBRARIES, use this variable also in examples & qtviewer CMakeLists.txt --- cmake/CMakeLists.txt | 6 +++--- src/examples/CMakeLists.txt | 23 +++++++++++++++++++++-- src/ifcwrap/CMakeLists.txt | 2 +- src/qtviewer/CMakeLists.txt | 20 +++++++++++++++++++- 4 files changed, 44 insertions(+), 7 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index beb869f2a3..56cb5de90b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -54,7 +54,7 @@ ELSE() MESSAGE(FATAL_ERROR "Unable to find header files, aborting") ENDIF() -SET(OCE_LIBRARIES +SET(OPENCASCADE_LIBRARIES TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset ) @@ -251,7 +251,7 @@ file(GLOB H_FILES ../src/ifcconvert/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) ADD_EXECUTABLE(IfcConvert ${SOURCE_FILES}) -TARGET_LINK_LIBRARIES(IfcConvert IfcParse IfcGeom ${OCE_LIBRARIES} ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES}) +TARGET_LINK_LIBRARIES(IfcConvert IfcParse IfcGeom ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES}) # IfcGeomServer file(GLOB CPP_FILES ../src/ifcgeomserver/*.cpp) @@ -259,7 +259,7 @@ file(GLOB H_FILES ../src/ifcgeomserver/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) ADD_EXECUTABLE(IfcGeomServer ${SOURCE_FILES}) -TARGET_LINK_LIBRARIES(IfcGeomServer IfcParse IfcGeom ${OCE_LIBRARIES} ${Boost_LIBRARIES}) +TARGET_LINK_LIBRARIES(IfcGeomServer IfcParse IfcGeom ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES}) IF(BUILD_IFCPYTHON) ADD_SUBDIRECTORY(../src/ifcwrap ifcwrap) diff --git a/src/examples/CMakeLists.txt b/src/examples/CMakeLists.txt index e572379ec1..0f0da6a525 100644 --- a/src/examples/CMakeLists.txt +++ b/src/examples/CMakeLists.txt @@ -1,5 +1,24 @@ +################################################################################ +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +################################################################################ + ADD_EXECUTABLE(IfcParseExamples IfcParseExamples.cpp) -TARGET_LINK_LIBRARIES (IfcParseExamples IfcParse) +TARGET_LINK_LIBRARIES(IfcParseExamples IfcParse) ADD_EXECUTABLE(IfcOpenHouse IfcOpenHouse.cpp) -TARGET_LINK_LIBRARIES (IfcOpenHouse IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKOffset) +TARGET_LINK_LIBRARIES(IfcOpenHouse IfcParse IfcGeom ${OPENCASCADE_LIBRARIES}) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index c903d53566..8bbc653dde 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -50,7 +50,7 @@ ENDIF() SET_SOURCE_FILES_PROPERTIES(IfcPython.i PROPERTIES CPLUSPLUS ON) SWIG_ADD_MODULE(ifcopenshell_wrapper python IfcPython.i) -SWIG_LINK_LIBRARIES(ifcopenshell_wrapper IfcParse IfcGeom ${PYTHON_LIBRARIES} ${OCE_LIBRARIES} ${ICU_LIBRARIES}) +SWIG_LINK_LIBRARIES(ifcopenshell_wrapper IfcParse IfcGeom ${PYTHON_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${ICU_LIBRARIES}) # To install IfcPython let's get the site-packages dir from python EXECUTE_PROCESS(COMMAND diff --git a/src/qtviewer/CMakeLists.txt b/src/qtviewer/CMakeLists.txt index f6442fcfa8..994a44ed16 100644 --- a/src/qtviewer/CMakeLists.txt +++ b/src/qtviewer/CMakeLists.txt @@ -1,3 +1,21 @@ +################################################################################ +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +################################################################################ OPTION( QT_USE_QTVIEWER "IfcOpenShell QT GUI Viewer, QT environment required" OFF ) @@ -40,7 +58,7 @@ QT_WRAP_CPP(QTviewer QTviewer_SRCS ${QTviewer_MOC_SRCS}) ADD_EXECUTABLE( QTviewer ${QTviewer_SRCS} ${QTviewer_MOC_SRCS}) #http://www.qtcentre.org/wiki/index.php?title=Compiling_Qt4_apps_with_CMake -TARGET_LINK_libRARIES (QTviewer IfcParse IfcGeom ${QT_LIBRARIES} TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet) +TARGET_LINK_libRARIES (QTviewer IfcParse IfcGeom ${QT_LIBRARIES} ${OPENCASCADE_LIBRARIES}) ENDIF (QT_USE_QTVIEWER) From 106da124446775e6fee658c36b8e4eea1ba77404 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 10 Nov 2015 20:05:11 +0200 Subject: [PATCH 020/157] build-deps.cmd: make debug libs of OpenCOLADA and ICU to have "d" postfix so that release and debug variants can co-exist in the same dir as is the default with OCE. --- win/build-deps.cmd | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index d3c5f7e2e8..fc29676bd1 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -190,14 +190,14 @@ IF EXIST "%DEPS_DIR%\icu-55.1-vs%VS_VER%". ( IF EXIST "%DEPS_DIR%\icu-55.1-vs%VS_VER%\". ( robocopy "%DEPS_DIR%\icu-55.1-vs%VS_VER%\include" "%INSTALL_DIR%\icu\include" /E /IS /njh /njs IF NOT EXIST "%INSTALL_DIR%\icu\lib". mkdir "%INSTALL_DIR%\icu\lib" - copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicutest%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icutest.lib" - copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicutu%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icutu.lib" - copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicuuc%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icuuc.lib" - copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicudt%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icudt.lib" - copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicuin%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icuin.lib" - copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicuio%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icuio.lib" - copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicule%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icule.lib" - copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\siculx%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\iculx.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicutest%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icutest%POSTFIX_D%.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicutu%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icutu%POSTFIX_D%.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicuuc%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icuuc%POSTFIX_D%.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicudt%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icudt%POSTFIX_D%.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicuin%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icuin%POSTFIX_D%.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicuio%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icuio%POSTFIX_D%.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\sicule%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\icule%POSTFIX_D%.lib" + copy /y "%DEPS_DIR%\icu-55.1-vs%VS_VER%\lib%ARCH_BITS%\siculx%POSTFIX_D%.lib" "%INSTALL_DIR%\icu\lib\iculx%POSTFIX_D%.lib" ) :OpenCOLLADA @@ -210,7 +210,7 @@ cd "%DEPENDENCY_DIR%" :: NOTE OpenCOLLADA has been observed to have problems with switching between debug and release builds so :: uncomment to following line in order to delete the CMakeCache.txt always if experiencing problems. REM IF EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%\CMakeCache.txt". del "%DEPENDENCY_DIR%\%BUILD_DIR%\CMakeCache.txt" -call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\OpenCOLLADA" -DUSE_STATIC_MSVC_RUNTIME=1 +call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\OpenCOLLADA" -DUSE_STATIC_MSVC_RUNTIME=1 -DCMAKE_DEBUG_POSTFIX=d IF NOT %ERRORLEVEL%==0 GOTO :Error REM TODO OpenCOLLADA takes a long time to build; build only if needed REM IF NOT EXIST "%DEPS_DIR%\OpenCOLLADA\%BUILD_DIR%\lib\%DEBUG_OR_RELEASE%\OpenCOLLADASaxFrameworkLoader.lib". @@ -218,7 +218,7 @@ call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\OPENCOLLADA.sln" %DEBUG_OR_REL IF NOT %ERRORLEVEL%==0 GOTO :Error call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %DEBUG_OR_RELEASE% IF NOT %ERRORLEVEL%==0 GOTO :Error - +pause :oce-win-bundle set DEPENDENCY_NAME=oce-win-bundle set DEPENDENCY_DIR=%DEPS_DIR%\oce-win-bundle From d912e7328205edcf585b122180c14e84b3ee66ad Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 10 Nov 2015 23:18:02 +0200 Subject: [PATCH 021/157] Allow both debug and release variants of dependencies to co-exist allowing effortless switching between IfcOpenShell debug and release builds. --- cmake/CMakeLists.txt | 62 ++++++++++++++++++++++++++++++++------------ win/build-deps.cmd | 2 +- win/readme.txt | 11 ++++---- 3 files changed, 51 insertions(+), 24 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 56cb5de90b..9eb0d02a34 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -32,6 +32,8 @@ OPTION(BUILD_EXAMPLES "Build example applications." ON) # Find Boost IF(MSVC) SET(Boost_USE_STATIC_LIBS ON) + SET(Boost_USE_STATIC_RUNTIME ON) + SET(Boost_USE_MULTITHREADED ON) ENDIF() FIND_PACKAGE(Boost REQUIRED COMPONENTS system program_options regex thread date_time) MESSAGE(STATUS "Boost include files found in ${Boost_INCLUDE_DIRS}") @@ -54,10 +56,23 @@ ELSE() MESSAGE(FATAL_ERROR "Unable to find header files, aborting") ENDIF() -SET(OPENCASCADE_LIBRARIES - TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO - TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset -) +IF (MSVC) + # TODO Clean up by having a macro/function that takes in library names and a debug postfix and creates both release and debug linkage + SET(OPENCASCADE_LIBRARIES + optimized TKernel optimized TKMath optimized TKBRep optimized TKGeomBase optimized TKGeomAlgo + optimized TKG3d optimized TKG2d optimized TKShHealing optimized TKTopAlgo optimized TKMesh + optimized TKPrim optimized TKBool optimized TKBO optimized TKFillet optimized TKSTEP optimized TKSTEPBase + optimized TKSTEPAttr optimized TKXSBase optimized TKSTEP209 optimized TKIGES optimized TKOffset + debug TKerneld debug TKMathd debug TKBRepd debug TKGeomBased debug TKGeomAlgod debug TKG3dd debug TKG2dd + debug TKShHealingd debug TKTopAlgod debug TKMeshd debug TKPrimd debug TKBoold debug TKBOd debug TKFilletd + debug TKSTEPd debug TKSTEPBased debug TKSTEPAttrd debug TKXSBased debug TKSTEP209d debug TKIGESd debug TKOffsetd + ) +ELSE() + SET(OPENCASCADE_LIBRARIES + TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO + TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset + ) +ENDIF() IF("$ENV{OCC_LIBRARY_DIR}" STREQUAL "") SET(OCC_LIBRARY_DIR "/usr/lib/" CACHE FILEPATH "Open CASCADE library files") @@ -68,7 +83,7 @@ ELSE() MESSAGE(STATUS "Looking for opencascade library files in: ${OCC_LIBRARY_DIR}") ENDIF() -FIND_LIBRARY(libTKernel "TKernel" ${OCC_LIBRARY_DIR} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64) +FIND_LIBRARY(libTKernel NAMES TKernel TKerneld PATHS ${OCC_LIBRARY_DIR} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64) IF(libTKernel) MESSAGE(STATUS "Library files found") ELSE() @@ -89,14 +104,18 @@ IF(UNICODE_SUPPORT) SET(ICU_LIBRARY_DIR "$ENV{ICU_LIBRARY_DIR}" CACHE FILEPATH "ICU library files") ENDIF() - FIND_LIBRARY(icu "icuuc" /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 ${ICU_LIBRARY_DIR}) + FIND_LIBRARY(icu NAMES icuuc icuucd PATHS /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 ${ICU_LIBRARY_DIR}) IF(icu) ADD_DEFINITIONS(-DHAVE_ICU) MESSAGE(STATUS "ICU libraries found") - IF(MSVC) - ADD_DEFINITIONS(-DU_STATIC_IMPLEMENTATION) # required for static ICU - ENDIF() + # TODO Clean up by having a macro/function that takes in library names and a debug postfix and creates both release and debug linkage + if (MSVC) + SET(ICU_LIBRARIES optimized icuuc optimized icudt debug icuucd debug icudtd) + ADD_DEFINITIONS(-DU_STATIC_IMPLEMENTATION) # required for static ICU + ELSE() + SET(ICU_LIBRARIES icuuc icudata) + ENDIF() ELSE() MESSAGE(STATUS "Unable to find ICU library files, continuing") ENDIF() @@ -124,11 +143,20 @@ IF(COLLADA_SUPPORT) IF(COLLADASWStreamWriter_h) MESSAGE(STATUS "OpenCOLLADA header files found") ADD_DEFINITIONS(-DWITH_OPENCOLLADA) - SET(OPENCOLLADA_LIBRARIES - GeneratedSaxParser MathMLSolver OpenCOLLADABaseUtils - OpenCOLLADAFramework OpenCOLLADASaxFrameworkLoader - OpenCOLLADAStreamWriter UTF buffer ftoa pcre - ) + # TODO Clean up by having a macro/function that takes in library names and a debug postfix and creates both release and debug linkage + IF(MSVC) + SET(OPENCOLLADA_LIBRARIES + optimized GeneratedSaxParser optimized MathMLSolver optimized OpenCOLLADABaseUtils optimized OpenCOLLADAFramework optimized OpenCOLLADASaxFrameworkLoader + optimized OpenCOLLADAStreamWriter optimized UTF optimized buffer optimized ftoa optimized pcre + debug GeneratedSaxParserd debug MathMLSolverd debug OpenCOLLADABaseUtilsd debug OpenCOLLADAFrameworkd debug OpenCOLLADASaxFrameworkLoaderd + debug OpenCOLLADAStreamWriterd debug UTFd debug bufferd debug ftoad debug pcred + ) + ELSE() + SET(OPENCOLLADA_LIBRARIES + GeneratedSaxParser MathMLSolver OpenCOLLADABaseUtils OpenCOLLADAFramework OpenCOLLADASaxFrameworkLoader + OpenCOLLADAStreamWriter UTF buffer ftoa pcre + ) + ENDIF() ELSE() MESSAGE(STATUS "OpenCOLLADA header files not found, continuing without COLLADA support") ENDIF() @@ -223,7 +251,7 @@ file(GLOB H_FILES ../src/ifcparse/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) ADD_LIBRARY(IfcParse STATIC ${SOURCE_FILES}) IF(icu) - TARGET_LINK_LIBRARIES(IfcParse icuuc icudt) + TARGET_LINK_LIBRARIES(IfcParse ${ICU_LIBRARIES}) ENDIF() # IfcGeom @@ -251,7 +279,7 @@ file(GLOB H_FILES ../src/ifcconvert/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) ADD_EXECUTABLE(IfcConvert ${SOURCE_FILES}) -TARGET_LINK_LIBRARIES(IfcConvert IfcParse IfcGeom ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES}) +TARGET_LINK_LIBRARIES(IfcConvert IfcParse IfcGeom ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ${ICU_LIBRARIES}) # IfcGeomServer file(GLOB CPP_FILES ../src/ifcgeomserver/*.cpp) @@ -259,7 +287,7 @@ file(GLOB H_FILES ../src/ifcgeomserver/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) ADD_EXECUTABLE(IfcGeomServer ${SOURCE_FILES}) -TARGET_LINK_LIBRARIES(IfcGeomServer IfcParse IfcGeom ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES}) +TARGET_LINK_LIBRARIES(IfcGeomServer IfcParse IfcGeom ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${ICU_LIBRARIES}) IF(BUILD_IFCPYTHON) ADD_SUBDIRECTORY(../src/ifcwrap ifcwrap) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index fc29676bd1..f1f8af8f2e 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -218,7 +218,7 @@ call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\OPENCOLLADA.sln" %DEBUG_OR_REL IF NOT %ERRORLEVEL%==0 GOTO :Error call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %DEBUG_OR_RELEASE% IF NOT %ERRORLEVEL%==0 GOTO :Error -pause + :oce-win-bundle set DEPENDENCY_NAME=oce-win-bundle set DEPENDENCY_DIR=%DEPS_DIR%\oce-win-bundle diff --git a/win/readme.txt b/win/readme.txt index fcfab65262..cab80b3372 100644 --- a/win/readme.txt +++ b/win/readme.txt @@ -19,9 +19,8 @@ build-deps.cmd expects a CMake generator as %1 and a build configuration type as are not provided, the default values are used ("Visual Studio 14 2015 Win64" and RelWithDebInfo respectively). A build type (Build/Rebuild/Clean) can be provided as %3, if wanted (defaults to Build). See vs-cfg.cmd if you want to change the defaults. The batch file will create deps\ and deps-vs--installed\ -directories to the project root. Note that currently only libraries for one build configuration type -can be installed at a time, so if wanting to switch between release and debug builds, run the build-deps.cmd -again with the appropriate build type as %2. +directories to the project root. Debug and release builds of the depedencies can co-exist by simply running +"build-deps.cmd Debug" and "build-deps.cmd ". After the dependencies are build, execute run-cmake.bat. The batch file expects a CMake generator as %1, or alternatively if more parameters are provided, %* is passed for the CMake inkovation. If no %1 @@ -30,13 +29,13 @@ build-vs- which will contain the solution and project fil IMPORTANT: If you wish to use any library from a custom location, modify the paths in run-cmake.bat accordingly. -All of the dependencies are build as static libraries against the static run-time allowing the developer -to effortlessly deploy standalone binaries. - You can now build the project using the IfcOpenShell.sln file in the build folder. Build the INSTALL project if wanted. The project will installed to installed-vs- folder in the project's root folder and the required IfcOpenShell-Python parts are deployed to the \Lib\site-packages folder. +All of the dependencies are build as static libraries against the static run-time allowing the developer +to effortlessly deploy standalone IFCOS binaries. + == Directory Structure == From 431e993ba3ed86b8a69e1456811edb32fbc9d93f Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 11 Nov 2015 13:24:34 +0200 Subject: [PATCH 022/157] CMake biz: Instead of providing elusive prints of missing dependencies for required features and continuing the build configuration, fail fast instead; user can easily disable the feature or fix the paths for the dependency. --- cmake/CMakeLists.txt | 19 ++++++++++++------- src/ifcwrap/CMakeLists.txt | 14 ++++++-------- src/qtviewer/CMakeLists.txt | 9 --------- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 9eb0d02a34..85088ba902 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -21,13 +21,15 @@ cmake_minimum_required (VERSION 2.6) project (IfcOpenShell) -OPTION(UNICODE_SUPPORT "Build with Unicode support enabled (requires ICU)." ON) -OPTION(COLLADA_SUPPORT "Build with COLLADA support enabled (requires OpenCOLLADA)." ON) +OPTION(UNICODE_SUPPORT "Build IfcOpenShell with Unicode support (requires ICU)." ON) +OPTION(COLLADA_SUPPORT "Build IfcConvert with COLLADA support (requires OpenCOLLADA)." ON) OPTION(ENABLE_BUILD_OPTIMIZATIONS "Enable certain compiler and linker optimizations on RelWithDebInfo and Release builds." OFF) #TODO OPTION(IFCCONVERT_DOUBLE_PRECISION "IfcConvert: Use double precision floating-point numbers." OFF) OPTION(USE_IFC4 "Use IFC 4 instead of IFC 2x3" OFF) OPTION(BUILD_IFCPYTHON "Build IfcPython." ON) OPTION(BUILD_EXAMPLES "Build example applications." ON) +# TODO QtViewer is deprecated ATM as it uses the 0.4 API +# OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer (requires Qt 4 framework)." OFF) # Find Boost IF(MSVC) @@ -117,7 +119,7 @@ IF(UNICODE_SUPPORT) SET(ICU_LIBRARIES icuuc icudata) ENDIF() ELSE() - MESSAGE(STATUS "Unable to find ICU library files, continuing") + MESSAGE(FATAL_ERROR "UNICODE_SUPPORT enabled, but unable to find ICU. Disable UNICODE_SUPPORT or fix ICU paths to proceed.") ENDIF() ENDIF() @@ -158,7 +160,7 @@ IF(COLLADA_SUPPORT) ) ENDIF() ELSE() - MESSAGE(STATUS "OpenCOLLADA header files not found, continuing without COLLADA support") + MESSAGE(FATAL_ERROR "COLLADA_SUPPORT enabled, but unable to find OpenCOLLADA. Disable COLLADA_SUPPORT or fix OpenCOLLADA paths to proceed.") ENDIF() ENDIF() @@ -242,7 +244,7 @@ endif() IF(USE_IFC4) ADD_DEFINITIONS(-DUSE_IFC4) ELSE() - ADD_DEFINITIONS(-DUSE_IFC2x3) + ADD_DEFINITIONS(-DUSE_IFC2x3) # TODO Make all caps? i.e. USE_IFC2X3 ENDIF() # IfcParse @@ -250,7 +252,7 @@ file(GLOB CPP_FILES ../src/ifcparse/*.cpp) file(GLOB H_FILES ../src/ifcparse/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) ADD_LIBRARY(IfcParse STATIC ${SOURCE_FILES}) -IF(icu) +IF(UNICODE_SUPPORT) TARGET_LINK_LIBRARIES(IfcParse ${ICU_LIBRARIES}) ENDIF() @@ -297,7 +299,10 @@ IF(BUILD_EXAMPLES) ADD_SUBDIRECTORY(../src/examples examples) ENDIF() -# ADD_SUBDIRECTORY(../src/qtviewer qtviewer) +# TODO QtViewer is deprecated ATM as it uses the 0.4 API +# IF(BUILD_QTVIEWER) + # ADD_SUBDIRECTORY(../src/qtviewer qtviewer) +# ENDIF() # CMake installation targets FILE(GLOB include_files_geom ../src/ifcgeom/*.h) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index 8bbc653dde..a431cb0c00 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -18,8 +18,9 @@ ################################################################################ FIND_PACKAGE(SWIG) - -IF(SWIG_FOUND) +IF(NOT SWIG_FOUND) + MESSAGE(FATAL_ERROR "BUILD_IFCPYTHON enabled, but unable to find SWIG. Disable BUILD_IFCPYTHON or fix SWIG paths to proceed.") +ENDIF() INCLUDE(${SWIG_USE_FILE}) @@ -33,8 +34,9 @@ IF(NOT "$ENV{PYTHON_LIBRARY}" STREQUAL "") ENDIF() FIND_PACKAGE(PythonLibs) - -IF(PYTHONLIBS_FOUND) +IF(NOT PYTHONLIBS_FOUND) + MESSAGE(FATAL_ERROR "BUILD_IFCPYTHON enabled, but unable to find Python. Disable BUILD_IFCPYTHON or fix Python paths to proceed.") +ENDIF() INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) @@ -70,7 +72,3 @@ INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/__init__.py" DESTINATION "${python_package_dir}/ifcopenshell/geom") INSTALL(TARGETS _ifcopenshell_wrapper DESTINATION "${python_package_dir}/ifcopenshell") - -ENDIF(PYTHONLIBS_FOUND) - -ENDIF(SWIG_FOUND) diff --git a/src/qtviewer/CMakeLists.txt b/src/qtviewer/CMakeLists.txt index 994a44ed16..81f97eba20 100644 --- a/src/qtviewer/CMakeLists.txt +++ b/src/qtviewer/CMakeLists.txt @@ -17,12 +17,6 @@ # # ################################################################################ -OPTION( QT_USE_QTVIEWER "IfcOpenShell QT GUI Viewer, QT environment required" OFF ) - - -IF (QT_USE_QTVIEWER) - - # Find QT header files SET(QT_MIN_VERSION "4.5.0") FIND_PACKAGE(Qt4 REQUIRED) @@ -59,6 +53,3 @@ ADD_EXECUTABLE( QTviewer ${QTviewer_SRCS} ${QTviewer_MOC_SRCS}) #http://www.qtcentre.org/wiki/index.php?title=Compiling_Qt4_apps_with_CMake TARGET_LINK_libRARIES (QTviewer IfcParse IfcGeom ${QT_LIBRARIES} ${OPENCASCADE_LIBRARIES}) - - -ENDIF (QT_USE_QTVIEWER) From 0f1db1267bcba91a35ccd88557ec2dda64b7d7a9 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 11 Nov 2015 17:41:38 +0200 Subject: [PATCH 023/157] Rename readme.txt to readme.md, link to the Windows readme.md from the main README.md. --- README.md | 8 +++++--- win/readme.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ win/readme.txt | 49 ------------------------------------------------- 3 files changed, 55 insertions(+), 52 deletions(-) create mode 100644 win/readme.md delete mode 100644 win/readme.txt diff --git a/README.md b/README.md index 5930c8a271..75783392dc 100644 --- a/README.md +++ b/README.md @@ -33,15 +33,15 @@ Users are advised to build IfcOpenShell using the CMake file provided in the cmake/ folder. The preferred way to fetch and build this project's dependencies is to use the build scripts -in win/ folder. See win/readme.txt for more information. Instructions in a nutshell +in win/ folder. See [win/readme.md] for more information. Instructions in a nutshell (assuming Visual Studio x64 environment variables set): > git clone https://github.com/IfcOpenShell/IfcOpenShell.git > cd oce\win > build-deps.cmd (defaults to using VS 2015 x64 RelWithDebInfo build) > run-cmake.bat (defaults to using VS 2015 x64) > ..\build-vs2015-x64\IfcOpenShell.sln -You can now build the solution using the RelWithDebInfo configuration -You can also build the INSTALL project if wanted +You can now build the solution using the RelWithDebInfo configuration (freshly created solution by CMake defaults to Debug). +Build the INSTALL project to deploy the headers and binaries into a single location if wanted/needed. Alternatively, the old Visual Studio solution and project files requiring manual work can be found from the win/sln folder. @@ -152,3 +152,5 @@ Or: >>> >>> # Writing IFC-SPF files to disk: >>> f.write("out.ifc") + +[win/readme.md]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win/readme.md "win/readme.md" \ No newline at end of file diff --git a/win/readme.md b/win/readme.md new file mode 100644 index 0000000000..358f972087 --- /dev/null +++ b/win/readme.md @@ -0,0 +1,50 @@ +Windows Build Tools and Scripts +=============================== +This folder contains build tools and script for automatic building and deployment of IfcOpenShell's +(IFCOS) dependencies. + +As a general guideline, `.cmd` files are non-standalone batch files that need to be run from command +prompt or from other batch file and/or Visual Studio environment variables set and `.bat` files are +standalone batch files that can be run also from the File Explorer. + +Usage Instructions +------------------ +Execute `build-deps.cmd` to fetch, build and install the dependencies. The batch file will print +requirements for a successful execution. The script allows a few user-configurable build options +which are listed in the usage instructions. Either edit the script file or set these values before +running the script. + +build-deps.cmd expects a CMake generator as `%1` and a build configuration type as `%2`. If the parameters +are not provided, the default values are used (`"Visual Studio 14 2015 Win64"` and `RelWithDebInfo` respectively). +A build type (`Build/Rebuild/Clean`) can be provided as `%3`, if wanted (defaults to `Build`). See `vs-cfg.cmd` +if you want to change the defaults. The batch file will create `deps\` and `deps-vs--installed\` +directories to the project root. Debug and release builds of the depedencies can co-exist by simply running +`build-deps.cmd Debug` and `build-deps.cmd `. + +After the dependencies are build, execute `run-cmake.bat`. The batch file expects a CMake generator as +`%1`, or alternatively if more parameters are provided, `%*` is passed for the CMake invokation. If no `%1` +is provided, the same default value as above is used. This batch script will create a folder of form +build-vs- which will contain the solution and project files for Visual Studio. +**If you wish to use any library from a custom location, modify the paths in run-cmake.bat +accordingly**. + +You can now build the project using the `IfcOpenShell.sln` file in the build folder. Build the `INSTALL` project +if wanted. The project will installed to `installed-vs-\` folder in the project's root +folder and the required IfcOpenShell-Python parts are deployed to the `\Lib\site-packages\` folder. + +All of the dependencies are build as static libraries against the static run-time allowing the developer +to effortlessly deploy standalone IFCOS binaries. + + +Directory Structure +------------------ +``` +| build-deps.cmd - Fetches and builds all needed dependencies for IFCOS +| readme.txt - This file +| run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS +| vs-cfg.cmd - Utility file used by the build scripts +| BuildDepsCache-.txt - Cache file created by build-deps.cmd +| ++---sln - Contains the old Visual Studio solution and project files +\---utils - Contains various utilities for the build scripts +``` diff --git a/win/readme.txt b/win/readme.txt deleted file mode 100644 index cab80b3372..0000000000 --- a/win/readme.txt +++ /dev/null @@ -1,49 +0,0 @@ -== Windows Build Tools and Scripts == - -This folder contains build tools and script for automatic building and deployment of IfcOpenShell's -(IFCOS) dependencies. - -As a general guideline, .cmd files are non-standalone batch files that need to be run from command -prompt or from other batch file and/or Visual Studio environment variables set and .bat files are -standalone batch files that can be run from File Explorer too. - - -== Usage Instructions == - -Execute build-deps.cmd to fetch, build and install the dependencies. The batch file will print -requirements for a successful execution. The script allows a few user-configurable build options -which are listed in the usage instructions. Either edit the script file or set these values before -running the script. - -build-deps.cmd expects a CMake generator as %1 and a build configuration type as %2. If the parameters -are not provided, the default values are used ("Visual Studio 14 2015 Win64" and RelWithDebInfo respectively). -A build type (Build/Rebuild/Clean) can be provided as %3, if wanted (defaults to Build). See vs-cfg.cmd -if you want to change the defaults. The batch file will create deps\ and deps-vs--installed\ -directories to the project root. Debug and release builds of the depedencies can co-exist by simply running -"build-deps.cmd Debug" and "build-deps.cmd ". - -After the dependencies are build, execute run-cmake.bat. The batch file expects a CMake generator as -%1, or alternatively if more parameters are provided, %* is passed for the CMake inkovation. If no %1 -is provided, the same default value as above is used. This batch script will create a folder of form -build-vs- which will contain the solution and project files for Visual Studio. -IMPORTANT: If you wish to use any library from a custom location, modify the paths in run-cmake.bat -accordingly. - -You can now build the project using the IfcOpenShell.sln file in the build folder. Build the INSTALL project -if wanted. The project will installed to installed-vs- folder in the project's root -folder and the required IfcOpenShell-Python parts are deployed to the \Lib\site-packages folder. - -All of the dependencies are build as static libraries against the static run-time allowing the developer -to effortlessly deploy standalone IFCOS binaries. - - -== Directory Structure == - -| build-deps.cmd - Fetches and builds all needed dependencies for IFCOS -| readme.txt - This file -| run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS -| vs-cfg.cmd - Utility file used by the build scripts -| BuildDepsCache-.txt - Cache file created by build-deps.cmd -| -+---sln - Contains the old Visual Studio solution and project files -\---utils - Contains various utilities for the build scripts From ccf4e84e18a811dcfc731c35be33361184974624 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 14 Nov 2015 19:19:55 +0200 Subject: [PATCH 024/157] CMakeLists.txt: Clean up addition of debug lib variants on MSVC. --- cmake/CMakeLists.txt | 70 +++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 85088ba902..568fcc71ed 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -41,6 +41,22 @@ FIND_PACKAGE(Boost REQUIRED COMPONENTS system program_options regex thread date_ MESSAGE(STATUS "Boost include files found in ${Boost_INCLUDE_DIRS}") MESSAGE(STATUS "Boost libraries found in ${Boost_LIBRARY_DIRS}") +# Usage: +# SET(SOME_LIRARIES foo bar) +# ADD_DEBUG_VARIANTS(SOME_LIRARIES "${SOME_LIRARIES}" "d") +# "foo bar" -> "optimized foo debug food optimized bar debug bard" +FUNCTION(ADD_DEBUG_VARIANTS NAME LIBRARIES POSTFIX) + SET(LIBRARIES_STR "${LIBRARIES}") + SET(LIBRARIES "") + FOREACH(lib ${LIBRARIES_STR}) + SET(LIBRARIES "${LIBRARIES} optimized ${lib}") + SET(LIBRARIES "${LIBRARIES} debug ${lib}${POSTFIX}") + ENDFOREACH() + STRING(STRIP ${LIBRARIES} LIBRARIES) # leading and trailing whitespace cause confusion + SEPARATE_ARGUMENTS(LIBRARIES) # "optimized debug " needs to be a list instead of a string + SET(${NAME} ${LIBRARIES} PARENT_SCOPE) +ENDFUNCTION() + # Find Open CASCADE IF("$ENV{OCC_INCLUDE_DIR}" STREQUAL "") SET(OCC_INCLUDE_DIR "/usr/include/opencascade/" CACHE FILEPATH "Open CASCADE header files") @@ -58,22 +74,13 @@ ELSE() MESSAGE(FATAL_ERROR "Unable to find header files, aborting") ENDIF() -IF (MSVC) - # TODO Clean up by having a macro/function that takes in library names and a debug postfix and creates both release and debug linkage - SET(OPENCASCADE_LIBRARIES - optimized TKernel optimized TKMath optimized TKBRep optimized TKGeomBase optimized TKGeomAlgo - optimized TKG3d optimized TKG2d optimized TKShHealing optimized TKTopAlgo optimized TKMesh - optimized TKPrim optimized TKBool optimized TKBO optimized TKFillet optimized TKSTEP optimized TKSTEPBase - optimized TKSTEPAttr optimized TKXSBase optimized TKSTEP209 optimized TKIGES optimized TKOffset - debug TKerneld debug TKMathd debug TKBRepd debug TKGeomBased debug TKGeomAlgod debug TKG3dd debug TKG2dd - debug TKShHealingd debug TKTopAlgod debug TKMeshd debug TKPrimd debug TKBoold debug TKBOd debug TKFilletd - debug TKSTEPd debug TKSTEPBased debug TKSTEPAttrd debug TKXSBased debug TKSTEP209d debug TKIGESd debug TKOffsetd - ) -ELSE() - SET(OPENCASCADE_LIBRARIES - TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO - TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset - ) +SET(OPENCASCADE_LIBRARIES + TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO + TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset +) + +IF(MSVC) + ADD_DEBUG_VARIANTS(OPENCASCADE_LIBRARIES "${OPENCASCADE_LIBRARIES}" "d") ENDIF() IF("$ENV{OCC_LIBRARY_DIR}" STREQUAL "") @@ -111,9 +118,10 @@ IF(UNICODE_SUPPORT) IF(icu) ADD_DEFINITIONS(-DHAVE_ICU) MESSAGE(STATUS "ICU libraries found") - # TODO Clean up by having a macro/function that takes in library names and a debug postfix and creates both release and debug linkage - if (MSVC) - SET(ICU_LIBRARIES optimized icuuc optimized icudt debug icuucd debug icudtd) + # NOTE icudata appears to be icudt on Windows/MSVC on icudata on others + IF(MSVC) + SET(ICU_LIBRARIES icuuc icudt) + ADD_DEBUG_VARIANTS(ICU_LIBRARIES "${ICU_LIBRARIES}" "d") ADD_DEFINITIONS(-DU_STATIC_IMPLEMENTATION) # required for static ICU ELSE() SET(ICU_LIBRARIES icuuc icudata) @@ -145,19 +153,12 @@ IF(COLLADA_SUPPORT) IF(COLLADASWStreamWriter_h) MESSAGE(STATUS "OpenCOLLADA header files found") ADD_DEFINITIONS(-DWITH_OPENCOLLADA) - # TODO Clean up by having a macro/function that takes in library names and a debug postfix and creates both release and debug linkage + SET(OPENCOLLADA_LIBRARIES + GeneratedSaxParser MathMLSolver OpenCOLLADABaseUtils OpenCOLLADAFramework OpenCOLLADASaxFrameworkLoader + OpenCOLLADAStreamWriter UTF buffer ftoa pcre + ) IF(MSVC) - SET(OPENCOLLADA_LIBRARIES - optimized GeneratedSaxParser optimized MathMLSolver optimized OpenCOLLADABaseUtils optimized OpenCOLLADAFramework optimized OpenCOLLADASaxFrameworkLoader - optimized OpenCOLLADAStreamWriter optimized UTF optimized buffer optimized ftoa optimized pcre - debug GeneratedSaxParserd debug MathMLSolverd debug OpenCOLLADABaseUtilsd debug OpenCOLLADAFrameworkd debug OpenCOLLADASaxFrameworkLoaderd - debug OpenCOLLADAStreamWriterd debug UTFd debug bufferd debug ftoad debug pcred - ) - ELSE() - SET(OPENCOLLADA_LIBRARIES - GeneratedSaxParser MathMLSolver OpenCOLLADABaseUtils OpenCOLLADAFramework OpenCOLLADASaxFrameworkLoader - OpenCOLLADAStreamWriter UTF buffer ftoa pcre - ) + ADD_DEBUG_VARIANTS(OPENCOLLADA_LIBRARIES "${OPENCOLLADA_LIBRARIES}" "d") ENDIF() ELSE() MESSAGE(FATAL_ERROR "COLLADA_SUPPORT enabled, but unable to find OpenCOLLADA. Disable COLLADA_SUPPORT or fix OpenCOLLADA paths to proceed.") @@ -176,7 +177,7 @@ IF (NOT WIN32) ADD_DEFINITIONS(-DOCE_HAVE_${STR}) ADD_DEFINITIONS(-DHAVE_${STR}) ENDIF(FOUND_${STR}) - ENDMACRO(CHECK_ADD_OCE_OCC_DEF) + ENDMACRO() CHECK_ADD_OCE_OCC_DEF(limits) CHECK_ADD_OCE_OCC_DEF(climits) @@ -191,11 +192,12 @@ ENDIF() IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE "Release") -ENDIF(NOT CMAKE_BUILD_TYPE) +ENDIF() # NOTE: RelWithDebInfo and Release use O2 (= /Ox /Gl /Gy/ = Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy) by default, # with the exception with RelWithDebInfo has /Ob1 instead. /Ob2 has been observed to improve the performance # of IfcConvert significantly. +# TODO Setting of /GL and /LTCG don't seem to apply for static libraries (IfcGeom, IfcParse) if(ENABLE_BUILD_OPTIMIZATIONS) if(MSVC) # C++ @@ -238,7 +240,7 @@ INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCL ${ICU_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ) if(NOT WIN32) - INCLUDE_DIRECTORIES(${LINK_DIRECTORIES} /usr/inc /usr/local/inc /usr/local/include/oce) + INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} /usr/inc /usr/local/inc /usr/local/include/oce) endif() IF(USE_IFC4) From 9087bc65a7e17a6ce9c7275dfebe16af46b26b91 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 14 Nov 2015 20:18:29 +0200 Subject: [PATCH 025/157] win/readme.md tweaks --- win/readme.md | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/win/readme.md b/win/readme.md index 358f972087..ee4c3c4989 100644 --- a/win/readme.md +++ b/win/readme.md @@ -1,20 +1,20 @@ Windows Build Tools and Scripts =============================== -This folder contains build tools and script for automatic building and deployment of IfcOpenShell's -(IFCOS) dependencies. +This folder contains build tools and script for automatic building and deployment of IfcOpenShell (IFCOS) +and its dependencies. As a general guideline, `.cmd` files are non-standalone batch files that need to be run from command -prompt or from other batch file and/or Visual Studio environment variables set and `.bat` files are -standalone batch files that can be run also from the File Explorer. +prompt or from another batch file, and/or while the Visual Studio environment variables set, and `.bat` files are +standalone batch files that can be run also e.g. from the File Explorer. Usage Instructions ------------------ Execute `build-deps.cmd` to fetch, build and install the dependencies. The batch file will print -requirements for a successful execution. The script allows a few user-configurable build options +the requirements for a successful execution. The script allows a few user-configurable build options which are listed in the usage instructions. Either edit the script file or set these values before running the script. -build-deps.cmd expects a CMake generator as `%1` and a build configuration type as `%2`. If the parameters +`build-deps.cmd` expects a CMake generator as `%1` and a build configuration type as `%2`. If the parameters are not provided, the default values are used (`"Visual Studio 14 2015 Win64"` and `RelWithDebInfo` respectively). A build type (`Build/Rebuild/Clean`) can be provided as `%3`, if wanted (defaults to `Build`). See `vs-cfg.cmd` if you want to change the defaults. The batch file will create `deps\` and `deps-vs--installed\` @@ -22,29 +22,37 @@ directories to the project root. Debug and release builds of the depedencies can `build-deps.cmd Debug` and `build-deps.cmd `. After the dependencies are build, execute `run-cmake.bat`. The batch file expects a CMake generator as -`%1`, or alternatively if more parameters are provided, `%*` is passed for the CMake invokation. If no `%1` -is provided, the same default value as above is used. This batch script will create a folder of form -build-vs- which will contain the solution and project files for Visual Studio. +`%1` (if not provided, the same default value as above is used), or alternatively, if more parameters are provided, `%*` is passed for the CMake invokation, i.e., if one +wants to pass custom build options, the generator must be passed also using CMake's syntax: + +`run-cmake.bat -G "Visual Studio 14 2015 Win64" -DBUILD_IFCPYTHON=0`. + +The batch script will create a folder of form `build-vs-\` which will contain the solution and project files for Visual Studio. **If you wish to use any library from a custom location, modify the paths in run-cmake.bat accordingly**. -You can now build the project using the `IfcOpenShell.sln` file in the build folder. Build the `INSTALL` project -if wanted. The project will installed to `installed-vs-\` folder in the project's root +After this, one can build the project using the `IfcOpenShell.sln` file in the build folder. Build the `INSTALL` project +if wanted. The project will be installed to `installed-vs-\` folder in the project's root folder and the required IfcOpenShell-Python parts are deployed to the `\Lib\site-packages\` folder. -All of the dependencies are build as static libraries against the static run-time allowing the developer +**Note:** All of the dependencies are build as static libraries against the static run-time allowing the developer to effortlessly deploy standalone IFCOS binaries. Directory Structure ------------------ ``` -| build-deps.cmd - Fetches and builds all needed dependencies for IFCOS -| readme.txt - This file -| run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS -| vs-cfg.cmd - Utility file used by the build scripts -| BuildDepsCache-.txt - Cache file created by build-deps.cmd -| -+---sln - Contains the old Visual Studio solution and project files -\---utils - Contains various utilities for the build scripts +.. ++---build-vs- - Created by run-cmake.bat, for a certain VS version and target architecture ++---deps - Created by build-deps.cmd, common for all VS versions and target architectures ++---deps-installed-vs- - Created by build-deps.cmd, for a certain VS version and target architecture ++---installed-vs- - Created by building the IFCOS's INSTALL project +\---win +| build-deps.cmd - Fetches and builds all needed dependencies for IFCOS +| BuildDepsCache-.txt - Cache file created by build-deps.cmd +| readme.md - This file +| run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS +| vs-cfg.cmd - Utility file used by the build scripts ++---sln - Contains the old Visual Studio solution and project files +\---utils - Contains various utilities for the build scripts ``` From d721dabf3bdfc0bbcb27b6431b58aba38ff209ee Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 17 Nov 2015 16:02:06 +0200 Subject: [PATCH 026/157] Replace wget usage with PowerShell. --- win/build-deps.cmd | 17 +++++++++++------ win/utils/gnuwinlicense.txt | 1 - win/utils/libeay32.dll | Bin 1177600 -> 0 bytes win/utils/libiconv2.dll | Bin 1008128 -> 0 bytes win/utils/libintl3.dll | Bin 103424 -> 0 bytes win/utils/libssl32.dll | Bin 232960 -> 0 bytes win/utils/wget.exe | Bin 449024 -> 0 bytes 7 files changed, 11 insertions(+), 7 deletions(-) delete mode 100644 win/utils/gnuwinlicense.txt delete mode 100644 win/utils/libeay32.dll delete mode 100644 win/utils/libiconv2.dll delete mode 100644 win/utils/libintl3.dll delete mode 100644 win/utils/libssl32.dll delete mode 100644 win/utils/wget.exe diff --git a/win/build-deps.cmd b/win/build-deps.cmd index f1f8af8f2e..976c03480a 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -97,7 +97,7 @@ echo Defaults to RelWithDebInfo if not specified. IF %BUILD_CFG%==MinSizeRel cecho {0E} WARNING: MinSizeRel build can suffer from a significant performance loss.{# #}{\n} cecho {0D} Build Type = %BUILD_TYPE%{# #}{\n} echo - The used build type for the dependencies (Build, Rebuild, Clean). -echo Defaults to Build if not specified. Rebuild/Clean also uninstalls Python. +echo Defaults to Build if not specified. Rebuild/Clean also uninstalls Python (if it was installed by this script). cecho {0D} IFCOS_INSTALL_PYTHON = %IFCOS_INSTALL_PYTHON%{# #}{\n} echo - Download and install Python. echo Set to something other than TRUE if you wish to use an already installed version of Python. @@ -111,12 +111,16 @@ echo. :: Print script's usage information cecho {0A}Requirements for a successful execution:{# #}{\n} -echo 1. Install Git and make sure 'git' is accessible from PATH. +echo 1. Install PowerShell (preinstalled in Windows ^>= 7) and make sure 'powershell' is accessible from PATH. +echo - https://support.microsoft.com/en-us/kb/968929 +echo 2. Install Git and make sure 'git' is accessible from PATH. echo - http://code.google.com/p/tortoisegit/ -echo 2. Install CMake and make sure 'cmake' is accessible from PATH. +echo 3. Install CMake and make sure 'cmake' is accessible from PATH. echo - http://www.cmake.org/ -echo 3. Visual Studio 2008 or newer (2013 or newer recommended). -echo 4. Run this batch script with Visual Studio environment variables set. +echo 4. Visual Studio 2008 or newer (2013 or newer recommended). +echo - http://www.cmake.org/ +echo 5. Run this batch script with Visual Studio environment variables set. +echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx echo. REM TODO 3ds Max SDK? @@ -352,7 +356,8 @@ goto :EOF pushd %2 IF NOT EXIST "%3". ( cecho {0D}Downloading %DEPENDENCY_NAME% into %2.{# #}{\n} - wget --no-check-certificate %1 + powershell -Command "$webClient = new-object System.Net.WebClient; $webClient.DownloadFile('%1', '%3')" + REM Old wget version in case someone has problem with PowerShell: wget --no-check-certificate %1 ) ELSE ( cecho {0D}%DEPENDENCY_NAME% already downloaded. Skipping.{# #}{\n} ) diff --git a/win/utils/gnuwinlicense.txt b/win/utils/gnuwinlicense.txt deleted file mode 100644 index 33ab9958e0..0000000000 --- a/win/utils/gnuwinlicense.txt +++ /dev/null @@ -1 +0,0 @@ -http://gnuwin32.sourceforge.net/license.html \ No newline at end of file diff --git a/win/utils/libeay32.dll b/win/utils/libeay32.dll deleted file mode 100644 index 8d31f86685a7b44b9c98b9521dd8bdbb13808e0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1177600 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�tsU=x-qHliaf1x&M_SaXSo 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 wVJXHW9=ldeDRIx$L1I<1Uv8l)rP2jy0c>S$k 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�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

    >!q+cyh} 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

    JMmR; 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

  • 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 U1$mD->a{cRFYf>6ui^>(U%jI#IsgCw diff --git a/win/utils/libiconv2.dll b/win/utils/libiconv2.dll deleted file mode 100644 index 544dd92f56d05f4caf06bfac3194431ddd1bc97f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1008128 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 %Maf8ueY#MnXRn#b( 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 z z2o2$f)(^cnv|(t=(6%AM5N*h0$b86R$a2Vf$actX$bQIS$YscN$Zg1D$Y;oJh&#j^ z;t$0P#SNtoRSs1T)efB>Y8{df^$hh5jSfu=>4x+}i$f2F9uECFWEg^!Sf!D2t@3&0 zI^}xhi^>hkjmk~R&B|AlTa>RUw<)(PUst}Ngq4VrqNFJqN>pj8G*?9Nt z*N49xzBhb-_`xtVf*V;gvTkJki1EnAk!>T}N8T858F3wPAMqaX9pQ}xjf9K{MnXrz zMxsYzM&d`3M^ZdVuYXD;h6FI~QV`J>ApU$z_dALWmRk4BFskEV>)j@FIVk2Z~-9X&Vt*64*%`Doi{ z$Eaeod$eb?cl6Sza&&m~^62QOYE(U{8=V}T9@URt9lbXC!RYnT8>6>IKO4P0dS~?h z=#Qg6k3JlQRCtw<%2>5YwN15M^}6Z}6+yK_1*^y^ii)mcs8}jgWva4NS*vVRb}Ej_ zUFD(jQhBR7;URlTZF)uKA3I-@$L zx}a)RT~x_c3e~V`LZwqptCm!&s;jD-s#~hts(Y&MR6nSGRXtWgWB9RkW9!FW9NRFq zWo+x%wy`(H2xHVS+L*~0V~jOsI%YOzKIT5g9rGXKjq%5##}dZU$1=vU$An{&G3nUe zvC^^1v4dl^V@+cx$4-r%AG&DlQzdXKieAD=r@onSqI5JKhr;WRgCy%F$r;lfk z=Z+VR7mrKErQ;RjmE+apqvKb{uZ>?H|7iT?_$TAH$G;rEJAQxs$MFZ_Mia&p@C1DV zoiLxUo3Nj7pNOAGm`I*TpAb&uPZUp-Ow>=bO!QAEC%&AxH}T!X{fP$?k0uNgkQ$?2 zr#4n^RBuyL)igC-jjFBHHfme7z1l_Xs&-dIwp^j8X zt7Fvh>ST4cI!B$S7OL~r617xaqOMRMP*IU_3b(6Y9eO7%@-J|YR_p1lg zLu#dZSUsYiP^;A%wN|ZDPpYTX)9P8ZUOlf~QeRcyRDZ1gRQ;Lyj{2_p8}&W)ef3Z3 zpVhyrAFF>;8`O{nqgkVQM)R!3NV863tl6U3s(DSbO#^EX4OK(eFf>dJs$px)H5M8x zjg7`u!_hctTr}<)uEt*zsNrdXG~t>EO|&LmlcmYg6lsbz5>1JwQgcvqNK>P!*EDFF zG%cF*nhTnDG#51rO{b;KU9_HBZ>^8k zPy72n(*m_TZICut3xagD;o4|zvNlaC)aGl8v=XgUE7O*1E42Hx2eg%15Q3{ctgY47 zY3sF(+T+?L?FsE!?K$mR+Vk2A+PAfGZJSo1?a?Z=!`jQ*QLRd=(@tuqwX<5i_Nw-V z_Llax_Kp_PVRU$%k?uL2v2KIzW!)y-X5BX3b{#*zX$j-@lzS?la{9G$z)L+7pY z(eZTIx*VNQSELi^N_3^Va@{`Ne%%4xAzihuMpv&pr8}cLr)$+Ib;G&|olZBcThcA- zR(02OH+3KDZs~s1{i=JcgC_BlYbKwWTsOIX^2NywlUpX~ljf7$N$~HCN&aN?WXxpT zWcpH$1&z6Fn0@lRlF%lQokwQ#4aKQ$N!% z(=^jEbAIN+%sVp|XB0CNGt)ErncFjWX70^An0Yw!%go~${H)RJy4j7hTW1Ng#94Tj zI*ZPl&a!7MX8E&%+3?w@+34Ar+2q-j*|gb=S>bH{Y|*S_wqkbQ?19;Xv$eBzv-Pu0 zvu9_|&Av5ze)htwe70>?HG6CJv)S9TU(eo|y+8Zo?9a0gW*^Q%bC@~&oY9=|+=jWA z=Qho4n(lia`fR;WFVRc&rTX*w3;I^QT;HSb)%WQK^rL!}enPL)PwMshdHte(Nx!VW zuD_wbslTPaqra>FR)0_bo&JG-{X9BvI&VI2J-=(7Gw(F-Jnu5^I`2L2GtZsp&4oLA0|&R?CsKmTC<*@d+W#tZZX z#sa!vzF@atzu>swwBWuFz7W4qvQWBEu~4~CyHK~#u+Xw_cH#Vje4%rpe_>!jxo~-5 zbYW~kw=lVIWnpRI>caJfTMM5p+*|l=;r_yd1!xhoh+ABVUf6qEK(O~i}Xcw(R$Hl(RR^p(SFfo(RER>C|xXBtXQmGtXVv=Si4xa*tFQZ z*s^$bv32p{;(Lp2i#?0|i^|1`MfIX?adJ_=cy;mP#ZMRSEZ$wbw|IZ?*Tu(+hDFSh z(bD!M&XUVg_)_#z{8GkJ)>6?@@sea|?-ID#yHvS!aOu!e%~Ji+#ii*b{nFCX^`(!N zZZF+gy0`RT>6fL)OZa7@<#o#&mp3iHvTV0(zsy;7S@vG`S@v7@U*<0hmcy5$mlKwg zms6J0mNS-x%lXSi%aY}a<$cQsmMfPJF4rz!Sk^61E>AD(mlu|=E?-;zVEM-Kt>w>_ zZ!h0jzQ6qA^3Tf;m!TER3Vy|C#du}I%F8PoS2nF|TOq8#D~uKE6`K{i70!z5iu;Pk zir0$IivJ34C1{1e626kOlCqM$lCvUQDPP&QQoT~MQoB;Wa%$zw%DI)+75R!{Wng7! zWnx9WqFb3>nO|92SzWoda&zU@%I%eVD?hIMy7G7hS_P>ZR=2EfUEQ`ySf#GgR!vqJ ztLCc~tJbS_t1hcFTnzEX{n!PGqm8?ovOIIsb z53W|P)~+_KHm{ysJ+=C`drT+>#iD%>LLd`bAspHUZ6Y8fJA)l*3t=l^8(}+PBf1GS zLf4|tq0gi1(DmpG=!>W^x&iHkR-vDvXi_{Wf%H1boTPxv2y6n5XhOVc_}K87VKYzfbh*O0FubI2^BMKs7cCBu)v(9l zW^gxn7(5ML25*Cp!Pfu+cMblA07IaGX9zL`8$t|xgTN4K2s4BmA`G7zO#gpeEpxAF ziD{{6nQ6Ich3P)i{iX*@D@_lYR+%0$tv0POJ#3my%pv9y^N2!XKCysUNGu{26Q3Tn zXd-wZmIz8U5J52pViGZ#nDVFA-}}|!j^d8t>TwOYM%-~+6RsI|0(TPEf;)vfjXQ%o zi#vyV3wIuO0rxiU9b7B!BJSzBpJ<)9E?hUR2iJ?cgzLlg;|6epxFMVpH;fy>UB-># zRJd{61Wt|9;Iud$Zt^e7LkJdGhZrMUkd4STgpR<7Ibw%k5FGL%@-p%o@(Qv8VIwAp zE#id`5Eep3tPn?JJAxtzVvX!ZUP3k?uOeHK&B!L?1!O()I`RfWL`Vo3p&&G5C&ECO zh$&)*SRj^&4YCWdM;s6i;)FOOE{H3#2XRB(5f8)@`R`-;PwWPEBl|e}WnvS1g8dfz zJo^IsZFV#J1p6erg?);Bntg_SmVJ)>CVPrq!v=u^>^XKN`ygA#euv%4Rdl z54)FriQUKUXAiJT*rn_;b~(F(J;)wnE7`;B5%y(vExV3=lzog{&n6Q`*(!Dw`w+XD zy~0+r+t}^w4)zD^i|lvV@3H0V8*Dv$kv-0yWM5}%*#CM28b}Yl3z0F84Q2pGj1%T6 z6o46oK7^ZaN&DNQ%H+#YCMKfcw4Q4Nyy==D8Y?Ik$vscWvm~AzC)$BF17Wfo=8a@M`h0non z!f(On;S2EF@H=oTd=Y*Zeh-$zZE!o>0W086xC`!vd*EJJ2!qF|;6k_vE`~+07?!|N zSO)KfOW;zt3?6{MjaEoV*h?rSlo84a6$GdM4=V=mMN809vUo zyU=d52kk{Kp?zpSI)DzML#PrRMn}-g=qRc}$Ix+f0#&0LREz4+NpuRmf=;6|=qx&i z>d|?00bN9w&}DQ5T}7{=*UtYJRQ%#Gx03^Kc18S@}hWCycwR2H^*Dx z{qdG~E4(${2EPk$i?_qu;~nshcn;nPzZ>t2cfq^j_u$>|?syNpC*BM1jrYO(;{EXd z_rGHh)r4%a%Y<&S(*!kPnwXoInb?>hCKMBziM@$~3B$zH#KeSU!Zxumu{5zVu{Lou zA(_~k*qOj4J4}cs2`nOu#M;4vSqO{FqOhne8fz!Zghgk0vwT>-EI$^P<b{M4~fAbkPnb z%w&iV<_2V?{%bFg^u%Yjw+tNYc zlqgJ;BuW;gh}=bPq6h|q$zn2@ULsErFXAoo5ur@3D23%O@)P-r0z|>0WLBVvCkhgo z(nCaMOj9PCDG>2R=FCtLS-eYxh{8n?qDWC9!;x+&=FlCOPIO16jo3=eVOooKiEYJ6 zpnRX5*k0@)7RVgMY_XX*h7l#QV490R+1D(oWz$w5z81hl3kK)hONX-;vlh?_%IzMxeO->N0P$`l<*`Z zQJmP1o*;H-#)}ihN#ay-nmAdUF7{w%iBrVc;tX*XBS%~;6N(GO#o}CXq1cm|Db5$? zi8B~QVvDVIa~7CPhk>?vRqDCiF<=PALsU_@%QLQaasQVj^WqQ7KEx zXGAfhnGCwA)J!U1SV+yKY^kL*gc&ADWrRy&C443*g(ZoS2$({aKRsHqhn~)ekx<1n zu@&7#;ws5wh0yKk42d^WBx6ZX$!?~b*j?;N_YixDy~UnlA2C<#%yeP;ih1H7v7b0l z93bAq^cQ>4L&U*iSEfMB7rQaT#i8ObafH~L9xaX(M~QvtF=Ai3xx_*eBF(46qBI6q zTFCO3rb$zoMXYpbhBQ+uWTZ1grD0N@G)P*&2$p(Eqv&2zZ>f(opW!R@ljch~Qb%bV zbGOt<>MV_Cx=3B63CumxM5dcGiRmtlVOmM8!Lv%S%w1AjsR!LoYAyFGMdapmdRwucFO27rYwsoW@IzPtXw9Wo=)e< zf@Hht!LksUGd-8(Lg&kJScObj7AUop6);ojfwDAu0fPF@>wid z9@9!@BeRy-%IsvjWE`2J%t2-^+bwgF37M`kXPJv^kIYSGMvrDhF+64NGA~&s%R`pW z^p<6?d}MwyUzxuwKt>UXr4nf}T`DbN@aZxsQAUy#Ghi_)3#XgPBIsr^w#-}>Nw<)R zSbj_{Q$o*?F~uIzLVB(&PbQS*%RurGSvYuFAVQWcqce9)e3{OYAbO}QN>;>-mc__2 z=^6A`Sur!4o<)~10_i+@rYxKhCySRQvJzxTvP4<3EK8OmOOui5sWL7jU6vt}v7|DY zjL0A{WT5yL%s?2?bTUK2q%vrXoeT=Ygh6M-&|~S~Ba0zr(8UZfON@$9x~Vvc#g!Gw zL`(-p4k**gVeDo&F=EAq(jsXFvyf3N6-h%RVRXJEm?@ArGh7(1j6DoDhC9Q9;mL5I zdoeg-C-H8vv)DzP%m5`0>3hW93?D`@E0~^3XE9KQDZ`AxW|%W97?zA2rWM1QVZ+$P zuw~dW>=|+NaA|}zQW_R2N@*;I~nv%0rDvzY5Tu;{RmPW{d>SwC+PQtl9ET*E%?V+ z4)hyH*=YcNfH8zC1xeS>^mq7ayKyEIe{}p3sBk*m+Vb*{$RnQZ#POk#}PhegH_J4r;b{vc)fN>E) ze?SQdHxH44{;%OeR2<|*$F1X{pzr@1c*qoI6l;M)vDP>aWCPaokHKJUaRkT?^sxsx zfPVjbY`{C=bUWO@Isql_pcaNF4sYa*1Bu+hD+wI`zXB4<0^dJ?lY%wgk`CI^!MT%x zH8#$|LfC99gwMfZIC;ST2LvI||A3GW^n5H9Dgg2cpjHGHdZri)m56}vuV5fC@cny? zAqnUQ;7Eb|1FQ_Jb1$&>V)2+#Apbd7s0_3}g@dU8HUPg5$UlMEk2Qi00N(*@2~-K* zCkKK4CpcAD40H%(H`xMrtMz2_SR>`2;-F1N0|wpk6S}OIWC)ANcyQ7|bA$e-8&50{$luK=1;{mkQ>57|i1c z(4S&N7{wYxD&SLLvCtTh0Q@+Rf1+dp*#FBItFc%kEf|XqtQ&xz1QLLq!a|%YK>u&V z%mUvm7{eTp{~l291oV5t{*ooI{$*hQXK=<+nZ0mh20o=b`Yy2TNJ|BVQ{{-PC zu>a>^ppU`2J^{;q0@nR0kbeSy3)uewn9sm*{{oyNx4}956&Tys;27Qk=h9v9p8N(2 zZTb!z=kLL~z6aa-0my$22f7d1|KH(2e}2V-@{9?JgA`vKEZ14%l^IEysXf4=x=Vfc?+GK#iasz&Q?$Ld`(`pF@C7 zfaU%Pgp;7{BshjGVE;~mSvn1->I}32ItP4jg0?ro{JjO_zXyEgf__gihAx0hnRmc? zTY>+tlt34O?;?c3z6a!g!&nYsO4`A`bU=iOZqVKhVL82Et}X!`VAKcZx*swMPy+i8 z&=DvdGY%QS8sO7FSdeek7&8g_O#%BKfVl$3Hw|H+8L-}2&}SCtbKn^3!T!zz`>z;5 z3&029ECQB5pJiY#gX6ve9P^I>p8)$0 zj6MbW6O5o+V4pq%_FpM6{sQ>^9s+b5_yPDY!M=Y5bO7ONAist-8h-;Mfb%T`f%~wa zHYqsgz6ay`0mvUAY{}1%sqrrmcE16%{Q(E829Lpj1^x!ej*3|a9AE=~1CMNb|@cjw=ll-)xCL8dt!+;_H7|0luhFA;o)&8Ed_76(3Hv)Yl$Y~2w z6#o|`n=vIAP!<&W6Sbh!BlM3cfnEb`{|3%BFre*VUth-rTN@4LFb4BH6pw+nCV_J?1@uY5 zJV!_e+sXjj&IIR37T8`6245xwZ9*`Hd~j?EfDYgmfj-3;XrmZN3D^fISWX7kxfitm z6%JGad{5v&r9dympinuG{{l<}Xs-b0#y%jQLV)&z{Wt)8e}Jz9`kx>i1p8Bkfkvx= z{|P08!$3cbsfB7WoHfTVpnf#y(|~b@j)U{83A8;0)Fi?{xRV&;HK#Gg*s~a-(OVcZ z=xxyFDR@FF*sqJg_YW|77x@1KDhJ086cz-JLzHnk!RJXA#tG^H+wTSMy*{un{g{$< zLtvSwa3CdEW*GQ}F`SaiKwbv@N5MK&7-OSxpif|ojWxjk2gX{U1JFsZUsFH_7(dAk z{d<1szk#0y65uoomG_GjSS`W)>47eEK#Zv*-FpwHaF#6aJI z^XwjIzXz824rAnUAL9f+z?5(vfw}nwV_f+g_zZxs8zC&XHpGGJKs*+Uc?Qb?GY*wL zhsEI60pEHo^gEarfCL!52!59s1Kk+A8~-wpPryPOvBtHaoHg_mJhTPaPXTWrur-T3`fI|fGPY_60&PD`mpA4>LDL_)ebu10^`Fl7_9QM(ft-QQ8H+b|1rmVSgWUkR1L*=;NeqcLXEaVgb^Z;;xctHLWT!O*=g@ATI2_IVm3BaApkFK&Lx>0RuW*bLf$y&nAOZxA&;JO+i*(Tc-(WBYdB|NL4CD&>{$mV= zAjq)y4bc9S5@7xH1bb}*8^aEPr?0lezwnIktgs1WU%P$WHR()}I7yfE zO_Epg+2og!-$+hPRwn}tV;em`Q?=P@Nm0L*{368VhbN>Ykh30uES+l; z?Gs}YBNNjTYZ4D7`qzZi#N`&|cE-iTM#q-N-ijTM-4;iV>xlaeI30MJcRKjA;B?IC*wYE8vrY?7znPCOFe=zyFfZCCIxKoi)GrzleOQQ= z9BMk;)ZFw|Q~CZi2lxl(4t#Rp`O2jdpS_-9U-4e?G4Z$JwUT?{O%j}hAlX&6zw+J6 z(Mnw<`C!4py1nIP%CdLLUM~Nw3@VQ(cP)1*-(LQ9d2{)1<*!!!T28C5sc5a3t2k3J zR`GL1_P*|YZ|=L=*uU@QzW4XG%X(x=*^2DBz0P5&HLd~4)tS{9)te8K4^s|v4>#4G ztsSn_)sEM`Uu&p+wQgM

    B6w?~z-z`>VeL4<8O4(jNNi(Aw(PtFg!R$(# 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 |xs8;(LllTcHT5hx5a4OLb; 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 z%0A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

    `vu%HaL>c7hkFg~ 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

    reErpL-g>=@$?D@9Vz;wdZvd9akB9 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%0AJJ8c}V?dk_|0)I;`tb1W9xNBZ6k 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%0DC_{*(o{YkH8Tn{ zAaRc$bxT+}9_gm-@}Z-$5f@;|xR49FE9p2KJ>Kc|)re(XnafML$G?rbrfAqYXm_cW7b+dvqplR|92J_8X{Eu+D)H`E(SKL# z-YN*9yA<8w^l%^ZIqu}`v3<|}u07)DzCE;WY2Rmmk7JeJdRu(j^w@`Nzu)Xl>aQ8o z{ai1b?yIupOr7Yf^P?ivaec!+= za&I>czlt~0w2D${s6Q{ z|LRm>U+3wZO1|f3>^?wBR0WyH-V?N!X$9!7qGyi1yb0R9CEC0^i?*zk(6_?4`o5rV z)h!3;)Jy{JpLNM7HZ%BDcj+>9;M6R0Sb_|&vc$J?Wwfr+iilwgEWHKdgn&yXvlhsP|Gg0D%PHH@MZ#ivL<$d3}F@<%gN z#FZWCEDK2MUF)~)X2wO8C^Sg n)JM7F`#e^wNu<&%oSt>+A{VWYt|$xcUz(3MdjAygzbk(Ot_$Dc From 7caa4e3e1da2cbb0e5a744861d99f457a85940d5 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 19 Nov 2015 17:30:29 +0200 Subject: [PATCH 027/157] Replace cecho.exe with PowerShell snippet, fix exit bug in vs-cfg.cmd, fix Visual Studio download URL, rename IFCOS_NUM_BUILD_PROCESSES -> IFCOS_NUM_BUILD_PROCS --- win/build-deps.cmd | 118 ++++++++++++++++++++------------------- win/run-cmake.bat | 12 ++-- win/utils/cecho test.bat | 65 --------------------- win/utils/cecho.cmd | 4 ++ win/utils/cecho.exe | Bin 26112 -> 0 bytes win/utils/cecho.txt | 1 - win/vs-cfg.cmd | 12 ++-- 7 files changed, 76 insertions(+), 136 deletions(-) delete mode 100644 win/utils/cecho test.bat create mode 100644 win/utils/cecho.cmd delete mode 100644 win/utils/cecho.exe delete mode 100644 win/utils/cecho.txt diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 976c03480a..7ab70aa37b 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -31,13 +31,13 @@ setlocal EnableDelayedExpansion :: Make sure vcvarsall.bat is called and dev env set is up. IF "%VSINSTALLDIR%"=="" ( - utils\cecho {0C}Visual Studio environment variables not set - cannot proceed!{# #}{\n} + call utils\cecho.cmd 0 12 "Visual Studio environment variables not set - cannot proceed!" GOTO :Error ) set PROJECT_NAME=IfcOpenShell -utils\cecho {F0}This script fetches and builds all %PROJECT_NAME% dependencies{# #}{\n} +call utils\cecho.cmd 15 0 "This script fetches and builds all %PROJECT_NAME% dependencies" echo. :: Set up variables depending on the used Visual Studio version @@ -47,14 +47,14 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error set BUILD_TYPE=%3 IF %GENERATOR%=="" ( - cecho {0C}GENERATOR not specified - cannot proceed!{# #}{\n} + call cecho.cmd 0 12 "GENERATOR not specified - cannot proceed!" GOTO :Error ) IF "%BUILD_TYPE%"=="" set BUILD_TYPE=Build IF NOT "!BUILD_TYPE!"=="Build" IF NOT "!BUILD_TYPE!"=="Rebuild" IF NOT "!BUILD_TYPE!"=="Clean" ( - utils\cecho {0C}Invalid build type passed: !BUILD_TYPE!. Cannot proceed, aborting!{# #}{\n} + call utils\cecho.cmd 0 12 "Invalid build type passed: !BUILD_TYPE!. Cannot proceed, aborting!" GOTO :Error ) @@ -68,63 +68,64 @@ IF %VS_VER%==2008 set PATH=C:\Windows\Microsoft.NET\Framework\v3.5;%PATH% :: User-configurable build options IF "%IFCOS_INSTALL_PYTHON%"=="" set IFCOS_INSTALL_PYTHON=TRUE IF "%IFCOS_USE_PYTHON2%"=="" set IFCOS_USE_PYTHON2=FALSE -IF "%IFCOS_NUM_BUILD_PROCESSES%"=="" set IFCOS_NUM_BUILD_PROCESSES=%NUMBER_OF_PROCESSORS% +IF "%IFCOS_NUM_BUILD_PROCS%"=="" set IFCOS_NUM_BUILD_PROCS=%NUMBER_OF_PROCESSORS% :: For subroutines -set MSBUILD_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCESSES% /t:%BUILD_TYPE% +set MSBUILD_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCS% /t:%BUILD_TYPE% REM /clp:ErrorsOnly;WarningsOnly :: Note BUILD_TYPE not passed, Clean e.g. wouldn't delete the installed files. -set INSTALL_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCESSES% +set INSTALL_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCS% set BUILD_DIR=build-vs%VS_VER%-%TARGET_ARCH% REM echo. -REM cecho {F0}This script fetches and builds all %PROJECT_NAME% dependencies{# #}{\n} +REM call cecho.cmd 0 15 "This script fetches and builds all %PROJECT_NAME% dependencies" :: Print build configuration information echo. -cecho {0A}Script configuration:{# #}{\n} -cecho {0D} CMake Generator = %GENERATOR%{# #}{\n} -echo - Passed to CMake -G option. -cecho {0D} Target Architecture = %TARGET_ARCH%{# #}{\n} -echo - Whether were doing 32-bit (x86) or 64-bit (x64) build. -cecho {0D} Dependency Directory = %DEPS_DIR%{# #}{\n} -echo - The directory where %PROJECT_NAME% dependencies are fetched and built. -cecho {0D} Installation Directory = %INSTALL_DIR%{# #}{\n} -echo - The directory where %PROJECT_NAME% dependencies are installed. -cecho {0D} Build Config Type = %BUILD_CFG%{# #}{\n} -echo - The used build configuration type for the dependencies. + +call cecho.cmd 0 10 "Script configuration:" +call cecho.cmd 0 13 "* CMake Generator`t= '`"%GENERATOR_DEFAULT%`'`t +echo - Passed to CMake -G option. +call cecho.cmd 0 13 "* Target Architecture`t= %TARGET_ARCH%" +echo - Whether were doing 32-bit (x86) or 64-bit (x64) build. +call cecho.cmd 0 13 "* Dependency Directory`t= %DEPS_DIR%" +echo - The directory where %PROJECT_NAME% dependencies are fetched and built. +call cecho.cmd 0 13 "* Installation Directory = %INSTALL_DIR%" +echo - The directory where %PROJECT_NAME% dependencies are installed. +call cecho.cmd 0 13 "* Build Config Type`t= %BUILD_CFG%" +echo - The used build configuration type for the dependencies. echo Defaults to RelWithDebInfo if not specified. -IF %BUILD_CFG%==MinSizeRel cecho {0E} WARNING: MinSizeRel build can suffer from a significant performance loss.{# #}{\n} -cecho {0D} Build Type = %BUILD_TYPE%{# #}{\n} -echo - The used build type for the dependencies (Build, Rebuild, Clean). +IF %BUILD_CFG%==MinSizeRel call cecho.cmd 0 14 " WARNING: MinSizeRel build can suffer from a significant performance loss." +call cecho.cmd 0 13 "* Build Type`t`t= %BUILD_TYPE%" +echo - The used build type for the dependencies (Build, Rebuild, Clean). echo Defaults to Build if not specified. Rebuild/Clean also uninstalls Python (if it was installed by this script). -cecho {0D} IFCOS_INSTALL_PYTHON = %IFCOS_INSTALL_PYTHON%{# #}{\n} -echo - Download and install Python. +call cecho.cmd 0 13 "* IFCOS_INSTALL_PYTHON`t= %IFCOS_INSTALL_PYTHON%" +echo - Download and install Python. echo Set to something other than TRUE if you wish to use an already installed version of Python. -cecho {0D} IFCOS_USE_PYTHON2 = %IFCOS_USE_PYTHON2%{# #}{\n} -echo - Use Python 2 instead of 3. +call cecho.cmd 0 13 "* IFCOS_USE_PYTHON2`t= %IFCOS_USE_PYTHON2%" +echo - Use Python 2 instead of 3. echo Set to TRUE if you wish to use Python 2 instead of 3. Has no effect if IFCOS_INSTALL_PYTHON is not TRUE. -cecho {0D} IFCOS_NUM_BUILD_PROCESSES = %IFCOS_NUM_BUILD_PROCESSES%{# #}{\n} -echo - How many MSBuild.exe processes may be run in parallel. +call cecho.cmd 0 13 "* IFCOS_NUM_BUILD_PROCS`t= %IFCOS_NUM_BUILD_PROCS%" +echo - How many MSBuild.exe processes may be run in parallel. echo Defaults to NUMBER_OF_PROCESSORS. echo. :: Print script's usage information -cecho {0A}Requirements for a successful execution:{# #}{\n} -echo 1. Install PowerShell (preinstalled in Windows ^>= 7) and make sure 'powershell' is accessible from PATH. -echo - https://support.microsoft.com/en-us/kb/968929 -echo 2. Install Git and make sure 'git' is accessible from PATH. -echo - http://code.google.com/p/tortoisegit/ -echo 3. Install CMake and make sure 'cmake' is accessible from PATH. -echo - http://www.cmake.org/ -echo 4. Visual Studio 2008 or newer (2013 or newer recommended). -echo - http://www.cmake.org/ -echo 5. Run this batch script with Visual Studio environment variables set. -echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx +call cecho.cmd 0 10 "Requirements for a successful execution:" +echo 1. Install PowerShell (preinstalled in Windows ^>= 7) and make sure 'powershell' is accessible from PATH. +echo - https://support.microsoft.com/en-us/kb/968929 +echo 2. Install Git and make sure 'git' is accessible from PATH. +echo - http://code.google.com/p/tortoisegit/ +echo 3. Install CMake and make sure 'cmake' is accessible from PATH. +echo - http://www.cmake.org/ +echo 4. Visual Studio 2008 or newer (2013 or newer recommended). +echo - https://www.visualstudio.com/ +echo 5. Run this batch script with Visual Studio environment variables set. +echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx echo. REM TODO 3ds Max SDK? -cecho {0E}Warning: You will need roughly 8 GB of disk space to proceed (VS 2015 x64 RelWithDebInfo).{# #}{\n} +call cecho.cmd 0 14 "Warning: You will need roughly 8 GB of disk space to proceed `(VS 2015 x64 RelWithDebInfo`)." echo. echo If you are not ready with the above, press Ctrl-C to abort! @@ -150,6 +151,7 @@ set ZIP_EXT=7z set BOOST_ZIP=boost_%BOOST_VER%.%ZIP_EXT% call :DownloadFile http://downloads.sourceforge.net/project/boost/boost/%BOOST_VERSION%/%BOOST_ZIP% "%DEPS_DIR%" %BOOST_ZIP% + IF NOT %ERRORLEVEL%==0 GOTO :Error call :ExtractArchive %BOOST_ZIP% "%DEPS_DIR%" "%DEPS_DIR%\boost" IF NOT %ERRORLEVEL%==0 GOTO :Error @@ -160,7 +162,7 @@ IF EXIST "%DEPS_DIR%\boost_%BOOST_VER%". ( ren boost_%BOOST_VER% boost IF NOT EXIST "%DEPS_DIR%\boost\boost.css" GOTO :Error cd "%DEPS_DIR%\boost" - cecho {0D}Building Boost build script.{# #}{\n} + call cecho.cmd 0 13 "Building Boost build script." call bootstrap vc%VC_VER% IF NOT %ERRORLEVEL%==0 GOTO :Error ) @@ -168,9 +170,9 @@ IF EXIST "%DEPS_DIR%\boost_%BOOST_VER%". ( set BOOST_LIBS=--with-system --with-regex --with-thread --with-program_options --with-date_time :: NOTE Boost is fast to build with limited set of libraries so build it always. cd "%DEPS_DIR%\boost" -cecho {0D}Building %DEPENDENCY_NAME% %BOOST_LIBS% Please be patient, this will take a while.{# #}{\n} +call cecho.cmd 0 13 "Building %DEPENDENCY_NAME% %BOOST_LIBS% Please be patient, this will take a while." IF EXIST "%DEPS_DIR%\boost\bin.v2\project-cache.jam" del "%DEPS_DIR%\boost\bin.v2\project-cache.jam" -call .\b2 toolset=msvc-%VC_VER%.0 runtime-link=static address-model=%ARCH_BITS% -j%IFCOS_NUM_BUILD_PROCESSES% ^ +call .\b2 toolset=msvc-%VC_VER%.0 runtime-link=static address-model=%ARCH_BITS% -j%IFCOS_NUM_BUILD_PROCS% ^ variant=%DEBUG_OR_RELEASE_LOWERCASE% %BOOST_LIBS% stage --stagedir=stage/vs%VS_VER%-%VS_PLATFORM% IF NOT %ERRORLEVEL%==0 GOTO :Error @@ -301,18 +303,18 @@ IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( IF NOT %ERRORLEVEL%==0 GOTO :Error REM Uninstall if build Rebuild/Clean used IF NOT %BUILD_TYPE%==Build ( - cecho {0D}Uninstalling %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} + call cecho.cmd 0 13 "Uninstalling %DEPENDENCY_NAME%. Please be patient, this will take a while." msiexec /x %PYTHON_INSTALLER% /qn ) IF NOT EXIST "%PYTHONPATH%". ( - cecho {0D}Installing %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} + call cecho.cmd 0 13 "Installing %DEPENDENCY_NAME%. Please be patient, this will take a while." msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR="%PYTHONPATH%" ) ELSE ( - cecho {0D}%DEPENDENCY_NAME% already installed. Skipping.{# #}{\n} + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already installed. Skipping." ) ) ELSE ( - cecho {0D}IFCOS_INSTALL_PYTHON not true, skipping installation of Python.{# #}{\n} + call cecho.cmd 0 13 "IFCOS_INSTALL_PYTHON not true, skipping installation of Python." ) :SWIG @@ -334,12 +336,12 @@ IF EXIST "%DEPS_DIR%\swigwin\". robocopy "%DEPS_DIR%\swigwin" "%INSTALL_DIR%\swi :Successful echo. -%TOOLS%\utils\cecho {0A}%PROJECT_NAME% dependencies built.{# #}{\n} +call %TOOLS%\utils\cecho.cmd 0 10 "%PROJECT_NAME% dependencies built." goto :Finish :Error echo. -%TOOLS%\utils\cecho {0C}An error occurred! Aborting!{# #}{\n} +call %TOOLS%\utils\cecho.cmd 0 12 "An error occurred! Aborting!" goto :Finish :Finish @@ -355,11 +357,11 @@ goto :EOF :DownloadFile pushd %2 IF NOT EXIST "%3". ( - cecho {0D}Downloading %DEPENDENCY_NAME% into %2.{# #}{\n} + call cecho.cmd 0 13 "Downloading %DEPENDENCY_NAME% into %2." powershell -Command "$webClient = new-object System.Net.WebClient; $webClient.DownloadFile('%1', '%3')" REM Old wget version in case someone has problem with PowerShell: wget --no-check-certificate %1 ) ELSE ( - cecho {0D}%DEPENDENCY_NAME% already downloaded. Skipping.{# #}{\n} + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already downloaded. Skipping." ) set RET=%ERRORLEVEL% popd @@ -369,10 +371,10 @@ exit /b %RET% :: Params: %1 filename, %2 destinationDir, %3 dirAfterExtraction :ExtractArchive IF NOT EXIST "%3". ( - cecho {0D}Extracting %DEPENDENCY_NAME% into %2.{# #}{\n} + call cecho.cmd 0 13 "Extracting %DEPENDENCY_NAME% into %2." 7za x %1 -y -o%2 ) ELSE ( - cecho {0D}%DEPENDENCY_NAME% already extracted into %3. Skipping.{# #}{\n} + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already extracted into %3. Skipping." ) exit /b %ERRORLEVEL% @@ -381,11 +383,11 @@ exit /b %ERRORLEVEL% :: F.ex. call :GitCloneRepository https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPS_DIR%\OpenCOLLADA\" :GitCloneOrPullRepository IF NOT EXIST %2. ( - cecho {0D}Cloning %DEPENDENCY_NAME% into %2.{# #}{\n} + call cecho.cmd 0 13 "Cloning %DEPENDENCY_NAME% into %2." pushd "%DEPS_DIR%" call git clone %1 %2 ) ELSE ( - cecho {0D}%DEPENDENCY_NAME% already cloned. Pulling latest changes.{# #}{\n} + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already cloned. Pulling latest changes." pushd %2 call git pull ) @@ -397,7 +399,7 @@ exit /b %RET% :: Params: %* cmakeOptions :: NOTE cd to root CMakeLists.txt folder before calling this if the CMakeLists.txt is not in the repo root. :RunCMake -cecho {0D}Running CMake for %DEPENDENCY_NAME%.{# #}{\n} +call cecho.cmd 0 13 "Running CMake for %DEPENDENCY_NAME%." IF NOT EXIST %BUILD_DIR%. mkdir %BUILD_DIR% IF NOT %ERRORLEVEL%==0 GOTO :Error pushd %BUILD_DIR% @@ -412,7 +414,7 @@ exit /b %RET% :: BuildSolution - Builds/Rebuilds/Cleans a solution using MSBuild :: Params: %1 solutioName, %2 configuration :BuildSolution -cecho {0D}%BUILD_TYPE%ing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} +call cecho.cmd 0 13 "%BUILD_TYPE%ing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while." %MSBUILD_CMD% %1 /p:configuration=%2;platform=%VS_PLATFORM% exit /b %ERRORLEVEL% @@ -421,7 +423,7 @@ exit /b %ERRORLEVEL% :: NOTE the actual install dir is set during cmake run. :InstallCMakeProject pushd %1 -cecho {0D}Installing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} +call cecho.cmd 0 13 "Installing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while." %INSTALL_CMD% INSTALL.%VCPROJ_FILE_EXT% /p:configuration=%2;platform=%VS_PLATFORM% set RET=%ERRORLEVEL% popd diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 8ee76982b2..80518dab05 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -56,11 +56,11 @@ set PATH=%PATH%;%SWIG_DIR%;%PYTHONPATH% :: TODO 3ds Max SDK? echo. -cecho {0A}Script configuration:{# #}{\n} +call cecho.cmd 0 10 "Script configuration:" echo CMake Generator = %GENERATOR% echo All arguments = %* echo. -cecho {0A}Dependency Environment Variables for %PROJECT_NAME%:{# #}{\n} +call cecho.cmd 0 10 "Dependency Environment Variables for %PROJECT_NAME%:" echo BOOST_ROOT = %BOOST_ROOT% REM echo BOOST_INCLUDEDIR = %BOOST_INCLUDEDIR% echo BOOST_LIBRARYDIR = %BOOST_LIBRARYDIR% @@ -81,7 +81,7 @@ echo. set CMAKELISTS_DIR=..\cmake REM IF NOT EXIST %PROJECT_NAME%.sln. ( IF EXIST CMakeCache.txt. del /Q CMakeCache.txt - cecho {0D}Running CMake for %PROJECT_NAME%.{# #}{\n} + call cecho.cmd 0 13 "Running CMake for %PROJECT_NAME%." IF "%2"=="" ( REM No extra arguments provided, trust that GENERATOR is set properly. cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" @@ -94,8 +94,8 @@ REM IF NOT EXIST %PROJECT_NAME%.sln. ( ) IF NOT %ERRORLEVEL%==0 GOTO :Error REM ) ELSE ( - REM cecho {0A}%PROJECT_NAME%.sln exists. Skipping CMake call for %PROJECT_NAME%.{# #}{\n} - REM cecho {0A}Delete %CD%\%PROJECT_NAME%.sln to trigger a CMake rerun.{# #}{\n} + REM call cecho.cmd 0 10 "%PROJECT_NAME%.sln exists. Skipping CMake call for %PROJECT_NAME%." + REM call cecho.cmd 0 10 "Delete %BUILD_DIR%\%PROJECT_NAME%.sln to trigger a CMake rerun." REM ) echo. @@ -103,7 +103,7 @@ goto :Finish :Error echo. -cecho {0C}An error occurred! Aborting!{# #}{\n} +cecho {0C}An error occurred! Aborting!" goto :Finish :Finish diff --git a/win/utils/cecho test.bat b/win/utils/cecho test.bat deleted file mode 100644 index 0d872e2d30..0000000000 --- a/win/utils/cecho test.bat +++ /dev/null @@ -1,65 +0,0 @@ -@echo off - - -:: -:: cecho by thomas_polaert@yahoo.fr -:: -echo cecho by thomas_polaert@yahoo.fr - -cecho - -cecho {00}00 - black{\n} -cecho {01}01 - navy{\n} -cecho {02}02 - green{\n} -cecho {03}03 - teal{\n} -cecho {04}04 - maroon{\n} -cecho {05}05 - purple{\n} -cecho {06}06 - olive{\n} -cecho {07}07 - silver{\n} -cecho {08}08 - gray{\n} -cecho {09}09 - blue{\n} -cecho {0A}0A - lime{\n} -cecho {0B}0B - aqua{\n} -cecho {0C}0C - red{\n} -cecho {0D}0D - fuchisa{\n} -cecho {0E}0E - yellow{\n} -cecho {0F}0F - white{\n} - -echo. - -cecho {00}00 {10}10 {20}20 {30}30 {40}40 {50}50 {60}60 {70}70 {80}80 {90}90 {A0}A0 {B0}B0 {C0}80 {D0}90 {E0}A0 {F0}B0{\n} -cecho {01}01 {11}11 {21}21 {31}31 {41}41 {51}51 {61}61 {71}71 {81}81 {91}91 {A1}A1 {B1}B1 {C1}81 {D1}91 {E1}A1 {F1}B1{\n} -cecho {02}02 {12}12 {22}22 {32}32 {42}42 {52}52 {62}62 {72}72 {82}82 {92}92 {A2}A2 {B2}B2 {C2}82 {D2}92 {E2}A2 {F2}B2{\n} -cecho {03}03 {13}13 {23}23 {33}33 {43}43 {53}53 {63}63 {73}73 {83}83 {93}93 {A3}A3 {B3}B3 {C3}83 {D3}93 {E3}A3 {F3}B3{\n} -cecho {04}04 {14}14 {24}24 {34}34 {44}44 {54}54 {64}64 {74}74 {84}84 {94}94 {A4}A4 {B4}B4 {C4}84 {D4}94 {E4}A4 {F4}B4{\n} -cecho {05}05 {15}15 {25}25 {35}35 {45}45 {55}55 {65}65 {75}75 {85}85 {95}95 {A5}A5 {B5}B5 {C5}85 {D5}95 {E5}A5 {F5}B5{\n} -cecho {06}06 {16}16 {26}26 {36}36 {46}46 {56}56 {66}66 {76}76 {86}86 {96}96 {A6}A6 {B6}B6 {C6}86 {D6}96 {E6}A6 {F6}B6{\n} -cecho {07}07 {17}17 {27}27 {37}37 {47}47 {57}57 {67}67 {77}77 {87}87 {97}97 {A7}A7 {B7}B7 {C7}87 {D7}97 {E7}A7 {F7}B7{\n} -cecho {08}08 {18}18 {28}28 {38}38 {48}48 {58}58 {68}68 {78}78 {88}88 {98}98 {A8}A8 {B8}B8 {C8}88 {D8}98 {E8}A8 {F8}B8{\n} -cecho {09}09 {19}19 {29}29 {39}39 {49}49 {59}59 {69}69 {79}79 {89}89 {99}99 {A9}A9 {B9}B9 {C9}89 {D9}99 {E9}A9 {F9}B9{\n} -cecho {0A}0A {1A}1A {2A}2A {3A}3A {4A}4A {5A}5A {6A}6A {7A}7A {8A}8A {9A}9A {AA}AA {BA}BA {CA}8A {DA}9A {EA}AA {FA}BA{\n} -cecho {0B}0B {1B}1B {2B}2B {3B}3B {4B}4B {5B}5B {6B}6B {7B}7B {8B}8B {9B}9B {AB}AB {BB}BB {CB}8B {DB}9B {EB}AB {FB}BB{\n} -cecho {0C}0C {1C}1C {2C}2C {3C}3C {4C}4C {5C}5C {6C}6C {7C}7C {8C}8C {9C}9C {AC}AC {BC}BC {CC}8C {DC}9C {EC}AC {FC}BC{\n} -cecho {0D}0D {1D}1D {2D}2D {3D}3D {4D}4D {5D}5D {6D}6D {7D}7D {8D}8D {9D}9D {AD}AD {BD}BD {CD}8D {DD}9D {ED}AD {FD}BD{\n} -cecho {0E}0E {1E}1E {2E}2E {3E}3E {4E}4E {5E}5E {6E}6E {7E}7E {8E}8E {9E}9E {AE}AE {BE}BE {CE}8E {DE}9E {EE}AE {FE}BE{\n} -cecho {0F}0F {1F}1F {2F}2F {3F}3F {4F}4F {5F}5F {6F}6F {7F}7F {8F}8F {9F}9F {AF}AF {BF}BF {CF}8F {DF}9F {EF}AF {FF}BF{\n} - -echo. - -cecho {silver} -cecho {\uDA} -cecho Escape charater {{ -echo. -cecho {\u07 \u07}beep x2 -echo. -cecho {\t}line #1{\n\t}line #2{\n\t}line #3 -echo. -cecho {green}print green {default} and back to initial color -echo. -cecho {a red foreground on a white background}a red foreground on a white background {# #} and back to initial colors -echo. -cecho {blue gray}blue gray -echo. -cecho {purple yellow}purple yellow{\n silver} - -pause \ No newline at end of file diff --git a/win/utils/cecho.cmd b/win/utils/cecho.cmd new file mode 100644 index 0000000000..2923fcb986 --- /dev/null +++ b/win/utils/cecho.cmd @@ -0,0 +1,4 @@ +:: Usage: call cecho.cmd background foreground "message here" +:: NOTES/TODOS 1) This is super slow 2) leading spaces are omitted 3) printing string with quotes doesn't work (quotes must be escaped awkwardly) +@powershell -command write-host -background %~1 -foreground "%~2" "%3" +@exit /b diff --git a/win/utils/cecho.exe b/win/utils/cecho.exe deleted file mode 100644 index 9f310e5dc8717d557e3a311d9fc3fdbb849faef0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26112 zcmeFYcT`hN6fc@iNFf0NgdQLirARMQ3>|3(=~7j|&=C?qMF<3>geW4|uz;u^c97l) zAVpD%s30vW3L2^+9rF0TckjAyy|vz3>;Cord3&wdd-mSH*|X1_WY(N>W}J@Y0l)wN z0J2wjJOH3>PyS1!|M>qqo85B@$TkQ7s`%f^)d3yf%DGWO;|MXa(WhdMM-omRkBW+> z5>5mYVrfx?&?th{5m!QFbWpGc8jT?SkI=@iH2hQUlhFUOV28Nq6MHË$;Klux- zuqWfk-=mZM!J>Eo3W1n6T<<3fk+?% z00`W(VD}0K04TQy0su>Ub@HD4cNG4$g8%?1;9vcJNkHJ9{;zM3zyMO}f69OQ9{V5m z{~`Xv)VTlwPyem$#jX24L;Yv}-(`l5K!DxzoaP`z_qug(R z>x@wV^DrK-mY40f9g+=k+MPqpLIH>?%ymX5+<1!`!DiBHKqpfbQE| zKFkj|kIvemZ8JI`XTm}=c(iN&AsJKB=jO&}cot=;A(PKlGQfxV-S6p6)K&+k#(KM9 z-I46V6M+=-iG93^p6dflO}v|r=1JF)S!56^s3U|4XS9J%jci43_0s;Twx_TPj}ESr zOWYGym2}3)-YCx!`@s{Jb{0*n?atAV6sg8*{2#puV2inq@Gva-kOlv#Q_+h}OcBpE z6!~a*#}Ul&)}5YO2xC2pDh#30#3=+1q|ZpLI;4X_44UdO7nozr!D$e{y#G2f7CpIs zG+QqW$jVfl8-VD3K9V{?I}o7`d|UzE{y}nB@W;~$YbtvS&ar}7W0hra8Ljy7o*6uS*q<`fYht>vx-PW zY>2TSP3DVFNptEDRRmRlb^*~aS6WiW&O;b%2#z-SfeV#vV~p@Z-c9X%`ElbopqODO zPXjA61z4v+Uku(Ny962Rp?8BDEUMi^#M5&L83X0y?CMTfHwtH3Ikgi3zbnLO9u|hh z@-wn7MHFb8!eE6DZu z7u9Zl02C^AWvt~KCgYL~Q!K;?RG*H(ZPkpdLX(=H%_niavKa@zRaSSW55{HCaz#_e z6J<#{y`_A$DC^Yai@BABjWz4L7W=TK{!FKBowtSX>yd`>zr0NWS?9&7qbn9ejF022 z^-0m+R>6N-*G?X&_L>|=@dmn~Vt|~BH-!Zn*F~~eg8P9#WsVn3$byrd-gWW|sSlnjn34|f8yrOg@exzv5S((s>BXd5$j*_M5V!LB6GA_3! zvi$9i5SV-}EDv}&FK9}^gW}sHkF#NPLmX(F#BV{1ifBg`!(k~=#Kg=#Yl;Ms>hkw%hX5`hu&$V>5*7}<;gscqAIJ?&u;^s^TrA_I$0_W}-UP>eD^{%ouGRi-sIaC?a5&a!jUHxgh2ej87B^n-^Q~>h7*vr5cLNSr6TmSFi~%Rx6C) z1MVOfiGH1tPaz!k_Rgkl3k&}69t~F`i&mqiC}P4LqKWeUCDWKxfIl* zd^2p{xywwA(;bREC#r;$3u?7o2%gf&Tbetya6_xXuna3C%WsY;Z$UReFQKvVbF zrzz>J`V5N*y;pA1#Wg#SNJV%B_1^wDnS$l2Nno|HG+9L*uYK@+P#Z~u>rto#(9B_- zp|zdt1neAanmM9cO4}FKva{H3?p4v1kbW$lpJj6wzAm1i^#vwv?wDXZOAy~0T8Qs8 zj*OEiha1Vo?x#U9B3GZCS&vtMyhJG~i6=ieKwkuv!Cf#^u=dG?#Z4afxIN~D6BgW) z4gdBtdbwXR6h7Qi2BAroeKTcn2Ahp)KtEF}0rUj^4pr|F=LX^J_@Y%WV5B@Nsl1O1bLLRJ1=_afVFDv)agrN6}#WWXWc*i80yTVFO5d;t!Ojkc5e6q5Ma)5DXYC4>T0zOvw2 zg}e#>@;gct|0Gt`;O;8p5a8lRMBcoc zV$U_3WM&WzuHYyGm-QZ0c0PzQKjlFJdX(cI`D#+@oQ?_e@2w~c*W+7h(_H-$6J%>ttg?Fx;J#=-C~DFo8o8!NGl zeQElIXdnN@P78nLooUIGWCg=Jpwy}e>(phoW;-J(?fENVy8z$%33~@Lv$+ZR~vx95~+P?;k-vZHCFtO+N2AD#K-h>|BPstz!BpL*B8?0 zYQ?%7H-`l$+l+I*wJMZ|5)xvhJ^VT`njipI(6OjZp!i4lbK9;LBH_v<7 zT$r5<0l`u1FIXg-m5hA?@OdphUXQJLqn6leII@t!&3TiBB^{xyu`Wmpv;c&Ex$S=o zcUD((dy=|+QVJ^79MV|-e0Gx;4{6kFHNZskIsew8XQe}bl6c|Yca6JaS8_5I_UB;< z>1|X^R_n^x+uMtnnjR3?xF+0x?wjykUA=$L(G1hhz_~ppdGF5TSKMcEK(y7pBSO%en>UwsL)IhtrSRgiqVtEl)}5 zzB;oH$t;Aj(gkF|1FYb&K*lll)(1q8K)K1-D$9kyrEdzL2poar@bYBtVP$jU{@AYP zm@Z0bz^2byuX664w!Ed7^^#PM2P?%khAPcSi7-=6py=JKI)0Qw_;`9eyHPnJ49!Pg z^M=Ul>Dn|tGuG?Ue=6~J9ZVfG45eXGcNHsAf-6NmT=o;QZ7EFk0NBGg{r$Sy*c)7Y z{kzW>nPP!5fbpvrE+4-!-dQz0m&R|btLob+ArT;T|NVQ-Z;^`rD?i^h@DBD*#Y3G@i85_5y+nut!{F}4fU5s zR)QYKW{H2SW6$A)3`)*&2-`87m&qix{Q@CZqCcIa(p2Mmj7jac{Y=GxFBEy6B>6(GsxZ0c? zx`~t}a-tb-Wi0Ikv^7@zg$$vb$Ua2ZAE^78usHddgT|icK+I!*GP{eqE#Z>$ivq_( z(PLq-Y)e$)KiPoF&PFS{Vaw}May*4Bb;b+IM`X}pV zXs+^_jTDS!>UXE%aMEGg2GbJa`O)H=hI_Uv{3jp0(mv@O;_*4|KQX=5_0luuZo4ad zc}{9S{o%K;ElBeQat4Qo8XLFL+y-Pa11Nuf-^uWxfEP~ZcoIha^>3_*xde@5jNxqT zca&=DvxFckUgbgtIDijHYjKQUYQKfTcCf;H-rdk+ zPO%GxAJb=NxPg{FgJp2i*2=&gn71=IC$SBmgWtiKVSb_~6i{v)VPO!yTg4sw|5EHzE--bUF}?Xx6lCEu?^GuBkYId ztf`@>QAjwqW&Jg9>tfAtTqbRE^+UPx3h(ay1EKmXyUt@ zzM+ul=NeRFbh56OW`OXaUE?*Xif6XrLaR4eQb!~+>E07(M{h{+M-ffkuNgCZ-TvG| z*J8Ehis+gxOE#ph-hbp7$x@;*5g8X%)Ni1QPTqep1=<%8B&HoT%_vLlZ55m2wuGVX zceFvi8d_+T5;FE9d=eAKX`s9&rCklD$-P-XjO6Psgz#rWnErnwIZHt zy}VVVspJ)(Sru_v!orC7EuzYgv8MM$9*;*X*}i5gXgE`F*efoN)cTSm1ikqVdhC-O z!DL*d>*CWM;iFg73eHJVoOiQf+_G@NT>c2}(4fS-#`vDl#5)I0d;(-bhdF`so`x_nvp5{f;2=%`W?jQ z5WF%z?1hL~e7A(czLDI(r;$%@CW#>RpPu}A)-2ga_w~sWUW;A(iU)EnKPP^=Rr

  • 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 diff --git a/win/utils/cecho.txt b/win/utils/cecho.txt deleted file mode 100644 index cdc61b2ffe..0000000000 --- a/win/utils/cecho.txt +++ /dev/null @@ -1 +0,0 @@ -cecho is from http://www.codeproject.com/Articles/17033/Add-Colors-to-Batch-Files \ No newline at end of file diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index dbf2f405bd..88b025eed0 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -52,7 +52,7 @@ set GENERATOR_DEFAULT=%GENERATOR_VS2015_64% IF "!GENERATOR!"=="" ( set GENERATOR=%GENERATOR_DEFAULT% - utils\cecho {0E}vs-cfg.cmd: Warning: Generator not passed - using the default %GENERATOR_DEFAULT%.{# #}{\n} + call utils\cecho.cmd 0 14 "vs-cfg.cmd: Warning: Generator not passed - using the default '`"%GENERATOR_DEFAULT%`'`t ) IF NOT !GENERATOR!==%GENERATOR_VS2008_32% IF NOT !GENERATOR!==%GENERATOR_VS2008_64% ( @@ -60,8 +60,8 @@ IF NOT !GENERATOR!==%GENERATOR_VS2010_32% IF NOT !GENERATOR!==%GENERATOR_VS2010_ IF NOT !GENERATOR!==%GENERATOR_VS2012_32% IF NOT !GENERATOR!==%GENERATOR_VS2012_64% ( IF NOT !GENERATOR!==%GENERATOR_VS2013_32% IF NOT !GENERATOR!==%GENERATOR_VS2013_64% ( IF NOT !GENERATOR!==%GENERATOR_VS2015_32% IF NOT !GENERATOR!==%GENERATOR_VS2015_64% ( - utils\cecho {0C}vs-cfg.cmd: Invalid or unsupported CMake generator string passed: !GENERATOR!. Cannot proceed, aborting!{# #}{\n} - GOTO :EOF + call utils\cecho.cmd 0 12 "vs-cfg.cmd: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'". Cannot proceed, aborting!" + exit /b 1 ))))) :: Figure out the build configuration from the CMake generator string. @@ -120,11 +120,11 @@ set BUILD_CFG_DEFAULT=%BUILD_CFG_RELWITHDEBINFO% IF "!BUILD_CFG!"=="" ( set BUILD_CFG=%BUILD_CFG_DEFAULT% - utils\cecho {0E}vs-cfg.cmd: Warning: BUILD_CFG not specified - using the default %BUILD_CFG_DEFAULT%{# #}{\n} + call utils\cecho.cmd 0 14 "vs-cfg.cmd: Warning: BUILD_CFG not specified - using the default %BUILD_CFG_DEFAULT%" ) IF NOT !BUILD_CFG!==%BUILD_CFG_MINSIZEREL% IF NOT !BUILD_CFG!==%BUILD_CFG_RELEASE% ( IF NOT !BUILD_CFG!==%BUILD_CFG_RELWITHDEBINFO% IF NOT !BUILD_CFG!==%BUILD_CFG_DEBUG% ( - utils\cecho {0C}vs-cfg.cmd: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed, aborting!{# #}{\n} + call utils\cecho.cmd 0 12 "vs-cfg.cmd: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed, aborting!" exit /b 1 )) @@ -148,7 +148,7 @@ IF %BUILD_CFG%==Debug ( :: Populate path variables cd ..\ set ORIGINAL_PATH=%PATH% -set PATH=%PATH%;"%CD%\win\utils" +set PATH=%PATH%;%CD%\win\utils :: Fetch and build the dependencies to a dedicated directory depending on the used VS version and target architecture. :: NOTE For IfcOpenShell we can build all of our deps both x86 and x64 using different VS versions in the same directories From 7895835ca3b913c2355030a1b0ae151aadf547e0 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 19 Nov 2015 18:01:03 +0200 Subject: [PATCH 028/157] build-deps.cmd: check that powershell, git and cmake are in path using where.exe. Print instructions upon missing VS env vars or tools in PATH. --- win/build-deps.cmd | 50 +++++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 7ab70aa37b..46c03fe050 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -32,7 +32,7 @@ setlocal EnableDelayedExpansion :: Make sure vcvarsall.bat is called and dev env set is up. IF "%VSINSTALLDIR%"=="" ( call utils\cecho.cmd 0 12 "Visual Studio environment variables not set - cannot proceed!" - GOTO :Error + GOTO :ErrorAndPrintUsage ) set PROJECT_NAME=IfcOpenShell @@ -77,11 +77,14 @@ REM /clp:ErrorsOnly;WarningsOnly set INSTALL_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCS% set BUILD_DIR=build-vs%VS_VER%-%TARGET_ARCH% -REM echo. -REM call cecho.cmd 0 15 "This script fetches and builds all %PROJECT_NAME% dependencies" +echo. + +:: Check that required tools are in PATH +FOR %%i IN (powershell git cmake) DO ( + where.exe %%i 1> NUL 2> NUL || call cecho.cmd 0 12 "Required tool `'%%i`' not installed or not added to PATH" && goto :ErrorAndPrintUsage +) :: Print build configuration information -echo. call cecho.cmd 0 10 "Script configuration:" call cecho.cmd 0 13 "* CMake Generator`t= '`"%GENERATOR_DEFAULT%`'`t @@ -111,19 +114,7 @@ echo Defaults to NUMBER_OF_PROCESSORS. echo. :: Print script's usage information -call cecho.cmd 0 10 "Requirements for a successful execution:" -echo 1. Install PowerShell (preinstalled in Windows ^>= 7) and make sure 'powershell' is accessible from PATH. -echo - https://support.microsoft.com/en-us/kb/968929 -echo 2. Install Git and make sure 'git' is accessible from PATH. -echo - http://code.google.com/p/tortoisegit/ -echo 3. Install CMake and make sure 'cmake' is accessible from PATH. -echo - http://www.cmake.org/ -echo 4. Visual Studio 2008 or newer (2013 or newer recommended). -echo - https://www.visualstudio.com/ -echo 5. Run this batch script with Visual Studio environment variables set. -echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx -echo. -REM TODO 3ds Max SDK? +call :PrintUsage call cecho.cmd 0 14 "Warning: You will need roughly 8 GB of disk space to proceed `(VS 2015 x64 RelWithDebInfo`)." echo. @@ -336,17 +327,20 @@ IF EXIST "%DEPS_DIR%\swigwin\". robocopy "%DEPS_DIR%\swigwin" "%INSTALL_DIR%\swi :Successful echo. -call %TOOLS%\utils\cecho.cmd 0 10 "%PROJECT_NAME% dependencies built." +call %THISDIR%\utils\cecho.cmd 0 10 "%PROJECT_NAME% dependencies built." goto :Finish +:ErrorAndPrintUsage +echo. +call :PrintUsage :Error echo. -call %TOOLS%\utils\cecho.cmd 0 12 "An error occurred! Aborting!" +call %THISDIR%\utils\cecho.cmd 0 12 "An error occurred! Aborting!" goto :Finish :Finish set PATH=%ORIGINAL_PATH% -cd %TOOLS% +cd %THISDIR% endlocal goto :EOF @@ -428,3 +422,19 @@ call cecho.cmd 0 13 "Installing %2 %DEPENDENCY_NAME%. Please be patient, this wi set RET=%ERRORLEVEL% popd exit /b %RET% + +:: PrintUsage - Prints usage information +:PrintUsage +call %THISDIR%\utils\cecho.cmd 0 10 "Requirements for a successful execution:" +echo 1. Install PowerShell (preinstalled in Windows ^>= 7) and make sure 'powershell' is accessible from PATH. +echo - https://support.microsoft.com/en-us/kb/968929 +echo 2. Install Git and make sure 'git' is accessible from PATH. +echo - http://code.google.com/p/tortoisegit/ +echo 3. Install CMake and make sure 'cmake' is accessible from PATH. +echo - http://www.cmake.org/ +echo 4. Visual Studio 2008 or newer (2013 or newer recommended). +echo - https://www.visualstudio.com/ +echo 5. Run this batch script with Visual Studio environment variables set. +echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx +echo. +REM TODO 3ds Max SDK instructions? From 90946e0877cf70d3ea0b6d1aa7fa4547146dbd4f Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 20 Nov 2015 00:45:01 +0200 Subject: [PATCH 029/157] Windows build scripts: TODO & indentation tweaks. --- win/build-deps.cmd | 10 +++++----- win/run-cmake.bat | 2 +- win/vs-cfg.cmd | 1 - 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 46c03fe050..8e4b6b1133 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -97,20 +97,20 @@ call cecho.cmd 0 13 "* Installation Directory = %INSTALL_DIR%" echo - The directory where %PROJECT_NAME% dependencies are installed. call cecho.cmd 0 13 "* Build Config Type`t= %BUILD_CFG%" echo - The used build configuration type for the dependencies. -echo Defaults to RelWithDebInfo if not specified. +echo Defaults to RelWithDebInfo if not specified. IF %BUILD_CFG%==MinSizeRel call cecho.cmd 0 14 " WARNING: MinSizeRel build can suffer from a significant performance loss." call cecho.cmd 0 13 "* Build Type`t`t= %BUILD_TYPE%" echo - The used build type for the dependencies (Build, Rebuild, Clean). -echo Defaults to Build if not specified. Rebuild/Clean also uninstalls Python (if it was installed by this script). +echo Defaults to Build if not specified. Rebuild/Clean also uninstalls Python (if it was installed by this script). call cecho.cmd 0 13 "* IFCOS_INSTALL_PYTHON`t= %IFCOS_INSTALL_PYTHON%" echo - Download and install Python. -echo Set to something other than TRUE if you wish to use an already installed version of Python. +echo Set to something other than TRUE if you wish to use an already installed version of Python. call cecho.cmd 0 13 "* IFCOS_USE_PYTHON2`t= %IFCOS_USE_PYTHON2%" echo - Use Python 2 instead of 3. -echo Set to TRUE if you wish to use Python 2 instead of 3. Has no effect if IFCOS_INSTALL_PYTHON is not TRUE. +echo Set to TRUE if you wish to use Python 2 instead of 3. Has no effect if IFCOS_INSTALL_PYTHON is not TRUE. call cecho.cmd 0 13 "* IFCOS_NUM_BUILD_PROCS`t= %IFCOS_NUM_BUILD_PROCS%" echo - How many MSBuild.exe processes may be run in parallel. -echo Defaults to NUMBER_OF_PROCESSORS. +echo Defaults to NUMBER_OF_PROCESSORS. echo. :: Print script's usage information diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 80518dab05..3ee00e731a 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -24,7 +24,7 @@ set PROJECT_NAME=IfcOpenShell :: Enable the delayed environment variable expansion needed in vs-cfg.cmd. setlocal EnableDelayedExpansion - +:: TODO Getting warning print in vs-cfg.cmd for missing build type although this script doesn't need it specified call vs-cfg.cmd %1 :: Read Python related variables from BuildDepsCache.txt diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index 88b025eed0..8f5b93f2a2 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -32,7 +32,6 @@ set GENERATOR=%1 :: F.ex. "vs2013-32" and/or "vc14-64" :: TODO Print CMake and VS versions. Maybe in build-deps.cmd would be better than here. -:: Make CMake missing a fatal error and abort the script. :: Supported Visual Studio versions: set GENERATOR_VS2015_32="Visual Studio 14 2015" From bb3dc351b8a6d529fc4d815b3ee4051583a836bb Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 20 Nov 2015 11:44:17 +0200 Subject: [PATCH 030/157] Batch file tweaks, fix printing of the used generator --- win/build-deps.cmd | 14 ++++++-------- win/vs-cfg.cmd | 37 ++++++++++++++++++------------------- 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 8e4b6b1133..b31f4517e8 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -26,6 +26,10 @@ echo. set THISDIR=%CD% +set PROJECT_NAME=IfcOpenShell +call utils\cecho.cmd 15 0 "This script fetches and builds all %PROJECT_NAME% dependencies" +echo. + :: Enable the delayed environment variable expansion needed in vs-cfg.cmd. setlocal EnableDelayedExpansion @@ -35,11 +39,6 @@ IF "%VSINSTALLDIR%"=="" ( GOTO :ErrorAndPrintUsage ) -set PROJECT_NAME=IfcOpenShell - -call utils\cecho.cmd 15 0 "This script fetches and builds all %PROJECT_NAME% dependencies" -echo. - :: Set up variables depending on the used Visual Studio version call vs-cfg.cmd %1 %2 IF NOT %ERRORLEVEL%==0 GOTO :Error @@ -87,7 +86,7 @@ FOR %%i IN (powershell git cmake) DO ( :: Print build configuration information call cecho.cmd 0 10 "Script configuration:" -call cecho.cmd 0 13 "* CMake Generator`t= '`"%GENERATOR_DEFAULT%`'`t +call cecho.cmd 0 13 "* CMake Generator`t= '`"%GENERATOR%`'`t echo - Passed to CMake -G option. call cecho.cmd 0 13 "* Target Architecture`t= %TARGET_ARCH%" echo - Whether were doing 32-bit (x86) or 64-bit (x64) build. @@ -113,13 +112,12 @@ echo - How many MSBuild.exe processes may be run in parallel. echo Defaults to NUMBER_OF_PROCESSORS. echo. -:: Print script's usage information call :PrintUsage call cecho.cmd 0 14 "Warning: You will need roughly 8 GB of disk space to proceed `(VS 2015 x64 RelWithDebInfo`)." echo. -echo If you are not ready with the above, press Ctrl-C to abort! +call cecho.cmd black cyan "If you are not ready with the above, press Ctrl-C to abort!" pause echo. diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index 8f5b93f2a2..2e3f22f73f 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -34,35 +34,33 @@ set GENERATOR=%1 :: TODO Print CMake and VS versions. Maybe in build-deps.cmd would be better than here. :: Supported Visual Studio versions: -set GENERATOR_VS2015_32="Visual Studio 14 2015" -set GENERATOR_VS2015_64="Visual Studio 14 2015 Win64" +set GENERATORS[0]="Visual Studio 14 2015" +set GENERATORS[1]="Visual Studio 14 2015 Win64" :: TODO Check CMake version and convert possible new format (>= 3.0) generator names :: to the old versions if using older CMake for VS <= 2013, :: see http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html#other-changes -set GENERATOR_VS2013_32="Visual Studio 12" -set GENERATOR_VS2013_64="Visual Studio 12 Win64" -set GENERATOR_VS2012_32="Visual Studio 11" -set GENERATOR_VS2012_64="Visual Studio 11 Win64" -set GENERATOR_VS2010_32="Visual Studio 10" -set GENERATOR_VS2010_64="Visual Studio 10 Win64" -set GENERATOR_VS2008_32="Visual Studio 9 2008" -set GENERATOR_VS2008_64="Visual Studio 9 2008 Win64" -set GENERATOR_DEFAULT=%GENERATOR_VS2015_64% +set GENERATORS[2]="Visual Studio 12" +set GENERATORS[3]="Visual Studio 12 Win64" +set GENERATORS[4]="Visual Studio 11" +set GENERATORS[5]="Visual Studio 11 Win64" +set GENERATORS[6]="Visual Studio 10" +set GENERATORS[7]="Visual Studio 10 Win64" +set GENERATORS[8]="Visual Studio 9 2008" +set GENERATORS[9]="Visual Studio 9 2008 Win64" +set GENERATOR_DEFAULT=%GENERATORS[1]% IF "!GENERATOR!"=="" ( set GENERATOR=%GENERATOR_DEFAULT% call utils\cecho.cmd 0 14 "vs-cfg.cmd: Warning: Generator not passed - using the default '`"%GENERATOR_DEFAULT%`'`t ) -IF NOT !GENERATOR!==%GENERATOR_VS2008_32% IF NOT !GENERATOR!==%GENERATOR_VS2008_64% ( -IF NOT !GENERATOR!==%GENERATOR_VS2010_32% IF NOT !GENERATOR!==%GENERATOR_VS2010_64% ( -IF NOT !GENERATOR!==%GENERATOR_VS2012_32% IF NOT !GENERATOR!==%GENERATOR_VS2012_64% ( -IF NOT !GENERATOR!==%GENERATOR_VS2013_32% IF NOT !GENERATOR!==%GENERATOR_VS2013_64% ( -IF NOT !GENERATOR!==%GENERATOR_VS2015_32% IF NOT !GENERATOR!==%GENERATOR_VS2015_64% ( - call utils\cecho.cmd 0 12 "vs-cfg.cmd: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'". Cannot proceed, aborting!" - exit /b 1 -))))) +FOR /l %%i in (0,1,9) DO ( + IF !GENERATOR!==!GENERATORS[%%i]! GOTO :GeneratorValid +) +call utils\cecho.cmd 0 12 "vs-cfg.cmd: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'". Cannot proceed, aborting!" +exit /b 1 +:GeneratorValid :: Figure out the build configuration from the CMake generator string. :: Are we building 32-bit or 64-bit version. set ARCH_BITS=32 @@ -71,6 +69,7 @@ set TARGET_ARCH=x86 set VS_PLATFORM=Win32 :: Split the string for closer inspection. +:: TODO A bit clumsy and not dynamic when new VS is released, clean this up. :: VS_VER and VC_VER are convenience variables used f.ex. for filenames. set GENERATOR_NO_DOUBLEQUOTES=%GENERATOR:"=% set GENERATOR_SPLIT=%GENERATOR_NO_DOUBLEQUOTES: =,% From 6a5d5dcb126e3be60f939f3df6e56a40e0a7ca46 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 20 Nov 2015 12:34:31 +0200 Subject: [PATCH 031/157] Further cleanup for the batch scripts. --- win/build-deps.cmd | 14 +++++------- win/vs-cfg.cmd | 57 +++++++++++++++++++--------------------------- 2 files changed, 30 insertions(+), 41 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index b31f4517e8..d221316f57 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -24,8 +24,6 @@ @echo off echo. -set THISDIR=%CD% - set PROJECT_NAME=IfcOpenShell call utils\cecho.cmd 15 0 "This script fetches and builds all %PROJECT_NAME% dependencies" echo. @@ -284,8 +282,8 @@ set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi :: NOTE/TODO 3.5.0 doesn't use MSI any longer, but exe: set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.exe IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( REM Store Python versions to BuildDepsCache.txt for run-cmake.bat - echo PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR%>"%THISDIR%\BuildDepsCache-%TARGET_ARCH%.txt" - echo PYTHONPATH=%PYTHONPATH%>>"%THISDIR%\BuildDepsCache-%TARGET_ARCH%.txt" + echo PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR%>"%~dp0\BuildDepsCache-%TARGET_ARCH%.txt" + echo PYTHONPATH=%PYTHONPATH%>>"%~dp0\BuildDepsCache-%TARGET_ARCH%.txt" cd "%DEPS_DIR%" call :DownloadFile https://www.python.org/ftp/python/%PYTHON_VERSION%/%PYTHON_INSTALLER% "%DEPS_DIR%" %PYTHON_INSTALLER% @@ -325,7 +323,7 @@ IF EXIST "%DEPS_DIR%\swigwin\". robocopy "%DEPS_DIR%\swigwin" "%INSTALL_DIR%\swi :Successful echo. -call %THISDIR%\utils\cecho.cmd 0 10 "%PROJECT_NAME% dependencies built." +call %~dp0\utils\cecho.cmd 0 10 "%PROJECT_NAME% dependencies built." goto :Finish :ErrorAndPrintUsage @@ -333,12 +331,12 @@ echo. call :PrintUsage :Error echo. -call %THISDIR%\utils\cecho.cmd 0 12 "An error occurred! Aborting!" +call %~dp0\utils\cecho.cmd 0 12 "An error occurred! Aborting!" goto :Finish :Finish set PATH=%ORIGINAL_PATH% -cd %THISDIR% +cd %~dp0 endlocal goto :EOF @@ -423,7 +421,7 @@ exit /b %RET% :: PrintUsage - Prints usage information :PrintUsage -call %THISDIR%\utils\cecho.cmd 0 10 "Requirements for a successful execution:" +call %~dp0\utils\cecho.cmd 0 10 "Requirements for a successful execution:" echo 1. Install PowerShell (preinstalled in Windows ^>= 7) and make sure 'powershell' is accessible from PATH. echo - https://support.microsoft.com/en-us/kb/968929 echo 2. Install Git and make sure 'git' is accessible from PATH. diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index 2e3f22f73f..f1e41ca88e 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -23,9 +23,6 @@ @echo off -:: TOOLS is the path where the Windows build scripts reside. -set TOOLS=%CD% - set GENERATOR=%1 :: TODO IDEA: Take more user-friendly VS generators and convert them to the CMake ones? @@ -51,13 +48,13 @@ set GENERATOR_DEFAULT=%GENERATORS[1]% IF "!GENERATOR!"=="" ( set GENERATOR=%GENERATOR_DEFAULT% - call utils\cecho.cmd 0 14 "vs-cfg.cmd: Warning: Generator not passed - using the default '`"%GENERATOR_DEFAULT%`'`t + call utils\cecho.cmd 0 14 "%~nx0: Warning: Generator not passed - using the default '`"%GENERATOR_DEFAULT%`'`t ) FOR /l %%i in (0,1,9) DO ( IF !GENERATOR!==!GENERATORS[%%i]! GOTO :GeneratorValid ) -call utils\cecho.cmd 0 12 "vs-cfg.cmd: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'". Cannot proceed, aborting!" +call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'". Cannot proceed, aborting!" exit /b 1 :GeneratorValid @@ -68,32 +65,15 @@ set TARGET_ARCH=x86 :: Visual Studio platform name, Win32 (i.e. x86) or x64. set VS_PLATFORM=Win32 -:: Split the string for closer inspection. -:: TODO A bit clumsy and not dynamic when new VS is released, clean this up. +:: Find out VS version, VC versions and are we doing 64-bit or not. :: VS_VER and VC_VER are convenience variables used f.ex. for filenames. set GENERATOR_NO_DOUBLEQUOTES=%GENERATOR:"=% set GENERATOR_SPLIT=%GENERATOR_NO_DOUBLEQUOTES: =,% FOR %%i IN (%GENERATOR_SPLIT%) DO ( - IF %%i==14 ( - set VS_VER=2015 - set VC_VER=14 - ) - IF %%i==12 ( - set VS_VER=2013 - set VC_VER=12 - ) - IF %%i==11 ( - set VS_VER=2012 - set VC_VER=11 - ) - IF %%i==10 ( - set VS_VER=2010 - set VC_VER=10 - ) - IF %%i==2008 ( - set VS_VER=2008 - set VC_VER=9 - ) + call :StrLength LEN %%i + IF !LEN!==1 set VC_VER=%%i + IF !LEN!==2 set VC_VER=%%i + IF !LEN!==4 set VS_VER=%%i REM Are going to perform a 64-bit build? IF %%i==Win64 ( set ARCH_BITS=64 @@ -118,11 +98,11 @@ set BUILD_CFG_DEFAULT=%BUILD_CFG_RELWITHDEBINFO% IF "!BUILD_CFG!"=="" ( set BUILD_CFG=%BUILD_CFG_DEFAULT% - call utils\cecho.cmd 0 14 "vs-cfg.cmd: Warning: BUILD_CFG not specified - using the default %BUILD_CFG_DEFAULT%" + call utils\cecho.cmd 0 14 "%~nx0: Warning: BUILD_CFG not specified - using the default %BUILD_CFG_DEFAULT%" ) IF NOT !BUILD_CFG!==%BUILD_CFG_MINSIZEREL% IF NOT !BUILD_CFG!==%BUILD_CFG_RELEASE% ( IF NOT !BUILD_CFG!==%BUILD_CFG_RELWITHDEBINFO% IF NOT !BUILD_CFG!==%BUILD_CFG_DEBUG% ( - call utils\cecho.cmd 0 12 "vs-cfg.cmd: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed, aborting!" + call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed, aborting!" exit /b 1 )) @@ -143,16 +123,27 @@ IF %BUILD_CFG%==Debug ( set POSTFIX_UNDERSCORE_DEBUG=_debug ) -:: Populate path variables -cd ..\ +:: Add utils to PATH set ORIGINAL_PATH=%PATH% -set PATH=%PATH%;%CD%\win\utils +set PATH=%PATH%;%~dp0\utils :: Fetch and build the dependencies to a dedicated directory depending on the used VS version and target architecture. :: NOTE For IfcOpenShell we can build all of our deps both x86 and x64 using different VS versions in the same directories :: so no need for -%VS_VER%-%TARGET_ARCH% postfix. :: set DEPS_DIR=%CD%\deps-%VS_VER%-%TARGET_ARCH% +pushd .. set DEPS_DIR=%CD%\deps set INSTALL_DIR=%CD%\deps-vs%VS_VER%-%TARGET_ARCH%-installed REM set INSTALL_DIR=%CD%\deps-vs%VS_VER%-%TARGET_ARCH%-%DEBUG_OR_RELEASE_LOWERCASE%-installed -cd %TOOLS% +popd + +GOTO :EOF +:: http://geekswithblogs.net/SoftwareDoneRight/archive/2010/01/30/useful-dos-batch-functions-substring-and-length.aspx +:StrLength +set #=%2% +set length=0 +:stringLengthLoop +if defined # (set #=%#:~1%&set /A length += 1&goto stringLengthLoop) +::echo the string is %length% characters long! +set "%~1=%length%" +GOTO :EOF \ No newline at end of file From fff6f976515fa209344ea46a87c7640b7b151822 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 20 Nov 2015 12:45:56 +0200 Subject: [PATCH 032/157] build-deps: when building OpenCOLLADA, enforce that the embedded LibXml2 and PCRE are used as there might be problems with arbitrary versions of the libraries. --- win/build-deps.cmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index d221316f57..5d48eec686 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -203,7 +203,9 @@ cd "%DEPENDENCY_DIR%" :: NOTE OpenCOLLADA has been observed to have problems with switching between debug and release builds so :: uncomment to following line in order to delete the CMakeCache.txt always if experiencing problems. REM IF EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%\CMakeCache.txt". del "%DEPENDENCY_DIR%\%BUILD_DIR%\CMakeCache.txt" -call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\OpenCOLLADA" -DUSE_STATIC_MSVC_RUNTIME=1 -DCMAKE_DEBUG_POSTFIX=d +:: NOTE Enforce that the embedded LibXml2 and PCRE are used as there might be problems with arbitrary versions of the libraries. +call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\OpenCOLLADA" -DUSE_STATIC_MSVC_RUNTIME=1 -DCMAKE_DEBUG_POSTFIX=d ^ + -DLIBXML2_LIBRARIES="" -DLIBXML2_INCLUDE_DIR="" -DPCRE_INCLUDE_DIR="" -DPCRE_LIBRARIES="" IF NOT %ERRORLEVEL%==0 GOTO :Error REM TODO OpenCOLLADA takes a long time to build; build only if needed REM IF NOT EXIST "%DEPS_DIR%\OpenCOLLADA\%BUILD_DIR%\lib\%DEBUG_OR_RELEASE%\OpenCOLLADASaxFrameworkLoader.lib". From d6bd0c861bbf3255834b09b71a9a2420eb10a3d2 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 21 Nov 2015 13:15:31 +0200 Subject: [PATCH 033/157] README.md formatting fix --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 75783392dc..5971672c77 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Prerequisites Dependencies ============ * [Boost](http://www.boost.org/) -* Open Cascade *optional*, but required for building IfcGeom) +* Open Cascade *optional*, but required for building IfcGeom [Official](http://www.opencascade.org/getocc/download/loadocc/) or [community edition](https://github.com/tpaviot/oce) For converting IFC representation items into BRep solids and tesselated meshes * [ICU](http://site.icu-project.org/) *optional* @@ -35,11 +35,13 @@ the cmake/ folder. The preferred way to fetch and build this project's dependencies is to use the build scripts in win/ folder. See [win/readme.md] for more information. Instructions in a nutshell (assuming Visual Studio x64 environment variables set): + > git clone https://github.com/IfcOpenShell/IfcOpenShell.git > cd oce\win > build-deps.cmd (defaults to using VS 2015 x64 RelWithDebInfo build) > run-cmake.bat (defaults to using VS 2015 x64) > ..\build-vs2015-x64\IfcOpenShell.sln + You can now build the solution using the RelWithDebInfo configuration (freshly created solution by CMake defaults to Debug). Build the INSTALL project to deploy the headers and binaries into a single location if wanted/needed. From 7d806296c1038cd420467d3eeaa6e7548a3629eb Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 21 Nov 2015 13:16:47 +0200 Subject: [PATCH 034/157] vs-cfg.cmd: use the longer generator names for all generator so that VS version can be identified in generic fashion --- win/vs-cfg.cmd | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index f1e41ca88e..c6e9b1fd53 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -36,12 +36,12 @@ set GENERATORS[1]="Visual Studio 14 2015 Win64" :: TODO Check CMake version and convert possible new format (>= 3.0) generator names :: to the old versions if using older CMake for VS <= 2013, :: see http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html#other-changes -set GENERATORS[2]="Visual Studio 12" -set GENERATORS[3]="Visual Studio 12 Win64" -set GENERATORS[4]="Visual Studio 11" -set GENERATORS[5]="Visual Studio 11 Win64" -set GENERATORS[6]="Visual Studio 10" -set GENERATORS[7]="Visual Studio 10 Win64" +set GENERATORS[2]="Visual Studio 12 2013" +set GENERATORS[3]="Visual Studio 12 2013 Win64" +set GENERATORS[4]="Visual Studio 11 2012" +set GENERATORS[5]="Visual Studio 11 2012 Win64" +set GENERATORS[6]="Visual Studio 10 2010" +set GENERATORS[7]="Visual Studio 10 2010 Win64" set GENERATORS[8]="Visual Studio 9 2008" set GENERATORS[9]="Visual Studio 9 2008 Win64" set GENERATOR_DEFAULT=%GENERATORS[1]% From 3cbb47a8314216b9205576401483fb06c8df4495 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 21 Nov 2015 23:01:29 +0200 Subject: [PATCH 035/157] Bump up MSVC warning level. --- cmake/CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 568fcc71ed..190c5c3e87 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -220,7 +220,13 @@ IF(MSVC) # Disable warnings about unsafe C functions; we could use the safe C99 & C11 versions if we have no need for supporting old compilers. ADD_DEFINITIONS(-D_UNICODE -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS) ADD_DEFINITIONS(-bigobj) # required for building the big ifcXXX.objs, https://msdn.microsoft.com/en-us/library/ms173499.aspx - + # Bump up the warning level from the default 3 to 4. Disable warning C4100 ("'identifier' : unreferenced formal parameter") + # (too much spam) + ADD_DEFINITIONS(-W4 -wd4100) + # and on VS > 2013 C4458 ("declaration of 'indentifier' hides class member") (overeager and false positives), at least for now. + IF(MSVC_VERSION GREATER 1800) + ADD_DEFINITIONS(-wd4458) + ENDIF() # Link against the static VC runtime FOREACH(flag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE From a13042f227f5666e778b15b927be65990f78d4b3 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 21 Nov 2015 23:05:28 +0200 Subject: [PATCH 036/157] Fix warnings: unused variables, shadowing variable names, constant conditional expressions, integer conversions, inability to generate copy-ctor and/or assignment operator, etc. --- src/ifcconvert/ColladaSerializer.cpp | 2 +- src/ifcconvert/ColladaSerializer.h | 17 ++++++++ src/ifcconvert/IfcConvert.cpp | 8 +--- src/ifcconvert/OpenCascadeBasedSerializer.h | 4 +- src/ifcconvert/SvgSerializer.cpp | 2 +- src/ifcconvert/XmlSerializer.cpp | 24 ++++++++++- src/ifcgeom/IfcGeomFaces.cpp | 9 ++--- src/ifcgeom/IfcGeomFunctions.cpp | 22 +++++----- src/ifcgeom/IfcGeomHelpers.cpp | 2 +- src/ifcgeom/IfcGeomIterator.h | 14 +++---- src/ifcgeom/IfcGeomRepresentation.h | 30 +++++++------- src/ifcgeom/IfcGeomShapes.cpp | 8 ++-- src/ifcgeom/IfcGeomWires.cpp | 8 ++-- src/ifcgeomserver/IfcGeomServer.cpp | 16 +++----- src/ifcparse/Ifc2x3-latebound.cpp | 4 +- src/ifcparse/IfcCharacterDecoder.cpp | 8 ++-- src/ifcparse/IfcGlobalId.cpp | 4 +- src/ifcparse/IfcHierarchyHelper.cpp | 10 ++--- src/ifcparse/IfcLateBoundEntity.cpp | 42 +++++++++---------- src/ifcparse/IfcParse.cpp | 45 ++++++++++----------- src/ifcparse/IfcSpfHeader.h | 3 ++ src/ifcparse/IfcWrite.cpp | 7 ++-- src/ifcwrap/IfcPython.i | 9 +++++ 23 files changed, 169 insertions(+), 129 deletions(-) diff --git a/src/ifcconvert/ColladaSerializer.cpp b/src/ifcconvert/ColladaSerializer.cpp index 8315a8e433..bf3e65b2ca 100644 --- a/src/ifcconvert/ColladaSerializer.cpp +++ b/src/ifcconvert/ColladaSerializer.cpp @@ -128,7 +128,7 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(const std::str lines.setMaterial(materials[it->first].name()); lines.setCount((unsigned long)it->second.size()); int offset = 0; - lines.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::VERTEX, "#" + mesh_id + COLLADASW::LibraryGeometries::VERTICES_ID_SUFFIX, 0)); + lines.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::VERTEX, "#" + mesh_id + COLLADASW::LibraryGeometries::VERTICES_ID_SUFFIX, offset++)); lines.prepareToAppendValues(); lines.appendValues(it->second); lines.finish(); diff --git a/src/ifcconvert/ColladaSerializer.h b/src/ifcconvert/ColladaSerializer.h index 63421d5f85..350a3e58b5 100644 --- a/src/ifcconvert/ColladaSerializer.h +++ b/src/ifcconvert/ColladaSerializer.h @@ -22,6 +22,10 @@ #ifndef COLLADASERIALIZER_H #define COLLADASERIALIZER_H +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4201 4512) +#endif #include #include #include @@ -34,6 +38,9 @@ #include #include #include +#ifdef _MSC_VER +#pragma warning(pop) +#endif #include "../ifcgeom/IfcGeomIterator.h" @@ -41,12 +48,15 @@ class ColladaSerializer : public GeometrySerializer { + // TODO The vast amount of implement details of ColladaSerializer could be hidden to the cpp file. private: class ColladaExporter { private: class ColladaGeometries : public COLLADASW::LibraryGeometries { + ColladaGeometries(const ColladaGeometries&); //N/A + ColladaGeometries& operator =(const ColladaGeometries&); //N/A public: explicit ColladaGeometries(COLLADASW::StreamWriter& stream) : COLLADASW::LibraryGeometries(&stream) @@ -58,6 +68,9 @@ private: class ColladaScene : public COLLADASW::LibraryVisualScenes { private: + ColladaScene(const ColladaScene&); //N/A + ColladaScene& operator =(const ColladaScene&); //N/A + const std::string scene_id; bool scene_opened; public: @@ -71,9 +84,13 @@ private: }; class ColladaMaterials : public COLLADASW::LibraryMaterials { + ColladaMaterials(const ColladaMaterials&); //N/A + ColladaMaterials& operator =(const ColladaMaterials&); //N/A private: class ColladaEffects : public COLLADASW::LibraryEffects { + ColladaEffects(const ColladaEffects&); //N/A + ColladaEffects& operator =(const ColladaEffects&); //N/A public: explicit ColladaEffects(COLLADASW::StreamWriter& stream) : COLLADASW::LibraryEffects(&stream) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 8bb776cc73..88225a47fe 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -198,9 +198,7 @@ int main(int argc, char** argv) { std::set entities; for (std::vector::const_iterator it = entity_vector.begin(); it != entity_vector.end(); ++it) { std::string lowercase_type = *it; - for (std::string::iterator c = lowercase_type.begin(); c != lowercase_type.end(); ++c) { - *c = tolower(*c); - } + std::transform(lowercase_type.begin(), lowercase_type.end(), lowercase_type.begin(), ::tolower); entities.insert(lowercase_type); } @@ -217,9 +215,7 @@ int main(int argc, char** argv) { } std::string output_extension = output_filename.substr(output_filename.size()-4); - for (std::string::iterator c = output_extension.begin(); c != output_extension.end(); ++c) { - *c = tolower(*c); - } + std::transform(output_extension.begin(), output_extension.end(), output_extension.begin(), ::tolower); // If no entities are specified these are the defaults to skip from output if (entity_vector.empty()) { diff --git a/src/ifcconvert/OpenCascadeBasedSerializer.h b/src/ifcconvert/OpenCascadeBasedSerializer.h index 74a76ca341..f6fd39fb82 100644 --- a/src/ifcconvert/OpenCascadeBasedSerializer.h +++ b/src/ifcconvert/OpenCascadeBasedSerializer.h @@ -25,8 +25,10 @@ #include "../ifcconvert/GeometrySerializer.h" class OpenCascadeBasedSerializer : public GeometrySerializer { + OpenCascadeBasedSerializer(const OpenCascadeBasedSerializer&); //N/A + OpenCascadeBasedSerializer& operator =(const OpenCascadeBasedSerializer&); //N/A protected: - const std::string& out_filename; + const std::string out_filename; const char* getSymbolForUnitMagnitude(float mag); public: explicit OpenCascadeBasedSerializer(const std::string& out_filename) diff --git a/src/ifcconvert/SvgSerializer.cpp b/src/ifcconvert/SvgSerializer.cpp index 382873ee69..28e01fe170 100644 --- a/src/ifcconvert/SvgSerializer.cpp +++ b/src/ifcconvert/SvgSerializer.cpp @@ -178,7 +178,7 @@ void SvgSerializer::write(const IfcGeom::BRepElement* o) { typedef IfcSchema::IfcRelAggregates decomposition_element; #endif - while (true) { + for (;;) { // Iterate over the decomposing element to find the parent IfcBuildingStorey decomposition_element::list::ptr decomposes = obdef->Decomposes(); if (!decomposes->size()) { diff --git a/src/ifcconvert/XmlSerializer.cpp b/src/ifcconvert/XmlSerializer.cpp index 6106078999..9a8cc05d95 100644 --- a/src/ifcconvert/XmlSerializer.cpp +++ b/src/ifcconvert/XmlSerializer.cpp @@ -1,3 +1,22 @@ +/******************************************************************************** +* * +* This file is part of IfcOpenShell. * +* * +* IfcOpenShell is free software: you can redistribute it and/or modify * +* it under the terms of the Lesser GNU General Public License as published by * +* the Free Software Foundation, either version 3.0 of the License, or * +* (at your option) any later version. * +* * +* IfcOpenShell is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* Lesser GNU General Public License for more details. * +* * +* You should have received a copy of the Lesser GNU General Public License * +* along with this program. If not, see . * +* * +********************************************************************************/ + #include #include @@ -7,6 +26,8 @@ #include "XmlSerializer.h" +#include + using boost::property_tree::ptree; using namespace IfcSchema; @@ -58,7 +79,8 @@ boost::optional format_attribute(const Argument* argument, IfcUtil: unit_name = unit->Name(); } - for (std::string::iterator c = unit_name.begin(); c != unit_name.end(); ++c) *c = tolower(*c); + // TODO add toLower() and toUpper() string helper functions for the project + std::transform(unit_name.begin(), unit_name.end(), unit_name.begin(), ::tolower); value = unit_name; } diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp index da3f95c105..c655308b72 100644 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ b/src/ifcgeom/IfcGeomFaces.cpp @@ -101,7 +101,6 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcFace* l, TopoDS_Shape& face) { IfcSchema::IfcFaceBound::list::ptr bounds = l->Bounds(); Handle(Geom_Surface) face_surface; - bool reversed_face_surface = false; const bool is_face_surface = l->is(IfcSchema::Type::IfcFaceSurface); if (is_face_surface) { @@ -237,9 +236,9 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcFace* l, TopoDS_Shape& face) { // If the wires are reversed the face needs to be reversed as well in order // to maintain the counter-clock-wise ordering of the bounding wire's vertices. bool all_reversed = true; - TopoDS_Iterator it(outer_face_bound, false); - for (; it.More(); it.Next()) { - const TopoDS_Wire& w = TopoDS::Wire(it.Value()); + TopoDS_Iterator jt(outer_face_bound, false); + for (; jt.More(); jt.Next()) { + const TopoDS_Wire& w = TopoDS::Wire(jt.Value()); if ((w.Orientation() != TopAbs_REVERSED) == same_sense) { all_reversed = false; } @@ -856,7 +855,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCompositeProfileDef* l, TopoDS builder.MakeCompound(compound); IfcSchema::IfcProfileDef::list::ptr profiles = l->Profiles(); - bool first = true; + //bool first = true; for (IfcSchema::IfcProfileDef::list::it it = profiles->begin(); it != profiles->end(); ++it) { TopoDS_Face f; if (convert_face(*it, f)) { diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index c8e430283f..f05988aab0 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -208,12 +208,11 @@ bool IfcGeom::Kernel::convert_openings(const IfcSchema::IfcProduct* entity, cons ? BRepBuilderAPI_GTransform(opening_shape_unlocated,opening_shape_gtrsf,true).Shape() : opening_shape_unlocated.Moved(opening_shape_gtrsf.Trsf()); - double opening_volume, original_shape_volume; + double opening_volume; if ( Logger::Verbosity() >= Logger::LOG_WARNING ) { opening_volume = shape_volume(opening_shape); if ( opening_volume <= ALMOST_ZERO ) Logger::Message(Logger::LOG_WARNING,"Empty opening for:",entity->entity); - original_shape_volume = shape_volume(entity_shape); } if (entity_shape.ShapeType() == TopAbs_COMPSOLID) { @@ -235,9 +234,9 @@ bool IfcGeom::Kernel::convert_openings(const IfcSchema::IfcProduct* entity, cons BRepCheck_Analyzer analyser(brep_cut_result); bool is_valid = analyser.IsValid() != 0; if (is_valid) { - TopExp_Explorer exp(brep_cut_result, TopAbs_SOLID); - for (; exp.More(); exp.Next()) { - builder.Add(compound, exp.Current()); + TopExp_Explorer exp2(brep_cut_result, TopAbs_SOLID); + for (; exp2.More(); exp2.Next()) { + builder.Add(compound, exp2.Current()); added = true; } } @@ -272,7 +271,7 @@ bool IfcGeom::Kernel::convert_openings(const IfcSchema::IfcProduct* entity, cons entity_shape = brep_cut_result; if ( Logger::Verbosity() >= Logger::LOG_WARNING ) { const double volume_after_subtraction = shape_volume(entity_shape); - + double original_shape_volume = shape_volume(entity_shape); if ( ALMOST_THE_SAME(original_shape_volume,volume_after_subtraction) ) Logger::Message(Logger::LOG_WARNING,"Subtraction yields unchanged volume:",entity->entity); } @@ -615,11 +614,11 @@ IfcSchema::IfcProductDefinitionShape* IfcGeom::tesselate(TopoDS_Shape& shape, do IfcSchema::IfcFaceOuterBound* bound = new IfcSchema::IfcFaceOuterBound(loop, face.Orientation() != TopAbs_REVERSED); IfcSchema::IfcFaceBound::list::ptr bounds (new IfcSchema::IfcFaceBound::list); bounds->push(bound); - IfcSchema::IfcFace* face = new IfcSchema::IfcFace(bounds); + IfcSchema::IfcFace* face2 = new IfcSchema::IfcFace(bounds); es->push(loop); es->push(bound); - es->push(face); - faces->push(face); + es->push(face2); + faces->push(face2); } } } @@ -703,7 +702,6 @@ bool IfcGeom::Kernel::fill_nonmanifold_wires_with_planar_faces(TopoDS_Shape& sha // Now loop over all the vertices that are part of the wire(s) to be filled for (int i = 1; i <= num_verts; ++i) { first = current = TopoDS::Vertex(vertex_to_edges.FindKey(i)); - const bool isSame = first.IsSame(current); // We keep track of the vertices we already used if (visited.find(vertex_to_edges.FindIndex(current)) != visited.end()) { continue; @@ -711,7 +709,7 @@ bool IfcGeom::Kernel::fill_nonmanifold_wires_with_planar_faces(TopoDS_Shape& sha // Given these vertices, try to find closed loops and create new // wires out of them. BRepBuilderAPI_MakeWire w; - while (true) { + for (;;) { visited.insert(vertex_to_edges.FindIndex(current)); // Find the edge that the current vertex is part of and points // away from the previous vertex (null for the first vertex). @@ -822,7 +820,7 @@ void IfcGeom::Kernel::remove_redundant_points_from_loop(TColgp_SequenceOfPnt& po if (tol <= 0.) tol = getValue(GV_POINT_EQUALITY_TOLERANCE); tol *= tol; - while (true) { + for (;;) { bool removed = false; int n = polygon.Length() - (closed ? 0 : 1); for (int i = 1; i <= n; ++i) { diff --git a/src/ifcgeom/IfcGeomHelpers.cpp b/src/ifcgeom/IfcGeomHelpers.cpp index bba462dd12..8b6ef76eac 100644 --- a/src/ifcgeom/IfcGeomHelpers.cpp +++ b/src/ifcgeom/IfcGeomHelpers.cpp @@ -287,7 +287,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcObjectPlacement* l, gp_Trsf& t return false; } IfcSchema::IfcLocalPlacement* current = (IfcSchema::IfcLocalPlacement*)l; - while (1) { + for (;;) { gp_Trsf trsf2; IfcSchema::IfcAxis2Placement* relplacement = current->RelativePlacement(); if ( relplacement->is(IfcSchema::Type::IfcAxis2Placement3D) ) { diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index fc62b3bbf4..9dc498e938 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -182,9 +182,7 @@ namespace IfcGeom { } if (context->hasContextType()) { std::string context_type_lc = context->ContextType(); - for (std::string::iterator c = context_type_lc.begin(); c != context_type_lc.end(); ++c) { - *c = tolower(*c); - } + std::transform(context_type_lc.begin(), context_type_lc.end(), context_type_lc.begin(), ::tolower); if (context_types.find(context_type_lc) != context_types.end()) { filtered_contexts->push(context); } @@ -287,7 +285,7 @@ namespace IfcGeom { } BRepElement

    * create_shape_model_for_next_entity() { - while ( true ) { + for (;;) { IfcSchema::IfcRepresentation* representation; // Have we reached the end of our list of representations? @@ -320,16 +318,16 @@ namespace IfcGeom { // Filter the products based on the set of entities being included or excluded for // processing. The set is iterated over te able to filter on subtypes. - for ( IfcSchema::IfcProduct::list::it it = unfiltered_products->begin(); it != unfiltered_products->end(); ++it ) { + for ( IfcSchema::IfcProduct::list::it jt = unfiltered_products->begin(); jt != unfiltered_products->end(); ++jt ) { bool found = false; - for (std::set::const_iterator jt = entities_to_include_or_exclude.begin(); jt != entities_to_include_or_exclude.end(); ++jt) { - if ((*it)->is(*jt)) { + for (std::set::const_iterator kt = entities_to_include_or_exclude.begin(); kt != entities_to_include_or_exclude.end(); ++kt) { + if ((*jt)->is(*kt)) { found = true; break; } } if (found == include_entities_in_processing) { - ifcproducts->push(*it); + ifcproducts->push(*jt); } } diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index f94f8ab211..501ff68733 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -41,6 +41,8 @@ namespace IfcGeom { namespace Representation { class Representation { + Representation(const Representation&); //N/A + Representation& operator =(const Representation&); //N/A protected: const ElementSettings _settings; public: @@ -116,11 +118,11 @@ namespace IfcGeom { : Representation(shape_model.settings()) , _id(shape_model.getId()) { - for ( IfcGeom::IfcRepresentationShapeItems::const_iterator it = shape_model.begin(); it != shape_model.end(); ++ it ) { + for ( IfcGeom::IfcRepresentationShapeItems::const_iterator iit = shape_model.begin(); iit != shape_model.end(); ++ iit ) { int surface_style_id = -1; - if (it->hasStyle()) { - Material adapter(&it->Style()); + if (iit->hasStyle()) { + Material adapter(&iit->Style()); std::vector::const_iterator jt = std::find(_materials.begin(), _materials.end(), adapter); if (jt == _materials.end()) { surface_style_id = (int)_materials.size(); @@ -132,17 +134,17 @@ namespace IfcGeom { if (settings().apply_default_materials() && surface_style_id == -1) { Material material(IfcGeom::get_default_style(settings().element_type())); - std::vector::const_iterator it = std::find(_materials.begin(), _materials.end(), material); - if (it == _materials.end()) { + std::vector::const_iterator mit = std::find(_materials.begin(), _materials.end(), material); + if (mit == _materials.end()) { surface_style_id = (int)_materials.size(); _materials.push_back(material); } else { - surface_style_id = (int)(it - _materials.begin()); + surface_style_id = (int)(mit - _materials.begin()); } } - const TopoDS_Shape& s = it->Shape(); - const gp_GTrsf& trsf = it->Placement(); + const TopoDS_Shape& s = iit->Shape(); + const gp_GTrsf& trsf = iit->Placement(); // Triangulate the shape try { @@ -233,11 +235,11 @@ namespace IfcGeom { addEdge(dict[n2], dict[n3], edgecount, edges_temp); addEdge(dict[n3], dict[n1], edgecount, edges_temp); } - for ( std::vector >::const_iterator it = edges_temp.begin(); it != edges_temp.end(); ++it ) { - if (edgecount[*it] == 1) { + for ( std::vector >::const_iterator jt = edges_temp.begin(); jt != edges_temp.end(); ++jt ) { + if (edgecount[*jt] == 1) { // non manifold edge, face boundary - _edges.push_back(it->first); - _edges.push_back(it->second); + _edges.push_back(jt->first); + _edges.push_back(jt->second); } } } @@ -247,8 +249,8 @@ namespace IfcGeom { // Edges are only emitted if there are no faces. A mixed representation of faces // and loose edges is discouraged by the standard. An alternative would be to use // TopExp::MapShapesAndAncestors() to find edges that do not belong to any face. - for (TopExp_Explorer exp(s, TopAbs_EDGE); exp.More(); exp.Next()) { - BRepAdaptor_Curve crv(TopoDS::Edge(exp.Current())); + for (TopExp_Explorer texp(s, TopAbs_EDGE); texp.More(); texp.Next()) { + BRepAdaptor_Curve crv(TopoDS::Edge(texp.Current())); GCPnts_QuasiUniformDeflection tessellater(crv, settings().deflection_tolerance()); int n = tessellater.NbPoints(); int start = (int)_verts.size() / 3; diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 861de7de6c..489a1ee83b 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -627,9 +627,9 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCurveBoundedPlane* l, TopoDS_S BRepBuilderAPI_MakeFace mf (outer); mf.Add(outer); - IfcSchema::IfcCurve::list::ptr inner = l->InnerBoundaries(); + IfcSchema::IfcCurve::list::ptr boundaries = l->InnerBoundaries(); - for (IfcSchema::IfcCurve::list::it it = inner->begin(); it != inner->end(); ++it) { + for (IfcSchema::IfcCurve::list::it it = boundaries->begin(); it != boundaries->end(); ++it) { TopoDS_Wire inner; convert_wire(*it, inner); @@ -762,8 +762,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcSweptDiskSolid* l, TopoDS_Shap // Subtraction of pipes with small radii is unstable. hasInnerRadius = false; } else { - Handle(Geom_Circle) circle = new Geom_Circle(directrix, r2); - section2 = BRepBuilderAPI_MakeWire(BRepBuilderAPI_MakeEdge(circle)); + Handle(Geom_Circle) circle2 = new Geom_Circle(directrix, r2); + section2 = BRepBuilderAPI_MakeWire(BRepBuilderAPI_MakeEdge(circle2)); } } diff --git a/src/ifcgeom/IfcGeomWires.cpp b/src/ifcgeom/IfcGeomWires.cpp index c212ad6422..a06194b46c 100644 --- a/src/ifcgeom/IfcGeomWires.cpp +++ b/src/ifcgeom/IfcGeomWires.cpp @@ -184,8 +184,6 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& bool trim_cartesian = l->MasterRepresentation() == IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN; IfcEntityList::ptr trims1 = l->Trim1(); IfcEntityList::ptr trims2 = l->Trim2(); - bool trimmed1 = false; - bool trimmed2 = false; unsigned sense_agreement = l->SenseAgreement() ? 0 : 1; double flts[2]; gp_Pnt pnts[2]; @@ -411,9 +409,9 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcEdgeLoop* l, TopoDS_Wire& resu TopoDS_Wire w; if (convert_wire(*it, w)) { if (!(*it)->Orientation()) w.Reverse(); - TopoDS_Iterator it(w, false); - for (; it.More(); it.Next()) { - const TopoDS_Edge& e = TopoDS::Edge(it.Value()); + TopoDS_Iterator topoit(w, false); + for (; topoit.More(); topoit.Next()) { + const TopoDS_Edge& e = TopoDS::Edge(topoit.Value()); mw.Add(e); } // mw.Add(w); diff --git a/src/ifcgeomserver/IfcGeomServer.cpp b/src/ifcgeomserver/IfcGeomServer.cpp index 9398bde3b7..ec8bf075b6 100644 --- a/src/ifcgeomserver/IfcGeomServer.cpp +++ b/src/ifcgeomserver/IfcGeomServer.cpp @@ -238,9 +238,9 @@ protected: } { std::vector diffuse_color_array; for (std::vector::const_iterator it = geom->geometry().materials().begin(); it != geom->geometry().materials().end(); ++it) { - const IfcGeom::Material& m = *it; - if (m.hasDiffuse()) { - const double* color = m.diffuse(); + const IfcGeom::Material& mat = *it; + if (mat.hasDiffuse()) { + const double* color = mat.diffuse(); diffuse_color_array.push_back(static_cast(color[0])); diffuse_color_array.push_back(static_cast(color[1])); diffuse_color_array.push_back(static_cast(color[2])); @@ -249,8 +249,8 @@ protected: diffuse_color_array.push_back(0.f); diffuse_color_array.push_back(0.f); } - if (m.hasTransparency()) { - diffuse_color_array.push_back(static_cast(1. - m.transparency())); + if (mat.hasTransparency()) { + diffuse_color_array.push_back(static_cast(1. - mat.transparency())); } else { diffuse_color_array.push_back(1.f); } @@ -283,10 +283,6 @@ public: }; int main (int argc, char** argv) { - if (sizeof(float) != 4 || sizeof(int32_t) != 4) { - return 1; - } - // Redirect stdout to this stream, so that involuntary // writes to stdout do not interfere with our protocol. std::ostringstream oss; @@ -308,7 +304,7 @@ int main (int argc, char** argv) { Hello().write(std::cout); int exit_code = 0; - while (1) { + for (;;) { const int32_t msg_type = sread(std::cin); switch (msg_type) { case IFC_MODEL: { diff --git a/src/ifcparse/Ifc2x3-latebound.cpp b/src/ifcparse/Ifc2x3-latebound.cpp index 289b4279c4..31daf4e1eb 100644 --- a/src/ifcparse/Ifc2x3-latebound.cpp +++ b/src/ifcparse/Ifc2x3-latebound.cpp @@ -4250,7 +4250,7 @@ std::pair Type::GetInverseAttribute(Enum t, const std::str if (inverse_map.empty()) ::InitInverseMap(); inverse_map_t::const_iterator it; inverse_map_t::mapped_type::const_iterator jt; - while (true) { + for (;;) { it = inverse_map.find(t); if (it != inverse_map.end()) { jt = it->second.find(a); @@ -4270,7 +4270,7 @@ std::set Type::GetInverseAttributeNames(Enum t) { std::set return_value; - while (true) { + for (;;) { it = inverse_map.find(t); if (it != inverse_map.end()) { for (jt = it->second.begin(); jt != it->second.end(); ++jt) { diff --git a/src/ifcparse/IfcCharacterDecoder.cpp b/src/ifcparse/IfcCharacterDecoder.cpp index 3b1b2a654e..4243efd475 100644 --- a/src/ifcparse/IfcCharacterDecoder.cpp +++ b/src/ifcparse/IfcCharacterDecoder.cpp @@ -130,7 +130,7 @@ IfcCharacterDecoder::operator std::string() { #ifdef HAVE_ICU unsigned int old_hex = 0; // for compatibility_mode #endif - while ( current_char = file->Peek() ) { + while ( (current_char = file->Peek()) != 0 ) { if ( EXPECTS_CHARACTER(parse_state) ) { #ifdef HAVE_ICU if ( previous_codepage != codepage ) { @@ -227,7 +227,7 @@ void IfcCharacterDecoder::dryRun() { unsigned int parse_state = 0; char current_char; unsigned int hex_count = 0; - while ( current_char = file->Peek() ) { + while ((current_char = file->Peek()) != 0) { if ( EXPECTS_CHARACTER(parse_state) ) { parse_state = 0; } else if ( current_char == '\'' && ! parse_state ) { @@ -340,8 +340,8 @@ IfcCharacterEncoder::operator std::string() { oss << "\\X" << num_bytes_str << "\\"; } if ( within_spf_range ) { - oss.put(ch); - if ( ch == '\\' || ch == '\'' ) oss.put(ch); + oss.put((char)ch); + if ( ch == '\\' || ch == '\'' ) oss.put((char)ch); } else { oss << std::hex << std::setw(num_bytes*2) << std::uppercase << std::setfill('0') << (int) ch; } diff --git a/src/ifcparse/IfcGlobalId.cpp b/src/ifcparse/IfcGlobalId.cpp index d1692b6bbd..f6ab34b48c 100644 --- a/src/ifcparse/IfcGlobalId.cpp +++ b/src/ifcparse/IfcGlobalId.cpp @@ -38,7 +38,7 @@ std::string base64(unsigned v, int l) { r.push_back(chars[v%64]); v /= 64; } - while ( r.size() != l ) r.push_back('0'); + while ( (int)r.size() != l ) r.push_back('0'); std::reverse(r.begin(),r.end()); return r; } @@ -70,7 +70,7 @@ std::string compress(unsigned char* v) { // Expands the base64 representation into a UUID byte array void expand(const std::string& s, std::vector& v) { - v.push_back(from_base64(s.substr(0,2))); + v.push_back((unsigned char)from_base64(s.substr(0,2))); for( unsigned i = 0; i < 5; ++i ) { unsigned d = from_base64(s.substr(2+4*i,4)); for ( unsigned j = 0; j < 3; ++ j ) { diff --git a/src/ifcparse/IfcHierarchyHelper.cpp b/src/ifcparse/IfcHierarchyHelper.cpp index d86fe6b7a4..ccaec9b587 100644 --- a/src/ifcparse/IfcHierarchyHelper.cpp +++ b/src/ifcparse/IfcHierarchyHelper.cpp @@ -290,7 +290,7 @@ void IfcHierarchyHelper::addBox(IfcSchema::IfcShapeRepresentation* rep, double w IfcSchema::IfcAxis2Placement2D* place, IfcSchema::IfcAxis2Placement3D* place2, IfcSchema::IfcDirection* dir, IfcSchema::IfcRepresentationContext* context) { - if (false) { + if (false) { // TODO What's this? IfcSchema::IfcRectangleProfileDef* profile = new IfcSchema::IfcRectangleProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, boost::none, place ? place : addPlacement2d(), w, d); IfcSchema::IfcExtrudedAreaSolid* solid = new IfcSchema::IfcExtrudedAreaSolid(profile, @@ -303,10 +303,10 @@ void IfcHierarchyHelper::addBox(IfcSchema::IfcShapeRepresentation* rep, double w rep->setItems(items); } else { std::vector > points; - points.push_back(std::pair(-w/2, -d/2)); - points.push_back(std::pair(w/2, -d/2)); - points.push_back(std::pair(w/2, d/2)); - points.push_back(std::pair(-w/2, d/2)); + points.push_back(std::make_pair(-w/2, -d/2)); + points.push_back(std::make_pair(w/2, -d/2)); + points.push_back(std::make_pair(w/2, d/2)); + points.push_back(std::make_pair(-w/2, d/2)); // The call to addExtrudedPolyline() closes the polyline addExtrudedPolyline(rep, points, h, place, place2, dir, context); } diff --git a/src/ifcparse/IfcLateBoundEntity.cpp b/src/ifcparse/IfcLateBoundEntity.cpp index dbe78d1d04..d389b3461f 100644 --- a/src/ifcparse/IfcLateBoundEntity.cpp +++ b/src/ifcparse/IfcLateBoundEntity.cpp @@ -87,35 +87,35 @@ unsigned int IfcParse::IfcLateBoundEntity::getArgumentCount() const { return IfcSchema::Type::GetAttributeCount(_type); } IfcUtil::ArgumentType IfcParse::IfcLateBoundEntity::getArgumentType(unsigned int i) const { - return IfcSchema::Type::GetAttributeDerived(_type, i) + return IfcSchema::Type::GetAttributeDerived(_type, (unsigned char)i) ? IfcUtil::Argument_DERIVED - : IfcSchema::Type::GetAttributeType(_type,i); + : IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); } IfcSchema::Type::Enum IfcParse::IfcLateBoundEntity::getArgumentEntity(unsigned int i) const { - return IfcSchema::Type::GetAttributeEntity(_type, i); + return IfcSchema::Type::GetAttributeEntity(_type, (unsigned char)i); } Argument* IfcParse::IfcLateBoundEntity::getArgument(unsigned int i) const { return entity->getArgument(i); } const char* IfcParse::IfcLateBoundEntity::getArgumentName(unsigned int i) const { - return IfcSchema::Type::GetAttributeName(_type,i).c_str(); + return IfcSchema::Type::GetAttributeName(_type, (unsigned char)i).c_str(); } bool IfcParse::IfcLateBoundEntity::getArgumentOptionality(unsigned int i) const { - return IfcSchema::Type::GetAttributeOptional(_type, i); + return IfcSchema::Type::GetAttributeOptional(_type, (unsigned char)i); } void IfcParse::IfcLateBoundEntity::invalid_argument(unsigned int i, const std::string& t) { - const std::string arg_name = IfcSchema::Type::GetAttributeName(_type,i); + const std::string arg_name = IfcSchema::Type::GetAttributeName(_type, (unsigned char)i); throw IfcException(t + " is not a valid type for '" + arg_name + "'"); } void IfcParse::IfcLateBoundEntity::setArgumentAsNull(unsigned int i) { - bool is_optional = IfcSchema::Type::GetAttributeOptional(_type, i); + bool is_optional = IfcSchema::Type::GetAttributeOptional(_type, (unsigned char)i); if (is_optional) { writable_entity()->setArgument(i); } else invalid_argument(i,"NULL"); } void IfcParse::IfcLateBoundEntity::setArgumentAsInt(unsigned int i, int v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_INT) { writable_entity()->setArgument(i,v); } else if ( (arg_type == Argument_BOOL) && ( (v == 0) || (v == 1) ) ) { @@ -123,23 +123,23 @@ void IfcParse::IfcLateBoundEntity::setArgumentAsInt(unsigned int i, int v) { } else invalid_argument(i,"INTEGER"); } void IfcParse::IfcLateBoundEntity::setArgumentAsBool(unsigned int i, bool v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_BOOL) { writable_entity()->setArgument(i,v); } else invalid_argument(i,"BOOLEAN"); } void IfcParse::IfcLateBoundEntity::setArgumentAsDouble(unsigned int i, double v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_DOUBLE) { writable_entity()->setArgument(i,v); } else invalid_argument(i,"REAL"); } void IfcParse::IfcLateBoundEntity::setArgumentAsString(unsigned int i, const std::string& a) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_STRING) { writable_entity()->setArgument(i,a); } else if (arg_type == Argument_ENUMERATION) { - std::pair enum_data = IfcSchema::Type::GetEnumerationIndex(IfcSchema::Type::GetAttributeEntity(_type, i), a); + std::pair enum_data = IfcSchema::Type::GetEnumerationIndex(IfcSchema::Type::GetAttributeEntity(_type, (unsigned char)i), a); writable_entity()->setArgument(i, enum_data.second, enum_data.first); } else if (arg_type == Argument_BINARY) { if (valid_binary_string(a)) { @@ -151,19 +151,19 @@ void IfcParse::IfcLateBoundEntity::setArgumentAsString(unsigned int i, const std } else invalid_argument(i,"STRING"); } void IfcParse::IfcLateBoundEntity::setArgumentAsAggregateOfInt(unsigned int i, const std::vector& v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_AGGREGATE_OF_INT) { writable_entity()->setArgument(i,v); } else invalid_argument(i,"AGGREGATE OF INT"); } void IfcParse::IfcLateBoundEntity::setArgumentAsAggregateOfDouble(unsigned int i, const std::vector& v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_AGGREGATE_OF_DOUBLE) { writable_entity()->setArgument(i,v); } else invalid_argument(i,"AGGREGATE OF DOUBLE"); } void IfcParse::IfcLateBoundEntity::setArgumentAsAggregateOfString(unsigned int i, const std::vector& v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_AGGREGATE_OF_STRING) { writable_entity()->setArgument(i,v); } else if (arg_type == Argument_AGGREGATE_OF_BINARY) { @@ -180,31 +180,31 @@ void IfcParse::IfcLateBoundEntity::setArgumentAsAggregateOfString(unsigned int i } else invalid_argument(i,"AGGREGATE OF STRING"); } void IfcParse::IfcLateBoundEntity::setArgumentAsEntityInstance(unsigned int i, IfcParse::IfcLateBoundEntity* v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_ENTITY_INSTANCE) { writable_entity()->setArgument(i,v); } else invalid_argument(i,"ENTITY INSTANCE"); } void IfcParse::IfcLateBoundEntity::setArgumentAsAggregateOfEntityInstance(unsigned int i, IfcEntityList::ptr v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_AGGREGATE_OF_ENTITY_INSTANCE) { writable_entity()->setArgument(i,v); } else invalid_argument(i,"AGGREGATE OF ENTITY INSTANCE"); } void IfcParse::IfcLateBoundEntity::setArgumentAsAggregateOfAggregateOfInt(unsigned int i, const std::vector< std::vector >& v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_AGGREGATE_OF_AGGREGATE_OF_INT) { writable_entity()->setArgument(i,v); } else invalid_argument(i,"AGGREGATE OF AGGREGATE OF INT"); } void IfcParse::IfcLateBoundEntity::setArgumentAsAggregateOfAggregateOfDouble(unsigned int i, const std::vector< std::vector >& v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE) { writable_entity()->setArgument(i,v); } else invalid_argument(i,"AGGREGATE OF AGGREGATE OF DOUBLE"); } void IfcParse::IfcLateBoundEntity::setArgumentAsAggregateOfAggregateOfEntityInstance(unsigned int i, IfcEntityListList::ptr v) { - IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type, (unsigned char)i); if (arg_type == Argument_AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE) { writable_entity()->setArgument(i,v); } else invalid_argument(i,"AGGREGATE OF AGGREGATE OF ENTITY INSTANCE"); @@ -230,7 +230,7 @@ bool IfcParse::IfcLateBoundEntity::is_valid() { const Argument& arg = *getArgument(i); is_null = arg.isNull(); } catch(IfcException) {} - if (!IfcSchema::Type::GetAttributeOptional(_type,i) && is_null) { + if (!IfcSchema::Type::GetAttributeOptional(_type, (unsigned char)i) && is_null) { if (!valid) { oss << ", "; } diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index 9b5f33a26b..3a313b7603 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -308,7 +308,7 @@ Token IfcSpfLexer::Next() { while ( ! stream->eof ) { // Read character and increment pointer if not starting a new token - char c = stream->Peek(); + c = stream->Peek(); if ( len && (c == '(' || c == ')' || c == '=' || c == ',' || c == ';' || c == '/') ) break; stream->Inc(); len ++; @@ -363,7 +363,7 @@ bool TokenFunc::startsWith(const Token& t, char c) { } bool TokenFunc::isOperator(const Token& t, char op) { - return (!t.first) && (!op || op == t.second); + return (!t.first) && (!op || (unsigned)op == t.second); } bool TokenFunc::isIdentifier(const Token& t) { @@ -394,8 +394,8 @@ bool TokenFunc::isInt(const Token& t) { const std::string str = asString(t); const char* start = str.c_str(); char* end; - long result = strtol(start,&end,10); - return ((end - start) == str.length()); + /*long result =*/ strtol(start,&end,10); + return ((end - start) == (ptrdiff_t)str.length()); } bool TokenFunc::isBool(const Token& t) { @@ -412,11 +412,11 @@ bool TokenFunc::isFloat(const Token& t) { const char* start = str.c_str(); char* end; #ifdef _MSC_VER - double result = _strtod_l(start,&end,locale); + /*double result =*/ _strtod_l(start,&end,locale); #else double result = strtod_l(start,&end,locale); #endif - return ((end - start) == str.length()); + return ((end - start) == (ptrdiff_t)str.length()); } int TokenFunc::asInt(const Token& t) { @@ -508,8 +508,7 @@ EntityArgument::EntityArgument(const Token& t) { // Aditionally, stores the ids (i.e. #[\d]+) in a vector // void ArgumentList::read(IfcSpfLexer* t, std::vector& ids) { - IfcParse::IfcFile* file = t->file; - + //IfcParse::IfcFile* file = t->file; Token next = t->Next(); while( next.second || next.first ) { if ( TokenFunc::isOperator(next,',') ) { @@ -517,9 +516,9 @@ void ArgumentList::read(IfcSpfLexer* t, std::vector& ids) { } else if ( TokenFunc::isOperator(next,')') ) { break; } else if ( TokenFunc::isOperator(next,'(') ) { - ArgumentList* list = new ArgumentList(); - list->read(t, ids); - push(list); + ArgumentList* alist = new ArgumentList(); + alist->read(t, ids); + push(alist); } else { if ( TokenFunc::isIdentifier(next) ) { ids.push_back(TokenFunc::asInt(next)); @@ -640,7 +639,7 @@ ArgumentList::operator IfcEntityListList::ptr() const { for ( it = list.begin(); it != list.end(); ++ it ) { const Argument* arg = *it; const ArgumentList* arg_list; - if ((arg_list = dynamic_cast(arg))) { + if ((arg_list = dynamic_cast(arg)) != 0) { IfcEntityList::ptr e = *arg_list; l->push(e); } @@ -1070,9 +1069,9 @@ void IfcFile::addEntities(IfcEntityList::ptr es) { IfcUtil::IfcBaseClass* IfcFile::addEntity(IfcUtil::IfcBaseClass* entity) { // If this instance has been inserted before, return // a reference to the copy that was created from it. - entity_entity_map_t::iterator it = entity_file_map.find(entity); - if (it != entity_file_map.end()) { - return it->second; + entity_entity_map_t::iterator mit = entity_file_map.find(entity); + if (mit != entity_file_map.end()) { + return mit->second; } // Obtain all forward references by a depth-first @@ -1272,8 +1271,8 @@ void IfcFile::removeEntity(IfcUtil::IfcBaseClass* entity) { // moment, inversely related instances affected by the removal of the // entity being deleted are not deleted themselves. if (references) { - for (IfcEntityList::it it = references->begin(); it != references->end(); ++it) { - IfcUtil::IfcBaseEntity* related_instance = (IfcUtil::IfcBaseEntity*) *it; + for (IfcEntityList::it iit = references->begin(); iit != references->end(); ++iit) { + IfcUtil::IfcBaseEntity* related_instance = (IfcUtil::IfcBaseEntity*) *iit; for (unsigned i = 0; i < related_instance->getArgumentCount(); ++i) { Argument* attr = related_instance->getArgument(i); if (attr->isNull()) continue; @@ -1495,21 +1494,21 @@ std::pair IfcFile::getUnit(IfcSchema::IfcUnitE if (named_unit->UnitType() != type) { continue; } - IfcSchema::IfcSIUnit* unit = 0; + IfcSchema::IfcSIUnit* siunit = 0; if (named_unit->is(IfcSchema::Type::IfcConversionBasedUnit)) { IfcSchema::IfcConversionBasedUnit* u = (IfcSchema::IfcConversionBasedUnit*)named_unit; IfcSchema::IfcMeasureWithUnit* mu = u->ConversionFactor(); return_value.second *= static_cast(*mu->ValueComponent()->entity->getArgument(0)); return_value.first = named_unit; if (mu->UnitComponent()->is(IfcSchema::Type::IfcSIUnit)) { - unit = (IfcSchema::IfcSIUnit*) mu->UnitComponent(); + siunit = (IfcSchema::IfcSIUnit*) mu->UnitComponent(); } } else if (named_unit->is(IfcSchema::Type::IfcSIUnit)) { - return_value.first = unit = (IfcSchema::IfcSIUnit*) named_unit; + return_value.first = siunit = (IfcSchema::IfcSIUnit*) named_unit; } - if (unit) { - if (unit->hasPrefix()) { - return_value.second *= IfcSIPrefixToValue(unit->Prefix()); + if (siunit) { + if (siunit->hasPrefix()) { + return_value.second *= IfcSIPrefixToValue(siunit->Prefix()); } } } diff --git a/src/ifcparse/IfcSpfHeader.h b/src/ifcparse/IfcSpfHeader.h index 9edce30ea9..0fca7678be 100644 --- a/src/ifcparse/IfcSpfHeader.h +++ b/src/ifcparse/IfcSpfHeader.h @@ -29,6 +29,9 @@ class HeaderEntity : public IfcAbstractEntity { private: ArgumentList* _list; const char * const _datatype; + + HeaderEntity(const HeaderEntity&); //N/A + HeaderEntity& operator =(const HeaderEntity&); //N/A protected: HeaderEntity(const char * const datatype, IfcSpfLexer* lexer) : _datatype(datatype), _list(0) diff --git a/src/ifcparse/IfcWrite.cpp b/src/ifcparse/IfcWrite.cpp index 99579f1d83..74628b7432 100644 --- a/src/ifcparse/IfcWrite.cpp +++ b/src/ifcparse/IfcWrite.cpp @@ -104,7 +104,6 @@ std::string IfcWritableEntity::toString(bool upper) const { ss << dt << "("; for (std::map::const_iterator it = args.begin(); it != args.end(); ++ it) { if ( it != args.begin() ) ss << ","; - const Argument* a = it->second; ss << it->second->toString(upper); } ss << ")"; @@ -140,7 +139,6 @@ void IfcWritableEntity::setArgument(int i) { } void IfcWritableEntity::setArgument(int i, Argument* a) { - IfcWrite::IfcWriteArgument* wa = new IfcWrite::IfcWriteArgument(this); IfcUtil::ArgumentType attr_type = a->type(); switch(attr_type) { case IfcUtil::Argument_NULL: @@ -182,7 +180,7 @@ void IfcWritableEntity::setArgument(int i, Argument* a) { this->setArgument(i, attr_value); } break; case IfcUtil::Argument_ENUMERATION: { - IfcSchema::Type::Enum ty = IfcSchema::Type::GetAttributeEntity(_type, i); + IfcSchema::Type::Enum ty = IfcSchema::Type::GetAttributeEntity(_type, (unsigned char)i); std::string enum_literal = a->toString(); // Remove leading and trailing '.' enum_literal = enum_literal.substr(1, enum_literal.size() - 2); @@ -312,6 +310,9 @@ public: class StringBuilderVisitor : public boost::static_visitor { private: + StringBuilderVisitor(const StringBuilderVisitor&); //N/A + StringBuilderVisitor& operator =(const StringBuilderVisitor&); //N/A + std::ostringstream& data; template void serialize(const std::vector& i) { data << "("; diff --git a/src/ifcwrap/IfcPython.i b/src/ifcwrap/IfcPython.i index 3aca18456c..ef42830a14 100644 --- a/src/ifcwrap/IfcPython.i +++ b/src/ifcwrap/IfcPython.i @@ -36,6 +36,15 @@ # include # include #endif + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4127 4244 4702 4510 4512 4610) +# if _MSC_VER > 1800 +# pragma warning(disable : 4456 4459) +# endif +#endif +// TODO add '# pragma warning(pop)' to the very end of the file %} %include "std_string.i" From b562508f5b91697d1955ca643d55f8c59c22d021 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 22 Nov 2015 00:04:21 +0200 Subject: [PATCH 037/157] win/readme.md tweak --- win/readme.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/win/readme.md b/win/readme.md index ee4c3c4989..0b7e8a3d9e 100644 --- a/win/readme.md +++ b/win/readme.md @@ -21,11 +21,8 @@ if you want to change the defaults. The batch file will create `deps\` and `deps directories to the project root. Debug and release builds of the depedencies can co-exist by simply running `build-deps.cmd Debug` and `build-deps.cmd `. -After the dependencies are build, execute `run-cmake.bat`. The batch file expects a CMake generator as -`%1` (if not provided, the same default value as above is used), or alternatively, if more parameters are provided, `%*` is passed for the CMake invokation, i.e., if one -wants to pass custom build options, the generator must be passed also using CMake's syntax: - -`run-cmake.bat -G "Visual Studio 14 2015 Win64" -DBUILD_IFCPYTHON=0`. +After the dependencies are build, execute `run-cmake.bat`. The batch file expects always a CMake generator as +`%1` (if not provided, the same default value as above is used), and the rest of possible parameters are passed as is. The batch script will create a folder of form `build-vs-\` which will contain the solution and project files for Visual Studio. **If you wish to use any library from a custom location, modify the paths in run-cmake.bat From 16a82f035f18f9ac7f25dbe667cf5bd73d4f2433 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 22 Nov 2015 02:20:34 +0200 Subject: [PATCH 038/157] templates.py: disable C4100 warnings for headers created by this file + move inclusion to .cpp as it's not needed in .h + use spaces instead of tabs consistently for these files as seems to be the convention. --- src/ifcexpressparser/README.txt | 4 +- src/ifcexpressparser/templates.py | 62 ++++++++++++++++++------------- src/ifcparse/Ifc2x3-latebound.cpp | 50 ++++++++++++------------- src/ifcparse/Ifc2x3.cpp | 2 + src/ifcparse/Ifc2x3.h | 10 ++++- src/ifcparse/Ifc4-latebound.cpp | 50 ++++++++++++------------- src/ifcparse/Ifc4.cpp | 2 + src/ifcparse/Ifc4.h | 10 ++++- 8 files changed, 111 insertions(+), 79 deletions(-) diff --git a/src/ifcexpressparser/README.txt b/src/ifcexpressparser/README.txt index d4c4176084..ede43994d3 100644 --- a/src/ifcexpressparser/README.txt +++ b/src/ifcexpressparser/README.txt @@ -4,6 +4,8 @@ the IFC schema and will most likely fail on any other Express schema. The code can be invoked in the following way and results in two header files and a single implementation file named according to the schema name in the -Express file. A python 3 interpreter with the pyparsing library is required. +Express file. A python 3 interpreter with the pyparsing [1] library is required. $ python bootstrap.py express.bnf > express_parser.py && python express_parser.py IFC2X3_TC1.exp + +[1] http://pyparsing.wikispaces.com/Download+and+Installation diff --git a/src/ifcexpressparser/templates.py b/src/ifcexpressparser/templates.py index 2cd9722cd9..0ae336fe72 100644 --- a/src/ifcexpressparser/templates.py +++ b/src/ifcexpressparser/templates.py @@ -23,7 +23,6 @@ header = """ #include #include -#include #include @@ -31,6 +30,11 @@ header = """ #include "../ifcparse/IfcException.h" #include "../ifcparse/%(schema_name)senum.h" +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4100) +#endif + #define IfcSchema %(schema_name)s namespace %(schema_name)s { @@ -47,6 +51,10 @@ void InitStringMap(); IfcUtil::IfcBaseClass* SchemaEntity(IfcAbstractEntity* e = 0); } +#ifdef _MSC_VER +#pragma warning(pop) +#endif + #endif """ @@ -107,6 +115,8 @@ implementation= """ #include "../ifcparse/IfcWrite.h" #include "../ifcparse/IfcWritableEntity.h" +#include + using namespace %(schema_name)s; using namespace IfcParse; using namespace IfcWrite; @@ -261,49 +271,49 @@ std::pair Type::GetEnumerationIndex(Enum t, const std::string& } std::pair Type::GetInverseAttribute(Enum t, const std::string& a) { - if (inverse_map.empty()) ::InitInverseMap(); - inverse_map_t::const_iterator it; - inverse_map_t::mapped_type::const_iterator jt; - while (true) { + if (inverse_map.empty()) ::InitInverseMap(); + inverse_map_t::const_iterator it; + inverse_map_t::mapped_type::const_iterator jt; + for(;;) { it = inverse_map.find(t); if (it != inverse_map.end()) { - jt = it->second.find(a); - if (jt != it->second.end()) { - return jt->second; - } - } + jt = it->second.find(a); + if (jt != it->second.end()) { + return jt->second; + } + } if ((t = Parent(t)) == -1) break; } throw IfcException("Attribute not found"); } std::set Type::GetInverseAttributeNames(Enum t) { - if (inverse_map.empty()) ::InitInverseMap(); - inverse_map_t::const_iterator it; - inverse_map_t::mapped_type::const_iterator jt; + if (inverse_map.empty()) ::InitInverseMap(); + inverse_map_t::const_iterator it; + inverse_map_t::mapped_type::const_iterator jt; - std::set return_value; + std::set return_value; - while (true) { + for (;;) { it = inverse_map.find(t); if (it != inverse_map.end()) { - for (jt = it->second.begin(); jt != it->second.end(); ++jt) { - return_value.insert(jt->first); - } - } + for (jt = it->second.begin(); jt != it->second.end(); ++jt) { + return_value.insert(jt->first); + } + } if ((t = Parent(t)) == -1) break; } - - return return_value; + + return return_value; } void Type::PopulateDerivedFields(IfcWrite::IfcWritableEntity* e) { std::map >::const_iterator i = derived_map.find(e->type()); - if (i != derived_map.end()) { - for (std::set::const_iterator it = i->second.begin(); it != i->second.end(); ++it) { - e->setArgumentDerived(*it); - } - } + if (i != derived_map.end()) { + for (std::set::const_iterator it = i->second.begin(); it != i->second.end(); ++it) { + e->setArgumentDerived(*it); + } + } } """ diff --git a/src/ifcparse/Ifc2x3-latebound.cpp b/src/ifcparse/Ifc2x3-latebound.cpp index 31daf4e1eb..fcc21020e0 100644 --- a/src/ifcparse/Ifc2x3-latebound.cpp +++ b/src/ifcparse/Ifc2x3-latebound.cpp @@ -4247,48 +4247,48 @@ std::pair Type::GetEnumerationIndex(Enum t, const std::string& } std::pair Type::GetInverseAttribute(Enum t, const std::string& a) { - if (inverse_map.empty()) ::InitInverseMap(); - inverse_map_t::const_iterator it; - inverse_map_t::mapped_type::const_iterator jt; - for (;;) { + if (inverse_map.empty()) ::InitInverseMap(); + inverse_map_t::const_iterator it; + inverse_map_t::mapped_type::const_iterator jt; + for(;;) { it = inverse_map.find(t); if (it != inverse_map.end()) { - jt = it->second.find(a); - if (jt != it->second.end()) { - return jt->second; - } - } + jt = it->second.find(a); + if (jt != it->second.end()) { + return jt->second; + } + } if ((t = Parent(t)) == -1) break; } throw IfcException("Attribute not found"); } std::set Type::GetInverseAttributeNames(Enum t) { - if (inverse_map.empty()) ::InitInverseMap(); - inverse_map_t::const_iterator it; - inverse_map_t::mapped_type::const_iterator jt; + if (inverse_map.empty()) ::InitInverseMap(); + inverse_map_t::const_iterator it; + inverse_map_t::mapped_type::const_iterator jt; - std::set return_value; + std::set return_value; - for (;;) { + for (;;) { it = inverse_map.find(t); if (it != inverse_map.end()) { - for (jt = it->second.begin(); jt != it->second.end(); ++jt) { - return_value.insert(jt->first); - } - } + for (jt = it->second.begin(); jt != it->second.end(); ++jt) { + return_value.insert(jt->first); + } + } if ((t = Parent(t)) == -1) break; } - - return return_value; + + return return_value; } void Type::PopulateDerivedFields(IfcWrite::IfcWritableEntity* e) { std::map >::const_iterator i = derived_map.find(e->type()); - if (i != derived_map.end()) { - for (std::set::const_iterator it = i->second.begin(); it != i->second.end(); ++it) { - e->setArgumentDerived(*it); - } - } + if (i != derived_map.end()) { + for (std::set::const_iterator it = i->second.begin(); it != i->second.end(); ++it) { + e->setArgumentDerived(*it); + } + } } #endif diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index 5406ae5c6b..51f6f7941d 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -31,6 +31,8 @@ #include "../ifcparse/IfcWrite.h" #include "../ifcparse/IfcWritableEntity.h" +#include + using namespace Ifc2x3; using namespace IfcParse; using namespace IfcWrite; diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 963ae54e08..6e4a09500c 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -29,7 +29,6 @@ #include #include -#include #include @@ -37,6 +36,11 @@ #include "../ifcparse/IfcException.h" #include "../ifcparse/Ifc2x3enum.h" +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4100) +#endif + #define IfcSchema Ifc2x3 namespace Ifc2x3 { @@ -41583,4 +41587,8 @@ void InitStringMap(); IfcUtil::IfcBaseClass* SchemaEntity(IfcAbstractEntity* e = 0); } +#ifdef _MSC_VER +#pragma warning(pop) +#endif + #endif diff --git a/src/ifcparse/Ifc4-latebound.cpp b/src/ifcparse/Ifc4-latebound.cpp index 4cb4bb0364..e136fba57c 100644 --- a/src/ifcparse/Ifc4-latebound.cpp +++ b/src/ifcparse/Ifc4-latebound.cpp @@ -4941,48 +4941,48 @@ std::pair Type::GetEnumerationIndex(Enum t, const std::string& } std::pair Type::GetInverseAttribute(Enum t, const std::string& a) { - if (inverse_map.empty()) ::InitInverseMap(); - inverse_map_t::const_iterator it; - inverse_map_t::mapped_type::const_iterator jt; - while (true) { + if (inverse_map.empty()) ::InitInverseMap(); + inverse_map_t::const_iterator it; + inverse_map_t::mapped_type::const_iterator jt; + for(;;) { it = inverse_map.find(t); if (it != inverse_map.end()) { - jt = it->second.find(a); - if (jt != it->second.end()) { - return jt->second; - } - } + jt = it->second.find(a); + if (jt != it->second.end()) { + return jt->second; + } + } if ((t = Parent(t)) == -1) break; } throw IfcException("Attribute not found"); } std::set Type::GetInverseAttributeNames(Enum t) { - if (inverse_map.empty()) ::InitInverseMap(); - inverse_map_t::const_iterator it; - inverse_map_t::mapped_type::const_iterator jt; + if (inverse_map.empty()) ::InitInverseMap(); + inverse_map_t::const_iterator it; + inverse_map_t::mapped_type::const_iterator jt; - std::set return_value; + std::set return_value; - while (true) { + for (;;) { it = inverse_map.find(t); if (it != inverse_map.end()) { - for (jt = it->second.begin(); jt != it->second.end(); ++jt) { - return_value.insert(jt->first); - } - } + for (jt = it->second.begin(); jt != it->second.end(); ++jt) { + return_value.insert(jt->first); + } + } if ((t = Parent(t)) == -1) break; } - - return return_value; + + return return_value; } void Type::PopulateDerivedFields(IfcWrite::IfcWritableEntity* e) { std::map >::const_iterator i = derived_map.find(e->type()); - if (i != derived_map.end()) { - for (std::set::const_iterator it = i->second.begin(); it != i->second.end(); ++it) { - e->setArgumentDerived(*it); - } - } + if (i != derived_map.end()) { + for (std::set::const_iterator it = i->second.begin(); it != i->second.end(); ++it) { + e->setArgumentDerived(*it); + } + } } #endif diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index d599ac25b8..aa49def74b 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -31,6 +31,8 @@ #include "../ifcparse/IfcWrite.h" #include "../ifcparse/IfcWritableEntity.h" +#include + using namespace Ifc4; using namespace IfcParse; using namespace IfcWrite; diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 4f01c4f55c..23fc195b8a 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -29,7 +29,6 @@ #include #include -#include #include @@ -37,6 +36,11 @@ #include "../ifcparse/IfcException.h" #include "../ifcparse/Ifc4enum.h" +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4100) +#endif + #define IfcSchema Ifc4 namespace Ifc4 { @@ -55147,4 +55151,8 @@ void InitStringMap(); IfcUtil::IfcBaseClass* SchemaEntity(IfcAbstractEntity* e = 0); } +#ifdef _MSC_VER +#pragma warning(pop) +#endif + #endif From 89b3b96f1e6ba1f7d8e3383989ed0a02969356ab Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 22 Nov 2015 02:39:45 +0200 Subject: [PATCH 039/157] .gitignore: add /src/ifcexpressparser/__pycache__ & /src/ifcexpressparser/express_parser.py --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 96fb1b5394..2c5e2e40be 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ /build*/ /install*/ /win/BuildDepsCache*.txt +/src/ifcexpressparser/__pycache__ +/src/ifcexpressparser/express_parser.py From fcbe93c4c208d0fdc86ba533c8515db3a36d5554 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 23 Nov 2015 15:27:58 +0200 Subject: [PATCH 040/157] vs-cfg.cmd: support CMake pre-3.0 Visual Studio generator strings. --- win/vs-cfg.cmd | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index c6e9b1fd53..bcc6f6b996 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -19,6 +19,10 @@ :: This script initializes various Visual Studio -related environment variables needed for building :: This batch file expects CMake generator as %1 and build configuration type as %2. +:: NOTE This batch file expects the generator string to be CMake 3.0.0 and newer format, i.e. +:: "Visual Studio 10 2010" instead of "Visual Studio 10". However, one can use this batch file +:: also with CMake 2 as the generator will be converted into the older format if necessary. + :: NOTE: The delayed environment variable expansion needs to be enabled before calling this. @echo off @@ -28,14 +32,9 @@ set GENERATOR=%1 :: TODO IDEA: Take more user-friendly VS generators and convert them to the CMake ones? :: F.ex. "vs2013-32" and/or "vc14-64" -:: TODO Print CMake and VS versions. Maybe in build-deps.cmd would be better than here. - :: Supported Visual Studio versions: set GENERATORS[0]="Visual Studio 14 2015" set GENERATORS[1]="Visual Studio 14 2015 Win64" -:: TODO Check CMake version and convert possible new format (>= 3.0) generator names -:: to the old versions if using older CMake for VS <= 2013, -:: see http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html#other-changes set GENERATORS[2]="Visual Studio 12 2013" set GENERATORS[3]="Visual Studio 12 2013 Win64" set GENERATORS[4]="Visual Studio 11 2012" @@ -55,6 +54,10 @@ FOR /l %%i in (0,1,9) DO ( IF !GENERATOR!==!GENERATORS[%%i]! GOTO :GeneratorValid ) call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'". Cannot proceed, aborting!" +echo Supported CMake generator strings: +FOR /l %%i in (0,1,9) DO ( + echo !GENERATORS[%%i]! +) exit /b 1 :GeneratorValid @@ -82,6 +85,18 @@ FOR %%i IN (%GENERATOR_SPLIT%) DO ( ) ) +:: Check CMake version and convert possible new format (>= 3.0) generator names to the old versions if using older CMake for VS <= 2013, +:: see http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html#other-changes +FOR /f "delims=" %%i in ('where cmake') DO set CMAKE_PATH=%%i +IF NOT "%CMAKE_PATH%"=="" ( + FOR /f "delims=" %%i in ('cmake --version ^| findstr /C:"cmake version 3"') DO GOTO :CMake3AndNewer +) +:: CMake older than 3.0.0: convert new format generators to the old format (simple brute force for simplicity) +set GENERATOR=%GENERATOR: 2013=% +set GENERATOR=%GENERATOR: 2012=% +set GENERATOR=%GENERATOR: 2010=% +:CMake3AndNewer + :: VS project file extension is different on older VS versions set VCPROJ_FILE_EXT=vcxproj IF %VS_VER%==2008 set VCPROJ_FILE_EXT=vcproj From 2dc5cd44b7bb74ff760b0f2953c4b2e4a0329491 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 23 Nov 2015 15:52:12 +0200 Subject: [PATCH 041/157] Enable warning C4100 ("'identifier' : unreferenced formal parameter") and fix warnings. --- cmake/CMakeLists.txt | 15 +++++++------ src/examples/IfcOpenHouse.cpp | 2 +- src/ifcconvert/ColladaSerializer.h | 2 +- src/ifcconvert/IfcConvert.cpp | 2 ++ src/ifcconvert/IgesSerializer.h | 3 +-- src/ifcconvert/OpenCascadeBasedSerializer.h | 3 +-- src/ifcconvert/StepSerializer.h | 3 +-- src/ifcconvert/SvgSerializer.h | 6 ++---- src/ifcconvert/WavefrontObjSerializer.h | 4 ++-- src/ifcgeomserver/IfcGeomServer.cpp | 20 ++++++++--------- src/ifcparse/IfcParse.cpp | 6 ++++-- src/ifcparse/IfcSpfHeader.h | 4 ++-- src/ifcparse/IfcUtil.h | 2 +- src/ifcparse/IfcWrite.cpp | 24 ++++++++++----------- 14 files changed, 48 insertions(+), 48 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 190c5c3e87..67ccc975d7 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -25,7 +25,7 @@ OPTION(UNICODE_SUPPORT "Build IfcOpenShell with Unicode support (requires ICU)." OPTION(COLLADA_SUPPORT "Build IfcConvert with COLLADA support (requires OpenCOLLADA)." ON) OPTION(ENABLE_BUILD_OPTIMIZATIONS "Enable certain compiler and linker optimizations on RelWithDebInfo and Release builds." OFF) #TODO OPTION(IFCCONVERT_DOUBLE_PRECISION "IfcConvert: Use double precision floating-point numbers." OFF) -OPTION(USE_IFC4 "Use IFC 4 instead of IFC 2x3" OFF) +OPTION(USE_IFC4 "Use IFC 4 instead of IFC 2x3 (full rebuild recommended when switching this)" OFF) OPTION(BUILD_IFCPYTHON "Build IfcPython." ON) OPTION(BUILD_EXAMPLES "Build example applications." ON) # TODO QtViewer is deprecated ATM as it uses the 0.4 API @@ -217,14 +217,15 @@ if(ENABLE_BUILD_OPTIMIZATIONS) endif() IF(MSVC) + # Enforce Unicode for CRT and Win32 API calls + ADD_DEFINITIONS(-D_UNICODE -DUNICODE) # Disable warnings about unsafe C functions; we could use the safe C99 & C11 versions if we have no need for supporting old compilers. - ADD_DEFINITIONS(-D_UNICODE -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS) + ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS) ADD_DEFINITIONS(-bigobj) # required for building the big ifcXXX.objs, https://msdn.microsoft.com/en-us/library/ms173499.aspx - # Bump up the warning level from the default 3 to 4. Disable warning C4100 ("'identifier' : unreferenced formal parameter") - # (too much spam) - ADD_DEFINITIONS(-W4 -wd4100) - # and on VS > 2013 C4458 ("declaration of 'indentifier' hides class member") (overeager and false positives), at least for now. - IF(MSVC_VERSION GREATER 1800) + # Bump up the warning level from the default 3 to 4. + ADD_DEFINITIONS(-W4) + IF(MSVC_VERSION GREATER 1800) # > 2013 + # Disable overeager and false positives causing C4458 ("declaration of 'indentifier' hides class member"), at least for now. ADD_DEFINITIONS(-wd4458) ENDIF() # Link against the static VC runtime diff --git a/src/examples/IfcOpenHouse.cpp b/src/examples/IfcOpenHouse.cpp index 9f4887c5f9..997ef8b58c 100644 --- a/src/examples/IfcOpenHouse.cpp +++ b/src/examples/IfcOpenHouse.cpp @@ -50,7 +50,7 @@ boost::none_t const null = boost::none; // The creation of Nurbs-surface for the IfcSite mesh, to be implemented lateron void createGroundShape(TopoDS_Shape& shape); -int main(int argc, char** argv) { +int main() { // The IfcHierarchyHelper is a subclass of the regular IfcFile that provides several // convenience functions for working with geometry in IFC files. diff --git a/src/ifcconvert/ColladaSerializer.h b/src/ifcconvert/ColladaSerializer.h index 350a3e58b5..cf3a35e733 100644 --- a/src/ifcconvert/ColladaSerializer.h +++ b/src/ifcconvert/ColladaSerializer.h @@ -165,7 +165,7 @@ public: bool ready(); void writeHeader(); void write(const IfcGeom::TriangulationElement* o); - void write(const IfcGeom::BRepElement* o) {} + void write(const IfcGeom::BRepElement* /*o*/) {} void finalize(); bool isTesselated() const { return true; } void setUnitNameAndMagnitude(const std::string& name, float magnitude) { diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 88225a47fe..6cc649bad2 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -42,6 +42,8 @@ #include "../ifcconvert/XmlSerializer.h" #include "../ifcconvert/SvgSerializer.h" +#include + static std::string DEFAULT_EXTENSION = "obj"; void printVersion() { diff --git a/src/ifcconvert/IgesSerializer.h b/src/ifcconvert/IgesSerializer.h index 8591af9902..7536008d44 100644 --- a/src/ifcconvert/IgesSerializer.h +++ b/src/ifcconvert/IgesSerializer.h @@ -20,7 +20,6 @@ #ifndef IGESSERIALIZER_H #define IGESSERIALIZER_H -#include #include #include @@ -43,7 +42,7 @@ public: void finalize() { writer.Write(out_filename.c_str()); } - void setUnitNameAndMagnitude(const std::string& name, float magnitude) { + void setUnitNameAndMagnitude(const std::string& /*name*/, float magnitude) { const char* symbol = getSymbolForUnitMagnitude(magnitude); if (symbol) { Interface_Static::SetCVal("write.iges.unit", symbol); diff --git a/src/ifcconvert/OpenCascadeBasedSerializer.h b/src/ifcconvert/OpenCascadeBasedSerializer.h index f6fd39fb82..6ee69635a4 100644 --- a/src/ifcconvert/OpenCascadeBasedSerializer.h +++ b/src/ifcconvert/OpenCascadeBasedSerializer.h @@ -37,10 +37,9 @@ public: {} virtual ~OpenCascadeBasedSerializer() {} void writeHeader() {} - void writeMaterial(const IfcGeom::SurfaceStyle& style) {} bool ready(); virtual void writeShape(const TopoDS_Shape& shape) = 0; - void write(const IfcGeom::TriangulationElement* o) {} + void write(const IfcGeom::TriangulationElement* /*o*/) {} void write(const IfcGeom::BRepElement* o); bool isTesselated() const { return false; } void setFile(IfcParse::IfcFile*) {} diff --git a/src/ifcconvert/StepSerializer.h b/src/ifcconvert/StepSerializer.h index 4667104a38..5e1493a020 100644 --- a/src/ifcconvert/StepSerializer.h +++ b/src/ifcconvert/StepSerializer.h @@ -20,7 +20,6 @@ #ifndef STEPSERIALIZER_H #define STEPSERIALIZER_H -#include #include #include @@ -49,7 +48,7 @@ public: writer.Write(out_filename.c_str()); std::cout.rdbuf(sb); } - void setUnitNameAndMagnitude(const std::string& name, float magnitude) { + void setUnitNameAndMagnitude(const std::string& /*name*/, float magnitude) { const char* symbol = getSymbolForUnitMagnitude(magnitude); if (symbol) { Interface_Static::SetCVal("write.step.unit", symbol); diff --git a/src/ifcconvert/SvgSerializer.h b/src/ifcconvert/SvgSerializer.h index 2efb632b6d..1c553e451d 100644 --- a/src/ifcconvert/SvgSerializer.h +++ b/src/ifcconvert/SvgSerializer.h @@ -35,7 +35,6 @@ class SvgSerializer : public GeometrySerializer { public: typedef std::pair > path_object; protected: - const char* getSymbolForUnitMagnitude(float mag); std::ofstream svg_file; double xmin, ymin, xmax, ymax, width, height; boost::optional section_height; @@ -62,15 +61,14 @@ public: virtual void growBoundingBox(double x, double y) { if (x < xmin) xmin = x; if (x > xmax) xmax = x; if (y < ymin) ymin = y; if (y > ymax) ymax = y; } virtual ~SvgSerializer() {} virtual void writeHeader(); - virtual void writeMaterial(const IfcGeom::SurfaceStyle& style) {} virtual bool ready(); - virtual void write(const IfcGeom::TriangulationElement* o) {} + virtual void write(const IfcGeom::TriangulationElement* /*o*/) {} virtual void write(const IfcGeom::BRepElement* o); virtual void write(path_object& p, const TopoDS_Wire& wire); virtual path_object& start_path(IfcSchema::IfcBuildingStorey* storey, const std::string& id); virtual bool isTesselated() const { return false; } virtual void finalize(); - virtual void setUnitNameAndMagnitude(const std::string& name, float magnitude) {} + virtual void setUnitNameAndMagnitude(const std::string& /*name*/, float /*magnitude*/) {} virtual void setFile(IfcParse::IfcFile* f) { file = f; } virtual void setBoundingRectangle(double width, double height); virtual void setSectionHeight(double h) { section_height = h; } diff --git a/src/ifcconvert/WavefrontObjSerializer.h b/src/ifcconvert/WavefrontObjSerializer.h index 7cb67909d2..1b1ae7d69d 100644 --- a/src/ifcconvert/WavefrontObjSerializer.h +++ b/src/ifcconvert/WavefrontObjSerializer.h @@ -46,10 +46,10 @@ public: void writeHeader(); void writeMaterial(const IfcGeom::Material& style); void write(const IfcGeom::TriangulationElement* o); - void write(const IfcGeom::BRepElement* o) {} + void write(const IfcGeom::BRepElement* /*o*/) {} void finalize() {} bool isTesselated() const { return true; } - void setUnitNameAndMagnitude(const std::string& name, float magnitude) {} + void setUnitNameAndMagnitude(const std::string& /*name*/, float /*magnitude*/) {} void setFile(IfcParse::IfcFile*) {} }; diff --git a/src/ifcgeomserver/IfcGeomServer.cpp b/src/ifcgeomserver/IfcGeomServer.cpp index ec8bf075b6..fa3a356b4d 100644 --- a/src/ifcgeomserver/IfcGeomServer.cpp +++ b/src/ifcgeomserver/IfcGeomServer.cpp @@ -156,16 +156,16 @@ public: class Get : public Command { protected: - void read_content(std::istream& s) {} - void write_content(std::ostream& s) {} + void read_content(std::istream& /*s*/) {} + void write_content(std::ostream& /*s*/) {} public: Get() : Command(GET) {}; }; class GetLog : public Command { protected: - void read_content(std::istream& s) {} - void write_content(std::ostream& s) {} + void read_content(std::istream& /*s*/) {} + void write_content(std::ostream& /*s*/) {} public: GetLog() : Command(GET_LOG) {}; }; @@ -189,7 +189,7 @@ private: const IfcGeom::TriangulationElement* geom; bool append_line_data; protected: - void read_content(std::istream& s) {} + void read_content(std::istream& /*s*/) {} void write_content(std::ostream& s) { swrite(s, geom->id()); swrite(s, geom->guid()); @@ -268,21 +268,21 @@ public: class Next : public Command { protected: - void read_content(std::istream& s) {} - void write_content(std::ostream& s) {} + void read_content(std::istream& /*s*/) {} + void write_content(std::ostream& /*s*/) {} public: Next() : Command(NEXT) {}; }; class Bye : public Command { protected: - void read_content(std::istream& s) {} - void write_content(std::ostream& s) {} + void read_content(std::istream& /*s*/) {} + void write_content(std::ostream& /*s*/) {} public: Bye() : Command(BYE) {}; }; -int main (int argc, char** argv) { +int main () { // Redirect stdout to this stream, so that involuntary // writes to stdout do not interfere with our protocol. std::ostringstream oss; diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index 3a313b7603..f5bcb67237 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -143,6 +143,8 @@ void IfcSpfStream::ReadBuffer(bool inc) { offset += len; fseek(stream, offset, SEEK_SET); } +#else + (void)inc; #endif eof = feof(stream) != 0; if ( eof ) return; @@ -731,7 +733,7 @@ TokenArgument::operator std::vector< std::vector >() const { throw IfcExcep TokenArgument::operator std::vector< std::vector >() const { throw IfcException("Argument is not a list of list of floats"); } TokenArgument::operator IfcEntityListList::ptr() const { throw IfcException("Argument is not a list of list of entity instances"); } unsigned int TokenArgument::size() const { return 1; } -Argument* TokenArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of attributes"); } +Argument* TokenArgument::operator [] (unsigned int /*i*/) const { throw IfcException("Argument is not a list of attributes"); } std::string TokenArgument::toString(bool upper) const { if ( upper && TokenFunc::isString(token) ) { return IfcWrite::IfcCharacterEncoder(TokenFunc::asString(token)); @@ -763,7 +765,7 @@ EntityArgument::operator std::vector< std::vector >() const { throw IfcExce EntityArgument::operator std::vector< std::vector >() const { throw IfcException("Argument is not a list of list of floats"); } EntityArgument::operator IfcEntityListList::ptr() const { throw IfcException("Argument is not a list of list of entity instances"); } unsigned int EntityArgument::size() const { return 1; } -Argument* EntityArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); } +Argument* EntityArgument::operator [] (unsigned int /*i*/) const { throw IfcException("Argument is not a list of arguments"); } std::string EntityArgument::toString(bool upper) const { return entity->entity->toString(upper); } diff --git a/src/ifcparse/IfcSpfHeader.h b/src/ifcparse/IfcSpfHeader.h index 0fca7678be..0b349003f5 100644 --- a/src/ifcparse/IfcSpfHeader.h +++ b/src/ifcparse/IfcSpfHeader.h @@ -68,7 +68,7 @@ public: return (*_list)[i]; } - IfcEntityList::ptr getInverse(IfcSchema::Type::Enum type, int attribute_index) { + IfcEntityList::ptr getInverse(IfcSchema::Type::Enum /*type*/, int /*attribute_index*/) { return IfcEntityList::ptr(new IfcEntityList); } @@ -84,7 +84,7 @@ public: return (IfcSchema::Type::Enum) -1; } - bool is(IfcSchema::Type::Enum v) const { + bool is(IfcSchema::Type::Enum /*v*/) const { return false; } diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index cbf18333e0..cc0548d149 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -100,7 +100,7 @@ namespace IfcUtil { unsigned int getArgumentCount() const; Argument* getArgument(unsigned int i) const; const char* getArgumentName(unsigned int i) const; - IfcSchema::Type::Enum getArgumentEntity(unsigned int i) const { return IfcSchema::Type::UNDEFINED; } + IfcSchema::Type::Enum getArgumentEntity(unsigned int /*i*/) const { return IfcSchema::Type::UNDEFINED; } }; bool valid_binary_string(const std::string& s); diff --git a/src/ifcparse/IfcWrite.cpp b/src/ifcparse/IfcWrite.cpp index 74628b7432..fd7739ebed 100644 --- a/src/ifcparse/IfcWrite.cpp +++ b/src/ifcparse/IfcWrite.cpp @@ -289,21 +289,21 @@ void IfcWritableEntity::setArgument(int i,const std::vector< boost::dynamic_bits class SizeVisitor : public boost::static_visitor { public: - int operator()(const boost::none_t& i) const { return -1; } - int operator()(const IfcWriteArgument::Derived& i) const { return -1; } - int operator()(const int& i) const { return -1; } - int operator()(const bool& i) const { return -1; } - int operator()(const double& i) const { return -1; } - int operator()(const std::string& i) const { return -1; } - int operator()(const boost::dynamic_bitset<>& i) const { return -1; } + int operator()(const boost::none_t& /*i*/) const { return -1; } + int operator()(const IfcWriteArgument::Derived& /*i*/) const { return -1; } + int operator()(const int& /*i*/) const { return -1; } + int operator()(const bool& /*i*/) const { return -1; } + int operator()(const double& /*i*/) const { return -1; } + int operator()(const std::string& /*i*/) const { return -1; } + int operator()(const boost::dynamic_bitset<>& /*i*/) const { return -1; } int operator()(const std::vector& i) const { return (int)i.size(); } int operator()(const std::vector& i) const { return (int)i.size(); } int operator()(const std::vector< std::vector >& i) const { return (int)i.size(); } int operator()(const std::vector< std::vector >& i) const { return (int)i.size(); } int operator()(const std::vector& i) const { return (int)i.size(); } int operator()(const std::vector< boost::dynamic_bitset<> >& i) const { return (int)i.size(); } - int operator()(const IfcWriteArgument::EnumerationReference& i) const { return -1; } - int operator()(const IfcUtil::IfcBaseClass* const& i) const { return -1; } + int operator()(const IfcWriteArgument::EnumerationReference& /*i*/) const { return -1; } + int operator()(const IfcUtil::IfcBaseClass* const& /*i*/) const { return -1; } int operator()(const IfcEntityList::ptr& i) const { return i->size(); } int operator()(const IfcEntityListList::ptr& i) const { return i->size(); } }; @@ -371,8 +371,8 @@ private: public: StringBuilderVisitor(std::ostringstream& stream, bool upper = false) : data(stream), upper(upper) {} - void operator()(const boost::none_t& i) { data << "$"; } - void operator()(const IfcWriteArgument::Derived& i) { data << "*"; } + void operator()(const boost::none_t& /*i*/) { data << "$"; } + void operator()(const IfcWriteArgument::Derived& /*i*/) { data << "*"; } void operator()(const int& i) { data << i; } void operator()(const bool& i) { data << (i ? ".T." : ".F."); } void operator()(const double& i) { data << format_double(i); } @@ -502,7 +502,7 @@ IfcWriteArgument::operator std::vector< std::vector >() const { return as >() const { return as > >(); } IfcWriteArgument::operator IfcEntityListList::ptr() const { throw; } bool IfcWriteArgument::isNull() const { return type() == IfcUtil::Argument_NULL; } -Argument* IfcWriteArgument::operator [] (unsigned int i) const { throw IfcParse::IfcException("Invalid cast"); } +Argument* IfcWriteArgument::operator [] (unsigned int /*i*/) const { throw IfcParse::IfcException("Invalid cast"); } std::string IfcWriteArgument::toString(bool upper) const { std::ostringstream str; str.imbue(std::locale::classic()); From bf292cccd00e9f2dc5232f035a9357233d95982b Mon Sep 17 00:00:00 2001 From: aothms Date: Mon, 30 Nov 2015 22:59:21 +0100 Subject: [PATCH 042/157] Precision fixes --- src/ifcconvert/WavefrontObjSerializer.cpp | 7 +++++-- src/ifcparse/IfcWrite.cpp | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ifcconvert/WavefrontObjSerializer.cpp b/src/ifcconvert/WavefrontObjSerializer.cpp index 19643be430..6244b001fa 100644 --- a/src/ifcconvert/WavefrontObjSerializer.cpp +++ b/src/ifcconvert/WavefrontObjSerializer.cpp @@ -17,12 +17,13 @@ * * ********************************************************************************/ +#include +#include + #include "../ifcgeom/IfcGeomRenderStyles.h" #include "WavefrontObjSerializer.h" -#include - bool WaveFrontOBJSerializer::ready() { return obj_stream.is_open() && mtl_stream.is_open(); } @@ -70,6 +71,8 @@ void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* obj_stream << "g " << o->unique_id() << "\n"; obj_stream << "s 1" << "\n"; + obj_stream << std::setprecision(std::numeric_limits::digits10); + const IfcGeom::Representation::Triangulation& mesh = o->geometry(); const int vcount = mesh.verts().size() / 3; diff --git a/src/ifcparse/IfcWrite.cpp b/src/ifcparse/IfcWrite.cpp index 86486ed992..f324742389 100644 --- a/src/ifcparse/IfcWrite.cpp +++ b/src/ifcparse/IfcWrite.cpp @@ -19,6 +19,7 @@ #include #include +#include #include @@ -327,7 +328,7 @@ private: std::string format_double(const double& d) { std::ostringstream oss; oss.imbue(std::locale::classic()); - oss << std::setprecision(15) << d; + oss << std::setprecision(std::numeric_limits::digits10) << d; const std::string str = oss.str(); oss.str(""); std::string::size_type e = str.find('e'); From b6e2d78bfa09dffb90b60f7b0261994a9be9d6ec Mon Sep 17 00:00:00 2001 From: aothms Date: Mon, 30 Nov 2015 23:41:27 +0100 Subject: [PATCH 043/157] Catch syntax errors during iterator initialization --- src/ifcgeom/IfcGeomIterator.h | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index 70e24234ac..a2b6cb9e34 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -180,13 +180,15 @@ namespace IfcGeom { // by the parent's context inverse attributes. continue; } - if (context->hasContextType()) { - std::string context_type = context->ContextType(); - boost::to_lower(context_type); - if (context_types.find(context_type) != context_types.end()) { - filtered_contexts->push(context); + try { + if (context->hasContextType()) { + std::string context_type = context->ContextType(); + boost::to_lower(context_type); + if (context_types.find(context_type) != context_types.end()) { + filtered_contexts->push(context); + } } - } + } catch (const IfcParse::IfcException&) {} } // In case no contexts are identified based on their ContextType, all contexts are @@ -204,10 +206,12 @@ namespace IfcGeom { IfcSchema::IfcGeometricRepresentationContext* context = *it; representations->push(context->RepresentationsInContext()); - if (context->hasPrecision() && context->Precision() < lowest_precision_encountered) { - lowest_precision_encountered = context->Precision(); - any_precision_encountered = true; - } + try { + if (context->hasPrecision() && context->Precision() < lowest_precision_encountered) { + lowest_precision_encountered = context->Precision(); + any_precision_encountered = true; + } + } catch (const IfcParse::IfcException&) {} IfcSchema::IfcGeometricRepresentationSubContext::list::ptr sub_contexts = context->HasSubContexts(); for (jt = sub_contexts->begin(); jt != sub_contexts->end(); ++jt) { representations->push((*jt)->RepresentationsInContext()); From e62ce005dc2fe801e97d78dc837555f2d7212aea Mon Sep 17 00:00:00 2001 From: aothms Date: Tue, 1 Dec 2015 11:14:50 +0100 Subject: [PATCH 044/157] Work on unit issues with step and iges files --- src/ifcconvert/IgesSerializer.h | 1 + src/ifcconvert/OpenCascadeBasedSerializer.cpp | 6 ++++++ src/ifcconvert/StepSerializer.h | 1 + 3 files changed, 8 insertions(+) diff --git a/src/ifcconvert/IgesSerializer.h b/src/ifcconvert/IgesSerializer.h index 8591af9902..fccb0a09f1 100644 --- a/src/ifcconvert/IgesSerializer.h +++ b/src/ifcconvert/IgesSerializer.h @@ -46,6 +46,7 @@ public: void setUnitNameAndMagnitude(const std::string& name, float magnitude) { const char* symbol = getSymbolForUnitMagnitude(magnitude); if (symbol) { + Interface_Static::SetCVal("xstep.cascade.unit", symbol); Interface_Static::SetCVal("write.iges.unit", symbol); } } diff --git a/src/ifcconvert/OpenCascadeBasedSerializer.cpp b/src/ifcconvert/OpenCascadeBasedSerializer.cpp index 3dc8ad9386..2dbb642c3d 100644 --- a/src/ifcconvert/OpenCascadeBasedSerializer.cpp +++ b/src/ifcconvert/OpenCascadeBasedSerializer.cpp @@ -42,6 +42,12 @@ void OpenCascadeBasedSerializer::write(const IfcGeom::BRepElement* o) { const gp_Trsf& o_trsf = o->transformation().data(); gtrsf.PreMultiply(o_trsf); + + if (o->geometry().settings().convert_back_units()) { + gp_Trsf scale; + scale.SetScaleFactor(1.0 / o->geometry().settings().unit_magnitude()); + gtrsf.PreMultiply(scale); + } const TopoDS_Shape& s = it->Shape(); diff --git a/src/ifcconvert/StepSerializer.h b/src/ifcconvert/StepSerializer.h index 4667104a38..9d8ca7b211 100644 --- a/src/ifcconvert/StepSerializer.h +++ b/src/ifcconvert/StepSerializer.h @@ -52,6 +52,7 @@ public: void setUnitNameAndMagnitude(const std::string& name, float magnitude) { const char* symbol = getSymbolForUnitMagnitude(magnitude); if (symbol) { + Interface_Static::SetCVal("xstep.cascade.unit", symbol); Interface_Static::SetCVal("write.step.unit", symbol); } } From 0877bb0ac30855070a73bb28d25d65a94d861e3d Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 1 Dec 2015 14:47:49 +0200 Subject: [PATCH 045/157] Windows build scripts: if CMake generator not passed, deduce the generator from VS env vars. --- README.md | 10 +++++----- win/readme.md | 20 +++++++++++--------- win/run-cmake.bat | 3 ++- win/vs-cfg.cmd | 48 +++++++++++++++++++++++++++++++---------------- 4 files changed, 50 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 5971672c77..42c444def6 100644 --- a/README.md +++ b/README.md @@ -34,16 +34,16 @@ the cmake/ folder. The preferred way to fetch and build this project's dependencies is to use the build scripts in win/ folder. See [win/readme.md] for more information. Instructions in a nutshell -(assuming Visual Studio x64 environment variables set): +(**assuming Visual Studio 2015 x64 environment variables set**): > git clone https://github.com/IfcOpenShell/IfcOpenShell.git > cd oce\win - > build-deps.cmd (defaults to using VS 2015 x64 RelWithDebInfo build) - > run-cmake.bat (defaults to using VS 2015 x64) + > build-deps.cmd (defaults to RelWithDebInfo build) + > run-cmake.bat > ..\build-vs2015-x64\IfcOpenShell.sln -You can now build the solution using the RelWithDebInfo configuration (freshly created solution by CMake defaults to Debug). -Build the INSTALL project to deploy the headers and binaries into a single location if wanted/needed. +You can now build the solution using the `RelWithDebInfo` configuration (freshly created solution by CMake defaults to `Debug`). +Build the `INSTALL` project to deploy the headers and binaries into a single location if wanted/needed. Alternatively, the old Visual Studio solution and project files requiring manual work can be found from the win/sln folder. diff --git a/win/readme.md b/win/readme.md index 0b7e8a3d9e..aa232dd260 100644 --- a/win/readme.md +++ b/win/readme.md @@ -14,19 +14,21 @@ the requirements for a successful execution. The script allows a few user-config which are listed in the usage instructions. Either edit the script file or set these values before running the script. -`build-deps.cmd` expects a CMake generator as `%1` and a build configuration type as `%2`. If the parameters -are not provided, the default values are used (`"Visual Studio 14 2015 Win64"` and `RelWithDebInfo` respectively). -A build type (`Build/Rebuild/Clean`) can be provided as `%3`, if wanted (defaults to `Build`). See `vs-cfg.cmd` -if you want to change the defaults. The batch file will create `deps\` and `deps-vs--installed\` +`build-deps.cmd` expects a CMake generator as `%1` and a build configuration type (`RelWithDebInfo/Release/MinSizeRel/Debug`, +defaults to `RelWithDebInfo`) as `%2`. If the generator is not provided, the generator is deduced from the Visual Studio +environment variables. A build type (`Build/Rebuild/Clean`, defaults to `Build`) can be provided as `%3`. See `vs-cfg.cmd` +if you wish to change the defaults. The batch file will create `deps\` and `deps-vs--installed\` directories to the project root. Debug and release builds of the depedencies can co-exist by simply running `build-deps.cmd Debug` and `build-deps.cmd `. -After the dependencies are build, execute `run-cmake.bat`. The batch file expects always a CMake generator as -`%1` (if not provided, the same default value as above is used), and the rest of possible parameters are passed as is. +After the dependencies are build, execute `run-cmake.bat`. The batch file expects always a CMake generator as `%1` +(if not provided, the same default value as above is used), and the rest of possible parameters are passed as is. +**If you wish to use any library from a custom location, modify the paths in `run-cmake.bat` accordingly**. The batch +script will create a folder of form `build-vs-\` which will contain the solution and project +files for Visual Studio. -The batch script will create a folder of form `build-vs-\` which will contain the solution and project files for Visual Studio. -**If you wish to use any library from a custom location, modify the paths in run-cmake.bat -accordingly**. +Note that building IfcOpenShell as 64-bit is recommended as many of real life IFC files has been observed to take +easily more than 2 GBs of RAM while converting. After this, one can build the project using the `IfcOpenShell.sln` file in the build folder. Build the `INSTALL` project if wanted. The project will be installed to `installed-vs-\` folder in the project's root diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 3ee00e731a..e689ea28ab 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -26,6 +26,7 @@ set PROJECT_NAME=IfcOpenShell setlocal EnableDelayedExpansion :: TODO Getting warning print in vs-cfg.cmd for missing build type although this script doesn't need it specified call vs-cfg.cmd %1 +IF NOT %ERRORLEVEL%==0 GOTO :Error :: Read Python related variables from BuildDepsCache.txt for /f "delims== tokens=1,2" %%G in (BuildDepsCache-%TARGET_ARCH%.txt) do set %%G=%%H @@ -103,7 +104,7 @@ goto :Finish :Error echo. -cecho {0C}An error occurred! Aborting!" +call %~dp0\utils\cecho.cmd 0 12 "An error occurred! Aborting!" goto :Finish :Finish diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index bcc6f6b996..3f8294699f 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -19,6 +19,8 @@ :: This script initializes various Visual Studio -related environment variables needed for building :: This batch file expects CMake generator as %1 and build configuration type as %2. +:: If %1 is not provided, it is deduced from the VisualStudioVersion environment variable and from the location of cl.exe. + :: NOTE This batch file expects the generator string to be CMake 3.0.0 and newer format, i.e. :: "Visual Studio 10 2010" instead of "Visual Studio 10". However, one can use this batch file :: also with CMake 2 as the generator will be converted into the older format if necessary. @@ -33,29 +35,43 @@ set GENERATOR=%1 :: F.ex. "vs2013-32" and/or "vc14-64" :: Supported Visual Studio versions: -set GENERATORS[0]="Visual Studio 14 2015" -set GENERATORS[1]="Visual Studio 14 2015 Win64" -set GENERATORS[2]="Visual Studio 12 2013" -set GENERATORS[3]="Visual Studio 12 2013 Win64" -set GENERATORS[4]="Visual Studio 11 2012" -set GENERATORS[5]="Visual Studio 11 2012 Win64" -set GENERATORS[6]="Visual Studio 10 2010" -set GENERATORS[7]="Visual Studio 10 2010 Win64" -set GENERATORS[8]="Visual Studio 9 2008" -set GENERATORS[9]="Visual Studio 9 2008 Win64" -set GENERATOR_DEFAULT=%GENERATORS[1]% +set GENERATORS[0]="Visual Studio 9 2008 Win64" +set GENERATORS[1]="Visual Studio 9 2008" +set GENERATORS[2]="Visual Studio 10 2010 Win64" +set GENERATORS[3]="Visual Studio 10 2010" +set GENERATORS[4]="Visual Studio 11 2012 Win64" +set GENERATORS[5]="Visual Studio 11 2012" +set GENERATORS[6]="Visual Studio 12 2013 Win64" +set GENERATORS[7]="Visual Studio 12 2013" +set GENERATORS[8]="Visual Studio 14 2015 Win64" +set GENERATORS[9]="Visual Studio 14 2015" +set LAST_GENERATOR_IDX=9 -IF "!GENERATOR!"=="" ( - set GENERATOR=%GENERATOR_DEFAULT% - call utils\cecho.cmd 0 14 "%~nx0: Warning: Generator not passed - using the default '`"%GENERATOR_DEFAULT%`'`t +REM Deduce desired architecture from the location of cl.exe +where cl.exe | findstr /r /c:"amd64" >nul +set START=%ERRORLEVEL% +set STEP=2 + +IF "!GENERATOR!"=="" IF NOT "%VisualStudioVersion%"=="" ( + set VC_VER=%VisualStudioVersion:.0=% + FOR /l %%i in (%START%,%STEP%,%LAST_GENERATOR_IDX%) DO ( + REM http://stackoverflow.com/a/8758579 + REM NOTE add space before VC_VER so that e.g. "12" doesn't match with "2012" + echo(!GENERATORS[%%i]! | findstr /r /c:" !VC_VER!" >nul && ( + set GENERATOR=!GENERATORS[%%i]! + call utils\cecho.cmd black cyan "Generator not passed, but VisualStudioVersion=%VisualStudioVersion% environment variable detected:" + call utils\cecho.cmd black cyan "using '`"!GENERATOR!`'" as the generator." + GOTO :GeneratorValid + ) + ) ) -FOR /l %%i in (0,1,9) DO ( +FOR /l %%i in (0,1,%LAST_GENERATOR_IDX%) DO ( IF !GENERATOR!==!GENERATORS[%%i]! GOTO :GeneratorValid ) call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'". Cannot proceed, aborting!" echo Supported CMake generator strings: -FOR /l %%i in (0,1,9) DO ( +FOR /l %%i in (0,1,%LAST_GENERATOR_IDX%) DO ( echo !GENERATORS[%%i]! ) exit /b 1 From 0301e2fb1bb6f997da3dd330d34f60ce7d4a38cb Mon Sep 17 00:00:00 2001 From: aothms Date: Wed, 2 Dec 2015 10:17:59 +0100 Subject: [PATCH 046/157] Emit an error message on extrusions with negative height or under model precision --- src/ifcgeom/IfcGeomShapes.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 896863805d..1ee17e9221 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -99,10 +99,15 @@ #include "../ifcgeom/IfcGeom.h" bool IfcGeom::Kernel::convert(const IfcSchema::IfcExtrudedAreaSolid* l, TopoDS_Shape& shape) { + const double height = l->Depth() * getValue(GV_LENGTH_UNIT); + if (height < getValue(GV_PRECISION)) { + Logger::Message(Logger::LOG_ERROR, "Non-positive extrusion height encountered for:", l); + return false; + } + TopoDS_Shape face; if ( !convert_face(l->SweptArea(),face) ) return false; - const double height = l->Depth() * getValue(GV_LENGTH_UNIT); gp_Trsf trsf; IfcGeom::Kernel::convert(l->Position(),trsf); From a2d91f93318ba2d15452fba6818ae12e763d45a7 Mon Sep 17 00:00:00 2001 From: aothms Date: Fri, 4 Dec 2015 11:56:54 +0100 Subject: [PATCH 047/157] Fix compilation error reported by bezumenez --- src/ifcgeom/IfcGeomShapes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 1ee17e9221..2402e1319d 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -101,7 +101,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcExtrudedAreaSolid* l, TopoDS_Shape& shape) { const double height = l->Depth() * getValue(GV_LENGTH_UNIT); if (height < getValue(GV_PRECISION)) { - Logger::Message(Logger::LOG_ERROR, "Non-positive extrusion height encountered for:", l); + Logger::Message(Logger::LOG_ERROR, "Non-positive extrusion height encountered for:", l->entity); return false; } From 3224a2cf83b3f6d42b579dc3d916dbabcca98e67 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 4 Dec 2015 17:01:33 +0200 Subject: [PATCH 048/157] build-ifcopenshell & install-ifcopenshell batch files --- README.md | 19 +++++++++++---- win/build-deps.cmd | 3 +-- win/build-ifcopenshell.cmd | 46 ++++++++++++++++++++++++++++++++++++ win/install-ifcopenshell.cmd | 46 ++++++++++++++++++++++++++++++++++++ win/readme.md | 8 +++++-- win/run-cmake.bat | 1 - win/vs-cfg.cmd | 2 ++ 7 files changed, 115 insertions(+), 10 deletions(-) create mode 100644 win/build-ifcopenshell.cmd create mode 100644 win/install-ifcopenshell.cmd diff --git a/README.md b/README.md index 42c444def6..696cd75be4 100644 --- a/README.md +++ b/README.md @@ -33,17 +33,26 @@ Users are advised to build IfcOpenShell using the CMake file provided in the cmake/ folder. The preferred way to fetch and build this project's dependencies is to use the build scripts -in win/ folder. See [win/readme.md] for more information. Instructions in a nutshell +in win/ folder. **See [win/readme.md] for more information**. Instructions in a nutshell (**assuming Visual Studio 2015 x64 environment variables set**): > git clone https://github.com/IfcOpenShell/IfcOpenShell.git - > cd oce\win - > build-deps.cmd (defaults to RelWithDebInfo build) + > cd IfcOpenShell\win + > build-deps.cmd > run-cmake.bat + +You can now open and build the solution file in Visual Studio: + > ..\build-vs2015-x64\IfcOpenShell.sln -You can now build the solution using the `RelWithDebInfo` configuration (freshly created solution by CMake defaults to `Debug`). -Build the `INSTALL` project to deploy the headers and binaries into a single location if wanted/needed. +As the scripts default to using the `RelWithDebInfo` configuration, and a freshly created solution by CMake defaults +to `Debug`, make sure to switch the used build configuration. Build the `INSTALL` project (right-click -> Project +Only) to deploy the headers and binaries into a single location if wanted/needed. + +Alternatively, one can use the utility batch files to build and install the project easily from the command-line: + + > build-ifcopenshell.cmd + > install-ifcopenshell.cmd Alternatively, the old Visual Studio solution and project files requiring manual work can be found from the win/sln folder. diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 5d48eec686..bc8e68768f 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -18,7 +18,7 @@ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: This batch file expects CMake generator as %1 and build configuration type as %2. If not provided, -:: the GENERATOR_DEFAULT will be used for %1 and BUILD_CFG_DEFAULT for %2 (both set in vs-cfg.cmd) +:: a deduced generator will be used for %1 and BUILD_CFG_DEFAULT for %2 (both set in vs-cfg.cmd) :: Optionally a build type (Build/Rebuild/Clean) can be passed as %3. @echo off @@ -72,7 +72,6 @@ set MSBUILD_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCS% /t:%BUILD_TYPE% REM /clp:ErrorsOnly;WarningsOnly :: Note BUILD_TYPE not passed, Clean e.g. wouldn't delete the installed files. set INSTALL_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCS% -set BUILD_DIR=build-vs%VS_VER%-%TARGET_ARCH% echo. diff --git a/win/build-ifcopenshell.cmd b/win/build-ifcopenshell.cmd new file mode 100644 index 0000000000..ac973b6e06 --- /dev/null +++ b/win/build-ifcopenshell.cmd @@ -0,0 +1,46 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: :: +:: This file is part of IfcOpenShell. :: +:: :: +:: IfcOpenShell is free software: you can redistribute it and/or modify :: +:: it under the terms of the Lesser GNU General Public License as published by :: +:: the Free Software Foundation, either version 3.0 of the License, or :: +:: (at your option) any later version. :: +:: :: +:: IfcOpenShell is distributed in the hope that it will be useful, :: +:: but WITHOUT ANY WARRANTY; without even the implied warranty of :: +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the :: +:: Lesser GNU General Public License for more details. :: +:: :: +:: You should have received a copy of the Lesser GNU General Public License :: +:: along with this program. If not, see . :: +:: :: +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: This batch file expects CMake generator as %1 and build configuration type as %2. If not provided, +:: a deduced generator will be used for %1 and BUILD_CFG_DEFAULT for %2 (both set in vs-cfg.cmd) +:: Possible extra parameters are passed for the MSBuild call. + +@echo off +set PROJECT_NAME=IfcOpenShell + +:: Enable the delayed environment variable expansion needed in VSConfig.cmd. +setlocal EnableDelayedExpansion +call vs-cfg.cmd %1 %2 +IF NOT %ERRORLEVEL%==0 GOTO :Error + +echo. +call cecho.cmd 0 13 "Building %VS_PLATFORM% %BUILD_CFG% %PROJECT_NAME%" +MSBuild ..\%BUILD_DIR%\%PROJECT_NAME%.sln /nologo /m /p:Platform=%VS_PLATFORM% /p:Configuration=%BUILD_CFG% %3 %4 %5 %6 %7 %8 %9 +IF NOT %ERRORLEVEL%==0 GOTO :Error + +echo. +call cecho.cmd 0 10 "%VS_PLATFORM% %BUILD_CFG% %PROJECT_NAME% build finished." +goto :End + +:Error +echo. +call %~dp0\utils\cecho.cmd 0 12 "%VS_PLATFORM% %BUILD_CFG% %PROJECT_NAME% build failed!" + +:End +endlocal diff --git a/win/install-ifcopenshell.cmd b/win/install-ifcopenshell.cmd new file mode 100644 index 0000000000..be2c348c13 --- /dev/null +++ b/win/install-ifcopenshell.cmd @@ -0,0 +1,46 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: :: +:: This file is part of IfcOpenShell. :: +:: :: +:: IfcOpenShell is free software: you can redistribute it and/or modify :: +:: it under the terms of the Lesser GNU General Public License as published by :: +:: the Free Software Foundation, either version 3.0 of the License, or :: +:: (at your option) any later version. :: +:: :: +:: IfcOpenShell is distributed in the hope that it will be useful, :: +:: but WITHOUT ANY WARRANTY; without even the implied warranty of :: +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the :: +:: Lesser GNU General Public License for more details. :: +:: :: +:: You should have received a copy of the Lesser GNU General Public License :: +:: along with this program. If not, see . :: +:: :: +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: This batch file expects CMake generator as %1 and build configuration type as %2. If not provided, +:: a deduced generator will be used for %1 and BUILD_CFG_DEFAULT for %2 (both set in vs-cfg.cmd) +:: Possible extra parameters are passed for the MSBuild call. + +@echo off +set PROJECT_NAME=IfcOpenShell + +:: Enable the delayed environment variable expansion needed in VSConfig.cmd. +setlocal EnableDelayedExpansion +call vs-cfg.cmd %1 %2 +IF NOT %ERRORLEVEL%==0 GOTO :Error + +echo. +call cecho.cmd 0 13 "Installing %VS_PLATFORM% %BUILD_CFG% %PROJECT_NAME%" +MSBuild ..\%BUILD_DIR%\INSTALL.%VCPROJ_FILE_EXT% /nologo /m /p:Platform=%VS_PLATFORM% /p:Configuration=%BUILD_CFG% %3 %4 %5 %6 %7 %8 %9 +IF NOT %ERRORLEVEL%==0 GOTO :Error + +echo. +call cecho.cmd 0 10 "%VS_PLATFORM% %BUILD_CFG% %PROJECT_NAME% installation finished." +goto :End + +:Error +echo. +call %~dp0\utils\cecho.cmd 0 12 "%VS_PLATFORM% %BUILD_CFG% %PROJECT_NAME% installation failed!" + +:End +endlocal diff --git a/win/readme.md b/win/readme.md index aa232dd260..89a6922be0 100644 --- a/win/readme.md +++ b/win/readme.md @@ -31,8 +31,10 @@ Note that building IfcOpenShell as 64-bit is recommended as many of real life IF easily more than 2 GBs of RAM while converting. After this, one can build the project using the `IfcOpenShell.sln` file in the build folder. Build the `INSTALL` project -if wanted. The project will be installed to `installed-vs-\` folder in the project's root -folder and the required IfcOpenShell-Python parts are deployed to the `\Lib\site-packages\` folder. +if wanted. Convenience batch files `build-ifcopenshell.cmd` and `install-ifcopenshell.cmd` can also be used. The batch files +expect `%1` and `%2` in same fashion as above and possible extra parameters are passed for the `MSBuild`call. The project will +be installed to `installed-vs-\` folder in the project's root folder and the required IfcOpenShell-Python +parts are deployed to the `\Lib\site-packages\` folder. **Note:** All of the dependencies are build as static libraries against the static run-time allowing the developer to effortlessly deploy standalone IFCOS binaries. @@ -49,6 +51,8 @@ Directory Structure \---win | build-deps.cmd - Fetches and builds all needed dependencies for IFCOS | BuildDepsCache-.txt - Cache file created by build-deps.cmd +| build-ifcopenshell.cmd - Builds IFCOS +| install-ifcopenshell.cmd - Builds IFCOS's INSTALL project | readme.md - This file | run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS | vs-cfg.cmd - Utility file used by the build scripts diff --git a/win/run-cmake.bat b/win/run-cmake.bat index e689ea28ab..6594a2812b 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -35,7 +35,6 @@ pushd .. set CMAKE_INSTALL_PREFIX=%CD%\installed-vs%VS_VER%-%TARGET_ARCH% popd -set BUILD_DIR=build-vs%VS_VER%-%TARGET_ARCH% IF NOT EXIST ..\%BUILD_DIR%. mkdir ..\%BUILD_DIR% pushd ..\%BUILD_DIR% diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index 3f8294699f..21677b9610 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -166,6 +166,8 @@ pushd .. set DEPS_DIR=%CD%\deps set INSTALL_DIR=%CD%\deps-vs%VS_VER%-%TARGET_ARCH%-installed REM set INSTALL_DIR=%CD%\deps-vs%VS_VER%-%TARGET_ARCH%-%DEBUG_OR_RELEASE_LOWERCASE%-installed +:: BUILD_DIR is a relative build directory used for CMake-based projects +set BUILD_DIR=build-vs%VS_VER%-%TARGET_ARCH% popd GOTO :EOF From b243572d231f12d19808d792f5806916bcb79448 Mon Sep 17 00:00:00 2001 From: aothms Date: Sat, 5 Dec 2015 17:14:10 +0100 Subject: [PATCH 049/157] Don't fail on opening elements lacking representation or placement --- src/ifcgeom/IfcGeomFunctions.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 51e6584e12..fe0bf7b00e 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -160,10 +160,15 @@ bool IfcGeom::Kernel::convert_openings(const IfcSchema::IfcProduct* entity, cons IfcSchema::IfcRelVoidsElement* v = *it; IfcSchema::IfcFeatureElementSubtraction* fes = v->RelatedOpeningElement(); if ( fes->is(IfcSchema::Type::IfcOpeningElement) ) { + if (!fes->hasRepresentation()) continue; // Convert the IfcRepresentation of the IfcOpeningElement gp_Trsf opening_trsf; - IfcGeom::Kernel::convert(fes->ObjectPlacement(),opening_trsf); + if (fes->hasObjectPlacement()) { + try { + convert(fes->ObjectPlacement(),opening_trsf); + } catch (...) {} + } // Move the opening into the coordinate system of the IfcProduct opening_trsf.PreMultiply(entity_trsf.Inverted()); @@ -303,10 +308,15 @@ bool IfcGeom::Kernel::convert_openings_fast(const IfcSchema::IfcProduct* entity, IfcSchema::IfcRelVoidsElement* v = *it; IfcSchema::IfcFeatureElementSubtraction* fes = v->RelatedOpeningElement(); if ( fes->is(IfcSchema::Type::IfcOpeningElement) ) { + if (!fes->hasRepresentation()) continue; // Convert the IfcRepresentation of the IfcOpeningElement gp_Trsf opening_trsf; - IfcGeom::Kernel::convert(fes->ObjectPlacement(),opening_trsf); + if (fes->hasObjectPlacement()) { + try { + convert(fes->ObjectPlacement(),opening_trsf); + } catch (...) {} + } // Move the opening into the coordinate system of the IfcProduct opening_trsf.PreMultiply(entity_trsf.Inverted()); From e2d3b3734f196894deb1f1ca263c54d2dbc02cd7 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 7 Dec 2015 16:30:08 +0200 Subject: [PATCH 050/157] Use IFCOS_NUM_BUILD_PROCS also in build-ifcopenshell.cmd and install-ifcopenshell.cmd. --- win/build-deps.cmd | 2 +- win/build-ifcopenshell.cmd | 8 +++++++- win/install-ifcopenshell.cmd | 8 +++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index bc8e68768f..0cc6b53086 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -106,7 +106,7 @@ echo - Use Python 2 instead of 3. echo Set to TRUE if you wish to use Python 2 instead of 3. Has no effect if IFCOS_INSTALL_PYTHON is not TRUE. call cecho.cmd 0 13 "* IFCOS_NUM_BUILD_PROCS`t= %IFCOS_NUM_BUILD_PROCS%" echo - How many MSBuild.exe processes may be run in parallel. -echo Defaults to NUMBER_OF_PROCESSORS. +echo Defaults to NUMBER_OF_PROCESSORS. Used also by other IfcOpenShell build scripts. echo. call :PrintUsage diff --git a/win/build-ifcopenshell.cmd b/win/build-ifcopenshell.cmd index ac973b6e06..c08858ae85 100644 --- a/win/build-ifcopenshell.cmd +++ b/win/build-ifcopenshell.cmd @@ -23,6 +23,7 @@ @echo off set PROJECT_NAME=IfcOpenShell +echo. :: Enable the delayed environment variable expansion needed in VSConfig.cmd. setlocal EnableDelayedExpansion @@ -30,8 +31,13 @@ call vs-cfg.cmd %1 %2 IF NOT %ERRORLEVEL%==0 GOTO :Error echo. +IF "%IFCOS_NUM_BUILD_PROCS%"=="" set IFCOS_NUM_BUILD_PROCS=%NUMBER_OF_PROCESSORS% +call cecho.cmd 0 13 "* IFCOS_NUM_BUILD_PROCS`t= %IFCOS_NUM_BUILD_PROCS%" +echo. + call cecho.cmd 0 13 "Building %VS_PLATFORM% %BUILD_CFG% %PROJECT_NAME%" -MSBuild ..\%BUILD_DIR%\%PROJECT_NAME%.sln /nologo /m /p:Platform=%VS_PLATFORM% /p:Configuration=%BUILD_CFG% %3 %4 %5 %6 %7 %8 %9 +MSBuild ..\%BUILD_DIR%\%PROJECT_NAME%.sln /nologo /m:%IFCOS_NUM_BUILD_PROCS% /p:Platform=%VS_PLATFORM% ^ + /p:Configuration=%BUILD_CFG% %3 %4 %5 %6 %7 %8 %9 IF NOT %ERRORLEVEL%==0 GOTO :Error echo. diff --git a/win/install-ifcopenshell.cmd b/win/install-ifcopenshell.cmd index be2c348c13..d112772a90 100644 --- a/win/install-ifcopenshell.cmd +++ b/win/install-ifcopenshell.cmd @@ -23,6 +23,7 @@ @echo off set PROJECT_NAME=IfcOpenShell +echo. :: Enable the delayed environment variable expansion needed in VSConfig.cmd. setlocal EnableDelayedExpansion @@ -30,8 +31,13 @@ call vs-cfg.cmd %1 %2 IF NOT %ERRORLEVEL%==0 GOTO :Error echo. +IF "%IFCOS_NUM_BUILD_PROCS%"=="" set IFCOS_NUM_BUILD_PROCS=%NUMBER_OF_PROCESSORS% +call cecho.cmd 0 13 "* IFCOS_NUM_BUILD_PROCS`t= %IFCOS_NUM_BUILD_PROCS%" +echo. + call cecho.cmd 0 13 "Installing %VS_PLATFORM% %BUILD_CFG% %PROJECT_NAME%" -MSBuild ..\%BUILD_DIR%\INSTALL.%VCPROJ_FILE_EXT% /nologo /m /p:Platform=%VS_PLATFORM% /p:Configuration=%BUILD_CFG% %3 %4 %5 %6 %7 %8 %9 +MSBuild ..\%BUILD_DIR%\INSTALL.%VCPROJ_FILE_EXT% /nologo /m:%IFCOS_NUM_BUILD_PROCS% /p:Platform=%VS_PLATFORM% ^ + /p:Configuration=%BUILD_CFG% %3 %4 %5 %6 %7 %8 %9 IF NOT %ERRORLEVEL%==0 GOTO :Error echo. From fe699e0a81140d33b5c3a45a219e4fbd9892900b Mon Sep 17 00:00:00 2001 From: aothms Date: Mon, 21 Dec 2015 11:47:38 +0100 Subject: [PATCH 051/157] Fix python module import --- src/ifcopenshell-python/ifcopenshell/geom/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/geom/__init__.py b/src/ifcopenshell-python/ifcopenshell/geom/__init__.py index 8550f4013d..f4d05f86dc 100644 --- a/src/ifcopenshell-python/ifcopenshell/geom/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/geom/__init__.py @@ -31,7 +31,7 @@ def has_occ(): has_occ = has_occ() wrap_shape_creation = lambda settings, shape: shape if has_occ: - import occ_utils as utils + from . import occ_utils as utils wrap_shape_creation = lambda settings, shape: utils.create_shape_from_serialization(shape) if getattr(settings, 'use_python_opencascade', False) else shape From a0bb589ed3574698c24ff97b29a7656117a4409e Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 30 Dec 2015 13:32:22 +0200 Subject: [PATCH 052/157] build-deps.cmd: use OCE and oce-win-bundle from the official repos. --- win/build-deps.cmd | 47 ++++++++-------------------------------------- 1 file changed, 8 insertions(+), 39 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 0cc6b53086..284be2b8dd 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -206,60 +206,29 @@ REM IF EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%\CMakeCache.txt". del "%DEPENDENCY_DIR call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\OpenCOLLADA" -DUSE_STATIC_MSVC_RUNTIME=1 -DCMAKE_DEBUG_POSTFIX=d ^ -DLIBXML2_LIBRARIES="" -DLIBXML2_INCLUDE_DIR="" -DPCRE_INCLUDE_DIR="" -DPCRE_LIBRARIES="" IF NOT %ERRORLEVEL%==0 GOTO :Error -REM TODO OpenCOLLADA takes a long time to build; build only if needed REM IF NOT EXIST "%DEPS_DIR%\OpenCOLLADA\%BUILD_DIR%\lib\%DEBUG_OR_RELEASE%\OpenCOLLADASaxFrameworkLoader.lib". call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\OPENCOLLADA.sln" %DEBUG_OR_RELEASE% +:: TODO Debug build of OpenCOLLADAValidator as it will fail, https://github.com/KhronosGroup/OpenCOLLADA/issues/377 IF NOT %ERRORLEVEL%==0 GOTO :Error call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %DEBUG_OR_RELEASE% IF NOT %ERRORLEVEL%==0 GOTO :Error -:oce-win-bundle -set DEPENDENCY_NAME=oce-win-bundle -set DEPENDENCY_DIR=%DEPS_DIR%\oce-win-bundle -:: TODO Temporarily use our own repo until the upstream is fixed -REM call :GitCloneOrPullRepository https://github.com/QbProg/oce-win-bundle.git "%DEPENDENCY_DIR%" -call :GitCloneOrPullRepository https://github.com/Tridify/oce-win-bundle.git "%DEPENDENCY_DIR%" -IF NOT %ERRORLEVEL%==0 GOTO :Error -IF NOT EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%". ( - cd "%DEPENDENCY_DIR%" - call git branch msvc-enhancements origin/msvc-enhancements - IF NOT %ERRORLEVEL%==0 GOTO :Error - call git checkout msvc-enhancements - IF NOT %ERRORLEVEL%==0 GOTO :Error -) -cd "%DEPENDENCY_DIR%" -call :RunCMake -DOCE_WIN_BUNDLE_INSTALL_DIR="%INSTALL_DIR%\oce-win-bundle" -DBUNDLE_USE_STATIC_MSVC_RUNTIME=1 -IF NOT %ERRORLEVEL%==0 GOTO :Error -REM IF NOT EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%\FreeImage.cmake\%BUILD_CFG%\FreeImage.dll" -call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\oce-win-bundle.sln" %BUILD_CFG% -IF NOT %ERRORLEVEL%==0 GOTO :Error -call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% -IF NOT %ERRORLEVEL%==0 GOTO :Error - :OCE set DEPENDENCY_NAME=Open CASCADE Community Edition set DEPENDENCY_DIR=%DEPS_DIR%\oce -:: TODO Temporarily use our own repo until the upstream has static VC runtime option -REM call :GitCloneOrPullRepository https://github.com/tpaviot/oce.git "%DEPENDENCY_DIR%" -call :GitCloneOrPullRepository https://github.com/Tridify/oce.git "%DEPENDENCY_DIR%" +call :GitCloneOrPullRepository https://github.com/tpaviot/oce.git "%DEPENDENCY_DIR%" IF NOT %ERRORLEVEL%==0 GOTO :Error -IF NOT EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%". ( - cd "%DEPENDENCY_DIR%" - call git branch temp-vs-static-lib-build-fixes origin/temp-vs-static-lib-build-fixes - IF NOT %ERRORLEVEL%==0 GOTO :Error - call git checkout temp-vs-static-lib-build-fixes - IF NOT %ERRORLEVEL%==0 GOTO :Error -) +:: Use the oce-win-bundle for OCE's dependencies +call :GitCloneOrPullRepository https://github.com/QbProg/oce-win-bundle.git "%DEPENDENCY_DIR%\oce-win-bundle" +IF NOT %ERRORLEVEL%==0 GOTO :Error + cd "%DEPENDENCY_DIR%" set OCE_BUNDLE_ROOT_PATH="%INSTALL_DIR%\oce-win-bundle" -REM -DOCE_USE_BUNDLE_SOURCE=1 REM set OCE_BUNDLE_ROOT_PATH=%DEPS_DIR%\oce-win-bundle :: NOTE Specify OCE_NO_LIBRARY_VERSION as rc.exe can fail due to long filenames and huge command-line parameter :: input (more than 32,000 characters). Could maybe try using subst for the build dir to overcome this. -call :RunCMake -DOCE_BUILD_SHARED_LIB=0 -DOCE_USE_BUNDLE=1 -DOCE_BUNDLE_ROOT_PATH="%OCE_BUNDLE_ROOT_PATH%" ^ - -DOCE_INSTALL_PREFIX="%INSTALL_DIR%\oce" -DOCE_TESTING=0 -DOCE_NO_LIBRARY_VERSION=1 ^ - -DOCE_USE_STATIC_MSVC_RUNTIME=1 +call :RunCMake -DOCE_BUILD_SHARED_LIB=0 -DOCE_INSTALL_PREFIX="%INSTALL_DIR%\oce" -DOCE_TESTING=0 ^ + -DOCE_NO_LIBRARY_VERSION=1 -DOCE_USE_STATIC_MSVC_RUNTIME=1 IF NOT %ERRORLEVEL%==0 GOTO :Error -REM TODO OCE takes a long time to build; build only if needed call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\OCE.sln" %BUILD_CFG% IF NOT %ERRORLEVEL%==0 GOTO :Error call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% From d3438335a2f843ae54705f3da7d40d2bb20c060e Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 30 Dec 2015 16:13:23 +0200 Subject: [PATCH 053/157] Work around https://github.com/KhronosGroup/OpenCOLLADA/issues/377 --- win/build-deps.cmd | 5 ++++- win/patches/OpenCOLLADA_CMakeLists.txt.patch | 13 +++++++++++++ win/vs-cfg.cmd | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 win/patches/OpenCOLLADA_CMakeLists.txt.patch diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 284be2b8dd..1887aaf7c5 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -199,6 +199,10 @@ set DEPENDENCY_DIR=%DEPS_DIR%\OpenCOLLADA call :GitCloneOrPullRepository https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPENDENCY_DIR%" IF NOT %ERRORLEVEL%==0 GOTO :Error cd "%DEPENDENCY_DIR%" +:: Debug build of OpenCOLLADAValidator fails (https://github.com/KhronosGroup/OpenCOLLADA/issues/377) so +:: so disable it from the build altogether as we have no use for it +findstr #add_subdirectory(COLLADAValidator) CMakeLists.txt>NUL +IF NOT %ERRORLEVEL%==0 git apply --reject --whitespace=fix "%~dp0patches\OpenCOLLADA_CMakeLists.txt.patch" :: NOTE OpenCOLLADA has been observed to have problems with switching between debug and release builds so :: uncomment to following line in order to delete the CMakeCache.txt always if experiencing problems. REM IF EXIST "%DEPENDENCY_DIR%\%BUILD_DIR%\CMakeCache.txt". del "%DEPENDENCY_DIR%\%BUILD_DIR%\CMakeCache.txt" @@ -208,7 +212,6 @@ call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\OpenCOLLADA" -DUSE_STATIC_M IF NOT %ERRORLEVEL%==0 GOTO :Error REM IF NOT EXIST "%DEPS_DIR%\OpenCOLLADA\%BUILD_DIR%\lib\%DEBUG_OR_RELEASE%\OpenCOLLADASaxFrameworkLoader.lib". call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\OPENCOLLADA.sln" %DEBUG_OR_RELEASE% -:: TODO Debug build of OpenCOLLADAValidator as it will fail, https://github.com/KhronosGroup/OpenCOLLADA/issues/377 IF NOT %ERRORLEVEL%==0 GOTO :Error call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %DEBUG_OR_RELEASE% IF NOT %ERRORLEVEL%==0 GOTO :Error diff --git a/win/patches/OpenCOLLADA_CMakeLists.txt.patch b/win/patches/OpenCOLLADA_CMakeLists.txt.patch new file mode 100644 index 0000000000..bdb33edbf4 --- /dev/null +++ b/win/patches/OpenCOLLADA_CMakeLists.txt.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9e28557..7549c16 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -271,7 +271,7 @@ add_subdirectory(COLLADASaxFrameworkLoader) + add_subdirectory(COLLADAStreamWriter) + + # building COLLADAValidator app +-add_subdirectory(COLLADAValidator) ++#add_subdirectory(COLLADAValidator) + + + # Library export diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index 21677b9610..cf70bb5265 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -156,7 +156,7 @@ IF %BUILD_CFG%==Debug ( :: Add utils to PATH set ORIGINAL_PATH=%PATH% -set PATH=%PATH%;%~dp0\utils +set PATH=%PATH%;%~dp0utils :: Fetch and build the dependencies to a dedicated directory depending on the used VS version and target architecture. :: NOTE For IfcOpenShell we can build all of our deps both x86 and x64 using different VS versions in the same directories From 0d42a293ad9ab029eb844aea48fcfa19d5d1116f Mon Sep 17 00:00:00 2001 From: aothms Date: Fri, 8 Jan 2016 08:38:21 +0100 Subject: [PATCH 054/157] Add license header to occ_utils --- .../ifcopenshell/geom/occ_utils.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py b/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py index 591b0b1909..004151ec1e 100644 --- a/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py +++ b/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py @@ -1,3 +1,22 @@ +############################################################################### +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + import random from collections import namedtuple From 973fa9ccb5ee4291c328e5f03cb56012d3379c37 Mon Sep 17 00:00:00 2001 From: aothms Date: Fri, 8 Jan 2016 09:17:49 +0100 Subject: [PATCH 055/157] Fixes for sequences of extended control directives --- src/ifcparse/IfcCharacterDecoder.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/ifcparse/IfcCharacterDecoder.cpp b/src/ifcparse/IfcCharacterDecoder.cpp index 4243efd475..a49cee2eed 100644 --- a/src/ifcparse/IfcCharacterDecoder.cpp +++ b/src/ifcparse/IfcCharacterDecoder.cpp @@ -47,6 +47,7 @@ #define ENDEXTENDED_0 (1 << 20) #define FOURTH_SOLIDUS (1 << 21) #define IGNORED_DIRECTIVE (1 << 22) +#define ENCOUNTERED_HEX (1 << 23) // FIXME: These probably need to be less forgiving in terms of wrongly defined sequences #define EXPECTS_ALPHABET(S) (S & FIRST_SOLIDUS) @@ -64,7 +65,7 @@ #define IS_VALID_ALPHABET_DEFINITION(C) (C >= 0x40 && C <= 0x4A) #define IS_HEXADECIMAL(C) ((C >= 0x30 && C <= 0x39 ) || (C >= 0x41 && C <= 0x46 )) #define HEX_TO_INT(C) ((C >= 0x30 && C <= 0x39 ) ? C - 0x30 : (C+10) - 0x41) -#define CLEAR_HEX(C) (C &= ~(HEX(1)&HEX(2)&HEX(3)&HEX(4)&HEX(5)&HEX(6)&HEX(7)&HEX(8))) +#define CLEAR_HEX(C) (C &= ~(HEX(1)|HEX(2)|HEX(3)|HEX(4)|HEX(5)|HEX(6)|HEX(7)|HEX(8))) using namespace IfcParse; using namespace IfcWrite; @@ -155,7 +156,10 @@ IfcCharacterDecoder::operator std::string() { if ( parse_state & ALPHABET_DEFINITION || parse_state & IGNORED_DIRECTIVE || parse_state & ENDEXTENDED_0 ) parse_state = hex = hex_count = 0; - else if ( parse_state & HEX(3) ) parse_state += THIRD_SOLIDUS; + else if ( parse_state & ENCOUNTERED_HEX ) { + parse_state += THIRD_SOLIDUS; + parse_state -= ENCOUNTERED_HEX; + } else parse_state += SECOND_SOLIDUS; } else if ( current_char == 'X' && EXPECTS_ENDEXTENDED_X(parse_state) ) { parse_state += ENDEXTENDED_X; @@ -202,7 +206,10 @@ IfcCharacterDecoder::operator std::string() { } #endif if ( hex_count == 2 ) parse_state = 0; - else CLEAR_HEX(parse_state); + else { + CLEAR_HEX(parse_state); + parse_state += ENCOUNTERED_HEX; + } hex = hex_count = 0; } } else if ( parse_state && !( @@ -238,7 +245,10 @@ void IfcCharacterDecoder::dryRun() { if ( parse_state & ALPHABET_DEFINITION || parse_state & IGNORED_DIRECTIVE || parse_state & ENDEXTENDED_0 ) parse_state = hex_count = 0; - else if ( parse_state & HEX(3) ) parse_state += THIRD_SOLIDUS; + else if ( parse_state & ENCOUNTERED_HEX ) { + parse_state += THIRD_SOLIDUS; + parse_state -= ENCOUNTERED_HEX; + } else parse_state += SECOND_SOLIDUS; } else if ( current_char == 'X' && EXPECTS_ENDEXTENDED_X(parse_state) ) { parse_state += ENDEXTENDED_X; @@ -264,7 +274,10 @@ void IfcCharacterDecoder::dryRun() { (hex_count == 4 && !(parse_state & EXTENDED4)) || (hex_count == 8) ) { if ( hex_count == 2 ) parse_state = 0; - else CLEAR_HEX(parse_state); + else { + CLEAR_HEX(parse_state); + parse_state += ENCOUNTERED_HEX; + } hex_count = 0; } } else if ( parse_state && !( From 18f8d7b3a3d11cf3a9e548a7161fbf2bbb884532 Mon Sep 17 00:00:00 2001 From: aothms Date: Sat, 9 Jan 2016 06:38:33 +0100 Subject: [PATCH 056/157] Add *nix build script Set paths by CMake cache entries or env vars Windows build script: Don't fail on non-zero exit code returned by `git fetch` --- cmake/CMakeLists.txt | 63 +++++--- nix/build-all.sh | 372 +++++++++++++++++++++++++++++++++++++++++++ win/build-deps.cmd | 3 +- 3 files changed, 417 insertions(+), 21 deletions(-) create mode 100644 nix/build-all.sh diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 67ccc975d7..ef6fc19f60 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -31,13 +31,29 @@ OPTION(BUILD_EXAMPLES "Build example applications." ON) # TODO QtViewer is deprecated ATM as it uses the 0.4 API # OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer (requires Qt 4 framework)." OFF) + +# Create cache entries if absent for environment variables +MACRO(UNIFY_ENVVARS_AND_CACHE VAR) + IF ((NOT DEFINED ${VAR}) AND (NOT "$ENV{${VAR}}" STREQUAL "")) + SET(${VAR} "$ENV{${VAR}}" CACHE STRING "${VAR}" FORCE) + ENDIF() +ENDMACRO() + +UNIFY_ENVVARS_AND_CACHE(OCC_INCLUDE_DIR) +UNIFY_ENVVARS_AND_CACHE(OCC_LIBRARY_DIR) +UNIFY_ENVVARS_AND_CACHE(ICU_INCLUDE_DIR) +UNIFY_ENVVARS_AND_CACHE(ICU_LIBRARY_DIR) +UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_INCLUDE_DIR) +UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_LIBRARY_DIR) +UNIFY_ENVVARS_AND_CACHE(PCRE_LIBRARY_DIR) + # Find Boost IF(MSVC) SET(Boost_USE_STATIC_LIBS ON) SET(Boost_USE_STATIC_RUNTIME ON) SET(Boost_USE_MULTITHREADED ON) ENDIF() -FIND_PACKAGE(Boost REQUIRED COMPONENTS system program_options regex thread date_time) +FIND_PACKAGE(Boost REQUIRED COMPONENTS program_options) MESSAGE(STATUS "Boost include files found in ${Boost_INCLUDE_DIRS}") MESSAGE(STATUS "Boost libraries found in ${Boost_LIBRARY_DIRS}") @@ -58,12 +74,12 @@ FUNCTION(ADD_DEBUG_VARIANTS NAME LIBRARIES POSTFIX) ENDFUNCTION() # Find Open CASCADE -IF("$ENV{OCC_INCLUDE_DIR}" STREQUAL "") +IF("${OCC_INCLUDE_DIR}" STREQUAL "") SET(OCC_INCLUDE_DIR "/usr/include/opencascade/" CACHE FILEPATH "Open CASCADE header files") MESSAGE(STATUS "Looking for opencascade include files in: ${OCC_INCLUDE_DIR}") MESSAGE(STATUS "Use OCC_INCLUDE_DIR to specify another directory") ELSE() - SET(OCC_INCLUDE_DIR $ENV{OCC_INCLUDE_DIR} CACHE FILEPATH "Open CASCADE header files") + SET(OCC_INCLUDE_DIR ${OCC_INCLUDE_DIR} CACHE FILEPATH "Open CASCADE header files") MESSAGE(STATUS "Looking for opencascade include files in: ${OCC_INCLUDE_DIR}") ENDIF() @@ -83,12 +99,12 @@ IF(MSVC) ADD_DEBUG_VARIANTS(OPENCASCADE_LIBRARIES "${OPENCASCADE_LIBRARIES}" "d") ENDIF() -IF("$ENV{OCC_LIBRARY_DIR}" STREQUAL "") +IF("${OCC_LIBRARY_DIR}" STREQUAL "") SET(OCC_LIBRARY_DIR "/usr/lib/" CACHE FILEPATH "Open CASCADE library files") MESSAGE(STATUS "Looking for opencascade library files in: ${OCC_LIBRARY_DIR}") MESSAGE(STATUS "Use OCC_LIBRARY_DIR to specify another directory") ELSE() - SET(OCC_LIBRARY_DIR $ENV{OCC_LIBRARY_DIR} CACHE FILEPATH "Open CASCADE library files") + SET(OCC_LIBRARY_DIR ${OCC_LIBRARY_DIR} CACHE FILEPATH "Open CASCADE library files") MESSAGE(STATUS "Looking for opencascade library files in: ${OCC_LIBRARY_DIR}") ENDIF() @@ -101,16 +117,16 @@ ENDIF() IF(UNICODE_SUPPORT) # Find ICU - IF("$ENV{ICU_INCLUDE_DIR}" STREQUAL "") + IF("${ICU_INCLUDE_DIR}" STREQUAL "") MESSAGE(STATUS "No ICU include directory specified") ElSE() - SET(ICU_INCLUDE_DIR "$ENV{ICU_INCLUDE_DIR}" CACHE FILEPATH "ICU header files") + SET(ICU_INCLUDE_DIR "${ICU_INCLUDE_DIR}" CACHE FILEPATH "ICU header files") ENDIF() - IF("$ENV{ICU_LIBRARY_DIR}" STREQUAL "") + IF("${ICU_LIBRARY_DIR}" STREQUAL "") MESSAGE(STATUS "No ICU library directory specified") ElSE() - SET(ICU_LIBRARY_DIR "$ENV{ICU_LIBRARY_DIR}" CACHE FILEPATH "ICU library files") + SET(ICU_LIBRARY_DIR "${ICU_LIBRARY_DIR}" CACHE FILEPATH "ICU library files") ENDIF() FIND_LIBRARY(icu NAMES icuuc icuucd PATHS /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 ${ICU_LIBRARY_DIR}) @@ -118,13 +134,14 @@ IF(UNICODE_SUPPORT) IF(icu) ADD_DEFINITIONS(-DHAVE_ICU) MESSAGE(STATUS "ICU libraries found") - # NOTE icudata appears to be icudt on Windows/MSVC on icudata on others + # NOTE icudata appears to be icudt on Windows/MSVC and icudata on others + # dl is included to resolve dlopen and friends symbols IF(MSVC) SET(ICU_LIBRARIES icuuc icudt) ADD_DEBUG_VARIANTS(ICU_LIBRARIES "${ICU_LIBRARIES}" "d") ADD_DEFINITIONS(-DU_STATIC_IMPLEMENTATION) # required for static ICU ELSE() - SET(ICU_LIBRARIES icuuc icudata) + SET(ICU_LIBRARIES icuuc icudata dl) ENDIF() ELSE() MESSAGE(FATAL_ERROR "UNICODE_SUPPORT enabled, but unable to find ICU. Disable UNICODE_SUPPORT or fix ICU paths to proceed.") @@ -133,18 +150,18 @@ ENDIF() IF(COLLADA_SUPPORT) # Find OpenCOLLADA - IF("$ENV{OPENCOLLADA_INCLUDE_DIR}" STREQUAL "") + IF("${OPENCOLLADA_INCLUDE_DIR}" STREQUAL "") MESSAGE(STATUS "No OpenCOLLADA include directory specified") SET(OPENCOLLADA_INCLUDE_DIR "/usr/local/include/opencollada" CACHE FILEPATH "OpenCOLLADA header files") ElSE() - SET(OPENCOLLADA_INCLUDE_DIR "$ENV{OPENCOLLADA_INCLUDE_DIR}" CACHE FILEPATH "OpenCOLLADA header files") + SET(OPENCOLLADA_INCLUDE_DIR "${OPENCOLLADA_INCLUDE_DIR}" CACHE FILEPATH "OpenCOLLADA header files") ENDIF() - IF("$ENV{OPENCOLLADA_LIBRARY_DIR}" STREQUAL "") + IF("${OPENCOLLADA_LIBRARY_DIR}" STREQUAL "") MESSAGE(STATUS "No OpenCOLLADA library directory specified") SET(OPENCOLLADA_LIBRARY_DIR "/usr/local/lib/opencollada" CACHE FILEPATH "OpenCOLLADA library files") ElSE() - SET(OPENCOLLADA_LIBRARY_DIR "$ENV{OPENCOLLADA_LIBRARY_DIR}" CACHE FILEPATH "OpenCOLLADA library files") + SET(OPENCOLLADA_LIBRARY_DIR "${OPENCOLLADA_LIBRARY_DIR}" CACHE FILEPATH "OpenCOLLADA library files") ENDIF() SET(OPENCOLLADA_INCLUDE_DIRS "${OPENCOLLADA_INCLUDE_DIR}/COLLADABaseUtils" "${OPENCOLLADA_INCLUDE_DIR}/COLLADAStreamWriter") @@ -157,6 +174,9 @@ IF(COLLADA_SUPPORT) GeneratedSaxParser MathMLSolver OpenCOLLADABaseUtils OpenCOLLADAFramework OpenCOLLADASaxFrameworkLoader OpenCOLLADAStreamWriter UTF buffer ftoa pcre ) + IF(NOT "${PCRE_LIBRARY_DIR}" STREQUAL "") + SET(OPENCOLLADA_LIBRARY_DIR ${OPENCOLLADA_LIBRARY_DIR} ${PCRE_LIBRARY_DIR}) + ENDIF() IF(MSVC) ADD_DEBUG_VARIANTS(OPENCOLLADA_LIBRARIES "${OPENCOLLADA_LIBRARIES}" "d") ENDIF() @@ -280,16 +300,19 @@ if(NOT WIN32) LINK_DIRECTORIES(${LINK_DIRECTORIES} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64) endif() -# IfcConvert -# TODO -# if (IFCCONVERT_DOUBLE_PRECISION) - # add_definitions(-DIFCCONVERT_DOUBLE_PRECISION) -# endif() file(GLOB CPP_FILES ../src/ifcconvert/*.cpp) file(GLOB H_FILES ../src/ifcconvert/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) ADD_EXECUTABLE(IfcConvert ${SOURCE_FILES}) +# Make sure cross-referenced symbols between static OCC libraries get +# resolved. Also add thread and rt libraries. +get_filename_component(libTKernelExt ${libTKernel} EXT) +if("${libTKernelExt}" STREQUAL ".a") + find_package(Threads) + set(OPENCASCADE_LIBRARIES ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} rt dl) +endif() + TARGET_LINK_LIBRARIES(IfcConvert IfcParse IfcGeom ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ${ICU_LIBRARIES}) # IfcGeomServer diff --git a/nix/build-all.sh b/nix/build-all.sh new file mode 100644 index 0000000000..aa32fc2307 --- /dev/null +++ b/nix/build-all.sh @@ -0,0 +1,372 @@ +############################################################################### +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# # +# This script builds IfcOpenShell and its dependencies # +# # +# Prerequisites for this script to function correctly: # +# * git * bzip2 * tar * c(++) compilers * yacc * autoconf # +# on debian 7.8 these can be obtained with: # +# $ apt-get install git bzip2 bizon autoconf gcc g++ # +# # +############################################################################### + +set -e + +PROJECT_NAME=IfcOpenShell +OCE_VERSION=0.16 +PYTHON_VERSIONS=(2.7.9 3.3.6 3.4.2) +BOOST_VERSION=1.55.0 +PCRE_VERSION=8.38 +LIBXML_VERSION=2.9.3 +CMAKE_VERSION=3.4.1 +ICU_VERSION=56.1 + +# Helper function for coloured printing + +BLACK_ON_WHITE="\033[0;30;107m" +RED="\033[31m" +GREEN="\033[32m" +YELLOW="\033[33m" +MAGENTA="\033[35m" +function cecho { + printf "$1$2\033[0m\n" +} + +# Set defaults for missing empty environment variables + +if [ -z "$IFCOS_NUM_BUILD_PROCS" ]; then +IFCOS_NUM_BUILD_PROCS=$(expr $(sysctl -n hw.ncpu 2> /dev/null || cat /proc/cpuinfo | grep processor | wc -l) + 1) +fi + +if [ -z "$TARGET_ARCH" ]; then +TARGET_ARCH="$(uname -m)" +fi + +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +CMAKE_DIR="$SCRIPT_DIR/../../cmake/" + +if [ -z "$DEPS_DIR" ]; then +DEPS_DIR="$SCRIPT_DIR/../../build/$(uname)/" +[ -d $DEPS_DIR ] || mkdir -p $DEPS_DIR +DEPS_DIR=`readlink -f $DEPS_DIR` +fi + +if [ -z "$BUILD_CFG" ]; then +BUILD_CFG="RelWithDebInfo" +fi + +if [ -z "$BUILD_TYPE" ]; then +BUILD_TYPE=Build +fi + +# Print build configuration information + +cecho $BLACK_ON_WHITE "This script fetches and builds $PROJECT_NAME and its dependencies" +echo "" +cecho $GREEN "Script configuration:" + +cecho $MAGENTA "* Target Architecture = $TARGET_ARCH" +echo " - Whether 32-bit (i686) or 64-bit (x86_64) will be built." +cecho $MAGENTA "* Dependency Directory = $DEPS_DIR" +echo " - The directory where $PROJECT_NAME dependencies are installed." +cecho $MAGENTA "* Build Config Type = $BUILD_CFG" +echo " - The used build configuration type for the dependencies." +echo " Defaults to RelWithDebInfo if not specified." + +if [ "$BUILD_CFG" = "MinSizeRel" ]; then +cecho $RED " WARNING: MinSizeRel build can suffer from a significant performance loss." +fi + +cecho $MAGENTA "* IFCOS_NUM_BUILD_PROCS = $IFCOS_NUM_BUILD_PROCS" +echo " - How many compiler processes may be run in parallel." + +echo "" + +# Check that required tools are in PATH + +for cmd in git bunzip2 tar cc c++ autoconf yacc +do + which $cmd > /dev/null || { cecho $RED "Required tool '$cmd' not installed or not added to PATH" ; exit 1 ; } +done + +which curl > /dev/null && DOWNLOAD="curl -sLO" +which wget > /dev/null && DOWNLOAD="wget -q --no-check-certificate" + +if [ -z "$DOWNLOAD" ]; then + cecho $RED "No download application found, tried: curl, wget" + exit 1 +fi + +# Create log directory and file + +mkdir -p $DEPS_DIR/logs +LOG_FILE=$DEPS_DIR/logs/`date +"%Y%m%d"`.log + +BOOST_VERSION_UNDERSCORE=${BOOST_VERSION//./_} +ICU_VERSION_UNDERSCORE=${ICU_VERSION//./_} +CMAKE_VERSION_2=${CMAKE_VERSION:0:3} + +OCE_LOCATION=https://github.com/tpaviot/oce/archive/OCE-$OCE_VERSION.tar.gz +BOOST_LOCATION=http://downloads.sourceforge.net/project/boost/boost/$BOOST_VERSION/boost_$BOOST_VERSION_UNDERSCORE.tar.bz2 +OPENCOLLADA_LOCATION=https://github.com/KhronosGroup/OpenCOLLADA.git +OPENCOLLADA_COMMIT=f99d59e73e565a41715eaebc00c7664e1ee5e628 + +# Helper functions + +function download { + [ -f $2 ] || $DOWNLOAD $1$2 +} + +function run_autoconf { + if [ ! -f configure ]; then + pushd . >>$LOG_FILE 2>&1 + cd .. + ./autogen.sh >>$LOG_FILE 2>&1 + popd >>$LOG_FILE 2>&1 + fi + ../configure $2 --prefix=$DEPS_DIR/install/$1 >>$LOG_FILE 2>&1 +} + +function run_cmake { + if [ -z "$3" ]; then + P=.. + else + P=$3 + fi + $DEPS_DIR/install/cmake-$CMAKE_VERSION/bin/cmake $P $2 -DCMAKE_BUILD_TYPE=$BUILD_TYPE >>$LOG_FILE 2>&1 +} + +function run_icu { + PLATFORM=`uname -s` + if [ $PLATFORM == "Darwin" ]; then + PLATFORM=MacOSX + fi + ../source/runConfigureICU $PLATFORM $2 --prefix=$DEPS_DIR/install/$1 >>$LOG_FILE 2>&1 +} + +function git_clone { + [ -d $2 ] || git clone $1 >>$LOG_FILE 2>&1 + if [ ! -z "$3" ]; then + cd $2 + git checkout $3 + cd .. + fi +} + +function build_dependency { + if [ -e $DEPS_DIR/install/$1 ]; then + echo "Found existing $1" + return + fi + mkdir -p $DEPS_DIR/build/ + cd $DEPS_DIR/build/ + printf "\rFetching $1... " + $6 $4 $5 $7 + if [ -d $5 ]; then + DEP_NAME=$5 + else + DEP_NAME=`tar --exclude="*/*" -tf $5` + [ -z $DEP_NAME ] && DEP_NAME=`tar -tf $5 2> /dev/null | head -n 1 | cut -f1 -d /` + [ -d $DEP_NAME ] || tar -xf $5 + fi + cd $DEP_NAME + if [ "$2" != "bjam" ]; then + [ -d build ] && rm -rf build + mkdir build + cd build + printf "\rConfiguring $1..." + run_$2 $1 "$3" + printf "\rBuilding $1... " + make -j$IFCOS_NUM_BUILD_PROCS >>$LOG_FILE 2>&1 + printf "\rInstalling $1... " + make install >>$LOG_FILE 2>&1 + printf "\rInstalled $1 \n" + else + printf "\rConfiguring $1..." + ./bootstrap.sh >>$LOG_FILE 2>&1 + printf "\rBuilding $1... " + ./b2 $3 >>$LOG_FILE 2>&1 + printf "\rInstalling $1... " + cp -R boost $DEPS_DIR/install/boost-$BOOST_VERSION/ >>$LOG_FILE 2>&1 + printf "\rInstalled $1 \n" + fi +} + +cecho $GREEN "Collecting dependencies:" + +# Set compiler flags for 32bit builds on 64bit system + +if [ "$TARGET_ARCH" == "i686" ] && [ "$(uname -m)" == "x86_64" ]; then +ADDITIONAL_ARGS="-m32 -arch i386" +fi + +if [ "$(uname)" == "Darwin" ]; then +ADDITIONAL_ARGS="-macosx_version_min 10.6 $ADDITIONAL_ARGS" +fi + +# If the linker supports GC sections, set it up to reduce binary file size +# -fPIC is required for the shared libraries to work + +if man ld 2> /dev/null | grep gc-sections &> /dev/null; then +export CXXFLAGS="$CXXFLAGS -fPIC -fdata-sections -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden $ADDITIONAL_ARGS" +export CFLAGS="$CFLAGS -fPIC -fdata-sections -ffunction-sections -fvisibility=hidden $ADDITIONAL_ARGS" +export LDFLAGS="$LDFLAGS -Wl,--gc-sections $ADDITIONAL_ARGS" +export CXXFLAGS_MINIMAL="$CXXFLAGS_MINIMAL -fPIC $ADDITIONAL_ARGS" +export CFLAGS_MINIMAL="$CFLAGS_MINIMAL -fPIC $ADDITIONAL_ARGS" +else +export CXXFLAGS="$CXXFLAGS -fPIC -fvisibility=hidden -fvisibility-inlines-hidden $ADDITIONAL_ARGS" +export CFLAGS="$CFLAGS -fPIC -fvisibility=hidden -fvisibility-inlines-hidden $ADDITIONAL_ARGS" +export LDFLAGS="$LDFLAGS -s -death_code $ADDITIONAL_ARGS" +export CXXFLAGS_MINIMAL="$CXXFLAGS_MINIMAL -fPIC $ADDITIONAL_ARGS" +export CFLAGS_MINIMAL="$CFLAGS_MINIMAL -fPIC $ADDITIONAL_ARGS" +fi + +# Some dependencies need a more recent CMake version than most distros provide +build_dependency cmake-$CMAKE_VERSION autoconf "" https://cmake.org/files/v$CMAKE_VERSION_2/ cmake-$CMAKE_VERSION.tar.gz download + +# Extract compiler flags from CMake to harmonize settings with other autoconf dependencies +CMAKE_FLAG_EXTRACT_DIR=ifcopenshell_cmake_test_`cat /dev/urandom | env LC_CTYPE=C tr -dc 'a-zA-Z0-9' | head -c 32` +[ -e $CMAKE_FLAG_EXTRACT_DIR ] && rm -rf $CMAKE_FLAG_EXTRACT_DIR +mkdir $CMAKE_FLAG_EXTRACT_DIR +cd $CMAKE_FLAG_EXTRACT_DIR +BUILD_CFG_UPPER=${BUILD_CFG^^} +for FL in C CXX LD; do + echo " + message(\"\${CMAKE_${FL}_FLAGS_${BUILD_CFG_UPPER}}\") + " > CMakeLists.txt + declare ${FL}FLAGS="`$DEPS_DIR/install/cmake-$CMAKE_VERSION/bin/cmake . 2>&1 >/dev/null`" + declare ${FL}FLAGS_MINIMAL="`$DEPS_DIR/install/cmake-$CMAKE_VERSION/bin/cmake . 2>&1 >/dev/null`" +done +cd .. +rm -rf $CMAKE_FLAG_EXTRACT_DIR + +build_dependency pcre-$PCRE_VERSION autoconf "--disable-shared" ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ pcre-$PCRE_VERSION.tar.bz2 download + +# An issue exists with swig-1.3 and python >= 3.2 +# Therefore, build a recent copy from source +build_dependency swig autoconf "--with-pcre-prefix=$DEPS_DIR/install/pcre-$PCRE_VERSION" https://github.com/swig/swig.git swig git_clone rel-3.0.8 + +build_dependency oce-$OCE_VERSION cmake "-DOCE_DISABLE_TKSERVICE_FONT=ON -DOCE_TESTING=OFF -DOCE_BUILD_SHARED_LIB=OFF -DOCE_DISABLE_X11=ON -DOCE_VISUALISATION=OFF -DOCE_OCAF=OFF -DOCE_INSTALL_PREFIX=$DEPS_DIR/install/oce-$OCE_VERSION/" https://github.com/tpaviot/oce/archive/ OCE-$OCE_VERSION.tar.gz download +build_dependency libxml2-$LIBXML_VERSION autoconf "--without-python --disable-shared" ftp://xmlsoft.org/libxml2/ libxml2-$LIBXML_VERSION.tar.gz download +build_dependency OpenCOLLADA cmake " +-DLIBXML2_INCLUDE_DIR=$DEPS_DIR/install/libxml2-$LIBXML_VERSION/include/libxml2 +-DLIBXML2_LIBRARIES=$DEPS_DIR/install/libxml2-$LIBXML_VERSION/lib/libxml2.a +-DPCRE_INCLUDE_DIR=$DEPS_DIR/install/pcre-$PCRE_VERSION/include +-DPCRE_PCREPOSIX_LIBRARY=$DEPS_DIR/install/pcre-$PCRE_VERSION/lib/libpcreposix.a +-DPCRE_PCRE_LIBRARY=$DEPS_DIR/install/pcre-$PCRE_VERSION/lib/libpcre.a +-DCMAKE_INSTALL_PREFIX=$DEPS_DIR/install/OpenCOLLADA/" https://github.com/KhronosGroup/OpenCOLLADA.git OpenCOLLADA git_clone + +# Python should not be built with -fvisibility=hidden, from experience that introduces segfaults + +OLD_CXX_FLAGS=$CXXFLAGS +OLD_C_FLAGS=$CFLAGS +OLD_LD_FLAGS=$LDFLAGS +export CXXFLAGS=$CXXFLAGS_MINIMAL +export CFLAGS=$CFLAGS_MINIMAL +export LDFLAGS=$LDFLAGS_MINIMAL + +for PYTHON_VERSION in "${PYTHON_VERSIONS[@]}"; do + build_dependency python-$PYTHON_VERSION autoconf "" http://www.python.org/ftp/python/$PYTHON_VERSION/ Python-$PYTHON_VERSION.tgz download +done + +export CXXFLAGS=$OLD_CXX_FLAGS +export CFLAGS=$OLD_C_FLAGS +export LDFLAGS=$OLD_LD_FLAGS + +if [ "$(uname)" == "Darwin" ] && [ "$1" == "32" ]; then +BOOST_ADDRESS_MODEL="toolset=darwin architecture=x86 target-os=darwin address-model=32" +fi +build_dependency boost-$BOOST_VERSION bjam "--stagedir=$DEPS_DIR/install/boost-$BOOST_VERSION --with-program_options link=static $BOOST_ADDRESS_MODEL stage" http://downloads.sourceforge.net/project/boost/boost/$BOOST_VERSION/ boost_$BOOST_VERSION_UNDERSCORE.tar.bz2 download + +build_dependency icu-$ICU_VERSION icu "--enable-static --disable-shared" http://download.icu-project.org/files/icu4c/$ICU_VERSION/ icu4c-${ICU_VERSION_UNDERSCORE}-src.tgz download + +cecho $GREEN "Building IfcOpenShell:" + +IFCOS_DIR=$DEPS_DIR/build/ifcopenshell +[ -d $IFCOS_DIR ] && rm -rf $IFCOS_DIR +mkdir -p $IFCOS_DIR +cd $IFCOS_DIR + +mkdir -p executables +cd executables + +printf "\rConfiguring executables..." + +run_cmake "" " +-DBOOST_ROOT=$DEPS_DIR/install/boost-$BOOST_VERSION +-DOCC_INCLUDE_DIR=$DEPS_DIR/install/oce-$OCE_VERSION/include/oce +-DOCC_LIBRARY_DIR=$DEPS_DIR/install/oce-$OCE_VERSION/lib +-DOPENCOLLADA_INCLUDE_DIR=$DEPS_DIR/install/OpenCOLLADA/include/opencollada +-DOPENCOLLADA_LIBRARY_DIR=$DEPS_DIR/install/OpenCOLLADA/lib/opencollada +-DICU_INCLUDE_DIR=$DEPS_DIR/install/icu-$ICU_VERSION/include +-DICU_LIBRARY_DIR=$DEPS_DIR/install/icu-$ICU_VERSION/lib +-DPCRE_LIBRARY_DIR=$DEPS_DIR/install/pcre-$PCRE_VERSION/lib +-DBUILD_IFCPYTHON=OFF +" $CMAKE_DIR + +printf "\rBuilding executables... " + +make -j$IFCOS_NUM_BUILD_PROCS >>$LOG_FILE 2>&1 + +strip -s IfcConvert IfcGeomServer + +cd .. + +for PYTHON_VERSION in "${PYTHON_VERSIONS[@]}"; do + + printf "\rConfiguring python $PYTHON_VERSION wrapper..." + + mkdir -p python-$PYTHON_VERSION + cd python-$PYTHON_VERSION + + PYTHON_LIBRARY=`ls $DEPS_DIR/install/python-$PYTHON_VERSION/lib/libpython*.a` + PYTHON_INCLUDE=`ls -d $DEPS_DIR/install/python-$PYTHON_VERSION/include/python*` + PYTHON_EXECUTABLE=$DEPS_DIR/install/python-$PYTHON_VERSION/bin/python + export PYTHON_LIBRARY_BASENAME=`basename $PYTHON_LIBRARY` + + run_cmake "" " + -DBOOST_ROOT=$DEPS_DIR/install/boost-$BOOST_VERSION + -DOCC_INCLUDE_DIR=$DEPS_DIR/install/oce-$OCE_VERSION/include/oce + -DOCC_LIBRARY_DIR=$DEPS_DIR/install/oce-$OCE_VERSION/lib + -DOPENCOLLADA_INCLUDE_DIR=$DEPS_DIR/install/OpenCOLLADA/include/opencollada + -DOPENCOLLADA_LIBRARY_DIR=$DEPS_DIR/install/OpenCOLLADA/lib/opencollada + -DICU_INCLUDE_DIR=$DEPS_DIR/install/icu-$ICU_VERSION/include + -DICU_LIBRARY_DIR=$DEPS_DIR/install/icu-$ICU_VERSION/lib + -DPYTHON_LIBRARY=$PYTHON_LIBRARY + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE + -DPYTHON_INCLUDE_DIR=$PYTHON_INCLUDE + -DSWIG_EXECUTABLE=$DEPS_DIR/install/swig/bin/swig + " $CMAKE_DIR + + # This still needs to be tested + # test "$(uname)" == "Darwin" && sed -i~ "s/-o/-flat_namespace -undefined suppress -o/" ifcwrap/CMakeFiles/_ifcopenshell_wrapper.dir/link.txt + + printf "\rBuilding python $PYTHON_VERSION wrapper... " + + make -j$IFCOS_NUM_BUILD_PROCS _ifcopenshell_wrapper >>$LOG_FILE 2>&1 + + strip -s \ + -K PyInit__ifcopenshell_wrapper \ + ifcwrap/_ifcopenshell_wrapper.so + +done + +printf "\rBuilt IfcOpenShell... \n\n" diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 1887aaf7c5..655163ab26 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -349,12 +349,13 @@ IF NOT EXIST %2. ( call cecho.cmd 0 13 "Cloning %DEPENDENCY_NAME% into %2." pushd "%DEPS_DIR%" call git clone %1 %2 + set RET=%ERRORLEVEL% ) ELSE ( call cecho.cmd 0 13 "%DEPENDENCY_NAME% already cloned. Pulling latest changes." pushd %2 call git pull + set RET=0 ) -set RET=%ERRORLEVEL% popd exit /b %RET% From a0db3a3406a3f1ece5678503b5c2e362d99138d7 Mon Sep 17 00:00:00 2001 From: aothms Date: Sat, 9 Jan 2016 06:42:35 +0100 Subject: [PATCH 057/157] chmod +x on *nix build script --- nix/build-all.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 nix/build-all.sh diff --git a/nix/build-all.sh b/nix/build-all.sh old mode 100644 new mode 100755 From 4be7da1a4350476ba3e65f15a2824c5a86c10437 Mon Sep 17 00:00:00 2001 From: aothms Date: Fri, 22 Jan 2016 17:27:28 +0100 Subject: [PATCH 058/157] Use fuzzy boolean subtraction if available Remove collinear points from polygonal halfspace boundary Lookup styled items on boolean operation operands Fixes https://github.com/IfcOpenShell/IfcOpenShell/issues/6 Fixes https://sourceforge.net/p/ifcopenshell/discussion/1782717/thread/a7f99e41/?limit=25#5c36 --- src/ifcgeom/IfcGeom.h | 10 ++- src/ifcgeom/IfcGeomFunctions.cpp | 131 ++++++++++++++++++++++++++++++- src/ifcgeom/IfcGeomShapes.cpp | 43 +++++++++- src/ifcgeom/IfcGeomWires.cpp | 4 +- 4 files changed, 181 insertions(+), 7 deletions(-) diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 94f6f51290..c593fbab95 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -109,6 +109,7 @@ public: bool convert_openings(const IfcSchema::IfcProduct* entity, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcRepresentationShapeItems& cut_shapes); bool convert_openings_fast(const IfcSchema::IfcProduct* entity, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcRepresentationShapeItems& cut_shapes); IfcSchema::IfcSurfaceStyleShading* get_surface_style(IfcSchema::IfcRepresentationItem* item); + const IfcSchema::IfcRepresentationItem* find_item_carrying_style(const IfcSchema::IfcRepresentationItem* item); bool create_solid_from_compound(const TopoDS_Shape& compound, TopoDS_Shape& solid); bool is_compound(const TopoDS_Shape& shape); bool is_convex(const TopoDS_Wire& wire); @@ -123,7 +124,10 @@ public: void setValue(GeomValue var, double value); double getValue(GeomValue var) const; bool fill_nonmanifold_wires_with_planar_faces(TopoDS_Shape& shape); - void remove_redundant_points_from_loop(TColgp_SequenceOfPnt& polygon, bool closed, double tol=-1.); + void remove_duplicate_points_from_loop(TColgp_SequenceOfPnt& polygon, bool closed, double tol=-1.); + void remove_collinear_points_from_loop(TColgp_SequenceOfPnt& polygon, bool closed, double tol=-1.); + bool wire_to_sequence_of_point(const TopoDS_Wire&, TColgp_SequenceOfPnt&); + void sequence_of_point_to_wire(const TColgp_SequenceOfPnt&, TopoDS_Wire&, bool closed); std::pair initializeUnits(IfcSchema::IfcUnitAssignment*); @@ -135,6 +139,10 @@ public: const SurfaceStyle* get_style(const IfcSchema::IfcRepresentationItem* representation_item); template std::pair get_surface_style(const IfcSchema::IfcRepresentationItem* representation_item) { + // For certain representation items, most notably boolean operands, + // a style definition might reside on one of its operands. + representation_item = find_item_carrying_style(representation_item); + IfcSchema::IfcStyledItem::list::ptr styled_items = representation_item->StyledByItem(); for (IfcSchema::IfcStyledItem::list::it jt = styled_items->begin(); jt != styled_items->end(); ++jt) { #ifdef USE_IFC4 diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index ecf9e2b3b9..b1e3dabc98 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -100,6 +100,8 @@ #include #include +#include + #include "../ifcparse/IfcSIPrefix.h" #include "../ifcgeom/IfcGeom.h" @@ -232,7 +234,21 @@ bool IfcGeom::Kernel::convert_openings(const IfcSchema::IfcProduct* entity, cons TopExp_Explorer exp(entity_shape, TopAbs_SOLID); for (; exp.More(); exp.Next()) { + +#if OCC_VERSION_HEX < 0x60900 BRepAlgoAPI_Cut brep_cut(exp.Current(), opening_shape); +#else + BRepAlgoAPI_Cut brep_cut; + TopTools_ListOfShape s1s; + s1s.Append(exp.Current()); + TopTools_ListOfShape s2s; + s2s.Append(opening_shape); + brep_cut.SetFuzzyValue(getValue(GV_PRECISION)); + brep_cut.SetArguments(s1s); + brep_cut.SetTools(s2s); + brep_cut.Build(); +#endif + bool added = false; if ( brep_cut.IsDone() ) { TopoDS_Shape brep_cut_result = brep_cut; @@ -257,7 +273,19 @@ bool IfcGeom::Kernel::convert_openings(const IfcSchema::IfcProduct* entity, cons entity_shape = compound; } else { +#if OCC_VERSION_HEX < 0x60900 BRepAlgoAPI_Cut brep_cut(entity_shape,opening_shape); +#else + BRepAlgoAPI_Cut brep_cut; + TopTools_ListOfShape s1s; + s1s.Append(entity_shape); + TopTools_ListOfShape s2s; + s2s.Append(opening_shape); + brep_cut.SetFuzzyValue(getValue(GV_PRECISION)); + brep_cut.SetArguments(s1s); + brep_cut.SetTools(s2s); + brep_cut.Build(); +#endif if ( brep_cut.IsDone() ) { TopoDS_Shape brep_cut_result = brep_cut; @@ -354,7 +382,20 @@ bool IfcGeom::Kernel::convert_openings_fast(const IfcSchema::IfcProduct* entity, entity_shape = entity_shape_unlocated.Moved(entity_shape_gtrsf.Trsf()); } +#if OCC_VERSION_HEX < 0x60900 BRepAlgoAPI_Cut brep_cut(entity_shape,opening_compound); +#else + BRepAlgoAPI_Cut brep_cut; + TopTools_ListOfShape s1s; + s1s.Append(entity_shape); + TopTools_ListOfShape s2s; + s2s.Append(opening_compound); + brep_cut.SetFuzzyValue(getValue(GV_PRECISION)); + brep_cut.SetArguments(s1s); + brep_cut.SetTools(s2s); + brep_cut.Build(); +#endif + bool is_valid = false; if ( brep_cut.IsDone() ) { TopoDS_Shape brep_cut_result = brep_cut; @@ -836,7 +877,7 @@ bool IfcGeom::Kernel::flatten_shape_list(const IfcGeom::IfcRepresentationShapeIt return success; } -void IfcGeom::Kernel::remove_redundant_points_from_loop(TColgp_SequenceOfPnt& polygon, bool closed, double tol) { +void IfcGeom::Kernel::remove_duplicate_points_from_loop(TColgp_SequenceOfPnt& polygon, bool closed, double tol) { if (tol <= 0.) tol = getValue(GV_POINT_EQUALITY_TOLERANCE); tol *= tol; @@ -860,6 +901,69 @@ void IfcGeom::Kernel::remove_redundant_points_from_loop(TColgp_SequenceOfPnt& po } } +void IfcGeom::Kernel::remove_collinear_points_from_loop(TColgp_SequenceOfPnt& polygon, bool closed, double tol) { + if (tol <= 0.) tol = getValue(GV_POINT_EQUALITY_TOLERANCE); + const int start = closed ? 1 : 2; + const int end = polygon.Length() - (closed ? 0 : 1); + std::vector to_remove(polygon.Length(), false); + for (int i = start; i <= end; ++i) { + const gp_Pnt& a = polygon.Value(((i - 2 + polygon.Length()) % polygon.Length()) + 1); + const gp_Pnt& b = polygon.Value(i); + const gp_Pnt& c = polygon.Value((i % polygon.Length()) + 1); + const gp_Vec d1 = c.XYZ() - a.XYZ(); + const gp_Vec d2 = b.XYZ() - a.XYZ(); + const double dt = d2.Dot(d1) / d1.Dot(d1); + const gp_Vec d3 = d1.Scaled(dt); + const gp_Pnt b2 = a.XYZ() + d3.XYZ(); + if (b.Distance(b2) < tol) { + to_remove[i-1] = true; + } + } + for (int i = to_remove.size() - 1; i >= 0; --i) { + if (to_remove[i]) { + polygon.Remove(i+1); + } + } +} + +bool IfcGeom::Kernel::wire_to_sequence_of_point(const TopoDS_Wire& w, TColgp_SequenceOfPnt& p) { + TopExp_Explorer exp(w, TopAbs_EDGE); + for (; exp.More(); exp.Next()) { + double a, b; + Handle_Geom_Curve crv = BRep_Tool::Curve(TopoDS::Edge(exp.Current()), a, b); + if (crv->DynamicType() != STANDARD_TYPE(Geom_Line)) { + return false; + } + } + + exp.ReInit(); + + int i = 0; + for (; exp.More(); exp.Next(), ++i) { + TopoDS_Vertex v1, v2; + TopExp::Vertices(TopoDS::Edge(exp.Current()), v1, v2, true); + if (exp.More()) { + if (i == 0) { + p.Append(BRep_Tool::Pnt(v1)); + } + p.Append(BRep_Tool::Pnt(v2)); + } + } + + return true; +} + +void IfcGeom::Kernel::sequence_of_point_to_wire(const TColgp_SequenceOfPnt& p, TopoDS_Wire& w, bool close) { + BRepBuilderAPI_MakePolygon builder; + for (int i = 1; i <= p.Length(); ++i) { + builder.Add(p.Value(i)); + } + if (close) { + builder.Close(); + } + w = builder.Wire(); +} + template IfcGeom::BRepElement

    * IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product) { IfcGeom::Representation::BRep* shape; @@ -1083,4 +1187,29 @@ std::pair IfcGeom::Kernel::initializeUnits(IfcSchema::IfcUn } return std::pair(unit_name, unit_magnitude); +} + +const IfcSchema::IfcRepresentationItem* IfcGeom::Kernel::find_item_carrying_style(const IfcSchema::IfcRepresentationItem* item) { + IfcSchema::IfcStyledItem::list::ptr styles = item->StyledByItem(); + if (styles->size()) { + return item; + } + + while (item->is(IfcSchema::Type::IfcBooleanClippingResult)) { + // All instantiations of IfcBooleanOperand (type of FirstOperand) are subtypes of + // IfcGeometricRepresentationItem + item = (IfcSchema::IfcGeometricRepresentationItem*) ((IfcSchema::IfcBooleanClippingResult*) item)->FirstOperand(); + + IfcSchema::IfcStyledItem::list::ptr styles = item->StyledByItem(); + if (styles->size()) { + return item; + } + } + + // TODO: Ideally this would be done for other entities (such as IfcCsgSolid) as well. + // But neither are these very prevalent, nor does the current IfcOpenShell style + // mechanism enable to conveniently style subshapes, which would be necessary for + // distinctly styled union operands. + + return item; } \ No newline at end of file diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index af74b4369f..0e1b0747cb 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -249,10 +249,20 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcHalfSpaceSolid* l, TopoDS_Shap bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolygonalBoundedHalfSpace* l, TopoDS_Shape& shape) { TopoDS_Shape halfspace; if ( ! IfcGeom::Kernel::convert((IfcSchema::IfcHalfSpaceSolid*)l,halfspace) ) return false; + TopoDS_Wire wire; - if ( ! convert_wire(l->PolygonalBoundary(),wire) || ! wire.Closed() ) return false; + if ( ! convert_wire(l->PolygonalBoundary(),wire) || ! wire.Closed() ) return false; + gp_Trsf trsf; - convert(l->Position(),trsf); + if ( ! convert(l->Position(),trsf) ) return false; + + TColgp_SequenceOfPnt points; + if (wire_to_sequence_of_point(wire, points)) { + remove_duplicate_points_from_loop(points, wire.Closed()); // Note: wire always closed, as per if statement above + remove_collinear_points_from_loop(points, wire.Closed()); + sequence_of_point_to_wire(points, wire, wire.Closed()); + } + TopoDS_Shape prism = BRepPrimAPI_MakePrism(BRepBuilderAPI_MakeFace(wire),gp_Vec(0,0,200)); gp_Trsf down; down.SetTranslation(gp_Vec(0,0,-100.0)); prism.Move(trsf*down); @@ -277,6 +287,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, Ifc } bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape& shape) { + TopoDS_Shape s1, s2; IfcRepresentationShapeItems items1, items2; TopoDS_Wire boundary_wire; @@ -330,10 +341,36 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape const IfcSchema::IfcBooleanOperator::IfcBooleanOperator op = l->Operator(); + /* + // TK: A little debugging trick to output both operands for visual inspection + + BRep_Builder builder; + TopoDS_Compound compound; + builder.MakeCompound(compound); + builder.Add(compound, s1); + builder.Add(compound, s2); + shape = compound; + return true; + */ + if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE) { bool valid_cut = false; - BRepAlgoAPI_Cut brep_cut(s1,s2); + +#if OCC_VERSION_HEX < 0x60900 + BRepAlgoAPI_Cut brep_cut(s1, s2); +#else + BRepAlgoAPI_Cut brep_cut; + TopTools_ListOfShape s1s; + s1s.Append(s1); + TopTools_ListOfShape s2s; + s2s.Append(s2); + brep_cut.SetFuzzyValue(getValue(GV_PRECISION)); + brep_cut.SetArguments(s1s); + brep_cut.SetTools(s2s); + brep_cut.Build(); +#endif + if ( brep_cut.IsDone() ) { TopoDS_Shape result = brep_cut; diff --git a/src/ifcgeom/IfcGeomWires.cpp b/src/ifcgeom/IfcGeomWires.cpp index 058302222b..99cdbff85b 100644 --- a/src/ifcgeom/IfcGeomWires.cpp +++ b/src/ifcgeom/IfcGeomWires.cpp @@ -284,7 +284,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolyline* l, TopoDS_Wire& resu } // Remove points that are too close to one another - remove_redundant_points_from_loop(polygon, false); + remove_duplicate_points_from_loop(polygon, false); BRepBuilderAPI_MakePolygon w; for (int i = 1; i <= polygon.Length(); ++i) { @@ -314,7 +314,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolyLoop* l, TopoDS_Wire& resu } // Remove points that are too close to one another - remove_redundant_points_from_loop(polygon, true); + remove_duplicate_points_from_loop(polygon, true); int count = polygon.Length(); if (original_count - count != 0) { From 801c7da40ff7edc207e3f4721fe3c6b8ad3f31ef Mon Sep 17 00:00:00 2001 From: aothms Date: Mon, 25 Jan 2016 13:30:33 +0100 Subject: [PATCH 059/157] Use multiple argument boolean operands for IfcOpeningElement subtractions --- src/ifcconvert/IfcConvert.cpp | 11 +++ src/ifcgeom/IfcGeomFunctions.cpp | 113 +++++++++++++++++++++++++++---- 2 files changed, 110 insertions(+), 14 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index c500be38f3..73ecb1ad95 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -44,6 +44,7 @@ #include "../ifcconvert/SvgSerializer.h" #include +#include static std::string DEFAULT_EXTENSION = "obj"; @@ -123,11 +124,17 @@ int main(int argc, char** argv) { "This is a potentially time consuming operation, but guarantees a " "consistent orientation of surface normals, even if the faces are not " "properly oriented in the IFC file.") +#if OCC_VERSION_HEX < 0x60900 + // In Open CASCADE version prior to 6.9.0 boolean operations with multiple + // arguments where not introduced yet and a work-around was implemented to + // subtract multiple openings as a single compound. This hack is obsolete + // for newer versions of Open CASCADE. ("merge-boolean-operands", "Specifies whether to merge all IfcOpeningElement operands into a single " "operand before applying the subtraction operation. This may " "introduce a performance improvement at the risk of failing, in " "which case the subtraction is applied one-by-one.") +#endif ("disable-opening-subtractions", "Specifies whether to disable the boolean subtraction of " "IfcOpeningElement Representations from their RelatingElements.") @@ -179,7 +186,9 @@ int main(int argc, char** argv) { const bool use_world_coords = vmap.count("use-world-coords") != 0; const bool convert_back_units = vmap.count("convert-back-units") != 0; const bool sew_shells = vmap.count("sew-shells") != 0; +#if OCC_VERSION_HEX < 0x60900 const bool merge_boolean_operands = vmap.count("merge-boolean-operands") != 0; +#endif const bool disable_opening_subtractions = vmap.count("disable-opening-subtractions") != 0; bool include_entities = vmap.count("include") != 0; const bool include_plan = vmap.count("plan") != 0; @@ -257,7 +266,9 @@ int main(int argc, char** argv) { settings.set(IfcGeom::IteratorSettings::WELD_VERTICES, weld_vertices); settings.set(IfcGeom::IteratorSettings::SEW_SHELLS, sew_shells); settings.set(IfcGeom::IteratorSettings::CONVERT_BACK_UNITS, convert_back_units); +#if OCC_VERSION_HEX < 0x60900 settings.set(IfcGeom::IteratorSettings::FASTER_BOOLEANS, merge_boolean_operands); +#endif settings.set(IfcGeom::IteratorSettings::DISABLE_OPENING_SUBTRACTIONS, disable_opening_subtractions); settings.set(IfcGeom::IteratorSettings::INCLUDE_CURVES, include_plan); settings.set(IfcGeom::IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES, !include_model); diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index b1e3dabc98..b70808fc77 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -105,6 +105,10 @@ #include "../ifcparse/IfcSIPrefix.h" #include "../ifcgeom/IfcGeom.h" +#if OCC_VERSION_HEX < 0x60900 +#pragma message("warning: You are linking against Open CASCADE version " OCC_VERSION_COMPLETE ". Version 6.9.0 introduces various improvements with relation to boolean operations. You are advised to upgrade.") +#endif + bool IfcGeom::Kernel::create_solid_from_compound(const TopoDS_Shape& compound, TopoDS_Shape& shape) { BRepOffsetAPI_Sewing builder; builder.SetTolerance(getValue(GV_POINT_EQUALITY_TOLERANCE)); @@ -323,6 +327,7 @@ bool IfcGeom::Kernel::convert_openings(const IfcSchema::IfcProduct* entity, cons return true; } +#if OCC_VERSION_HEX < 0x60900 bool IfcGeom::Kernel::convert_openings_fast(const IfcSchema::IfcProduct* entity, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcGeom::IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcGeom::IfcRepresentationShapeItems& cut_shapes) { @@ -382,19 +387,7 @@ bool IfcGeom::Kernel::convert_openings_fast(const IfcSchema::IfcProduct* entity, entity_shape = entity_shape_unlocated.Moved(entity_shape_gtrsf.Trsf()); } -#if OCC_VERSION_HEX < 0x60900 BRepAlgoAPI_Cut brep_cut(entity_shape,opening_compound); -#else - BRepAlgoAPI_Cut brep_cut; - TopTools_ListOfShape s1s; - s1s.Append(entity_shape); - TopTools_ListOfShape s2s; - s2s.Append(opening_compound); - brep_cut.SetFuzzyValue(getValue(GV_PRECISION)); - brep_cut.SetArguments(s1s); - brep_cut.SetTools(s2s); - brep_cut.Build(); -#endif bool is_valid = false; if ( brep_cut.IsDone() ) { @@ -417,6 +410,93 @@ bool IfcGeom::Kernel::convert_openings_fast(const IfcSchema::IfcProduct* entity, } return true; } +#else +bool IfcGeom::Kernel::convert_openings_fast(const IfcSchema::IfcProduct* entity, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, + const IfcGeom::IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcGeom::IfcRepresentationShapeItems& cut_shapes) { + + TopTools_ListOfShape opening_shapelist; + + for ( IfcSchema::IfcRelVoidsElement::list::it it = openings->begin(); it != openings->end(); ++ it ) { + IfcSchema::IfcRelVoidsElement* v = *it; + IfcSchema::IfcFeatureElementSubtraction* fes = v->RelatedOpeningElement(); + if ( fes->is(IfcSchema::Type::IfcOpeningElement) ) { + if (!fes->hasRepresentation()) continue; + + // Convert the IfcRepresentation of the IfcOpeningElement + gp_Trsf opening_trsf; + if (fes->hasObjectPlacement()) { + try { + convert(fes->ObjectPlacement(),opening_trsf); + } catch (...) {} + } + + // Move the opening into the coordinate system of the IfcProduct + opening_trsf.PreMultiply(entity_trsf.Inverted()); + + IfcSchema::IfcProductRepresentation* prodrep = fes->Representation(); + IfcSchema::IfcRepresentation::list::ptr reps = prodrep->Representations(); + + IfcGeom::IfcRepresentationShapeItems opening_shapes; + + for ( IfcSchema::IfcRepresentation::list::it it2 = reps->begin(); it2 != reps->end(); ++ it2 ) { + convert_shapes(*it2,opening_shapes); + } + + for ( unsigned int i = 0; i < opening_shapes.size(); ++ i ) { + gp_GTrsf gtrsf = opening_shapes[i].Placement(); + gtrsf.PreMultiply(opening_trsf); + const TopoDS_Shape& opening_shape = gtrsf.Form() == gp_Other + ? BRepBuilderAPI_GTransform(opening_shapes[i].Shape(),gtrsf,true).Shape() + : (opening_shapes[i].Shape()).Moved(gtrsf.Trsf()); + opening_shapelist.Append(opening_shape); + } + + } + } + + // Iterate over the shapes of the IfcProduct + for ( IfcGeom::IfcRepresentationShapeItems::const_iterator it3 = entity_shapes.begin(); it3 != entity_shapes.end(); ++ it3 ) { + TopoDS_Shape entity_shape_solid; + const TopoDS_Shape& entity_shape_unlocated = ensure_fit_for_subtraction(it3->Shape(),entity_shape_solid); + const gp_GTrsf& entity_shape_gtrsf = it3->Placement(); + TopoDS_Shape entity_shape; + if ( entity_shape_gtrsf.Form() == gp_Other ) { + Logger::Message(Logger::LOG_WARNING,"Applying non uniform transformation to:",entity->entity); + entity_shape = BRepBuilderAPI_GTransform(entity_shape_unlocated,entity_shape_gtrsf,true).Shape(); + } else { + entity_shape = entity_shape_unlocated.Moved(entity_shape_gtrsf.Trsf()); + } + + BRepAlgoAPI_Cut brep_cut; + TopTools_ListOfShape s1s; + s1s.Append(entity_shape); + brep_cut.SetFuzzyValue(getValue(GV_PRECISION)); + brep_cut.SetArguments(s1s); + brep_cut.SetTools(opening_shapelist); + brep_cut.Build(); + + bool is_valid = false; + if ( brep_cut.IsDone() ) { + TopoDS_Shape brep_cut_result = brep_cut; + + BRepCheck_Analyzer analyser(brep_cut_result); + is_valid = analyser.IsValid() != 0; + if ( is_valid ) { + cut_shapes.push_back(IfcGeom::IfcRepresentationShapeItem(brep_cut_result, &it3->Style())); + } + } + if ( !is_valid ) { + // Apparently processing the boolean operation failed or resulted in an invalid result + // in which case the original shape without the subtractions is returned instead + // we try convert the openings in the original way, one by one. + Logger::Message(Logger::LOG_WARNING, "Subtracting combined openings compound failed:", entity->entity); + return false; + } + + } + return true; +} +#endif bool IfcGeom::Kernel::convert_wire_to_face(const TopoDS_Wire& wire, TopoDS_Face& face) { BRepBuilderAPI_MakeFace mf(wire, false); @@ -919,7 +999,7 @@ void IfcGeom::Kernel::remove_collinear_points_from_loop(TColgp_SequenceOfPnt& po to_remove[i-1] = true; } } - for (int i = to_remove.size() - 1; i >= 0; --i) { + for (int i = (int) to_remove.size() - 1; i >= 0; --i) { if (to_remove[i]) { polygon.Remove(i+1); } @@ -1020,7 +1100,12 @@ IfcGeom::BRepElement

    * IfcGeom::Kernel::create_brep_for_representation_and_pro if ( !settings.disable_opening_subtractions() && openings && openings->size() ) { IfcGeom::IfcRepresentationShapeItems opened_shapes; try { - if ( settings.faster_booleans() ) { +#if OCC_VERSION_HEX < 0x60900 + const bool faster_booleans = settings.faster_booleans(); +#else + const bool faster_booleans = true; +#endif + if (faster_booleans) { bool succes = convert_openings_fast(product,openings,shapes,trsf,opened_shapes); if ( ! succes ) { opened_shapes.clear(); From 9b13ed3f38cabcede6f34855db161a5ab884b015 Mon Sep 17 00:00:00 2001 From: aothms Date: Mon, 25 Jan 2016 14:25:24 +0100 Subject: [PATCH 060/157] Emit more debug information when failing to join curve segments --- src/ifcgeom/IfcGeomWires.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/ifcgeom/IfcGeomWires.cpp b/src/ifcgeom/IfcGeomWires.cpp index 99cdbff85b..d6e32ecbf0 100644 --- a/src/ifcgeom/IfcGeomWires.cpp +++ b/src/ifcgeom/IfcGeomWires.cpp @@ -168,6 +168,25 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCompositeCurve* l, TopoDS_Wire //last_vertex = w.Vertex(); if ( w.Error() != BRepBuilderAPI_WireDone ) { Logger::Message(Logger::LOG_ERROR,"Failed to join curve segments:",l->entity); + + TopoDS_Vertex v1, v2, last; + last = w.Vertex(); + + if (!last.IsNull()) { + std::stringstream ss; + gp_Pnt p = BRep_Tool::Pnt(last); + ss << std::setprecision(4) << "Last vertex at (" << p.X() << " " << p.Y() << " " << p.Z() << ")"; + Logger::Message(Logger::LOG_NOTICE, ss.str()); + } + + TopExp::Vertices(wire2, v1, v2); + if (!v1.IsNull()) { + std::stringstream ss; + gp_Pnt p = BRep_Tool::Pnt(v1); + ss << std::setprecision(4) << "Segment starts at (" << p.X() << " " << p.Y() << " " << p.Z() << ") for:"; + Logger::Message(Logger::LOG_NOTICE, ss.str(), (*it)->entity); + } + return false; } } From ed8cc620ead159bf7d6d6dea8f45dc601a2fe4bf Mon Sep 17 00:00:00 2001 From: aothms Date: Mon, 25 Jan 2016 14:42:41 +0100 Subject: [PATCH 061/157] Use boost::shared_ptr Fixes https://github.com/IfcOpenShell/IfcOpenShell/issues/17 --- src/ifcconvert/SvgSerializer.cpp | 2 +- src/ifcconvert/SvgSerializer.h | 12 ++++----- src/ifcconvert/util.cpp | 10 ++++---- src/ifcconvert/util.h | 10 ++++---- src/ifcgeom/IfcGeomFaces.cpp | 2 +- src/ifcparse/IfcEntityDescriptor.h | 3 ++- src/ifcparse/IfcParse.h | 2 +- src/ifcparse/IfcUtil.h | 11 ++++---- src/ifcparse/SharedPointer.h | 41 ------------------------------ win/sln/IfcParse.vcproj | 4 --- 10 files changed, 26 insertions(+), 71 deletions(-) delete mode 100644 src/ifcparse/SharedPointer.h diff --git a/src/ifcconvert/SvgSerializer.cpp b/src/ifcconvert/SvgSerializer.cpp index 32827ec2a7..310750ee73 100644 --- a/src/ifcconvert/SvgSerializer.cpp +++ b/src/ifcconvert/SvgSerializer.cpp @@ -294,7 +294,7 @@ void SvgSerializer::finalize() { const double cx = xmin * sc; const double cy = ymin * sc; - {std::vector< SHARED_PTR >::const_iterator it; + {std::vector< boost::shared_ptr >::const_iterator it; for (it = xcoords.begin(); it != xcoords.end(); ++it) { double& v = (*it)->value(); v = v * sc - cx; diff --git a/src/ifcconvert/SvgSerializer.h b/src/ifcconvert/SvgSerializer.h index 1c553e451d..46e44f73bb 100644 --- a/src/ifcconvert/SvgSerializer.h +++ b/src/ifcconvert/SvgSerializer.h @@ -40,9 +40,9 @@ protected: boost::optional section_height; bool rescale; std::multimap paths; - std::vector< SHARED_PTR > xcoords; - std::vector< SHARED_PTR > ycoords; - std::vector< SHARED_PTR > radii; + std::vector< boost::shared_ptr > xcoords; + std::vector< boost::shared_ptr > ycoords; + std::vector< boost::shared_ptr > radii; IfcParse::IfcFile* file; public: explicit SvgSerializer(const std::string& out_filename) @@ -55,9 +55,9 @@ public: , rescale(false) , file(0) {} - virtual void addXCoordinate(const SHARED_PTR& fi) { xcoords.push_back(fi); } - virtual void addYCoordinate(const SHARED_PTR& fi) { ycoords.push_back(fi); } - virtual void addSizeComponent(const SHARED_PTR& fi) { radii.push_back(fi); } + virtual void addXCoordinate(const boost::shared_ptr& fi) { xcoords.push_back(fi); } + virtual void addYCoordinate(const boost::shared_ptr& fi) { ycoords.push_back(fi); } + virtual void addSizeComponent(const boost::shared_ptr& fi) { radii.push_back(fi); } virtual void growBoundingBox(double x, double y) { if (x < xmin) xmin = x; if (x > xmax) xmax = x; if (y < ymin) ymin = y; if (y > ymax) ymax = y; } virtual ~SvgSerializer() {} virtual void writeHeader(); diff --git a/src/ifcconvert/util.cpp b/src/ifcconvert/util.cpp index 3e6668f53b..cde3645d72 100644 --- a/src/ifcconvert/util.cpp +++ b/src/ifcconvert/util.cpp @@ -24,19 +24,19 @@ using namespace util; -SHARED_PTR string_buffer::add(const std::string& s) { - SHARED_PTR i = SHARED_PTR(new string_item(s)); +boost::shared_ptr string_buffer::add(const std::string& s) { + boost::shared_ptr i = boost::shared_ptr(new string_item(s)); items.push_back(i); return i; } -SHARED_PTR string_buffer::add(const double& d) { - SHARED_PTR i = SHARED_PTR(new float_item(d)); +boost::shared_ptr string_buffer::add(const double& d) { + boost::shared_ptr i = boost::shared_ptr(new float_item(d)); items.push_back(i); return i; } std::string string_buffer::str() const { std::stringstream ss; - for (std::vector< SHARED_PTR >::const_iterator it = items.begin(); it != items.end(); ++it) { + for (std::vector< boost::shared_ptr >::const_iterator it = items.begin(); it != items.end(); ++it) { ss << (**it).str(); } return ss.str(); diff --git a/src/ifcconvert/util.h b/src/ifcconvert/util.h index ee69f9f3b6..3a52c05973 100644 --- a/src/ifcconvert/util.h +++ b/src/ifcconvert/util.h @@ -23,7 +23,7 @@ #include #include -#include "../ifcparse/SharedPointer.h" +#include namespace util { class string_buffer { @@ -51,12 +51,12 @@ namespace util { std::string str() const { std::stringstream ss; ss << d; return ss.str(); } }; private: - std::vector< SHARED_PTR > items; + std::vector< boost::shared_ptr > items; void clear(); - void assign(const std::vector< SHARED_PTR >& other); + void assign(const std::vector< boost::shared_ptr >& other); public: - SHARED_PTR add(const std::string& s); - SHARED_PTR add(const double& d); + boost::shared_ptr add(const std::string& s); + boost::shared_ptr add(const double& d); std::string str() const; }; } diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp index c655308b72..1e03911238 100644 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ b/src/ifcgeom/IfcGeomFaces.cpp @@ -892,7 +892,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcDerivedProfileDef* l, TopoDS_S #ifdef USE_IFC4 bool IfcGeom::Kernel::convert(const IfcSchema::IfcBSplineSurfaceWithKnots* l, TopoDS_Shape& face) { - SHARED_PTR< IfcTemplatedEntityListList > cps = l->ControlPointsList(); + boost::shared_ptr< IfcTemplatedEntityListList > cps = l->ControlPointsList(); std::vector uknots = l->UKnots(); std::vector vknots = l->VKnots(); std::vector umults = l->UMultiplicities(); diff --git a/src/ifcparse/IfcEntityDescriptor.h b/src/ifcparse/IfcEntityDescriptor.h index f65fb6d54e..12aa562c70 100644 --- a/src/ifcparse/IfcEntityDescriptor.h +++ b/src/ifcparse/IfcEntityDescriptor.h @@ -26,7 +26,8 @@ #include #include -#include "../ifcparse/SharedPointer.h" +#include + #include "../ifcparse/IfcUtil.h" #include "../ifcparse/IfcException.h" diff --git a/src/ifcparse/IfcParse.h b/src/ifcparse/IfcParse.h index 785e93f1f5..2733f26d83 100644 --- a/src/ifcparse/IfcParse.h +++ b/src/ifcparse/IfcParse.h @@ -37,9 +37,9 @@ #include #include +#include #include -#include "../ifcparse/SharedPointer.h" #include "../ifcparse/IfcCharacterDecoder.h" #include "../ifcparse/IfcUtil.h" diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index f0347cffe2..19ffead06c 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -26,10 +26,9 @@ #include #include +#include #include -#include "../ifcparse/SharedPointer.h" - #ifdef USE_IFC4 #include "../ifcparse/Ifc4enum.h" #else @@ -119,7 +118,7 @@ class IfcTemplatedEntityList; class IfcEntityList { std::vector ls; public: - typedef SHARED_PTR ptr; + typedef boost::shared_ptr ptr; typedef std::vector::const_iterator it; void push(IfcUtil::IfcBaseClass* l); void push(const ptr& l); @@ -143,7 +142,7 @@ template class IfcTemplatedEntityList { std::vector ls; public: - typedef SHARED_PTR< IfcTemplatedEntityList > ptr; + typedef boost::shared_ptr< IfcTemplatedEntityList > ptr; typedef typename std::vector::const_iterator it; void push(T* t) { if (t) { ls.push_back(t); } } void push(ptr t) { if (t) { for ( typename T::list::it it = t->begin(); it != t->end(); ++it ) push(*it); } } @@ -177,7 +176,7 @@ class IfcTemplatedEntityListList; class IfcEntityListList { std::vector< std::vector > ls; public: - typedef SHARED_PTR< IfcEntityListList > ptr; + typedef boost::shared_ptr< IfcEntityListList > ptr; typedef std::vector< std::vector >::const_iterator outer_it; typedef std::vector::const_iterator inner_it; void push(const std::vector& l) { @@ -231,7 +230,7 @@ template class IfcTemplatedEntityListList { std::vector< std::vector > ls; public: - typedef typename SHARED_PTR< IfcTemplatedEntityListList > ptr; + typedef typename boost::shared_ptr< IfcTemplatedEntityListList > ptr; typedef typename std::vector< std::vector >::const_iterator outer_it; typedef typename std::vector::const_iterator inner_it; void push(const std::vector& t) {ls.push_back(t);} diff --git a/src/ifcparse/SharedPointer.h b/src/ifcparse/SharedPointer.h deleted file mode 100644 index 3d261aa8c8..0000000000 --- a/src/ifcparse/SharedPointer.h +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************** - * * - * This file is part of IfcOpenShell. * - * * - * IfcOpenShell is free software: you can redistribute it and/or modify * - * it under the terms of the Lesser GNU General Public License as published by * - * the Free Software Foundation, either version 3.0 of the License, or * - * (at your option) any later version. * - * * - * IfcOpenShell is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * Lesser GNU General Public License for more details. * - * * - * You should have received a copy of the Lesser GNU General Public License * - * along with this program. If not, see . * - * * - ********************************************************************************/ - -/******************************************************************************** - * * - * This file defines the shared pointer implementation to use, shared pointers * - * are used extensively in IfcOpenShell * - * * - ********************************************************************************/ - -#ifdef __GNUC__ -#include -#define SHARED_PTR std::tr1::shared_ptr -#else -#if _MSC_VER >= 1600 -// MSVC 2008 does not have shared_ptr by default, but it comes -// in a feature pack. Therefore for IDEs prior to MSVC 2010 the -// shared_ptr that ships with boost is used. -#include -#define SHARED_PTR std::tr1::shared_ptr -#else -#include -#define SHARED_PTR boost::shared_ptr -#endif -#endif \ No newline at end of file diff --git a/win/sln/IfcParse.vcproj b/win/sln/IfcParse.vcproj index fa96845a7a..e36d27bd4c 100644 --- a/win/sln/IfcParse.vcproj +++ b/win/sln/IfcParse.vcproj @@ -319,10 +319,6 @@ RelativePath="..\..\src\ifcparse\IfcWrite.h" > - - From 5270710fc235665591b22246d762ab19b2146a4e Mon Sep 17 00:00:00 2001 From: aothms Date: Mon, 25 Jan 2016 14:44:35 +0100 Subject: [PATCH 062/157] Use vanilla C arrays instead of std::tr::array Fixes https://github.com/IfcOpenShell/IfcOpenShell/issues/17 --- src/ifcgeom/IfcGeomRenderStyles.cpp | 8 ++++---- src/ifcgeom/IfcGeomRenderStyles.h | 12 +----------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/src/ifcgeom/IfcGeomRenderStyles.cpp b/src/ifcgeom/IfcGeomRenderStyles.cpp index f8730391d6..2d9da9a042 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.cpp +++ b/src/ifcgeom/IfcGeomRenderStyles.cpp @@ -21,7 +21,7 @@ #include "IfcGeom.h" -bool process_colour(IfcSchema::IfcColourRgb* colour, std::tr1::array& rgb) { +bool process_colour(IfcSchema::IfcColourRgb* colour, double* rgb) { if (colour != 0) { rgb[0] = colour->Red(); rgb[1] = colour->Green(); @@ -30,7 +30,7 @@ bool process_colour(IfcSchema::IfcColourRgb* colour, std::tr1::array& return colour != 0; } -bool process_colour(IfcSchema::IfcNormalisedRatioMeasure* factor, std::tr1::array& rgb) { +bool process_colour(IfcSchema::IfcNormalisedRatioMeasure* factor, double* rgb) { if (factor != 0) { const double f = *factor; rgb[0] = rgb[1] = rgb[2] = f; @@ -38,7 +38,7 @@ bool process_colour(IfcSchema::IfcNormalisedRatioMeasure* factor, std::tr1::arra return factor != 0; } -bool process_colour(IfcSchema::IfcColourOrFactor* colour_or_factor, std::tr1::array& rgb) { +bool process_colour(IfcSchema::IfcColourOrFactor* colour_or_factor, double* rgb) { if (colour_or_factor == 0) { return false; } else if (colour_or_factor->is(IfcSchema::Type::IfcColourRgb)) { @@ -66,7 +66,7 @@ const IfcGeom::SurfaceStyle* IfcGeom::Kernel::get_style(const IfcSchema::IfcRepr } else { surface_style = SurfaceStyle(surface_style_id); } - std::tr1::array rgb; + double rgb[3]; if (process_colour(shading_styles.second->SurfaceColour(), rgb)) { surface_style.Diffuse().reset(SurfaceStyle::ColorComponent(rgb[0], rgb[1], rgb[2])); } diff --git a/src/ifcgeom/IfcGeomRenderStyles.h b/src/ifcgeom/IfcGeomRenderStyles.h index cd8d771246..d84b85d737 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.h +++ b/src/ifcgeom/IfcGeomRenderStyles.h @@ -20,16 +20,6 @@ #ifndef IFCGEOMRENDERSTYLES_H #define IFCGEOMRENDERSTYLES_H -#ifdef __GNUC__ -#include -#else -#if _MSC_VER < 1600 -#include -#else -#include -#endif -#endif - #ifdef USE_IFC4 #include "../ifcparse/Ifc4.h" #else @@ -41,7 +31,7 @@ namespace IfcGeom { public: class ColorComponent { private: - std::tr1::array data; + double data[3]; public: ColorComponent(double r, double g, double b) { data[0] = r; data[1] = g; data[2] = b; From a52901344c6fa1d19b9f1bac126ce1e32844f6b6 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 26 Jan 2016 13:41:19 +0200 Subject: [PATCH 063/157] build-deps.cmd: print start, end, and elapsed time + .gitignore doc tweak --- .gitignore | 1 + win/build-deps.cmd | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/.gitignore b/.gitignore index 2c5e2e40be..ba3b75032f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,6 @@ /build*/ /install*/ /win/BuildDepsCache*.txt +# IfcExpressParser residue /src/ifcexpressparser/__pycache__ /src/ifcexpressparser/express_parser.py diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 655163ab26..2ea1e471ae 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -115,8 +115,12 @@ call cecho.cmd 0 14 "Warning: You will need roughly 8 GB of disk space to procee echo. call cecho.cmd black cyan "If you are not ready with the above, press Ctrl-C to abort!" + pause echo. +set START_TIME=%TIME% +echo Build started at %START_TIME%. +echo. cd %DEPS_DIR% @@ -308,6 +312,22 @@ call %~dp0\utils\cecho.cmd 0 12 "An error occurred! Aborting!" goto :Finish :Finish +:: Print end time and elapsed time, http://stackoverflow.com/a/9935540 +set END_TIME=%TIME% +for /F "tokens=1-4 delims=:.," %%a in ("%START_TIME%") do ( + set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100" +) +for /F "tokens=1-4 delims=:.," %%a in ("%END_TIME%") do ( + set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100" +) +set /A elapsed=end-start +set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100 +if %mm% lss 10 set mm=0%mm% +if %ss% lss 10 set ss=0%ss% +if %cc% lss 10 set cc=0%cc% +echo. +echo Build ended at %END_TIME%. Time elapsed %hh%:%mm%:%ss%.%cc%. + set PATH=%ORIGINAL_PATH% cd %~dp0 endlocal From fe70acb541d1fec9685f63d3c00f33033f42ea37 Mon Sep 17 00:00:00 2001 From: aothms Date: Tue, 26 Jan 2016 16:45:39 +0100 Subject: [PATCH 064/157] Fix https://github.com/IfcOpenShell/IfcOpenShell/issues/26 --- src/ifcparse/IfcCharacterDecoder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ifcparse/IfcCharacterDecoder.cpp b/src/ifcparse/IfcCharacterDecoder.cpp index a49cee2eed..a3388e6cc5 100644 --- a/src/ifcparse/IfcCharacterDecoder.cpp +++ b/src/ifcparse/IfcCharacterDecoder.cpp @@ -208,7 +208,7 @@ IfcCharacterDecoder::operator std::string() { if ( hex_count == 2 ) parse_state = 0; else { CLEAR_HEX(parse_state); - parse_state += ENCOUNTERED_HEX; + parse_state |= ENCOUNTERED_HEX; } hex = hex_count = 0; } @@ -276,7 +276,7 @@ void IfcCharacterDecoder::dryRun() { if ( hex_count == 2 ) parse_state = 0; else { CLEAR_HEX(parse_state); - parse_state += ENCOUNTERED_HEX; + parse_state |= ENCOUNTERED_HEX; } hex_count = 0; } From 76a3146b70615440194805331bf09ead9c281696 Mon Sep 17 00:00:00 2001 From: aothms Date: Fri, 29 Jan 2016 15:25:18 +0100 Subject: [PATCH 065/157] Fix one statement deleted too much in https://github.com/IfcOpenShell/IfcOpenShell/commit/f3af39546be9ecd485737ff0954cfb92807fca1d --- src/ifcconvert/SvgSerializer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ifcconvert/SvgSerializer.cpp b/src/ifcconvert/SvgSerializer.cpp index 310750ee73..2b24512515 100644 --- a/src/ifcconvert/SvgSerializer.cpp +++ b/src/ifcconvert/SvgSerializer.cpp @@ -218,6 +218,8 @@ void SvgSerializer::write(const IfcGeom::BRepElement* o) { gp_GTrsf gtrsf = it->Placement(); const gp_Trsf& o_trsf = o->transformation().data(); + gtrsf.PreMultiply(o_trsf); + const TopoDS_Shape& s = it->Shape(); bool trsf_valid = false; From f4d58b39692b03f9f125404567fbb7e46cf38e4b Mon Sep 17 00:00:00 2001 From: aothms Date: Mon, 1 Feb 2016 14:58:42 +0100 Subject: [PATCH 066/157] Fix for IfcAdvancedFace when compiling for 2x3 --- src/ifcgeom/IfcGeomFaces.cpp | 16 ++++++++-------- src/ifcgeom/IfcRegister.h | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp index 1e03911238..6d83f90609 100644 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ b/src/ifcgeom/IfcGeomFaces.cpp @@ -889,6 +889,14 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcDerivedProfileDef* l, TopoDS_S } } +bool IfcGeom::Kernel::convert(const IfcSchema::IfcPlane* l, TopoDS_Shape& face) { + gp_Pln pln; + convert(l, pln); + Handle_Geom_Surface surf = new Geom_Plane(pln); + face = BRepBuilderAPI_MakeFace(surf, getValue(GV_PRECISION)); + return true; +} + #ifdef USE_IFC4 bool IfcGeom::Kernel::convert(const IfcSchema::IfcBSplineSurfaceWithKnots* l, TopoDS_Shape& face) { @@ -939,12 +947,4 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBSplineSurfaceWithKnots* l, To return true; } -bool IfcGeom::Kernel::convert(const IfcSchema::IfcPlane* l, TopoDS_Shape& face) { - gp_Pln pln; - convert(l, pln); - Handle_Geom_Surface surf = new Geom_Plane(pln); - face = BRepBuilderAPI_MakeFace(surf, getValue(GV_PRECISION)); - return true; -} - #endif \ No newline at end of file diff --git a/src/ifcgeom/IfcRegister.h b/src/ifcgeom/IfcRegister.h index dc231b2b40..305c0c9f5e 100644 --- a/src/ifcgeom/IfcRegister.h +++ b/src/ifcgeom/IfcRegister.h @@ -53,9 +53,9 @@ SHAPE(IfcCylindricalSurface); SHAPE(IfcAdvancedBrep); // FIXME: Surfaces should have a shape type of their own SHAPE(IfcBSplineSurfaceWithKnots); -SHAPE(IfcPlane); SHAPE(IfcTriangulatedFaceSet); #endif +SHAPE(IfcPlane); SHAPE(IfcExtrudedAreaSolid); SHAPE(IfcRevolvedAreaSolid); SHAPE(IfcConnectedFaceSet); From 18e451b8747560c48d4c3260f581598e76da04a6 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 19 Jan 2016 16:43:42 +0200 Subject: [PATCH 067/157] Windows build scripts: detect case where user installed Visual Studio but not the C++ toolset. Also detect case where user's CMake version is too old for the desired generator. --- README.md | 11 ++++++----- win/build-deps.cmd | 12 ++++++++++-- win/vs-cfg.cmd | 13 ++++++++++--- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 696cd75be4..304f93a90c 100644 --- a/README.md +++ b/README.md @@ -8,14 +8,14 @@ Open source (LGPL) software library for working with the IFC file format. Prerequisites ============= -* Git, CMake (2.6 or newer), Visual Studio 2008 or newer (Windows), or GCC (*nix, Clang untested). +* Git, CMake (2.6 or newer), Visual Studio 2008 or newer with C++ toolset (Windows), or GCC (*nix, Clang untested). Dependencies ============ * [Boost](http://www.boost.org/) * Open Cascade *optional*, but required for building IfcGeom - [Official](http://www.opencascade.org/getocc/download/loadocc/) or [community edition](https://github.com/tpaviot/oce) + ([official](http://www.opencascade.org/getocc/download/loadocc/) or [community edition](https://github.com/tpaviot/oce)) For converting IFC representation items into BRep solids and tesselated meshes * [ICU](http://site.icu-project.org/) *optional* For handling code pages and Unicode in the parser @@ -92,7 +92,10 @@ To build IfcOpenShell please take the following steps: $ cmake ../ $ make -If all worked out correctly you can now use IfcOpenShell. For example: +If all worked out correctly you can now use IfcOpenShell. See the examples below. + +Usage examples +============== **Invoking IfcConvert from the command line** @@ -101,8 +104,6 @@ If all worked out correctly you can now use IfcOpenShell. For example: $ ./IfcConvert Munkerud_hus6_BE.ifc $ less Munkerud_hus6_BE.obj -Or: - **Using the IfcOpenShell Python interface** $ wget -O duplex.zip http://projects.buildingsmartalliance.org/files/?artifact_id=4278 diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 2ea1e471ae..75ec4caa99 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -33,10 +33,18 @@ setlocal EnableDelayedExpansion :: Make sure vcvarsall.bat is called and dev env set is up. IF "%VSINSTALLDIR%"=="" ( - call utils\cecho.cmd 0 12 "Visual Studio environment variables not set - cannot proceed!" + call utils\cecho.cmd 0 12 "Visual Studio environment variables not set- cannot proceed." GOTO :ErrorAndPrintUsage ) +:: Check for cl.exe - at least the "Typical" Visual Studio 2015 installation does not include the C++ toolset by default, +:: http://blogs.msdn.com/b/vcblog/archive/2015/07/24/setup-changes-in-visual-studio-2015-affecting-c-developers.aspx +where cl.exe 2>&1>NUL +if not %ERRORLEVEL%==0 ( + call utils\cecho.cmd 0 12 "%~nx0: cl.exe not in PATH. Make sure to select the C++ toolset when installing Visual Studio- cannot proceed." + GOTO :ErrorAndPrintUsage +) + :: Set up variables depending on the used Visual Studio version call vs-cfg.cmd %1 %2 IF NOT %ERRORLEVEL%==0 GOTO :Error @@ -422,7 +430,7 @@ echo 2. Install Git and make sure 'git' is accessible from PATH. echo - http://code.google.com/p/tortoisegit/ echo 3. Install CMake and make sure 'cmake' is accessible from PATH. echo - http://www.cmake.org/ -echo 4. Visual Studio 2008 or newer (2013 or newer recommended). +echo 4. Visual Studio 2008 or newer (2013 or newer recommended) with C++ toolset. echo - https://www.visualstudio.com/ echo 5. Run this batch script with Visual Studio environment variables set. echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index cf70bb5265..9eb6494d8b 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -47,7 +47,7 @@ set GENERATORS[8]="Visual Studio 14 2015 Win64" set GENERATORS[9]="Visual Studio 14 2015" set LAST_GENERATOR_IDX=9 -REM Deduce desired architecture from the location of cl.exe +:: Deduce desired architecture from the location of cl.exe where cl.exe | findstr /r /c:"amd64" >nul set START=%ERRORLEVEL% set STEP=2 @@ -65,11 +65,18 @@ IF "!GENERATOR!"=="" IF NOT "%VisualStudioVersion%"=="" ( ) ) ) +:: Check that the used CMake version supports the chosen generator +set GENERATOR_CHECK=%GENERATOR: Win64=% +cmake --help | findstr /c:%GENERATOR_CHECK% +if not %ERRORLEVEL%==0 ( + call utils\cecho.cmd 0 12 "%~nx0: The used CMake version does not support '`"!GENERATOR!`'"- cannot proceed." + exit /b 1 +) FOR /l %%i in (0,1,%LAST_GENERATOR_IDX%) DO ( IF !GENERATOR!==!GENERATORS[%%i]! GOTO :GeneratorValid ) -call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'". Cannot proceed, aborting!" +call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'"- cannot proceed." echo Supported CMake generator strings: FOR /l %%i in (0,1,%LAST_GENERATOR_IDX%) DO ( echo !GENERATORS[%%i]! @@ -133,7 +140,7 @@ IF "!BUILD_CFG!"=="" ( ) IF NOT !BUILD_CFG!==%BUILD_CFG_MINSIZEREL% IF NOT !BUILD_CFG!==%BUILD_CFG_RELEASE% ( IF NOT !BUILD_CFG!==%BUILD_CFG_RELWITHDEBINFO% IF NOT !BUILD_CFG!==%BUILD_CFG_DEBUG% ( - call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed, aborting!" + call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed." exit /b 1 )) From c7bf03e8f807758990e9ec50e104e79faf62f44c Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 19 Jan 2016 17:03:05 +0200 Subject: [PATCH 068/157] Add set-python-to-path.bat helper, add instructions for using preinstalled Python. --- win/readme.md | 20 +++++++++++++++++++- win/set-python-to-path.bat | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 win/set-python-to-path.bat diff --git a/win/readme.md b/win/readme.md index 89a6922be0..8af62504c2 100644 --- a/win/readme.md +++ b/win/readme.md @@ -32,13 +32,30 @@ easily more than 2 GBs of RAM while converting. After this, one can build the project using the `IfcOpenShell.sln` file in the build folder. Build the `INSTALL` project if wanted. Convenience batch files `build-ifcopenshell.cmd` and `install-ifcopenshell.cmd` can also be used. The batch files -expect `%1` and `%2` in same fashion as above and possible extra parameters are passed for the `MSBuild`call. The project will +expect `%1` and `%2` in same fashion as above and possible extra parameters are passed for the `MSBuild` call. The project will be installed to `installed-vs-\` folder in the project's root folder and the required IfcOpenShell-Python parts are deployed to the `\Lib\site-packages\` folder. **Note:** All of the dependencies are build as static libraries against the static run-time allowing the developer to effortlessly deploy standalone IFCOS binaries. +Using an already existing Python installation +--------------------------------------------- + +Let's say you have already installed 64-bit Python 3.5.1 to `C:\Python3`. +Before building the dependencies, disable the script from installing Python: +``` +> set IFCOS_INSTALL_PYTHON=FALSE +> buid-deps.cmd +``` + +After bulding the dependencies, create BuildDepsCache file to `IfcOpenShell\win` which tells the used Python version and intallation directory: +``` +> echo PY_VER_MAJOR_MINOR=35> BuildDepsCache-x64.txt +> echo PYTHONPATH=C:\Python3>> BuildDepsCache-x64.txt +``` + +After this you should be able to run `run-cmake.bat` normally. If using 32-bit Python, the name of the file must be `BuildDepsCache-x86.txt`. Directory Structure ------------------ @@ -55,6 +72,7 @@ Directory Structure | install-ifcopenshell.cmd - Builds IFCOS's INSTALL project | readme.md - This file | run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS +| set-python-to-path.bat - Utility for setting PYTHONPATH (read from BuildDepsCache-.txt) to PATH | vs-cfg.cmd - Utility file used by the build scripts +---sln - Contains the old Visual Studio solution and project files \---utils - Contains various utilities for the build scripts diff --git a/win/set-python-to-path.bat b/win/set-python-to-path.bat new file mode 100644 index 0000000000..613a69c149 --- /dev/null +++ b/win/set-python-to-path.bat @@ -0,0 +1,36 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: :: +:: This file is part of IfcOpenShell. :: +:: :: +:: IfcOpenShell is free software: you can redistribute it and/or modify :: +:: it under the terms of the Lesser GNU General Public License as published by :: +:: the Free Software Foundation, either version 3.0 of the License, or :: +:: (at your option) any later version. :: +:: :: +:: IfcOpenShell is distributed in the hope that it will be useful, :: +:: but WITHOUT ANY WARRANTY; without even the implied warranty of :: +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the :: +:: Lesser GNU General Public License for more details. :: +:: :: +:: You should have received a copy of the Lesser GNU General Public License :: +:: along with this program. If not, see . :: +:: :: +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Pass x86 or x64 as %1, if not specified x64 assumed. + +@echo off +set TARGET_ARCH=%1 +if "%TARGET_ARCH%"=="" set TARGET_ARCH=x64 +if not exist BuildDepsCache-%TARGET_ARCH%.txt. ( + echo BuildDepsCache-%TARGET_ARCH%.txt does not exist + goto :EOF +) +for /f "delims== tokens=1,2" %%G in (BuildDepsCache-%TARGET_ARCH%.txt) do set %%G=%%H +if not defined PYTHONPATH ( + echo PYTHONPATH PYTHONPATH not defined + goto :EOF +) + +echo %PYTHONPATH% set to PATH +set PATH=%PYTHONPATH%;%PATH% From f2bdfbd049678b9ebaea287ee1d3cf632a1247fa Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 26 Jan 2016 09:21:38 +0200 Subject: [PATCH 069/157] Windows build scripts: move build configuration type to a separate file. --- win/build-deps.cmd | 16 +++++------ win/build-type-cfg.cmd | 60 ++++++++++++++++++++++++++++++++++++++++++ win/readme.md | 1 + win/run-cmake.bat | 8 +++--- win/vs-cfg.cmd | 50 +++++------------------------------ 5 files changed, 76 insertions(+), 59 deletions(-) create mode 100644 win/build-type-cfg.cmd diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 75ec4caa99..2115e2316b 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -46,16 +46,12 @@ if not %ERRORLEVEL%==0 ( ) :: Set up variables depending on the used Visual Studio version -call vs-cfg.cmd %1 %2 +call vs-cfg.cmd %1 +IF NOT %ERRORLEVEL%==0 GOTO :Error +call build-type-cfg.cmd %2 IF NOT %ERRORLEVEL%==0 GOTO :Error set BUILD_TYPE=%3 - -IF %GENERATOR%=="" ( - call cecho.cmd 0 12 "GENERATOR not specified - cannot proceed!" - GOTO :Error -) - IF "%BUILD_TYPE%"=="" set BUILD_TYPE=Build IF NOT "!BUILD_TYPE!"=="Build" IF NOT "!BUILD_TYPE!"=="Rebuild" IF NOT "!BUILD_TYPE!"=="Clean" ( @@ -71,9 +67,9 @@ IF NOT EXIST %INSTALL_DIR%. mkdir %INSTALL_DIR% IF %VS_VER%==2008 set PATH=C:\Windows\Microsoft.NET\Framework\v3.5;%PATH% :: User-configurable build options -IF "%IFCOS_INSTALL_PYTHON%"=="" set IFCOS_INSTALL_PYTHON=TRUE -IF "%IFCOS_USE_PYTHON2%"=="" set IFCOS_USE_PYTHON2=FALSE -IF "%IFCOS_NUM_BUILD_PROCS%"=="" set IFCOS_NUM_BUILD_PROCS=%NUMBER_OF_PROCESSORS% +IF NOT DEFINED IFCOS_INSTALL_PYTHON set IFCOS_INSTALL_PYTHON=TRUE +IF NOT DEFINED IFCOS_USE_PYTHON2 set IFCOS_USE_PYTHON2=FALSE +IF NOT DEFINED IFCOS_NUM_BUILD_PROCS set IFCOS_NUM_BUILD_PROCS=%NUMBER_OF_PROCESSORS% :: For subroutines set MSBUILD_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCS% /t:%BUILD_TYPE% diff --git a/win/build-type-cfg.cmd b/win/build-type-cfg.cmd new file mode 100644 index 0000000000..acb75d64ad --- /dev/null +++ b/win/build-type-cfg.cmd @@ -0,0 +1,60 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: :: +:: This file is part of IfcOpenShell. :: +:: :: +:: IfcOpenShell is free software: you can redistribute it and/or modify :: +:: it under the terms of the Lesser GNU General Public License as published by :: +:: the Free Software Foundation, either version 3.0 of the License, or :: +:: (at your option) any later version. :: +:: :: +:: IfcOpenShell is distributed in the hope that it will be useful, :: +:: but WITHOUT ANY WARRANTY; without even the implied warranty of :: +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the :: +:: Lesser GNU General Public License for more details. :: +:: :: +:: You should have received a copy of the Lesser GNU General Public License :: +:: along with this program. If not, see . :: +:: :: +::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::: + +:: This script initializes various CMake build configuration type related variables. +:: This batch file expects CMake build configuration type as %1. + +@echo off + +:: Set up variables depending on the used build configuration type. +set BUILD_CFG=%1 + +:: The default build types provided by CMake +set BUILD_CFG_MINSIZEREL=MinSizeRel +set BUILD_CFG_RELEASE=Release +set BUILD_CFG_RELWITHDEBINFO=RelWithDebInfo +set BUILD_CFG_DEBUG=Debug +set BUILD_CFG_DEFAULT=%BUILD_CFG_RELWITHDEBINFO% + +IF "!BUILD_CFG!"=="" ( + set BUILD_CFG=%BUILD_CFG_DEFAULT% + call utils\cecho.cmd 0 14 "%~nx0: Warning: BUILD_CFG not specified - using the default %BUILD_CFG_DEFAULT%" +) +IF NOT !BUILD_CFG!==%BUILD_CFG_MINSIZEREL% IF NOT !BUILD_CFG!==%BUILD_CFG_RELEASE% ( +IF NOT !BUILD_CFG!==%BUILD_CFG_RELWITHDEBINFO% IF NOT !BUILD_CFG!==%BUILD_CFG_DEBUG% ( + call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed." + exit /b 1 +)) + +:: DEBUG_OR_RELEASE and DEBUG_OR_RELEASE_LOWERCASE are "Debug" and "debug" for Debug build and "Release" and +:: "release" for all of the Release variants. +:: POSTFIX_D, POSTFIX_UNDERSCORE_D and POSTFIX_UNDERSCORE_DEBUG are helpers for performing file copies and +:: checking for existence of files. In release build these variables are empty. +set DEBUG_OR_RELEASE=Release +set DEBUG_OR_RELEASE_LOWERCASE=release +set POSTFIX_D= +set POSTFIX_UNDERSCORE_D= +set POSTFIX_UNDERSCORE_DEBUG= +IF %BUILD_CFG%==Debug ( + set DEBUG_OR_RELEASE=Debug + set DEBUG_OR_RELEASE_LOWERCASE=debug + set POSTFIX_D=d + set POSTFIX_UNDERSCORE_D=_d + set POSTFIX_UNDERSCORE_DEBUG=_debug +) diff --git a/win/readme.md b/win/readme.md index 8af62504c2..5cb1138074 100644 --- a/win/readme.md +++ b/win/readme.md @@ -69,6 +69,7 @@ Directory Structure | build-deps.cmd - Fetches and builds all needed dependencies for IFCOS | BuildDepsCache-.txt - Cache file created by build-deps.cmd | build-ifcopenshell.cmd - Builds IFCOS +| build-type-cfg.cmd - Utility file used by the build scripts | install-ifcopenshell.cmd - Builds IFCOS's INSTALL project | readme.md - This file | run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 6594a2812b..b3b7e1cd4c 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -24,7 +24,7 @@ set PROJECT_NAME=IfcOpenShell :: Enable the delayed environment variable expansion needed in vs-cfg.cmd. setlocal EnableDelayedExpansion -:: TODO Getting warning print in vs-cfg.cmd for missing build type although this script doesn't need it specified + call vs-cfg.cmd %1 IF NOT %ERRORLEVEL%==0 GOTO :Error @@ -39,7 +39,6 @@ IF NOT EXIST ..\%BUILD_DIR%. mkdir ..\%BUILD_DIR% pushd ..\%BUILD_DIR% set BOOST_ROOT=%DEPS_DIR%\boost -REM set BOOST_INCLUDEDIR=%DEPS_DIR%\boost set BOOST_LIBRARYDIR=%DEPS_DIR%\boost\stage\vs%VS_VER%-%VS_PLATFORM%\lib set ICU_INCLUDE_DIR=%INSTALL_DIR%\icu\include set ICU_LIBRARY_DIR=%INSTALL_DIR%\icu\lib @@ -47,8 +46,8 @@ set OCC_INCLUDE_DIR=%INSTALL_DIR%\oce\include\oce set OCC_LIBRARY_DIR=%INSTALL_DIR%\oce\Win%ARCH_BITS%\lib set OPENCOLLADA_INCLUDE_DIR=%INSTALL_DIR%\OpenCOLLADA\include\opencollada set OPENCOLLADA_LIBRARY_DIR=%INSTALL_DIR%\OpenCOLLADA\lib\opencollada -if "%PY_VER_MAJOR_MINOR%"=="" set PY_VER_MAJOR_MINOR=34 -if "%PYTHONPATH%"=="" set PYTHONPATH=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% +if not defined PY_VER_MAJOR_MINOR set PY_VER_MAJOR_MINOR=34 +if not defined PYTHONPATH set PYTHONPATH=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% set PYTHON_INCLUDE_DIR=%PYTHONPATH%\include set PYTHON_LIBRARY=%PYTHONPATH%\libs\python%PY_VER_MAJOR_MINOR%.lib set SWIG_DIR=%INSTALL_DIR%\swigwin @@ -62,7 +61,6 @@ echo All arguments = %* echo. call cecho.cmd 0 10 "Dependency Environment Variables for %PROJECT_NAME%:" echo BOOST_ROOT = %BOOST_ROOT% -REM echo BOOST_INCLUDEDIR = %BOOST_INCLUDEDIR% echo BOOST_LIBRARYDIR = %BOOST_LIBRARYDIR% echo ICU_INCLUDE_DIR = %ICU_INCLUDE_DIR% echo ICU_LIBRARY_DIR = %ICU_LIBRARY_DIR% diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index 9eb6494d8b..98bedad576 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -15,11 +15,11 @@ :: You should have received a copy of the Lesser GNU General Public License :: :: along with this program. If not, see . :: :: :: -::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::: -:: This script initializes various Visual Studio -related environment variables needed for building -:: This batch file expects CMake generator as %1 and build configuration type as %2. -:: If %1 is not provided, it is deduced from the VisualStudioVersion environment variable and from the location of cl.exe. +:: This script initializes various Visual Studio related environment variables needed for building. +:: the dependencies. This batch file expects a CMake generator as %1. If %1 is not provided, it is +:: deduced from the VisualStudioVersion environment variable and from the location of cl.exe. :: NOTE This batch file expects the generator string to be CMake 3.0.0 and newer format, i.e. :: "Visual Studio 10 2010" instead of "Visual Studio 10". However, one can use this batch file @@ -31,8 +31,7 @@ set GENERATOR=%1 -:: TODO IDEA: Take more user-friendly VS generators and convert them to the CMake ones? -:: F.ex. "vs2013-32" and/or "vc14-64" +:: TODO IDEA: Take more user-friendly VS generators (e.g. "vs2013-x86") and convert them to the CMake ones? :: Supported Visual Studio versions: set GENERATORS[0]="Visual Studio 9 2008 Win64" @@ -67,7 +66,7 @@ IF "!GENERATOR!"=="" IF NOT "%VisualStudioVersion%"=="" ( ) :: Check that the used CMake version supports the chosen generator set GENERATOR_CHECK=%GENERATOR: Win64=% -cmake --help | findstr /c:%GENERATOR_CHECK% +cmake --help | findstr /c:%GENERATOR_CHECK% >nul if not %ERRORLEVEL%==0 ( call utils\cecho.cmd 0 12 "%~nx0: The used CMake version does not support '`"!GENERATOR!`'"- cannot proceed." exit /b 1 @@ -124,43 +123,6 @@ set GENERATOR=%GENERATOR: 2010=% set VCPROJ_FILE_EXT=vcxproj IF %VS_VER%==2008 set VCPROJ_FILE_EXT=vcproj -:: Set up variables depending on the used build configuration type. -set BUILD_CFG=%2 - -:: The default build types provided by CMake -set BUILD_CFG_MINSIZEREL=MinSizeRel -set BUILD_CFG_RELEASE=Release -set BUILD_CFG_RELWITHDEBINFO=RelWithDebInfo -set BUILD_CFG_DEBUG=Debug -set BUILD_CFG_DEFAULT=%BUILD_CFG_RELWITHDEBINFO% - -IF "!BUILD_CFG!"=="" ( - set BUILD_CFG=%BUILD_CFG_DEFAULT% - call utils\cecho.cmd 0 14 "%~nx0: Warning: BUILD_CFG not specified - using the default %BUILD_CFG_DEFAULT%" -) -IF NOT !BUILD_CFG!==%BUILD_CFG_MINSIZEREL% IF NOT !BUILD_CFG!==%BUILD_CFG_RELEASE% ( -IF NOT !BUILD_CFG!==%BUILD_CFG_RELWITHDEBINFO% IF NOT !BUILD_CFG!==%BUILD_CFG_DEBUG% ( - call utils\cecho.cmd 0 12 "%~nx0: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed." - exit /b 1 -)) - -:: DEBUG_OR_RELEASE and DEBUG_OR_RELEASE_LOWERCASE are "Debug" and "debug" for Debug build and "Release" and -:: "release" for all of the Release variants. -:: POSTFIX_D, POSTFIX_UNDERSCORE_D and POSTFIX_UNDERSCORE_DEBUG are helpers for performing file copies and -:: checking for existence of files. In release build these variables are empty. -set DEBUG_OR_RELEASE=Release -set DEBUG_OR_RELEASE_LOWERCASE=release -set POSTFIX_D= -set POSTFIX_UNDERSCORE_D= -set POSTFIX_UNDERSCORE_DEBUG= -IF %BUILD_CFG%==Debug ( - set DEBUG_OR_RELEASE=Debug - set DEBUG_OR_RELEASE_LOWERCASE=debug - set POSTFIX_D=d - set POSTFIX_UNDERSCORE_D=_d - set POSTFIX_UNDERSCORE_DEBUG=_debug -) - :: Add utils to PATH set ORIGINAL_PATH=%PATH% set PATH=%PATH%;%~dp0utils From 01f8882311cddd4c5fe9be47d6f7775951651f03 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 31 Jan 2016 18:45:33 +0200 Subject: [PATCH 070/157] adjust build-ifcopenshell & install-ifcopenshell to the build cfg batch file change --- win/build-ifcopenshell.cmd | 4 +++- win/install-ifcopenshell.cmd | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/win/build-ifcopenshell.cmd b/win/build-ifcopenshell.cmd index c08858ae85..3b332de9e1 100644 --- a/win/build-ifcopenshell.cmd +++ b/win/build-ifcopenshell.cmd @@ -27,7 +27,9 @@ echo. :: Enable the delayed environment variable expansion needed in VSConfig.cmd. setlocal EnableDelayedExpansion -call vs-cfg.cmd %1 %2 +call vs-cfg.cmd %1 +IF NOT %ERRORLEVEL%==0 GOTO :Error +call build-type-cfg.cmd %2 IF NOT %ERRORLEVEL%==0 GOTO :Error echo. diff --git a/win/install-ifcopenshell.cmd b/win/install-ifcopenshell.cmd index d112772a90..99c743bd28 100644 --- a/win/install-ifcopenshell.cmd +++ b/win/install-ifcopenshell.cmd @@ -27,7 +27,9 @@ echo. :: Enable the delayed environment variable expansion needed in VSConfig.cmd. setlocal EnableDelayedExpansion -call vs-cfg.cmd %1 %2 +call vs-cfg.cmd %1 +IF NOT %ERRORLEVEL%==0 GOTO :Error +call build-type-cfg.cmd %2 IF NOT %ERRORLEVEL%==0 GOTO :Error echo. From a041d289c6db3eb3b4888d1c69b1d9e974c48ab5 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 31 Jan 2016 20:26:40 +0200 Subject: [PATCH 071/157] Add build-all.cmd script for convenience. --- win/build-all.cmd | 32 ++++++++++++++++++++++++++++++++ win/build-deps.cmd | 5 +++-- win/build-ifcopenshell.cmd | 4 +++- win/install-ifcopenshell.cmd | 4 +++- win/readme.md | 1 + win/run-cmake.bat | 5 +++-- 6 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 win/build-all.cmd diff --git a/win/build-all.cmd b/win/build-all.cmd new file mode 100644 index 0000000000..91caa9786c --- /dev/null +++ b/win/build-all.cmd @@ -0,0 +1,32 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: :: +:: This file is part of IfcOpenShell. :: +:: :: +:: IfcOpenShell is free software: you can redistribute it and/or modify :: +:: it under the terms of the Lesser GNU General Public License as published by :: +:: the Free Software Foundation, either version 3.0 of the License, or :: +:: (at your option) any later version. :: +:: :: +:: IfcOpenShell is distributed in the hope that it will be useful, :: +:: but WITHOUT ANY WARRANTY; without even the implied warranty of :: +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the :: +:: Lesser GNU General Public License for more details. :: +:: :: +:: You should have received a copy of the Lesser GNU General Public License :: +:: along with this program. If not, see . :: +:: :: +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: TODO Allow passing cmd line args +@echo off +:: Use "yes" trick to break the pause in build-deps.cmd +echo y>y.txt +call .\build-deps - - Created by build-deps.cmd, for a certain VS version and target architecture +---installed-vs- - Created by building the IFCOS's INSTALL project \---win +| build-all.cmd - Runs all of the build scripts for IFCOS and it dependencies in a row without pauses | build-deps.cmd - Fetches and builds all needed dependencies for IFCOS | BuildDepsCache-.txt - Cache file created by build-deps.cmd | build-ifcopenshell.cmd - Builds IFCOS diff --git a/win/run-cmake.bat b/win/run-cmake.bat index b3b7e1cd4c..7d482bc87e 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -97,14 +97,15 @@ REM ) ELSE ( REM ) echo. +set IFCOS_SCRIPT_RET=0 goto :Finish :Error echo. call %~dp0\utils\cecho.cmd 0 12 "An error occurred! Aborting!" +set IFCOS_SCRIPT_RET=1 goto :Finish :Finish popd -set PATH=%ORIGINAL_PATH% -endlocal +exit /b %IFCOS_SCRIPT_RET% From 634932e6e788dfff7675f59a3666d2cefe221480 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 1 Feb 2016 18:08:27 +0200 Subject: [PATCH 072/157] run-cmake.bat: set CMAKE_INSTALL_PREFIX also when passing extra parameters for the script --- win/run-cmake.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 7d482bc87e..1b84643bd6 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -88,7 +88,7 @@ REM IF NOT EXIST %PROJECT_NAME%.sln. ( REM i.e. they contain an equal sign, they will mess up the batch file argument parsing if the arguments are passed on REM by splitting them %2 %3 %4 %5 %6 %7 %8 %9. In the extra argument case trust that user has provided the generator REM as the first argument as pass all arguments as is by using %*. - cmake.exe %CMAKELISTS_DIR% -G %* + cmake.exe %CMAKELISTS_DIR% -G %* -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" ) IF NOT %ERRORLEVEL%==0 GOTO :Error REM ) ELSE ( From 2e6601b3e786d78c01497453a1ad7fdc316a2305 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 3 Feb 2016 12:01:53 +0200 Subject: [PATCH 073/157] build-deps.cmd: do not print build times if build did not even start properly. --- win/build-deps.cmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index e526309f70..b145347bf9 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -124,6 +124,7 @@ pause echo. set START_TIME=%TIME% echo Build started at %START_TIME%. +set BUILD_STARTED=TRUE echo. cd %DEPS_DIR% @@ -319,6 +320,7 @@ goto :Finish :Finish :: Print end time and elapsed time, http://stackoverflow.com/a/9935540 +if not defined BUILD_STARTED goto :BuildTimeSkipped set END_TIME=%TIME% for /F "tokens=1-4 delims=:.," %%a in ("%START_TIME%") do ( set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100" @@ -333,7 +335,7 @@ if %ss% lss 10 set ss=0%ss% if %cc% lss 10 set cc=0%cc% echo. echo Build ended at %END_TIME%. Time elapsed %hh%:%mm%:%ss%.%cc%. - +:BuildTimeSkipped set PATH=%ORIGINAL_PATH% cd %~dp0 exit /b %IFCOS_SCRIPT_RET% From 21e8a1e8e64ed9019adfb8bcb9e66d81359af0b1 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 3 Feb 2016 15:21:12 +0200 Subject: [PATCH 074/157] vs-cfg.cmd: provide support for user-friendly VS generators, e.g. vs2013-x86, and converted them to the appropriate CMake ones. --- win/readme.md | 9 +++++---- win/vs-cfg.cmd | 31 ++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/win/readme.md b/win/readme.md index 4f1ea5ca37..0c1f0357bf 100644 --- a/win/readme.md +++ b/win/readme.md @@ -16,10 +16,11 @@ running the script. `build-deps.cmd` expects a CMake generator as `%1` and a build configuration type (`RelWithDebInfo/Release/MinSizeRel/Debug`, defaults to `RelWithDebInfo`) as `%2`. If the generator is not provided, the generator is deduced from the Visual Studio -environment variables. A build type (`Build/Rebuild/Clean`, defaults to `Build`) can be provided as `%3`. See `vs-cfg.cmd` -if you wish to change the defaults. The batch file will create `deps\` and `deps-vs--installed\` -directories to the project root. Debug and release builds of the depedencies can co-exist by simply running -`build-deps.cmd Debug` and `build-deps.cmd `. +environment variables. User-friendly VS generator shorthands are supported, e.g. `vs2013-x86` or `vs2015-x64`, and these are +converted to the appropriate CMake ones by the scripts. A build type (`Build/Rebuild/Clean`, defaults to `Build`) can be +provided as `%3`. See `vs-cfg.cmd` if you wish to change the defaults. The batch file will create `deps\` and +`deps-vs--installed\` directories to the project root. Debug and release builds of the depedencies +can co-exist by simply running `build-deps.cmd Debug` and `build-deps.cmd `. After the dependencies are build, execute `run-cmake.bat`. The batch file expects always a CMake generator as `%1` (if not provided, the same default value as above is used), and the rest of possible parameters are passed as is. diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index 98bedad576..5b5d1de346 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -20,6 +20,7 @@ :: This script initializes various Visual Studio related environment variables needed for building. :: the dependencies. This batch file expects a CMake generator as %1. If %1 is not provided, it is :: deduced from the VisualStudioVersion environment variable and from the location of cl.exe. +:: User-friendly VS generators are allowed (e.g. "vs2013-x86") and converted to the appropriate CMake ones. :: NOTE This batch file expects the generator string to be CMake 3.0.0 and newer format, i.e. :: "Visual Studio 10 2010" instead of "Visual Studio 10". However, one can use this batch file @@ -31,8 +32,6 @@ set GENERATOR=%1 -:: TODO IDEA: Take more user-friendly VS generators (e.g. "vs2013-x86") and convert them to the CMake ones? - :: Supported Visual Studio versions: set GENERATORS[0]="Visual Studio 9 2008 Win64" set GENERATORS[1]="Visual Studio 9 2008" @@ -46,17 +45,35 @@ set GENERATORS[8]="Visual Studio 14 2015 Win64" set GENERATORS[9]="Visual Studio 14 2015" set LAST_GENERATOR_IDX=9 -:: Deduce desired architecture from the location of cl.exe -where cl.exe | findstr /r /c:"amd64" >nul -set START=%ERRORLEVEL% set STEP=2 +:: Is generator shorthand used? +set GEN_SHORTHAND=!GENERATOR:vs=! +if !GEN_SHORTHAND!==!GENERATOR! goto :GeneratorShorthandCheckDone +set START=%LAST_GENERATOR_IDX% +:: "echo if" trick from http://stackoverflow.com/a/8758579 +echo(!GEN_SHORTHAND! | findstr /c:"-x86" >nul && ( set START=1 ) +echo(!GEN_SHORTHAND! | findstr /c:"-x64" >nul && ( set START=0 ) +set VS_VER=!GEN_SHORTHAND:-x86=! +set VS_VER=!VS_VER:-x64=! +echo(!GENERATOR! | findstr /c:"vs20" >nul && ( + for /l %%i in (!START!,!STEP!,%LAST_GENERATOR_IDX%) do ( + echo(!GENERATORS[%%i]! | findstr /c:"!VS_VER!" >nul && ( + set GENERATOR=!GENERATORS[%%i]! + goto :GeneratorShorthandCheckDone + ) + ) +) +:GeneratorShorthandCheckDone + +:: Deduce desired architecture from the location of cl.exe +where cl.exe | findstr /c:"amd64" >nul +set START=%ERRORLEVEL% IF "!GENERATOR!"=="" IF NOT "%VisualStudioVersion%"=="" ( set VC_VER=%VisualStudioVersion:.0=% FOR /l %%i in (%START%,%STEP%,%LAST_GENERATOR_IDX%) DO ( - REM http://stackoverflow.com/a/8758579 REM NOTE add space before VC_VER so that e.g. "12" doesn't match with "2012" - echo(!GENERATORS[%%i]! | findstr /r /c:" !VC_VER!" >nul && ( + echo(!GENERATORS[%%i]! | findstr /c:" !VC_VER!" >nul && ( set GENERATOR=!GENERATORS[%%i]! call utils\cecho.cmd black cyan "Generator not passed, but VisualStudioVersion=%VisualStudioVersion% environment variable detected:" call utils\cecho.cmd black cyan "using '`"!GENERATOR!`'" as the generator." From 0fa05faee8fad46a39c0a4bc65e6dfc97fe33dd9 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 3 Feb 2016 16:01:06 +0200 Subject: [PATCH 075/157] Simplify run-cmake.bat, the script can now be used e.g. run-cmake.bat vs2015-x64 -UDUSE_IFC4=1 -DCMAKE_INSTALL_PREFIX=C:/IfcOpenShell/Ifc4 --- win/readme.md | 5 +++++ win/run-cmake.bat | 29 ++++++++++------------------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/win/readme.md b/win/readme.md index 0c1f0357bf..f91e3a7bae 100644 --- a/win/readme.md +++ b/win/readme.md @@ -24,6 +24,11 @@ can co-exist by simply running `build-deps.cmd Debug` and `build-dep After the dependencies are build, execute `run-cmake.bat`. The batch file expects always a CMake generator as `%1` (if not provided, the same default value as above is used), and the rest of possible parameters are passed as is. +If passing build options for the script, the generator must be always passed as the first option: +``` +> run-cmake.bat vs2015-x64 -DUSE_IFC4=1 -DBUILD_IFCPYTHON=0 +``` + **If you wish to use any library from a custom location, modify the paths in `run-cmake.bat` accordingly**. The batch script will create a folder of form `build-vs-\` which will contain the solution and project files for Visual Studio. diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 1b84643bd6..614173dc79 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -54,10 +54,13 @@ set SWIG_DIR=%INSTALL_DIR%\swigwin set PATH=%PATH%;%SWIG_DIR%;%PYTHONPATH% :: TODO 3ds Max SDK? +:: http://stackoverflow.com/a/26732879 +for /f "tokens=1,* delims= " %%a in ("%*") do set ALL_BUT_FIRST=%%b + echo. call cecho.cmd 0 10 "Script configuration:" echo CMake Generator = %GENERATOR% -echo All arguments = %* +echo All arguments = %ALL_BUT_FIRST% echo. call cecho.cmd 0 10 "Dependency Environment Variables for %PROJECT_NAME%:" echo BOOST_ROOT = %BOOST_ROOT% @@ -77,24 +80,12 @@ echo CMAKE_INSTALL_PREFIX = %CMAKE_INSTALL_PREFIX% echo. set CMAKELISTS_DIR=..\cmake -REM IF NOT EXIST %PROJECT_NAME%.sln. ( - IF EXIST CMakeCache.txt. del /Q CMakeCache.txt - call cecho.cmd 0 13 "Running CMake for %PROJECT_NAME%." - IF "%2"=="" ( - REM No extra arguments provided, trust that GENERATOR is set properly. - cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" - ) ELSE ( - REM Extra arguments has been provided. As CMake options are typically of format -DSOMETHING:BOOL=ON, - REM i.e. they contain an equal sign, they will mess up the batch file argument parsing if the arguments are passed on - REM by splitting them %2 %3 %4 %5 %6 %7 %8 %9. In the extra argument case trust that user has provided the generator - REM as the first argument as pass all arguments as is by using %*. - cmake.exe %CMAKELISTS_DIR% -G %* -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" - ) - IF NOT %ERRORLEVEL%==0 GOTO :Error -REM ) ELSE ( - REM call cecho.cmd 0 10 "%PROJECT_NAME%.sln exists. Skipping CMake call for %PROJECT_NAME%." - REM call cecho.cmd 0 10 "Delete %BUILD_DIR%\%PROJECT_NAME%.sln to trigger a CMake rerun." -REM ) +:: For now clear CMakeCache.txt always in order to assure that when changing build options everything goes smoothly. +IF EXIST CMakeCache.txt. del /Q CMakeCache.txt +call cecho.cmd 0 13 "Running CMake for %PROJECT_NAME%." +cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" %ALL_BUT_FIRST% +IF NOT %ERRORLEVEL%==0 GOTO :Error + echo. set IFCOS_SCRIPT_RET=0 From 5c07c8dc951fa18779aa82c82e5c66a82469fb8b Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 3 Feb 2016 16:15:40 +0200 Subject: [PATCH 076/157] run-cmake.bat print tweak --- win/run-cmake.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 614173dc79..4ab6751d27 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -59,8 +59,8 @@ for /f "tokens=1,* delims= " %%a in ("%*") do set ALL_BUT_FIRST=%%b echo. call cecho.cmd 0 10 "Script configuration:" -echo CMake Generator = %GENERATOR% -echo All arguments = %ALL_BUT_FIRST% +echo Generator = %GENERATOR% +echo Arguments = %ALL_BUT_FIRST% echo. call cecho.cmd 0 10 "Dependency Environment Variables for %PROJECT_NAME%:" echo BOOST_ROOT = %BOOST_ROOT% From 2e1699beea0c579992fc6f4fab46cb17353af3f6 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 3 Feb 2016 16:36:07 +0200 Subject: [PATCH 077/157] build-all.cmd: support for passing arguments, e.g. build-all.cmd vs2015-x64 RelWithDebInfo -DUSE_IFC4=1 -DENABLE_BUILD_OPTIMIZATIONS=1 --- win/build-all.cmd | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/win/build-all.cmd b/win/build-all.cmd index 91caa9786c..fab1b422a8 100644 --- a/win/build-all.cmd +++ b/win/build-all.cmd @@ -17,16 +17,23 @@ :: :: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: TODO Allow passing cmd line args +:: The first argument is assumed to be a CMake generator and it is passed for build-deps, run-cmake, build-ifcopenshell, +:: and install-ifcopenshell. The second argument is assumed to be a build configuration type and it is passed for build-deps, +:: build-ifcopenshell and install-ifcopenshell. The rest of the arguments are passed for run-cmake. +:: Usage example for doing an optimized vs2015-x64 build with debug information and using IFC 4: +:: > build-all.cmd vs2015-x64 RelWithDebInfo -DUSE_IFC4=1 -DENABLE_BUILD_OPTIMIZATIONS=1 @echo off + +for /f "tokens=2,* delims= " %%a in ("%*") do set ALL_BUT_FIRST_TWO=%%b + :: Use "yes" trick to break the pause in build-deps.cmd echo y>y.txt -call .\build-deps Date: Wed, 3 Feb 2016 22:16:50 +0200 Subject: [PATCH 078/157] Fix command-line argument parsing in run-cmake.bat and build-all.cmd --- win/build-all.cmd | 13 ++++++++++--- win/run-cmake.bat | 13 +++++++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/win/build-all.cmd b/win/build-all.cmd index fab1b422a8..00f9e779a7 100644 --- a/win/build-all.cmd +++ b/win/build-all.cmd @@ -22,16 +22,23 @@ :: build-ifcopenshell and install-ifcopenshell. The rest of the arguments are passed for run-cmake. :: Usage example for doing an optimized vs2015-x64 build with debug information and using IFC 4: :: > build-all.cmd vs2015-x64 RelWithDebInfo -DUSE_IFC4=1 -DENABLE_BUILD_OPTIMIZATIONS=1 + @echo off -for /f "tokens=2,* delims= " %%a in ("%*") do set ALL_BUT_FIRST_TWO=%%b +setlocal EnableDelayedExpansion +call vs-cfg.cmd %1 +if not %ERRORLEVEL%==0 GOTO :Error :: Use "yes" trick to break the pause in build-deps.cmd echo y>y.txt call .\build-deps %1 %2 Date: Wed, 3 Feb 2016 22:34:50 +0200 Subject: [PATCH 079/157] Fix warning regarding shadowing variable names. --- src/ifcgeom/IfcGeomFunctions.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index b70808fc77..1ed8ee1627 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -1275,8 +1275,7 @@ std::pair IfcGeom::Kernel::initializeUnits(IfcSchema::IfcUn } const IfcSchema::IfcRepresentationItem* IfcGeom::Kernel::find_item_carrying_style(const IfcSchema::IfcRepresentationItem* item) { - IfcSchema::IfcStyledItem::list::ptr styles = item->StyledByItem(); - if (styles->size()) { + if (item->StyledByItem()->size()) { return item; } @@ -1284,9 +1283,7 @@ const IfcSchema::IfcRepresentationItem* IfcGeom::Kernel::find_item_carrying_styl // All instantiations of IfcBooleanOperand (type of FirstOperand) are subtypes of // IfcGeometricRepresentationItem item = (IfcSchema::IfcGeometricRepresentationItem*) ((IfcSchema::IfcBooleanClippingResult*) item)->FirstOperand(); - - IfcSchema::IfcStyledItem::list::ptr styles = item->StyledByItem(); - if (styles->size()) { + if (item->StyledByItem()->size()) { return item; } } @@ -1297,4 +1294,4 @@ const IfcSchema::IfcRepresentationItem* IfcGeom::Kernel::find_item_carrying_styl // distinctly styled union operands. return item; -} \ No newline at end of file +} From 72999e04d938cab47af66737b752dee0a3dc8ba5 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 4 Feb 2016 00:43:52 +0200 Subject: [PATCH 080/157] vs-cfg.cmd: clean up output when used wrongly (VS tools not in path and empty/no generator argument passed). --- win/vs-cfg.cmd | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index 5b5d1de346..eb10384abf 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -48,7 +48,7 @@ set LAST_GENERATOR_IDX=9 set STEP=2 :: Is generator shorthand used? set GEN_SHORTHAND=!GENERATOR:vs=! -if !GEN_SHORTHAND!==!GENERATOR! goto :GeneratorShorthandCheckDone +if not "!GEN_SHORTHAND!"=="" if !GEN_SHORTHAND!==!GENERATOR! goto :GeneratorShorthandCheckDone set START=%LAST_GENERATOR_IDX% :: "echo if" trick from http://stackoverflow.com/a/8758579 echo(!GEN_SHORTHAND! | findstr /c:"-x86" >nul && ( set START=1 ) @@ -83,10 +83,12 @@ IF "!GENERATOR!"=="" IF NOT "%VisualStudioVersion%"=="" ( ) :: Check that the used CMake version supports the chosen generator set GENERATOR_CHECK=%GENERATOR: Win64=% -cmake --help | findstr /c:%GENERATOR_CHECK% >nul -if not %ERRORLEVEL%==0 ( - call utils\cecho.cmd 0 12 "%~nx0: The used CMake version does not support '`"!GENERATOR!`'"- cannot proceed." - exit /b 1 +IF "!GENERATOR_CHECK!"=="" ( + cmake --help | findstr /c:%GENERATOR_CHECK% >nul + if not %ERRORLEVEL%==0 ( + call utils\cecho.cmd 0 12 "%~nx0: The used CMake version does not support '`"!GENERATOR!`'"- cannot proceed." + exit /b 1 + ) ) FOR /l %%i in (0,1,%LAST_GENERATOR_IDX%) DO ( From 17ecc43f7892ae45b61519acca00883240762a87 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 4 Feb 2016 11:46:53 +0200 Subject: [PATCH 081/157] vs-cfg.cmd: remove if-clause, an erroneous syntax print comes if this script is called when VS env vars not set but that's OK. --- win/vs-cfg.cmd | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index eb10384abf..92c0a1217d 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -83,12 +83,10 @@ IF "!GENERATOR!"=="" IF NOT "%VisualStudioVersion%"=="" ( ) :: Check that the used CMake version supports the chosen generator set GENERATOR_CHECK=%GENERATOR: Win64=% -IF "!GENERATOR_CHECK!"=="" ( - cmake --help | findstr /c:%GENERATOR_CHECK% >nul - if not %ERRORLEVEL%==0 ( - call utils\cecho.cmd 0 12 "%~nx0: The used CMake version does not support '`"!GENERATOR!`'"- cannot proceed." - exit /b 1 - ) +cmake --help | findstr /c:%GENERATOR_CHECK% >nul +if not %ERRORLEVEL%==0 ( +call utils\cecho.cmd 0 12 "%~nx0: The used CMake version does not support '`"!GENERATOR!`'"- cannot proceed." +exit /b 1 ) FOR /l %%i in (0,1,%LAST_GENERATOR_IDX%) DO ( From 178c34fb22c2fd3bc3b0d243e22b0dfddfc22346 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 5 Feb 2016 14:48:51 +0200 Subject: [PATCH 082/157] README.md: document the supported IFC releases with links --- README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 304f93a90c..10d03630a1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ IfcOpenShell ============ -Open source (LGPL) software library for working with the IFC file format. +Open source (LGPL) software library for working with the IFC ([IFC2x3 TC1] and [IFC4]) file format. [http://ifcopenshell.org](http://ifcopenshell.org) [http://academy.ifcopenshell.org](http://academy.ifcopenshell.org) @@ -14,16 +14,16 @@ Prerequisites Dependencies ============ * [Boost](http://www.boost.org/) -* Open Cascade *optional*, but required for building IfcGeom +* Open Cascade - *optional*, but required for building IfcGeom ([official](http://www.opencascade.org/getocc/download/loadocc/) or [community edition](https://github.com/tpaviot/oce)) For converting IFC representation items into BRep solids and tesselated meshes -* [ICU](http://site.icu-project.org/) *optional* +* [ICU](http://site.icu-project.org/) - *optional* For handling code pages and Unicode in the parser -* [OpenCOLLADA](https://github.com/khronosGroup/OpenCOLLADA/) *optional* +* [OpenCOLLADA](https://github.com/khronosGroup/OpenCOLLADA/) - *optional* For IfcConvert to be able to write tessellated Collada (.dae) files -* [SWIG](http://www.swig.org/), [Python](https://www.python.org/) libraries *optional* +* [SWIG](http://www.swig.org/), [Python](https://www.python.org/) libraries - *optional* For building the IfcOpenShell Python interface and the Blender add-on -* 3ds Max SDK *optional* +* 3ds Max SDK - *optional* For building the 3ds Max plug-in @@ -165,4 +165,6 @@ Usage examples >>> # Writing IFC-SPF files to disk: >>> f.write("out.ifc") -[win/readme.md]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win/readme.md "win/readme.md" \ No newline at end of file +[win/readme.md]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win/readme.md "win/readme.md" +[IFC2x3 TC1]: http://www.buildingsmart-tech.org/specifications/ifc-releases/ifc2x3-tc1-release "IFC2x3 TC1" +[IFC4]: http://www.buildingsmart-tech.org/specifications/ifc-releases/ifc4-release "IFC4" \ No newline at end of file From 33772a47104cf2cfafb0ba8665c925cd1cf360fa Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 6 Feb 2016 18:48:18 +0200 Subject: [PATCH 083/157] run-cmake.bat & build-all.cmd: fix cmake arguments parsing when arguments passed for the batch scripts --- win/build-all.cmd | 4 ++-- win/run-cmake.bat | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/win/build-all.cmd b/win/build-all.cmd index 00f9e779a7..c907de928a 100644 --- a/win/build-all.cmd +++ b/win/build-all.cmd @@ -36,8 +36,8 @@ del .\y.txt if not %ERRORLEVEL%==0 goto :EOF :: Same trick as in run-cmake.bat set ARGUMENTS=%* -call set ARGUMENTS=%%ARGUMENTS:%1=%% -call set ARGUMENTS=%%ARGUMENTS:%2=%% +if not (%1)==() call set ARGUMENTS=%%ARGUMENTS:%1=%% +if not (%2)==() call set ARGUMENTS=%%ARGUMENTS:%2=%% call .\run-cmake %1 %ARGUMENTS% if not %ERRORLEVEL%==0 goto :EOF call .\build-ifcopenshell %1 %2 diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 61371539e2..d9fb548743 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -29,8 +29,10 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error :: As CMake options are typically of format -DSOMETHING:BOOL=ON or -DSOMETHING=1, i.e. they contain an equal sign, :: they will mess up the batch file argument parsing if the arguments are passed on by splitting them %2 %3 %4 %5 :: %6 %7 %8 %9. Work around that, http://scripts.dragon-it.co.uk/scripts.nsf/docs/batch-search-replace-substitute -set ARGUMENTS=%* -call set ARGUMENTS=%%ARGUMENTS:%1=%% +if not (%1)==() ( + set ARGUMENTS=%* + call set ARGUMENTS=%%ARGUMENTS:%1=%% +) :: Read Python related variables from BuildDepsCache.txt for /f "delims== tokens=1,2" %%G in (BuildDepsCache-%TARGET_ARCH%.txt) do set %%G=%%H From cde1c5f2ee7e894ce3f30e3f1ee29012ddce363b Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 7 Feb 2016 00:30:08 +0200 Subject: [PATCH 084/157] Add build option for using Visual Leak Detector for debugging memory leaks. Initial report: - IfcConvert (no arguments): 2 leaks (140 bytes) (from OCE) - IfcConvert (acad2010_objects.ifc): 47 memory leaks (6,158 bytes) - IfcGeomServer: 2 leaks (from OCE) - IfcOpenHouse: 11,952 leaks (1,169,658 bytes)! - IfcParseExamples (acad2010_objects.ifc): 40 memory leaks (4,564 bytes) --- cmake/CMakeLists.txt | 4 ++++ src/examples/IfcOpenHouse.cpp | 6 ++++++ src/examples/IfcParseExamples.cpp | 4 ++++ src/ifcconvert/IfcConvert.cpp | 4 ++++ src/ifcgeomserver/IfcGeomServer.cpp | 12 +++++++++++- 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index ef6fc19f60..68925c68c0 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -28,6 +28,7 @@ OPTION(ENABLE_BUILD_OPTIMIZATIONS "Enable certain compiler and linker optimizati OPTION(USE_IFC4 "Use IFC 4 instead of IFC 2x3 (full rebuild recommended when switching this)" OFF) OPTION(BUILD_IFCPYTHON "Build IfcPython." ON) OPTION(BUILD_EXAMPLES "Build example applications." ON) +OPTION(USE_VLC "Use Visual Leak Detector for debugging memory leaks, MSVC-only." OFF) # TODO QtViewer is deprecated ATM as it uses the 0.4 API # OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer (requires Qt 4 framework)." OFF) @@ -237,6 +238,9 @@ if(ENABLE_BUILD_OPTIMIZATIONS) endif() IF(MSVC) + IF(USE_VLC) + ADD_DEFINITIONS(-DUSE_VLC) + ENDIF() # Enforce Unicode for CRT and Win32 API calls ADD_DEFINITIONS(-D_UNICODE -DUNICODE) # Disable warnings about unsafe C functions; we could use the safe C99 & C11 versions if we have no need for supporting old compilers. diff --git a/src/examples/IfcOpenHouse.cpp b/src/examples/IfcOpenHouse.cpp index af9de2bebe..ce811161e7 100644 --- a/src/examples/IfcOpenHouse.cpp +++ b/src/examples/IfcOpenHouse.cpp @@ -41,6 +41,10 @@ #include "../ifcparse/IfcHierarchyHelper.h" #include "../ifcgeom/IfcGeom.h" +#if USE_VLC +#include +#endif + // Some convenience typedefs and definitions. typedef std::string S; typedef IfcParse::IfcGlobalId guid; @@ -531,6 +535,8 @@ void createGroundShape(TopoDS_Shape& shape) { TColStd_Array1OfInteger mult(0, 1); mult(0) = 5; mult(1) = 5; +#undef new + Handle(Geom_BSplineSurface) surf = new Geom_BSplineSurface(cv, knots, knots, mult, mult, 4, 4); #if OCC_VERSION_HEX < 0x60502 shape = BRepBuilderAPI_MakeFace(surf); diff --git a/src/examples/IfcParseExamples.cpp b/src/examples/IfcParseExamples.cpp index 342a6e8674..1d418ee628 100644 --- a/src/examples/IfcParseExamples.cpp +++ b/src/examples/IfcParseExamples.cpp @@ -19,6 +19,10 @@ #include "../ifcparse/IfcFile.h" +#if USE_VLC +#include +#endif + using namespace IfcSchema; int main(int argc, char** argv) { diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 73ecb1ad95..da8184acb7 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -46,6 +46,10 @@ #include #include +#if USE_VLC +#include +#endif + static std::string DEFAULT_EXTENSION = "obj"; void printVersion() { diff --git a/src/ifcgeomserver/IfcGeomServer.cpp b/src/ifcgeomserver/IfcGeomServer.cpp index fa3a356b4d..3ba7cedb82 100644 --- a/src/ifcgeomserver/IfcGeomServer.cpp +++ b/src/ifcgeomserver/IfcGeomServer.cpp @@ -37,6 +37,10 @@ #include "../ifcgeom/IfcGeomIterator.h" +#if USE_VLC +#include +#endif + using namespace boost; template @@ -282,7 +286,13 @@ public: Bye() : Command(BYE) {}; }; -int main () { +int main () +{ + // Memory leak debugging in MSVC debug mode +#if defined(_MSC_VER) && defined(_DEBUG) + _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); +#endif + // Redirect stdout to this stream, so that involuntary // writes to stdout do not interfere with our protocol. std::ostringstream oss; From 7b2197fa37d9d1a5272db47fa27c0098c5b9f932 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 7 Feb 2016 00:31:29 +0200 Subject: [PATCH 085/157] add /test/__pycache__ to ignore list --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index ba3b75032f..3b83ce65bc 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ # IfcExpressParser residue /src/ifcexpressparser/__pycache__ /src/ifcexpressparser/express_parser.py +# Python test residue +/test/__pycache__ From 450baf224f6c3b67d8d5ac13278323fbf652135e Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 7 Feb 2016 00:51:10 +0200 Subject: [PATCH 086/157] Remove accidentally committed lines --- src/examples/IfcOpenHouse.cpp | 2 -- src/ifcgeomserver/IfcGeomServer.cpp | 8 +------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/examples/IfcOpenHouse.cpp b/src/examples/IfcOpenHouse.cpp index ce811161e7..f27a34cf88 100644 --- a/src/examples/IfcOpenHouse.cpp +++ b/src/examples/IfcOpenHouse.cpp @@ -535,8 +535,6 @@ void createGroundShape(TopoDS_Shape& shape) { TColStd_Array1OfInteger mult(0, 1); mult(0) = 5; mult(1) = 5; -#undef new - Handle(Geom_BSplineSurface) surf = new Geom_BSplineSurface(cv, knots, knots, mult, mult, 4, 4); #if OCC_VERSION_HEX < 0x60502 shape = BRepBuilderAPI_MakeFace(surf); diff --git a/src/ifcgeomserver/IfcGeomServer.cpp b/src/ifcgeomserver/IfcGeomServer.cpp index 3ba7cedb82..f70d82f7a0 100644 --- a/src/ifcgeomserver/IfcGeomServer.cpp +++ b/src/ifcgeomserver/IfcGeomServer.cpp @@ -286,13 +286,7 @@ public: Bye() : Command(BYE) {}; }; -int main () -{ - // Memory leak debugging in MSVC debug mode -#if defined(_MSC_VER) && defined(_DEBUG) - _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); -#endif - +int main () { // Redirect stdout to this stream, so that involuntary // writes to stdout do not interfere with our protocol. std::ostringstream oss; From 61ccd8a7cffb1d4936b60f5db10da67b0bb73be9 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 7 Feb 2016 12:28:05 +0200 Subject: [PATCH 087/157] VLD, not VLC... --- cmake/CMakeLists.txt | 6 +++--- src/examples/IfcOpenHouse.cpp | 2 +- src/examples/IfcParseExamples.cpp | 2 +- src/ifcconvert/IfcConvert.cpp | 2 +- src/ifcgeomserver/IfcGeomServer.cpp | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 68925c68c0..dc567be5bf 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -28,7 +28,7 @@ OPTION(ENABLE_BUILD_OPTIMIZATIONS "Enable certain compiler and linker optimizati OPTION(USE_IFC4 "Use IFC 4 instead of IFC 2x3 (full rebuild recommended when switching this)" OFF) OPTION(BUILD_IFCPYTHON "Build IfcPython." ON) OPTION(BUILD_EXAMPLES "Build example applications." ON) -OPTION(USE_VLC "Use Visual Leak Detector for debugging memory leaks, MSVC-only." OFF) +OPTION(USE_VLD "Use Visual Leak Detector for debugging memory leaks, MSVC-only." OFF) # TODO QtViewer is deprecated ATM as it uses the 0.4 API # OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer (requires Qt 4 framework)." OFF) @@ -238,8 +238,8 @@ if(ENABLE_BUILD_OPTIMIZATIONS) endif() IF(MSVC) - IF(USE_VLC) - ADD_DEFINITIONS(-DUSE_VLC) + IF(USE_VLD) + ADD_DEFINITIONS(-DUSE_VLD) ENDIF() # Enforce Unicode for CRT and Win32 API calls ADD_DEFINITIONS(-D_UNICODE -DUNICODE) diff --git a/src/examples/IfcOpenHouse.cpp b/src/examples/IfcOpenHouse.cpp index f27a34cf88..c7414e76e7 100644 --- a/src/examples/IfcOpenHouse.cpp +++ b/src/examples/IfcOpenHouse.cpp @@ -41,7 +41,7 @@ #include "../ifcparse/IfcHierarchyHelper.h" #include "../ifcgeom/IfcGeom.h" -#if USE_VLC +#if USE_VLD #include #endif diff --git a/src/examples/IfcParseExamples.cpp b/src/examples/IfcParseExamples.cpp index 1d418ee628..7ae158a67f 100644 --- a/src/examples/IfcParseExamples.cpp +++ b/src/examples/IfcParseExamples.cpp @@ -19,7 +19,7 @@ #include "../ifcparse/IfcFile.h" -#if USE_VLC +#if USE_VLD #include #endif diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index da8184acb7..8f1e285ea8 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -46,7 +46,7 @@ #include #include -#if USE_VLC +#if USE_VLD #include #endif diff --git a/src/ifcgeomserver/IfcGeomServer.cpp b/src/ifcgeomserver/IfcGeomServer.cpp index f70d82f7a0..975c3c471e 100644 --- a/src/ifcgeomserver/IfcGeomServer.cpp +++ b/src/ifcgeomserver/IfcGeomServer.cpp @@ -37,7 +37,7 @@ #include "../ifcgeom/IfcGeomIterator.h" -#if USE_VLC +#if USE_VLD #include #endif From 993e322a8e3b71df661bcc313625995f53604f45 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 7 Feb 2016 13:14:14 +0200 Subject: [PATCH 088/157] Fix memory leakage from IfcSpfHeader --- src/ifcparse/IfcSpfHeader.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ifcparse/IfcSpfHeader.h b/src/ifcparse/IfcSpfHeader.h index 0b349003f5..44eb719932 100644 --- a/src/ifcparse/IfcSpfHeader.h +++ b/src/ifcparse/IfcSpfHeader.h @@ -43,7 +43,7 @@ protected: } } - ~HeaderEntity() { + virtual ~HeaderEntity() { delete _list; } @@ -166,7 +166,14 @@ public: _file_name = new FileName(); _file_schema = new FileSchema(); } - + + ~IfcSpfHeader() + { + delete _file_schema; + delete _file_name; + delete _file_description; + } + IfcSpfLexer* lexer() { return _lexer; } void lexer(IfcSpfLexer* l) { _lexer = l; } From 2f8fa3282bd634d5488126faa944e5f630290970 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 7 Feb 2016 22:45:42 +0200 Subject: [PATCH 089/157] Fix mem leak in IfcSpfStream (not closed upon destruction), make Entity's dtor virtual. --- src/ifcparse/IfcParse.cpp | 5 +++++ src/ifcparse/IfcParse.h | 2 +- src/ifcparse/IfcSpfStream.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index 764d5143fb..a32f64baad 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -127,6 +127,11 @@ IfcSpfStream::IfcSpfStream(void* data, int l) { len = l; } +IfcSpfStream::~IfcSpfStream() +{ + Close(); +} + void IfcSpfStream::Close() { #ifdef BUF_SIZE if ( paging ) fclose(stream); diff --git a/src/ifcparse/IfcParse.h b/src/ifcparse/IfcParse.h index 2733f26d83..16907cf786 100644 --- a/src/ifcparse/IfcParse.h +++ b/src/ifcparse/IfcParse.h @@ -248,7 +248,7 @@ namespace IfcParse { unsigned int offset; Entity(unsigned int i, IfcFile* t); Entity(unsigned int i, IfcFile* t, unsigned int o); - ~Entity(); + virtual ~Entity(); IfcEntityList::ptr getInverse(IfcSchema::Type::Enum type, int attribute_index); void Load(std::vector& ids, bool seek=false) const; Argument* getArgument (unsigned int i); diff --git a/src/ifcparse/IfcSpfStream.h b/src/ifcparse/IfcSpfStream.h index 9f5799f2a2..a3d947606c 100644 --- a/src/ifcparse/IfcSpfStream.h +++ b/src/ifcparse/IfcSpfStream.h @@ -64,6 +64,7 @@ namespace IfcParse { IfcSpfStream(const std::string& fn); IfcSpfStream(std::istream& f, int len); IfcSpfStream(void* data, int len); + ~IfcSpfStream(); /// Returns the character at the cursor char Peek(); /// Returns the character at specified offset From c575352d205735a9986ddb017d1acead649f8126 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 7 Feb 2016 23:01:34 +0200 Subject: [PATCH 090/157] ~IfcCharacterDecoder: call ucnv_flushCache() to fix two ICU mem leaks. --- src/ifcparse/IfcCharacterDecoder.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ifcparse/IfcCharacterDecoder.cpp b/src/ifcparse/IfcCharacterDecoder.cpp index a49cee2eed..30e8518cab 100644 --- a/src/ifcparse/IfcCharacterDecoder.cpp +++ b/src/ifcparse/IfcCharacterDecoder.cpp @@ -118,6 +118,7 @@ IfcCharacterDecoder::~IfcCharacterDecoder() { destination = 0; converter = 0; compatibility_converter = 0; + ucnv_flushCache(); #endif } IfcCharacterDecoder::operator std::string() { From 4979deb111983b0f711227ea7fa17ccee4f9d1bb Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Tue, 9 Feb 2016 15:51:18 +0200 Subject: [PATCH 091/157] CMakeLists.txt: Remove sources specific to an IFC release we are not using from the project --- cmake/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index dc567be5bf..a232058a13 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -276,14 +276,22 @@ endif() IF(USE_IFC4) ADD_DEFINITIONS(-DUSE_IFC4) + SET(IFC_RELEASE_NOT_USED "2x3") ELSE() ADD_DEFINITIONS(-DUSE_IFC2x3) # TODO Make all caps? i.e. USE_IFC2X3 + SET(IFC_RELEASE_NOT_USED "4") ENDIF() # IfcParse file(GLOB CPP_FILES ../src/ifcparse/*.cpp) file(GLOB H_FILES ../src/ifcparse/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) +# Remove sources specific to an IFC release we are not using +list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}.h) +list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}enum.h) +list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}-latebound.h) +list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}.cpp) +list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}-latebound.cpp) ADD_LIBRARY(IfcParse STATIC ${SOURCE_FILES}) IF(UNICODE_SUPPORT) TARGET_LINK_LIBRARIES(IfcParse ${ICU_LIBRARIES}) From f12e980bfe8fcd3455c1ba0ccaa9897d9a9b01e1 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 15 Feb 2016 15:08:13 +0200 Subject: [PATCH 092/157] build-all.cmd: simplify "yes" trick --- win/build-all.cmd | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/win/build-all.cmd b/win/build-all.cmd index c907de928a..4f29f0edd3 100644 --- a/win/build-all.cmd +++ b/win/build-all.cmd @@ -30,9 +30,7 @@ setlocal EnableDelayedExpansion call vs-cfg.cmd %1 if not %ERRORLEVEL%==0 GOTO :Error :: Use "yes" trick to break the pause in build-deps.cmd -echo y>y.txt -call .\build-deps %1 %2 Date: Mon, 15 Feb 2016 16:59:47 +0100 Subject: [PATCH 093/157] Add option to compile (external) schema by cmake --- cmake/CMakeLists.txt | 80 ++++++++++++++++++++++----- src/ifcexpressparser/bootstrap.py | 2 + src/ifcexpressparser/documentation.py | 11 +++- win/run-cmake.bat | 2 + 4 files changed, 79 insertions(+), 16 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a232058a13..b55c046949 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -47,6 +47,7 @@ UNIFY_ENVVARS_AND_CACHE(ICU_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(PCRE_LIBRARY_DIR) +UNIFY_ENVVARS_AND_CACHE(PYTHON_EXECUTABLE) # Find Boost IF(MSVC) @@ -274,25 +275,78 @@ if(NOT WIN32) INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} /usr/inc /usr/local/inc /usr/local/include/oce) endif() -IF(USE_IFC4) - ADD_DEFINITIONS(-DUSE_IFC4) - SET(IFC_RELEASE_NOT_USED "2x3") -ELSE() - ADD_DEFINITIONS(-DUSE_IFC2x3) # TODO Make all caps? i.e. USE_IFC2X3 - SET(IFC_RELEASE_NOT_USED "4") -ENDIF() +function(files_for_ifc_version IFC_VERSION RESULT_NAME) + set(IFC_PARSE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse) + set(${RESULT_NAME} + ${IFC_PARSE_DIR}/Ifc${IFC_VERSION}.h + ${IFC_PARSE_DIR}/Ifc${IFC_VERSION}enum.h + ${IFC_PARSE_DIR}/Ifc${IFC_VERSION}-latebound.h + ${IFC_PARSE_DIR}/Ifc${IFC_VERSION}.cpp + ${IFC_PARSE_DIR}/Ifc${IFC_VERSION}-latebound.cpp + PARENT_SCOPE + ) +endfunction() + +if(COMPILE_SCHEMA) + set(IFC_RELEASE_NOT_USED "2x3" "4") + + if(PYTHON_EXECUTABLE) + set(PYTHON_EXECUTABLE_USED ${PYTHON_EXECUTABLE}) + else() + set(PYTHON_EXECUTABLE_USED "python") + endif() + + # Install pyparsing if necessary + execute_process(COMMAND ${PYTHON_EXECUTABLE_USED} -m pip "list" OUTPUT_VARIABLE PYTHON_PACKAGE_LIST) + string(FIND "${PYTHON_PACKAGE_LIST}" pyparsing PYPARSING_FOUND) + if ("${PYPARSING_FOUND}" STREQUAL "-1") + message(STATUS "Installing pyparsing") + execute_process(COMMAND ${PYTHON_EXECUTABLE_USED} -m pip "install" --user pyparsing) + else() + message(STATUS "Python interpreter with pyparsing found") + endif() + + # Bootstrap the parser + message(STATUS "Compiling schema, this will take a while...") + execute_process(COMMAND ${PYTHON_EXECUTABLE_USED} bootstrap.py express.bnf + WORKING_DIRECTORY ../src/ifcexpressparser + OUTPUT_FILE express_parser.py) + + # Generate code + execute_process(COMMAND ${PYTHON_EXECUTABLE_USED} ../ifcexpressparser/express_parser.py ../../${COMPILE_SCHEMA} + WORKING_DIRECTORY ../src/ifcparse + OUTPUT_VARIABLE COMPILED_SCHEMA_NAME) + + # Prevent the schema that had just been compiled from being excluded + if(${COMPILED_SCHEMA_NAME} STREQUAL "IFC2X3") + list(REMOVE_ITEM IFC_RELEASE_NOT_USED "2x3") + elseif(${COMPILED_SCHEMA_NAME} STREQUAL "IFC4") + list(REMOVE_ITEM IFC_RELEASE_NOT_USED "4") + endif() +else() + if(USE_IFC4) + add_definitions(-DUSE_IFC4) + set(IFC_RELEASE_NOT_USED "2x3") + else() + add_definitions(-DUSE_IFC2x3) # TODO Make all caps? i.e. USE_IFC2X3 + set(IFC_RELEASE_NOT_USED "4") + endif() +endif() # IfcParse file(GLOB CPP_FILES ../src/ifcparse/*.cpp) file(GLOB H_FILES ../src/ifcparse/*.h) set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) -# Remove sources specific to an IFC release we are not using -list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}.h) -list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}enum.h) -list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}-latebound.h) -list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}.cpp) -list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcparse/Ifc${IFC_RELEASE_NOT_USED}-latebound.cpp) + +foreach(IFC_RELEASE ${IFC_RELEASE_NOT_USED}) + files_for_ifc_version(${IFC_RELEASE} SOURCE_FILES_NOT_USED) + foreach(SOURCE_FILE ${SOURCE_FILES_NOT_USED}) + list(REMOVE_ITEM SOURCE_FILES ${SOURCE_FILE}) + endforeach() +endforeach() + ADD_LIBRARY(IfcParse STATIC ${SOURCE_FILES}) + IF(UNICODE_SUPPORT) TARGET_LINK_LIBRARIES(IfcParse ${ICU_LIBRARIES}) ENDIF() diff --git a/src/ifcexpressparser/bootstrap.py b/src/ifcexpressparser/bootstrap.py index bb9e4a58e6..d59fe55048 100644 --- a/src/ifcexpressparser/bootstrap.py +++ b/src/ifcexpressparser/bootstrap.py @@ -184,4 +184,6 @@ enum_header.EnumHeader(mapping).emit() implementation.Implementation(mapping).emit() latebound_header.LateBoundHeader(mapping).emit() latebound_implementation.LateBoundImplementation(mapping).emit() + +sys.stdout.write(schema.name) """%('\n'.join(statements))) diff --git a/src/ifcexpressparser/documentation.py b/src/ifcexpressparser/documentation.py index e83bc132a8..ef8bde5a69 100644 --- a/src/ifcexpressparser/documentation.py +++ b/src/ifcexpressparser/documentation.py @@ -27,11 +27,15 @@ # # ############################################################################### -import re,csv +import re +import os import csv + try: from html.entities import entitydefs except: from htmlentitydefs import entitydefs +make_absolute = lambda fn: os.path.join(os.path.dirname(os.path.realpath(__file__)), fn) + name_to_oid = {} oid_to_desc = {} oid_to_name = {} @@ -39,6 +43,7 @@ oid_to_pid = {} regices = list(zip([re.compile(s,re.M) for s in [r'<[\w\n=" \-/\.;_\t:%#,\?\(\)]+>',r'(\n[\t ]*){2,}',r'^[\t ]+']],['','\n\n',' '])) definition_files = ['DocEntity.csv', 'DocEnumeration.csv', 'DocDefined.csv', 'DocSelect.csv'] +definition_files = map(make_absolute, definition_files) for fn in definition_files: with open(fn) as f: for oid, name, desc in csv.reader(f, delimiter=';', quotechar='"'): @@ -46,11 +51,11 @@ for fn in definition_files: oid_to_name[oid] = name oid_to_desc[oid] = desc -with open('DocEntityAttributes.csv') as f: +with open(make_absolute('DocEntityAttributes.csv')) as f: for pid, x, oid in csv.reader(f, delimiter=';', quotechar='"'): oid_to_pid[oid] = pid -with open('DocAttribute.csv') as f: +with open(make_absolute('DocAttribute.csv')) as f: for oid, name, desc in csv.reader(f, delimiter=';', quotechar='"'): pid = oid_to_pid[oid] pname = oid_to_name[pid] diff --git a/win/run-cmake.bat b/win/run-cmake.bat index d9fb548743..c714b72484 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -56,6 +56,7 @@ if not defined PY_VER_MAJOR_MINOR set PY_VER_MAJOR_MINOR=34 if not defined PYTHONPATH set PYTHONPATH=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% set PYTHON_INCLUDE_DIR=%PYTHONPATH%\include set PYTHON_LIBRARY=%PYTHONPATH%\libs\python%PY_VER_MAJOR_MINOR%.lib +set PYTHON_EXECUTABLE=%PYTHONPATH%\python.exe set SWIG_DIR=%INSTALL_DIR%\swigwin set PATH=%PATH%;%SWIG_DIR%;%PYTHONPATH% :: TODO 3ds Max SDK? @@ -77,6 +78,7 @@ echo OPENCOLLADA_LIBRARY_DIR = %OPENCOLLADA_LIBRARY_DIR% echo PYTHONPATH = %PYTHONPATH% echo PYTHON_INCLUDE_DIR = %PYTHON_INCLUDE_DIR% echo PYTHON_LIBRARY = %PYTHON_LIBRARY% +echo PYTHON_EXECUTABLE = %PYTHON_EXECUTABLE% echo SWIG_DIR = %SWIG_DIR% echo. echo CMAKE_INSTALL_PREFIX = %CMAKE_INSTALL_PREFIX% From c3f1b41860a622475a9b77bf43078df68bd07ef7 Mon Sep 17 00:00:00 2001 From: aothms Date: Mon, 15 Feb 2016 17:59:31 +0100 Subject: [PATCH 094/157] Fix https://github.com/IfcOpenShell/IfcOpenShell/issues/30 --- src/ifcgeom/IfcGeomShapes.cpp | 13 +- src/ifcgeom/IfcRepresentationShapeItem.h | 1 + test/input/mapped_item_style.ifc | 183 +++++++++++++++++++++++ 3 files changed, 196 insertions(+), 1 deletion(-) create mode 100644 test/input/mapped_item_style.ifc diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 0e1b0747cb..858ef9626c 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -534,11 +534,22 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcMappedItem* l, IfcRepresentati trsf = trsf_2d; } gtrsf.Multiply(trsf); + + const IfcGeom::SurfaceStyle* mapped_item_style = get_style(l); + const unsigned int previous_size = (const unsigned int) shapes.size(); - bool b = convert_shapes(map->MappedRepresentation(),shapes); + bool b = convert_shapes(map->MappedRepresentation(), shapes); + for ( unsigned int i = previous_size; i < shapes.size(); ++ i ) { shapes[i].append(gtrsf); + + // Apply styles assigned to the mapped item only if on + // a more granular level no styles have been applied + if (!shapes[i].hasStyle()) { + shapes[i].setStyle(mapped_item_style); + } } + return b; } diff --git a/src/ifcgeom/IfcRepresentationShapeItem.h b/src/ifcgeom/IfcRepresentationShapeItem.h index 88ac340214..1d2c3fa8b5 100644 --- a/src/ifcgeom/IfcRepresentationShapeItem.h +++ b/src/ifcgeom/IfcRepresentationShapeItem.h @@ -46,6 +46,7 @@ namespace IfcGeom { const gp_GTrsf& Placement() const { return placement; } bool hasStyle() const { return style != 0; } const SurfaceStyle& Style() const { return *style; } + void setStyle(const SurfaceStyle* style) { this->style = style; } }; typedef std::vector IfcRepresentationShapeItems; } diff --git a/test/input/mapped_item_style.ifc b/test/input/mapped_item_style.ifc new file mode 100644 index 0000000000..61c905545c --- /dev/null +++ b/test/input/mapped_item_style.ifc @@ -0,0 +1,183 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (('ViewDefinition [CoordinationView_V2.0]'), '2;1'); +FILE_NAME ('GreenPipe', '2015-11-18T12:57:39', ('- -'), ('-'), 'BSProLib (15th of March 2014)', 'MagiCAD HPV 2014.4', ' '); +FILE_SCHEMA (('IFC2X3')); +ENDSEC; +DATA; +#1 = IFCOWNERHISTORY(#2, #3, $, .ADDED., $, $, $, 1447851459); +#2 = IFCPERSONANDORGANIZATION(#4, #5, $); +#3 = IFCAPPLICATION(#6, 'Not Defined', 'Not Defined', 'Not Defined'); +#4 = IFCPERSON($, $, $, $, $, $, $, $); +#5 = IFCORGANIZATION($, 'simplebim', $, $, $); +#6 = IFCORGANIZATION($, 'Datacubist', $, $, $); +#7 = IFCBUILDING('026Lkbgdr7wf6pe_Hm4pbI', #8, $, $, '', #139, $, $, .ELEMENT., $, $, $); +#8 = IFCOWNERHISTORY(#9, #12, $, .NOCHANGE., $, $, $, 1422863967); +#9 = IFCPERSONANDORGANIZATION(#10, #11, $); +#10 = IFCPERSON($, '-', '-', $, $, $, $, $); +#11 = IFCORGANIZATION($, '-', $, $, $); +#12 = IFCAPPLICATION(#11, '2012.11', 'MagiCAD HPV 2012.11', 'MagiCAD HPV'); +#13 = IFCBUILDINGSTOREY('0AhpSxd0P1QRiBUgahlB62', #8, '3. etasje', $, '', #141, $, $, .ELEMENT., 55900.); +#14 = IFCFLOWSEGMENT('0k6g4TkpX8LvcVQUYZl7mx', #15, $, $, '', #144, #17, $); +#15 = IFCOWNERHISTORY(#9, #16, $, .NOCHANGE., $, $, $, 1429106599); +#16 = IFCAPPLICATION(#11, '2014.4', 'MagiCAD HPV 2014.4', 'MagiCAD HPV'); +#17 = IFCPRODUCTDEFINITIONSHAPE($, $, (#18)); +#18 = IFCSHAPEREPRESENTATION(#19, 'Body', 'MappedRepresentation', (#27)); +#19 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #20, $, .MODEL_VIEW., $); +#20 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 1.E-5, #21, $); +#21 = IFCAXIS2PLACEMENT3D(#22, #23, #24); +#22 = IFCCARTESIANPOINT((0., 0., 0.)); +#23 = IFCDIRECTION((0., 0., 1.)); +#24 = IFCDIRECTION((1., 0., 0.)); +#25 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #20, $, .MODEL_VIEW., $); +#26 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #20, $, .MODEL_VIEW., $); +#27 = IFCMAPPEDITEM(#28, #113); +#28 = IFCREPRESENTATIONMAP(#29, #30); +#29 = IFCAXIS2PLACEMENT3D(#22, #23, #24); +#30 = IFCSHAPEREPRESENTATION(#19, 'Body', 'SurfaceModel', (#31)); +#31 = IFCSHELLBASEDSURFACEMODEL((#32)); +#32 = IFCOPENSHELL((#33, #40, #45, #50, #55, #60, #65, #70, #75, #80, #85, #90, #95, #100, #105, #110)); +#33 = IFCFACE((#34)); +#34 = IFCFACEOUTERBOUND(#35, .T.); +#35 = IFCPOLYLOOP((#36, #37, #38, #39)); +#36 = IFCCARTESIANPOINT((-725., 383.1113, -115.00318)); +#37 = IFCCARTESIANPOINT((-725., 397.9585, 40.36126)); +#38 = IFCCARTESIANPOINT((725., 397.9585, 40.36126)); +#39 = IFCCARTESIANPOINT((725., 383.1113, -115.00318)); +#40 = IFCFACE((#41)); +#41 = IFCFACEOUTERBOUND(#42, .T.); +#42 = IFCPOLYLOOP((#37, #43, #44, #38)); +#43 = IFCCARTESIANPOINT((-725., 352.22013, 189.58107)); +#44 = IFCCARTESIANPOINT((725., 352.22013, 189.58107)); +#45 = IFCFACE((#46)); +#46 = IFCFACEOUTERBOUND(#47, .T.); +#47 = IFCPOLYLOOP((#43, #48, #49, #44)); +#48 = IFCCARTESIANPOINT((-725., 252.85943, 309.93888)); +#49 = IFCCARTESIANPOINT((725., 252.85943, 309.93888)); +#50 = IFCFACE((#51)); +#51 = IFCFACEOUTERBOUND(#52, .T.); +#52 = IFCPOLYLOOP((#48, #53, #54, #49)); +#53 = IFCCARTESIANPOINT((-725., 115.00318, 383.1113)); +#54 = IFCCARTESIANPOINT((725., 115.00318, 383.1113)); +#55 = IFCFACE((#56)); +#56 = IFCFACEOUTERBOUND(#57, .T.); +#57 = IFCPOLYLOOP((#53, #58, #59, #54)); +#58 = IFCCARTESIANPOINT((-725., -40.36126, 397.9585)); +#59 = IFCCARTESIANPOINT((725., -40.36126, 397.9585)); +#60 = IFCFACE((#61)); +#61 = IFCFACEOUTERBOUND(#62, .T.); +#62 = IFCPOLYLOOP((#58, #63, #64, #59)); +#63 = IFCCARTESIANPOINT((-725., -189.58107, 352.22013)); +#64 = IFCCARTESIANPOINT((725., -189.58107, 352.22013)); +#65 = IFCFACE((#66)); +#66 = IFCFACEOUTERBOUND(#67, .T.); +#67 = IFCPOLYLOOP((#63, #68, #69, #64)); +#68 = IFCCARTESIANPOINT((-725., -309.93888, 252.85943)); +#69 = IFCCARTESIANPOINT((725., -309.93888, 252.85943)); +#70 = IFCFACE((#71)); +#71 = IFCFACEOUTERBOUND(#72, .T.); +#72 = IFCPOLYLOOP((#68, #73, #74, #69)); +#73 = IFCCARTESIANPOINT((-725., -383.1113, 115.00318)); +#74 = IFCCARTESIANPOINT((725., -383.1113, 115.00318)); +#75 = IFCFACE((#76)); +#76 = IFCFACEOUTERBOUND(#77, .T.); +#77 = IFCPOLYLOOP((#73, #78, #79, #74)); +#78 = IFCCARTESIANPOINT((-725., -397.9585, -40.36126)); +#79 = IFCCARTESIANPOINT((725., -397.9585, -40.36126)); +#80 = IFCFACE((#81)); +#81 = IFCFACEOUTERBOUND(#82, .T.); +#82 = IFCPOLYLOOP((#78, #83, #84, #79)); +#83 = IFCCARTESIANPOINT((-725., -352.22013, -189.58107)); +#84 = IFCCARTESIANPOINT((725., -352.22013, -189.58107)); +#85 = IFCFACE((#86)); +#86 = IFCFACEOUTERBOUND(#87, .T.); +#87 = IFCPOLYLOOP((#83, #88, #89, #84)); +#88 = IFCCARTESIANPOINT((-725., -252.85943, -309.93888)); +#89 = IFCCARTESIANPOINT((725., -252.85943, -309.93888)); +#90 = IFCFACE((#91)); +#91 = IFCFACEOUTERBOUND(#92, .T.); +#92 = IFCPOLYLOOP((#88, #93, #94, #89)); +#93 = IFCCARTESIANPOINT((-725., -115.00318, -383.1113)); +#94 = IFCCARTESIANPOINT((725., -115.00318, -383.1113)); +#95 = IFCFACE((#96)); +#96 = IFCFACEOUTERBOUND(#97, .T.); +#97 = IFCPOLYLOOP((#93, #98, #99, #94)); +#98 = IFCCARTESIANPOINT((-725., 40.36126, -397.9585)); +#99 = IFCCARTESIANPOINT((725., 40.36126, -397.9585)); +#100 = IFCFACE((#101)); +#101 = IFCFACEOUTERBOUND(#102, .T.); +#102 = IFCPOLYLOOP((#98, #103, #104, #99)); +#103 = IFCCARTESIANPOINT((-725., 189.58107, -352.22013)); +#104 = IFCCARTESIANPOINT((725., 189.58107, -352.22013)); +#105 = IFCFACE((#106)); +#106 = IFCFACEOUTERBOUND(#107, .T.); +#107 = IFCPOLYLOOP((#103, #108, #109, #104)); +#108 = IFCCARTESIANPOINT((-725., 309.93888, -252.85943)); +#109 = IFCCARTESIANPOINT((725., 309.93888, -252.85943)); +#110 = IFCFACE((#111)); +#111 = IFCFACEOUTERBOUND(#112, .T.); +#112 = IFCPOLYLOOP((#108, #36, #39, #109)); +#113 = IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM($, $, #22, 2.689655, $, 1., 1.); +#114 = IFCPROJECT('0EHdefYCr4XA02OBEnhWph', #8, $, $, '', $, $, (#20), #148); +#115 = IFCSITE('0yjrC3GhPFGhTAhGjFoXgU', #8, $, $, '', #137, $, $, .ELEMENT., $, $, $, $, $); +#116 = IFCDUCTSEGMENTTYPE('33ZUtxFLT3oflCfdbTV7YR', #15, 'Sirk. kanal, Forsinket st\X\E5l', '2-SIRK', $, (#119), $, $, $, .RIGIDSEGMENT.); +#117 = IFCCLASSIFICATIONREFERENCE($, 'VB2.121212', 'Not defined', #118); +#118 = IFCCLASSIFICATION('NS', '', $, 'NS3420'); +#119 = IFCPROPERTYSET('0KogclmVD8u9NLoxd55q2Z', #1, 'Pset_DuctSegmentTypeCommon', $, (#120, #121)); +#120 = IFCPROPERTYSINGLEVALUE('Length', $, IFCPOSITIVELENGTHMEASURE(3900.), $); +#121 = IFCPROPERTYLISTVALUE('NominalDiameterOrWidth', $, (IFCPOSITIVELENGTHMEASURE(800.)), $); +#122 = IFCRELDEFINESBYTYPE('2QWHtAK4v0NuXpTn$cwRcO', #1, $, $, (#14), #116); +#123 = IFCRELASSIGNSTOGROUP('2NMUbNdzv2NPmHrl0xeehB', #1, $, $, (#14), $, #124); +#124 = IFCSYSTEM('2qqMrTwlLERAeiT2j5aCl8', #125, '3601 Tilluft', '3601-1', $); +#125 = IFCOWNERHISTORY($, $, $, .NOCHANGE., $, $, $, 1429103705); +#126 = IFCRELSERVICESBUILDINGS('2k0QCS0pjDDPvlG2POE5oE', #1, $, $, #124, (#7)); +#127 = IFCPRESENTATIONLAYERASSIGNMENT('362--V-3601-T-36', $, (#18), $); +#128 = IFCCOLOURRGB($, 0., 1., 0.); +#129 = IFCSURFACESTYLERENDERING(#128, 0., $, $, $, $, $, $, .NOTDEFINED.); +#130 = IFCSURFACESTYLE($, .BOTH., (#129)); +#131 = IFCPRESENTATIONSTYLEASSIGNMENT((#130)); +#132 = IFCSTYLEDITEM(#27, (#131), $); +#133 = IFCRELCONTAINEDINSPATIALSTRUCTURE('0WOibVXVXFLQabcILOoRAW', #1, $, $, (#14), #13); +#134 = IFCRELAGGREGATES('1PBxJnWMLBlP8BcL_PXo71', #1, $, $, #7, (#13)); +#135 = IFCRELAGGREGATES('3$h1BhDfnDQfWZXBRDMGbj', #1, $, $, #115, (#7)); +#136 = IFCRELAGGREGATES('1UmwNW7crDGeh$LdqIdCWH', #1, $, $, #114, (#115)); +#137 = IFCLOCALPLACEMENT($, #138); +#138 = IFCAXIS2PLACEMENT3D(#22, #23, #24); +#139 = IFCLOCALPLACEMENT(#137, #140); +#140 = IFCAXIS2PLACEMENT3D(#22, #23, #24); +#141 = IFCLOCALPLACEMENT(#139, #142); +#142 = IFCAXIS2PLACEMENT3D(#143, #23, #24); +#143 = IFCCARTESIANPOINT((0., 0., 55900.)); +#144 = IFCLOCALPLACEMENT(#141, #145); +#145 = IFCAXIS2PLACEMENT3D(#146, #147, #23); +#146 = IFCCARTESIANPOINT((0, 0, 0)); +#147 = IFCDIRECTION((9.57778850166525E-1, 2.87505955023003E-1, 0.)); +#148 = IFCUNITASSIGNMENT((#149, #150, #151, #152, #153, #154, #155, #156, #157, #158, #159, #160, #164, #167, #172)); +#149 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); +#150 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.); +#151 = IFCSIUNIT(*, .LENGTHUNIT., .MILLI., .METRE.); +#152 = IFCSIUNIT(*, .MASSUNIT., $, .GRAM.); +#153 = IFCSIUNIT(*, .POWERUNIT., $, .WATT.); +#154 = IFCSIUNIT(*, .PRESSUREUNIT., .KILO., .PASCAL.); +#155 = IFCSIUNIT(*, .FORCEUNIT., .KILO., .NEWTON.); +#156 = IFCSIUNIT(*, .ELECTRICCURRENTUNIT., $, .AMPERE.); +#157 = IFCSIUNIT(*, .THERMODYNAMICTEMPERATUREUNIT., $, .DEGREE_CELSIUS.); +#158 = IFCSIUNIT(*, .TIMEUNIT., $, .SECOND.); +#159 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.); +#160 = IFCDERIVEDUNIT((#161, #162), .LINEARVELOCITYUNIT., $); +#161 = IFCDERIVEDUNITELEMENT(#163, 1); +#162 = IFCDERIVEDUNITELEMENT(#158, -1); +#163 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.); +#164 = IFCDERIVEDUNIT((#165, #166), .VOLUMETRICFLOWRATEUNIT., $); +#165 = IFCDERIVEDUNITELEMENT(#159, 1); +#166 = IFCDERIVEDUNITELEMENT(#158, -1); +#167 = IFCDERIVEDUNIT((#168, #169, #170), .THERMALTRANSMITTANCEUNIT., $); +#168 = IFCDERIVEDUNITELEMENT(#153, 1); +#169 = IFCDERIVEDUNITELEMENT(#171, -1); +#170 = IFCDERIVEDUNITELEMENT(#150, -1); +#171 = IFCSIUNIT(*, .THERMODYNAMICTEMPERATUREUNIT., $, .KELVIN.); +#172 = IFCDERIVEDUNIT((#173), .SOUNDPRESSUREUNIT., $); +#173 = IFCDERIVEDUNITELEMENT(#174, 1); +#174 = IFCSIUNIT(*, .PRESSUREUNIT., $, .PASCAL.); +ENDSEC; +END-ISO-10303-21; From a6094f50b9023549266e8eb6b40a14d99ec41a1d Mon Sep 17 00:00:00 2001 From: aothms Date: Wed, 17 Feb 2016 12:03:38 +0100 Subject: [PATCH 095/157] Let CMake find python interpreter for schema compilation and installation dir Remove unused compiled schema in cpp installation target --- cmake/CMakeLists.txt | 60 ++++++++++++++++++-------------------- src/ifcwrap/CMakeLists.txt | 40 +++++++++++++++---------- 2 files changed, 52 insertions(+), 48 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index b55c046949..0bace9a278 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -288,32 +288,32 @@ function(files_for_ifc_version IFC_VERSION RESULT_NAME) endfunction() if(COMPILE_SCHEMA) + find_package(PythonInterp) + + IF(NOT PYTHONINTERP_FOUND) + MESSAGE(FATAL_ERROR "A Python interpreter is necessary when COMPILE_SCHEMA is enabled. Disable COMPILE_SCHEMA or fix Python paths to proceed.") + ENDIF() + set(IFC_RELEASE_NOT_USED "2x3" "4") - if(PYTHON_EXECUTABLE) - set(PYTHON_EXECUTABLE_USED ${PYTHON_EXECUTABLE}) - else() - set(PYTHON_EXECUTABLE_USED "python") - endif() - # Install pyparsing if necessary - execute_process(COMMAND ${PYTHON_EXECUTABLE_USED} -m pip "list" OUTPUT_VARIABLE PYTHON_PACKAGE_LIST) + execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip "list" OUTPUT_VARIABLE PYTHON_PACKAGE_LIST) string(FIND "${PYTHON_PACKAGE_LIST}" pyparsing PYPARSING_FOUND) if ("${PYPARSING_FOUND}" STREQUAL "-1") message(STATUS "Installing pyparsing") - execute_process(COMMAND ${PYTHON_EXECUTABLE_USED} -m pip "install" --user pyparsing) + execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip "install" --user pyparsing) else() message(STATUS "Python interpreter with pyparsing found") endif() # Bootstrap the parser message(STATUS "Compiling schema, this will take a while...") - execute_process(COMMAND ${PYTHON_EXECUTABLE_USED} bootstrap.py express.bnf + execute_process(COMMAND ${PYTHON_EXECUTABLE} bootstrap.py express.bnf WORKING_DIRECTORY ../src/ifcexpressparser OUTPUT_FILE express_parser.py) # Generate code - execute_process(COMMAND ${PYTHON_EXECUTABLE_USED} ../ifcexpressparser/express_parser.py ../../${COMPILE_SCHEMA} + execute_process(COMMAND ${PYTHON_EXECUTABLE} ../ifcexpressparser/express_parser.py ../../${COMPILE_SCHEMA} WORKING_DIRECTORY ../src/ifcparse OUTPUT_VARIABLE COMPILED_SCHEMA_NAME) @@ -334,28 +334,31 @@ else() endif() # IfcParse -file(GLOB CPP_FILES ../src/ifcparse/*.cpp) -file(GLOB H_FILES ../src/ifcparse/*.h) -set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) +file(GLOB IFCPARSE_H_FILES ../src/ifcparse/*.h) +file(GLOB IFCPARSE_CPP_FILES ../src/ifcparse/*.cpp) foreach(IFC_RELEASE ${IFC_RELEASE_NOT_USED}) files_for_ifc_version(${IFC_RELEASE} SOURCE_FILES_NOT_USED) foreach(SOURCE_FILE ${SOURCE_FILES_NOT_USED}) - list(REMOVE_ITEM SOURCE_FILES ${SOURCE_FILE}) + list(REMOVE_ITEM IFCPARSE_CPP_FILES ${SOURCE_FILE}) + list(REMOVE_ITEM IFCPARSE_H_FILES ${SOURCE_FILE}) endforeach() endforeach() -ADD_LIBRARY(IfcParse STATIC ${SOURCE_FILES}) +set(IFCPARSE_FILES ${IFCPARSE_CPP_FILES} ${IFCPARSE_H_FILES}) + +ADD_LIBRARY(IfcParse STATIC ${IFCPARSE_FILES}) IF(UNICODE_SUPPORT) TARGET_LINK_LIBRARIES(IfcParse ${ICU_LIBRARIES}) ENDIF() # IfcGeom -file(GLOB CPP_FILES ../src/ifcgeom/*.cpp) -file(GLOB H_FILES ../src/ifcgeom/*.h) -set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) -ADD_LIBRARY(IfcGeom STATIC ${SOURCE_FILES}) +file(GLOB IFCGEOM_H_FILES ../src/ifcgeom/*.h) +file(GLOB IFCGEOM_CPP_FILES ../src/ifcgeom/*.cpp) + +set(IFCGEOM_FILES ${IFCGEOM_CPP_FILES} ${IFCGEOM_H_FILES}) +ADD_LIBRARY(IfcGeom STATIC ${IFCGEOM_FILES}) TARGET_LINK_LIBRARIES(IfcGeom IfcParse) @@ -366,10 +369,10 @@ if(NOT WIN32) LINK_DIRECTORIES(${LINK_DIRECTORIES} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64) endif() -file(GLOB CPP_FILES ../src/ifcconvert/*.cpp) -file(GLOB H_FILES ../src/ifcconvert/*.h) -set(SOURCE_FILES ${CPP_FILES} ${H_FILES}) -ADD_EXECUTABLE(IfcConvert ${SOURCE_FILES}) +file(GLOB IFCCONVERT_CPP_FILES ../src/ifcconvert/*.cpp) +file(GLOB IFCCONVERT_H_FILES ../src/ifcconvert/*.h) +set(IFCCONVERT_FILES ${IFCCONVERT_CPP_FILES} ${IFCCONVERT_H_FILES}) +ADD_EXECUTABLE(IfcConvert ${IFCCONVERT_FILES}) # Make sure cross-referenced symbols between static OCC libraries get # resolved. Also add thread and rt libraries. @@ -397,15 +400,8 @@ IF(BUILD_EXAMPLES) ADD_SUBDIRECTORY(../src/examples examples) ENDIF() -# TODO QtViewer is deprecated ATM as it uses the 0.4 API -# IF(BUILD_QTVIEWER) - # ADD_SUBDIRECTORY(../src/qtviewer qtviewer) -# ENDIF() - # CMake installation targets -FILE(GLOB include_files_geom ../src/ifcgeom/*.h) -FILE(GLOB include_files_parse ../src/ifcparse/*.h) -INSTALL(FILES ${include_files_geom} DESTINATION include/ifcgeom) -INSTALL(FILES ${include_files_parse} DESTINATION include/ifcparse) +INSTALL(FILES ${IFCPARSE_H_FILES} DESTINATION include/ifcparse) +INSTALL(FILES ${IFCGEOM_H_FILES} DESTINATION include/ifcgeom) INSTALL(TARGETS IfcConvert IfcGeomServer DESTINATION bin) INSTALL(TARGETS IfcParse IfcGeom DESTINATION lib) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index a431cb0c00..ba2b6a0c59 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -54,21 +54,29 @@ SET_SOURCE_FILES_PROPERTIES(IfcPython.i PROPERTIES CPLUSPLUS ON) SWIG_ADD_MODULE(ifcopenshell_wrapper python IfcPython.i) SWIG_LINK_LIBRARIES(ifcopenshell_wrapper IfcParse IfcGeom ${PYTHON_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${ICU_LIBRARIES}) -# To install IfcPython let's get the site-packages dir from python -EXECUTE_PROCESS(COMMAND - python -c "import sys; from distutils.sysconfig import get_python_lib; sys.stdout.write(get_python_lib())" - OUTPUT_VARIABLE python_package_dir) +# Try to find the Python interpreter to get the site-packages +# directory in which the wrapper can be installed. +FIND_PACKAGE(PythonInterp) +IF(PYTHONINTERP_FOUND) + EXECUTE_PROCESS( + COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import get_python_lib; sys.stdout.write(get_python_lib())" + OUTPUT_VARIABLE python_package_dir + ) -IF("${python_package_dir}" STREQUAL "") - MESSAGE(FATAL_ERROR "Python executable not in PATH, aborting") + IF("${python_package_dir}" STREQUAL "") + MESSAGE(WARNING "Unable to locate Python site-package directory, unable to install the Python wrapper") + ELSE() + INSTALL(FILES + "${CMAKE_BINARY_DIR}/ifcwrap/ifcopenshell_wrapper.py" + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/__init__.py" + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/guid.py" + DESTINATION "${python_package_dir}/ifcopenshell") + INSTALL(FILES + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/__init__.py" + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/occ_utils.py" + DESTINATION "${python_package_dir}/ifcopenshell/geom") + INSTALL(TARGETS _ifcopenshell_wrapper DESTINATION "${python_package_dir}/ifcopenshell") + ENDIF() +ELSE() + MESSAGE(WARNING "No Python interpreter found, unable to install the Python wrapper") ENDIF() - -INSTALL(FILES - "${CMAKE_BINARY_DIR}/ifcwrap/ifcopenshell_wrapper.py" - "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/__init__.py" - "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/guid.py" - DESTINATION "${python_package_dir}/ifcopenshell") -INSTALL(FILES - "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/__init__.py" - DESTINATION "${python_package_dir}/ifcopenshell/geom") -INSTALL(TARGETS _ifcopenshell_wrapper DESTINATION "${python_package_dir}/ifcopenshell") From da0af775700c6218f29a03521e6f22a696612590 Mon Sep 17 00:00:00 2001 From: aothms Date: Thu, 18 Feb 2016 13:17:15 +0100 Subject: [PATCH 096/157] Compatibility for older versions of cmake, python, open cascade, boost --- cmake/CMakeLists.txt | 31 +++++++++++++---- src/ifcexpressparser/codegen.py | 34 +++++++++++++++++++ src/ifcexpressparser/enum_header.py | 11 +++--- src/ifcexpressparser/header.py | 12 +++---- src/ifcexpressparser/implementation.py | 12 +++---- src/ifcexpressparser/latebound_header.py | 11 +++--- .../latebound_implementation.py | 12 +++---- src/ifcexpressparser/mapping.py | 6 ++-- src/ifcexpressparser/schema.py | 13 ++++--- src/ifcgeom/IfcGeomFaces.cpp | 8 +++++ src/ifcgeom/IfcGeomFunctions.cpp | 8 ++++- src/ifcgeom/IfcGeomShapes.cpp | 6 ++++ src/ifcparse/IfcGlobalId.cpp | 10 ++++++ 13 files changed, 133 insertions(+), 41 deletions(-) create mode 100644 src/ifcexpressparser/codegen.py diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0bace9a278..71963665ca 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -17,7 +17,7 @@ # # ################################################################################ -cmake_minimum_required (VERSION 2.6) +cmake_minimum_required (VERSION 2.8.5) project (IfcOpenShell) @@ -297,11 +297,23 @@ if(COMPILE_SCHEMA) set(IFC_RELEASE_NOT_USED "2x3" "4") # Install pyparsing if necessary - execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip "list" OUTPUT_VARIABLE PYTHON_PACKAGE_LIST) + execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip freeze OUTPUT_VARIABLE PYTHON_PACKAGE_LIST) + if ("${PYTHON_PACKAGE_LIST}" STREQUAL "") + execute_process(COMMAND pip freeze OUTPUT_VARIABLE PYTHON_PACKAGE_LIST) + if ("${PYTHON_PACKAGE_LIST}" STREQUAL "") + message(WARNING "Failed to find pip. Pip is required to automatically install pyparsing") + endif() + endif() string(FIND "${PYTHON_PACKAGE_LIST}" pyparsing PYPARSING_FOUND) if ("${PYPARSING_FOUND}" STREQUAL "-1") message(STATUS "Installing pyparsing") - execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip "install" --user pyparsing) + execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip "install" --user pyparsing RESULT_VARIABLE SUCCESS) + if (NOT "${SUCCESS}" STREQUAL "0") + execute_process(COMMAND pip "install" --user pyparsing RESULT_VARIABLE SUCCESS) + if (NOT "${SUCCESS}" STREQUAL "0") + message(WARNING "Failed to automatically install pyparsing. Please install manually") + endif() + endif() else() message(STATUS "Python interpreter with pyparsing found") endif() @@ -310,7 +322,12 @@ if(COMPILE_SCHEMA) message(STATUS "Compiling schema, this will take a while...") execute_process(COMMAND ${PYTHON_EXECUTABLE} bootstrap.py express.bnf WORKING_DIRECTORY ../src/ifcexpressparser - OUTPUT_FILE express_parser.py) + OUTPUT_FILE express_parser.py + RESULT_VARIABLE SUCCESS) + + if (NOT "${SUCCESS}" STREQUAL "0") + MESSAGE(FATAL_ERROR "Failed to bootstrap parser. Make sure pyparsing is installed") + endif() # Generate code execute_process(COMMAND ${PYTHON_EXECUTABLE} ../ifcexpressparser/express_parser.py ../../${COMPILE_SCHEMA} @@ -318,10 +335,12 @@ if(COMPILE_SCHEMA) OUTPUT_VARIABLE COMPILED_SCHEMA_NAME) # Prevent the schema that had just been compiled from being excluded - if(${COMPILED_SCHEMA_NAME} STREQUAL "IFC2X3") + if("${COMPILED_SCHEMA_NAME}" STREQUAL "IFC2X3") list(REMOVE_ITEM IFC_RELEASE_NOT_USED "2x3") - elseif(${COMPILED_SCHEMA_NAME} STREQUAL "IFC4") + add_definitions(-DUSE_IFC2x3) + elseif("${COMPILED_SCHEMA_NAME}" STREQUAL "IFC4") list(REMOVE_ITEM IFC_RELEASE_NOT_USED "4") + add_definitions(-DUSE_IFC4) endif() else() if(USE_IFC4) diff --git a/src/ifcexpressparser/codegen.py b/src/ifcexpressparser/codegen.py new file mode 100644 index 0000000000..6370b3dc87 --- /dev/null +++ b/src/ifcexpressparser/codegen.py @@ -0,0 +1,34 @@ +############################################################################### +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +class Base(object): + """ + A base class for all code generation classes. Currently only working around + some python 2/3 incompatibilities in terms of unicode file handling. + """ + def emit(self): + import platform + if tuple(map(int, platform.python_version_tuple())) < (2, 8): + from io import open as unicode_open + else: + unicode_open = open + unicode = lambda x, *args, **kwargs: x + f = unicode_open(self.file_name, 'w', encoding='utf-8') + f.write(unicode(repr(self), encoding='utf-8', errors='ignore')) + f.close() diff --git a/src/ifcexpressparser/enum_header.py b/src/ifcexpressparser/enum_header.py index 96993ec13f..eb382a3e7a 100644 --- a/src/ifcexpressparser/enum_header.py +++ b/src/ifcexpressparser/enum_header.py @@ -18,8 +18,9 @@ ############################################################################### import templates +import codegen -class EnumHeader: +class EnumHeader(codegen.Base): def __init__(self, mapping): enumerable_types = sorted(set([name for name, type in mapping.schema.types.items()] + [name for name, type in mapping.schema.entities.items()])) @@ -30,9 +31,9 @@ class EnumHeader: } self.schema_name = mapping.schema.name.capitalize() + + self.file_name = '%senum.h'%self.schema_name + + def __repr__(self): return self.str - def emit(self): - f = open('%senum.h'%self.schema_name, 'w', encoding='utf-8') - f.write(str(self)) - f.close() diff --git a/src/ifcexpressparser/header.py b/src/ifcexpressparser/header.py index 51f4a89242..449506bc0f 100644 --- a/src/ifcexpressparser/header.py +++ b/src/ifcexpressparser/header.py @@ -17,10 +17,11 @@ # # ############################################################################### +import codegen import templates import documentation -class Header: +class Header(codegen.Base): def __init__(self, mapping): declarations = [] @@ -123,10 +124,9 @@ class Header: } self.schema_name = mapping.schema.name.capitalize() + + self.file_name = '%s.h'%self.schema_name + + def __repr__(self): return self.str - def emit(self): - f = open('%s.h'%self.schema_name, 'w', encoding='utf-8') - f.write(str(self)) - f.close() - diff --git a/src/ifcexpressparser/implementation.py b/src/ifcexpressparser/implementation.py index f4e0759da3..f26581cf0e 100644 --- a/src/ifcexpressparser/implementation.py +++ b/src/ifcexpressparser/implementation.py @@ -17,9 +17,10 @@ # # ############################################################################### +import codegen import templates -class Implementation: +class Implementation(codegen.Base): def __init__(self, mapping): enumeration_functions = [] entity_implementations = [] @@ -230,10 +231,9 @@ class Implementation: } self.schema_name = mapping.schema.name.capitalize() + + self.file_name = '%s.cpp'%self.schema_name + + def __repr__(self): return self.str - def emit(self): - f = open('%s.cpp'%self.schema_name, 'w', encoding='utf-8') - f.write(str(self)) - f.close() - diff --git a/src/ifcexpressparser/latebound_header.py b/src/ifcexpressparser/latebound_header.py index bf2db78f3e..251a288073 100644 --- a/src/ifcexpressparser/latebound_header.py +++ b/src/ifcexpressparser/latebound_header.py @@ -17,9 +17,10 @@ # # ############################################################################### +import codegen import templates -class LateBoundHeader: +class LateBoundHeader(codegen.Base): def __init__(self, mapping): self.str = templates.lb_header % { 'schema_name_upper' : mapping.schema.name.upper(), @@ -27,9 +28,9 @@ class LateBoundHeader: } self.schema_name = mapping.schema.name.capitalize() + + self.file_name = '%s-latebound.h'%self.schema_name + + def __repr__(self): return self.str - def emit(self): - f = open('%s-latebound.h'%self.schema_name, 'w', encoding='utf-8') - f.write(str(self)) - f.close() diff --git a/src/ifcexpressparser/latebound_implementation.py b/src/ifcexpressparser/latebound_implementation.py index fe9e600ecd..1303d000ff 100644 --- a/src/ifcexpressparser/latebound_implementation.py +++ b/src/ifcexpressparser/latebound_implementation.py @@ -17,9 +17,10 @@ # # ############################################################################### +import codegen import templates -class LateBoundImplementation: +class LateBoundImplementation(codegen.Base): def __init__(self, mapping): schema_name = mapping.schema.name.capitalize() @@ -110,10 +111,9 @@ class LateBoundImplementation: } self.schema_name = mapping.schema.name.capitalize() + + self.file_name = '%s-latebound.cpp'%self.schema_name + + def __repr__(self): return self.str - def emit(self): - f = open('%s-latebound.cpp'%self.schema_name, 'w', encoding='utf-8') - f.write(str(self)) - f.close() - diff --git a/src/ifcexpressparser/mapping.py b/src/ifcexpressparser/mapping.py index ee536697fd..5b9721e191 100644 --- a/src/ifcexpressparser/mapping.py +++ b/src/ifcexpressparser/mapping.py @@ -17,6 +17,8 @@ # # ############################################################################### +from __future__ import print_function + import sys import nodes import templates @@ -33,11 +35,11 @@ class Mapping: 'binary' : 'boost::dynamic_bitset<>' } - supported_argument_types = { + supported_argument_types = set([ 'INT', 'BOOL', 'DOUBLE', 'STRING', 'BINARY', 'ENUMERATION', 'ENTITY_INSTANCE', 'AGGREGATE_OF_INT', 'AGGREGATE_OF_DOUBLE', 'AGGREGATE_OF_STRING', 'AGGREGATE_OF_BINARY', 'AGGREGATE_OF_ENTITY_INSTANCE', 'AGGREGATE_OF_AGGREGATE_OF_INT', 'AGGREGATE_OF_AGGREGATE_OF_DOUBLE', 'AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE', - } + ]) def __init__(self, schema): self.schema = schema diff --git a/src/ifcexpressparser/schema.py b/src/ifcexpressparser/schema.py index 74d62bfacb..18335f3cdf 100644 --- a/src/ifcexpressparser/schema.py +++ b/src/ifcexpressparser/schema.py @@ -18,8 +18,13 @@ ############################################################################### import nodes +import platform import collections +if tuple(map(int, platform.python_version_tuple())) < (2, 7): + import ordereddict + collections.OrderedDict = ordereddict.OrderedDict + class Schema: def is_enumeration(self, v): return str(v) in self.enumerations @@ -34,12 +39,12 @@ class Schema: def __init__(self, parsetree): self.name = parsetree[1] - sort = lambda d: collections.OrderedDict(sorted(d.items())) + sort = lambda d: collections.OrderedDict(sorted(d)) - self.types = sort({t.name:t for t in parsetree if isinstance(t, nodes.TypeDeclaration)}) - self.entities = sort({t.name:t for t in parsetree if isinstance(t, nodes.EntityDeclaration)}) + self.types = sort([(t.name,t) for t in parsetree if isinstance(t, nodes.TypeDeclaration)]) + self.entities = sort([(t.name,t) for t in parsetree if isinstance(t, nodes.EntityDeclaration)]) - of_type = lambda *types: sort({a: b.type.type for a,b in self.types.items() if any(isinstance(b.type.type, ty) for ty in types)}) + of_type = lambda *types: sort([(a, b.type.type) for a,b in self.types.items() if any(isinstance(b.type.type, ty) for ty in types)]) self.enumerations = of_type(nodes.EnumerationType) self.selects = of_type(nodes.SelectType) diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp index 6d83f90609..91753fc137 100644 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ b/src/ifcgeom/IfcGeomFaces.cpp @@ -893,7 +893,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcPlane* l, TopoDS_Shape& face) gp_Pln pln; convert(l, pln); Handle_Geom_Surface surf = new Geom_Plane(pln); +#if OCC_VERSION_HEX < 0x60502 + face = BRepBuilderAPI_MakeFace(surf); +#else face = BRepBuilderAPI_MakeFace(surf, getValue(GV_PRECISION)); +#endif return true; } @@ -942,7 +946,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBSplineSurfaceWithKnots* l, To } Handle_Geom_Surface surf = new Geom_BSplineSurface(Poles, UKnots, VKnots, UMults, VMults, UDegree, VDegree); +#if OCC_VERSION_HEX < 0x60502 + face = BRepBuilderAPI_MakeFace(surf); +#else face = BRepBuilderAPI_MakeFace(surf, getValue(GV_PRECISION)); +#endif return true; } diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 1ed8ee1627..14dd47230f 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -63,6 +63,9 @@ #include #include #include +#include + +#include #include #include @@ -95,7 +98,6 @@ #include #include -#include #include #include #include @@ -106,7 +108,11 @@ #include "../ifcgeom/IfcGeom.h" #if OCC_VERSION_HEX < 0x60900 +#ifdef _MSC_VER #pragma message("warning: You are linking against Open CASCADE version " OCC_VERSION_COMPLETE ". Version 6.9.0 introduces various improvements with relation to boolean operations. You are advised to upgrade.") +#else +#warning "You are linking against linking against an older version of Open CASCADE. Version 6.9.0 introduces various improvements with relation to boolean operations. You are advised to upgrade." +#endif #endif bool IfcGeom::Kernel::create_solid_from_compound(const TopoDS_Shape& compound, TopoDS_Shape& shape) { diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 0e1b0747cb..008ce6a9e8 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -65,6 +65,8 @@ #include #include #include +#include + #include #include @@ -859,7 +861,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCylindricalSurface* l, TopoDS_ gp_Trsf trsf; IfcGeom::Kernel::convert(l->Position(),trsf); +#if OCC_VERSION_HEX < 0x60502 + face = BRepBuilderAPI_MakeFace(new Geom_CylindricalSurface(gp::XOY(), l->Radius())).Face().Moved(trsf); +#else face = BRepBuilderAPI_MakeFace(new Geom_CylindricalSurface(gp::XOY(), l->Radius()), getValue(GV_PRECISION)).Face().Moved(trsf); +#endif return true; } diff --git a/src/ifcparse/IfcGlobalId.cpp b/src/ifcparse/IfcGlobalId.cpp index f6ab34b48c..e70189071f 100644 --- a/src/ifcparse/IfcGlobalId.cpp +++ b/src/ifcparse/IfcGlobalId.cpp @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include "../ifcparse/IfcGlobalId.h" #include "../ifcparse/IfcException.h" @@ -87,7 +89,11 @@ IfcParse::IfcGlobalId::IfcGlobalId() { std::vector v(uuid_data.size()); std::copy(uuid_data.begin(), uuid_data.end(), v.begin()); string_data = compress(&v[0]); +#if BOOST_VERSION < 104400 + formatted_string = boost::lexical_cast(uuid_data); +#else formatted_string = boost::uuids::to_string(uuid_data); +#endif #ifndef NDEBUG std::vector test_vector; @@ -106,7 +112,11 @@ IfcParse::IfcGlobalId::IfcGlobalId(const std::string& s) std::vector v; expand(string_data, v); std::copy(v.begin(), v.end(), uuid_data.begin()); +#if BOOST_VERSION < 104400 + formatted_string = boost::lexical_cast(uuid_data); +#else formatted_string = boost::uuids::to_string(uuid_data); +#endif #ifndef NDEBUG const std::string test_string = compress(&uuid_data.data[0]); From 10bec3eee0f62d435599127326a6748a5538e613 Mon Sep 17 00:00:00 2001 From: aothms Date: Thu, 18 Feb 2016 14:57:57 +0100 Subject: [PATCH 097/157] Replace PYTHONPATH with PYTHONHOME --- win/build-deps.cmd | 8 ++++---- win/readme.md | 6 +++--- win/run-cmake.bat | 12 ++++++------ win/set-python-to-path.bat | 8 ++++---- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index b145347bf9..d7d8b44b35 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -253,7 +253,7 @@ set PYTHON_VERSION=3.4.3 IF "%IFCOS_USE_PYTHON2%"=="TRUE" set PYTHON_VERSION=2.7.10 set PY_VER_MAJOR_MINOR=%PYTHON_VERSION:~0,3% set PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR:.=% -set PYTHONPATH=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% +set PYTHONHOME=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% set DEPENDENCY_NAME=Python %PYTHON_VERSION% set DEPENDENCY_DIR=N/A @@ -265,7 +265,7 @@ set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( REM Store Python versions to BuildDepsCache.txt for run-cmake.bat echo PY_VER_MAJOR_MINOR=%PY_VER_MAJOR_MINOR%>"%~dp0\BuildDepsCache-%TARGET_ARCH%.txt" - echo PYTHONPATH=%PYTHONPATH%>>"%~dp0\BuildDepsCache-%TARGET_ARCH%.txt" + echo PYTHONHOME=%PYTHONHOME%>>"%~dp0\BuildDepsCache-%TARGET_ARCH%.txt" cd "%DEPS_DIR%" call :DownloadFile https://www.python.org/ftp/python/%PYTHON_VERSION%/%PYTHON_INSTALLER% "%DEPS_DIR%" %PYTHON_INSTALLER% @@ -276,9 +276,9 @@ IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( msiexec /x %PYTHON_INSTALLER% /qn ) - IF NOT EXIST "%PYTHONPATH%". ( + IF NOT EXIST "%PYTHONHOME%". ( call cecho.cmd 0 13 "Installing %DEPENDENCY_NAME%. Please be patient, this will take a while." - msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR="%PYTHONPATH%" + msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR="%PYTHONHOME%" ) ELSE ( call cecho.cmd 0 13 "%DEPENDENCY_NAME% already installed. Skipping." ) diff --git a/win/readme.md b/win/readme.md index f91e3a7bae..dd85e652e0 100644 --- a/win/readme.md +++ b/win/readme.md @@ -40,7 +40,7 @@ After this, one can build the project using the `IfcOpenShell.sln` file in the b if wanted. Convenience batch files `build-ifcopenshell.cmd` and `install-ifcopenshell.cmd` can also be used. The batch files expect `%1` and `%2` in same fashion as above and possible extra parameters are passed for the `MSBuild` call. The project will be installed to `installed-vs-\` folder in the project's root folder and the required IfcOpenShell-Python -parts are deployed to the `\Lib\site-packages\` folder. +parts are deployed to the `\Lib\site-packages\` folder. **Note:** All of the dependencies are build as static libraries against the static run-time allowing the developer to effortlessly deploy standalone IFCOS binaries. @@ -58,7 +58,7 @@ Before building the dependencies, disable the script from installing Python: After bulding the dependencies, create BuildDepsCache file to `IfcOpenShell\win` which tells the used Python version and intallation directory: ``` > echo PY_VER_MAJOR_MINOR=35> BuildDepsCache-x64.txt -> echo PYTHONPATH=C:\Python3>> BuildDepsCache-x64.txt +> echo PYTHONHOME=C:\Python3>> BuildDepsCache-x64.txt ``` After this you should be able to run `run-cmake.bat` normally. If using 32-bit Python, the name of the file must be `BuildDepsCache-x86.txt`. @@ -80,7 +80,7 @@ Directory Structure | install-ifcopenshell.cmd - Builds IFCOS's INSTALL project | readme.md - This file | run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS -| set-python-to-path.bat - Utility for setting PYTHONPATH (read from BuildDepsCache-.txt) to PATH +| set-python-to-path.bat - Utility for setting PYTHONHOME (read from BuildDepsCache-.txt) to PATH | vs-cfg.cmd - Utility file used by the build scripts +---sln - Contains the old Visual Studio solution and project files \---utils - Contains various utilities for the build scripts diff --git a/win/run-cmake.bat b/win/run-cmake.bat index c714b72484..1c2865d723 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -53,12 +53,12 @@ set OCC_LIBRARY_DIR=%INSTALL_DIR%\oce\Win%ARCH_BITS%\lib set OPENCOLLADA_INCLUDE_DIR=%INSTALL_DIR%\OpenCOLLADA\include\opencollada set OPENCOLLADA_LIBRARY_DIR=%INSTALL_DIR%\OpenCOLLADA\lib\opencollada if not defined PY_VER_MAJOR_MINOR set PY_VER_MAJOR_MINOR=34 -if not defined PYTHONPATH set PYTHONPATH=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% -set PYTHON_INCLUDE_DIR=%PYTHONPATH%\include -set PYTHON_LIBRARY=%PYTHONPATH%\libs\python%PY_VER_MAJOR_MINOR%.lib -set PYTHON_EXECUTABLE=%PYTHONPATH%\python.exe +if not defined PYTHONHOME set PYTHONHOME=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR% +set PYTHON_INCLUDE_DIR=%PYTHONHOME%\include +set PYTHON_LIBRARY=%PYTHONHOME%\libs\python%PY_VER_MAJOR_MINOR%.lib +set PYTHON_EXECUTABLE=%PYTHONHOME%\python.exe set SWIG_DIR=%INSTALL_DIR%\swigwin -set PATH=%PATH%;%SWIG_DIR%;%PYTHONPATH% +set PATH=%PATH%;%SWIG_DIR%;%PYTHONHOME% :: TODO 3ds Max SDK? echo. @@ -75,7 +75,7 @@ echo OCC_INCLUDE_DIR = %OCC_INCLUDE_DIR% echo OCC_LIBRARY_DIR = %OCC_LIBRARY_DIR% echo OPENCOLLADA_INCLUDE_DIR = %OPENCOLLADA_INCLUDE_DIR% echo OPENCOLLADA_LIBRARY_DIR = %OPENCOLLADA_LIBRARY_DIR% -echo PYTHONPATH = %PYTHONPATH% +echo PYTHONHOME = %PYTHONHOME% echo PYTHON_INCLUDE_DIR = %PYTHON_INCLUDE_DIR% echo PYTHON_LIBRARY = %PYTHON_LIBRARY% echo PYTHON_EXECUTABLE = %PYTHON_EXECUTABLE% diff --git a/win/set-python-to-path.bat b/win/set-python-to-path.bat index 613a69c149..b9f225be7a 100644 --- a/win/set-python-to-path.bat +++ b/win/set-python-to-path.bat @@ -27,10 +27,10 @@ if not exist BuildDepsCache-%TARGET_ARCH%.txt. ( goto :EOF ) for /f "delims== tokens=1,2" %%G in (BuildDepsCache-%TARGET_ARCH%.txt) do set %%G=%%H -if not defined PYTHONPATH ( - echo PYTHONPATH PYTHONPATH not defined +if not defined PYTHONHOME ( + echo PYTHONHOME PYTHONHOME not defined goto :EOF ) -echo %PYTHONPATH% set to PATH -set PATH=%PYTHONPATH%;%PATH% +echo %PYTHONHOME% set to PATH +set PATH=%PYTHONHOME%;%PATH% From 481515f5ae8ccf47677c4a5dfaa324d1b12868c7 Mon Sep 17 00:00:00 2001 From: aothms Date: Thu, 18 Feb 2016 16:57:22 +0100 Subject: [PATCH 098/157] Add missing include --- src/ifcgeom/IfcGeomFaces.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp index 91753fc137..e7fd6e03d0 100644 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ b/src/ifcgeom/IfcGeomFaces.cpp @@ -88,6 +88,8 @@ #include #include +#include + #ifdef USE_IFC4 #include #include From 0f88520e750d1fc0c385deebc669c774969b64ea Mon Sep 17 00:00:00 2001 From: yilativs Date: Fri, 19 Feb 2016 20:28:46 +0300 Subject: [PATCH 099/157] [fix] CmakeLists.txt now works on ubuntu 16.04 without the need to compile oce instead you can apt-get install git swig cmake gcc g++ libftgl-dev libtbb2 libtbb-dev libboost-all-dev libgl1-mesa-dev libfreetype6-dev liboce-modeling-dev opencollada-dev liboce-foundation-dev --- cmake/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 71963665ca..de84ce173e 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -77,7 +77,7 @@ ENDFUNCTION() # Find Open CASCADE IF("${OCC_INCLUDE_DIR}" STREQUAL "") - SET(OCC_INCLUDE_DIR "/usr/include/opencascade/" CACHE FILEPATH "Open CASCADE header files") + SET(OCC_INCLUDE_DIR "/usr/include/oce/" CACHE FILEPATH "Open CASCADE header files") MESSAGE(STATUS "Looking for opencascade include files in: ${OCC_INCLUDE_DIR}") MESSAGE(STATUS "Use OCC_INCLUDE_DIR to specify another directory") ELSE() @@ -154,14 +154,14 @@ IF(COLLADA_SUPPORT) # Find OpenCOLLADA IF("${OPENCOLLADA_INCLUDE_DIR}" STREQUAL "") MESSAGE(STATUS "No OpenCOLLADA include directory specified") - SET(OPENCOLLADA_INCLUDE_DIR "/usr/local/include/opencollada" CACHE FILEPATH "OpenCOLLADA header files") + SET(OPENCOLLADA_INCLUDE_DIR "/usr/include/opencollada" CACHE FILEPATH "OpenCOLLADA header files") ElSE() SET(OPENCOLLADA_INCLUDE_DIR "${OPENCOLLADA_INCLUDE_DIR}" CACHE FILEPATH "OpenCOLLADA header files") ENDIF() IF("${OPENCOLLADA_LIBRARY_DIR}" STREQUAL "") MESSAGE(STATUS "No OpenCOLLADA library directory specified") - SET(OPENCOLLADA_LIBRARY_DIR "/usr/local/lib/opencollada" CACHE FILEPATH "OpenCOLLADA library files") + SET(OPENCOLLADA_LIBRARY_DIR "/usr/lib/opencollada" CACHE FILEPATH "OpenCOLLADA library files") ElSE() SET(OPENCOLLADA_LIBRARY_DIR "${OPENCOLLADA_LIBRARY_DIR}" CACHE FILEPATH "OpenCOLLADA library files") ENDIF() From 5ee9bed590b760813a43f5154635bfc6aa630dc3 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 19 Feb 2016 22:53:09 +0200 Subject: [PATCH 100/157] CMakeLists.txt for IfcMax. Tested with VS 2015 and 3ds Max + SDK 2016 --- README.md | 3 +- cmake/CMakeLists.txt | 8 ++++ src/ifcmax/CMakeLists.txt | 39 ++++++++++++++++ src/ifcmax/IfcMax.cpp | 96 +++++++++++++++++++++------------------ src/ifcmax/IfcMax.def | 8 ---- src/ifcmax/IfcMax.h | 8 +--- win/build-deps.cmd | 1 - win/readme.md | 3 +- win/run-cmake.bat | 3 +- 9 files changed, 107 insertions(+), 62 deletions(-) create mode 100644 src/ifcmax/CMakeLists.txt delete mode 100644 src/ifcmax/IfcMax.def diff --git a/README.md b/README.md index 10d03630a1..069ab3f3ec 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,8 @@ Dependencies * [SWIG](http://www.swig.org/), [Python](https://www.python.org/) libraries - *optional* For building the IfcOpenShell Python interface and the Blender add-on * 3ds Max SDK - *optional* - For building the 3ds Max plug-in + For building the 3ds Max plug-in. + All recent versions of 3ds Max (2014 and newer) are 64-bit only, so a 64-bit installation is assumed. Compiling on Windows diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 71963665ca..27e71cb278 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -29,6 +29,7 @@ OPTION(USE_IFC4 "Use IFC 4 instead of IFC 2x3 (full rebuild recommended when swi OPTION(BUILD_IFCPYTHON "Build IfcPython." ON) OPTION(BUILD_EXAMPLES "Build example applications." ON) OPTION(USE_VLD "Use Visual Leak Detector for debugging memory leaks, MSVC-only." OFF) +OPTION(BUILD_IFCMAX "Build IfcMax, a 3ds Max plug-in, Windows-only." OFF) # TODO QtViewer is deprecated ATM as it uses the 0.4 API # OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer (requires Qt 4 framework)." OFF) @@ -48,6 +49,9 @@ UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(PCRE_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(PYTHON_EXECUTABLE) +IF(WIN32) + UNIFY_ENVVARS_AND_CACHE(THREEDS_MAX_SDK_HOME) +ENDIF() # Find Boost IF(MSVC) @@ -419,6 +423,10 @@ IF(BUILD_EXAMPLES) ADD_SUBDIRECTORY(../src/examples examples) ENDIF() +IF(BUILD_IFCMAX) + ADD_SUBDIRECTORY(../src/ifcmax ifcmax) +ENDIF() + # CMake installation targets INSTALL(FILES ${IFCPARSE_H_FILES} DESTINATION include/ifcparse) INSTALL(FILES ${IFCGEOM_H_FILES} DESTINATION include/ifcgeom) diff --git a/src/ifcmax/CMakeLists.txt b/src/ifcmax/CMakeLists.txt new file mode 100644 index 0000000000..923532b073 --- /dev/null +++ b/src/ifcmax/CMakeLists.txt @@ -0,0 +1,39 @@ +################################################################################ +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +################################################################################ + +INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCLUDE_DIRS} ${ICU_INCLUDE_DIR} + ${Boost_INCLUDE_DIRS} ${THREEDS_MAX_SDK_HOME}/include +) + +# All recent versions of 3ds Max (2014 and newer) are 64-bit only so assume lib/x64 directory +LINK_DIRECTORIES(${LINK_DIRECTORIES} ${IfcOpenShell_BINARY_DIR} ${OCC_LIBRARY_DIR} ${OPENCOLLADA_LIBRARY_DIR} + ${ICU_LIBRARY_DIR} ${Boost_LIBRARY_DIRS} ${THREEDS_MAX_SDK_HOME}/lib/x64/Release +) + +ADD_LIBRARY(IfcMax SHARED IfcMax.h IfcMax.cpp) + +TARGET_LINK_LIBRARIES(IfcMax IfcParse IfcGeom Comctl32.lib zlibdll.lib bmm.lib core.lib CustDlg.lib edmodel.lib expr.lib + flt.lib geom.lib gfx.lib gup.lib imageViewers.lib ManipSys.lib maxnet.lib Maxscrpt.lib + maxutil.lib MenuMan.lib menus.lib mesh.lib MNMath.lib Paramblk2.lib particle.lib Poly.lib RenderUtil.lib + tessint.lib viewfile.lib ${OPENCASCADE_LIBRARIES} +) + +SET_TARGET_PROPERTIES(IfcMax PROPERTIES SUFFIX ".dli") + +INSTALL(TARGETS IfcMax RUNTIME DESTINATION bin) diff --git a/src/ifcmax/IfcMax.cpp b/src/ifcmax/IfcMax.cpp index dde5cc8547..46bf0f39f8 100644 --- a/src/ifcmax/IfcMax.cpp +++ b/src/ifcmax/IfcMax.cpp @@ -20,49 +20,54 @@ #include #include -#include #include #include -#include "../ifcmax/IfcMax.h" +#include "IfcMax.h" #include "../ifcgeom/IfcGeomIterator.h" static const int NUM_MATERIAL_SLOTS = 24; -int controlsInit = false; - -BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) { +BOOL WINAPI DllMain(HINSTANCE /*hinstDLL*/, ULONG /*fdwReason*/, LPVOID /*lpvReserved*/) { + static int controlsInit = false; if (!controlsInit) { controlsInit = true; InitCommonControls(); - } - return true; + } + return TRUE; } -__declspec( dllexport ) const TCHAR* LibDescription() { - return _T("IfcOpenShell IFC Importer"); -} - -__declspec( dllexport ) int LibNumberClasses() { return 1; } - -static class IFCImpClassDesc:public ClassDesc { +static class IFCImpClassDesc :public ClassDesc { public: - int IsPublic() {return 1;} - void * Create(BOOL loading = FALSE) {return new IFCImp;} - const TCHAR * ClassName() {return _T("IFCImp");} - SClass_ID SuperClassID() {return SCENE_IMPORT_CLASS_ID;} - Class_ID ClassID() {return Class_ID(0x3f230dbf, 0x5b3015c2);} - const TCHAR* Category() {return _T("Chrutilities");} + int IsPublic() { return 1; } + void * Create(BOOL /*loading = FALSE*/) { return new IFCImp; } + // TODO Delete() function? + const TCHAR * ClassName() { return _T("IFCImp"); } + SClass_ID SuperClassID() { return SCENE_IMPORT_CLASS_ID; } + Class_ID ClassID() { return Class_ID(0x3f230dbf, 0x5b3015c2); } + const TCHAR* Category() { return _T("Chrutilities"); } } IFCImpDesc; -__declspec( dllexport ) ClassDesc* LibClassDesc(int i) { - return i == 0 ? &IFCImpDesc : 0; +#define DLLEXPORT __declspec(dllexport) + +extern "C" { + +DLLEXPORT const TCHAR* LibDescription() { + return _T("IfcOpenShell IFC Importer"); } -__declspec( dllexport ) ULONG LibVersion() { - return VERSION_3DSMAX; +DLLEXPORT int LibNumberClasses() { return 1; } + +DLLEXPORT ClassDesc* LibClassDesc(int i) { + return i == 0 ? &IFCImpDesc : 0; } +DLLEXPORT ULONG LibVersion() { + return VERSION_3DSMAX; +} + +} // extern "C" + int IFCImp::ExtCount() { return 1; } const TCHAR * IFCImp::Ext(int n) { @@ -82,7 +87,7 @@ const TCHAR * IFCImp::AuthorName() { } const TCHAR * IFCImp::CopyrightMessage() { - return _T("Copyight (c) 2011 IfcOpenShell"); + return _T("Copyright (c) 2011-2016 IfcOpenShell"); } const TCHAR * IFCImp::OtherMessage1() { @@ -97,13 +102,14 @@ unsigned int IFCImp::Version() { return 12; } -static BOOL CALLBACK AboutBoxDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { - return TRUE; -} +// TODO Use this in IFCImp::ShowAbout() if/when wanted +//static BOOL CALLBACK AboutBoxDlgProc(HWND /*hWnd*/, UINT /*msg*/, WPARAM /*wParam*/, LPARAM /*lParam*/) { +// return TRUE; +//} -void IFCImp::ShowAbout(HWND hWnd) {} +void IFCImp::ShowAbout(HWND /*hWnd*/) {} -DWORD WINAPI fn(LPVOID arg) { return 0; } +DWORD WINAPI fn(LPVOID /*arg*/) { return 0; } #if MAX_RELEASE > 14000 # define S(x) (TSTR::FromCStr(x.c_str())) @@ -113,8 +119,9 @@ DWORD WINAPI fn(LPVOID arg) { return 0; } # define S(x) (CStr(x.c_str())) #endif -Mtl* FindMaterialByName(MtlBaseLib* library, const std::string& material_name) { - const int mat_index = library->FindMtlByName(S(material_name)); +static Mtl* FindMaterialByName(MtlBaseLib* library, const std::string& material_name) { + TSTR mat_name = S(material_name); + const int mat_index = library->FindMtlByName(mat_name); Mtl* m = 0; if (mat_index != -1) { m = static_cast((*library)[mat_index]); @@ -122,7 +129,7 @@ Mtl* FindMaterialByName(MtlBaseLib* library, const std::string& material_name) { return m; } -Mtl* FindOrCreateMaterial(MtlBaseLib* library, Interface* max_interface, int& slot, const IfcGeom::Material& material) { +static Mtl* FindOrCreateMaterial(MtlBaseLib* library, Interface* max_interface, int& slot, const IfcGeom::Material& material) { Mtl* m = FindMaterialByName(library, material.name()); if (m == 0) { StdMat2* stdm = NewDefaultStdMat(); @@ -136,10 +143,10 @@ Mtl* FindOrCreateMaterial(MtlBaseLib* library, Interface* max_interface, int& sl stdm->SetSpecular(Color(specular[0], specular[1], specular[2]),t); } if (material.hasSpecularity()) { - stdm->SetShininess(material.specularity(), t); + stdm->SetShininess((float)material.specularity(), t); } if (material.hasTransparency()) { - stdm->SetOpacity(1.0 - material.transparency(), t); + stdm->SetOpacity(1.0f - (float)material.transparency(), t); } m = stdm; m->SetName(S(material.name())); @@ -151,7 +158,10 @@ Mtl* FindOrCreateMaterial(MtlBaseLib* library, Interface* max_interface, int& sl return m; } -Mtl* ComposeMultiMaterial(std::map, Mtl*>& multi_mats, MtlBaseLib* library, Interface* max_interface, int& slot, const std::vector& materials, const std::string& object_type, const std::vector& material_ids) { +static Mtl* ComposeMultiMaterial(std::map, Mtl*>& multi_mats, MtlBaseLib* library, + Interface* max_interface, int& slot, const std::vector& materials, + const std::string& object_type, const std::vector& material_ids) +{ std::vector material_names; bool needs_default = std::find(material_ids.begin(), material_ids.end(), -1) != material_ids.end(); if (needs_default) { @@ -184,7 +194,7 @@ Mtl* ComposeMultiMaterial(std::map, Mtl*>& multi_mats, return i->second; } MultiMtl* multi_mat = NewDefaultMultiMtl(); - multi_mat->SetNumSubMtls(material_names.size()); + multi_mat->SetNumSubMtls((int)material_names.size()); int mtl_id = 0; if (needs_default) { multi_mat->SetSubMtlAndName(mtl_id ++, default_material, default_material->GetName()); @@ -201,7 +211,7 @@ Mtl* ComposeMultiMaterial(std::map, Mtl*>& multi_mats, return multi_mat; } -int IFCImp::DoImport(const TCHAR *name, ImpInterface *impitfc, Interface *itfc, BOOL suppressPrompts) { +int IFCImp::DoImport(const TCHAR *name, ImpInterface *impitfc, Interface *itfc, BOOL /*suppressPrompts*/) { IfcGeom::IteratorSettings settings; settings.use_world_coords() = false; @@ -217,7 +227,7 @@ int IFCImp::DoImport(const TCHAR *name, ImpInterface *impitfc, Interface *itfc, #endif IfcGeom::Iterator iterator(settings, fn_mb); - + delete fn_mb; if (!iterator.initialize()) return false; itfc->ProgressStart(_T("Importing file..."), TRUE, fn, NULL); @@ -237,12 +247,12 @@ int IFCImp::DoImport(const TCHAR *name, ImpInterface *impitfc, Interface *itfc, TriObject* tri = CreateNewTriObject(); - const int numVerts = o->geometry().verts().size()/3; + const int numVerts = (int)o->geometry().verts().size()/3; tri->mesh.setNumVerts(numVerts); for( int i = 0; i < numVerts; i ++ ) { tri->mesh.setVert(i,o->geometry().verts()[3*i+0],o->geometry().verts()[3*i+1],o->geometry().verts()[3*i+2]); } - const int numFaces = o->geometry().faces().size()/3; + const int numFaces = (int)o->geometry().faces().size()/3; tri->mesh.setNumFaces(numFaces); bool needs_default = std::find(o->geometry().material_ids().begin(), o->geometry().material_ids().end(), -1) != o->geometry().material_ids().end(); @@ -274,7 +284,7 @@ int IFCImp::DoImport(const TCHAR *name, ImpInterface *impitfc, Interface *itfc, tri->mesh.faces[i].setVerts(v1, v2, v3); tri->mesh.faces[i].setEdgeVisFlags(b1, b2, b3); - MtlID mtlid = o->geometry().material_ids()[i]; + MtlID mtlid = (MtlID)o->geometry().material_ids()[i]; if (needs_default) { mtlid ++; } @@ -310,4 +320,4 @@ int IFCImp::DoImport(const TCHAR *name, ImpInterface *impitfc, Interface *itfc, itfc->ProgressEnd(); return true; -} \ No newline at end of file +} diff --git a/src/ifcmax/IfcMax.def b/src/ifcmax/IfcMax.def deleted file mode 100644 index 03d30e4b97..0000000000 --- a/src/ifcmax/IfcMax.def +++ /dev/null @@ -1,8 +0,0 @@ -LIBRARY ifcmax.dli -EXPORTS - LibDescription @1 - LibNumberClasses @2 - LibClassDesc @3 - LibVersion @4 -SECTIONS - .data READ WRITE \ No newline at end of file diff --git a/src/ifcmax/IfcMax.h b/src/ifcmax/IfcMax.h index d144f9c777..19a89d9da0 100644 --- a/src/ifcmax/IfcMax.h +++ b/src/ifcmax/IfcMax.h @@ -21,12 +21,6 @@ #define IFCMAX_H #include "Max.h" -#include "istdplug.h" -#include "stdmat.h" -#include "decomp.h" -#include "shape.h" -#include "splshape.h" -#include "dummy.h" extern ClassDesc* GetIFCImpDesc(); @@ -38,7 +32,7 @@ public: const TCHAR * LongDesc(); // = "IfcOpenShell IFC Importer for 3ds Max" const TCHAR * ShortDesc(); // = "Industry Foundation Classes" const TCHAR * AuthorName(); // = "Thomas Krijnen" - const TCHAR * CopyrightMessage(); // = "Copyight (c) 2011 IfcOpenShell" + const TCHAR * CopyrightMessage(); // = "Copyright (c) 2011-2016 IfcOpenShell" const TCHAR * OtherMessage1(); // = "" const TCHAR * OtherMessage2(); // = "" unsigned int Version(); // = 12 diff --git a/win/build-deps.cmd b/win/build-deps.cmd index d7d8b44b35..974b578134 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -434,4 +434,3 @@ echo - https://www.visualstudio.com/ echo 5. Run this batch script with Visual Studio environment variables set. echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx echo. -REM TODO 3ds Max SDK instructions? diff --git a/win/readme.md b/win/readme.md index dd85e652e0..6497d0ba4c 100644 --- a/win/readme.md +++ b/win/readme.md @@ -40,7 +40,8 @@ After this, one can build the project using the `IfcOpenShell.sln` file in the b if wanted. Convenience batch files `build-ifcopenshell.cmd` and `install-ifcopenshell.cmd` can also be used. The batch files expect `%1` and `%2` in same fashion as above and possible extra parameters are passed for the `MSBuild` call. The project will be installed to `installed-vs-\` folder in the project's root folder and the required IfcOpenShell-Python -parts are deployed to the `\Lib\site-packages\` folder. +parts are deployed to the `\Lib\site-packages\` folder. The 3ds Max plug-in, IfcMax.dli, needs to be copied manually +to the 3ds Max's `plugins` folder. **Note:** All of the dependencies are build as static libraries against the static run-time allowing the developer to effortlessly deploy standalone IFCOS binaries. diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 1c2865d723..e29fd6dd65 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -59,7 +59,7 @@ set PYTHON_LIBRARY=%PYTHONHOME%\libs\python%PY_VER_MAJOR_MINOR%.lib set PYTHON_EXECUTABLE=%PYTHONHOME%\python.exe set SWIG_DIR=%INSTALL_DIR%\swigwin set PATH=%PATH%;%SWIG_DIR%;%PYTHONHOME% -:: TODO 3ds Max SDK? +set THREEDS_MAX_SDK_HOME=C:\Program Files\Autodesk\3ds Max 2016 SDK\maxsdk echo. call cecho.cmd 0 10 "Script configuration:" @@ -80,6 +80,7 @@ echo PYTHON_INCLUDE_DIR = %PYTHON_INCLUDE_DIR% echo PYTHON_LIBRARY = %PYTHON_LIBRARY% echo PYTHON_EXECUTABLE = %PYTHON_EXECUTABLE% echo SWIG_DIR = %SWIG_DIR% +echo THREEDS_MAX_SDK_HOME = %THREEDS_MAX_SDK_HOME% echo. echo CMAKE_INSTALL_PREFIX = %CMAKE_INSTALL_PREFIX% echo. From 645315a8f4ff756372eae43d3e0c0329349881d2 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 19 Feb 2016 23:02:09 +0200 Subject: [PATCH 101/157] remove win/sln as these are not needed anymore --- README.md | 20 +- win/readme.md | 1 - win/sln/IfcConvert.vcproj | 248 ------------------------ win/sln/IfcGeom.vcproj | 293 ---------------------------- win/sln/IfcMax.vcproj | 204 -------------------- win/sln/IfcOpenHouse.vcproj | 184 ------------------ win/sln/IfcOpenShell.sln | 73 ------- win/sln/IfcParse.vcproj | 326 -------------------------------- win/sln/IfcParseExamples.vcproj | 195 ------------------- win/sln/IfcWrap.vcproj | 217 --------------------- win/sln/readme.txt | 16 -- 11 files changed, 7 insertions(+), 1770 deletions(-) delete mode 100644 win/sln/IfcConvert.vcproj delete mode 100644 win/sln/IfcGeom.vcproj delete mode 100644 win/sln/IfcMax.vcproj delete mode 100644 win/sln/IfcOpenHouse.vcproj delete mode 100644 win/sln/IfcOpenShell.sln delete mode 100644 win/sln/IfcParse.vcproj delete mode 100644 win/sln/IfcParseExamples.vcproj delete mode 100644 win/sln/IfcWrap.vcproj delete mode 100644 win/sln/readme.txt diff --git a/README.md b/README.md index 069ab3f3ec..19c0f29b24 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ IfcOpenShell ============ -Open source (LGPL) software library for working with the IFC ([IFC2x3 TC1] and [IFC4]) file format. +IfcOpenShell is an open source (LGPL) software library for working with the IFC ([IFC2x3 TC1] and [IFC4]) file format. [http://ifcopenshell.org](http://ifcopenshell.org) [http://academy.ifcopenshell.org](http://academy.ifcopenshell.org) @@ -8,7 +8,10 @@ Open source (LGPL) software library for working with the IFC ([IFC2x3 TC1] and [ Prerequisites ============= -* Git, CMake (2.6 or newer), Visual Studio 2008 or newer with C++ toolset (Windows), or GCC (*nix, Clang untested). +* Git +* CMake (2.6 or newer) +* Windows: Visual Studio 2008 or newer with C++ toolset, MinGW not supported currently +* *nix: GCC 4.7 or newer, or Clang (any version should work, but not tested) Dependencies @@ -30,9 +33,6 @@ Dependencies Compiling on Windows ==================== -Users are advised to build IfcOpenShell using the CMake file provided in -the cmake/ folder. - The preferred way to fetch and build this project's dependencies is to use the build scripts in win/ folder. **See [win/readme.md] for more information**. Instructions in a nutshell (**assuming Visual Studio 2015 x64 environment variables set**): @@ -55,16 +55,10 @@ Alternatively, one can use the utility batch files to build and install the proj > build-ifcopenshell.cmd > install-ifcopenshell.cmd -Alternatively, the old Visual Studio solution and project files requiring manual work can -be found from the win/sln folder. - - Compiling on *nix ================= -Users are advised to build IfcOpenShell using the CMake file provided in -the cmake/ folder. There might be an Open CASCADE package in your operating -system's software repository. If not, you will need to compile Open -CASCADE yourself. See http://opencascade.org. +There might be an Open CASCADE package in your operating system's software repository. If not, you will need to compile +Open CASCADE yourself. See http://opencascade.org. For building the IfcPython wrapper, SWIG and Python development are required. diff --git a/win/readme.md b/win/readme.md index 6497d0ba4c..80a044371a 100644 --- a/win/readme.md +++ b/win/readme.md @@ -83,6 +83,5 @@ Directory Structure | run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS | set-python-to-path.bat - Utility for setting PYTHONHOME (read from BuildDepsCache-.txt) to PATH | vs-cfg.cmd - Utility file used by the build scripts -+---sln - Contains the old Visual Studio solution and project files \---utils - Contains various utilities for the build scripts ``` diff --git a/win/sln/IfcConvert.vcproj b/win/sln/IfcConvert.vcproj deleted file mode 100644 index edc1b07ac1..0000000000 --- a/win/sln/IfcConvert.vcproj +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/sln/IfcGeom.vcproj b/win/sln/IfcGeom.vcproj deleted file mode 100644 index 4d13716f3d..0000000000 --- a/win/sln/IfcGeom.vcproj +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/sln/IfcMax.vcproj b/win/sln/IfcMax.vcproj deleted file mode 100644 index 8778979fb9..0000000000 --- a/win/sln/IfcMax.vcproj +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/sln/IfcOpenHouse.vcproj b/win/sln/IfcOpenHouse.vcproj deleted file mode 100644 index 4f0ce2b955..0000000000 --- a/win/sln/IfcOpenHouse.vcproj +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/sln/IfcOpenShell.sln b/win/sln/IfcOpenShell.sln deleted file mode 100644 index 898dddbb71..0000000000 --- a/win/sln/IfcOpenShell.sln +++ /dev/null @@ -1,73 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IfcParse", "IfcParse.vcproj", "{F7600775-3D48-426A-88E2-F3A4BF4408A2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IfcPython", "IfcWrap.vcproj", "{DF780EE9-405F-4D15-A679-A251E30E84E2}" - ProjectSection(ProjectDependencies) = postProject - {F7600775-3D48-426A-88E2-F3A4BF4408A2} = {F7600775-3D48-426A-88E2-F3A4BF4408A2} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IfcMax", "IfcMax.vcproj", "{BD4D152C-8619-4DB9-8637-56DA166979F3}" - ProjectSection(ProjectDependencies) = postProject - {F7600775-3D48-426A-88E2-F3A4BF4408A2} = {F7600775-3D48-426A-88E2-F3A4BF4408A2} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IfcConvert", "IfcConvert.vcproj", "{5B0BAAB3-9FC4-4C0C-9D38-8BF4B07F4A85}" - ProjectSection(ProjectDependencies) = postProject - {BA57AF0F-1D12-4FAC-BD40-7474D729CAE9} = {BA57AF0F-1D12-4FAC-BD40-7474D729CAE9} - {F7600775-3D48-426A-88E2-F3A4BF4408A2} = {F7600775-3D48-426A-88E2-F3A4BF4408A2} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IfcGeom", "IfcGeom.vcproj", "{BA57AF0F-1D12-4FAC-BD40-7474D729CAE9}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IfcParseExamples", "IfcParseExamples.vcproj", "{4DA9E9D7-60A6-4031-BA78-A3741BD62CB9}" - ProjectSection(ProjectDependencies) = postProject - {F7600775-3D48-426A-88E2-F3A4BF4408A2} = {F7600775-3D48-426A-88E2-F3A4BF4408A2} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IfcOpenHouse", "IfcOpenHouse.vcproj", "{163D7E4F-5337-4FAD-AC11-4D40078395A3}" - ProjectSection(ProjectDependencies) = postProject - {BA57AF0F-1D12-4FAC-BD40-7474D729CAE9} = {BA57AF0F-1D12-4FAC-BD40-7474D729CAE9} - {F7600775-3D48-426A-88E2-F3A4BF4408A2} = {F7600775-3D48-426A-88E2-F3A4BF4408A2} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {F7600775-3D48-426A-88E2-F3A4BF4408A2}.Debug|Win32.ActiveCfg = Debug|Win32 - {F7600775-3D48-426A-88E2-F3A4BF4408A2}.Debug|Win32.Build.0 = Debug|Win32 - {F7600775-3D48-426A-88E2-F3A4BF4408A2}.Release|Win32.ActiveCfg = Release|Win32 - {F7600775-3D48-426A-88E2-F3A4BF4408A2}.Release|Win32.Build.0 = Release|Win32 - {DF780EE9-405F-4D15-A679-A251E30E84E2}.Debug|Win32.ActiveCfg = Debug|Win32 - {DF780EE9-405F-4D15-A679-A251E30E84E2}.Debug|Win32.Build.0 = Debug|Win32 - {DF780EE9-405F-4D15-A679-A251E30E84E2}.Release|Win32.ActiveCfg = Release|Win32 - {DF780EE9-405F-4D15-A679-A251E30E84E2}.Release|Win32.Build.0 = Release|Win32 - {BD4D152C-8619-4DB9-8637-56DA166979F3}.Debug|Win32.ActiveCfg = Debug|Win32 - {BD4D152C-8619-4DB9-8637-56DA166979F3}.Debug|Win32.Build.0 = Debug|Win32 - {BD4D152C-8619-4DB9-8637-56DA166979F3}.Release|Win32.ActiveCfg = Release|Win32 - {BD4D152C-8619-4DB9-8637-56DA166979F3}.Release|Win32.Build.0 = Release|Win32 - {5B0BAAB3-9FC4-4C0C-9D38-8BF4B07F4A85}.Debug|Win32.ActiveCfg = Debug|Win32 - {5B0BAAB3-9FC4-4C0C-9D38-8BF4B07F4A85}.Debug|Win32.Build.0 = Debug|Win32 - {5B0BAAB3-9FC4-4C0C-9D38-8BF4B07F4A85}.Release|Win32.ActiveCfg = Release|Win32 - {5B0BAAB3-9FC4-4C0C-9D38-8BF4B07F4A85}.Release|Win32.Build.0 = Release|Win32 - {BA57AF0F-1D12-4FAC-BD40-7474D729CAE9}.Debug|Win32.ActiveCfg = Debug|Win32 - {BA57AF0F-1D12-4FAC-BD40-7474D729CAE9}.Debug|Win32.Build.0 = Debug|Win32 - {BA57AF0F-1D12-4FAC-BD40-7474D729CAE9}.Release|Win32.ActiveCfg = Release|Win32 - {BA57AF0F-1D12-4FAC-BD40-7474D729CAE9}.Release|Win32.Build.0 = Release|Win32 - {4DA9E9D7-60A6-4031-BA78-A3741BD62CB9}.Debug|Win32.ActiveCfg = Debug|Win32 - {4DA9E9D7-60A6-4031-BA78-A3741BD62CB9}.Debug|Win32.Build.0 = Debug|Win32 - {4DA9E9D7-60A6-4031-BA78-A3741BD62CB9}.Release|Win32.ActiveCfg = Release|Win32 - {4DA9E9D7-60A6-4031-BA78-A3741BD62CB9}.Release|Win32.Build.0 = Release|Win32 - {163D7E4F-5337-4FAD-AC11-4D40078395A3}.Debug|Win32.ActiveCfg = Debug|Win32 - {163D7E4F-5337-4FAD-AC11-4D40078395A3}.Debug|Win32.Build.0 = Debug|Win32 - {163D7E4F-5337-4FAD-AC11-4D40078395A3}.Release|Win32.ActiveCfg = Release|Win32 - {163D7E4F-5337-4FAD-AC11-4D40078395A3}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/win/sln/IfcParse.vcproj b/win/sln/IfcParse.vcproj deleted file mode 100644 index e36d27bd4c..0000000000 --- a/win/sln/IfcParse.vcproj +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/sln/IfcParseExamples.vcproj b/win/sln/IfcParseExamples.vcproj deleted file mode 100644 index 94027eb617..0000000000 --- a/win/sln/IfcParseExamples.vcproj +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/sln/IfcWrap.vcproj b/win/sln/IfcWrap.vcproj deleted file mode 100644 index 51ffcc7320..0000000000 --- a/win/sln/IfcWrap.vcproj +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - - <..\..s> - <..\.. - Name="Debug|Win32" - OutputDirectory="..\build\debug" - IntermediateDirectory="..\temp\wrap\debug" - ..\..Type="2" - CharacterSet="2" - BuildLogFile="$(IntDir)\BuildLog.htm" - > - - - - - - - - - - - - - - - - - - - <..\.. - Name="Release|Win32" - OutputDirectory="..\build\release" - IntermediateDirectory="..\temp\wrap\release" - ..\..Type="2" - CharacterSet="2" - WholeProgramOptimization="1" - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/sln/readme.txt b/win/sln/readme.txt deleted file mode 100644 index d338443843..0000000000 --- a/win/sln/readme.txt +++ /dev/null @@ -1,16 +0,0 @@ -Original information from the README.md: - -For Windows users a prebuilt Open CASCADE version is available from the -http://opencascade.org website. Download and install this version and -provide the paths to the Open CASCADE header and library files to MS -Visual Studio C++. - -For building the Autodesk 3ds Max plugin, the 3ds Max SDK needs to be -installed as well as 3ds Max itself. Please provide the include and -library paths to Visual Studio. - -For building the IfcPython wrapper, SWIG needs to be installed. Please -download the latest swigwin version from http://www.swig.org/download.html. -After extracting the .zip file, please add the extracted folder to the PATH -environment variable. Python needs to be installed, please provide the -include and library paths to Visual Studio. From e171e308d00da83fbe6625fc59fb3260462072ea Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 20 Feb 2016 00:13:04 +0200 Subject: [PATCH 102/157] Enable solution folders --- cmake/CMakeLists.txt | 5 +++++ src/examples/CMakeLists.txt | 2 ++ 2 files changed, 7 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 27e71cb278..d1e7729ffd 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -243,6 +243,11 @@ if(ENABLE_BUILD_OPTIMIZATIONS) endif() IF(MSVC) + # Enable solution folders (free VS versions < 2012 doesn't support solution folders) + if (MSVC_VERSION GREATER 1600) + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + endif() + IF(USE_VLD) ADD_DEFINITIONS(-DUSE_VLD) ENDIF() diff --git a/src/examples/CMakeLists.txt b/src/examples/CMakeLists.txt index 0f0da6a525..8805d40e8c 100644 --- a/src/examples/CMakeLists.txt +++ b/src/examples/CMakeLists.txt @@ -19,6 +19,8 @@ ADD_EXECUTABLE(IfcParseExamples IfcParseExamples.cpp) TARGET_LINK_LIBRARIES(IfcParseExamples IfcParse) +set_target_properties(IfcParseExamples PROPERTIES FOLDER Examples) ADD_EXECUTABLE(IfcOpenHouse IfcOpenHouse.cpp) TARGET_LINK_LIBRARIES(IfcOpenHouse IfcParse IfcGeom ${OPENCASCADE_LIBRARIES}) +set_target_properties(IfcOpenHouse PROPERTIES FOLDER Examples) From 58b5838da9726bf39163e15e9f207a7f3fc45c31 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 20 Feb 2016 00:43:35 +0200 Subject: [PATCH 103/157] README.md tweaks --- README.md | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 19c0f29b24..c320658ab7 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,19 @@ IfcOpenShell ============ -IfcOpenShell is an open source (LGPL) software library for working with the IFC ([IFC2x3 TC1] and [IFC4]) file format. - -[http://ifcopenshell.org](http://ifcopenshell.org) -[http://academy.ifcopenshell.org](http://academy.ifcopenshell.org) - +IfcOpenShell is an open source ([LGPL]) software library for working with the [IFC] ([IFC2x3 TC1] and [IFC4]) file format. +For more information, see +* [http://ifcopenshell.org](http://ifcopenshell.org) +* [http://academy.ifcopenshell.org](http://academy.ifcopenshell.org) Prerequisites -============= +------------- * Git * CMake (2.6 or newer) * Windows: Visual Studio 2008 or newer with C++ toolset, MinGW not supported currently * *nix: GCC 4.7 or newer, or Clang (any version should work, but not tested) - Dependencies -============ +------------- * [Boost](http://www.boost.org/) * Open Cascade - *optional*, but required for building IfcGeom ([official](http://www.opencascade.org/getocc/download/loadocc/) or [community edition](https://github.com/tpaviot/oce)) @@ -30,9 +28,9 @@ Dependencies For building the 3ds Max plug-in. All recent versions of 3ds Max (2014 and newer) are 64-bit only, so a 64-bit installation is assumed. - -Compiling on Windows -==================== +Building IfcOpenShell +--------------------- +### Compiling on Windows The preferred way to fetch and build this project's dependencies is to use the build scripts in win/ folder. **See [win/readme.md] for more information**. Instructions in a nutshell (**assuming Visual Studio 2015 x64 environment variables set**): @@ -55,8 +53,7 @@ Alternatively, one can use the utility batch files to build and install the proj > build-ifcopenshell.cmd > install-ifcopenshell.cmd -Compiling on *nix -================= +### Compiling on *nix There might be an Open CASCADE package in your operating system's software repository. If not, you will need to compile Open CASCADE yourself. See http://opencascade.org. @@ -90,7 +87,7 @@ To build IfcOpenShell please take the following steps: If all worked out correctly you can now use IfcOpenShell. See the examples below. Usage examples -============== +-------------- **Invoking IfcConvert from the command line** @@ -160,6 +157,8 @@ Usage examples >>> # Writing IFC-SPF files to disk: >>> f.write("out.ifc") -[win/readme.md]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win/readme.md "win/readme.md" +[LGPL]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/COPYING "LGPL" +[IFC]: http://www.buildingsmart-tech.org/specifications/ifc-overview "IFC" [IFC2x3 TC1]: http://www.buildingsmart-tech.org/specifications/ifc-releases/ifc2x3-tc1-release "IFC2x3 TC1" -[IFC4]: http://www.buildingsmart-tech.org/specifications/ifc-releases/ifc4-release "IFC4" \ No newline at end of file +[IFC4]: http://www.buildingsmart-tech.org/specifications/ifc-releases/ifc4-release "IFC4" +[win/readme.md]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win/readme.md "win/readme.md" \ No newline at end of file From ee75545ecd77d33b844e85289b6a8e1b32f8d5ec Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 21 Feb 2016 16:52:00 +0200 Subject: [PATCH 104/157] README tweaks --- README.md | 8 +++++--- cmake/CMakeLists.txt | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c320658ab7..059869ee62 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ IfcOpenShell ============ -IfcOpenShell is an open source ([LGPL]) software library for working with the [IFC] ([IFC2x3 TC1] and [IFC4]) file format. +IfcOpenShell is an open source ([LGPL]) software library for working with the Industry Foundation Classes ([IFC]) +file format. Currently supported IFC releases are [IFC2x3 TC1] and [IFC4]. + For more information, see * [http://ifcopenshell.org](http://ifcopenshell.org) * [http://academy.ifcopenshell.org](http://academy.ifcopenshell.org) @@ -22,9 +24,9 @@ Dependencies For handling code pages and Unicode in the parser * [OpenCOLLADA](https://github.com/khronosGroup/OpenCOLLADA/) - *optional* For IfcConvert to be able to write tessellated Collada (.dae) files -* [SWIG](http://www.swig.org/), [Python](https://www.python.org/) libraries - *optional* +* [SWIG](http://www.swig.org/) and [Python](https://www.python.org/) - *optional* For building the IfcOpenShell Python interface and the Blender add-on -* 3ds Max SDK - *optional* +* [3ds Max SDK](http://www.autodesk.com/products/3ds-max/free-trial) - *optional* For building the 3ds Max plug-in. All recent versions of 3ds Max (2014 and newer) are 64-bit only, so a 64-bit installation is assumed. diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index d1e7729ffd..07554ff63f 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -243,7 +243,7 @@ if(ENABLE_BUILD_OPTIMIZATIONS) endif() IF(MSVC) - # Enable solution folders (free VS versions < 2012 doesn't support solution folders) + # Enable solution folders (free VS versions prior to 2012 don't support solution folders) if (MSVC_VERSION GREATER 1600) set_property(GLOBAL PROPERTY USE_FOLDERS ON) endif() From d1a1759016815c550442aeff2751201477e2ef18 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 25 Feb 2016 17:23:04 +0200 Subject: [PATCH 105/157] Use a fixed revision of OpenCOLLADA in order to prevent introducing breaking changes. Closes #36, related to #38 --- win/build-deps.cmd | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index d7d8b44b35..81140aa78b 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -205,7 +205,8 @@ IF EXIST "%DEPS_DIR%\icu-55.1-vs%VS_VER%\". ( :: Note OpenCOLLADA has only Release and Debug builds. set DEPENDENCY_NAME=OpenCOLLADA set DEPENDENCY_DIR=%DEPS_DIR%\OpenCOLLADA -call :GitCloneOrPullRepository https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPENDENCY_DIR%" +:: Use a fixed revision in order to prevent introducing breaking changes +call :GitCloneAndCheckoutRevision https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPENDENCY_DIR%" 064a60b65c2c31b94f013820856bc84fb1937cc6 IF NOT %ERRORLEVEL%==0 GOTO :Error cd "%DEPENDENCY_DIR%" :: Debug build of OpenCOLLADAValidator fails (https://github.com/KhronosGroup/OpenCOLLADA/issues/377) so @@ -386,6 +387,28 @@ IF NOT EXIST %2. ( popd exit /b %RET% +:: GitCloneAndCheckoutRevision - Clones a Git repository and checks out a specific revision +:: Params: %1 gitUrl, %2 destDir, %3 revision +:: F.ex. call :GitCloneAndCheckoutRevision https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPENDENCY_DIR%" 064a60b65c2c31b94f013820856bc84fb1937cc6 +:GitCloneAndCheckoutRevision +IF NOT EXIST %2. ( + call cecho.cmd 0 13 "Cloning %DEPENDENCY_NAME% into %2." + pushd "%DEPS_DIR%" + call git clone %1 %2 + pushd "%2" + call cecho.cmd 0 13 "Checking out %DEPENDENCY_NAME% revision %3." + call git checkout %3 + set RET=%ERRORLEVEL% + popd +) ELSE ( + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already cloned. Skipping." + pushd %2 + call git pull + set RET=0 +) +popd +exit /b %RET% + :: RunCMake - Runs CMake for a CMake-based project :: Params: %* cmakeOptions :: NOTE cd to root CMakeLists.txt folder before calling this if the CMakeLists.txt is not in the repo root. From 7ed219af70b67f787d1209bbb665c15c985cddd2 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 25 Feb 2016 17:31:47 +0200 Subject: [PATCH 106/157] Use a fixed revision of OpenCOLLADA in order to prevent introducing breaking changes. Closes #36, related to #38 --- win/build-deps.cmd | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 81140aa78b..a8ce258f0f 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -391,7 +391,7 @@ exit /b %RET% :: Params: %1 gitUrl, %2 destDir, %3 revision :: F.ex. call :GitCloneAndCheckoutRevision https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPENDENCY_DIR%" 064a60b65c2c31b94f013820856bc84fb1937cc6 :GitCloneAndCheckoutRevision -IF NOT EXIST %2. ( +IF NOT EXIST "%2". ( call cecho.cmd 0 13 "Cloning %DEPENDENCY_NAME% into %2." pushd "%DEPS_DIR%" call git clone %1 %2 @@ -402,8 +402,6 @@ IF NOT EXIST %2. ( popd ) ELSE ( call cecho.cmd 0 13 "%DEPENDENCY_NAME% already cloned. Skipping." - pushd %2 - call git pull set RET=0 ) popd From 851fadb4ec0b2651516afe9b26707e57347806e0 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 27 Feb 2016 17:44:45 +0200 Subject: [PATCH 107/157] build-deps.cmd: GitCloneAndCheckoutRevision - always checkout the revision, so that users don't have the nuke their existing clones before running the script. --- win/build-deps.cmd | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index a8ce258f0f..8fa1c63830 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -395,15 +395,17 @@ IF NOT EXIST "%2". ( call cecho.cmd 0 13 "Cloning %DEPENDENCY_NAME% into %2." pushd "%DEPS_DIR%" call git clone %1 %2 - pushd "%2" - call cecho.cmd 0 13 "Checking out %DEPENDENCY_NAME% revision %3." - call git checkout %3 set RET=%ERRORLEVEL% + if not %RET%==0 exit /b %RET% popd ) ELSE ( - call cecho.cmd 0 13 "%DEPENDENCY_NAME% already cloned. Skipping." + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already cloned." set RET=0 ) +pushd "%2" +call cecho.cmd 0 13 "Checking out %DEPENDENCY_NAME% revision %3." +call git checkout %3 +set RET=%ERRORLEVEL% popd exit /b %RET% From 827c6fd4073d6f427c27f345015b996e9faa2a99 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 3 Mar 2016 20:36:16 +0100 Subject: [PATCH 108/157] Build script fixes and compatibility with OSX / bash 3.2 --- cmake/CMakeLists.txt | 5 +- nix/build-all.sh | 106 +++++++++++++++++++++++++++---------------- 2 files changed, 72 insertions(+), 39 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 9e91417382..b956b97c28 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -407,7 +407,10 @@ ADD_EXECUTABLE(IfcConvert ${IFCCONVERT_FILES}) get_filename_component(libTKernelExt ${libTKernel} EXT) if("${libTKernelExt}" STREQUAL ".a") find_package(Threads) - set(OPENCASCADE_LIBRARIES ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} rt dl) + if (NOT APPLE) + set(LIB_RT "rt") + endif() + set(OPENCASCADE_LIBRARIES ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${LIB_RT} dl) endif() TARGET_LINK_LIBRARIES(IfcConvert IfcParse IfcGeom ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ${ICU_LIBRARIES}) diff --git a/nix/build-all.sh b/nix/build-all.sh index aa32fc2307..852b9dac1b 100755 --- a/nix/build-all.sh +++ b/nix/build-all.sh @@ -24,7 +24,11 @@ # Prerequisites for this script to function correctly: # # * git * bzip2 * tar * c(++) compilers * yacc * autoconf # # on debian 7.8 these can be obtained with: # -# $ apt-get install git bzip2 bizon autoconf gcc g++ # +# $ apt-get install git gcc g++ autoconf bison bzip2 # +# on ubuntu 14.04: # +# $ apt-get install git gcc g++ autoconf bison make # +# on OS X El Capitan with homebrew: # +# $ brew install git bison autoconf automake # # # ############################################################################### @@ -32,7 +36,7 @@ set -e PROJECT_NAME=IfcOpenShell OCE_VERSION=0.16 -PYTHON_VERSIONS=(2.7.9 3.3.6 3.4.2) +PYTHON_VERSIONS=(2.7.10 3.2.6 3.3.6 3.4.4 3.5.1) BOOST_VERSION=1.55.0 PCRE_VERSION=8.38 LIBXML_VERSION=2.9.3 @@ -50,6 +54,10 @@ function cecho { printf "$1$2\033[0m\n" } +function fullpath { + python -c "import os, sys; print os.path.realpath(os.path.dirname(sys.argv[1]))" "$1" +} + # Set defaults for missing empty environment variables if [ -z "$IFCOS_NUM_BUILD_PROCS" ]; then @@ -60,13 +68,13 @@ if [ -z "$TARGET_ARCH" ]; then TARGET_ARCH="$(uname -m)" fi -SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" -CMAKE_DIR="$SCRIPT_DIR/../../cmake/" +SCRIPT_DIR=`fullpath "$0"` +CMAKE_DIR="$SCRIPT_DIR/../cmake/" if [ -z "$DEPS_DIR" ]; then -DEPS_DIR="$SCRIPT_DIR/../../build/$(uname)/" +DEPS_DIR="$SCRIPT_DIR/../build/$(uname)/$TARGET_ARCH/" [ -d $DEPS_DIR ] || mkdir -p $DEPS_DIR -DEPS_DIR=`readlink -f $DEPS_DIR` +DEPS_DIR=`fullpath $DEPS_DIR` fi if [ -z "$BUILD_CFG" ]; then @@ -102,7 +110,7 @@ echo "" # Check that required tools are in PATH -for cmd in git bunzip2 tar cc c++ autoconf yacc +for cmd in git bunzip2 tar cc c++ autoconf automake yacc make do which $cmd > /dev/null || { cecho $RED "Required tool '$cmd' not installed or not added to PATH" ; exit 1 ; } done @@ -136,7 +144,7 @@ function download { } function run_autoconf { - if [ ! -f configure ]; then + if [ ! -f ../configure ]; then pushd . >>$LOG_FILE 2>&1 cd .. ./autogen.sh >>$LOG_FILE 2>&1 @@ -166,7 +174,7 @@ function git_clone { [ -d $2 ] || git clone $1 >>$LOG_FILE 2>&1 if [ ! -z "$3" ]; then cd $2 - git checkout $3 + git checkout $3 >>$LOG_FILE 2>&1 cd .. fi } @@ -203,7 +211,7 @@ function build_dependency { printf "\rConfiguring $1..." ./bootstrap.sh >>$LOG_FILE 2>&1 printf "\rBuilding $1... " - ./b2 $3 >>$LOG_FILE 2>&1 + eval ./b2 $3 >>$LOG_FILE 2>&1 printf "\rInstalling $1... " cp -R boost $DEPS_DIR/install/boost-$BOOST_VERSION/ >>$LOG_FILE 2>&1 printf "\rInstalled $1 \n" @@ -213,30 +221,32 @@ function build_dependency { cecho $GREEN "Collecting dependencies:" # Set compiler flags for 32bit builds on 64bit system +# TODO: This is untested if [ "$TARGET_ARCH" == "i686" ] && [ "$(uname -m)" == "x86_64" ]; then ADDITIONAL_ARGS="-m32 -arch i386" +BOOST_ADDRESS_MODEL="architecture=x86 address-model=32" fi if [ "$(uname)" == "Darwin" ]; then -ADDITIONAL_ARGS="-macosx_version_min 10.6 $ADDITIONAL_ARGS" +ADDITIONAL_ARGS="-mmacosx-version-min=10.6 $ADDITIONAL_ARGS" fi # If the linker supports GC sections, set it up to reduce binary file size # -fPIC is required for the shared libraries to work if man ld 2> /dev/null | grep gc-sections &> /dev/null; then +export CXXFLAGS_MINIMAL="$CXXFLAGS -fPIC $ADDITIONAL_ARGS" +export CFLAGS_MINIMAL="$CFLAGS -fPIC $ADDITIONAL_ARGS" export CXXFLAGS="$CXXFLAGS -fPIC -fdata-sections -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden $ADDITIONAL_ARGS" export CFLAGS="$CFLAGS -fPIC -fdata-sections -ffunction-sections -fvisibility=hidden $ADDITIONAL_ARGS" export LDFLAGS="$LDFLAGS -Wl,--gc-sections $ADDITIONAL_ARGS" -export CXXFLAGS_MINIMAL="$CXXFLAGS_MINIMAL -fPIC $ADDITIONAL_ARGS" -export CFLAGS_MINIMAL="$CFLAGS_MINIMAL -fPIC $ADDITIONAL_ARGS" else +export CXXFLAGS_MINIMAL="$CXXFLAGS -fPIC $ADDITIONAL_ARGS" +export CFLAGS_MINIMAL="$CFLAGS -fPIC $ADDITIONAL_ARGS" export CXXFLAGS="$CXXFLAGS -fPIC -fvisibility=hidden -fvisibility-inlines-hidden $ADDITIONAL_ARGS" export CFLAGS="$CFLAGS -fPIC -fvisibility=hidden -fvisibility-inlines-hidden $ADDITIONAL_ARGS" -export LDFLAGS="$LDFLAGS -s -death_code $ADDITIONAL_ARGS" -export CXXFLAGS_MINIMAL="$CXXFLAGS_MINIMAL -fPIC $ADDITIONAL_ARGS" -export CFLAGS_MINIMAL="$CFLAGS_MINIMAL -fPIC $ADDITIONAL_ARGS" +export LDFLAGS="$LDFLAGS $ADDITIONAL_ARGS" fi # Some dependencies need a more recent CMake version than most distros provide @@ -247,13 +257,15 @@ CMAKE_FLAG_EXTRACT_DIR=ifcopenshell_cmake_test_`cat /dev/urandom | env LC_CTYPE= [ -e $CMAKE_FLAG_EXTRACT_DIR ] && rm -rf $CMAKE_FLAG_EXTRACT_DIR mkdir $CMAKE_FLAG_EXTRACT_DIR cd $CMAKE_FLAG_EXTRACT_DIR -BUILD_CFG_UPPER=${BUILD_CFG^^} -for FL in C CXX LD; do +BUILD_CFG_UPPER=`echo $BUILD_CFG | awk '{print toupper($0)}'` +for FL in C CXX; do echo " message(\"\${CMAKE_${FL}_FLAGS_${BUILD_CFG_UPPER}}\") " > CMakeLists.txt - declare ${FL}FLAGS="`$DEPS_DIR/install/cmake-$CMAKE_VERSION/bin/cmake . 2>&1 >/dev/null`" - declare ${FL}FLAGS_MINIMAL="`$DEPS_DIR/install/cmake-$CMAKE_VERSION/bin/cmake . 2>&1 >/dev/null`" + FL=${FL}FLAGS + FLM=${FL}FLAGS_MINIMAL + declare ${FL}FLAGS="`$DEPS_DIR/install/cmake-$CMAKE_VERSION/bin/cmake . 2>&1 >/dev/null` ${!FL}" + declare ${FL}FLAGS_MINIMAL="`$DEPS_DIR/install/cmake-$CMAKE_VERSION/bin/cmake . 2>&1 >/dev/null` ${!FLM}" done cd .. rm -rf $CMAKE_FLAG_EXTRACT_DIR @@ -265,7 +277,7 @@ build_dependency pcre-$PCRE_VERSION autoconf "--disable-shared" ftp://ftp.csx.ca build_dependency swig autoconf "--with-pcre-prefix=$DEPS_DIR/install/pcre-$PCRE_VERSION" https://github.com/swig/swig.git swig git_clone rel-3.0.8 build_dependency oce-$OCE_VERSION cmake "-DOCE_DISABLE_TKSERVICE_FONT=ON -DOCE_TESTING=OFF -DOCE_BUILD_SHARED_LIB=OFF -DOCE_DISABLE_X11=ON -DOCE_VISUALISATION=OFF -DOCE_OCAF=OFF -DOCE_INSTALL_PREFIX=$DEPS_DIR/install/oce-$OCE_VERSION/" https://github.com/tpaviot/oce/archive/ OCE-$OCE_VERSION.tar.gz download -build_dependency libxml2-$LIBXML_VERSION autoconf "--without-python --disable-shared" ftp://xmlsoft.org/libxml2/ libxml2-$LIBXML_VERSION.tar.gz download +build_dependency libxml2-$LIBXML_VERSION autoconf "--without-python --disable-shared --without-zlib --without-iconv" ftp://xmlsoft.org/libxml2/ libxml2-$LIBXML_VERSION.tar.gz download build_dependency OpenCOLLADA cmake " -DLIBXML2_INCLUDE_DIR=$DEPS_DIR/install/libxml2-$LIBXML_VERSION/include/libxml2 -DLIBXML2_LIBRARIES=$DEPS_DIR/install/libxml2-$LIBXML_VERSION/lib/libxml2.a @@ -278,23 +290,23 @@ build_dependency OpenCOLLADA cmake " OLD_CXX_FLAGS=$CXXFLAGS OLD_C_FLAGS=$CFLAGS -OLD_LD_FLAGS=$LDFLAGS export CXXFLAGS=$CXXFLAGS_MINIMAL export CFLAGS=$CFLAGS_MINIMAL -export LDFLAGS=$LDFLAGS_MINIMAL - + +# On OSX a dynamic python library is built or it would not be compatible +# with the system python because of some threading initialization +if [ "$(uname)" == "Darwin" ]; then +PYTHON_CONFIGURE_ARGS="--disable-static --enable-shared" +fi + for PYTHON_VERSION in "${PYTHON_VERSIONS[@]}"; do - build_dependency python-$PYTHON_VERSION autoconf "" http://www.python.org/ftp/python/$PYTHON_VERSION/ Python-$PYTHON_VERSION.tgz download + build_dependency python-$PYTHON_VERSION autoconf "$PYTHON_CONFIGURE_ARGS" http://www.python.org/ftp/python/$PYTHON_VERSION/ Python-$PYTHON_VERSION.tgz download done export CXXFLAGS=$OLD_CXX_FLAGS export CFLAGS=$OLD_C_FLAGS -export LDFLAGS=$OLD_LD_FLAGS -if [ "$(uname)" == "Darwin" ] && [ "$1" == "32" ]; then -BOOST_ADDRESS_MODEL="toolset=darwin architecture=x86 target-os=darwin address-model=32" -fi -build_dependency boost-$BOOST_VERSION bjam "--stagedir=$DEPS_DIR/install/boost-$BOOST_VERSION --with-program_options link=static $BOOST_ADDRESS_MODEL stage" http://downloads.sourceforge.net/project/boost/boost/$BOOST_VERSION/ boost_$BOOST_VERSION_UNDERSCORE.tar.bz2 download +build_dependency boost-$BOOST_VERSION bjam "--stagedir=$DEPS_DIR/install/boost-$BOOST_VERSION --with-program_options link=static $BOOST_ADDRESS_MODEL cxxflags=\"$CXXFLAGS\" linkflags=\"$LDFLAGS\" stage" http://downloads.sourceforge.net/project/boost/boost/$BOOST_VERSION/ boost_$BOOST_VERSION_UNDERSCORE.tar.bz2 download build_dependency icu-$ICU_VERSION icu "--enable-static --disable-shared" http://download.icu-project.org/files/icu4c/$ICU_VERSION/ icu4c-${ICU_VERSION_UNDERSCORE}-src.tgz download @@ -326,10 +338,26 @@ printf "\rBuilding executables... " make -j$IFCOS_NUM_BUILD_PROCS >>$LOG_FILE 2>&1 -strip -s IfcConvert IfcGeomServer +if [ "$(uname)" == "Darwin" ]; then + STRIP_OPTION=-x +else + STRIP_OPTION=-s +fi + +strip $STRIP_OPTION IfcConvert IfcGeomServer cd .. +# On OSX the actual Python library is not linked against. +ADDITIONAL_ARGS= +if [ "$(uname)" == "Darwin" ]; then +ADDITIONAL_ARGS="-Wl,-flat_namespace,-undefined,suppress" +fi + +export CXXFLAGS="$CXXFLAGS_MINIMAL $ADDITIONAL_ARGS" +export CFLAGS="$CFLAGS_MINIMAL $ADDITIONAL_ARGS" +export LDFLAGS="$LDFLAGS $ADDITIONAL_ARGS" + for PYTHON_VERSION in "${PYTHON_VERSIONS[@]}"; do printf "\rConfiguring python $PYTHON_VERSION wrapper..." @@ -337,7 +365,7 @@ for PYTHON_VERSION in "${PYTHON_VERSIONS[@]}"; do mkdir -p python-$PYTHON_VERSION cd python-$PYTHON_VERSION - PYTHON_LIBRARY=`ls $DEPS_DIR/install/python-$PYTHON_VERSION/lib/libpython*.a` + PYTHON_LIBRARY=`ls $DEPS_DIR/install/python-$PYTHON_VERSION/lib/libpython*.*` PYTHON_INCLUDE=`ls -d $DEPS_DIR/install/python-$PYTHON_VERSION/include/python*` PYTHON_EXECUTABLE=$DEPS_DIR/install/python-$PYTHON_VERSION/bin/python export PYTHON_LIBRARY_BASENAME=`basename $PYTHON_LIBRARY` @@ -356,16 +384,18 @@ for PYTHON_VERSION in "${PYTHON_VERSIONS[@]}"; do -DSWIG_EXECUTABLE=$DEPS_DIR/install/swig/bin/swig " $CMAKE_DIR - # This still needs to be tested - # test "$(uname)" == "Darwin" && sed -i~ "s/-o/-flat_namespace -undefined suppress -o/" ifcwrap/CMakeFiles/_ifcopenshell_wrapper.dir/link.txt - printf "\rBuilding python $PYTHON_VERSION wrapper... " make -j$IFCOS_NUM_BUILD_PROCS _ifcopenshell_wrapper >>$LOG_FILE 2>&1 - strip -s \ - -K PyInit__ifcopenshell_wrapper \ - ifcwrap/_ifcopenshell_wrapper.so + if [ "$(uname)" != "Darwin" ]; then + # TODO: This symbol name depends on the Python version? + strip -s \ + -K PyInit__ifcopenshell_wrapper \ + ifcwrap/_ifcopenshell_wrapper.so + fi + + cd .. done From 84e7a86e77125e02e9fb9eb159e7d6f3ef4ccbe3 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 28 Feb 2016 19:51:50 +0200 Subject: [PATCH 109/157] XmlSerializer: handle openings. Original author of the commit/idea @otsoa. --- src/ifcconvert/XmlSerializer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ifcconvert/XmlSerializer.cpp b/src/ifcconvert/XmlSerializer.cpp index 9a8cc05d95..83be2a66e5 100644 --- a/src/ifcconvert/XmlSerializer.cpp +++ b/src/ifcconvert/XmlSerializer.cpp @@ -164,6 +164,16 @@ void descend(IfcProduct* product, ptree& tree) { } } + if (product->is(Type::IfcElement)) { + IfcElement* element = static_cast(product); + IfcOpeningElement::list::ptr openings = get_related( + element, &IfcElement::HasOpenings, &IfcRelVoidsElement::RelatedOpeningElement); + + for (IfcOpeningElement::list::it it = openings->begin(); it != openings->end(); ++it) { + descend(*it, child); + } + } + #ifdef USE_IFC2x3 IfcObjectDefinition::list::ptr structures = get_related From e35cefac52185090bb5837f806d77e7eef0acb94 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 5 Mar 2016 00:40:08 +0200 Subject: [PATCH 110/157] Fix crash (deleting garbage ptr) when nonexisting file passed to IfcSpfStream ctor. Bug surfaced due to recent memory leak fix. --- src/ifcparse/IfcParse.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index a32f64baad..8ee126794b 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -69,7 +69,10 @@ void init_locale() { // // Opens the file, gets the filesize and reads a chunk in memory // -IfcSpfStream::IfcSpfStream(const std::string& fn) { +IfcSpfStream::IfcSpfStream(const std::string& fn) + : stream(0) + , buffer(0) +{ eof = false; #ifdef _MSC_VER int fn_buffer_size = MultiByteToWideChar(CP_UTF8, 0, fn.c_str(), -1, 0, 0); @@ -86,7 +89,7 @@ IfcSpfStream::IfcSpfStream(const std::string& fn) { } valid = true; fseek(stream, 0, SEEK_END); - size = (unsigned int) ftell(stream);; + size = (unsigned int) ftell(stream); rewind(stream); #ifdef BUF_SIZE offset = 0; @@ -96,11 +99,14 @@ IfcSpfStream::IfcSpfStream(const std::string& fn) { buffer = new char[size]; #endif ptr = 0; - len = 0; + len = 0; ReadBuffer(false); } -IfcSpfStream::IfcSpfStream(std::istream& f, int l) { +IfcSpfStream::IfcSpfStream(std::istream& f, int l) + : stream(0) + , buffer(0) +{ eof = false; size = l; #ifdef BUF_SIZE @@ -114,7 +120,10 @@ IfcSpfStream::IfcSpfStream(std::istream& f, int l) { len = l; } -IfcSpfStream::IfcSpfStream(void* data, int l) { +IfcSpfStream::IfcSpfStream(void* data, int l) + : stream(0) + , buffer(0) +{ eof = false; size = l; #ifdef BUF_SIZE @@ -124,7 +133,7 @@ IfcSpfStream::IfcSpfStream(void* data, int l) { buffer = (char*) data; valid = true; ptr = 0; - len = l; + len = l; } IfcSpfStream::~IfcSpfStream() From 0da0e63687e0f5997526eaa4b2d4c32e0dd5f14e Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 7 Mar 2016 22:37:36 +0200 Subject: [PATCH 111/157] Begin to implement IfcConvert enhancements discussed in #20. Remove C++-specific getters and setters and use the same set() and get() functions in in both C++ and Python. Enhance output of IfcConvert, especially in error situations (spamming a hundred lines of options always hides the original error message), utilize Boost's foreach macro to provide cleaner iteration code. --- src/ifcconvert/IfcConvert.cpp | 288 ++++++++++++------ src/ifcconvert/OpenCascadeBasedSerializer.cpp | 2 +- src/ifcconvert/XmlSerializer.cpp | 11 +- src/ifcgeom/IfcGeomElement.h | 2 +- src/ifcgeom/IfcGeomFunctions.cpp | 8 +- src/ifcgeom/IfcGeomIterator.h | 82 +++-- src/ifcgeom/IfcGeomIteratorSettings.h | 262 +++++++--------- src/ifcgeom/IfcGeomRepresentation.cpp | 2 +- src/ifcgeom/IfcGeomRepresentation.h | 13 +- src/ifcgeomserver/IfcGeomServer.cpp | 8 +- src/ifcmax/IfcMax.cpp | 6 +- src/ifcparse/IfcUtil.cpp | 20 +- src/ifcparse/IfcUtil.h | 13 +- src/ifcwrap/IfcGeomWrapper.i | 20 +- 14 files changed, 426 insertions(+), 311 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 8f1e285ea8..e0483f75df 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -26,16 +26,6 @@ * * ********************************************************************************/ -#include -#include -#include -#include - -#include -#include - -#include "../ifcgeom/IfcGeomIterator.h" - #include "../ifcconvert/ColladaSerializer.h" #include "../ifcconvert/IgesSerializer.h" #include "../ifcconvert/StepSerializer.h" @@ -43,35 +33,68 @@ #include "../ifcconvert/XmlSerializer.h" #include "../ifcconvert/SvgSerializer.h" +#include "../ifcgeom/IfcGeomIterator.h" + #include #include +#include +#include +#include + +#include +#include +#include +#include + +typedef double real_t; /**< @todo Will be configurable */ +#define INF std::numeric_limits::infinity() +real_t bounds_min[3] = { INF, INF, INF }; +real_t bounds_max[3] = { -INF, -INF, -INF }; + #if USE_VLD #include #endif -static std::string DEFAULT_EXTENSION = "obj"; +const std::string DEFAULT_EXTENSION = "obj"; -void printVersion() { - std::cerr << "IfcOpenShell IfcConvert " << IFCOPENSHELL_VERSION << std::endl; +void print_version() +{ + /// @todo Why cerr used for info prints? Change to cout. + std::cerr << "IfcOpenShell " << IfcSchema::Identifier << " IfcConvert " << IFCOPENSHELL_VERSION << std::endl; } -void printUsage(const boost::program_options::options_description& generic_options, const boost::program_options::options_description& geom_options) { - printVersion(); - std::cerr << "Usage: IfcConvert [options] []" << std::endl - << std::endl - << "Converts the geometry in an IFC file into one of the following formats:" << std::endl - << " .obj WaveFront OBJ (a .mtl file is also created)" << std::endl; -#ifdef WITH_OPENCOLLADA - std::cerr << " .dae Collada Digital Asset Exchange" << std::endl; +void print_usage() +{ + std::cerr << "Usage: IfcConvert [options] []" << "\n" + << "\n" + << "Converts the geometry in an IFC file into one of the following formats:" << "\n" + << " .obj WaveFront OBJ (a .mtl file is also created)" << "\n" +#ifdef WITH_OPENCOLLADA + << " .dae Collada Digital Assets Exchange" << "\n" #endif - std::cerr << " .stp STEP Standard for the Exchange of Product Data" << std::endl - << " .igs IGES Initial Graphics Exchange Specification" << std::endl - << " .xml XML Property definitions and decomposition tree" << std::endl - << " .svg SVG Scalable Vector Graphics (2d floor plan)" << std::endl - << std::endl - << "Command line options" << std::endl << generic_options << std::endl - << "Advanced options" << std::endl << geom_options << std::endl; + << " .stp STEP Standard for the Exchange of Product Data" << "\n" + << " .igs IGES Initial Graphics Exchange Specification" << "\n" + << " .xml XML Property definitions and decomposition tree" << "\n" + << " .svg SVG Scalable Vector Graphics (2D floor plan)" << "\n" + << "\n" + << "If no output filename given, ." + DEFAULT_EXTENSION + " will be used as the output file.\n" + << "\n" + << "Run 'IfcConvert --help' for more information." << std::endl; +} + +void print_options( + const boost::optional& generic_options, + const boost::optional& geom_options, + const boost::optional& serialization_options) +{ + if (generic_options) + std::cerr << "\nCommand line options\n" << generic_options; + if (geom_options) + std::cerr << "\nGeometry options\n" << geom_options; + if (serialization_options) + std::cerr << "\nSerialization options\n" << serialization_options; + std::cerr << std::endl; } std::string change_extension(const std::string& fn, const std::string& ext) { @@ -89,7 +112,7 @@ void write_log(); int main(int argc, char** argv) { boost::program_options::options_description generic_options; generic_options.add_options() - ("help", "display usage information") + ("help,h", "display usage information") ("version", "display version information") ("verbose,v", "more verbose output"); @@ -98,8 +121,8 @@ int main(int argc, char** argv) { ("input-file", boost::program_options::value(), "input IFC file") ("output-file", boost::program_options::value(), "output geometry file"); - std::string bounds; - std::vector entity_vector; + std::vector entity_vector/*, names*/; + //double deflection_tolerance; boost::program_options::options_description geom_options; geom_options.add_options() ("plan", @@ -142,20 +165,48 @@ int main(int argc, char** argv) { ("disable-opening-subtractions", "Specifies whether to disable the boolean subtraction of " "IfcOpeningElement Representations from their RelatingElements.") - ("bounds", boost::program_options::value(&bounds), - "Specifies the bounding rectangle, for example 512x512, to which the " - "output will be scaled. Only used when converting to SVG.") ("include", - "Specifies that the entities listed after --entities are to be included") + "Specifies that the entities listed after --entities or --names are to be included") ("exclude", - "Specifies that the entities listed after --entities are to be excluded") - ("entities", boost::program_options::value< std::vector >(&entity_vector)->multitoken(), + "Specifies that the entities listed after --entities or --names are to be excluded") + ("entities", boost::program_options::value< std::vector >(&entity_vector)->multitoken(), "A list of entities that should be included in or excluded from the " - "geometrical output, depending on whether --ignore or --include is " - "specified. Defaults to IfcOpeningElement and IfcSpace to be excluded."); - + "geometrical output, depending on whether --exclude or --include is specified. " + " Defaults to IfcOpeningElement and IfcSpace to be excluded. " + "The names are handled case-insensitively. Cannot be placed right before input file argument.") + /*("names", boost::program_options::value< std::vector >(&names)->multitoken(), + "A list of names or wildcard patterns that should be included in or excluded from the " + "geometrical output, depending on whether --exclude or --include is specified. " + "The names are handled case-sensitively. Cannot be placed right before input file argument.") + ("no-normals", + "Disables computation of normals. Saves time and file size and is useful " + "in instances where you're going to recompute normals for the exported " + "model in other modelling application in any case.") + ("deflection-tolerance", boost::program_options::value(&deflection_tolerance), + "Sets the deflection tolerance of the mesher, 1e-3 by default if not specified.")*/; + + std::string bounds; + boost::program_options::options_description serializer_options; + serializer_options.add_options() + ("bounds", boost::program_options::value(&bounds), + "Specifies the bounding rectangle, for example 512x512, to which the " + "output will be scaled. Only used when converting to SVG.") + /*("use-names", + "Use entity names instead of unique IDs for naming objects and materials " + "upon serialization. Applicable for .obj and .dae output.") + ("use-guids", + "Use entity GUIDs instead of unique IDs for naming objects upon serialization. " + "Overrides possible usage of --use-names for objects but not for materials." + "Applicable for .obj and .dae output.") + ("center-model", + "Centers the models upon serialization by applying the center point of " + "the scene bounds as an offset. Applicable only for .dae output currently.") + ("generate-uvs", + "Generates UVs (texture coordinates) by using simple box projection. Requires normals. Not guaranteed to work " + "properly if used with --weld-vertices. Applicable only for .dae output currently.")*/; + boost::program_options::options_description cmdline_options; - cmdline_options.add(generic_options).add(fileio_options).add(geom_options); + cmdline_options.add(generic_options).add(fileio_options).add(geom_options).add(serializer_options); boost::program_options::positional_options_description positional_options; positional_options.add("input-file", 1); @@ -167,21 +218,30 @@ int main(int argc, char** argv) { options(cmdline_options).positional(positional_options).run(), vmap); } catch (const boost::program_options::unknown_option& e) { std::cerr << "[Error] Unknown option '" << e.get_option_name() << "'" << std::endl << std::endl; - // Usage information will be emitted below + print_usage(); + return 1; } catch (...) { // Catch other errors such as invalid command line syntax + print_usage(); + return 1; } boost::program_options::notify(vmap); - if (vmap.count("version")) { - printVersion(); - return 0; - } else if (vmap.count("help") || !vmap.count("input-file")) { - printUsage(generic_options, geom_options); - return vmap.count("help") ? 0 : 1; + print_version(); + + if (vmap.count("version")) { + return 0; + } else if (vmap.count("help")) { + print_usage(); + print_options(generic_options, geom_options, serializer_options); + return 0; + } else if (!vmap.count("input-file")) { + std::cerr << "[Error] Input file not specified" << std::endl; + print_usage(); + return 1; } else if (vmap.count("include") && vmap.count("exclude")) { - std::cerr << "[Error] --include and --ignore can not be specified together" << std::endl; - printUsage(generic_options, geom_options); + std::cerr << "[Error] --include and --exclude can not be specified together" << std::endl; + print_options(boost::none, geom_options, boost::none); return 1; } @@ -197,6 +257,12 @@ int main(int argc, char** argv) { bool include_entities = vmap.count("include") != 0; const bool include_plan = vmap.count("plan") != 0; const bool include_model = vmap.count("model") != 0 || (!include_plan); + //const bool use_names = vmap.count("use-names") != 0; + //const bool use_guids = vmap.count("use-guids") != 0 ; + //const bool no_normals = vmap.count("no-normals") != 0 ; + //const bool center_model = vmap.count("center-model") != 0 ; + //const bool generate_uvs = vmap.count("generate-uvs") != 0 ; + //const bool deflection_tolerance_specified = vmap.count("deflection-tolerance") != 0 ; boost::optional bounding_width, bounding_height; if (vmap.count("bounds") == 1) { int w, h; @@ -205,18 +271,14 @@ int main(int argc, char** argv) { bounding_height = h; } else { std::cerr << "[Error] Invalid use of --bounds" << std::endl; - printUsage(generic_options, geom_options); + print_options(boost::none, boost::none, serializer_options); return 1; } } // Gets the set ifc types to be ignored from the command line. - std::set entities; - for (std::vector::const_iterator it = entity_vector.begin(); it != entity_vector.end(); ++it) { - const std::string& mixed_case_type = *it; - entities.insert(boost::to_lower_copy(mixed_case_type)); - } - + std::set entities(entity_vector.begin(), entity_vector.end()); + const std::string input_filename = vmap["input-file"].as(); // If no output filename is specified a Wavefront OBJ file will be output // to maintain backwards compatibility with the obsolete IfcObj executable. @@ -225,7 +287,8 @@ int main(int argc, char** argv) { : change_extension(input_filename, DEFAULT_EXTENSION); if (output_filename.size() < 5) { - printUsage(generic_options, geom_options); + std::cerr << "[Error] Invalid or unsupported output file given " << output_filename << std::endl; + print_usage(); return 1; } @@ -234,12 +297,12 @@ int main(int argc, char** argv) { // If no entities are specified these are the defaults to skip from output if (entity_vector.empty()) { + entities.insert("IfcSpace"); + /// @todo Document in --help that SVG uses "--include --entities IfcSpace" by default. if (output_extension == ".svg") { - entities.insert("ifcspace"); include_entities = true; } else { - entities.insert("ifcopeningelement"); - entities.insert("ifcspace"); + entities.insert("IfcOpeningElement"); } } @@ -264,7 +327,7 @@ int main(int argc, char** argv) { } IfcGeom::IteratorSettings settings; - + /// @todo Make APPLY_DEFAULT_MATERIALS configurable? Quickly tested setting this to false and using obj exporter caused the program to crash and burn. settings.set(IfcGeom::IteratorSettings::APPLY_DEFAULT_MATERIALS, true); settings.set(IfcGeom::IteratorSettings::USE_WORLD_COORDS, use_world_coords); settings.set(IfcGeom::IteratorSettings::WELD_VERTICES, weld_vertices); @@ -276,6 +339,13 @@ int main(int argc, char** argv) { settings.set(IfcGeom::IteratorSettings::DISABLE_OPENING_SUBTRACTIONS, disable_opening_subtractions); settings.set(IfcGeom::IteratorSettings::INCLUDE_CURVES, include_plan); settings.set(IfcGeom::IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES, !include_model); + //settings.set(IfcConvertSettings::USE_NAMES, use_names); + //settings.set(IfcConvertSettings::USE_GUIDS, use_guids); + //settings.set(IfcGeom::IteratorSettings::NO_NORMALS, no_normals); + //settings.set(IfcConvertSettings::CENTER_MODEL, center_model); + //settings.set(IfcConvertSettings::GENERATE_UVS, generate_uvs); + //if (deflection_tolerance_specified) + // settings.set_deflection_tolerance(deflection_tolerance); GeometrySerializer* serializer; if (output_extension == ".obj") { @@ -300,15 +370,12 @@ int main(int argc, char** argv) { settings.set(IfcGeom::IteratorSettings::DISABLE_TRIANGULATION, true); serializer = new SvgSerializer(output_filename); if (bounding_width && bounding_height) { - ((SvgSerializer*) serializer)->setBoundingRectangle( - static_cast(*bounding_width), - static_cast(*bounding_height) - ); + static_cast(serializer)->setBoundingRectangle(*bounding_width, *bounding_height); } } else { Logger::Message(Logger::LOG_ERROR, "Unknown output filename extension"); write_log(); - printUsage(generic_options, geom_options); + print_usage(); return 1; } @@ -316,16 +383,18 @@ int main(int argc, char** argv) { if (weld_vertices) { Logger::Message(Logger::LOG_NOTICE, "Weld vertices setting ignored when writing STEP or IGES files"); } - settings.disable_triangulation() = true; + settings.set(IfcGeom::IteratorSettings::DISABLE_TRIANGULATION, true); } - IfcGeom::Iterator context_iterator(settings, input_filename); + IfcGeom::Iterator context_iterator(settings, input_filename); try { if (include_entities) { context_iterator.includeEntities(entities); + //context_iterator.include_entity_names(names); } else { context_iterator.excludeEntities(entities); + //context_iterator.exclude_entity_names(names); } } catch (const IfcParse::IfcException& e) { std::cout << "[Error] " << e.what() << std::endl; @@ -347,21 +416,18 @@ int main(int argc, char** argv) { return 1; } - serializer->setFile(context_iterator.getFile()); - if (convert_back_units) { - serializer->setUnitNameAndMagnitude(context_iterator.getUnitName(), static_cast(context_iterator.getUnitMagnitude())); + serializer->setUnitNameAndMagnitude(context_iterator.getUnitName(), static_cast(context_iterator.getUnitMagnitude())); } else { serializer->setUnitNameAndMagnitude("METER", 1.0f); } serializer->writeHeader(); - std::set materials; - int old_progress = -1; Logger::Status("Creating geometry..."); + std::vector* > geometries; // The functions IfcGeom::Iterator::get() and IfcGeom::Iterator::next() // wrap an iterator of all geometrical products in the Ifc file. // IfcGeom::Iterator::get() returns an IfcGeom::TriangulationElement or @@ -373,30 +439,65 @@ int main(int argc, char** argv) { // true return value guarantees that a successfully processed product is // available. do { - const IfcGeom::Element* geom_object = context_iterator.get(); - - if (serializer->isTesselated()) { - serializer->write(static_cast*>(geom_object)); - } else { - serializer->write(static_cast*>(geom_object)); - } - - const int progress = context_iterator.progress() / 2; - if (old_progress!= progress) Logger::ProgressBar(progress); - old_progress = progress; - - } while (context_iterator.next()); + IfcGeom::Element *geom_object = context_iterator.get(true); // true == take ownership, we will clean up ourselves + geometries.push_back(geom_object); + const int progress = context_iterator.progress() / 2; + if (old_progress != progress) Logger::ProgressBar(progress); + old_progress = progress; + + //if (center_model) { + // const std::vector& pos = geom_object->transformation().matrix().data(); + // bounds_min[0] = std::min(bounds_min[0], pos[9]); + // bounds_min[1] = std::min(bounds_min[1], pos[10]); + // bounds_min[2] = std::min(bounds_min[2], pos[11]); + // bounds_max[0] = std::max(bounds_max[0], pos[9]); + // bounds_max[1] = std::max(bounds_max[1], pos[10]); + // bounds_max[2] = std::max(bounds_max[2], pos[11]); + //} + } while (context_iterator.next()); + + Logger::Status("\rDone creating geometry (" + boost::lexical_cast(geometries.size()) + + " objects) "); + + //if (center_model) { + // settings.offset[0] = -(bounds_min[0] + bounds_max[0]) * real_t(0.5); + // settings.offset[1] = -(bounds_min[1] + bounds_max[1]) * real_t(0.5); + // settings.offset[2] = -(bounds_min[2] + bounds_max[2]) * real_t(0.5); + // //printf("Bounds min. (%g, %g, %g)\n", bounds_min[0], bounds_min[1], bounds_min[2]); + // //printf("Bounds max. (%g, %g, %g)\n", bounds_max[0], bounds_max[1], bounds_max[2]); + // printf("Using model offset (%g, %g, %g)\n", settings.offset[0], settings.offset[1], settings.offset[2]); //TODO Logger::Message(Logger::LOG_NOTICE, ...); + //} + + Logger::Status("Serializing geometry..."); + + //serializer->setSettings(settings); + + if (serializer->isTesselated()) { // isTesselated() doesn't change at run-time + foreach(const IfcGeom::Element* geom, geometries) { + serializer->write(static_cast*>(geom)); + delete geom; + } + } else { + foreach(const IfcGeom::Element* geom, geometries) { + serializer->write(static_cast*>(geom)); + delete geom; + } + } serializer->finalize(); - delete serializer; - Logger::Status("\rDone creating geometry "); + Logger::Status("\rDone serializing geometry "); + + delete serializer; write_log(); time(&end); - int dif = (int) difftime (end,start); - printf ("\nConversion took %d seconds\n", dif ); + int seconds = (int)difftime(end, start); + if (seconds < 60) + printf("\nConversion took %d seconds\n", seconds); // TODO Logger::Message(Logger::LOG_NOTICE, ...); + else + printf("\nConversion took %d minute(s) %d seconds\n", seconds/60, seconds%60); // TODO Logger::Message(Logger::LOG_NOTICE, ...); return 0; } @@ -404,7 +505,6 @@ int main(int argc, char** argv) { void write_log() { std::string log = log_stream.str(); if (!log.empty()) { - std::cerr << std::endl << "Log:" << std::endl; - std::cerr << log << std::endl; + std::cerr << "\n" << "Log:\n" << log << std::endl; } -} \ No newline at end of file +} diff --git a/src/ifcconvert/OpenCascadeBasedSerializer.cpp b/src/ifcconvert/OpenCascadeBasedSerializer.cpp index 2dbb642c3d..2f9ea54839 100644 --- a/src/ifcconvert/OpenCascadeBasedSerializer.cpp +++ b/src/ifcconvert/OpenCascadeBasedSerializer.cpp @@ -43,7 +43,7 @@ void OpenCascadeBasedSerializer::write(const IfcGeom::BRepElement* o) { const gp_Trsf& o_trsf = o->transformation().data(); gtrsf.PreMultiply(o_trsf); - if (o->geometry().settings().convert_back_units()) { + if (o->geometry().settings().get(IfcGeom::IteratorSettings::CONVERT_BACK_UNITS)) { gp_Trsf scale; scale.SetScaleFactor(1.0 / o->geometry().settings().unit_magnitude()); gtrsf.PreMultiply(scale); diff --git a/src/ifcconvert/XmlSerializer.cpp b/src/ifcconvert/XmlSerializer.cpp index 83be2a66e5..fbec20e6c8 100644 --- a/src/ifcconvert/XmlSerializer.cpp +++ b/src/ifcconvert/XmlSerializer.cpp @@ -21,7 +21,6 @@ #include #include -#include #include #include "XmlSerializer.h" @@ -256,16 +255,16 @@ void XmlSerializer::finalize() { ptree root, header, decomposition, properties; // Write the SPF header as XML nodes. - BOOST_FOREACH(const std::string& s, file->header().file_description().description()) { + foreach(const std::string& s, file->header().file_description().description()) { header.add_child("file_description.description", ptree(s)); } - BOOST_FOREACH(const std::string& s, file->header().file_name().author()) { + foreach(const std::string& s, file->header().file_name().author()) { header.add_child("file_name.author", ptree(s)); } - BOOST_FOREACH(const std::string& s, file->header().file_name().organization()) { + foreach(const std::string& s, file->header().file_name().organization()) { header.add_child("file_name.organization", ptree(s)); } - BOOST_FOREACH(const std::string& s, file->header().file_schema().schema_identifiers()) { + foreach(const std::string& s, file->header().file_schema().schema_identifiers()) { header.add_child("file_schema.schema_identifiers", ptree(s)); } header.put("file_description.implementation_level", file->header().file_description().implementation_level()); @@ -298,4 +297,4 @@ void XmlSerializer::finalize() { boost::property_tree::xml_writer_settings settings('\t', 1); #endif boost::property_tree::write_xml(xml_filename, root, std::locale(), settings); -} \ No newline at end of file +} diff --git a/src/ifcgeom/IfcGeomElement.h b/src/ifcgeom/IfcGeomElement.h index c65d890a94..f5e1cf6eeb 100644 --- a/src/ifcgeom/IfcGeomElement.h +++ b/src/ifcgeom/IfcGeomElement.h @@ -44,7 +44,7 @@ namespace IfcGeom { for(int i = 1; i < 5; ++i) { for (int j = 1; j < 4; ++j) { const double trsf_value = trsf.Value(j,i); - const double matrix_value = i == 4 && settings.convert_back_units() + const double matrix_value = i == 4 && settings.get(IteratorSettings::CONVERT_BACK_UNITS) ? trsf_value / settings.unit_magnitude() : trsf_value; _data.push_back(static_cast

    (matrix_value)); diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 14dd47230f..8123bcb041 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -1103,11 +1103,11 @@ IfcGeom::BRepElement

    * IfcGeom::Kernel::create_brep_for_representation_and_pro const std::string product_type = IfcSchema::Type::ToString(product->type()); ElementSettings element_settings(settings, getValue(GV_LENGTH_UNIT), product_type); - if ( !settings.disable_opening_subtractions() && openings && openings->size() ) { + if (!settings.get(IfcGeom::IteratorSettings::DISABLE_OPENING_SUBTRACTIONS) && openings && openings->size()) { IfcGeom::IfcRepresentationShapeItems opened_shapes; try { #if OCC_VERSION_HEX < 0x60900 - const bool faster_booleans = settings.faster_booleans(); + const bool faster_booleans = settings.get(IteratorSettings::FASTER_BOOLEANS); #else const bool faster_booleans = true; #endif @@ -1123,14 +1123,14 @@ IfcGeom::BRepElement

    * IfcGeom::Kernel::create_brep_for_representation_and_pro } catch(...) { Logger::Message(Logger::LOG_ERROR,"Error processing openings for:",product->entity); } - if ( settings.use_world_coords() ) { + if (settings.get(IteratorSettings::USE_WORLD_COORDS)) { for ( IfcGeom::IfcRepresentationShapeItems::iterator it = opened_shapes.begin(); it != opened_shapes.end(); ++ it ) { it->prepend(trsf); } trsf = gp_Trsf(); } shape = new IfcGeom::Representation::BRep(element_settings, representation->entity->id(), opened_shapes); - } else if ( settings.use_world_coords() ) { + } else if (settings.get(IteratorSettings::USE_WORLD_COORDS)) { for ( IfcGeom::IfcRepresentationShapeItems::iterator it = shapes.begin(); it != shapes.end(); ++ it ) { it->prepend(trsf); } diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index 30bf6fe9cb..36bda5e5dd 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -86,6 +86,9 @@ namespace IfcGeom { template class Iterator { private: + Iterator(const Iterator&); // N/I + Iterator& operator=(const Iterator&); // N/I + Kernel kernel; IteratorSettings settings; @@ -121,6 +124,7 @@ namespace IfcGeom { } } + std::set names_to_include_or_exclude; // regex containing a name or a wildcard expression std::set entities_to_include_or_exclude; bool include_entities_in_processing; @@ -148,7 +152,7 @@ namespace IfcGeom { } catch (...) {} std::set context_types; - if (!settings.exclude_solids_and_surfaces()) { + if (!settings.get(IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES)) { // Really this should only be 'Model', as per // the standard 'Design' is deprecated. So, // just for backwards compatibility: @@ -157,7 +161,7 @@ namespace IfcGeom { // DDS likes to output 'model view' context_types.insert("model view"); } - if (settings.include_curves()) { + if (settings.get(IteratorSettings::INCLUDE_CURVES)) { context_types.insert("plan"); } @@ -250,36 +254,46 @@ namespace IfcGeom { return true; } - int progress() { - return 100 * done / total; - } + int progress() const { return 100 * done / total; } - const std::string& getUnitName() { - return unit_name; - } + const std::string& getUnitName() const { return unit_name; } - const P getUnitMagnitude() { - return unit_magnitude; - } + P getUnitMagnitude() const { return unit_magnitude; } - const std::string getLog() { - return Logger::GetLog(); - } + std::string getLog() const { return Logger::GetLog(); } - IfcParse::IfcFile* getFile() { - return ifc_file; - } + IfcParse::IfcFile* getFile() const { return ifc_file; } + /// @note Entity names are handled case-insensitively. void includeEntities(const std::set& entities) { populate_set(entities); include_entities_in_processing = true; } + /// @note Entity names are handled case-insensitively. void excludeEntities(const std::set& entities) { populate_set(entities); include_entities_in_processing = false; } + // Arbitrary names or wildcard expressions are handled case-sensitively. + void include_entity_names(const std::vector& names) + { + names_to_include_or_exclude.clear(); + foreach(const std::string &name, names) + names_to_include_or_exclude.insert(IfcUtil::wildcard_string_to_regex(name)); + include_entities_in_processing = true; + } + + // Arbitrary names or wildcard expressions are handled case-sensitively. + void exclude_entity_names(const std::vector& names) + { + names_to_include_or_exclude.clear(); + foreach(const std::string &name, names) + names_to_include_or_exclude.insert(IfcUtil::wildcard_string_to_regex(name)); + include_entities_in_processing = false; + } + private: // Move to the next IfcRepresentation void _nextShape() { @@ -330,6 +344,14 @@ namespace IfcGeom { break; } } + + foreach(const boost::regex& r, names_to_include_or_exclude) { + if (boost::regex_match((*it)->Name(), r)) { + found = true; + break; + } + } + if (found == include_entities_in_processing) { ifcproducts->push(*jt); } @@ -382,13 +404,17 @@ namespace IfcGeom { return create(); } - Element

    * get() { - // TODO: Test settings and throw - if (current_triangulation) return current_triangulation; - else if (current_serialization) return current_serialization; - else if (current_shape_model) return current_shape_model; - else return 0; - } + /// Gets or takes the representation of the current geometrical entity. + /// @param take_ownership Pass in 'true' as if wishing to maintain the element lifetime yourself. + Element

    * get(bool take_ownership = false) + { + // TODO: Test settings and throw + Element

    * ret = 0; + if (current_triangulation) { ret = current_triangulation; if (take_ownership) current_triangulation = 0; } + else if (current_serialization) { ret = current_serialization; if (take_ownership) current_serialization = 0; } + else if (current_shape_model) { ret = current_shape_model; if (take_ownership) current_shape_model = 0; } + return ret; + } const Element

    * getObject(int id) { @@ -430,12 +456,12 @@ namespace IfcGeom { current_shape_model = create_shape_model_for_next_entity(); } catch (...) {} if (!current_shape_model) return false; - if (settings.use_brep_data()) { + if (settings.get(IteratorSettings::USE_BREP_DATA)) { try { current_serialization = new SerializedElement

    (*current_shape_model); } catch (...) {} return !!current_serialization; - } else if (!settings.disable_triangulation()) { + } else if (!settings.get(IteratorSettings::DISABLE_TRIANGULATION)) { try { current_triangulation = new TriangulationElement

    (*current_shape_model); } catch (...) {} @@ -457,8 +483,8 @@ namespace IfcGeom { unit_name = "METER"; unit_magnitude = 1.f; - kernel.setValue(IfcGeom::Kernel::GV_MAX_FACES_TO_SEW, settings.sew_shells() ? 1000 : -1); - kernel.setValue(IfcGeom::Kernel::GV_DIMENSIONALITY, (settings.include_curves() ? (settings.exclude_solids_and_surfaces() ? -1. : 0.) : +1.)); + kernel.setValue(IfcGeom::Kernel::GV_MAX_FACES_TO_SEW, settings.get(IteratorSettings::SEW_SHELLS) ? 1000 : -1); + kernel.setValue(IfcGeom::Kernel::GV_DIMENSIONALITY, (settings.get(IteratorSettings::INCLUDE_CURVES) ? (settings.get(IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES) ? -1. : 0.) : +1.)); } bool owns_ifc_file; diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index 7adc5e9463..3d65fc3d8f 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -20,160 +20,130 @@ #ifndef IFCGEOMITERATORSETTINGS_H #define IFCGEOMITERATORSETTINGS_H -#include - #include "../ifcparse/IfcException.h" -namespace IfcGeom { +namespace IfcGeom +{ + class IteratorSettings + { + public: + /// Enumeration of setting identifiers. These settings define the + /// behaviour of various aspects of IfcOpenShell. + enum Setting + { + /// Specifies whether vertices are welded, meaning that the coordinates + /// vector will only contain unique xyz-triplets. This results in a + /// manifold mesh which is useful for modelling applications, but might + /// result in unwanted shading artifacts in rendering applications. + WELD_VERTICES = 1, + /// Specifies whether to apply the local placements of building elements + /// directly to the coordinates of the representation mesh rather than + /// to represent the local placement in the 4x3 matrix, which will in that + /// case be the identity matrix. + USE_WORLD_COORDS = 1 << 1, + /// Internally IfcOpenShell measures everything in meters. This settings + /// specifies whether to convert IfcGeomObjects back to the units in which + /// the geometry in the IFC file is specified. + CONVERT_BACK_UNITS = 1 << 2, + /// Specifies whether to use the Open Cascade BREP format for representation + /// items rather than to create triangle meshes. This is useful is IfcOpenShell + /// is used as a library in an application that is also built on Open Cascade. + USE_BREP_DATA = 1 << 3, + /// Specifies whether to sew IfcConnectedFaceSets (open and closed shells) to + /// TopoDS_Shells or whether to keep them as a loose collection of faces. + SEW_SHELLS = 1 << 4, + /// Specifies whether to compose IfcOpeningElements into a single compound + /// in order to speed up the processing of opening subtractions. + FASTER_BOOLEANS = 1 << 5, + /// Disables the subtraction of IfcOpeningElement representations from + /// the related building element representations. + DISABLE_OPENING_SUBTRACTIONS = 1 << 6, + /// Disables the triangulation of the topological representations. Useful if + /// the client application understands Open Cascade's native format. + DISABLE_TRIANGULATION = 1 << 7, + /// Applies default materials to entity instances without a surface style. + APPLY_DEFAULT_MATERIALS = 1 << 8, + /// Specifies whether to include subtypes of IfcCurve. + INCLUDE_CURVES = 1 << 9, + /// Specifies whether to exclude subtypes of IfcSolidModel and IfcSurface. + EXCLUDE_SOLIDS_AND_SURFACES = 1 << 10, + /// Disables computation of normals. Saves time and file size and is useful + /// in instances where you're going to recompute normals for the exported + /// model in other modelling application in any case. + //NO_NORMALS = 1 << 11, + /// Use entity names instead of unique IDs for naming objects and materials. + /// Applicable for .obj and .dae output. + //USE_NAMES = 1 << 12, + /// Use entity GUIDs instead of unique IDs for naming objects. + /// Overrides possible usage of --use-names for objects but not for materials. + /// Applicable for .obj and .dae output. + //USE_GUIDS = 1 << 13, + /// Centers the models upon serialization by the applying the center point of + /// the scene bounds as an offset. Applicable only for .dae output currently. + //CENTER_MODEL = 1 << 14, + /// Generates UVs by using simple box projection. Requires normals. + /// Applicable only for .dae output currently. + //GENERATE_UVS = 1 << 15, + //NUM_SETTINGS = 15 + }; + /// Used to store logical OR combination of setting flags. + typedef unsigned SettingField; - class IteratorSettings { - public: - // Enumeration of setting identifiers. These settings define the - // behaviour of various aspects of IfcOpenShell. + IteratorSettings() + : settings_(WELD_VERTICES) // OR options that default to true here + , deflection_tolerance_(1.e-3) + { + memset(offset, 0, sizeof(offset)); + } - // Specifies whether vertices are welded, meaning that the coordinates - // vector will only contain unique xyz-triplets. This results in a - // manifold mesh which is useful for modelling applications, but might - // result in unwanted shading artifacts in rendering applications. - static const int WELD_VERTICES = 1; - // Specifies whether to apply the local placements of building elements - // directly to the coordinates of the representation mesh rather than - // to represent the local placement in the 4x3 matrix, which will in that - // case be the identity matrix. - static const int USE_WORLD_COORDS = 2; - // Internally IfcOpenShell measures everything in meters. This settings - // specifies whether to convert IfcGeomObjects back to the units in which - // the geometry in the IFC file is specified. - static const int CONVERT_BACK_UNITS = 3; - // Specifies whether to use the Open Cascade BREP format for representation - // items rather than to create triangle meshes. This is useful is IfcOpenShell - // is used as a library in an application that is also built on Open Cascade. - static const int USE_BREP_DATA = 4; - // Specifies whether to sew IfcConnectedFaceSets (open and closed shells) to - // TopoDS_Shells or whether to keep them as a loose collection of faces. - static const int SEW_SHELLS = 5; - // Specifies whether to compose IfcOpeningElements into a single compound - // in order to speed up the processing of opening subtractions. - static const int FASTER_BOOLEANS = 6; - // Disables the subtraction of IfcOpeningElement representations from - // the related building element representations. - static const int DISABLE_OPENING_SUBTRACTIONS = 8; - // Disables the triangulation of the topological representations. Useful if - // the client application understands Open Cascade's native format. - static const int DISABLE_TRIANGULATION = 9; - // Applies default materials to entity instances without a surface style. - static const int APPLY_DEFAULT_MATERIALS = 10; - // Specifies whether to include subtypes of IfcCurve. - static const int INCLUDE_CURVES = 11; - // Specifies whether to exclude subtypes of IfcSolidModel and IfcSurface. - static const int EXCLUDE_SOLIDS_AND_SURFACES = 12; + /// Optional offset that is applied to serialized objects, (0,0,0) by default. + double offset[3]; - // End of settings enumeration. + /// Note that this is independent of the IFC length unit, one millimeter by default. + double deflection_tolerance() const { return deflection_tolerance_; } + /// @todo Sanity check for the value + void set_deflection_tolerance(double value) { deflection_tolerance_ = value; } - private: - bool _weld_vertices, _use_world_coords, _convert_back_units, _use_brep_data, _sew_shells, _faster_booleans, _disable_opening_subtractions, _disable_triangulation, _apply_default_materials, _include_curves, _exclude_solids_and_surfaces; - double _deflection_tolerance; - public: - IteratorSettings() - : _weld_vertices(true) - , _use_world_coords(false) - , _convert_back_units(false) - , _use_brep_data(false) - , _sew_shells(false) - , _faster_booleans(false) - , _disable_opening_subtractions(false) - , _disable_triangulation(false) - , _apply_default_materials(false) - , _include_curves(false) - , _exclude_solids_and_surfaces(false) - // TODO: Make deflection tolerance into a command line argument - // For now, stick to one millimeter. Note that this is independent of the IFC length unit. - , _deflection_tolerance(1.e-3) - {} + bool get(SettingField setting) const + { + /// @todo If unknown setting value/combination: throw IfcParse::IfcException("Invalid IteratorSetting")? + return (settings_ & setting) != 0; + } - const bool& weld_vertices() const { return _weld_vertices; } - bool& weld_vertices() { return _weld_vertices; } - const bool& use_world_coords() const { return _use_world_coords; } - bool& use_world_coords() { return _use_world_coords; } - const bool& convert_back_units() const { return _convert_back_units; } - bool& convert_back_units() { return _convert_back_units; } - const bool& use_brep_data() const { return _use_brep_data; } - bool& use_brep_data() { return _use_brep_data; } - const bool& sew_shells() const { return _sew_shells; } - bool& sew_shells() { return _sew_shells; } - const bool& faster_booleans() const { return _faster_booleans; } - bool& faster_booleans() { return _faster_booleans; } - const bool& disable_opening_subtractions() const { return _disable_opening_subtractions; } - bool& disable_opening_subtractions() { return _disable_opening_subtractions; } - const bool& disable_triangulation() const { return _disable_triangulation; } - bool& disable_triangulation() { return _disable_triangulation; } - const bool& apply_default_materials() const { return _apply_default_materials; } - bool& apply_default_materials() { return _apply_default_materials; } - const bool& include_curves() const { return _include_curves; } - bool& include_curves() { return _include_curves; } - const bool& exclude_solids_and_surfaces() const { return _exclude_solids_and_surfaces; } - bool& exclude_solids_and_surfaces() { return _exclude_solids_and_surfaces; } - - const double& deflection_tolerance() const { return _deflection_tolerance; } - double& deflection_tolerance() { return _deflection_tolerance; } - - void set(int setting, bool value) { - switch (setting) { - case USE_WORLD_COORDS: - _use_world_coords = value; - break; - case WELD_VERTICES: - _weld_vertices = value; - break; - case CONVERT_BACK_UNITS: - _convert_back_units = value; - break; - case USE_BREP_DATA: - _use_brep_data = value; - break; - case FASTER_BOOLEANS: - _faster_booleans = value; - break; - case SEW_SHELLS: - _sew_shells = value; - break; - case DISABLE_OPENING_SUBTRACTIONS: - _disable_opening_subtractions = value; - break; - case DISABLE_TRIANGULATION: - _disable_triangulation = value; - break; - case APPLY_DEFAULT_MATERIALS: - _apply_default_materials = value; - break; - case INCLUDE_CURVES: - _include_curves = value; - break; - case EXCLUDE_SOLIDS_AND_SURFACES: - _exclude_solids_and_surfaces = value; - break; - default: throw IfcParse::IfcException("Invalid IteratorSetting"); - } - } - }; - - class ElementSettings : public IteratorSettings { - private: - double _unit_magnitude; - std::string _element_type; - public: - ElementSettings(const IteratorSettings& settings, - double unit_magnitude, - const std::string& element_type) - : IteratorSettings(settings) - , _unit_magnitude(unit_magnitude) - , _element_type(element_type) - {} + void set(SettingField setting, bool value) + { + /// @todo If unknown setting value/combination: throw IfcParse::IfcException("Invalid IteratorSetting")? + if (value) { + settings_ |= setting; + } else { + settings_ &= ~setting; + } + } - const double& unit_magnitude() const { return _unit_magnitude; } - const std::string& element_type() const { return _element_type; } - }; + protected: + SettingField settings_; + double deflection_tolerance_; + }; + class ElementSettings : public IteratorSettings + { + public: + ElementSettings(const IteratorSettings& settings, + double unit_magnitude, + const std::string& element_type) + : IteratorSettings(settings) + , unit_magnitude_(unit_magnitude) + , element_type_(element_type) + { + } + + double unit_magnitude() const { return unit_magnitude_; } + const std::string& element_type() const { return element_type_; } + + private: + double unit_magnitude_; + std::string element_type_; + }; } -#endif \ No newline at end of file +#endif diff --git a/src/ifcgeom/IfcGeomRepresentation.cpp b/src/ifcgeom/IfcGeomRepresentation.cpp index 15801265ae..abd17a15d9 100644 --- a/src/ifcgeom/IfcGeomRepresentation.cpp +++ b/src/ifcgeom/IfcGeomRepresentation.cpp @@ -38,7 +38,7 @@ IfcGeom::Representation::Serialization::Serialization(const BRep& brep) for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = brep.begin(); it != brep.end(); ++ it) { const TopoDS_Shape& s = it->Shape(); gp_GTrsf trsf = it->Placement(); - if (settings().convert_back_units()) { + if (settings().get(IteratorSettings::CONVERT_BACK_UNITS)) { gp_Trsf scale; scale.SetScaleFactor(1.0 / settings().unit_magnitude()); trsf.PreMultiply(scale); diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index 501ff68733..802444edf8 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -132,7 +132,7 @@ namespace IfcGeom { } } - if (settings().apply_default_materials() && surface_style_id == -1) { + if (settings().get(IteratorSettings::APPLY_DEFAULT_MATERIALS) && surface_style_id == -1) { Material material(IfcGeom::get_default_style(settings().element_type())); std::vector::const_iterator mit = std::find(_materials.begin(), _materials.end(), material); if (mit == _materials.end()) { @@ -182,7 +182,7 @@ namespace IfcGeom { std::map dict; // Vertex normals are only calculated if vertices are not welded - const bool calculate_normals = !settings().weld_vertices(); + const bool calculate_normals = !settings().get(IteratorSettings::WELD_VERTICES); for( int i = 1; i <= nodes.Length(); ++ i ) { coords.push_back(nodes(i).Transformed(loc).XYZ()); @@ -278,11 +278,12 @@ namespace IfcGeom { private: // Welds vertices that belong to different faces int addVertex(int material_index, const gp_XYZ& p) { - const P X = static_cast

    (settings().convert_back_units() ? (p.X() / settings().unit_magnitude()) : p.X()); - const P Y = static_cast

    (settings().convert_back_units() ? (p.Y() / settings().unit_magnitude()) : p.Y()); - const P Z = static_cast

    (settings().convert_back_units() ? (p.Z() / settings().unit_magnitude()) : p.Z()); + const bool convert = settings().get(IteratorSettings::CONVERT_BACK_UNITS); + const P X = static_cast

    (convert ? (p.X() / settings().unit_magnitude()) : p.X()); + const P Y = static_cast

    (convert ? (p.Y() / settings().unit_magnitude()) : p.Y()); + const P Z = static_cast

    (convert ? (p.Z() / settings().unit_magnitude()) : p.Z()); int i = (int) _verts.size() / 3; - if (settings().weld_vertices()) { + if (settings().get(IteratorSettings::WELD_VERTICES)) { const VertexKey key = std::make_pair(material_index, std::make_pair(X, std::make_pair(Y, Z))); typename VertexKeyMap::const_iterator it = welds.find(key); if ( it != welds.end() ) return it->second; diff --git a/src/ifcgeomserver/IfcGeomServer.cpp b/src/ifcgeomserver/IfcGeomServer.cpp index 975c3c471e..0b37b739aa 100644 --- a/src/ifcgeomserver/IfcGeomServer.cpp +++ b/src/ifcgeomserver/IfcGeomServer.cpp @@ -318,10 +318,10 @@ int main () { memcpy(data, m.string().c_str(), len); IfcGeom::IteratorSettings settings; - settings.use_world_coords() = false; - settings.weld_vertices() = false; - settings.convert_back_units() = true; - settings.include_curves() = true; + settings.set(IfcGeom::IteratorSettings::USE_WORLD_COORDS, false); + settings.set(IfcGeom::IteratorSettings::WELD_VERTICES, false); + settings.set(IfcGeom::IteratorSettings::CONVERT_BACK_UNITS, true); + settings.set(IfcGeom::IteratorSettings::INCLUDE_CURVES, true); iterator = new IfcGeom::Iterator(settings, data, (int)len); has_more = iterator->initialize(); diff --git a/src/ifcmax/IfcMax.cpp b/src/ifcmax/IfcMax.cpp index 46bf0f39f8..28ab422882 100644 --- a/src/ifcmax/IfcMax.cpp +++ b/src/ifcmax/IfcMax.cpp @@ -214,9 +214,9 @@ static Mtl* ComposeMultiMaterial(std::map, Mtl*>& multi int IFCImp::DoImport(const TCHAR *name, ImpInterface *impitfc, Interface *itfc, BOOL /*suppressPrompts*/) { IfcGeom::IteratorSettings settings; - settings.use_world_coords() = false; - settings.weld_vertices() = true; - settings.sew_shells() = true; + settings.set(IfcGeom::IteratorSettings::USE_WORLD_COORDS, false); + settings.set(IfcGeom::IteratorSettings::WELD_VERTICES, true); + settings.set(IfcGeom::IteratorSettings::SEW_SHELLS, true); #ifdef _UNICODE int fn_buffer_size = WideCharToMultiByte(CP_UTF8, 0, name, -1, 0, 0, 0, 0); diff --git a/src/ifcparse/IfcUtil.cpp b/src/ifcparse/IfcUtil.cpp index 0f4bc13734..efd0e8f64e 100644 --- a/src/ifcparse/IfcUtil.cpp +++ b/src/ifcparse/IfcUtil.cpp @@ -17,12 +17,14 @@ * * ********************************************************************************/ +#include "IfcUtil.h" +#include "../ifcparse/IfcException.h" + +#include + #include #include -#include "../ifcparse/IfcException.h" - -#include "IfcUtil.h" void IfcEntityList::push(IfcUtil::IfcBaseClass* l) { if (l) { @@ -143,4 +145,14 @@ bool IfcUtil::valid_binary_string(const std::string& s) { if (*it != '0' && *it != '1') return false; } return true; -} \ No newline at end of file +} + +boost::regex IfcUtil::wildcard_string_to_regex(std::string str) +{ + std::string special_chars = "\\^.$|()[]*+"; + foreach(char c, special_chars) { + std::string char_str(1, c); + boost::replace_all(str, char_str, "\\"+ char_str); + } + return boost::regex(str); +} diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index 19ffead06c..553c483d35 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -26,15 +26,20 @@ #include #include -#include -#include - #ifdef USE_IFC4 #include "../ifcparse/Ifc4enum.h" #else #include "../ifcparse/Ifc2x3enum.h" #endif +#include +#include +#include +#include + +#define foreach BOOST_FOREACH +#define rforeach BOOST_REVERSE_FOREACH + class Argument; class IfcEntityList; class IfcEntityListList; @@ -110,6 +115,8 @@ namespace IfcUtil { }; bool valid_binary_string(const std::string& s); + + boost::regex wildcard_string_to_regex(std::string str); } template diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index 84a435b69e..e0db875565 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -244,8 +244,8 @@ struct ShapeRTTI : public boost::static_visitor IfcSchema::IfcProject* project = *projects->begin(); IfcGeom::Kernel kernel; - kernel.setValue(IfcGeom::Kernel::GV_MAX_FACES_TO_SEW, settings.sew_shells() ? 1000 : -1); - kernel.setValue(IfcGeom::Kernel::GV_DIMENSIONALITY, (settings.include_curves() ? (settings.exclude_solids_and_surfaces() ? -1. : 0.) : +1.)); + kernel.setValue(IfcGeom::Kernel::GV_MAX_FACES_TO_SEW, settings.get(IfcGeom::IteratorSettings::SEW_SHELLS) ? 1000 : -1); + kernel.setValue(IfcGeom::Kernel::GV_DIMENSIONALITY, (settings.get(IfcGeom::IteratorSettings::INCLUDE_CURVES) ? (settings.get(IfcGeom::IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES) ? -1. : 0.) : +1.)); std::pair length_unit = kernel.initializeUnits(project->UnitsInContext()); if (instance->is(IfcSchema::Type::IfcProduct)) { @@ -269,13 +269,13 @@ struct ShapeRTTI : public boost::static_visitor // First, try to find a representation based on the settings for (IfcSchema::IfcRepresentation::list::it it = reps->begin(); it != reps->end(); ++it) { IfcSchema::IfcRepresentation* rep = *it; - if (!settings.exclude_solids_and_surfaces()) { + if (!settings.get(IfcGeom::IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES)) { if (rep->RepresentationIdentifier() == "Body") { ifc_representation = rep; break; } } - if (settings.include_curves()) { + if (settings.get(IfcGeom::IteratorSettings::INCLUDE_CURVES)) { if (rep->RepresentationIdentifier() == "Plan" || rep->RepresentationIdentifier() == "Axis") { ifc_representation = rep; break; @@ -293,12 +293,12 @@ struct ShapeRTTI : public boost::static_visitor // TODO: Remove redundancy with IfcGeomIterator.h if (context->hasContextType()) { std::set context_types; - if (!settings.exclude_solids_and_surfaces()) { + if (!settings.get(IfcGeom::IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES)) { context_types.insert("model"); context_types.insert("design"); context_types.insert("model view"); } - if (settings.include_curves()) { + if (settings.get(IfcGeom::IteratorSettings::INCLUDE_CURVES)) { context_types.insert("plan"); } @@ -347,11 +347,11 @@ struct ShapeRTTI : public boost::static_visitor if (!brep) { throw IfcParse::IfcException("Failed to process shape"); } - if (settings.use_brep_data()) { + if (settings.get(IfcGeom::IteratorSettings::USE_BREP_DATA)) { IfcGeom::SerializedElement* serialization = new IfcGeom::SerializedElement(*brep); delete brep; return serialization; - } else if (!settings.disable_triangulation()) { + } else if (!settings.get(IfcGeom::IteratorSettings::DISABLE_TRIANGULATION)) { IfcGeom::TriangulationElement* triangulation = new IfcGeom::TriangulationElement(*brep); delete brep; return triangulation; @@ -366,9 +366,9 @@ struct ShapeRTTI : public boost::static_visitor IfcGeom::ElementSettings element_settings(settings, kernel.getValue(IfcGeom::Kernel::GV_LENGTH_UNIT), IfcSchema::Type::ToString(instance->type())); IfcGeom::Representation::BRep brep(element_settings, instance->entity->id(), shapes); try { - if (settings.use_brep_data()) { + if (settings.get(IfcGeom::IteratorSettings::USE_BREP_DATA)) { return new IfcGeom::Representation::Serialization(brep); - } else if (!settings.disable_triangulation()) { + } else if (!settings.get(IfcGeom::IteratorSettings::DISABLE_TRIANGULATION)) { return new IfcGeom::Representation::Triangulation(brep); } } catch (...) { From 50a467fda58aaf5c77f355805a5a72ae1ad9eb22 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 7 Mar 2016 23:15:29 +0200 Subject: [PATCH 112/157] Fix IfcUtil::wildcard_string_to_regex() --- src/ifcparse/IfcUtil.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ifcparse/IfcUtil.cpp b/src/ifcparse/IfcUtil.cpp index efd0e8f64e..6721b35be2 100644 --- a/src/ifcparse/IfcUtil.cpp +++ b/src/ifcparse/IfcUtil.cpp @@ -149,10 +149,14 @@ bool IfcUtil::valid_binary_string(const std::string& s) { boost::regex IfcUtil::wildcard_string_to_regex(std::string str) { - std::string special_chars = "\\^.$|()[]*+"; + // Escape all non-"*?" regex special chars + std::string special_chars = "\\^.$|()[]+/"; foreach(char c, special_chars) { std::string char_str(1, c); boost::replace_all(str, char_str, "\\"+ char_str); } + // Convert "*?" to their regex equivalents + boost::replace_all(str, "?", "."); + boost::replace_all(str, "*", ".*"); return boost::regex(str); } From 43f5d446ec098b3f6c548753cb475b98ae188266 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 10 Mar 2016 11:35:32 +0200 Subject: [PATCH 113/157] Implement --use-names and --use-guids for DAE, OBJ, and SVG output. --- src/ifcconvert/ColladaSerializer.cpp | 188 ++++++++++++++------ src/ifcconvert/ColladaSerializer.h | 86 +++++---- src/ifcconvert/GeometrySerializer.h | 15 +- src/ifcconvert/IfcConvert.cpp | 33 ++-- src/ifcconvert/IgesSerializer.h | 4 +- src/ifcconvert/OpenCascadeBasedSerializer.h | 10 +- src/ifcconvert/StepSerializer.h | 4 +- src/ifcconvert/SvgSerializer.cpp | 13 +- src/ifcconvert/SvgSerializer.h | 8 +- src/ifcconvert/WavefrontObjSerializer.cpp | 46 ++--- src/ifcconvert/WavefrontObjSerializer.h | 6 +- src/ifcgeom/IfcGeomIteratorSettings.h | 10 +- src/ifcgeom/IfcGeomMaterial.cpp | 3 +- src/ifcgeom/IfcGeomMaterial.h | 5 +- src/ifcgeom/IfcGeomRenderStyles.h | 19 +- src/ifcparse/IfcUtil.cpp | 25 +++ src/ifcparse/IfcUtil.h | 5 + 17 files changed, 316 insertions(+), 164 deletions(-) diff --git a/src/ifcconvert/ColladaSerializer.cpp b/src/ifcconvert/ColladaSerializer.cpp index bf3e65b2ca..8532c291a7 100644 --- a/src/ifcconvert/ColladaSerializer.cpp +++ b/src/ifcconvert/ColladaSerializer.cpp @@ -19,48 +19,96 @@ #ifdef WITH_OPENCOLLADA -#include - #include "ColladaSerializer.h" -std::string collada_id(const std::string& s) { - std::string id; - id.reserve(s.size()); - for (std::string::const_iterator it = s.begin(); it != s.end(); ++it) { - const std::string::value_type c = *it; - if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c == '_') || ( c == '-')) { - id.push_back(c); - } - } - return id; +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +static void collada_id(std::string &s) +{ + IfcUtil::sanitate_material_name(s); + IfcUtil::escape_xml(s); } -void ColladaSerializer::ColladaExporter::ColladaGeometries::addFloatSource(const std::string& mesh_id, const std::string& suffix, const std::vector& floats, const char* coords /* = "XYZ" */) { +#if 0 +static std::vector boxProjectUVs(const std::vector &vertices, const std::vector &normals) { + assert(vertices.size() == normals.size()); + //TODO if (vertices.size() != normals.size()) log error? + std::vector uvs; + uvs.resize(vertices.size() / 3 * 2); + for(size_t uv_idx = 0, v_idx = 0; + uv_idx < uvs.size() && v_idx < vertices.size() && v_idx < normals.size(); + uv_idx += 2, v_idx += 3) { + + real_t n_x = normals[v_idx], n_y = normals[v_idx+1], n_z = normals[v_idx+2]; + real_t v_x = vertices[v_idx], v_y = vertices[v_idx+1], v_z = vertices[v_idx+2]; + + if (std::abs(n_x) > std::abs(n_y) && std::abs(n_x) > std::abs(n_z)) { + uvs[uv_idx] = v_z; + uvs[uv_idx+1] = v_y; + } + if (std::abs(n_y) > std::abs(n_x) && std::abs(n_y) > std::abs(n_z)) { + uvs[uv_idx] = v_x; + uvs[uv_idx+1] = v_z; + } + if (std::abs(n_z) > std::abs(n_x) && std::abs(n_z) > std::abs(n_y)) { + uvs[uv_idx] = v_x; + uvs[uv_idx+1] = v_y; + } + } + + return uvs; +} +#endif + +void ColladaSerializer::ColladaExporter::ColladaGeometries::addFloatSource(const std::string& mesh_id, + const std::string& suffix, const std::vector& floats, const char* coords /* = "XYZ" */) +{ COLLADASW::FloatSource source(mSW); source.setId(mesh_id + suffix); source.setArrayId(mesh_id + suffix + COLLADASW::LibraryGeometries::ARRAY_ID_SUFFIX); - source.setAccessorStride((unsigned long)strlen(coords)); - source.setAccessorCount((unsigned long)floats.size() / 3); - for (unsigned int i = 0; i < source.getAccessorStride(); ++i) { + const size_t num_elems = strlen(coords); + source.setAccessorStride(static_cast(num_elems)); + source.setAccessorCount(static_cast(floats.size() / num_elems)); + for (size_t i = 0; i < num_elems; ++i) { source.getParameterNameList().push_back(std::string(1, coords[i])); } source.prepareToAppendValues(); - for (std::vector::const_iterator it = floats.begin(); it != floats.end(); ++it) { + for (std::vector::const_iterator it = floats.begin(); it != floats.end(); ++it) { source.appendValues(*it); } source.finish(); } - -void ColladaSerializer::ColladaExporter::ColladaGeometries::write(const std::string mesh_id, const std::string& default_material_name, const std::vector& positions, const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector material_ids, const std::vector& materials) { + +void ColladaSerializer::ColladaExporter::ColladaGeometries::write( + const std::string &mesh_id, const std::string& default_material_name, const std::vector& positions, + const std::vector& normals, const std::vector& faces, const std::vector& edges, + const std::vector material_ids, const std::vector& materials) +{ openMesh(mesh_id); // The normals vector can be empty for example when the WELD_VERTICES setting is used. // IfcOpenShell does not provide them with multiple face normals collapsed into a single vertex. const bool has_normals = !normals.empty(); - +#if 0 + const bool generate_uvs = (has_normals && serializer->settings()..get(IfcGeom::IteratorSettings::GENERATE_UVS)); +#endif addFloatSource(mesh_id, COLLADASW::LibraryGeometries::POSITIONS_SOURCE_ID_SUFFIX, positions); if (has_normals) { addFloatSource(mesh_id, COLLADASW::LibraryGeometries::NORMALS_SOURCE_ID_SUFFIX, normals); +#if 0 + if (generate_uvs) { + addFloatSource(mesh_id, COLLADASW::LibraryGeometries::TEXCOORDS_SOURCE_ID_SUFFIX, boxProjectUVs(positions, normals), "UV"); + } +#endif } COLLADASW::VerticesElement vertices(mSW); @@ -73,20 +121,29 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(const std::str int previous_material_id = -1; for (std::vector::const_iterator it = faces.begin(); !faces.empty(); it += 3) { const int current_material_id = *(material_it++); - const unsigned long num_triangles = (unsigned long)std::distance(index_range_start, it) / 3; + const size_t num_triangles = std::distance(index_range_start, it) / 3; if ((previous_material_id != current_material_id && num_triangles > 0) || (it == faces.end())) { COLLADASW::Triangles triangles(mSW); - triangles.setMaterial(materials[previous_material_id].name()); - triangles.setCount(num_triangles); + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? materials[previous_material_id].original_name() : materials[previous_material_id].name()); + collada_id(material_name); + triangles.setMaterial(material_name); + triangles.setCount((unsigned long)num_triangles); int offset = 0; - triangles.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::VERTEX,"#" + mesh_id + COLLADASW::LibraryGeometries::VERTICES_ID_SUFFIX, offset++ ) ); + triangles.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::VERTEX,"#" + mesh_id + COLLADASW::LibraryGeometries::VERTICES_ID_SUFFIX, offset++)); if (has_normals) { - triangles.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::NORMAL,"#" + mesh_id + COLLADASW::LibraryGeometries::NORMALS_SOURCE_ID_SUFFIX, offset++ ) ); + triangles.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::NORMAL,"#" + mesh_id + COLLADASW::LibraryGeometries::NORMALS_SOURCE_ID_SUFFIX, offset++)); } +#if 0 + if (generate_uvs) { + triangles.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::TEXCOORD,"#" + mesh_id + COLLADASW::LibraryGeometries::TEXCOORDS_SOURCE_ID_SUFFIX, offset++)); + } +#endif triangles.prepareToAppendValues(); for (std::vector::const_iterator jt = index_range_start; jt != it; ++jt) { const int idx = *jt; - if (has_normals) { + /*if (has_normals && generate_uvs) { + triangles.appendValues(idx, idx, idx); + } else*/ if(has_normals) { triangles.appendValues(idx, idx); } else { triangles.appendValues(idx); @@ -125,10 +182,12 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(const std::str for (linelist_t::const_iterator it = linelist.begin(); it != linelist.end(); ++it) { COLLADASW::Lines lines(mSW); - lines.setMaterial(materials[it->first].name()); + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? materials[it->first].original_name() : materials[it->first].name()); + collada_id(material_name); + lines.setMaterial(material_name); lines.setCount((unsigned long)it->second.size()); int offset = 0; - lines.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::VERTEX, "#" + mesh_id + COLLADASW::LibraryGeometries::VERTICES_ID_SUFFIX, offset++)); + lines.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::VERTEX, "#" + mesh_id + COLLADASW::LibraryGeometries::VERTICES_ID_SUFFIX, offset)); lines.prepareToAppendValues(); lines.appendValues(it->second); lines.finish(); @@ -141,8 +200,11 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(const std::str void ColladaSerializer::ColladaExporter::ColladaGeometries::close() { closeLibrary(); } - -void ColladaSerializer::ColladaExporter::ColladaScene::add(const std::string& node_id, const std::string& node_name, const std::string& geom_name, const std::vector& material_ids, const std::vector& matrix) { + +void ColladaSerializer::ColladaExporter::ColladaScene::add( + const std::string& node_id, const std::string& node_name, const std::string& geom_name, + const std::vector& material_ids, const std::vector& matrix) +{ if (!scene_opened) { openVisualScene(scene_id); scene_opened = true; @@ -156,18 +218,26 @@ void ColladaSerializer::ColladaExporter::ColladaScene::add(const std::string& no // The matrix attribute of an entity is basically a 4x3 representation of its ObjectPlacement. // Note that this placement is absolute, ie it is multiplied with all parent placements. double matrix_array[4][4] = { - {matrix[0], matrix[3], matrix[6], matrix[ 9]}, - {matrix[1], matrix[4], matrix[7], matrix[10]}, - {matrix[2], matrix[5], matrix[8], matrix[11]}, - { 0, 0, 0, 1} + { (double)matrix[0], (double)matrix[3], (double)matrix[6], (double)matrix[ 9] }, + { (double)matrix[1], (double)matrix[4], (double)matrix[7], (double)matrix[10] }, + { (double)matrix[2], (double)matrix[5], (double)matrix[8], (double)matrix[11] }, + { 0, 0, 0, 1 } }; +#if 0 + matrix_array[0][3] += serializer->settings().offset[0]; + matrix_array[1][3] += serializer->settings().offset[1]; + matrix_array[2][3] += serializer->settings().offset[2]; +#endif + node.start(); node.addMatrix(matrix_array); COLLADASW::InstanceGeometry instanceGeometry(mSW); instanceGeometry.setUrl ("#" + geom_name); - for (std::vector::const_iterator it = material_ids.begin(); it != material_ids.end(); ++it) { - COLLADASW::InstanceMaterial material (*it, "#" + *it); + foreach(std::string material_name, material_ids) { + /// @todo This is done 6 times in this file, try to perform this once and be done with the material naming for the export. + collada_id(material_name); + COLLADASW::InstanceMaterial material (material_name, "#" + material_name); instanceGeometry.getBindMaterial().getInstanceMaterialList().push_back(material); } instanceGeometry.add(); @@ -183,9 +253,12 @@ void ColladaSerializer::ColladaExporter::ColladaScene::write() { scene.add(); } } - -void ColladaSerializer::ColladaExporter::ColladaMaterials::ColladaEffects::write(const IfcGeom::Material& material) { - openEffect(collada_id(material.name()) + "-fx"); + +void ColladaSerializer::ColladaExporter::ColladaMaterials::ColladaEffects::write(const IfcGeom::Material& material) +{ + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + collada_id(material_name); + openEffect(material_name + "-fx"); COLLADASW::EffectProfile effect(mSW); effect.setShaderType(COLLADASW::EffectProfile::LAMBERT); if (material.hasDiffuse()) { @@ -214,7 +287,7 @@ void ColladaSerializer::ColladaExporter::ColladaMaterials::ColladaEffects::write void ColladaSerializer::ColladaExporter::ColladaMaterials::ColladaEffects::close() { closeLibrary(); } - + void ColladaSerializer::ColladaExporter::ColladaMaterials::add(const IfcGeom::Material& material) { if (!contains(material)) { effects.write(material); @@ -228,15 +301,18 @@ bool ColladaSerializer::ColladaExporter::ColladaMaterials::contains(const IfcGeo void ColladaSerializer::ColladaExporter::ColladaMaterials::write() { effects.close(); - for (std::vector::const_iterator it = materials.begin(); it != materials.end(); ++it) { - const std::string& material_name = collada_id((*it).name()); + foreach(const IfcGeom::Material& material, materials) { + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + std::string material_name_unescaped = material_name; // workaround double-escaping that would occur in addInstanceEffect() + IfcUtil::sanitate_material_name(material_name_unescaped); + collada_id(material_name); openMaterial(material_name); - addInstanceEffect("#" + material_name + "-fx"); + addInstanceEffect("#" + material_name_unescaped + "-fx"); closeMaterial(); } closeLibrary(); } - + void ColladaSerializer::ColladaExporter::startDocument(const std::string& unit_name, float unit_magnitude) { stream.startDocument(); @@ -247,14 +323,19 @@ void ColladaSerializer::ColladaExporter::startDocument(const std::string& unit_n asset.add(); } -void ColladaSerializer::ColladaExporter::write(const std::string& unique_id, const std::string& type, const std::vector& matrix, const std::vector& vertices, const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector& material_ids, const std::vector& _materials) { +void ColladaSerializer::ColladaExporter::write(const std::string& unique_id, const std::string& type, + const std::vector& matrix, const std::vector& vertices, const std::vector& normals, + const std::vector& faces, const std::vector& edges, const std::vector& material_ids, + const std::vector& _materials) +{ std::vector material_references; - for (std::vector::const_iterator it = _materials.begin(); it != _materials.end(); ++it) { - const IfcGeom::Material& material = *it; + foreach(const IfcGeom::Material& material, _materials) { if (!materials.contains(material)) { materials.add(material); } - material_references.push_back(collada_id(material.name())); + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + collada_id(material_name); + material_references.push_back(material_name); } deferreds.push_back(DeferredObject(unique_id, type, matrix, vertices, normals, faces, edges, material_ids, _materials, material_references)); } @@ -275,7 +356,7 @@ void ColladaSerializer::ColladaExporter::endDocument() { scene.write(); stream.endDocument(); } - + bool ColladaSerializer::ready() { return true; } @@ -284,9 +365,12 @@ void ColladaSerializer::writeHeader() { exporter.startDocument(unit_name, unit_magnitude); } -void ColladaSerializer::write(const IfcGeom::TriangulationElement* o) { - const IfcGeom::Representation::Triangulation& mesh = o->geometry(); - exporter.write(o->unique_id(), o->type(), o->transformation().matrix().data(), mesh.verts(), mesh.normals(), mesh.faces(), mesh.edges(), mesh.material_ids(), mesh.materials()); +void ColladaSerializer::write(const IfcGeom::TriangulationElement* o) { + const IfcGeom::Representation::Triangulation& mesh = o->geometry(); + const std::string name = settings().get(IfcGeom::IteratorSettings::USE_GUIDS) ? + o->guid() : (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? o->name() : o->unique_id()); + exporter.write(name, o->type(), o->transformation().matrix().data(), mesh.verts(), + mesh.normals(), mesh.faces(), mesh.edges(), mesh.material_ids(), mesh.materials()); } void ColladaSerializer::finalize() { diff --git a/src/ifcconvert/ColladaSerializer.h b/src/ifcconvert/ColladaSerializer.h index cf3a35e733..740b20707a 100644 --- a/src/ifcconvert/ColladaSerializer.h +++ b/src/ifcconvert/ColladaSerializer.h @@ -27,17 +27,10 @@ #pragma warning(disable : 4201 4512) #endif #include -#include #include -#include -#include -#include -#include #include #include #include -#include -#include #ifdef _MSC_VER #pragma warning(pop) #endif @@ -58,12 +51,18 @@ private: ColladaGeometries(const ColladaGeometries&); //N/A ColladaGeometries& operator =(const ColladaGeometries&); //N/A public: - explicit ColladaGeometries(COLLADASW::StreamWriter& stream) + explicit ColladaGeometries(COLLADASW::StreamWriter& stream, ColladaSerializer *_serializer) : COLLADASW::LibraryGeometries(&stream) + , serializer(_serializer) {} - void addFloatSource(const std::string& mesh_id, const std::string& suffix, const std::vector& floats, const char* coords = "XYZ"); - void write(const std::string mesh_id, const std::string& default_material_name, const std::vector& positions, const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector material_ids, const std::vector& materials); + void addFloatSource(const std::string& mesh_id, const std::string& suffix, + const std::vector& floats, const char* coords = "XYZ"); + void write(const std::string &mesh_id, const std::string& default_material_name, + const std::vector& positions, const std::vector& normals, + const std::vector& faces, const std::vector& edges, + const std::vector material_ids, const std::vector& materials); void close(); + ColladaSerializer *serializer; }; class ColladaScene : public COLLADASW::LibraryVisualScenes { @@ -74,13 +73,16 @@ private: const std::string scene_id; bool scene_opened; public: - ColladaScene(const std::string& scene_id, COLLADASW::StreamWriter& stream) + ColladaScene(const std::string& scene_id, COLLADASW::StreamWriter& stream, ColladaSerializer *_serializer) : COLLADASW::LibraryVisualScenes(&stream) , scene_id(scene_id) - , scene_opened(false) + , scene_opened(false) + , serializer(_serializer) {} - void add(const std::string& node_id, const std::string& node_name, const std::string& geom_name, const std::vector& material_ids, const std::vector& matrix); + void add(const std::string& node_id, const std::string& node_name, const std::string& geom_name, + const std::vector& material_ids, const std::vector& matrix); void write(); + ColladaSerializer *serializer; }; class ColladaMaterials : public COLLADASW::LibraryMaterials { @@ -97,32 +99,36 @@ private: {} void write(const IfcGeom::Material& material); void close(); + ColladaSerializer *serializer; }; std::vector materials; - ColladaEffects effects; public: - explicit ColladaMaterials(COLLADASW::StreamWriter& stream) + explicit ColladaMaterials(COLLADASW::StreamWriter& stream, ColladaSerializer *_serializer) : COLLADASW::LibraryMaterials(&stream) , effects(stream) + , serializer(_serializer) {} void add(const IfcGeom::Material& material); bool contains(const IfcGeom::Material& material); void write(); + ColladaSerializer *serializer; + ColladaEffects effects; }; class DeferredObject { public: std::string unique_id, type; - std::vector matrix; - std::vector vertices; - std::vector normals; + std::vector matrix; + std::vector vertices; + std::vector normals; std::vector faces; std::vector edges; std::vector material_ids; std::vector materials; std::vector material_references; - DeferredObject(const std::string& unique_id, const std::string& type, const std::vector& matrix, const std::vector& vertices, - const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector& material_ids, - const std::vector& materials, const std::vector& material_references) + DeferredObject(const std::string& unique_id, const std::string& type, const std::vector& matrix, + const std::vector& vertices, const std::vector& normals, const std::vector& faces, + const std::vector& edges, const std::vector& material_ids, const std::vector& materials, + const std::vector& material_references) : unique_id(unique_id) , type(type) , matrix(matrix) @@ -137,35 +143,45 @@ private: }; COLLADABU::NativeString filename; COLLADASW::StreamWriter stream; - ColladaGeometries geometries; ColladaScene scene; - ColladaMaterials materials; public: - ColladaExporter(const std::string& scene_name, const std::string& fn) + ColladaExporter(const std::string& scene_name, const std::string& fn, ColladaSerializer *_serializer) : filename(fn.c_str()) , stream(filename) - , geometries(stream) - , scene(scene_name, stream) - , materials(stream) - {} + , geometries(stream, _serializer) + , scene(scene_name, stream, _serializer) + , materials(stream, _serializer) + , serializer(_serializer) + { + } + ColladaMaterials materials; + ColladaSerializer *serializer; + ColladaGeometries geometries; std::vector deferreds; virtual ~ColladaExporter() {} void startDocument(const std::string& unit_name, float unit_magnitude); - void write(const std::string& unique_id, const std::string& type, const std::vector& matrix, const std::vector& vertices, const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector& material_ids, const std::vector& materials); + void write(const std::string& unique_id, const std::string& type, const std::vector& matrix, + const std::vector& vertices, const std::vector& normals, const std::vector& faces, + const std::vector& edges, const std::vector& material_ids, const std::vector& materials); void endDocument(); }; ColladaExporter exporter; std::string unit_name; float unit_magnitude; public: - ColladaSerializer(const std::string& dae_filename) - : GeometrySerializer() - , exporter("IfcOpenShell", dae_filename) - {} + ColladaSerializer(const std::string& dae_filename, const IfcGeom::IteratorSettings &settings) + : GeometrySerializer(settings) + , exporter("IfcOpenShell", dae_filename, this) + { + exporter.serializer = this; + exporter.materials.serializer = this; + exporter.materials.effects.serializer = this; + exporter.geometries.serializer = this; + } bool ready(); void writeHeader(); - void write(const IfcGeom::TriangulationElement* o); - void write(const IfcGeom::BRepElement* /*o*/) {} + void write(const IfcGeom::TriangulationElement* o); + void write(const IfcGeom::BRepElement* /*o*/) {} void finalize(); bool isTesselated() const { return true; } void setUnitNameAndMagnitude(const std::string& name, float magnitude) { diff --git a/src/ifcconvert/GeometrySerializer.h b/src/ifcconvert/GeometrySerializer.h index 0a62defa18..1eb36e6b67 100644 --- a/src/ifcconvert/GeometrySerializer.h +++ b/src/ifcconvert/GeometrySerializer.h @@ -20,17 +20,26 @@ #ifndef GEOMETRYSERIALIZER_H #define GEOMETRYSERIALIZER_H +typedef double real_t; /**< @todo Will be configurable */ + #include "../ifcconvert/Serializer.h" #include "../ifcgeom/IfcGeomIterator.h" class GeometrySerializer : public Serializer { public: + GeometrySerializer(const IfcGeom::IteratorSettings &settings) : settings_(settings) {} virtual ~GeometrySerializer() {} virtual bool isTesselated() const = 0; - virtual void write(const IfcGeom::TriangulationElement* o) = 0; - virtual void write(const IfcGeom::BRepElement* o) = 0; + virtual void write(const IfcGeom::TriangulationElement* o) = 0; + virtual void write(const IfcGeom::BRepElement* o) = 0; virtual void setUnitNameAndMagnitude(const std::string& name, float magnitude) = 0; + + const IfcGeom::IteratorSettings& settings() const { return settings_; } + IfcGeom::IteratorSettings& settings() { return settings_; } + +protected: + IfcGeom::IteratorSettings settings_; }; -#endif \ No newline at end of file +#endif diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index e0483f75df..11d0259295 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -47,7 +47,6 @@ #include #include -typedef double real_t; /**< @todo Will be configurable */ #define INF std::numeric_limits::infinity() real_t bounds_min[3] = { INF, INF, INF }; real_t bounds_max[3] = { -INF, -INF, -INF }; @@ -191,14 +190,14 @@ int main(int argc, char** argv) { ("bounds", boost::program_options::value(&bounds), "Specifies the bounding rectangle, for example 512x512, to which the " "output will be scaled. Only used when converting to SVG.") - /*("use-names", + ("use-names", "Use entity names instead of unique IDs for naming objects and materials " "upon serialization. Applicable for .obj and .dae output.") ("use-guids", "Use entity GUIDs instead of unique IDs for naming objects upon serialization. " "Overrides possible usage of --use-names for objects but not for materials." "Applicable for .obj and .dae output.") - ("center-model", + /*("center-model", "Centers the models upon serialization by applying the center point of " "the scene bounds as an offset. Applicable only for .dae output currently.") ("generate-uvs", @@ -257,8 +256,8 @@ int main(int argc, char** argv) { bool include_entities = vmap.count("include") != 0; const bool include_plan = vmap.count("plan") != 0; const bool include_model = vmap.count("model") != 0 || (!include_plan); - //const bool use_names = vmap.count("use-names") != 0; - //const bool use_guids = vmap.count("use-guids") != 0 ; + const bool use_names = vmap.count("use-names") != 0; + const bool use_guids = vmap.count("use-guids") != 0 ; //const bool no_normals = vmap.count("no-normals") != 0 ; //const bool center_model = vmap.count("center-model") != 0 ; //const bool generate_uvs = vmap.count("generate-uvs") != 0 ; @@ -296,7 +295,7 @@ int main(int argc, char** argv) { boost::to_lower(output_extension); // If no entities are specified these are the defaults to skip from output - if (entity_vector.empty()) { + if (entities.empty()) { entities.insert("IfcSpace"); /// @todo Document in --help that SVG uses "--include --entities IfcSpace" by default. if (output_extension == ".svg") { @@ -339,11 +338,11 @@ int main(int argc, char** argv) { settings.set(IfcGeom::IteratorSettings::DISABLE_OPENING_SUBTRACTIONS, disable_opening_subtractions); settings.set(IfcGeom::IteratorSettings::INCLUDE_CURVES, include_plan); settings.set(IfcGeom::IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES, !include_model); - //settings.set(IfcConvertSettings::USE_NAMES, use_names); - //settings.set(IfcConvertSettings::USE_GUIDS, use_guids); + settings.set(IfcGeom::IteratorSettings::USE_NAMES, use_names); + settings.set(IfcGeom::IteratorSettings::USE_GUIDS, use_guids); //settings.set(IfcGeom::IteratorSettings::NO_NORMALS, no_normals); - //settings.set(IfcConvertSettings::CENTER_MODEL, center_model); - //settings.set(IfcConvertSettings::GENERATE_UVS, generate_uvs); + //settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, center_model); + //settings.set(IfcGeom::IteratorSettings::GENERATE_UVS, generate_uvs); //if (deflection_tolerance_specified) // settings.set_deflection_tolerance(deflection_tolerance); @@ -354,21 +353,21 @@ int main(int argc, char** argv) { Logger::Message(Logger::LOG_NOTICE, "Using world coords when writing WaveFront OBJ files"); settings.set(IfcGeom::IteratorSettings::USE_WORLD_COORDS, true); } - serializer = new WaveFrontOBJSerializer(output_filename, mtl_filename); + serializer = new WaveFrontOBJSerializer(output_filename, mtl_filename, settings); #ifdef WITH_OPENCOLLADA } else if (output_extension == ".dae") { - serializer = new ColladaSerializer(output_filename); + serializer = new ColladaSerializer(output_filename, settings); #endif } else if (output_extension == ".stp") { - serializer = new StepSerializer(output_filename); + serializer = new StepSerializer(output_filename, settings); } else if (output_extension == ".igs") { // Not sure why this is needed, but it is. // See: http://tracker.dev.opencascade.org/view.php?id=23679 IGESControl_Controller::Init(); - serializer = new IgesSerializer(output_filename); + serializer = new IgesSerializer(output_filename, settings); } else if (output_extension == ".svg") { settings.set(IfcGeom::IteratorSettings::DISABLE_TRIANGULATION, true); - serializer = new SvgSerializer(output_filename); + serializer = new SvgSerializer(output_filename, settings); if (bounding_width && bounding_height) { static_cast(serializer)->setBoundingRectangle(*bounding_width, *bounding_height); } @@ -416,6 +415,8 @@ int main(int argc, char** argv) { return 1; } + serializer->setFile(context_iterator.getFile()); + if (convert_back_units) { serializer->setUnitNameAndMagnitude(context_iterator.getUnitName(), static_cast(context_iterator.getUnitMagnitude())); } else { @@ -470,8 +471,6 @@ int main(int argc, char** argv) { Logger::Status("Serializing geometry..."); - //serializer->setSettings(settings); - if (serializer->isTesselated()) { // isTesselated() doesn't change at run-time foreach(const IfcGeom::Element* geom, geometries) { serializer->write(static_cast*>(geom)); diff --git a/src/ifcconvert/IgesSerializer.h b/src/ifcconvert/IgesSerializer.h index 5e11e7b324..447065c5f5 100644 --- a/src/ifcconvert/IgesSerializer.h +++ b/src/ifcconvert/IgesSerializer.h @@ -32,8 +32,8 @@ class IgesSerializer : public OpenCascadeBasedSerializer private: IGESControl_Writer writer; public: - explicit IgesSerializer(const std::string& out_filename) - : OpenCascadeBasedSerializer(out_filename) + IgesSerializer(const std::string& out_filename, const IfcGeom::IteratorSettings &settings) + : OpenCascadeBasedSerializer(out_filename, settings) {} virtual ~IgesSerializer() {} void writeShape(const TopoDS_Shape& shape) { diff --git a/src/ifcconvert/OpenCascadeBasedSerializer.h b/src/ifcconvert/OpenCascadeBasedSerializer.h index 6ee69635a4..f36a844609 100644 --- a/src/ifcconvert/OpenCascadeBasedSerializer.h +++ b/src/ifcconvert/OpenCascadeBasedSerializer.h @@ -31,18 +31,18 @@ protected: const std::string out_filename; const char* getSymbolForUnitMagnitude(float mag); public: - explicit OpenCascadeBasedSerializer(const std::string& out_filename) - : GeometrySerializer() + explicit OpenCascadeBasedSerializer(const std::string& out_filename, const IfcGeom::IteratorSettings &settings) + : GeometrySerializer(settings) , out_filename(out_filename) {} virtual ~OpenCascadeBasedSerializer() {} void writeHeader() {} bool ready(); virtual void writeShape(const TopoDS_Shape& shape) = 0; - void write(const IfcGeom::TriangulationElement* /*o*/) {} - void write(const IfcGeom::BRepElement* o); + void write(const IfcGeom::TriangulationElement* /*o*/) {} + void write(const IfcGeom::BRepElement* o); bool isTesselated() const { return false; } void setFile(IfcParse::IfcFile*) {} }; -#endif \ No newline at end of file +#endif diff --git a/src/ifcconvert/StepSerializer.h b/src/ifcconvert/StepSerializer.h index ff53fa4ae4..99fff685b8 100644 --- a/src/ifcconvert/StepSerializer.h +++ b/src/ifcconvert/StepSerializer.h @@ -32,8 +32,8 @@ class StepSerializer : public OpenCascadeBasedSerializer private: STEPControl_Writer writer; public: - explicit StepSerializer(const std::string& out_filename) - : OpenCascadeBasedSerializer(out_filename) + explicit StepSerializer(const std::string& out_filename, const IfcGeom::IteratorSettings &settings) + : OpenCascadeBasedSerializer(out_filename, settings) {} virtual ~StepSerializer() {} void writeShape(const TopoDS_Shape& shape) { diff --git a/src/ifcconvert/SvgSerializer.cpp b/src/ifcconvert/SvgSerializer.cpp index 2b24512515..14004d50b9 100644 --- a/src/ifcconvert/SvgSerializer.cpp +++ b/src/ifcconvert/SvgSerializer.cpp @@ -168,7 +168,8 @@ SvgSerializer::path_object& SvgSerializer::start_path(IfcSchema::IfcBuildingStor return p; } -void SvgSerializer::write(const IfcGeom::BRepElement* o) { +void SvgSerializer::write(const IfcGeom::BRepElement* o) +{ IfcSchema::IfcBuildingStorey* storey = 0; IfcSchema::IfcObjectDefinition* obdef = static_cast(file->entityById(o->id())); @@ -340,10 +341,14 @@ void SvgSerializer::writeHeader() { svg_file << "\n"; } -std::string SvgSerializer::nameElement(const IfcGeom::Element* elem) { +std::string SvgSerializer::nameElement(const IfcGeom::Element* elem) +{ std::ostringstream oss; const std::string type = "product"; - oss << "id=\"" << type << "-" << elem->unique_id() << "\""; + const std::string name = (settings().get(IfcGeom::IteratorSettings::USE_GUIDS) + ? elem->guid() : (settings().get(IfcGeom::IteratorSettings::USE_NAMES) + ? elem->name() : elem->unique_id())); + oss << "id=\"" << type << "-" << name<< "\""; return oss.str(); } @@ -352,4 +357,4 @@ std::string SvgSerializer::nameElement(const IfcSchema::IfcProduct* elem) { const std::string type = elem->is(IfcSchema::Type::IfcBuildingStorey) ? "storey" : "product"; oss << "id=\"product-" << IfcParse::IfcGlobalId(elem->GlobalId()).formatted() << "\""; return oss.str(); -} \ No newline at end of file +} diff --git a/src/ifcconvert/SvgSerializer.h b/src/ifcconvert/SvgSerializer.h index 46e44f73bb..08ff97f692 100644 --- a/src/ifcconvert/SvgSerializer.h +++ b/src/ifcconvert/SvgSerializer.h @@ -45,8 +45,8 @@ protected: std::vector< boost::shared_ptr > radii; IfcParse::IfcFile* file; public: - explicit SvgSerializer(const std::string& out_filename) - : GeometrySerializer() + explicit SvgSerializer(const std::string& out_filename, const IfcGeom::IteratorSettings &settings) + : GeometrySerializer(settings) , svg_file(out_filename.c_str()) , xmin(+std::numeric_limits::infinity()) , xmax(-std::numeric_limits::infinity()) @@ -62,8 +62,8 @@ public: virtual ~SvgSerializer() {} virtual void writeHeader(); virtual bool ready(); - virtual void write(const IfcGeom::TriangulationElement* /*o*/) {} - virtual void write(const IfcGeom::BRepElement* o); + virtual void write(const IfcGeom::TriangulationElement* /*o*/) {} + virtual void write(const IfcGeom::BRepElement* o); virtual void write(path_object& p, const TopoDS_Wire& wire); virtual path_object& start_path(IfcSchema::IfcBuildingStorey* storey, const std::string& id); virtual bool isTesselated() const { return false; } diff --git a/src/ifcconvert/WavefrontObjSerializer.cpp b/src/ifcconvert/WavefrontObjSerializer.cpp index 4bd3f243df..0829ec88de 100644 --- a/src/ifcconvert/WavefrontObjSerializer.cpp +++ b/src/ifcconvert/WavefrontObjSerializer.cpp @@ -17,12 +17,12 @@ * * ********************************************************************************/ -#include -#include + +#include "WavefrontObjSerializer.h" #include "../ifcgeom/IfcGeomRenderStyles.h" -#include "WavefrontObjSerializer.h" +#include bool WaveFrontOBJSerializer::ready() { return obj_stream.is_open() && mtl_stream.is_open(); @@ -41,11 +41,14 @@ void WaveFrontOBJSerializer::writeHeader() { mtl_basename = mtl_basename.substr(slash+1); } obj_stream << "mtllib " << mtl_basename << "\n"; - mtl_stream << "# File generated by IfcOpenShell " << IFCOPENSHELL_VERSION << "\n"; + mtl_stream << "# File generated by IfcOpenShell " << IFCOPENSHELL_VERSION << "\n"; } -void WaveFrontOBJSerializer::writeMaterial(const IfcGeom::Material& style) { - mtl_stream << "newmtl " << style.name() << "\n"; +void WaveFrontOBJSerializer::writeMaterial(const IfcGeom::Material& style) +{ + std::string material_name = (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? style.original_name() : style.name()); + IfcUtil::sanitate_material_name(material_name); + mtl_stream << "newmtl " << material_name << "\n"; if (style.hasDiffuse()) { const double* diffuse = style.diffuse(); mtl_stream << "Kd " << diffuse[0] << " " << diffuse[1] << " " << diffuse[2] << "\n"; @@ -66,27 +69,26 @@ void WaveFrontOBJSerializer::writeMaterial(const IfcGeom::Material& style) { } } } -void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* o) { - obj_stream << "g " << o->unique_id() << "\n"; +void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* o) +{ + obj_stream << "g " << (settings().get(IfcGeom::IteratorSettings::USE_GUIDS) ? o->guid() : (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? o->name() : o->unique_id())) << "\n"; obj_stream << "s 1" << "\n"; - obj_stream << std::setprecision(std::numeric_limits::digits10); - - const IfcGeom::Representation::Triangulation& mesh = o->geometry(); + const IfcGeom::Representation::Triangulation& mesh = o->geometry(); const int vcount = (int)mesh.verts().size() / 3; - for ( std::vector::const_iterator it = mesh.verts().begin(); it != mesh.verts().end(); ) { - const double x = *(it++); - const double y = *(it++); - const double z = *(it++); + for ( std::vector::const_iterator it = mesh.verts().begin(); it != mesh.verts().end(); ) { + const real_t x = *(it++); + const real_t y = *(it++); + const real_t z = *(it++); obj_stream << "v " << x << " " << y << " " << z << "\n"; } - for ( std::vector::const_iterator it = mesh.normals().begin(); it != mesh.normals().end(); ) { - const double x = *(it++); - const double y = *(it++); - const double z = *(it++); + for ( std::vector::const_iterator it = mesh.normals().begin(); it != mesh.normals().end(); ) { + const real_t x = *(it++); + const real_t y = *(it++); + const real_t z = *(it++); obj_stream << "vn " << x << " " << y << " " << z << "\n"; } @@ -98,7 +100,8 @@ void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* const int material_id = *(material_it++); if (material_id != previous_material_id) { const IfcGeom::Material& material = mesh.materials()[material_id]; - const std::string material_name = material.name(); + std::string material_name = (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + IfcUtil::sanitate_material_name(material_name); obj_stream << "usemtl " << material_name << "\n"; if (materials.find(material_name) == materials.end()) { writeMaterial(material); @@ -129,7 +132,8 @@ void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* if (material_id != previous_material_id) { const IfcGeom::Material& material = mesh.materials()[material_id]; - const std::string material_name = material.name(); + std::string material_name = (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + IfcUtil::sanitate_material_name(material_name); obj_stream << "usemtl " << material_name << "\n"; if (materials.find(material_name) == materials.end()) { writeMaterial(material); diff --git a/src/ifcconvert/WavefrontObjSerializer.h b/src/ifcconvert/WavefrontObjSerializer.h index 1b1ae7d69d..582bffc6fc 100644 --- a/src/ifcconvert/WavefrontObjSerializer.h +++ b/src/ifcconvert/WavefrontObjSerializer.h @@ -34,8 +34,8 @@ private: unsigned int vcount_total; std::set materials; public: - WaveFrontOBJSerializer(const std::string& obj_filename, const std::string& mtl_filename) - : GeometrySerializer() + WaveFrontOBJSerializer(const std::string& obj_filename, const std::string& mtl_filename, const IfcGeom::IteratorSettings &settings) + : GeometrySerializer(settings) , obj_stream(obj_filename.c_str()) , mtl_filename(mtl_filename) , mtl_stream(mtl_filename.c_str()) @@ -53,4 +53,4 @@ public: void setFile(IfcParse::IfcFile*) {} }; -#endif \ No newline at end of file +#endif diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index 3d65fc3d8f..834f77d305 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -72,17 +72,17 @@ namespace IfcGeom /// model in other modelling application in any case. //NO_NORMALS = 1 << 11, /// Use entity names instead of unique IDs for naming objects and materials. - /// Applicable for .obj and .dae output. - //USE_NAMES = 1 << 12, + /// Applicable for OBJ, DAE, and SVG output. + USE_NAMES = 1 << 12, /// Use entity GUIDs instead of unique IDs for naming objects. /// Overrides possible usage of --use-names for objects but not for materials. - /// Applicable for .obj and .dae output. - //USE_GUIDS = 1 << 13, + /// Applicable for OBJ, DAE, and SVG output. + USE_GUIDS = 1 << 13, /// Centers the models upon serialization by the applying the center point of /// the scene bounds as an offset. Applicable only for .dae output currently. //CENTER_MODEL = 1 << 14, /// Generates UVs by using simple box projection. Requires normals. - /// Applicable only for .dae output currently. + /// Applicable only for DAE output currently. //GENERATE_UVS = 1 << 15, //NUM_SETTINGS = 15 }; diff --git a/src/ifcgeom/IfcGeomMaterial.cpp b/src/ifcgeom/IfcGeomMaterial.cpp index b96eeebcc6..3593ed7673 100644 --- a/src/ifcgeom/IfcGeomMaterial.cpp +++ b/src/ifcgeom/IfcGeomMaterial.cpp @@ -30,5 +30,6 @@ const double* IfcGeom::Material::diffuse() const { if (hasDiffuse()) return &((* const double* IfcGeom::Material::specular() const { if (hasSpecular()) return &((*style->Specular()).R()); else return black; } double IfcGeom::Material::transparency() const { if (hasTransparency()) return *style->Transparency(); else return 0; } double IfcGeom::Material::specularity() const { if (hasSpecularity()) return *style->Specularity(); else return 0; } -const std::string IfcGeom::Material::name() const { return style->Name(); } +const std::string &IfcGeom::Material::name() const { return style->Name(); } +const std::string &IfcGeom::Material::original_name() const { return style->original_name(); } bool IfcGeom::Material::operator==(const IfcGeom::Material& other) const { return style == other.style; } diff --git a/src/ifcgeom/IfcGeomMaterial.h b/src/ifcgeom/IfcGeomMaterial.h index 43228c2d00..9dc4dd7995 100644 --- a/src/ifcgeom/IfcGeomMaterial.h +++ b/src/ifcgeom/IfcGeomMaterial.h @@ -41,10 +41,11 @@ namespace IfcGeom { const double* specular() const; double transparency() const; double specularity() const; - const std::string name() const; + const std::string &name() const; + const std::string &original_name() const; bool operator==(const Material& other) const; }; } -#endif \ No newline at end of file +#endif diff --git a/src/ifcgeom/IfcGeomRenderStyles.h b/src/ifcgeom/IfcGeomRenderStyles.h index d84b85d737..68686258c0 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.h +++ b/src/ifcgeom/IfcGeomRenderStyles.h @@ -44,22 +44,22 @@ namespace IfcGeom { double& B() { return data[2]; } }; private: + std::string original_name_; boost::optional name; boost::optional id; boost::optional diffuse, specular; boost::optional transparency; boost::optional specularity; public: - SurfaceStyle() { - this->name = "surface-style"; - } + SurfaceStyle() : name("surface-style") {} SurfaceStyle(int id) : id(id) { std::stringstream sstr; sstr << "surface-style-" << id; this->name = sstr.str(); } - SurfaceStyle(const std::string& name) : name(name) {} - SurfaceStyle(int id, const std::string& name) : id(id) { + SurfaceStyle(const std::string& name) : name(name), original_name_(name) {} + SurfaceStyle(int id, const std::string& name) : id(id), original_name_(name) + { std::stringstream sstr; std::string sanitized = name; std::transform(sanitized.begin(), sanitized.end(), sanitized.begin(), ::tolower); @@ -72,7 +72,7 @@ namespace IfcGeom { // architecture can just as easily be accomplished by comparing the // pointer addresses of the styles, as they are always referenced // from out of a global map of some sort. - bool operator==(const SurfaceStyle& other) { + bool operator==(const SurfaceStyle& other) const { if (name && other.name) { return *name == *other.name; } else if (id && other.id) { @@ -82,7 +82,10 @@ namespace IfcGeom { } } - const std::string& Name() const { return *name; } + /// ID name, e.g. "surface-style-66675-metal---aluminium" + const std::string& Name() const { return *name; } + /// Original name, if available, e.g. "Metal - Aluminium" + const std::string& original_name() const { return original_name_; } const boost::optional& Diffuse() const { return diffuse; } const boost::optional& Specular() const { return specular; } @@ -97,4 +100,4 @@ namespace IfcGeom { const SurfaceStyle* get_default_style(const std::string& ifc_type); } -#endif \ No newline at end of file +#endif diff --git a/src/ifcparse/IfcUtil.cpp b/src/ifcparse/IfcUtil.cpp index 6721b35be2..80bd257b14 100644 --- a/src/ifcparse/IfcUtil.cpp +++ b/src/ifcparse/IfcUtil.cpp @@ -160,3 +160,28 @@ boost::regex IfcUtil::wildcard_string_to_regex(std::string str) boost::replace_all(str, "*", ".*"); return boost::regex(str); } + +void IfcUtil::sanitate_material_name(std::string &str) +{ + // Spaces in material names have been observed to cause problems with obj and dae importers. + // Handle other potential problematic characters here too if observing problems. + boost::replace_all(str, " ", "_"); +} + +void IfcUtil::escape_xml(std::string &str) +{ + boost::replace_all(str, "\"", """); + boost::replace_all(str, "'", "'"); + boost::replace_all(str, "<", "<"); + boost::replace_all(str, ">", ">"); + boost::replace_all(str, "&", "&"); +} + +void IfcUtil::unescape_xml(std::string &str) +{ + boost::replace_all(str, """, "\""); + boost::replace_all(str, "'", "'"); + boost::replace_all(str, "<", "<"); + boost::replace_all(str, ">", ">"); + boost::replace_all(str, "&", "&"); +} diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index 553c483d35..5e51d8232a 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -117,6 +117,11 @@ namespace IfcUtil { bool valid_binary_string(const std::string& s); boost::regex wildcard_string_to_regex(std::string str); + + /// Replaces spaces and potentially other problem causing characters with underscores. + void sanitate_material_name(std::string &str); + void escape_xml(std::string &str); + void unescape_xml(std::string &str); } template From 24e2aece0b4043e3ae9a743f06d21fcb31981053 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 10 Mar 2016 12:01:04 +0200 Subject: [PATCH 114/157] Rename --use-guids and --use-names to --use-element-guids and --use-element-names. Add explicit --use-material-names for controlling material naming. --- src/ifcconvert/ColladaSerializer.cpp | 19 +++++++++++------ src/ifcconvert/IfcConvert.cpp | 26 +++++++++++++---------- src/ifcconvert/SvgSerializer.cpp | 4 ++-- src/ifcconvert/WavefrontObjSerializer.cpp | 11 ++++++---- src/ifcgeom/IfcGeomIteratorSettings.h | 20 ++++++++++------- 5 files changed, 48 insertions(+), 32 deletions(-) diff --git a/src/ifcconvert/ColladaSerializer.cpp b/src/ifcconvert/ColladaSerializer.cpp index 8532c291a7..4780150e6b 100644 --- a/src/ifcconvert/ColladaSerializer.cpp +++ b/src/ifcconvert/ColladaSerializer.cpp @@ -124,7 +124,8 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write( const size_t num_triangles = std::distance(index_range_start, it) / 3; if ((previous_material_id != current_material_id && num_triangles > 0) || (it == faces.end())) { COLLADASW::Triangles triangles(mSW); - std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? materials[previous_material_id].original_name() : materials[previous_material_id].name()); + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES) + ? materials[previous_material_id].original_name() : materials[previous_material_id].name()); collada_id(material_name); triangles.setMaterial(material_name); triangles.setCount((unsigned long)num_triangles); @@ -182,7 +183,8 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write( for (linelist_t::const_iterator it = linelist.begin(); it != linelist.end(); ++it) { COLLADASW::Lines lines(mSW); - std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? materials[it->first].original_name() : materials[it->first].name()); + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES) + ? materials[it->first].original_name() : materials[it->first].name()); collada_id(material_name); lines.setMaterial(material_name); lines.setCount((unsigned long)it->second.size()); @@ -256,7 +258,8 @@ void ColladaSerializer::ColladaExporter::ColladaScene::write() { void ColladaSerializer::ColladaExporter::ColladaMaterials::ColladaEffects::write(const IfcGeom::Material& material) { - std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES) + ? material.original_name() : material.name()); collada_id(material_name); openEffect(material_name + "-fx"); COLLADASW::EffectProfile effect(mSW); @@ -302,7 +305,8 @@ bool ColladaSerializer::ColladaExporter::ColladaMaterials::contains(const IfcGeo void ColladaSerializer::ColladaExporter::ColladaMaterials::write() { effects.close(); foreach(const IfcGeom::Material& material, materials) { - std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES) + ? material.original_name() : material.name()); std::string material_name_unescaped = material_name; // workaround double-escaping that would occur in addInstanceEffect() IfcUtil::sanitate_material_name(material_name_unescaped); collada_id(material_name); @@ -333,7 +337,8 @@ void ColladaSerializer::ColladaExporter::write(const std::string& unique_id, con if (!materials.contains(material)) { materials.add(material); } - std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + std::string material_name = (serializer->settings().get(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES) + ? material.original_name() : material.name()); collada_id(material_name); material_references.push_back(material_name); } @@ -367,8 +372,8 @@ void ColladaSerializer::writeHeader() { void ColladaSerializer::write(const IfcGeom::TriangulationElement* o) { const IfcGeom::Representation::Triangulation& mesh = o->geometry(); - const std::string name = settings().get(IfcGeom::IteratorSettings::USE_GUIDS) ? - o->guid() : (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? o->name() : o->unique_id()); + const std::string name = settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_GUIDS) ? + o->guid() : (settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_NAMES) ? o->name() : o->unique_id()); exporter.write(name, o->type(), o->transformation().matrix().data(), mesh.verts(), mesh.normals(), mesh.faces(), mesh.edges(), mesh.material_ids(), mesh.materials()); } diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 11d0259295..02328e02e8 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -190,13 +190,15 @@ int main(int argc, char** argv) { ("bounds", boost::program_options::value(&bounds), "Specifies the bounding rectangle, for example 512x512, to which the " "output will be scaled. Only used when converting to SVG.") - ("use-names", - "Use entity names instead of unique IDs for naming objects and materials " - "upon serialization. Applicable for .obj and .dae output.") - ("use-guids", - "Use entity GUIDs instead of unique IDs for naming objects upon serialization. " - "Overrides possible usage of --use-names for objects but not for materials." - "Applicable for .obj and .dae output.") + ("use-element-names", + "Use entity names instead of unique IDs for naming elements upon serialization. " + "Applicable for OBJ, DAE, and SVG output.") + ("use-element-guids", + "Use entity GUIDs instead of unique IDs for naming elements upon serialization. " + "Applicable for OBJ, DAE, and SVG output.") + ("use-material-names", + "Use material names instead of unique IDs for naming materials upon serialization. " + "Applicable for OBJ and DAE output.") /*("center-model", "Centers the models upon serialization by applying the center point of " "the scene bounds as an offset. Applicable only for .dae output currently.") @@ -256,8 +258,9 @@ int main(int argc, char** argv) { bool include_entities = vmap.count("include") != 0; const bool include_plan = vmap.count("plan") != 0; const bool include_model = vmap.count("model") != 0 || (!include_plan); - const bool use_names = vmap.count("use-names") != 0; - const bool use_guids = vmap.count("use-guids") != 0 ; + const bool use_element_names = vmap.count("use-element-names") != 0; + const bool use_element_guids = vmap.count("use-element-guids") != 0 ; + const bool use_material_names = vmap.count("use-material-names") != 0; //const bool no_normals = vmap.count("no-normals") != 0 ; //const bool center_model = vmap.count("center-model") != 0 ; //const bool generate_uvs = vmap.count("generate-uvs") != 0 ; @@ -338,8 +341,9 @@ int main(int argc, char** argv) { settings.set(IfcGeom::IteratorSettings::DISABLE_OPENING_SUBTRACTIONS, disable_opening_subtractions); settings.set(IfcGeom::IteratorSettings::INCLUDE_CURVES, include_plan); settings.set(IfcGeom::IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES, !include_model); - settings.set(IfcGeom::IteratorSettings::USE_NAMES, use_names); - settings.set(IfcGeom::IteratorSettings::USE_GUIDS, use_guids); + settings.set(IfcGeom::IteratorSettings::USE_ELEMENT_NAMES, use_element_names); + settings.set(IfcGeom::IteratorSettings::USE_ELEMENT_GUIDS, use_element_guids); + settings.set(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES, use_material_names); //settings.set(IfcGeom::IteratorSettings::NO_NORMALS, no_normals); //settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, center_model); //settings.set(IfcGeom::IteratorSettings::GENERATE_UVS, generate_uvs); diff --git a/src/ifcconvert/SvgSerializer.cpp b/src/ifcconvert/SvgSerializer.cpp index 14004d50b9..25fbe49198 100644 --- a/src/ifcconvert/SvgSerializer.cpp +++ b/src/ifcconvert/SvgSerializer.cpp @@ -345,8 +345,8 @@ std::string SvgSerializer::nameElement(const IfcGeom::Element* elem) { std::ostringstream oss; const std::string type = "product"; - const std::string name = (settings().get(IfcGeom::IteratorSettings::USE_GUIDS) - ? elem->guid() : (settings().get(IfcGeom::IteratorSettings::USE_NAMES) + const std::string name = (settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_GUIDS) + ? elem->guid() : (settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_NAMES) ? elem->name() : elem->unique_id())); oss << "id=\"" << type << "-" << name<< "\""; return oss.str(); diff --git a/src/ifcconvert/WavefrontObjSerializer.cpp b/src/ifcconvert/WavefrontObjSerializer.cpp index 0829ec88de..3874a85163 100644 --- a/src/ifcconvert/WavefrontObjSerializer.cpp +++ b/src/ifcconvert/WavefrontObjSerializer.cpp @@ -46,7 +46,8 @@ void WaveFrontOBJSerializer::writeHeader() { void WaveFrontOBJSerializer::writeMaterial(const IfcGeom::Material& style) { - std::string material_name = (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? style.original_name() : style.name()); + std::string material_name = (settings().get(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES) + ? style.original_name() : style.name()); IfcUtil::sanitate_material_name(material_name); mtl_stream << "newmtl " << material_name << "\n"; if (style.hasDiffuse()) { @@ -72,7 +73,7 @@ void WaveFrontOBJSerializer::writeMaterial(const IfcGeom::Material& style) void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* o) { - obj_stream << "g " << (settings().get(IfcGeom::IteratorSettings::USE_GUIDS) ? o->guid() : (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? o->name() : o->unique_id())) << "\n"; + obj_stream << "g " << (settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_GUIDS) ? o->guid() : (settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_NAMES) ? o->name() : o->unique_id())) << "\n"; obj_stream << "s 1" << "\n"; const IfcGeom::Representation::Triangulation& mesh = o->geometry(); @@ -100,7 +101,8 @@ void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* const int material_id = *(material_it++); if (material_id != previous_material_id) { const IfcGeom::Material& material = mesh.materials()[material_id]; - std::string material_name = (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + std::string material_name = (settings().get(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES) + ? material.original_name() : material.name()); IfcUtil::sanitate_material_name(material_name); obj_stream << "usemtl " << material_name << "\n"; if (materials.find(material_name) == materials.end()) { @@ -132,7 +134,8 @@ void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* if (material_id != previous_material_id) { const IfcGeom::Material& material = mesh.materials()[material_id]; - std::string material_name = (settings().get(IfcGeom::IteratorSettings::USE_NAMES) ? material.original_name() : material.name()); + std::string material_name = (settings().get(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES) + ? material.original_name() : material.name()); IfcUtil::sanitate_material_name(material_name); obj_stream << "usemtl " << material_name << "\n"; if (materials.find(material_name) == materials.end()) { diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index 834f77d305..3f5afc2577 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -71,20 +71,22 @@ namespace IfcGeom /// in instances where you're going to recompute normals for the exported /// model in other modelling application in any case. //NO_NORMALS = 1 << 11, - /// Use entity names instead of unique IDs for naming objects and materials. + /// Use entity names instead of unique IDs for naming elements. /// Applicable for OBJ, DAE, and SVG output. - USE_NAMES = 1 << 12, - /// Use entity GUIDs instead of unique IDs for naming objects. - /// Overrides possible usage of --use-names for objects but not for materials. + USE_ELEMENT_NAMES = 1 << 12, + /// Use entity GUIDs instead of unique IDs for naming elements. /// Applicable for OBJ, DAE, and SVG output. - USE_GUIDS = 1 << 13, + USE_ELEMENT_GUIDS = 1 << 13, + /// Use material names instead of unique IDs for naming materials. + /// Applicable for OBJ and DAE output. + USE_MATERIAL_NAMES = 1 << 14, /// Centers the models upon serialization by the applying the center point of /// the scene bounds as an offset. Applicable only for .dae output currently. - //CENTER_MODEL = 1 << 14, + //CENTER_MODEL = 1 << 15, /// Generates UVs by using simple box projection. Requires normals. /// Applicable only for DAE output currently. - //GENERATE_UVS = 1 << 15, - //NUM_SETTINGS = 15 + //GENERATE_UVS = 1 << 16, + //NUM_SETTINGS = 16 }; /// Used to store logical OR combination of setting flags. typedef unsigned SettingField; @@ -104,12 +106,14 @@ namespace IfcGeom /// @todo Sanity check for the value void set_deflection_tolerance(double value) { deflection_tolerance_ = value; } + /// Get boolean value for a single settings or for a combination of settings. bool get(SettingField setting) const { /// @todo If unknown setting value/combination: throw IfcParse::IfcException("Invalid IteratorSetting")? return (settings_ & setting) != 0; } + /// Set boolean value for a single settings or for a combination of settings. void set(SettingField setting, bool value) { /// @todo If unknown setting value/combination: throw IfcParse::IfcException("Invalid IteratorSetting")? From ce38854cff72a960efbb27fd0b3b3f9f9a1e7e94 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 10 Mar 2016 13:29:22 +0200 Subject: [PATCH 115/157] Add --no-normals --- src/ifcconvert/IfcConvert.cpp | 8 ++++---- src/ifcconvert/WavefrontObjSerializer.cpp | 5 ++++- src/ifcgeom/IfcGeomIteratorSettings.h | 2 +- src/ifcgeom/IfcGeomRepresentation.h | 7 ++++--- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 02328e02e8..9a19b4b0a9 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -176,12 +176,12 @@ int main(int argc, char** argv) { /*("names", boost::program_options::value< std::vector >(&names)->multitoken(), "A list of names or wildcard patterns that should be included in or excluded from the " "geometrical output, depending on whether --exclude or --include is specified. " - "The names are handled case-sensitively. Cannot be placed right before input file argument.") + "The names are handled case-sensitively. Cannot be placed right before input file argument.")*/ ("no-normals", "Disables computation of normals. Saves time and file size and is useful " "in instances where you're going to recompute normals for the exported " "model in other modelling application in any case.") - ("deflection-tolerance", boost::program_options::value(&deflection_tolerance), + /*("deflection-tolerance", boost::program_options::value(&deflection_tolerance), "Sets the deflection tolerance of the mesher, 1e-3 by default if not specified.")*/; std::string bounds; @@ -261,7 +261,7 @@ int main(int argc, char** argv) { const bool use_element_names = vmap.count("use-element-names") != 0; const bool use_element_guids = vmap.count("use-element-guids") != 0 ; const bool use_material_names = vmap.count("use-material-names") != 0; - //const bool no_normals = vmap.count("no-normals") != 0 ; + const bool no_normals = vmap.count("no-normals") != 0 ; //const bool center_model = vmap.count("center-model") != 0 ; //const bool generate_uvs = vmap.count("generate-uvs") != 0 ; //const bool deflection_tolerance_specified = vmap.count("deflection-tolerance") != 0 ; @@ -344,7 +344,7 @@ int main(int argc, char** argv) { settings.set(IfcGeom::IteratorSettings::USE_ELEMENT_NAMES, use_element_names); settings.set(IfcGeom::IteratorSettings::USE_ELEMENT_GUIDS, use_element_guids); settings.set(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES, use_material_names); - //settings.set(IfcGeom::IteratorSettings::NO_NORMALS, no_normals); + settings.set(IfcGeom::IteratorSettings::NO_NORMALS, no_normals); //settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, center_model); //settings.set(IfcGeom::IteratorSettings::GENERATE_UVS, generate_uvs); //if (deflection_tolerance_specified) diff --git a/src/ifcconvert/WavefrontObjSerializer.cpp b/src/ifcconvert/WavefrontObjSerializer.cpp index 3874a85163..a51f36f98f 100644 --- a/src/ifcconvert/WavefrontObjSerializer.cpp +++ b/src/ifcconvert/WavefrontObjSerializer.cpp @@ -73,7 +73,10 @@ void WaveFrontOBJSerializer::writeMaterial(const IfcGeom::Material& style) void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* o) { - obj_stream << "g " << (settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_GUIDS) ? o->guid() : (settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_NAMES) ? o->name() : o->unique_id())) << "\n"; + const std::string name = (settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_GUIDS) + ? o->guid() : (settings().get(IfcGeom::IteratorSettings::USE_ELEMENT_NAMES) + ? o->name() : o->unique_id())); + obj_stream << "g " << name << "\n"; obj_stream << "s 1" << "\n"; const IfcGeom::Representation::Triangulation& mesh = o->geometry(); diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index 3f5afc2577..441741d9d8 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -70,7 +70,7 @@ namespace IfcGeom /// Disables computation of normals. Saves time and file size and is useful /// in instances where you're going to recompute normals for the exported /// model in other modelling application in any case. - //NO_NORMALS = 1 << 11, + NO_NORMALS = 1 << 11, /// Use entity names instead of unique IDs for naming elements. /// Applicable for OBJ, DAE, and SVG output. USE_ELEMENT_NAMES = 1 << 12, diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index 802444edf8..de46e1c93c 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -181,8 +181,9 @@ namespace IfcGeom { BRepGProp_Face prop(face); std::map dict; - // Vertex normals are only calculated if vertices are not welded - const bool calculate_normals = !settings().get(IteratorSettings::WELD_VERTICES); + // Vertex normals are only calculated if vertices are not welded and calculation is not disable explicitly. + const bool calculate_normals = !settings().get(IteratorSettings::WELD_VERTICES) && + !settings().get(IteratorSettings::NO_NORMALS); for( int i = 1; i <= nodes.Length(); ++ i ) { coords.push_back(nodes(i).Transformed(loc).XYZ()); @@ -309,4 +310,4 @@ namespace IfcGeom { } } -#endif \ No newline at end of file +#endif From 5008c3503d7c199388e37326f041c9a94a459987 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 10 Mar 2016 14:39:42 +0200 Subject: [PATCH 116/157] --center-model for DAE output, fixes #8 (TODO: implement also for OBJ) --- src/ifcconvert/ColladaSerializer.cpp | 2 -- src/ifcconvert/IfcConvert.cpp | 50 +++++++++++++++------------ src/ifcgeom/IfcGeomIteratorSettings.h | 4 +-- 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/src/ifcconvert/ColladaSerializer.cpp b/src/ifcconvert/ColladaSerializer.cpp index 4780150e6b..c6d2bc795d 100644 --- a/src/ifcconvert/ColladaSerializer.cpp +++ b/src/ifcconvert/ColladaSerializer.cpp @@ -226,11 +226,9 @@ void ColladaSerializer::ColladaExporter::ColladaScene::add( { 0, 0, 0, 1 } }; -#if 0 matrix_array[0][3] += serializer->settings().offset[0]; matrix_array[1][3] += serializer->settings().offset[1]; matrix_array[2][3] += serializer->settings().offset[2]; -#endif node.start(); node.addMatrix(matrix_array); diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 9a19b4b0a9..6cb987c2a0 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -199,10 +199,10 @@ int main(int argc, char** argv) { ("use-material-names", "Use material names instead of unique IDs for naming materials upon serialization. " "Applicable for OBJ and DAE output.") - /*("center-model", + ("center-model", "Centers the models upon serialization by applying the center point of " - "the scene bounds as an offset. Applicable only for .dae output currently.") - ("generate-uvs", + "the scene bounds as an offset. Applicable only for DAE output currently.") + /*("generate-uvs", "Generates UVs (texture coordinates) by using simple box projection. Requires normals. Not guaranteed to work " "properly if used with --weld-vertices. Applicable only for .dae output currently.")*/; @@ -262,7 +262,7 @@ int main(int argc, char** argv) { const bool use_element_guids = vmap.count("use-element-guids") != 0 ; const bool use_material_names = vmap.count("use-material-names") != 0; const bool no_normals = vmap.count("no-normals") != 0 ; - //const bool center_model = vmap.count("center-model") != 0 ; + bool center_model = vmap.count("center-model") != 0 ; //const bool generate_uvs = vmap.count("generate-uvs") != 0 ; //const bool deflection_tolerance_specified = vmap.count("deflection-tolerance") != 0 ; boost::optional bounding_width, bounding_height; @@ -345,7 +345,7 @@ int main(int argc, char** argv) { settings.set(IfcGeom::IteratorSettings::USE_ELEMENT_GUIDS, use_element_guids); settings.set(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES, use_material_names); settings.set(IfcGeom::IteratorSettings::NO_NORMALS, no_normals); - //settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, center_model); + settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, center_model); //settings.set(IfcGeom::IteratorSettings::GENERATE_UVS, generate_uvs); //if (deflection_tolerance_specified) // settings.set_deflection_tolerance(deflection_tolerance); @@ -382,6 +382,12 @@ int main(int argc, char** argv) { return 1; } + if (output_extension != ".dae" && center_model) { + Logger::Message(Logger::LOG_NOTICE, "--center-model setting ignored for non-DAE output"); + settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, false); + center_model = false; + } + if (!serializer->isTesselated()) { if (weld_vertices) { Logger::Message(Logger::LOG_NOTICE, "Weld vertices setting ignored when writing STEP or IGES files"); @@ -450,28 +456,28 @@ int main(int argc, char** argv) { if (old_progress != progress) Logger::ProgressBar(progress); old_progress = progress; - //if (center_model) { - // const std::vector& pos = geom_object->transformation().matrix().data(); - // bounds_min[0] = std::min(bounds_min[0], pos[9]); - // bounds_min[1] = std::min(bounds_min[1], pos[10]); - // bounds_min[2] = std::min(bounds_min[2], pos[11]); - // bounds_max[0] = std::max(bounds_max[0], pos[9]); - // bounds_max[1] = std::max(bounds_max[1], pos[10]); - // bounds_max[2] = std::max(bounds_max[2], pos[11]); - //} + if (center_model) { + const std::vector& pos = geom_object->transformation().matrix().data(); + bounds_min[0] = std::min(bounds_min[0], pos[9]); + bounds_min[1] = std::min(bounds_min[1], pos[10]); + bounds_min[2] = std::min(bounds_min[2], pos[11]); + bounds_max[0] = std::max(bounds_max[0], pos[9]); + bounds_max[1] = std::max(bounds_max[1], pos[10]); + bounds_max[2] = std::max(bounds_max[2], pos[11]); + } } while (context_iterator.next()); Logger::Status("\rDone creating geometry (" + boost::lexical_cast(geometries.size()) + " objects) "); - //if (center_model) { - // settings.offset[0] = -(bounds_min[0] + bounds_max[0]) * real_t(0.5); - // settings.offset[1] = -(bounds_min[1] + bounds_max[1]) * real_t(0.5); - // settings.offset[2] = -(bounds_min[2] + bounds_max[2]) * real_t(0.5); - // //printf("Bounds min. (%g, %g, %g)\n", bounds_min[0], bounds_min[1], bounds_min[2]); - // //printf("Bounds max. (%g, %g, %g)\n", bounds_max[0], bounds_max[1], bounds_max[2]); - // printf("Using model offset (%g, %g, %g)\n", settings.offset[0], settings.offset[1], settings.offset[2]); //TODO Logger::Message(Logger::LOG_NOTICE, ...); - //} + if (center_model) { + settings.offset[0] = -(bounds_min[0] + bounds_max[0]) * real_t(0.5); + settings.offset[1] = -(bounds_min[1] + bounds_max[1]) * real_t(0.5); + settings.offset[2] = -(bounds_min[2] + bounds_max[2]) * real_t(0.5); + //printf("Bounds min. (%g, %g, %g)\n", bounds_min[0], bounds_min[1], bounds_min[2]); + //printf("Bounds max. (%g, %g, %g)\n", bounds_max[0], bounds_max[1], bounds_max[2]); + printf("Using model offset (%g, %g, %g)\n", settings.offset[0], settings.offset[1], settings.offset[2]); //TODO Logger::Message(Logger::LOG_NOTICE, ...); + } Logger::Status("Serializing geometry..."); diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index 441741d9d8..2d5a53a296 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -81,8 +81,8 @@ namespace IfcGeom /// Applicable for OBJ and DAE output. USE_MATERIAL_NAMES = 1 << 14, /// Centers the models upon serialization by the applying the center point of - /// the scene bounds as an offset. Applicable only for .dae output currently. - //CENTER_MODEL = 1 << 15, + /// the scene bounds as an offset. Applicable only for DAE output currently. + CENTER_MODEL = 1 << 15, /// Generates UVs by using simple box projection. Requires normals. /// Applicable only for DAE output currently. //GENERATE_UVS = 1 << 16, From 83e5096570dca89d703fc2a266db5747605dfa8b Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 10 Mar 2016 16:09:39 +0200 Subject: [PATCH 117/157] Support for --deflection-tolerance --- src/ifcconvert/IfcConvert.cpp | 13 +++++++------ src/ifcgeom/IfcGeomIteratorSettings.h | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 6cb987c2a0..a1ff5dc40e 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -121,7 +121,7 @@ int main(int argc, char** argv) { ("output-file", boost::program_options::value(), "output geometry file"); std::vector entity_vector/*, names*/; - //double deflection_tolerance; + double deflection_tolerance; boost::program_options::options_description geom_options; geom_options.add_options() ("plan", @@ -181,8 +181,8 @@ int main(int argc, char** argv) { "Disables computation of normals. Saves time and file size and is useful " "in instances where you're going to recompute normals for the exported " "model in other modelling application in any case.") - /*("deflection-tolerance", boost::program_options::value(&deflection_tolerance), - "Sets the deflection tolerance of the mesher, 1e-3 by default if not specified.")*/; + ("deflection-tolerance", boost::program_options::value(&deflection_tolerance), + "Sets the deflection tolerance of the mesher, 1e-3 by default if not specified."); std::string bounds; boost::program_options::options_description serializer_options; @@ -264,7 +264,7 @@ int main(int argc, char** argv) { const bool no_normals = vmap.count("no-normals") != 0 ; bool center_model = vmap.count("center-model") != 0 ; //const bool generate_uvs = vmap.count("generate-uvs") != 0 ; - //const bool deflection_tolerance_specified = vmap.count("deflection-tolerance") != 0 ; + const bool deflection_tolerance_specified = vmap.count("deflection-tolerance") != 0 ; boost::optional bounding_width, bounding_height; if (vmap.count("bounds") == 1) { int w, h; @@ -347,8 +347,9 @@ int main(int argc, char** argv) { settings.set(IfcGeom::IteratorSettings::NO_NORMALS, no_normals); settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, center_model); //settings.set(IfcGeom::IteratorSettings::GENERATE_UVS, generate_uvs); - //if (deflection_tolerance_specified) - // settings.set_deflection_tolerance(deflection_tolerance); + if (deflection_tolerance_specified) { + settings.set_deflection_tolerance(deflection_tolerance); + } GeometrySerializer* serializer; if (output_extension == ".obj") { diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index 2d5a53a296..dbb62b5ee0 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -21,6 +21,7 @@ #define IFCGEOMITERATORSETTINGS_H #include "../ifcparse/IfcException.h" +#include "../ifcparse/IfcUtil.h" namespace IfcGeom { @@ -103,8 +104,17 @@ namespace IfcGeom /// Note that this is independent of the IFC length unit, one millimeter by default. double deflection_tolerance() const { return deflection_tolerance_; } - /// @todo Sanity check for the value - void set_deflection_tolerance(double value) { deflection_tolerance_ = value; } + + void set_deflection_tolerance(double value) + { + /// @todo Using deflection tolerance of 1e-6 or smaller hangs the conversion, research more in-depth. + /// This bug can be reproduced e.g. with the Duplex model that can be found from http://www.nibs.org/?page=bsa_commonbimfiles#project1 + deflection_tolerance_ = value; + if (deflection_tolerance_ <= 1e-6) { + Logger::Message(Logger::LOG_WARNING, "Deflection tolerance cannot be set to <= 1e-6, using default 1e-3"); + deflection_tolerance_ = 1e-3; + } + } /// Get boolean value for a single settings or for a combination of settings. bool get(SettingField setting) const From 4953b35849f934e4c904e1f2ab336c7db789ea63 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 10 Mar 2016 16:46:20 +0200 Subject: [PATCH 118/157] --generate-uvs, applicable for DAE only currently --- src/ifcconvert/ColladaSerializer.cpp | 23 ++++++++--------------- src/ifcconvert/IfcConvert.cpp | 26 +++++++++++++++----------- src/ifcconvert/IgesSerializer.h | 12 ++++++------ src/ifcgeom/IfcGeomIteratorSettings.h | 7 ++++--- src/ifcgeom/IfcGeomRepresentation.h | 1 + 5 files changed, 34 insertions(+), 35 deletions(-) diff --git a/src/ifcconvert/ColladaSerializer.cpp b/src/ifcconvert/ColladaSerializer.cpp index c6d2bc795d..7ad6c8d656 100644 --- a/src/ifcconvert/ColladaSerializer.cpp +++ b/src/ifcconvert/ColladaSerializer.cpp @@ -38,10 +38,9 @@ static void collada_id(std::string &s) IfcUtil::escape_xml(s); } -#if 0 -static std::vector boxProjectUVs(const std::vector &vertices, const std::vector &normals) { - assert(vertices.size() == normals.size()); - //TODO if (vertices.size() != normals.size()) log error? +/// @todo Very simple impl. Assumes that input vertices and normals match 1:1. +static std::vector box_project_uvs(const std::vector &vertices, const std::vector &normals) +{ std::vector uvs; uvs.resize(vertices.size() / 3 * 2); for(size_t uv_idx = 0, v_idx = 0; @@ -67,7 +66,6 @@ static std::vector boxProjectUVs(const std::vector &vertices, co return uvs; } -#endif void ColladaSerializer::ColladaExporter::ColladaGeometries::addFloatSource(const std::string& mesh_id, const std::string& suffix, const std::vector& floats, const char* coords /* = "XYZ" */) @@ -98,17 +96,14 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write( // The normals vector can be empty for example when the WELD_VERTICES setting is used. // IfcOpenShell does not provide them with multiple face normals collapsed into a single vertex. const bool has_normals = !normals.empty(); -#if 0 - const bool generate_uvs = (has_normals && serializer->settings()..get(IfcGeom::IteratorSettings::GENERATE_UVS)); -#endif + const bool generate_uvs = (has_normals && serializer->settings().get(IfcGeom::IteratorSettings::GENERATE_UVS)); + addFloatSource(mesh_id, COLLADASW::LibraryGeometries::POSITIONS_SOURCE_ID_SUFFIX, positions); if (has_normals) { addFloatSource(mesh_id, COLLADASW::LibraryGeometries::NORMALS_SOURCE_ID_SUFFIX, normals); -#if 0 if (generate_uvs) { - addFloatSource(mesh_id, COLLADASW::LibraryGeometries::TEXCOORDS_SOURCE_ID_SUFFIX, boxProjectUVs(positions, normals), "UV"); + addFloatSource(mesh_id, COLLADASW::LibraryGeometries::TEXCOORDS_SOURCE_ID_SUFFIX, box_project_uvs(positions, normals), "UV"); } -#endif } COLLADASW::VerticesElement vertices(mSW); @@ -134,17 +129,15 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write( if (has_normals) { triangles.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::NORMAL,"#" + mesh_id + COLLADASW::LibraryGeometries::NORMALS_SOURCE_ID_SUFFIX, offset++)); } -#if 0 if (generate_uvs) { triangles.getInputList().push_back(COLLADASW::Input(COLLADASW::InputSemantic::TEXCOORD,"#" + mesh_id + COLLADASW::LibraryGeometries::TEXCOORDS_SOURCE_ID_SUFFIX, offset++)); } -#endif triangles.prepareToAppendValues(); for (std::vector::const_iterator jt = index_range_start; jt != it; ++jt) { const int idx = *jt; - /*if (has_normals && generate_uvs) { + if (has_normals && generate_uvs) { triangles.appendValues(idx, idx, idx); - } else*/ if(has_normals) { + } else if(has_normals) { triangles.appendValues(idx, idx); } else { triangles.appendValues(idx); diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index a1ff5dc40e..8237142805 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -202,9 +202,9 @@ int main(int argc, char** argv) { ("center-model", "Centers the models upon serialization by applying the center point of " "the scene bounds as an offset. Applicable only for DAE output currently.") - /*("generate-uvs", + ("generate-uvs", "Generates UVs (texture coordinates) by using simple box projection. Requires normals. Not guaranteed to work " - "properly if used with --weld-vertices. Applicable only for .dae output currently.")*/; + "properly if used with --weld-vertices. Applicable only for DAE output currently."); boost::program_options::options_description cmdline_options; cmdline_options.add(generic_options).add(fileio_options).add(geom_options).add(serializer_options); @@ -263,7 +263,7 @@ int main(int argc, char** argv) { const bool use_material_names = vmap.count("use-material-names") != 0; const bool no_normals = vmap.count("no-normals") != 0 ; bool center_model = vmap.count("center-model") != 0 ; - //const bool generate_uvs = vmap.count("generate-uvs") != 0 ; + const bool generate_uvs = vmap.count("generate-uvs") != 0 ; const bool deflection_tolerance_specified = vmap.count("deflection-tolerance") != 0 ; boost::optional bounding_width, bounding_height; if (vmap.count("bounds") == 1) { @@ -346,7 +346,7 @@ int main(int argc, char** argv) { settings.set(IfcGeom::IteratorSettings::USE_MATERIAL_NAMES, use_material_names); settings.set(IfcGeom::IteratorSettings::NO_NORMALS, no_normals); settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, center_model); - //settings.set(IfcGeom::IteratorSettings::GENERATE_UVS, generate_uvs); + settings.set(IfcGeom::IteratorSettings::GENERATE_UVS, generate_uvs); if (deflection_tolerance_specified) { settings.set_deflection_tolerance(deflection_tolerance); } @@ -366,9 +366,7 @@ int main(int argc, char** argv) { } else if (output_extension == ".stp") { serializer = new StepSerializer(output_filename, settings); } else if (output_extension == ".igs") { - // Not sure why this is needed, but it is. - // See: http://tracker.dev.opencascade.org/view.php?id=23679 - IGESControl_Controller::Init(); + IGESControl_Controller::Init(); // work around Open Cascade bug serializer = new IgesSerializer(output_filename, settings); } else if (output_extension == ".svg") { settings.set(IfcGeom::IteratorSettings::DISABLE_TRIANGULATION, true); @@ -383,10 +381,16 @@ int main(int argc, char** argv) { return 1; } - if (output_extension != ".dae" && center_model) { - Logger::Message(Logger::LOG_NOTICE, "--center-model setting ignored for non-DAE output"); - settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, false); - center_model = false; + if (output_extension != ".dae") { + if (center_model) { + Logger::Message(Logger::LOG_NOTICE, "--center-model setting ignored for non-DAE output"); + settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, false); + center_model = false; + } + if (generate_uvs) { + Logger::Message(Logger::LOG_NOTICE, "--generate-uvs setting ignored for non-DAE output"); + settings.set(IfcGeom::IteratorSettings::GENERATE_UVS, false); + } } if (!serializer->isTesselated()) { diff --git a/src/ifcconvert/IgesSerializer.h b/src/ifcconvert/IgesSerializer.h index 447065c5f5..fb8045c2de 100644 --- a/src/ifcconvert/IgesSerializer.h +++ b/src/ifcconvert/IgesSerializer.h @@ -20,18 +20,18 @@ #ifndef IGESSERIALIZER_H #define IGESSERIALIZER_H +#include "OpenCascadeBasedSerializer.h" + #include #include -#include "../ifcgeom/IfcGeomIterator.h" - -#include "../ifcconvert/OpenCascadeBasedSerializer.h" - class IgesSerializer : public OpenCascadeBasedSerializer { private: - IGESControl_Writer writer; + IGESControl_Writer writer; public: + /// @note IGESControl_Controller::Init() must be called prior to instantiating IgesSerializer. + /// See http://tracker.dev.opencascade.org/view.php?id=23679 for more information. IgesSerializer(const std::string& out_filename, const IfcGeom::IteratorSettings &settings) : OpenCascadeBasedSerializer(out_filename, settings) {} @@ -51,4 +51,4 @@ public: } }; -#endif \ No newline at end of file +#endif diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index dbb62b5ee0..bf225ef3c9 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -86,8 +86,9 @@ namespace IfcGeom CENTER_MODEL = 1 << 15, /// Generates UVs by using simple box projection. Requires normals. /// Applicable only for DAE output currently. - //GENERATE_UVS = 1 << 16, - //NUM_SETTINGS = 16 + GENERATE_UVS = 1 << 16, + /// Number of different setting flags. + NUM_SETTINGS = 16 }; /// Used to store logical OR combination of setting flags. typedef unsigned SettingField; @@ -111,7 +112,7 @@ namespace IfcGeom /// This bug can be reproduced e.g. with the Duplex model that can be found from http://www.nibs.org/?page=bsa_commonbimfiles#project1 deflection_tolerance_ = value; if (deflection_tolerance_ <= 1e-6) { - Logger::Message(Logger::LOG_WARNING, "Deflection tolerance cannot be set to <= 1e-6, using default 1e-3"); + Logger::Message(Logger::LOG_WARNING, "Deflection tolerance cannot be set to <= 1e-6; using the default value 1e-3"); deflection_tolerance_ = 1e-3; } } diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index de46e1c93c..40ad904490 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -176,6 +176,7 @@ namespace IfcGeom { std::vector > edges_temp; const TColgp_Array1OfPnt& nodes = tri->Nodes(); + /// @todo can these UVs be used for texture coordinates as is? const TColgp_Array1OfPnt2d& uvs = tri->UVNodes(); std::vector coords; BRepGProp_Face prop(face); From b9c5b0e6c8740f3227f1b30909af0f9240a0ad0d Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 10 Mar 2016 17:00:06 +0200 Subject: [PATCH 119/157] Add IFCCONVERT_DOUBLE_PRECISION build option --- cmake/CMakeLists.txt | 6 ++- src/ifcconvert/GeometrySerializer.h | 6 ++- src/ifcconvert/OpenCascadeBasedSerializer.cpp | 2 +- src/ifcconvert/SvgSerializer.h | 47 +++++++++---------- src/ifcconvert/WavefrontObjSerializer.h | 4 +- 5 files changed, 35 insertions(+), 30 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index b956b97c28..35e67c42e0 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -24,7 +24,7 @@ project (IfcOpenShell) OPTION(UNICODE_SUPPORT "Build IfcOpenShell with Unicode support (requires ICU)." ON) OPTION(COLLADA_SUPPORT "Build IfcConvert with COLLADA support (requires OpenCOLLADA)." ON) OPTION(ENABLE_BUILD_OPTIMIZATIONS "Enable certain compiler and linker optimizations on RelWithDebInfo and Release builds." OFF) -#TODO OPTION(IFCCONVERT_DOUBLE_PRECISION "IfcConvert: Use double precision floating-point numbers." OFF) +OPTION(IFCCONVERT_DOUBLE_PRECISION "IfcConvert: Use double precision floating-point numbers." ON) OPTION(USE_IFC4 "Use IFC 4 instead of IFC 2x3 (full rebuild recommended when switching this)" OFF) OPTION(BUILD_IFCPYTHON "Build IfcPython." ON) OPTION(BUILD_EXAMPLES "Build example applications." ON) @@ -397,6 +397,10 @@ if(NOT WIN32) LINK_DIRECTORIES(${LINK_DIRECTORIES} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64) endif() +# IfcConvert +if (IFCCONVERT_DOUBLE_PRECISION) + add_definitions(-DIFCCONVERT_DOUBLE_PRECISION) +endif() file(GLOB IFCCONVERT_CPP_FILES ../src/ifcconvert/*.cpp) file(GLOB IFCCONVERT_H_FILES ../src/ifcconvert/*.h) set(IFCCONVERT_FILES ${IFCCONVERT_CPP_FILES} ${IFCCONVERT_H_FILES}) diff --git a/src/ifcconvert/GeometrySerializer.h b/src/ifcconvert/GeometrySerializer.h index 1eb36e6b67..c2ee0f6416 100644 --- a/src/ifcconvert/GeometrySerializer.h +++ b/src/ifcconvert/GeometrySerializer.h @@ -20,7 +20,11 @@ #ifndef GEOMETRYSERIALIZER_H #define GEOMETRYSERIALIZER_H -typedef double real_t; /**< @todo Will be configurable */ +#ifdef IFCCONVERT_DOUBLE_PRECISION +typedef double real_t; +#else +typedef float real_t; +#endif #include "../ifcconvert/Serializer.h" #include "../ifcgeom/IfcGeomIterator.h" diff --git a/src/ifcconvert/OpenCascadeBasedSerializer.cpp b/src/ifcconvert/OpenCascadeBasedSerializer.cpp index 2f9ea54839..1400d7c400 100644 --- a/src/ifcconvert/OpenCascadeBasedSerializer.cpp +++ b/src/ifcconvert/OpenCascadeBasedSerializer.cpp @@ -36,7 +36,7 @@ bool OpenCascadeBasedSerializer::ready() { return succeeded; } -void OpenCascadeBasedSerializer::write(const IfcGeom::BRepElement* o) { +void OpenCascadeBasedSerializer::write(const IfcGeom::BRepElement* o) { for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = o->geometry().begin(); it != o->geometry().end(); ++ it) { gp_GTrsf gtrsf = it->Placement(); diff --git a/src/ifcconvert/SvgSerializer.h b/src/ifcconvert/SvgSerializer.h index 08ff97f692..ea4acb3aff 100644 --- a/src/ifcconvert/SvgSerializer.h +++ b/src/ifcconvert/SvgSerializer.h @@ -22,15 +22,13 @@ #ifndef SVGSERIALIZER_H #define SVGSERIALIZER_H +#include "../ifcconvert/GeometrySerializer.h" +#include "../ifcconvert/util.h" + #include #include #include -#include "../ifcgeom/IfcGeomIterator.h" - -#include "../ifcconvert/GeometrySerializer.h" -#include "../ifcconvert/util.h" - class SvgSerializer : public GeometrySerializer { public: typedef std::pair > path_object; @@ -45,7 +43,7 @@ protected: std::vector< boost::shared_ptr > radii; IfcParse::IfcFile* file; public: - explicit SvgSerializer(const std::string& out_filename, const IfcGeom::IteratorSettings &settings) + SvgSerializer(const std::string& out_filename, const IfcGeom::IteratorSettings &settings) : GeometrySerializer(settings) , svg_file(out_filename.c_str()) , xmin(+std::numeric_limits::infinity()) @@ -55,25 +53,24 @@ public: , rescale(false) , file(0) {} - virtual void addXCoordinate(const boost::shared_ptr& fi) { xcoords.push_back(fi); } - virtual void addYCoordinate(const boost::shared_ptr& fi) { ycoords.push_back(fi); } - virtual void addSizeComponent(const boost::shared_ptr& fi) { radii.push_back(fi); } - virtual void growBoundingBox(double x, double y) { if (x < xmin) xmin = x; if (x > xmax) xmax = x; if (y < ymin) ymin = y; if (y > ymax) ymax = y; } - virtual ~SvgSerializer() {} - virtual void writeHeader(); - virtual bool ready(); - virtual void write(const IfcGeom::TriangulationElement* /*o*/) {} - virtual void write(const IfcGeom::BRepElement* o); - virtual void write(path_object& p, const TopoDS_Wire& wire); - virtual path_object& start_path(IfcSchema::IfcBuildingStorey* storey, const std::string& id); - virtual bool isTesselated() const { return false; } - virtual void finalize(); - virtual void setUnitNameAndMagnitude(const std::string& /*name*/, float /*magnitude*/) {} - virtual void setFile(IfcParse::IfcFile* f) { file = f; } - virtual void setBoundingRectangle(double width, double height); - virtual void setSectionHeight(double h) { section_height = h; } - virtual std::string nameElement(const IfcGeom::Element* elem); - virtual std::string nameElement(const IfcSchema::IfcProduct* elem); + void addXCoordinate(const boost::shared_ptr& fi) { xcoords.push_back(fi); } + void addYCoordinate(const boost::shared_ptr& fi) { ycoords.push_back(fi); } + void addSizeComponent(const boost::shared_ptr& fi) { radii.push_back(fi); } + void growBoundingBox(double x, double y) { if (x < xmin) xmin = x; if (x > xmax) xmax = x; if (y < ymin) ymin = y; if (y > ymax) ymax = y; } + void writeHeader(); + bool ready(); + void write(const IfcGeom::TriangulationElement* /*o*/) {} + void write(const IfcGeom::BRepElement* o); + void write(path_object& p, const TopoDS_Wire& wire); + path_object& start_path(IfcSchema::IfcBuildingStorey* storey, const std::string& id); + bool isTesselated() const { return false; } + void finalize(); + void setUnitNameAndMagnitude(const std::string& /*name*/, float /*magnitude*/) {} + void setFile(IfcParse::IfcFile* f) { file = f; } + void setBoundingRectangle(double width, double height); + void setSectionHeight(double h) { section_height = h; } + std::string nameElement(const IfcGeom::Element* elem); + std::string nameElement(const IfcSchema::IfcProduct* elem); }; #endif diff --git a/src/ifcconvert/WavefrontObjSerializer.h b/src/ifcconvert/WavefrontObjSerializer.h index 582bffc6fc..c8e87f6cdd 100644 --- a/src/ifcconvert/WavefrontObjSerializer.h +++ b/src/ifcconvert/WavefrontObjSerializer.h @@ -45,8 +45,8 @@ public: bool ready(); void writeHeader(); void writeMaterial(const IfcGeom::Material& style); - void write(const IfcGeom::TriangulationElement* o); - void write(const IfcGeom::BRepElement* /*o*/) {} + void write(const IfcGeom::TriangulationElement* o); + void write(const IfcGeom::BRepElement* /*o*/) {} void finalize() {} bool isTesselated() const { return true; } void setUnitNameAndMagnitude(const std::string& /*name*/, float /*magnitude*/) {} From e9f551ea712408bf9b244517f4f52a2452842e4d Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 10 Mar 2016 21:15:50 +0200 Subject: [PATCH 120/157] --names for filtering included or excluded entities by name, e.g. --include --names "Wall Compound*" --- src/ifcconvert/IfcConvert.cpp | 27 +++++++++++++++------------ src/ifcgeom/IfcGeomIterator.h | 6 +++--- src/ifcgeom/IfcGeomRepresentation.h | 1 - 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 8237142805..4aecbcbab9 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -87,12 +87,15 @@ void print_options( const boost::optional& geom_options, const boost::optional& serialization_options) { - if (generic_options) + if (generic_options) { std::cerr << "\nCommand line options\n" << generic_options; - if (geom_options) + } + if (geom_options) { std::cerr << "\nGeometry options\n" << geom_options; - if (serialization_options) + } + if (serialization_options) { std::cerr << "\nSerialization options\n" << serialization_options; + } std::cerr << std::endl; } @@ -120,7 +123,7 @@ int main(int argc, char** argv) { ("input-file", boost::program_options::value(), "input IFC file") ("output-file", boost::program_options::value(), "output geometry file"); - std::vector entity_vector/*, names*/; + std::vector entity_vector, names; double deflection_tolerance; boost::program_options::options_description geom_options; geom_options.add_options() @@ -171,12 +174,13 @@ int main(int argc, char** argv) { ("entities", boost::program_options::value< std::vector >(&entity_vector)->multitoken(), "A list of entities that should be included in or excluded from the " "geometrical output, depending on whether --exclude or --include is specified. " - " Defaults to IfcOpeningElement and IfcSpace to be excluded. " + "Defaults to IfcOpeningElement and IfcSpace to be excluded. SVG output defaults " + "to IfcSpace to be included." "The names are handled case-insensitively. Cannot be placed right before input file argument.") - /*("names", boost::program_options::value< std::vector >(&names)->multitoken(), + ("names", boost::program_options::value< std::vector >(&names)->multitoken(), "A list of names or wildcard patterns that should be included in or excluded from the " "geometrical output, depending on whether --exclude or --include is specified. " - "The names are handled case-sensitively. Cannot be placed right before input file argument.")*/ + "The names are handled case-sensitively. Cannot be placed right before input file argument.") ("no-normals", "Disables computation of normals. Saves time and file size and is useful " "in instances where you're going to recompute normals for the exported " @@ -297,10 +301,9 @@ int main(int argc, char** argv) { std::string output_extension = output_filename.substr(output_filename.size()-4); boost::to_lower(output_extension); - // If no entities are specified these are the defaults to skip from output - if (entities.empty()) { + // If no entity or names filters are specified these are the defaults to skip from output + if (entities.empty() && names.empty()) { entities.insert("IfcSpace"); - /// @todo Document in --help that SVG uses "--include --entities IfcSpace" by default. if (output_extension == ".svg") { include_entities = true; } else { @@ -405,10 +408,10 @@ int main(int argc, char** argv) { try { if (include_entities) { context_iterator.includeEntities(entities); - //context_iterator.include_entity_names(names); + context_iterator.include_entity_names(names); } else { context_iterator.excludeEntities(entities); - //context_iterator.exclude_entity_names(names); + context_iterator.exclude_entity_names(names); } } catch (const IfcParse::IfcException& e) { std::cout << "[Error] " << e.what() << std::endl; diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index 36bda5e5dd..df554fe607 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -276,7 +276,7 @@ namespace IfcGeom { include_entities_in_processing = false; } - // Arbitrary names or wildcard expressions are handled case-sensitively. + /// @note Arbitrary names or wildcard expressions are handled case-sensitively. void include_entity_names(const std::vector& names) { names_to_include_or_exclude.clear(); @@ -285,7 +285,7 @@ namespace IfcGeom { include_entities_in_processing = true; } - // Arbitrary names or wildcard expressions are handled case-sensitively. + /// @note Arbitrary names or wildcard expressions are handled case-sensitively. void exclude_entity_names(const std::vector& names) { names_to_include_or_exclude.clear(); @@ -346,7 +346,7 @@ namespace IfcGeom { } foreach(const boost::regex& r, names_to_include_or_exclude) { - if (boost::regex_match((*it)->Name(), r)) { + if (boost::regex_match((*jt)->Name(), r)) { found = true; break; } diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index 40ad904490..de46e1c93c 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -176,7 +176,6 @@ namespace IfcGeom { std::vector > edges_temp; const TColgp_Array1OfPnt& nodes = tri->Nodes(); - /// @todo can these UVs be used for texture coordinates as is? const TColgp_Array1OfPnt2d& uvs = tri->UVNodes(); std::vector coords; BRepGProp_Face prop(face); From 923f1212f55beeab33153fc781799fbf8b014e9a Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 11 Mar 2016 10:05:33 +0200 Subject: [PATCH 121/157] Clean up program_options printings --- src/ifcconvert/IfcConvert.cpp | 39 ++++++++++++++--------------------- 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 4aecbcbab9..4e695c503d 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -63,7 +63,7 @@ void print_version() std::cerr << "IfcOpenShell " << IfcSchema::Identifier << " IfcConvert " << IFCOPENSHELL_VERSION << std::endl; } -void print_usage() +void print_usage(bool suggest_help = true) { std::cerr << "Usage: IfcConvert [options] []" << "\n" << "\n" @@ -77,25 +77,16 @@ void print_usage() << " .xml XML Property definitions and decomposition tree" << "\n" << " .svg SVG Scalable Vector Graphics (2D floor plan)" << "\n" << "\n" - << "If no output filename given,

    _normals; + std::vector

    uvs_; std::vector _material_ids; std::vector _materials; VertexKeyMap welds; @@ -112,8 +113,10 @@ namespace IfcGeom { const std::vector& faces() const { return _faces; } const std::vector& edges() const { return _edges; } const std::vector

    & normals() const { return _normals; } + const std::vector

    & uvs() const { return uvs_; } const std::vector& material_ids() const { return _material_ids; } const std::vector& materials() const { return _materials; } + Triangulation(const BRep& shape_model) : Representation(shape_model.settings()) , _id(shape_model.getId()) @@ -246,6 +249,10 @@ namespace IfcGeom { } } + if (!_normals.empty() && settings().get(IfcGeom::IteratorSettings::GENERATE_UVS)) { + uvs_ = box_project_uvs(_verts, _normals); + } + if (num_faces == 0) { // Edges are only emitted if there are no faces. A mixed representation of faces // and loose edges is discouraged by the standard. An alternative would be to use @@ -276,6 +283,37 @@ namespace IfcGeom { } } virtual ~Triangulation() {} + + /// Generates UVs for a single mesh using box projection. + /// @todo Very simple impl. Assumes that input vertices and normals match 1:1. + static std::vector

    box_project_uvs(const std::vector

    &vertices, const std::vector

    &normals) + { + std::vector

    uvs; + uvs.resize(vertices.size() / 3 * 2); + for (size_t uv_idx = 0, v_idx = 0; + uv_idx < uvs.size() && v_idx < vertices.size() && v_idx < normals.size(); + uv_idx += 2, v_idx += 3) { + + P n_x = normals[v_idx], n_y = normals[v_idx + 1], n_z = normals[v_idx + 2]; + P v_x = vertices[v_idx], v_y = vertices[v_idx + 1], v_z = vertices[v_idx + 2]; + + if (std::abs(n_x) > std::abs(n_y) && std::abs(n_x) > std::abs(n_z)) { + uvs[uv_idx] = v_z; + uvs[uv_idx + 1] = v_y; + } + if (std::abs(n_y) > std::abs(n_x) && std::abs(n_y) > std::abs(n_z)) { + uvs[uv_idx] = v_x; + uvs[uv_idx + 1] = v_z; + } + if (std::abs(n_z) > std::abs(n_x) && std::abs(n_z) > std::abs(n_y)) { + uvs[uv_idx] = v_x; + uvs[uv_idx + 1] = v_y; + } + } + + return uvs; + } + private: // Welds vertices that belong to different faces int addVertex(int material_index, const gp_XYZ& p) { From 562f38756f8f2d2ecea8879112019d10dd9a2154 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 17 Mar 2016 23:25:53 +0200 Subject: [PATCH 124/157] Calculate and store min. and max. placements IfcGeom::Iterator. Implement --center-model for OBJ. --- src/ifcconvert/IfcConvert.cpp | 58 ++++++++--------------- src/ifcconvert/WavefrontObjSerializer.cpp | 6 +-- src/ifcconvert/WavefrontObjSerializer.h | 1 + src/ifcgeom/IfcGeomIterator.h | 30 +++++++++++- 4 files changed, 53 insertions(+), 42 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 86ec41f731..3aa28b77ff 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -47,10 +47,6 @@ #include #include -#define INF std::numeric_limits::infinity() -real_t bounds_min[3] = { INF, INF, INF }; -real_t bounds_max[3] = { -INF, -INF, -INF }; - #if USE_VLD #include #endif @@ -198,8 +194,8 @@ int main(int argc, char** argv) { "Use material names instead of unique IDs for naming materials upon serialization. " "Applicable for OBJ and DAE output.") ("center-model", - "Centers the models upon serialization by applying the center point of " - "the scene bounds as an offset. Applicable only for DAE output currently."); + "Centers the elements upon serialization by applying the center point of " + "all placements as an offset. Applicable for OBJ and DAE output."); boost::program_options::options_description cmdline_options; cmdline_options.add(generic_options).add(fileio_options).add(geom_options).add(serializer_options); @@ -375,21 +371,18 @@ int main(int argc, char** argv) { return 1; } - if (output_extension != ".dae") { - if (center_model) { - Logger::Message(Logger::LOG_NOTICE, "--center-model setting ignored for non-DAE output"); - settings.set(IfcGeom::IteratorSettings::CENTER_MODEL, false); - center_model = false; - } - } - - if (!serializer->isTesselated()) { + const bool is_tesselated = serializer->isTesselated(); // isTesselated() doesn't change at run-time + if (!is_tesselated) { if (weld_vertices) { Logger::Message(Logger::LOG_NOTICE, "Weld vertices setting ignored when writing non-tesselated output"); } if (generate_uvs) { Logger::Message(Logger::LOG_NOTICE, "Generate UVs setting ignored when writing non-tesselated output"); } + if (center_model) { + Logger::Message(Logger::LOG_NOTICE, "Center model setting ignored when writing non-tesselated output"); + } + settings.set(IfcGeom::IteratorSettings::DISABLE_TRIANGULATION, true); } @@ -453,42 +446,31 @@ int main(int argc, char** argv) { const int progress = context_iterator.progress() / 2; if (old_progress != progress) Logger::ProgressBar(progress); old_progress = progress; - - if (center_model) { - const std::vector& pos = geom_object->transformation().matrix().data(); - bounds_min[0] = std::min(bounds_min[0], pos[9]); - bounds_min[1] = std::min(bounds_min[1], pos[10]); - bounds_min[2] = std::min(bounds_min[2], pos[11]); - bounds_max[0] = std::max(bounds_max[0], pos[9]); - bounds_max[1] = std::max(bounds_max[1], pos[10]); - bounds_max[2] = std::max(bounds_max[2], pos[11]); - } } while (context_iterator.next()); Logger::Status("\rDone creating geometry (" + boost::lexical_cast(geometries.size()) + " objects) "); if (center_model) { - settings.offset[0] = -(bounds_min[0] + bounds_max[0]) * real_t(0.5); - settings.offset[1] = -(bounds_min[1] + bounds_max[1]) * real_t(0.5); - settings.offset[2] = -(bounds_min[2] + bounds_max[2]) * real_t(0.5); - //printf("Bounds min. (%g, %g, %g)\n", bounds_min[0], bounds_min[1], bounds_min[2]); - //printf("Bounds max. (%g, %g, %g)\n", bounds_max[0], bounds_max[1], bounds_max[2]); - printf("Using model offset (%g, %g, %g)\n", settings.offset[0], settings.offset[1], settings.offset[2]); //TODO Logger::Message(Logger::LOG_NOTICE, ...); + double* offset = serializer->settings().offset; + gp_XYZ center = (context_iterator.bounds_min() + context_iterator.bounds_max()) * 0.5; + offset[0] = -center.X(); + offset[1] = -center.Y(); + offset[2] = -center.Z(); + //printf("Bounds min. (%g, %g, %g)\n", context_iterator.bounds_min().X(), context_iterator.bounds_min().Y(), context_iterator.bounds_min().Z()); + //printf("Bounds max. (%g, %g, %g)\n", context_iterator.bounds_min().X(), context_iterator.bounds_min().X(), context_iterator.bounds_min().Z()); + printf("Using model offset (%g, %g, %g)\n", offset[0], offset[1], offset[2]); //TODO Logger::Message(Logger::LOG_NOTICE, ...); } Logger::Status("Serializing geometry..."); - if (serializer->isTesselated()) { // isTesselated() doesn't change at run-time - foreach(const IfcGeom::Element* geom, geometries) { + foreach(const IfcGeom::Element* geom, geometries) { + if (is_tesselated) { serializer->write(static_cast*>(geom)); - delete geom; - } - } else { - foreach(const IfcGeom::Element* geom, geometries) { + } else { serializer->write(static_cast*>(geom)); - delete geom; } + delete geom; } serializer->finalize(); diff --git a/src/ifcconvert/WavefrontObjSerializer.cpp b/src/ifcconvert/WavefrontObjSerializer.cpp index 896edef76e..3be2357f39 100644 --- a/src/ifcconvert/WavefrontObjSerializer.cpp +++ b/src/ifcconvert/WavefrontObjSerializer.cpp @@ -84,9 +84,9 @@ void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement* const int vcount = (int)mesh.verts().size() / 3; for ( std::vector::const_iterator it = mesh.verts().begin(); it != mesh.verts().end(); ) { - const real_t x = *(it++); - const real_t y = *(it++); - const real_t z = *(it++); + const real_t x = *(it++) + (real_t)settings().offset[0]; + const real_t y = *(it++) + (real_t)settings().offset[1]; + const real_t z = *(it++) + (real_t)settings().offset[2]; obj_stream << "v " << x << " " << y << " " << z << "\n"; } diff --git a/src/ifcconvert/WavefrontObjSerializer.h b/src/ifcconvert/WavefrontObjSerializer.h index c8e87f6cdd..52117c62a3 100644 --- a/src/ifcconvert/WavefrontObjSerializer.h +++ b/src/ifcconvert/WavefrontObjSerializer.h @@ -26,6 +26,7 @@ #include "../ifcconvert/GeometrySerializer.h" +// http://people.sc.fsu.edu/~jburkardt/txt/obj_format.txt class WaveFrontOBJSerializer : public GeometrySerializer { private: const std::string mtl_filename; diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index df554fe607..ab3eec863c 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -113,6 +113,8 @@ namespace IfcGeom { std::string unit_name; // double? P unit_magnitude; + gp_XYZ bounds_min_; + gp_XYZ bounds_max_; void initUnits() { IfcSchema::IfcProject::list::ptr projects = ifc_file->entitiesByType(); @@ -251,6 +253,28 @@ namespace IfcGeom { done = 0; total = representations->size(); + for (int i = 1; i < 4; ++i) { + bounds_min_.SetCoord(i, std::numeric_limits::infinity()); + bounds_max_.SetCoord(i, -std::numeric_limits::infinity()); + } + + IfcSchema::IfcProduct::list::ptr products = ifc_file->entitiesByType(); + for (IfcSchema::IfcProduct::list::it iter = products->begin(); iter != products->end(); ++iter) { + IfcSchema::IfcProduct* product = *iter; + if (product->hasObjectPlacement()) { + gp_Trsf trsf; // Use a fresh trsf every time in order to prevent the result to be concatenated + if (kernel.convert(product->ObjectPlacement(), trsf)) { + const gp_XYZ& pos = trsf.TranslationPart(); + bounds_min_.SetX(std::min(bounds_min_.X(), pos.X())); + bounds_min_.SetY(std::min(bounds_min_.Y(), pos.Y())); + bounds_min_.SetZ(std::min(bounds_min_.Z(), pos.Z())); + bounds_max_.SetX(std::max(bounds_max_.X(), pos.X())); + bounds_max_.SetY(std::max(bounds_max_.Y(), pos.Y())); + bounds_max_.SetZ(std::max(bounds_max_.Z(), pos.Z())); + } + } + } + return true; } @@ -294,6 +318,9 @@ namespace IfcGeom { include_entities_in_processing = false; } + const gp_XYZ& bounds_min() const { return bounds_min_; } + const gp_XYZ& bounds_max() const { return bounds_max_; } + private: // Move to the next IfcRepresentation void _nextShape() { @@ -484,7 +511,8 @@ namespace IfcGeom { unit_magnitude = 1.f; kernel.setValue(IfcGeom::Kernel::GV_MAX_FACES_TO_SEW, settings.get(IteratorSettings::SEW_SHELLS) ? 1000 : -1); - kernel.setValue(IfcGeom::Kernel::GV_DIMENSIONALITY, (settings.get(IteratorSettings::INCLUDE_CURVES) ? (settings.get(IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES) ? -1. : 0.) : +1.)); + kernel.setValue(IfcGeom::Kernel::GV_DIMENSIONALITY, (settings.get(IteratorSettings::INCLUDE_CURVES) + ? (settings.get(IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES) ? -1. : 0.) : +1.)); } bool owns_ifc_file; From 0ceef8fe6781ecb0be84ad13c1fc690fa62ffb8f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 18 Mar 2016 11:14:14 +0100 Subject: [PATCH 125/157] Use constant time parent enumeration lookup --- src/ifcexpressparser/implementation.py | 15 +- src/ifcexpressparser/templates.py | 32 +- src/ifcparse/Ifc2x3-latebound.cpp | 16 +- src/ifcparse/Ifc2x3.cpp | 563 +------------------ src/ifcparse/Ifc2x3enum.h | 4 +- src/ifcparse/Ifc4-latebound.cpp | 16 +- src/ifcparse/Ifc4.cpp | 718 +------------------------ src/ifcparse/Ifc4enum.h | 4 +- src/ifcparse/IfcLateBoundEntity.cpp | 4 +- src/ifcparse/IfcParse.cpp | 23 +- 10 files changed, 103 insertions(+), 1292 deletions(-) diff --git a/src/ifcexpressparser/implementation.py b/src/ifcexpressparser/implementation.py index f26581cf0e..7900a139a8 100644 --- a/src/ifcexpressparser/implementation.py +++ b/src/ifcexpressparser/implementation.py @@ -167,12 +167,15 @@ class Implementation(codegen.Base): 'name' : name, 'padding' : ' ' * (max_len - len(name)) } for name in enumerable_types] + + enumeration_index_by_str = dict((j,i) for i,j in enumerate(enumerable_types)) + def get_parent_id(s): + e = mapping.schema.entities.get(s) + if e and e.supertypes: + return enumeration_index_by_str[e.supertypes[0]] + else: return -1 - parent_type_statements = [templates.parent_type_stmt % { - 'name' : name, - 'parent' : type.supertypes[0], - 'padding' : ' ' * (max_len - len(name)) - } for name, type in mapping.schema.entities.items() if type.supertypes and len(type.supertypes) == 1] + parent_type_statements = ",".join(map(str, map(get_parent_id, enumerable_types))) max_id = len(enumerable_types) @@ -225,7 +228,7 @@ class Implementation(codegen.Base): 'type_name_strings' : type_name_strings, 'string_map_statements' : catnl(string_map_statements), 'simple_type_statement' : simple_type_statements, - 'parent_type_statements' : catnl(parent_type_statements), + 'parent_type_statements' : parent_type_statements, 'entity_implementations' : catnl(entity_implementations), 'simple_type_impl' : catnl(simple_type_impl) } diff --git a/src/ifcexpressparser/templates.py b/src/ifcexpressparser/templates.py index 0ae336fe72..4e84e36426 100644 --- a/src/ifcexpressparser/templates.py +++ b/src/ifcexpressparser/templates.py @@ -62,6 +62,8 @@ enum_header = """ #ifndef %(schema_name_upper)sENUM_H #define %(schema_name_upper)sENUM_H +#include + #define IfcSchema %(schema_name)s namespace %(schema_name)s { @@ -70,7 +72,7 @@ namespace Type { typedef enum { %(types)s, UNDEFINED } Enum; - Enum Parent(Enum v); + boost::optional Parent(Enum v); Enum FromString(const std::string& s); std::string ToString(Enum v); bool IsSimple(Enum v); @@ -146,10 +148,14 @@ Type::Enum Type::FromString(const std::string& s) { else return it->second; } -Type::Enum Type::Parent(Enum v){ - if (v < 0 || v >= %(max_id)d) return (Enum)-1; -%(parent_type_statements)s - return (Enum)-1; +static int parent_map[] = {%(parent_type_statements)s}; +boost::optional Type::Parent(Enum v){ + const int p = parent_map[static_cast(v)]; + if (p >= 0) { + return static_cast(p); + } else { + return boost::none; + } } bool Type::IsSimple(Enum v) { @@ -282,7 +288,13 @@ std::pair Type::GetInverseAttribute(Enum t, const std::str return jt->second; } } - if ((t = Parent(t)) == -1) break; + boost::optional pt = Parent(t); + if (pt) { + t = *pt; + } + else { + break; + } } throw IfcException("Attribute not found"); } @@ -301,7 +313,13 @@ std::set Type::GetInverseAttributeNames(Enum t) { return_value.insert(jt->first); } } - if ((t = Parent(t)) == -1) break; + boost::optional pt = Parent(t); + if (pt) { + t = *pt; + } + else { + break; + } } return return_value; diff --git a/src/ifcparse/Ifc2x3-latebound.cpp b/src/ifcparse/Ifc2x3-latebound.cpp index fcc21020e0..6cfb2675f1 100644 --- a/src/ifcparse/Ifc2x3-latebound.cpp +++ b/src/ifcparse/Ifc2x3-latebound.cpp @@ -4258,7 +4258,13 @@ std::pair Type::GetInverseAttribute(Enum t, const std::str return jt->second; } } - if ((t = Parent(t)) == -1) break; + boost::optional pt = Parent(t); + if (pt) { + t = *pt; + } + else { + break; + } } throw IfcException("Attribute not found"); } @@ -4277,7 +4283,13 @@ std::set Type::GetInverseAttributeNames(Enum t) { return_value.insert(jt->first); } } - if ((t = Parent(t)) == -1) break; + boost::optional pt = Parent(t); + if (pt) { + t = *pt; + } + else { + break; + } } return return_value; diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index 51f6f7941d..b10bd81c51 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -1810,561 +1810,14 @@ Type::Enum Type::FromString(const std::string& s) { else return it->second; } -Type::Enum Type::Parent(Enum v){ - if (v < 0 || v >= 980) return (Enum)-1; - if(v==Ifc2DCompositeCurve ) { return IfcCompositeCurve; } - if(v==IfcActionRequest ) { return IfcControl; } - if(v==IfcActor ) { return IfcObject; } - if(v==IfcActuatorType ) { return IfcDistributionControlElementType; } - if(v==IfcAirTerminalBoxType ) { return IfcFlowControllerType; } - if(v==IfcAirTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcAirToAirHeatRecoveryType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcAlarmType ) { return IfcDistributionControlElementType; } - if(v==IfcAngularDimension ) { return IfcDimensionCurveDirectedCallout; } - if(v==IfcAnnotation ) { return IfcProduct; } - if(v==IfcAnnotationCurveOccurrence ) { return IfcAnnotationOccurrence; } - if(v==IfcAnnotationFillArea ) { return IfcGeometricRepresentationItem; } - if(v==IfcAnnotationFillAreaOccurrence ) { return IfcAnnotationOccurrence; } - if(v==IfcAnnotationOccurrence ) { return IfcStyledItem; } - if(v==IfcAnnotationSurface ) { return IfcGeometricRepresentationItem; } - if(v==IfcAnnotationSurfaceOccurrence ) { return IfcAnnotationOccurrence; } - if(v==IfcAnnotationSymbolOccurrence ) { return IfcAnnotationOccurrence; } - if(v==IfcAnnotationTextOccurrence ) { return IfcAnnotationOccurrence; } - if(v==IfcArbitraryClosedProfileDef ) { return IfcProfileDef; } - if(v==IfcArbitraryOpenProfileDef ) { return IfcProfileDef; } - if(v==IfcArbitraryProfileDefWithVoids ) { return IfcArbitraryClosedProfileDef; } - if(v==IfcAsset ) { return IfcGroup; } - if(v==IfcAsymmetricIShapeProfileDef ) { return IfcIShapeProfileDef; } - if(v==IfcAxis1Placement ) { return IfcPlacement; } - if(v==IfcAxis2Placement2D ) { return IfcPlacement; } - if(v==IfcAxis2Placement3D ) { return IfcPlacement; } - if(v==IfcBSplineCurve ) { return IfcBoundedCurve; } - if(v==IfcBeam ) { return IfcBuildingElement; } - if(v==IfcBeamType ) { return IfcBuildingElementType; } - if(v==IfcBezierCurve ) { return IfcBSplineCurve; } - if(v==IfcBlobTexture ) { return IfcSurfaceTexture; } - if(v==IfcBlock ) { return IfcCsgPrimitive3D; } - if(v==IfcBoilerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcBooleanClippingResult ) { return IfcBooleanResult; } - if(v==IfcBooleanResult ) { return IfcGeometricRepresentationItem; } - if(v==IfcBoundaryEdgeCondition ) { return IfcBoundaryCondition; } - if(v==IfcBoundaryFaceCondition ) { return IfcBoundaryCondition; } - if(v==IfcBoundaryNodeCondition ) { return IfcBoundaryCondition; } - if(v==IfcBoundaryNodeConditionWarping ) { return IfcBoundaryNodeCondition; } - if(v==IfcBoundedCurve ) { return IfcCurve; } - if(v==IfcBoundedSurface ) { return IfcSurface; } - if(v==IfcBoundingBox ) { return IfcGeometricRepresentationItem; } - if(v==IfcBoxedHalfSpace ) { return IfcHalfSpaceSolid; } - if(v==IfcBuilding ) { return IfcSpatialStructureElement; } - if(v==IfcBuildingElement ) { return IfcElement; } - if(v==IfcBuildingElementComponent ) { return IfcBuildingElement; } - if(v==IfcBuildingElementPart ) { return IfcBuildingElementComponent; } - if(v==IfcBuildingElementProxy ) { return IfcBuildingElement; } - if(v==IfcBuildingElementProxyType ) { return IfcBuildingElementType; } - if(v==IfcBuildingElementType ) { return IfcElementType; } - if(v==IfcBuildingStorey ) { return IfcSpatialStructureElement; } - if(v==IfcCShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcCableCarrierFittingType ) { return IfcFlowFittingType; } - if(v==IfcCableCarrierSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcCableSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcCartesianPoint ) { return IfcPoint; } - if(v==IfcCartesianTransformationOperator ) { return IfcGeometricRepresentationItem; } - if(v==IfcCartesianTransformationOperator2D ) { return IfcCartesianTransformationOperator; } - if(v==IfcCartesianTransformationOperator2DnonUniform) { return IfcCartesianTransformationOperator2D; } - if(v==IfcCartesianTransformationOperator3D ) { return IfcCartesianTransformationOperator; } - if(v==IfcCartesianTransformationOperator3DnonUniform) { return IfcCartesianTransformationOperator3D; } - if(v==IfcCenterLineProfileDef ) { return IfcArbitraryOpenProfileDef; } - if(v==IfcChamferEdgeFeature ) { return IfcEdgeFeature; } - if(v==IfcChillerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCircle ) { return IfcConic; } - if(v==IfcCircleHollowProfileDef ) { return IfcCircleProfileDef; } - if(v==IfcCircleProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcClassificationReference ) { return IfcExternalReference; } - if(v==IfcClosedShell ) { return IfcConnectedFaceSet; } - if(v==IfcCoilType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcColourRgb ) { return IfcColourSpecification; } - if(v==IfcColumn ) { return IfcBuildingElement; } - if(v==IfcColumnType ) { return IfcBuildingElementType; } - if(v==IfcComplexProperty ) { return IfcProperty; } - if(v==IfcCompositeCurve ) { return IfcBoundedCurve; } - if(v==IfcCompositeCurveSegment ) { return IfcGeometricRepresentationItem; } - if(v==IfcCompositeProfileDef ) { return IfcProfileDef; } - if(v==IfcCompressorType ) { return IfcFlowMovingDeviceType; } - if(v==IfcCondenserType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCondition ) { return IfcGroup; } - if(v==IfcConditionCriterion ) { return IfcControl; } - if(v==IfcConic ) { return IfcCurve; } - if(v==IfcConnectedFaceSet ) { return IfcTopologicalRepresentationItem; } - if(v==IfcConnectionCurveGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConnectionPointEccentricity ) { return IfcConnectionPointGeometry; } - if(v==IfcConnectionPointGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConnectionPortGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConnectionSurfaceGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConstructionEquipmentResource ) { return IfcConstructionResource; } - if(v==IfcConstructionMaterialResource ) { return IfcConstructionResource; } - if(v==IfcConstructionProductResource ) { return IfcConstructionResource; } - if(v==IfcConstructionResource ) { return IfcResource; } - if(v==IfcContextDependentUnit ) { return IfcNamedUnit; } - if(v==IfcControl ) { return IfcObject; } - if(v==IfcControllerType ) { return IfcDistributionControlElementType; } - if(v==IfcConversionBasedUnit ) { return IfcNamedUnit; } - if(v==IfcCooledBeamType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCoolingTowerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCostItem ) { return IfcControl; } - if(v==IfcCostSchedule ) { return IfcControl; } - if(v==IfcCostValue ) { return IfcAppliedValue; } - if(v==IfcCovering ) { return IfcBuildingElement; } - if(v==IfcCoveringType ) { return IfcBuildingElementType; } - if(v==IfcCraneRailAShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcCraneRailFShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcCrewResource ) { return IfcConstructionResource; } - if(v==IfcCsgPrimitive3D ) { return IfcGeometricRepresentationItem; } - if(v==IfcCsgSolid ) { return IfcSolidModel; } - if(v==IfcCurtainWall ) { return IfcBuildingElement; } - if(v==IfcCurtainWallType ) { return IfcBuildingElementType; } - if(v==IfcCurve ) { return IfcGeometricRepresentationItem; } - if(v==IfcCurveBoundedPlane ) { return IfcBoundedSurface; } - if(v==IfcCurveStyle ) { return IfcPresentationStyle; } - if(v==IfcDamperType ) { return IfcFlowControllerType; } - if(v==IfcDefinedSymbol ) { return IfcGeometricRepresentationItem; } - if(v==IfcDerivedProfileDef ) { return IfcProfileDef; } - if(v==IfcDiameterDimension ) { return IfcDimensionCurveDirectedCallout; } - if(v==IfcDimensionCalloutRelationship ) { return IfcDraughtingCalloutRelationship; } - if(v==IfcDimensionCurve ) { return IfcAnnotationCurveOccurrence; } - if(v==IfcDimensionCurveDirectedCallout ) { return IfcDraughtingCallout; } - if(v==IfcDimensionCurveTerminator ) { return IfcTerminatorSymbol; } - if(v==IfcDimensionPair ) { return IfcDraughtingCalloutRelationship; } - if(v==IfcDirection ) { return IfcGeometricRepresentationItem; } - if(v==IfcDiscreteAccessory ) { return IfcElementComponent; } - if(v==IfcDiscreteAccessoryType ) { return IfcElementComponentType; } - if(v==IfcDistributionChamberElement ) { return IfcDistributionFlowElement; } - if(v==IfcDistributionChamberElementType ) { return IfcDistributionFlowElementType; } - if(v==IfcDistributionControlElement ) { return IfcDistributionElement; } - if(v==IfcDistributionControlElementType ) { return IfcDistributionElementType; } - if(v==IfcDistributionElement ) { return IfcElement; } - if(v==IfcDistributionElementType ) { return IfcElementType; } - if(v==IfcDistributionFlowElement ) { return IfcDistributionElement; } - if(v==IfcDistributionFlowElementType ) { return IfcDistributionElementType; } - if(v==IfcDistributionPort ) { return IfcPort; } - if(v==IfcDocumentReference ) { return IfcExternalReference; } - if(v==IfcDoor ) { return IfcBuildingElement; } - if(v==IfcDoorLiningProperties ) { return IfcPropertySetDefinition; } - if(v==IfcDoorPanelProperties ) { return IfcPropertySetDefinition; } - if(v==IfcDoorStyle ) { return IfcTypeProduct; } - if(v==IfcDraughtingCallout ) { return IfcGeometricRepresentationItem; } - if(v==IfcDraughtingPreDefinedColour ) { return IfcPreDefinedColour; } - if(v==IfcDraughtingPreDefinedCurveFont ) { return IfcPreDefinedCurveFont; } - if(v==IfcDraughtingPreDefinedTextFont ) { return IfcPreDefinedTextFont; } - if(v==IfcDuctFittingType ) { return IfcFlowFittingType; } - if(v==IfcDuctSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcDuctSilencerType ) { return IfcFlowTreatmentDeviceType; } - if(v==IfcEdge ) { return IfcTopologicalRepresentationItem; } - if(v==IfcEdgeCurve ) { return IfcEdge; } - if(v==IfcEdgeFeature ) { return IfcFeatureElementSubtraction; } - if(v==IfcEdgeLoop ) { return IfcLoop; } - if(v==IfcElectricApplianceType ) { return IfcFlowTerminalType; } - if(v==IfcElectricDistributionPoint ) { return IfcFlowController; } - if(v==IfcElectricFlowStorageDeviceType ) { return IfcFlowStorageDeviceType; } - if(v==IfcElectricGeneratorType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcElectricHeaterType ) { return IfcFlowTerminalType; } - if(v==IfcElectricMotorType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcElectricTimeControlType ) { return IfcFlowControllerType; } - if(v==IfcElectricalBaseProperties ) { return IfcEnergyProperties; } - if(v==IfcElectricalCircuit ) { return IfcSystem; } - if(v==IfcElectricalElement ) { return IfcElement; } - if(v==IfcElement ) { return IfcProduct; } - if(v==IfcElementAssembly ) { return IfcElement; } - if(v==IfcElementComponent ) { return IfcElement; } - if(v==IfcElementComponentType ) { return IfcElementType; } - if(v==IfcElementQuantity ) { return IfcPropertySetDefinition; } - if(v==IfcElementType ) { return IfcTypeProduct; } - if(v==IfcElementarySurface ) { return IfcSurface; } - if(v==IfcEllipse ) { return IfcConic; } - if(v==IfcEllipseProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcEnergyConversionDevice ) { return IfcDistributionFlowElement; } - if(v==IfcEnergyConversionDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcEnergyProperties ) { return IfcPropertySetDefinition; } - if(v==IfcEnvironmentalImpactValue ) { return IfcAppliedValue; } - if(v==IfcEquipmentElement ) { return IfcElement; } - if(v==IfcEquipmentStandard ) { return IfcControl; } - if(v==IfcEvaporativeCoolerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcEvaporatorType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcExtendedMaterialProperties ) { return IfcMaterialProperties; } - if(v==IfcExternallyDefinedHatchStyle ) { return IfcExternalReference; } - if(v==IfcExternallyDefinedSurfaceStyle ) { return IfcExternalReference; } - if(v==IfcExternallyDefinedSymbol ) { return IfcExternalReference; } - if(v==IfcExternallyDefinedTextFont ) { return IfcExternalReference; } - if(v==IfcExtrudedAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcFace ) { return IfcTopologicalRepresentationItem; } - if(v==IfcFaceBasedSurfaceModel ) { return IfcGeometricRepresentationItem; } - if(v==IfcFaceBound ) { return IfcTopologicalRepresentationItem; } - if(v==IfcFaceOuterBound ) { return IfcFaceBound; } - if(v==IfcFaceSurface ) { return IfcFace; } - if(v==IfcFacetedBrep ) { return IfcManifoldSolidBrep; } - if(v==IfcFacetedBrepWithVoids ) { return IfcManifoldSolidBrep; } - if(v==IfcFailureConnectionCondition ) { return IfcStructuralConnectionCondition; } - if(v==IfcFanType ) { return IfcFlowMovingDeviceType; } - if(v==IfcFastener ) { return IfcElementComponent; } - if(v==IfcFastenerType ) { return IfcElementComponentType; } - if(v==IfcFeatureElement ) { return IfcElement; } - if(v==IfcFeatureElementAddition ) { return IfcFeatureElement; } - if(v==IfcFeatureElementSubtraction ) { return IfcFeatureElement; } - if(v==IfcFillAreaStyle ) { return IfcPresentationStyle; } - if(v==IfcFillAreaStyleHatching ) { return IfcGeometricRepresentationItem; } - if(v==IfcFillAreaStyleTileSymbolWithStyle ) { return IfcGeometricRepresentationItem; } - if(v==IfcFillAreaStyleTiles ) { return IfcGeometricRepresentationItem; } - if(v==IfcFilterType ) { return IfcFlowTreatmentDeviceType; } - if(v==IfcFireSuppressionTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcFlowController ) { return IfcDistributionFlowElement; } - if(v==IfcFlowControllerType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowFitting ) { return IfcDistributionFlowElement; } - if(v==IfcFlowFittingType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowInstrumentType ) { return IfcDistributionControlElementType; } - if(v==IfcFlowMeterType ) { return IfcFlowControllerType; } - if(v==IfcFlowMovingDevice ) { return IfcDistributionFlowElement; } - if(v==IfcFlowMovingDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowSegment ) { return IfcDistributionFlowElement; } - if(v==IfcFlowSegmentType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowStorageDevice ) { return IfcDistributionFlowElement; } - if(v==IfcFlowStorageDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowTerminal ) { return IfcDistributionFlowElement; } - if(v==IfcFlowTerminalType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowTreatmentDevice ) { return IfcDistributionFlowElement; } - if(v==IfcFlowTreatmentDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcFluidFlowProperties ) { return IfcPropertySetDefinition; } - if(v==IfcFooting ) { return IfcBuildingElement; } - if(v==IfcFuelProperties ) { return IfcMaterialProperties; } - if(v==IfcFurnishingElement ) { return IfcElement; } - if(v==IfcFurnishingElementType ) { return IfcElementType; } - if(v==IfcFurnitureStandard ) { return IfcControl; } - if(v==IfcFurnitureType ) { return IfcFurnishingElementType; } - if(v==IfcGasTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcGeneralMaterialProperties ) { return IfcMaterialProperties; } - if(v==IfcGeneralProfileProperties ) { return IfcProfileProperties; } - if(v==IfcGeometricCurveSet ) { return IfcGeometricSet; } - if(v==IfcGeometricRepresentationContext ) { return IfcRepresentationContext; } - if(v==IfcGeometricRepresentationItem ) { return IfcRepresentationItem; } - if(v==IfcGeometricRepresentationSubContext ) { return IfcGeometricRepresentationContext; } - if(v==IfcGeometricSet ) { return IfcGeometricRepresentationItem; } - if(v==IfcGrid ) { return IfcProduct; } - if(v==IfcGridPlacement ) { return IfcObjectPlacement; } - if(v==IfcGroup ) { return IfcObject; } - if(v==IfcHalfSpaceSolid ) { return IfcGeometricRepresentationItem; } - if(v==IfcHeatExchangerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcHumidifierType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcHygroscopicMaterialProperties ) { return IfcMaterialProperties; } - if(v==IfcIShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcImageTexture ) { return IfcSurfaceTexture; } - if(v==IfcInventory ) { return IfcGroup; } - if(v==IfcIrregularTimeSeries ) { return IfcTimeSeries; } - if(v==IfcJunctionBoxType ) { return IfcFlowFittingType; } - if(v==IfcLShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcLaborResource ) { return IfcConstructionResource; } - if(v==IfcLampType ) { return IfcFlowTerminalType; } - if(v==IfcLibraryReference ) { return IfcExternalReference; } - if(v==IfcLightFixtureType ) { return IfcFlowTerminalType; } - if(v==IfcLightSource ) { return IfcGeometricRepresentationItem; } - if(v==IfcLightSourceAmbient ) { return IfcLightSource; } - if(v==IfcLightSourceDirectional ) { return IfcLightSource; } - if(v==IfcLightSourceGoniometric ) { return IfcLightSource; } - if(v==IfcLightSourcePositional ) { return IfcLightSource; } - if(v==IfcLightSourceSpot ) { return IfcLightSourcePositional; } - if(v==IfcLine ) { return IfcCurve; } - if(v==IfcLinearDimension ) { return IfcDimensionCurveDirectedCallout; } - if(v==IfcLocalPlacement ) { return IfcObjectPlacement; } - if(v==IfcLoop ) { return IfcTopologicalRepresentationItem; } - if(v==IfcManifoldSolidBrep ) { return IfcSolidModel; } - if(v==IfcMappedItem ) { return IfcRepresentationItem; } - if(v==IfcMaterialDefinitionRepresentation ) { return IfcProductRepresentation; } - if(v==IfcMechanicalConcreteMaterialProperties ) { return IfcMechanicalMaterialProperties; } - if(v==IfcMechanicalFastener ) { return IfcFastener; } - if(v==IfcMechanicalFastenerType ) { return IfcFastenerType; } - if(v==IfcMechanicalMaterialProperties ) { return IfcMaterialProperties; } - if(v==IfcMechanicalSteelMaterialProperties ) { return IfcMechanicalMaterialProperties; } - if(v==IfcMember ) { return IfcBuildingElement; } - if(v==IfcMemberType ) { return IfcBuildingElementType; } - if(v==IfcMetric ) { return IfcConstraint; } - if(v==IfcMotorConnectionType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcMove ) { return IfcTask; } - if(v==IfcObject ) { return IfcObjectDefinition; } - if(v==IfcObjectDefinition ) { return IfcRoot; } - if(v==IfcObjective ) { return IfcConstraint; } - if(v==IfcOccupant ) { return IfcActor; } - if(v==IfcOffsetCurve2D ) { return IfcCurve; } - if(v==IfcOffsetCurve3D ) { return IfcCurve; } - if(v==IfcOneDirectionRepeatFactor ) { return IfcGeometricRepresentationItem; } - if(v==IfcOpenShell ) { return IfcConnectedFaceSet; } - if(v==IfcOpeningElement ) { return IfcFeatureElementSubtraction; } - if(v==IfcOpticalMaterialProperties ) { return IfcMaterialProperties; } - if(v==IfcOrderAction ) { return IfcTask; } - if(v==IfcOrientedEdge ) { return IfcEdge; } - if(v==IfcOutletType ) { return IfcFlowTerminalType; } - if(v==IfcParameterizedProfileDef ) { return IfcProfileDef; } - if(v==IfcPath ) { return IfcTopologicalRepresentationItem; } - if(v==IfcPerformanceHistory ) { return IfcControl; } - if(v==IfcPermeableCoveringProperties ) { return IfcPropertySetDefinition; } - if(v==IfcPermit ) { return IfcControl; } - if(v==IfcPhysicalComplexQuantity ) { return IfcPhysicalQuantity; } - if(v==IfcPhysicalSimpleQuantity ) { return IfcPhysicalQuantity; } - if(v==IfcPile ) { return IfcBuildingElement; } - if(v==IfcPipeFittingType ) { return IfcFlowFittingType; } - if(v==IfcPipeSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcPixelTexture ) { return IfcSurfaceTexture; } - if(v==IfcPlacement ) { return IfcGeometricRepresentationItem; } - if(v==IfcPlanarBox ) { return IfcPlanarExtent; } - if(v==IfcPlanarExtent ) { return IfcGeometricRepresentationItem; } - if(v==IfcPlane ) { return IfcElementarySurface; } - if(v==IfcPlate ) { return IfcBuildingElement; } - if(v==IfcPlateType ) { return IfcBuildingElementType; } - if(v==IfcPoint ) { return IfcGeometricRepresentationItem; } - if(v==IfcPointOnCurve ) { return IfcPoint; } - if(v==IfcPointOnSurface ) { return IfcPoint; } - if(v==IfcPolyLoop ) { return IfcLoop; } - if(v==IfcPolygonalBoundedHalfSpace ) { return IfcHalfSpaceSolid; } - if(v==IfcPolyline ) { return IfcBoundedCurve; } - if(v==IfcPort ) { return IfcProduct; } - if(v==IfcPostalAddress ) { return IfcAddress; } - if(v==IfcPreDefinedColour ) { return IfcPreDefinedItem; } - if(v==IfcPreDefinedCurveFont ) { return IfcPreDefinedItem; } - if(v==IfcPreDefinedDimensionSymbol ) { return IfcPreDefinedSymbol; } - if(v==IfcPreDefinedPointMarkerSymbol ) { return IfcPreDefinedSymbol; } - if(v==IfcPreDefinedSymbol ) { return IfcPreDefinedItem; } - if(v==IfcPreDefinedTerminatorSymbol ) { return IfcPreDefinedSymbol; } - if(v==IfcPreDefinedTextFont ) { return IfcPreDefinedItem; } - if(v==IfcPresentationLayerWithStyle ) { return IfcPresentationLayerAssignment; } - if(v==IfcProcedure ) { return IfcProcess; } - if(v==IfcProcess ) { return IfcObject; } - if(v==IfcProduct ) { return IfcObject; } - if(v==IfcProductDefinitionShape ) { return IfcProductRepresentation; } - if(v==IfcProductsOfCombustionProperties ) { return IfcMaterialProperties; } - if(v==IfcProject ) { return IfcObject; } - if(v==IfcProjectOrder ) { return IfcControl; } - if(v==IfcProjectOrderRecord ) { return IfcControl; } - if(v==IfcProjectionCurve ) { return IfcAnnotationCurveOccurrence; } - if(v==IfcProjectionElement ) { return IfcFeatureElementAddition; } - if(v==IfcPropertyBoundedValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyDefinition ) { return IfcRoot; } - if(v==IfcPropertyEnumeratedValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyListValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyReferenceValue ) { return IfcSimpleProperty; } - if(v==IfcPropertySet ) { return IfcPropertySetDefinition; } - if(v==IfcPropertySetDefinition ) { return IfcPropertyDefinition; } - if(v==IfcPropertySingleValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyTableValue ) { return IfcSimpleProperty; } - if(v==IfcProtectiveDeviceType ) { return IfcFlowControllerType; } - if(v==IfcProxy ) { return IfcProduct; } - if(v==IfcPumpType ) { return IfcFlowMovingDeviceType; } - if(v==IfcQuantityArea ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityCount ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityLength ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityTime ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityVolume ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityWeight ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcRadiusDimension ) { return IfcDimensionCurveDirectedCallout; } - if(v==IfcRailing ) { return IfcBuildingElement; } - if(v==IfcRailingType ) { return IfcBuildingElementType; } - if(v==IfcRamp ) { return IfcBuildingElement; } - if(v==IfcRampFlight ) { return IfcBuildingElement; } - if(v==IfcRampFlightType ) { return IfcBuildingElementType; } - if(v==IfcRationalBezierCurve ) { return IfcBezierCurve; } - if(v==IfcRectangleHollowProfileDef ) { return IfcRectangleProfileDef; } - if(v==IfcRectangleProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcRectangularPyramid ) { return IfcCsgPrimitive3D; } - if(v==IfcRectangularTrimmedSurface ) { return IfcBoundedSurface; } - if(v==IfcRegularTimeSeries ) { return IfcTimeSeries; } - if(v==IfcReinforcementDefinitionProperties ) { return IfcPropertySetDefinition; } - if(v==IfcReinforcingBar ) { return IfcReinforcingElement; } - if(v==IfcReinforcingElement ) { return IfcBuildingElementComponent; } - if(v==IfcReinforcingMesh ) { return IfcReinforcingElement; } - if(v==IfcRelAggregates ) { return IfcRelDecomposes; } - if(v==IfcRelAssigns ) { return IfcRelationship; } - if(v==IfcRelAssignsTasks ) { return IfcRelAssignsToControl; } - if(v==IfcRelAssignsToActor ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToControl ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToGroup ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToProcess ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToProduct ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToProjectOrder ) { return IfcRelAssignsToControl; } - if(v==IfcRelAssignsToResource ) { return IfcRelAssigns; } - if(v==IfcRelAssociates ) { return IfcRelationship; } - if(v==IfcRelAssociatesAppliedValue ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesApproval ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesClassification ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesConstraint ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesDocument ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesLibrary ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesMaterial ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesProfileProperties ) { return IfcRelAssociates; } - if(v==IfcRelConnects ) { return IfcRelationship; } - if(v==IfcRelConnectsElements ) { return IfcRelConnects; } - if(v==IfcRelConnectsPathElements ) { return IfcRelConnectsElements; } - if(v==IfcRelConnectsPortToElement ) { return IfcRelConnects; } - if(v==IfcRelConnectsPorts ) { return IfcRelConnects; } - if(v==IfcRelConnectsStructuralActivity ) { return IfcRelConnects; } - if(v==IfcRelConnectsStructuralElement ) { return IfcRelConnects; } - if(v==IfcRelConnectsStructuralMember ) { return IfcRelConnects; } - if(v==IfcRelConnectsWithEccentricity ) { return IfcRelConnectsStructuralMember; } - if(v==IfcRelConnectsWithRealizingElements ) { return IfcRelConnectsElements; } - if(v==IfcRelContainedInSpatialStructure ) { return IfcRelConnects; } - if(v==IfcRelCoversBldgElements ) { return IfcRelConnects; } - if(v==IfcRelCoversSpaces ) { return IfcRelConnects; } - if(v==IfcRelDecomposes ) { return IfcRelationship; } - if(v==IfcRelDefines ) { return IfcRelationship; } - if(v==IfcRelDefinesByProperties ) { return IfcRelDefines; } - if(v==IfcRelDefinesByType ) { return IfcRelDefines; } - if(v==IfcRelFillsElement ) { return IfcRelConnects; } - if(v==IfcRelFlowControlElements ) { return IfcRelConnects; } - if(v==IfcRelInteractionRequirements ) { return IfcRelConnects; } - if(v==IfcRelNests ) { return IfcRelDecomposes; } - if(v==IfcRelOccupiesSpaces ) { return IfcRelAssignsToActor; } - if(v==IfcRelOverridesProperties ) { return IfcRelDefinesByProperties; } - if(v==IfcRelProjectsElement ) { return IfcRelConnects; } - if(v==IfcRelReferencedInSpatialStructure ) { return IfcRelConnects; } - if(v==IfcRelSchedulesCostItems ) { return IfcRelAssignsToControl; } - if(v==IfcRelSequence ) { return IfcRelConnects; } - if(v==IfcRelServicesBuildings ) { return IfcRelConnects; } - if(v==IfcRelSpaceBoundary ) { return IfcRelConnects; } - if(v==IfcRelVoidsElement ) { return IfcRelConnects; } - if(v==IfcRelationship ) { return IfcRoot; } - if(v==IfcResource ) { return IfcObject; } - if(v==IfcRevolvedAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcRibPlateProfileProperties ) { return IfcProfileProperties; } - if(v==IfcRightCircularCone ) { return IfcCsgPrimitive3D; } - if(v==IfcRightCircularCylinder ) { return IfcCsgPrimitive3D; } - if(v==IfcRoof ) { return IfcBuildingElement; } - if(v==IfcRoundedEdgeFeature ) { return IfcEdgeFeature; } - if(v==IfcRoundedRectangleProfileDef ) { return IfcRectangleProfileDef; } - if(v==IfcSIUnit ) { return IfcNamedUnit; } - if(v==IfcSanitaryTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcScheduleTimeControl ) { return IfcControl; } - if(v==IfcSectionedSpine ) { return IfcGeometricRepresentationItem; } - if(v==IfcSensorType ) { return IfcDistributionControlElementType; } - if(v==IfcServiceLife ) { return IfcControl; } - if(v==IfcServiceLifeFactor ) { return IfcPropertySetDefinition; } - if(v==IfcShapeModel ) { return IfcRepresentation; } - if(v==IfcShapeRepresentation ) { return IfcShapeModel; } - if(v==IfcShellBasedSurfaceModel ) { return IfcGeometricRepresentationItem; } - if(v==IfcSimpleProperty ) { return IfcProperty; } - if(v==IfcSite ) { return IfcSpatialStructureElement; } - if(v==IfcSlab ) { return IfcBuildingElement; } - if(v==IfcSlabType ) { return IfcBuildingElementType; } - if(v==IfcSlippageConnectionCondition ) { return IfcStructuralConnectionCondition; } - if(v==IfcSolidModel ) { return IfcGeometricRepresentationItem; } - if(v==IfcSoundProperties ) { return IfcPropertySetDefinition; } - if(v==IfcSoundValue ) { return IfcPropertySetDefinition; } - if(v==IfcSpace ) { return IfcSpatialStructureElement; } - if(v==IfcSpaceHeaterType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcSpaceProgram ) { return IfcControl; } - if(v==IfcSpaceThermalLoadProperties ) { return IfcPropertySetDefinition; } - if(v==IfcSpaceType ) { return IfcSpatialStructureElementType; } - if(v==IfcSpatialStructureElement ) { return IfcProduct; } - if(v==IfcSpatialStructureElementType ) { return IfcElementType; } - if(v==IfcSphere ) { return IfcCsgPrimitive3D; } - if(v==IfcStackTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcStair ) { return IfcBuildingElement; } - if(v==IfcStairFlight ) { return IfcBuildingElement; } - if(v==IfcStairFlightType ) { return IfcBuildingElementType; } - if(v==IfcStructuralAction ) { return IfcStructuralActivity; } - if(v==IfcStructuralActivity ) { return IfcProduct; } - if(v==IfcStructuralAnalysisModel ) { return IfcSystem; } - if(v==IfcStructuralConnection ) { return IfcStructuralItem; } - if(v==IfcStructuralCurveConnection ) { return IfcStructuralConnection; } - if(v==IfcStructuralCurveMember ) { return IfcStructuralMember; } - if(v==IfcStructuralCurveMemberVarying ) { return IfcStructuralCurveMember; } - if(v==IfcStructuralItem ) { return IfcProduct; } - if(v==IfcStructuralLinearAction ) { return IfcStructuralAction; } - if(v==IfcStructuralLinearActionVarying ) { return IfcStructuralLinearAction; } - if(v==IfcStructuralLoadGroup ) { return IfcGroup; } - if(v==IfcStructuralLoadLinearForce ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadPlanarForce ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadSingleDisplacement ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadSingleDisplacementDistortion ) { return IfcStructuralLoadSingleDisplacement; } - if(v==IfcStructuralLoadSingleForce ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadSingleForceWarping ) { return IfcStructuralLoadSingleForce; } - if(v==IfcStructuralLoadStatic ) { return IfcStructuralLoad; } - if(v==IfcStructuralLoadTemperature ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralMember ) { return IfcStructuralItem; } - if(v==IfcStructuralPlanarAction ) { return IfcStructuralAction; } - if(v==IfcStructuralPlanarActionVarying ) { return IfcStructuralPlanarAction; } - if(v==IfcStructuralPointAction ) { return IfcStructuralAction; } - if(v==IfcStructuralPointConnection ) { return IfcStructuralConnection; } - if(v==IfcStructuralPointReaction ) { return IfcStructuralReaction; } - if(v==IfcStructuralProfileProperties ) { return IfcGeneralProfileProperties; } - if(v==IfcStructuralReaction ) { return IfcStructuralActivity; } - if(v==IfcStructuralResultGroup ) { return IfcGroup; } - if(v==IfcStructuralSteelProfileProperties ) { return IfcStructuralProfileProperties; } - if(v==IfcStructuralSurfaceConnection ) { return IfcStructuralConnection; } - if(v==IfcStructuralSurfaceMember ) { return IfcStructuralMember; } - if(v==IfcStructuralSurfaceMemberVarying ) { return IfcStructuralSurfaceMember; } - if(v==IfcStructuredDimensionCallout ) { return IfcDraughtingCallout; } - if(v==IfcStyleModel ) { return IfcRepresentation; } - if(v==IfcStyledItem ) { return IfcRepresentationItem; } - if(v==IfcStyledRepresentation ) { return IfcStyleModel; } - if(v==IfcSubContractResource ) { return IfcConstructionResource; } - if(v==IfcSubedge ) { return IfcEdge; } - if(v==IfcSurface ) { return IfcGeometricRepresentationItem; } - if(v==IfcSurfaceCurveSweptAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcSurfaceOfLinearExtrusion ) { return IfcSweptSurface; } - if(v==IfcSurfaceOfRevolution ) { return IfcSweptSurface; } - if(v==IfcSurfaceStyle ) { return IfcPresentationStyle; } - if(v==IfcSurfaceStyleRendering ) { return IfcSurfaceStyleShading; } - if(v==IfcSweptAreaSolid ) { return IfcSolidModel; } - if(v==IfcSweptDiskSolid ) { return IfcSolidModel; } - if(v==IfcSweptSurface ) { return IfcSurface; } - if(v==IfcSwitchingDeviceType ) { return IfcFlowControllerType; } - if(v==IfcSymbolStyle ) { return IfcPresentationStyle; } - if(v==IfcSystem ) { return IfcGroup; } - if(v==IfcSystemFurnitureElementType ) { return IfcFurnishingElementType; } - if(v==IfcTShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcTankType ) { return IfcFlowStorageDeviceType; } - if(v==IfcTask ) { return IfcProcess; } - if(v==IfcTelecomAddress ) { return IfcAddress; } - if(v==IfcTendon ) { return IfcReinforcingElement; } - if(v==IfcTendonAnchor ) { return IfcReinforcingElement; } - if(v==IfcTerminatorSymbol ) { return IfcAnnotationSymbolOccurrence; } - if(v==IfcTextLiteral ) { return IfcGeometricRepresentationItem; } - if(v==IfcTextLiteralWithExtent ) { return IfcTextLiteral; } - if(v==IfcTextStyle ) { return IfcPresentationStyle; } - if(v==IfcTextStyleFontModel ) { return IfcPreDefinedTextFont; } - if(v==IfcTextureCoordinateGenerator ) { return IfcTextureCoordinate; } - if(v==IfcTextureMap ) { return IfcTextureCoordinate; } - if(v==IfcThermalMaterialProperties ) { return IfcMaterialProperties; } - if(v==IfcTimeSeriesSchedule ) { return IfcControl; } - if(v==IfcTopologicalRepresentationItem ) { return IfcRepresentationItem; } - if(v==IfcTopologyRepresentation ) { return IfcShapeModel; } - if(v==IfcTransformerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcTransportElement ) { return IfcElement; } - if(v==IfcTransportElementType ) { return IfcElementType; } - if(v==IfcTrapeziumProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcTrimmedCurve ) { return IfcBoundedCurve; } - if(v==IfcTubeBundleType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcTwoDirectionRepeatFactor ) { return IfcOneDirectionRepeatFactor; } - if(v==IfcTypeObject ) { return IfcObjectDefinition; } - if(v==IfcTypeProduct ) { return IfcTypeObject; } - if(v==IfcUShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcUnitaryEquipmentType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcValveType ) { return IfcFlowControllerType; } - if(v==IfcVector ) { return IfcGeometricRepresentationItem; } - if(v==IfcVertex ) { return IfcTopologicalRepresentationItem; } - if(v==IfcVertexLoop ) { return IfcLoop; } - if(v==IfcVertexPoint ) { return IfcVertex; } - if(v==IfcVibrationIsolatorType ) { return IfcDiscreteAccessoryType; } - if(v==IfcVirtualElement ) { return IfcElement; } - if(v==IfcWall ) { return IfcBuildingElement; } - if(v==IfcWallStandardCase ) { return IfcWall; } - if(v==IfcWallType ) { return IfcBuildingElementType; } - if(v==IfcWasteTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcWaterProperties ) { return IfcMaterialProperties; } - if(v==IfcWindow ) { return IfcBuildingElement; } - if(v==IfcWindowLiningProperties ) { return IfcPropertySetDefinition; } - if(v==IfcWindowPanelProperties ) { return IfcPropertySetDefinition; } - if(v==IfcWindowStyle ) { return IfcTypeProduct; } - if(v==IfcWorkControl ) { return IfcControl; } - if(v==IfcWorkPlan ) { return IfcWorkControl; } - if(v==IfcWorkSchedule ) { return IfcWorkControl; } - if(v==IfcZShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcZone ) { return IfcGroup; } - return (Enum)-1; +static int parent_map[] = {133,-1,-1,164,-1,-1,515,-1,-1,234,-1,-1,-1,-1,354,-1,369,-1,309,-1,234,-1,-1,-1,-1,221,-1,600,31,392,31,840,392,31,31,31,-1,-1,-1,-1,-1,-1,-1,-1,604,604,44,-1,-1,-1,401,412,560,-1,560,560,77,-1,83,89,-1,-1,56,857,184,309,-1,-1,71,-1,-1,392,-1,72,72,72,75,193,844,392,-1,402,786,297,83,84,83,89,-1,304,786,540,357,-1,365,-1,365,-1,-1,569,392,100,101,100,103,45,271,-1,-1,309,-1,144,113,540,-1,-1,-1,-1,-1,-1,322,145,309,-1,-1,-1,127,-1,83,89,-1,-1,615,77,392,604,-1,363,-1,309,-1,401,164,-1,193,916,147,-1,149,147,147,147,-1,-1,-1,-1,-1,-1,161,161,161,722,-1,511,515,234,-1,511,309,-1,309,-1,-1,164,164,-1,37,-1,83,89,-1,540,540,161,392,-1,773,-1,-1,83,89,-1,-1,392,78,-1,-1,593,-1,-1,-1,-1,354,-1,-1,-1,-1,-1,-1,392,-1,-1,604,-1,-1,-1,-1,221,258,-1,28,256,879,-1,258,-1,392,-1,300,301,237,238,-1,235,236,297,304,235,236,576,-1,-1,-1,-1,322,-1,-1,83,625,-1,-1,625,933,-1,-1,-1,392,-1,-1,582,583,589,357,-1,365,-1,371,-1,-1,916,269,342,464,369,-1,-1,-1,-1,-1,-1,353,-1,367,-1,309,-1,369,-1,309,-1,-1,354,-1,-1,311,866,297,600,297,-1,297,304,-1,625,933,844,144,540,237,238,-1,625,-1,-1,37,297,164,309,-1,309,-1,483,-1,322,322,322,322,859,916,392,916,330,328,470,470,806,363,-1,300,301,297,340,340,593,392,-1,392,392,-1,371,-1,369,-1,237,238,-1,237,238,234,-1,354,-1,237,238,237,238,237,238,237,238,237,238,625,-1,-1,-1,83,-1,-1,-1,483,297,304,164,382,369,-1,483,605,394,-1,719,720,391,392,-1,-1,-1,600,-1,517,515,392,-1,309,-1,-1,-1,-1,309,-1,483,540,-1,-1,857,-1,-1,-1,-1,401,-1,-1,909,-1,-1,357,-1,-1,540,-1,161,369,-1,-1,-1,-1,-1,322,-1,-1,-1,-1,-1,369,-1,-1,392,447,447,447,447,451,193,221,-1,-1,-1,-1,-1,517,-1,-1,-1,916,-1,-1,-1,-1,-1,773,720,-1,-1,-1,-1,-1,-1,602,-1,-1,-1,-1,-1,-1,-1,-1,490,338,339,483,490,83,89,-1,153,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,309,-1,873,-1,-1,-1,-1,516,732,-1,-1,-1,153,-1,6,-1,193,193,392,145,342,483,873,-1,-1,-1,269,369,-1,-1,-1,-1,604,916,164,-1,625,164,-1,-1,550,-1,-1,550,83,-1,-1,357,-1,365,-1,857,392,562,392,-1,305,-1,83,89,-1,392,569,569,-1,464,402,77,600,-1,-1,-1,11,-1,585,585,587,-1,587,585,587,585,-1,-1,591,-1,-1,-1,-1,599,-1,515,515,602,-1,483,-1,-1,-1,515,164,164,-1,-1,-1,28,341,-1,764,-1,732,-1,764,-1,764,764,625,618,764,-1,764,354,-1,600,363,-1,551,551,551,551,551,551,-1,221,83,89,-1,83,83,89,-1,-1,-1,62,-1,654,540,184,78,-1,-1,909,-1,625,665,-1,-1,84,665,699,716,671,668,668,668,668,668,671,668,716,677,677,677,677,677,677,677,677,716,686,687,686,686,686,686,686,693,687,686,686,686,716,716,700,700,686,686,686,699,670,701,686,686,671,686,686,686,686,732,-1,-1,-1,-1,-1,515,-1,859,-1,605,184,184,-1,83,-1,-1,-1,-1,-1,271,654,-1,511,-1,369,-1,164,-1,-1,-1,-1,-1,-1,392,234,-1,-1,164,625,-1,-1,-1,718,759,-1,-1,392,615,-1,786,-1,83,89,-1,806,-1,392,-1,-1,625,-1,625,786,309,-1,164,625,787,-1,600,304,-1,-1,-1,-1,184,369,-1,83,83,89,-1,-1,-1,802,600,-1,866,811,-1,805,824,808,-1,600,801,812,-1,401,822,822,822,818,822,820,814,822,811,801,825,801,805,831,388,802,401,830,805,824,835,-1,256,718,720,839,161,269,392,859,861,861,-1,-1,593,-1,-1,-1,855,-1,-1,-1,-1,773,773,844,354,-1,593,-1,401,382,540,-1,-1,367,-1,599,11,-1,665,665,-1,34,-1,-1,-1,-1,-1,392,885,-1,593,589,-1,-1,-1,-1,-1,-1,895,895,-1,-1,-1,-1,-1,-1,483,-1,-1,-1,-1,-1,-1,-1,164,-1,-1,-1,720,759,-1,309,-1,-1,297,304,-1,540,77,-1,-1,309,-1,526,516,932,540,-1,-1,-1,309,-1,-1,354,-1,-1,392,-1,916,-1,464,946,229,-1,297,-1,-1,-1,83,956,89,-1,-1,-1,369,-1,483,83,625,-1,-1,625,933,-1,-1,164,-1,973,973,-1,540,401}; +boost::optional Type::Parent(Enum v){ + const int p = parent_map[static_cast(v)]; + if (p >= 0) { + return static_cast(p); + } else { + return boost::none; + } } bool Type::IsSimple(Enum v) { diff --git a/src/ifcparse/Ifc2x3enum.h b/src/ifcparse/Ifc2x3enum.h index 40b1950e9f..651253ebb7 100644 --- a/src/ifcparse/Ifc2x3enum.h +++ b/src/ifcparse/Ifc2x3enum.h @@ -27,6 +27,8 @@ #ifndef IFC2X3ENUM_H #define IFC2X3ENUM_H +#include + #define IfcSchema Ifc2x3 namespace Ifc2x3 { @@ -35,7 +37,7 @@ namespace Type { typedef enum { Ifc2DCompositeCurve, IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAheadOrBehind, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularDimension, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationCurveOccurrence, IfcAnnotationFillArea, IfcAnnotationFillAreaOccurrence, IfcAnnotationOccurrence, IfcAnnotationSurface, IfcAnnotationSurfaceOccurrence, IfcAnnotationSymbolOccurrence, IfcAnnotationTextOccurrence, IfcApplication, IfcAppliedValue, IfcAppliedValueRelationship, IfcAppliedValueSelect, IfcApproval, IfcApprovalActorRelationship, IfcApprovalPropertyRelationship, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBeam, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBezierCurve, IfcBlobTexture, IfcBlock, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementComponent, IfcBuildingElementPart, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcCShapeProfileDef, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCalendarDate, IfcCartesianPoint, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChamferEdgeFeature, IfcChangeActionEnum, IfcCharacterStyleSelect, IfcChillerType, IfcChillerTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcClassification, IfcClassificationItem, IfcClassificationItemRelationship, IfcClassificationNotation, IfcClassificationNotationFacet, IfcClassificationNotationSelect, IfcClassificationReference, IfcClosedShell, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourSpecification, IfcColumn, IfcColumnType, IfcColumnTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcCompositeCurve, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenserType, IfcCondenserTypeEnum, IfcCondition, IfcConditionCriterion, IfcConditionCriterionSelect, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionPortGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConstraint, IfcConstraintAggregationRelationship, IfcConstraintClassificationRelationship, IfcConstraintEnum, IfcConstraintRelationship, IfcConstructionEquipmentResource, IfcConstructionMaterialResource, IfcConstructionProductResource, IfcConstructionResource, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinatedUniversalTimeOffset, IfcCostItem, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCraneRailAShapeProfileDef, IfcCraneRailFShapeProfileDef, IfcCrewResource, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyEnum, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveFontOrScaledCurveFontSelect, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDateAndTime, IfcDateTimeSelect, IfcDayInMonthNumber, IfcDaylightSavingHour, IfcDefinedSymbol, IfcDefinedSymbolSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDiameterDimension, IfcDimensionCalloutRelationship, IfcDimensionCount, IfcDimensionCurve, IfcDimensionCurveDirectedCallout, IfcDimensionCurveTerminator, IfcDimensionExtentUsage, IfcDimensionPair, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDocumentConfidentialityEnum, IfcDocumentElectronicFormat, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingCallout, IfcDraughtingCalloutElement, IfcDraughtingCalloutRelationship, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDraughtingPreDefinedTextFont, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeFeature, IfcEdgeLoop, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentEnum, IfcElectricCurrentMeasure, IfcElectricDistributionPoint, IfcElectricDistributionPointFunctionEnum, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricHeaterType, IfcElectricHeaterTypeEnum, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElectricalBaseProperties, IfcElectricalCircuit, IfcElectricalElement, IfcElement, IfcElementAssembly, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEnergyProperties, IfcEnergySequenceEnum, IfcEnvironmentalImpactCategoryEnum, IfcEnvironmentalImpactValue, IfcEquipmentElement, IfcEquipmentStandard, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcExtendedMaterialProperties, IfcExternalReference, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedSymbol, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTileShapeSelect, IfcFillAreaStyleTileSymbolWithStyle, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFluidFlowProperties, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFuelProperties, IfcFurnishingElement, IfcFurnishingElementType, IfcFurnitureStandard, IfcFurnitureType, IfcGasTerminalType, IfcGasTerminalTypeEnum, IfcGeneralMaterialProperties, IfcGeneralProfileProperties, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHourInDay, IfcHumidifierType, IfcHumidifierTypeEnum, IfcHygroscopicMaterialProperties, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLampType, IfcLampTypeEnum, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearDimension, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLocalTime, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialList, IfcMaterialProperties, IfcMaterialSelect, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalConcreteMaterialProperties, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalMaterialProperties, IfcMechanicalSteelMaterialProperties, IfcMember, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMinuteInHour, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfSubgradeReactionMeasure, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcMove, IfcNamedUnit, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOneDirectionRepeatFactor, IfcOpenShell, IfcOpeningElement, IfcOpticalMaterialProperties, IfcOrderAction, IfcOrganization, IfcOrganizationRelationship, IfcOrientationSelect, IfcOrientedEdge, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPerformanceHistory, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileTypeEnum, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedDimensionSymbol, IfcPreDefinedItem, IfcPreDefinedPointMarkerSymbol, IfcPreDefinedSymbol, IfcPreDefinedTerminatorSymbol, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureTypeEnum, IfcProcess, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductsOfCombustionProperties, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectOrder, IfcProjectOrderRecord, IfcProjectOrderRecordTypeEnum, IfcProjectOrderTypeEnum, IfcProjectedOrTrueLengthEnum, IfcProjectionCurve, IfcProjectionElement, IfcProperty, IfcPropertyBoundedValue, IfcPropertyConstraintRelationship, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySingleValue, IfcPropertySourceEnum, IfcPropertyTableValue, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRadiusDimension, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBezierCurve, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcReferencesValueDocument, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingElement, IfcReinforcingMesh, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsTasks, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToProjectOrder, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesAppliedValue, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelAssociatesProfileProperties, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralElement, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByProperties, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInteractionRequirements, IfcRelNests, IfcRelOccupiesSpaces, IfcRelOverridesProperties, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSchedulesCostItems, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelVoidsElement, IfcRelationship, IfcRelaxation, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceConsumptionEnum, IfcRevolvedAreaSolid, IfcRibPlateDirectionEnum, IfcRibPlateProfileProperties, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRoundedEdgeFeature, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcScheduleTimeControl, IfcSecondInMinute, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcServiceLife, IfcServiceLifeFactor, IfcServiceLifeFactorTypeEnum, IfcServiceLifeTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolidAngleMeasure, IfcSolidModel, IfcSoundPowerMeasure, IfcSoundPressureMeasure, IfcSoundProperties, IfcSoundScaleEnum, IfcSoundValue, IfcSpace, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceProgram, IfcSpaceThermalLoadProperties, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairTypeEnum, IfcStateEnum, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberVarying, IfcStructuralCurveTypeEnum, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLinearActionVarying, IfcStructuralLoad, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPlanarActionVarying, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralProfileProperties, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSteelProfileProperties, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceTypeEnum, IfcStructuredDimensionCallout, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSurfaceTextureEnum, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptSurface, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSymbolStyle, IfcSymbolStyleSelect, IfcSystem, IfcSystemFurnitureElementType, IfcTShapeProfileDef, IfcTable, IfcTableRow, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTendon, IfcTendonAnchor, IfcTendonTypeEnum, IfcTerminatorSymbol, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleSelect, IfcTextStyleTextModel, IfcTextStyleWithBoxCharacteristics, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalLoadSourceEnum, IfcThermalLoadTypeEnum, IfcThermalMaterialProperties, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTimeMeasure, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesReferenceRelationship, IfcTimeSeriesSchedule, IfcTimeSeriesScheduleTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTwoDirectionRepeatFactor, IfcTypeObject, IfcTypeProduct, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexBasedTextureMap, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWaterProperties, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWorkControl, IfcWorkControlTypeEnum, IfcWorkPlan, IfcWorkSchedule, IfcYearNumber, IfcZShapeProfileDef, IfcZone, UNDEFINED } Enum; - Enum Parent(Enum v); + boost::optional Parent(Enum v); Enum FromString(const std::string& s); std::string ToString(Enum v); bool IsSimple(Enum v); diff --git a/src/ifcparse/Ifc4-latebound.cpp b/src/ifcparse/Ifc4-latebound.cpp index e136fba57c..25c6e7f3d2 100644 --- a/src/ifcparse/Ifc4-latebound.cpp +++ b/src/ifcparse/Ifc4-latebound.cpp @@ -4952,7 +4952,13 @@ std::pair Type::GetInverseAttribute(Enum t, const std::str return jt->second; } } - if ((t = Parent(t)) == -1) break; + boost::optional pt = Parent(t); + if (pt) { + t = *pt; + } + else { + break; + } } throw IfcException("Attribute not found"); } @@ -4971,7 +4977,13 @@ std::set Type::GetInverseAttributeNames(Enum t) { return_value.insert(jt->first); } } - if ((t = Parent(t)) == -1) break; + boost::optional pt = Parent(t); + if (pt) { + t = *pt; + } + else { + break; + } } return return_value; diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index aa49def74b..806316023d 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -2109,716 +2109,14 @@ Type::Enum Type::FromString(const std::string& s) { else return it->second; } -Type::Enum Type::Parent(Enum v){ - if (v < 0 || v >= 1157) return (Enum)-1; - if(v==IfcActionRequest ) { return IfcControl; } - if(v==IfcActor ) { return IfcObject; } - if(v==IfcActuator ) { return IfcDistributionControlElement; } - if(v==IfcActuatorType ) { return IfcDistributionControlElementType; } - if(v==IfcAdvancedBrep ) { return IfcManifoldSolidBrep; } - if(v==IfcAdvancedBrepWithVoids ) { return IfcAdvancedBrep; } - if(v==IfcAdvancedFace ) { return IfcFaceSurface; } - if(v==IfcAirTerminal ) { return IfcFlowTerminal; } - if(v==IfcAirTerminalBox ) { return IfcFlowController; } - if(v==IfcAirTerminalBoxType ) { return IfcFlowControllerType; } - if(v==IfcAirTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcAirToAirHeatRecovery ) { return IfcEnergyConversionDevice; } - if(v==IfcAirToAirHeatRecoveryType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcAlarm ) { return IfcDistributionControlElement; } - if(v==IfcAlarmType ) { return IfcDistributionControlElementType; } - if(v==IfcAnnotation ) { return IfcProduct; } - if(v==IfcAnnotationFillArea ) { return IfcGeometricRepresentationItem; } - if(v==IfcApprovalRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcArbitraryClosedProfileDef ) { return IfcProfileDef; } - if(v==IfcArbitraryOpenProfileDef ) { return IfcProfileDef; } - if(v==IfcArbitraryProfileDefWithVoids ) { return IfcArbitraryClosedProfileDef; } - if(v==IfcAsset ) { return IfcGroup; } - if(v==IfcAsymmetricIShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcAudioVisualAppliance ) { return IfcFlowTerminal; } - if(v==IfcAudioVisualApplianceType ) { return IfcFlowTerminalType; } - if(v==IfcAxis1Placement ) { return IfcPlacement; } - if(v==IfcAxis2Placement2D ) { return IfcPlacement; } - if(v==IfcAxis2Placement3D ) { return IfcPlacement; } - if(v==IfcBSplineCurve ) { return IfcBoundedCurve; } - if(v==IfcBSplineCurveWithKnots ) { return IfcBSplineCurve; } - if(v==IfcBSplineSurface ) { return IfcBoundedSurface; } - if(v==IfcBSplineSurfaceWithKnots ) { return IfcBSplineSurface; } - if(v==IfcBeam ) { return IfcBuildingElement; } - if(v==IfcBeamStandardCase ) { return IfcBeam; } - if(v==IfcBeamType ) { return IfcBuildingElementType; } - if(v==IfcBlobTexture ) { return IfcSurfaceTexture; } - if(v==IfcBlock ) { return IfcCsgPrimitive3D; } - if(v==IfcBoiler ) { return IfcEnergyConversionDevice; } - if(v==IfcBoilerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcBooleanClippingResult ) { return IfcBooleanResult; } - if(v==IfcBooleanResult ) { return IfcGeometricRepresentationItem; } - if(v==IfcBoundaryCurve ) { return IfcCompositeCurveOnSurface; } - if(v==IfcBoundaryEdgeCondition ) { return IfcBoundaryCondition; } - if(v==IfcBoundaryFaceCondition ) { return IfcBoundaryCondition; } - if(v==IfcBoundaryNodeCondition ) { return IfcBoundaryCondition; } - if(v==IfcBoundaryNodeConditionWarping ) { return IfcBoundaryNodeCondition; } - if(v==IfcBoundedCurve ) { return IfcCurve; } - if(v==IfcBoundedSurface ) { return IfcSurface; } - if(v==IfcBoundingBox ) { return IfcGeometricRepresentationItem; } - if(v==IfcBoxedHalfSpace ) { return IfcHalfSpaceSolid; } - if(v==IfcBuilding ) { return IfcSpatialStructureElement; } - if(v==IfcBuildingElement ) { return IfcElement; } - if(v==IfcBuildingElementPart ) { return IfcElementComponent; } - if(v==IfcBuildingElementPartType ) { return IfcElementComponentType; } - if(v==IfcBuildingElementProxy ) { return IfcBuildingElement; } - if(v==IfcBuildingElementProxyType ) { return IfcBuildingElementType; } - if(v==IfcBuildingElementType ) { return IfcElementType; } - if(v==IfcBuildingStorey ) { return IfcSpatialStructureElement; } - if(v==IfcBuildingSystem ) { return IfcSystem; } - if(v==IfcBurner ) { return IfcEnergyConversionDevice; } - if(v==IfcBurnerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcCableCarrierFitting ) { return IfcFlowFitting; } - if(v==IfcCableCarrierFittingType ) { return IfcFlowFittingType; } - if(v==IfcCableCarrierSegment ) { return IfcFlowSegment; } - if(v==IfcCableCarrierSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcCableFitting ) { return IfcFlowFitting; } - if(v==IfcCableFittingType ) { return IfcFlowFittingType; } - if(v==IfcCableSegment ) { return IfcFlowSegment; } - if(v==IfcCableSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcCartesianPoint ) { return IfcPoint; } - if(v==IfcCartesianPointList ) { return IfcGeometricRepresentationItem; } - if(v==IfcCartesianPointList3D ) { return IfcCartesianPointList; } - if(v==IfcCartesianTransformationOperator ) { return IfcGeometricRepresentationItem; } - if(v==IfcCartesianTransformationOperator2D ) { return IfcCartesianTransformationOperator; } - if(v==IfcCartesianTransformationOperator2DnonUniform ) { return IfcCartesianTransformationOperator2D; } - if(v==IfcCartesianTransformationOperator3D ) { return IfcCartesianTransformationOperator; } - if(v==IfcCartesianTransformationOperator3DnonUniform ) { return IfcCartesianTransformationOperator3D; } - if(v==IfcCenterLineProfileDef ) { return IfcArbitraryOpenProfileDef; } - if(v==IfcChiller ) { return IfcEnergyConversionDevice; } - if(v==IfcChillerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcChimney ) { return IfcBuildingElement; } - if(v==IfcChimneyType ) { return IfcBuildingElementType; } - if(v==IfcCircle ) { return IfcConic; } - if(v==IfcCircleHollowProfileDef ) { return IfcCircleProfileDef; } - if(v==IfcCircleProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcCivilElement ) { return IfcElement; } - if(v==IfcCivilElementType ) { return IfcElementType; } - if(v==IfcClassification ) { return IfcExternalInformation; } - if(v==IfcClassificationReference ) { return IfcExternalReference; } - if(v==IfcClosedShell ) { return IfcConnectedFaceSet; } - if(v==IfcCoil ) { return IfcEnergyConversionDevice; } - if(v==IfcCoilType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcColourRgb ) { return IfcColourSpecification; } - if(v==IfcColourRgbList ) { return IfcPresentationItem; } - if(v==IfcColourSpecification ) { return IfcPresentationItem; } - if(v==IfcColumn ) { return IfcBuildingElement; } - if(v==IfcColumnStandardCase ) { return IfcColumn; } - if(v==IfcColumnType ) { return IfcBuildingElementType; } - if(v==IfcCommunicationsAppliance ) { return IfcFlowTerminal; } - if(v==IfcCommunicationsApplianceType ) { return IfcFlowTerminalType; } - if(v==IfcComplexProperty ) { return IfcProperty; } - if(v==IfcComplexPropertyTemplate ) { return IfcPropertyTemplate; } - if(v==IfcCompositeCurve ) { return IfcBoundedCurve; } - if(v==IfcCompositeCurveOnSurface ) { return IfcCompositeCurve; } - if(v==IfcCompositeCurveSegment ) { return IfcGeometricRepresentationItem; } - if(v==IfcCompositeProfileDef ) { return IfcProfileDef; } - if(v==IfcCompressor ) { return IfcFlowMovingDevice; } - if(v==IfcCompressorType ) { return IfcFlowMovingDeviceType; } - if(v==IfcCondenser ) { return IfcEnergyConversionDevice; } - if(v==IfcCondenserType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcConic ) { return IfcCurve; } - if(v==IfcConnectedFaceSet ) { return IfcTopologicalRepresentationItem; } - if(v==IfcConnectionCurveGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConnectionPointEccentricity ) { return IfcConnectionPointGeometry; } - if(v==IfcConnectionPointGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConnectionSurfaceGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConnectionVolumeGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConstructionEquipmentResource ) { return IfcConstructionResource; } - if(v==IfcConstructionEquipmentResourceType ) { return IfcConstructionResourceType; } - if(v==IfcConstructionMaterialResource ) { return IfcConstructionResource; } - if(v==IfcConstructionMaterialResourceType ) { return IfcConstructionResourceType; } - if(v==IfcConstructionProductResource ) { return IfcConstructionResource; } - if(v==IfcConstructionProductResourceType ) { return IfcConstructionResourceType; } - if(v==IfcConstructionResource ) { return IfcResource; } - if(v==IfcConstructionResourceType ) { return IfcTypeResource; } - if(v==IfcContext ) { return IfcObjectDefinition; } - if(v==IfcContextDependentUnit ) { return IfcNamedUnit; } - if(v==IfcControl ) { return IfcObject; } - if(v==IfcController ) { return IfcDistributionControlElement; } - if(v==IfcControllerType ) { return IfcDistributionControlElementType; } - if(v==IfcConversionBasedUnit ) { return IfcNamedUnit; } - if(v==IfcConversionBasedUnitWithOffset ) { return IfcConversionBasedUnit; } - if(v==IfcCooledBeam ) { return IfcEnergyConversionDevice; } - if(v==IfcCooledBeamType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCoolingTower ) { return IfcEnergyConversionDevice; } - if(v==IfcCoolingTowerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCostItem ) { return IfcControl; } - if(v==IfcCostSchedule ) { return IfcControl; } - if(v==IfcCostValue ) { return IfcAppliedValue; } - if(v==IfcCovering ) { return IfcBuildingElement; } - if(v==IfcCoveringType ) { return IfcBuildingElementType; } - if(v==IfcCrewResource ) { return IfcConstructionResource; } - if(v==IfcCrewResourceType ) { return IfcConstructionResourceType; } - if(v==IfcCsgPrimitive3D ) { return IfcGeometricRepresentationItem; } - if(v==IfcCsgSolid ) { return IfcSolidModel; } - if(v==IfcCurrencyRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcCurtainWall ) { return IfcBuildingElement; } - if(v==IfcCurtainWallType ) { return IfcBuildingElementType; } - if(v==IfcCurve ) { return IfcGeometricRepresentationItem; } - if(v==IfcCurveBoundedPlane ) { return IfcBoundedSurface; } - if(v==IfcCurveBoundedSurface ) { return IfcBoundedSurface; } - if(v==IfcCurveStyle ) { return IfcPresentationStyle; } - if(v==IfcCurveStyleFont ) { return IfcPresentationItem; } - if(v==IfcCurveStyleFontAndScaling ) { return IfcPresentationItem; } - if(v==IfcCurveStyleFontPattern ) { return IfcPresentationItem; } - if(v==IfcCylindricalSurface ) { return IfcElementarySurface; } - if(v==IfcDamper ) { return IfcFlowController; } - if(v==IfcDamperType ) { return IfcFlowControllerType; } - if(v==IfcDerivedProfileDef ) { return IfcProfileDef; } - if(v==IfcDirection ) { return IfcGeometricRepresentationItem; } - if(v==IfcDiscreteAccessory ) { return IfcElementComponent; } - if(v==IfcDiscreteAccessoryType ) { return IfcElementComponentType; } - if(v==IfcDistributionChamberElement ) { return IfcDistributionFlowElement; } - if(v==IfcDistributionChamberElementType ) { return IfcDistributionFlowElementType; } - if(v==IfcDistributionCircuit ) { return IfcDistributionSystem; } - if(v==IfcDistributionControlElement ) { return IfcDistributionElement; } - if(v==IfcDistributionControlElementType ) { return IfcDistributionElementType; } - if(v==IfcDistributionElement ) { return IfcElement; } - if(v==IfcDistributionElementType ) { return IfcElementType; } - if(v==IfcDistributionFlowElement ) { return IfcDistributionElement; } - if(v==IfcDistributionFlowElementType ) { return IfcDistributionElementType; } - if(v==IfcDistributionPort ) { return IfcPort; } - if(v==IfcDistributionSystem ) { return IfcSystem; } - if(v==IfcDocumentInformation ) { return IfcExternalInformation; } - if(v==IfcDocumentInformationRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcDocumentReference ) { return IfcExternalReference; } - if(v==IfcDoor ) { return IfcBuildingElement; } - if(v==IfcDoorLiningProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcDoorPanelProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcDoorStandardCase ) { return IfcDoor; } - if(v==IfcDoorStyle ) { return IfcTypeProduct; } - if(v==IfcDoorType ) { return IfcBuildingElementType; } - if(v==IfcDraughtingPreDefinedColour ) { return IfcPreDefinedColour; } - if(v==IfcDraughtingPreDefinedCurveFont ) { return IfcPreDefinedCurveFont; } - if(v==IfcDuctFitting ) { return IfcFlowFitting; } - if(v==IfcDuctFittingType ) { return IfcFlowFittingType; } - if(v==IfcDuctSegment ) { return IfcFlowSegment; } - if(v==IfcDuctSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcDuctSilencer ) { return IfcFlowTreatmentDevice; } - if(v==IfcDuctSilencerType ) { return IfcFlowTreatmentDeviceType; } - if(v==IfcEdge ) { return IfcTopologicalRepresentationItem; } - if(v==IfcEdgeCurve ) { return IfcEdge; } - if(v==IfcEdgeLoop ) { return IfcLoop; } - if(v==IfcElectricAppliance ) { return IfcFlowTerminal; } - if(v==IfcElectricApplianceType ) { return IfcFlowTerminalType; } - if(v==IfcElectricDistributionBoard ) { return IfcFlowController; } - if(v==IfcElectricDistributionBoardType ) { return IfcFlowControllerType; } - if(v==IfcElectricFlowStorageDevice ) { return IfcFlowStorageDevice; } - if(v==IfcElectricFlowStorageDeviceType ) { return IfcFlowStorageDeviceType; } - if(v==IfcElectricGenerator ) { return IfcEnergyConversionDevice; } - if(v==IfcElectricGeneratorType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcElectricMotor ) { return IfcEnergyConversionDevice; } - if(v==IfcElectricMotorType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcElectricTimeControl ) { return IfcFlowController; } - if(v==IfcElectricTimeControlType ) { return IfcFlowControllerType; } - if(v==IfcElement ) { return IfcProduct; } - if(v==IfcElementAssembly ) { return IfcElement; } - if(v==IfcElementAssemblyType ) { return IfcElementType; } - if(v==IfcElementComponent ) { return IfcElement; } - if(v==IfcElementComponentType ) { return IfcElementType; } - if(v==IfcElementQuantity ) { return IfcQuantitySet; } - if(v==IfcElementType ) { return IfcTypeProduct; } - if(v==IfcElementarySurface ) { return IfcSurface; } - if(v==IfcEllipse ) { return IfcConic; } - if(v==IfcEllipseProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcEnergyConversionDevice ) { return IfcDistributionFlowElement; } - if(v==IfcEnergyConversionDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcEngine ) { return IfcEnergyConversionDevice; } - if(v==IfcEngineType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcEvaporativeCooler ) { return IfcEnergyConversionDevice; } - if(v==IfcEvaporativeCoolerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcEvaporator ) { return IfcEnergyConversionDevice; } - if(v==IfcEvaporatorType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcEvent ) { return IfcProcess; } - if(v==IfcEventTime ) { return IfcSchedulingTime; } - if(v==IfcEventType ) { return IfcTypeProcess; } - if(v==IfcExtendedProperties ) { return IfcPropertyAbstraction; } - if(v==IfcExternalReferenceRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcExternalSpatialElement ) { return IfcExternalSpatialStructureElement; } - if(v==IfcExternalSpatialStructureElement ) { return IfcSpatialElement; } - if(v==IfcExternallyDefinedHatchStyle ) { return IfcExternalReference; } - if(v==IfcExternallyDefinedSurfaceStyle ) { return IfcExternalReference; } - if(v==IfcExternallyDefinedTextFont ) { return IfcExternalReference; } - if(v==IfcExtrudedAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcExtrudedAreaSolidTapered ) { return IfcExtrudedAreaSolid; } - if(v==IfcFace ) { return IfcTopologicalRepresentationItem; } - if(v==IfcFaceBasedSurfaceModel ) { return IfcGeometricRepresentationItem; } - if(v==IfcFaceBound ) { return IfcTopologicalRepresentationItem; } - if(v==IfcFaceOuterBound ) { return IfcFaceBound; } - if(v==IfcFaceSurface ) { return IfcFace; } - if(v==IfcFacetedBrep ) { return IfcManifoldSolidBrep; } - if(v==IfcFacetedBrepWithVoids ) { return IfcFacetedBrep; } - if(v==IfcFailureConnectionCondition ) { return IfcStructuralConnectionCondition; } - if(v==IfcFan ) { return IfcFlowMovingDevice; } - if(v==IfcFanType ) { return IfcFlowMovingDeviceType; } - if(v==IfcFastener ) { return IfcElementComponent; } - if(v==IfcFastenerType ) { return IfcElementComponentType; } - if(v==IfcFeatureElement ) { return IfcElement; } - if(v==IfcFeatureElementAddition ) { return IfcFeatureElement; } - if(v==IfcFeatureElementSubtraction ) { return IfcFeatureElement; } - if(v==IfcFillAreaStyle ) { return IfcPresentationStyle; } - if(v==IfcFillAreaStyleHatching ) { return IfcGeometricRepresentationItem; } - if(v==IfcFillAreaStyleTiles ) { return IfcGeometricRepresentationItem; } - if(v==IfcFilter ) { return IfcFlowTreatmentDevice; } - if(v==IfcFilterType ) { return IfcFlowTreatmentDeviceType; } - if(v==IfcFireSuppressionTerminal ) { return IfcFlowTerminal; } - if(v==IfcFireSuppressionTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcFixedReferenceSweptAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcFlowController ) { return IfcDistributionFlowElement; } - if(v==IfcFlowControllerType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowFitting ) { return IfcDistributionFlowElement; } - if(v==IfcFlowFittingType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowInstrument ) { return IfcDistributionControlElement; } - if(v==IfcFlowInstrumentType ) { return IfcDistributionControlElementType; } - if(v==IfcFlowMeter ) { return IfcFlowController; } - if(v==IfcFlowMeterType ) { return IfcFlowControllerType; } - if(v==IfcFlowMovingDevice ) { return IfcDistributionFlowElement; } - if(v==IfcFlowMovingDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowSegment ) { return IfcDistributionFlowElement; } - if(v==IfcFlowSegmentType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowStorageDevice ) { return IfcDistributionFlowElement; } - if(v==IfcFlowStorageDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowTerminal ) { return IfcDistributionFlowElement; } - if(v==IfcFlowTerminalType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowTreatmentDevice ) { return IfcDistributionFlowElement; } - if(v==IfcFlowTreatmentDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcFooting ) { return IfcBuildingElement; } - if(v==IfcFootingType ) { return IfcBuildingElementType; } - if(v==IfcFurnishingElement ) { return IfcElement; } - if(v==IfcFurnishingElementType ) { return IfcElementType; } - if(v==IfcFurniture ) { return IfcFurnishingElement; } - if(v==IfcFurnitureType ) { return IfcFurnishingElementType; } - if(v==IfcGeographicElement ) { return IfcElement; } - if(v==IfcGeographicElementType ) { return IfcElementType; } - if(v==IfcGeometricCurveSet ) { return IfcGeometricSet; } - if(v==IfcGeometricRepresentationContext ) { return IfcRepresentationContext; } - if(v==IfcGeometricRepresentationItem ) { return IfcRepresentationItem; } - if(v==IfcGeometricRepresentationSubContext ) { return IfcGeometricRepresentationContext; } - if(v==IfcGeometricSet ) { return IfcGeometricRepresentationItem; } - if(v==IfcGrid ) { return IfcProduct; } - if(v==IfcGridPlacement ) { return IfcObjectPlacement; } - if(v==IfcGroup ) { return IfcObject; } - if(v==IfcHalfSpaceSolid ) { return IfcGeometricRepresentationItem; } - if(v==IfcHeatExchanger ) { return IfcEnergyConversionDevice; } - if(v==IfcHeatExchangerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcHumidifier ) { return IfcEnergyConversionDevice; } - if(v==IfcHumidifierType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcIShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcImageTexture ) { return IfcSurfaceTexture; } - if(v==IfcIndexedColourMap ) { return IfcPresentationItem; } - if(v==IfcIndexedTextureMap ) { return IfcTextureCoordinate; } - if(v==IfcIndexedTriangleTextureMap ) { return IfcIndexedTextureMap; } - if(v==IfcInterceptor ) { return IfcFlowTreatmentDevice; } - if(v==IfcInterceptorType ) { return IfcFlowTreatmentDeviceType; } - if(v==IfcInventory ) { return IfcGroup; } - if(v==IfcIrregularTimeSeries ) { return IfcTimeSeries; } - if(v==IfcJunctionBox ) { return IfcFlowFitting; } - if(v==IfcJunctionBoxType ) { return IfcFlowFittingType; } - if(v==IfcLShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcLaborResource ) { return IfcConstructionResource; } - if(v==IfcLaborResourceType ) { return IfcConstructionResourceType; } - if(v==IfcLagTime ) { return IfcSchedulingTime; } - if(v==IfcLamp ) { return IfcFlowTerminal; } - if(v==IfcLampType ) { return IfcFlowTerminalType; } - if(v==IfcLibraryInformation ) { return IfcExternalInformation; } - if(v==IfcLibraryReference ) { return IfcExternalReference; } - if(v==IfcLightFixture ) { return IfcFlowTerminal; } - if(v==IfcLightFixtureType ) { return IfcFlowTerminalType; } - if(v==IfcLightSource ) { return IfcGeometricRepresentationItem; } - if(v==IfcLightSourceAmbient ) { return IfcLightSource; } - if(v==IfcLightSourceDirectional ) { return IfcLightSource; } - if(v==IfcLightSourceGoniometric ) { return IfcLightSource; } - if(v==IfcLightSourcePositional ) { return IfcLightSource; } - if(v==IfcLightSourceSpot ) { return IfcLightSourcePositional; } - if(v==IfcLine ) { return IfcCurve; } - if(v==IfcLocalPlacement ) { return IfcObjectPlacement; } - if(v==IfcLoop ) { return IfcTopologicalRepresentationItem; } - if(v==IfcManifoldSolidBrep ) { return IfcSolidModel; } - if(v==IfcMapConversion ) { return IfcCoordinateOperation; } - if(v==IfcMappedItem ) { return IfcRepresentationItem; } - if(v==IfcMaterial ) { return IfcMaterialDefinition; } - if(v==IfcMaterialConstituent ) { return IfcMaterialDefinition; } - if(v==IfcMaterialConstituentSet ) { return IfcMaterialDefinition; } - if(v==IfcMaterialDefinitionRepresentation ) { return IfcProductRepresentation; } - if(v==IfcMaterialLayer ) { return IfcMaterialDefinition; } - if(v==IfcMaterialLayerSet ) { return IfcMaterialDefinition; } - if(v==IfcMaterialLayerSetUsage ) { return IfcMaterialUsageDefinition; } - if(v==IfcMaterialLayerWithOffsets ) { return IfcMaterialLayer; } - if(v==IfcMaterialProfile ) { return IfcMaterialDefinition; } - if(v==IfcMaterialProfileSet ) { return IfcMaterialDefinition; } - if(v==IfcMaterialProfileSetUsage ) { return IfcMaterialUsageDefinition; } - if(v==IfcMaterialProfileSetUsageTapering ) { return IfcMaterialProfileSetUsage; } - if(v==IfcMaterialProfileWithOffsets ) { return IfcMaterialProfile; } - if(v==IfcMaterialProperties ) { return IfcExtendedProperties; } - if(v==IfcMaterialRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcMechanicalFastener ) { return IfcElementComponent; } - if(v==IfcMechanicalFastenerType ) { return IfcElementComponentType; } - if(v==IfcMedicalDevice ) { return IfcFlowTerminal; } - if(v==IfcMedicalDeviceType ) { return IfcFlowTerminalType; } - if(v==IfcMember ) { return IfcBuildingElement; } - if(v==IfcMemberStandardCase ) { return IfcMember; } - if(v==IfcMemberType ) { return IfcBuildingElementType; } - if(v==IfcMetric ) { return IfcConstraint; } - if(v==IfcMirroredProfileDef ) { return IfcDerivedProfileDef; } - if(v==IfcMotorConnection ) { return IfcEnergyConversionDevice; } - if(v==IfcMotorConnectionType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcObject ) { return IfcObjectDefinition; } - if(v==IfcObjectDefinition ) { return IfcRoot; } - if(v==IfcObjective ) { return IfcConstraint; } - if(v==IfcOccupant ) { return IfcActor; } - if(v==IfcOffsetCurve2D ) { return IfcCurve; } - if(v==IfcOffsetCurve3D ) { return IfcCurve; } - if(v==IfcOpenShell ) { return IfcConnectedFaceSet; } - if(v==IfcOpeningElement ) { return IfcFeatureElementSubtraction; } - if(v==IfcOpeningStandardCase ) { return IfcOpeningElement; } - if(v==IfcOrganizationRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcOrientedEdge ) { return IfcEdge; } - if(v==IfcOuterBoundaryCurve ) { return IfcBoundaryCurve; } - if(v==IfcOutlet ) { return IfcFlowTerminal; } - if(v==IfcOutletType ) { return IfcFlowTerminalType; } - if(v==IfcParameterizedProfileDef ) { return IfcProfileDef; } - if(v==IfcPath ) { return IfcTopologicalRepresentationItem; } - if(v==IfcPcurve ) { return IfcCurve; } - if(v==IfcPerformanceHistory ) { return IfcControl; } - if(v==IfcPermeableCoveringProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcPermit ) { return IfcControl; } - if(v==IfcPhysicalComplexQuantity ) { return IfcPhysicalQuantity; } - if(v==IfcPhysicalSimpleQuantity ) { return IfcPhysicalQuantity; } - if(v==IfcPile ) { return IfcBuildingElement; } - if(v==IfcPileType ) { return IfcBuildingElementType; } - if(v==IfcPipeFitting ) { return IfcFlowFitting; } - if(v==IfcPipeFittingType ) { return IfcFlowFittingType; } - if(v==IfcPipeSegment ) { return IfcFlowSegment; } - if(v==IfcPipeSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcPixelTexture ) { return IfcSurfaceTexture; } - if(v==IfcPlacement ) { return IfcGeometricRepresentationItem; } - if(v==IfcPlanarBox ) { return IfcPlanarExtent; } - if(v==IfcPlanarExtent ) { return IfcGeometricRepresentationItem; } - if(v==IfcPlane ) { return IfcElementarySurface; } - if(v==IfcPlate ) { return IfcBuildingElement; } - if(v==IfcPlateStandardCase ) { return IfcPlate; } - if(v==IfcPlateType ) { return IfcBuildingElementType; } - if(v==IfcPoint ) { return IfcGeometricRepresentationItem; } - if(v==IfcPointOnCurve ) { return IfcPoint; } - if(v==IfcPointOnSurface ) { return IfcPoint; } - if(v==IfcPolyLoop ) { return IfcLoop; } - if(v==IfcPolygonalBoundedHalfSpace ) { return IfcHalfSpaceSolid; } - if(v==IfcPolyline ) { return IfcBoundedCurve; } - if(v==IfcPort ) { return IfcProduct; } - if(v==IfcPostalAddress ) { return IfcAddress; } - if(v==IfcPreDefinedColour ) { return IfcPreDefinedItem; } - if(v==IfcPreDefinedCurveFont ) { return IfcPreDefinedItem; } - if(v==IfcPreDefinedItem ) { return IfcPresentationItem; } - if(v==IfcPreDefinedProperties ) { return IfcPropertyAbstraction; } - if(v==IfcPreDefinedPropertySet ) { return IfcPropertySetDefinition; } - if(v==IfcPreDefinedTextFont ) { return IfcPreDefinedItem; } - if(v==IfcPresentationLayerWithStyle ) { return IfcPresentationLayerAssignment; } - if(v==IfcProcedure ) { return IfcProcess; } - if(v==IfcProcedureType ) { return IfcTypeProcess; } - if(v==IfcProcess ) { return IfcObject; } - if(v==IfcProduct ) { return IfcObject; } - if(v==IfcProductDefinitionShape ) { return IfcProductRepresentation; } - if(v==IfcProfileProperties ) { return IfcExtendedProperties; } - if(v==IfcProject ) { return IfcContext; } - if(v==IfcProjectLibrary ) { return IfcContext; } - if(v==IfcProjectOrder ) { return IfcControl; } - if(v==IfcProjectedCRS ) { return IfcCoordinateReferenceSystem; } - if(v==IfcProjectionElement ) { return IfcFeatureElementAddition; } - if(v==IfcProperty ) { return IfcPropertyAbstraction; } - if(v==IfcPropertyBoundedValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyDefinition ) { return IfcRoot; } - if(v==IfcPropertyDependencyRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcPropertyEnumeratedValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyEnumeration ) { return IfcPropertyAbstraction; } - if(v==IfcPropertyListValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyReferenceValue ) { return IfcSimpleProperty; } - if(v==IfcPropertySet ) { return IfcPropertySetDefinition; } - if(v==IfcPropertySetDefinition ) { return IfcPropertyDefinition; } - if(v==IfcPropertySetTemplate ) { return IfcPropertyTemplateDefinition; } - if(v==IfcPropertySingleValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyTableValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyTemplate ) { return IfcPropertyTemplateDefinition; } - if(v==IfcPropertyTemplateDefinition ) { return IfcPropertyDefinition; } - if(v==IfcProtectiveDevice ) { return IfcFlowController; } - if(v==IfcProtectiveDeviceTrippingUnit ) { return IfcDistributionControlElement; } - if(v==IfcProtectiveDeviceTrippingUnitType ) { return IfcDistributionControlElementType; } - if(v==IfcProtectiveDeviceType ) { return IfcFlowControllerType; } - if(v==IfcProxy ) { return IfcProduct; } - if(v==IfcPump ) { return IfcFlowMovingDevice; } - if(v==IfcPumpType ) { return IfcFlowMovingDeviceType; } - if(v==IfcQuantityArea ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityCount ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityLength ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantitySet ) { return IfcPropertySetDefinition; } - if(v==IfcQuantityTime ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityVolume ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityWeight ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcRailing ) { return IfcBuildingElement; } - if(v==IfcRailingType ) { return IfcBuildingElementType; } - if(v==IfcRamp ) { return IfcBuildingElement; } - if(v==IfcRampFlight ) { return IfcBuildingElement; } - if(v==IfcRampFlightType ) { return IfcBuildingElementType; } - if(v==IfcRampType ) { return IfcBuildingElementType; } - if(v==IfcRationalBSplineCurveWithKnots ) { return IfcBSplineCurveWithKnots; } - if(v==IfcRationalBSplineSurfaceWithKnots ) { return IfcBSplineSurfaceWithKnots; } - if(v==IfcRectangleHollowProfileDef ) { return IfcRectangleProfileDef; } - if(v==IfcRectangleProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcRectangularPyramid ) { return IfcCsgPrimitive3D; } - if(v==IfcRectangularTrimmedSurface ) { return IfcBoundedSurface; } - if(v==IfcRegularTimeSeries ) { return IfcTimeSeries; } - if(v==IfcReinforcementBarProperties ) { return IfcPreDefinedProperties; } - if(v==IfcReinforcementDefinitionProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcReinforcingBar ) { return IfcReinforcingElement; } - if(v==IfcReinforcingBarType ) { return IfcReinforcingElementType; } - if(v==IfcReinforcingElement ) { return IfcElementComponent; } - if(v==IfcReinforcingElementType ) { return IfcElementComponentType; } - if(v==IfcReinforcingMesh ) { return IfcReinforcingElement; } - if(v==IfcReinforcingMeshType ) { return IfcReinforcingElementType; } - if(v==IfcRelAggregates ) { return IfcRelDecomposes; } - if(v==IfcRelAssigns ) { return IfcRelationship; } - if(v==IfcRelAssignsToActor ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToControl ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToGroup ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToGroupByFactor ) { return IfcRelAssignsToGroup; } - if(v==IfcRelAssignsToProcess ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToProduct ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToResource ) { return IfcRelAssigns; } - if(v==IfcRelAssociates ) { return IfcRelationship; } - if(v==IfcRelAssociatesApproval ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesClassification ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesConstraint ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesDocument ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesLibrary ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesMaterial ) { return IfcRelAssociates; } - if(v==IfcRelConnects ) { return IfcRelationship; } - if(v==IfcRelConnectsElements ) { return IfcRelConnects; } - if(v==IfcRelConnectsPathElements ) { return IfcRelConnectsElements; } - if(v==IfcRelConnectsPortToElement ) { return IfcRelConnects; } - if(v==IfcRelConnectsPorts ) { return IfcRelConnects; } - if(v==IfcRelConnectsStructuralActivity ) { return IfcRelConnects; } - if(v==IfcRelConnectsStructuralMember ) { return IfcRelConnects; } - if(v==IfcRelConnectsWithEccentricity ) { return IfcRelConnectsStructuralMember; } - if(v==IfcRelConnectsWithRealizingElements ) { return IfcRelConnectsElements; } - if(v==IfcRelContainedInSpatialStructure ) { return IfcRelConnects; } - if(v==IfcRelCoversBldgElements ) { return IfcRelConnects; } - if(v==IfcRelCoversSpaces ) { return IfcRelConnects; } - if(v==IfcRelDeclares ) { return IfcRelationship; } - if(v==IfcRelDecomposes ) { return IfcRelationship; } - if(v==IfcRelDefines ) { return IfcRelationship; } - if(v==IfcRelDefinesByObject ) { return IfcRelDefines; } - if(v==IfcRelDefinesByProperties ) { return IfcRelDefines; } - if(v==IfcRelDefinesByTemplate ) { return IfcRelDefines; } - if(v==IfcRelDefinesByType ) { return IfcRelDefines; } - if(v==IfcRelFillsElement ) { return IfcRelConnects; } - if(v==IfcRelFlowControlElements ) { return IfcRelConnects; } - if(v==IfcRelInterferesElements ) { return IfcRelConnects; } - if(v==IfcRelNests ) { return IfcRelDecomposes; } - if(v==IfcRelProjectsElement ) { return IfcRelDecomposes; } - if(v==IfcRelReferencedInSpatialStructure ) { return IfcRelConnects; } - if(v==IfcRelSequence ) { return IfcRelConnects; } - if(v==IfcRelServicesBuildings ) { return IfcRelConnects; } - if(v==IfcRelSpaceBoundary ) { return IfcRelConnects; } - if(v==IfcRelSpaceBoundary1stLevel ) { return IfcRelSpaceBoundary; } - if(v==IfcRelSpaceBoundary2ndLevel ) { return IfcRelSpaceBoundary1stLevel; } - if(v==IfcRelVoidsElement ) { return IfcRelDecomposes; } - if(v==IfcRelationship ) { return IfcRoot; } - if(v==IfcReparametrisedCompositeCurveSegment ) { return IfcCompositeCurveSegment; } - if(v==IfcResource ) { return IfcObject; } - if(v==IfcResourceApprovalRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcResourceConstraintRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcResourceTime ) { return IfcSchedulingTime; } - if(v==IfcRevolvedAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcRevolvedAreaSolidTapered ) { return IfcRevolvedAreaSolid; } - if(v==IfcRightCircularCone ) { return IfcCsgPrimitive3D; } - if(v==IfcRightCircularCylinder ) { return IfcCsgPrimitive3D; } - if(v==IfcRoof ) { return IfcBuildingElement; } - if(v==IfcRoofType ) { return IfcBuildingElementType; } - if(v==IfcRoundedRectangleProfileDef ) { return IfcRectangleProfileDef; } - if(v==IfcSIUnit ) { return IfcNamedUnit; } - if(v==IfcSanitaryTerminal ) { return IfcFlowTerminal; } - if(v==IfcSanitaryTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcSectionProperties ) { return IfcPreDefinedProperties; } - if(v==IfcSectionReinforcementProperties ) { return IfcPreDefinedProperties; } - if(v==IfcSectionedSpine ) { return IfcGeometricRepresentationItem; } - if(v==IfcSensor ) { return IfcDistributionControlElement; } - if(v==IfcSensorType ) { return IfcDistributionControlElementType; } - if(v==IfcShadingDevice ) { return IfcBuildingElement; } - if(v==IfcShadingDeviceType ) { return IfcBuildingElementType; } - if(v==IfcShapeModel ) { return IfcRepresentation; } - if(v==IfcShapeRepresentation ) { return IfcShapeModel; } - if(v==IfcShellBasedSurfaceModel ) { return IfcGeometricRepresentationItem; } - if(v==IfcSimpleProperty ) { return IfcProperty; } - if(v==IfcSimplePropertyTemplate ) { return IfcPropertyTemplate; } - if(v==IfcSite ) { return IfcSpatialStructureElement; } - if(v==IfcSlab ) { return IfcBuildingElement; } - if(v==IfcSlabElementedCase ) { return IfcSlab; } - if(v==IfcSlabStandardCase ) { return IfcSlab; } - if(v==IfcSlabType ) { return IfcBuildingElementType; } - if(v==IfcSlippageConnectionCondition ) { return IfcStructuralConnectionCondition; } - if(v==IfcSolarDevice ) { return IfcEnergyConversionDevice; } - if(v==IfcSolarDeviceType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcSolidModel ) { return IfcGeometricRepresentationItem; } - if(v==IfcSpace ) { return IfcSpatialStructureElement; } - if(v==IfcSpaceHeater ) { return IfcFlowTerminal; } - if(v==IfcSpaceHeaterType ) { return IfcFlowTerminalType; } - if(v==IfcSpaceType ) { return IfcSpatialStructureElementType; } - if(v==IfcSpatialElement ) { return IfcProduct; } - if(v==IfcSpatialElementType ) { return IfcTypeProduct; } - if(v==IfcSpatialStructureElement ) { return IfcSpatialElement; } - if(v==IfcSpatialStructureElementType ) { return IfcSpatialElementType; } - if(v==IfcSpatialZone ) { return IfcSpatialElement; } - if(v==IfcSpatialZoneType ) { return IfcSpatialElementType; } - if(v==IfcSphere ) { return IfcCsgPrimitive3D; } - if(v==IfcStackTerminal ) { return IfcFlowTerminal; } - if(v==IfcStackTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcStair ) { return IfcBuildingElement; } - if(v==IfcStairFlight ) { return IfcBuildingElement; } - if(v==IfcStairFlightType ) { return IfcBuildingElementType; } - if(v==IfcStairType ) { return IfcBuildingElementType; } - if(v==IfcStructuralAction ) { return IfcStructuralActivity; } - if(v==IfcStructuralActivity ) { return IfcProduct; } - if(v==IfcStructuralAnalysisModel ) { return IfcSystem; } - if(v==IfcStructuralConnection ) { return IfcStructuralItem; } - if(v==IfcStructuralCurveAction ) { return IfcStructuralAction; } - if(v==IfcStructuralCurveConnection ) { return IfcStructuralConnection; } - if(v==IfcStructuralCurveMember ) { return IfcStructuralMember; } - if(v==IfcStructuralCurveMemberVarying ) { return IfcStructuralCurveMember; } - if(v==IfcStructuralCurveReaction ) { return IfcStructuralReaction; } - if(v==IfcStructuralItem ) { return IfcProduct; } - if(v==IfcStructuralLinearAction ) { return IfcStructuralCurveAction; } - if(v==IfcStructuralLoadCase ) { return IfcStructuralLoadGroup; } - if(v==IfcStructuralLoadConfiguration ) { return IfcStructuralLoad; } - if(v==IfcStructuralLoadGroup ) { return IfcGroup; } - if(v==IfcStructuralLoadLinearForce ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadOrResult ) { return IfcStructuralLoad; } - if(v==IfcStructuralLoadPlanarForce ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadSingleDisplacement ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadSingleDisplacementDistortion ) { return IfcStructuralLoadSingleDisplacement; } - if(v==IfcStructuralLoadSingleForce ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadSingleForceWarping ) { return IfcStructuralLoadSingleForce; } - if(v==IfcStructuralLoadStatic ) { return IfcStructuralLoadOrResult; } - if(v==IfcStructuralLoadTemperature ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralMember ) { return IfcStructuralItem; } - if(v==IfcStructuralPlanarAction ) { return IfcStructuralSurfaceAction; } - if(v==IfcStructuralPointAction ) { return IfcStructuralAction; } - if(v==IfcStructuralPointConnection ) { return IfcStructuralConnection; } - if(v==IfcStructuralPointReaction ) { return IfcStructuralReaction; } - if(v==IfcStructuralReaction ) { return IfcStructuralActivity; } - if(v==IfcStructuralResultGroup ) { return IfcGroup; } - if(v==IfcStructuralSurfaceAction ) { return IfcStructuralAction; } - if(v==IfcStructuralSurfaceConnection ) { return IfcStructuralConnection; } - if(v==IfcStructuralSurfaceMember ) { return IfcStructuralMember; } - if(v==IfcStructuralSurfaceMemberVarying ) { return IfcStructuralSurfaceMember; } - if(v==IfcStructuralSurfaceReaction ) { return IfcStructuralReaction; } - if(v==IfcStyleModel ) { return IfcRepresentation; } - if(v==IfcStyledItem ) { return IfcRepresentationItem; } - if(v==IfcStyledRepresentation ) { return IfcStyleModel; } - if(v==IfcSubContractResource ) { return IfcConstructionResource; } - if(v==IfcSubContractResourceType ) { return IfcConstructionResourceType; } - if(v==IfcSubedge ) { return IfcEdge; } - if(v==IfcSurface ) { return IfcGeometricRepresentationItem; } - if(v==IfcSurfaceCurveSweptAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcSurfaceFeature ) { return IfcFeatureElement; } - if(v==IfcSurfaceOfLinearExtrusion ) { return IfcSweptSurface; } - if(v==IfcSurfaceOfRevolution ) { return IfcSweptSurface; } - if(v==IfcSurfaceReinforcementArea ) { return IfcStructuralLoadOrResult; } - if(v==IfcSurfaceStyle ) { return IfcPresentationStyle; } - if(v==IfcSurfaceStyleLighting ) { return IfcPresentationItem; } - if(v==IfcSurfaceStyleRefraction ) { return IfcPresentationItem; } - if(v==IfcSurfaceStyleRendering ) { return IfcSurfaceStyleShading; } - if(v==IfcSurfaceStyleShading ) { return IfcPresentationItem; } - if(v==IfcSurfaceStyleWithTextures ) { return IfcPresentationItem; } - if(v==IfcSurfaceTexture ) { return IfcPresentationItem; } - if(v==IfcSweptAreaSolid ) { return IfcSolidModel; } - if(v==IfcSweptDiskSolid ) { return IfcSolidModel; } - if(v==IfcSweptDiskSolidPolygonal ) { return IfcSweptDiskSolid; } - if(v==IfcSweptSurface ) { return IfcSurface; } - if(v==IfcSwitchingDevice ) { return IfcFlowController; } - if(v==IfcSwitchingDeviceType ) { return IfcFlowControllerType; } - if(v==IfcSystem ) { return IfcGroup; } - if(v==IfcSystemFurnitureElement ) { return IfcFurnishingElement; } - if(v==IfcSystemFurnitureElementType ) { return IfcFurnishingElementType; } - if(v==IfcTShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcTank ) { return IfcFlowStorageDevice; } - if(v==IfcTankType ) { return IfcFlowStorageDeviceType; } - if(v==IfcTask ) { return IfcProcess; } - if(v==IfcTaskTime ) { return IfcSchedulingTime; } - if(v==IfcTaskTimeRecurring ) { return IfcTaskTime; } - if(v==IfcTaskType ) { return IfcTypeProcess; } - if(v==IfcTelecomAddress ) { return IfcAddress; } - if(v==IfcTendon ) { return IfcReinforcingElement; } - if(v==IfcTendonAnchor ) { return IfcReinforcingElement; } - if(v==IfcTendonAnchorType ) { return IfcReinforcingElementType; } - if(v==IfcTendonType ) { return IfcReinforcingElementType; } - if(v==IfcTessellatedFaceSet ) { return IfcTessellatedItem; } - if(v==IfcTessellatedItem ) { return IfcGeometricRepresentationItem; } - if(v==IfcTextLiteral ) { return IfcGeometricRepresentationItem; } - if(v==IfcTextLiteralWithExtent ) { return IfcTextLiteral; } - if(v==IfcTextStyle ) { return IfcPresentationStyle; } - if(v==IfcTextStyleFontModel ) { return IfcPreDefinedTextFont; } - if(v==IfcTextStyleForDefinedFont ) { return IfcPresentationItem; } - if(v==IfcTextStyleTextModel ) { return IfcPresentationItem; } - if(v==IfcTextureCoordinate ) { return IfcPresentationItem; } - if(v==IfcTextureCoordinateGenerator ) { return IfcTextureCoordinate; } - if(v==IfcTextureMap ) { return IfcTextureCoordinate; } - if(v==IfcTextureVertex ) { return IfcPresentationItem; } - if(v==IfcTextureVertexList ) { return IfcPresentationItem; } - if(v==IfcTopologicalRepresentationItem ) { return IfcRepresentationItem; } - if(v==IfcTopologyRepresentation ) { return IfcShapeModel; } - if(v==IfcTransformer ) { return IfcEnergyConversionDevice; } - if(v==IfcTransformerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcTransportElement ) { return IfcElement; } - if(v==IfcTransportElementType ) { return IfcElementType; } - if(v==IfcTrapeziumProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcTriangulatedFaceSet ) { return IfcTessellatedFaceSet; } - if(v==IfcTrimmedCurve ) { return IfcBoundedCurve; } - if(v==IfcTubeBundle ) { return IfcEnergyConversionDevice; } - if(v==IfcTubeBundleType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcTypeObject ) { return IfcObjectDefinition; } - if(v==IfcTypeProcess ) { return IfcTypeObject; } - if(v==IfcTypeProduct ) { return IfcTypeObject; } - if(v==IfcTypeResource ) { return IfcTypeObject; } - if(v==IfcUShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcUnitaryControlElement ) { return IfcDistributionControlElement; } - if(v==IfcUnitaryControlElementType ) { return IfcDistributionControlElementType; } - if(v==IfcUnitaryEquipment ) { return IfcEnergyConversionDevice; } - if(v==IfcUnitaryEquipmentType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcValve ) { return IfcFlowController; } - if(v==IfcValveType ) { return IfcFlowControllerType; } - if(v==IfcVector ) { return IfcGeometricRepresentationItem; } - if(v==IfcVertex ) { return IfcTopologicalRepresentationItem; } - if(v==IfcVertexLoop ) { return IfcLoop; } - if(v==IfcVertexPoint ) { return IfcVertex; } - if(v==IfcVibrationIsolator ) { return IfcElementComponent; } - if(v==IfcVibrationIsolatorType ) { return IfcElementComponentType; } - if(v==IfcVirtualElement ) { return IfcElement; } - if(v==IfcVoidingFeature ) { return IfcFeatureElementSubtraction; } - if(v==IfcWall ) { return IfcBuildingElement; } - if(v==IfcWallElementedCase ) { return IfcWall; } - if(v==IfcWallStandardCase ) { return IfcWall; } - if(v==IfcWallType ) { return IfcBuildingElementType; } - if(v==IfcWasteTerminal ) { return IfcFlowTerminal; } - if(v==IfcWasteTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcWindow ) { return IfcBuildingElement; } - if(v==IfcWindowLiningProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcWindowPanelProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcWindowStandardCase ) { return IfcWindow; } - if(v==IfcWindowStyle ) { return IfcTypeProduct; } - if(v==IfcWindowType ) { return IfcBuildingElementType; } - if(v==IfcWorkCalendar ) { return IfcControl; } - if(v==IfcWorkControl ) { return IfcControl; } - if(v==IfcWorkPlan ) { return IfcWorkControl; } - if(v==IfcWorkSchedule ) { return IfcWorkControl; } - if(v==IfcWorkTime ) { return IfcSchedulingTime; } - if(v==IfcZShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcZone ) { return IfcSystem; } - return (Enum)-1; +static int parent_map[] = {-1,-1,199,-1,-1,-1,606,-1,-1,273,274,-1,-1,-1,543,14,387,428,411,412,-1,429,-1,354,355,-1,273,274,-1,-1,-1,-1,-1,699,451,-1,-1,-1,-1,842,704,704,40,-1,-1,-1,-1,462,631,428,429,-1,657,-1,657,657,84,-1,56,85,-1,59,90,62,97,-1,-1,-1,1003,226,354,355,-1,-1,77,-1,-1,451,-1,164,78,78,78,82,234,987,451,-1,463,917,342,346,347,-1,90,97,-1,350,917,1011,-1,354,355,-1,631,414,415,-1,424,425,-1,414,415,-1,424,425,-1,-1,667,451,119,451,121,122,121,124,41,-1,354,355,-1,90,97,-1,174,136,631,342,350,372,373,-1,-1,175,354,355,-1,-1,-1,151,687,687,90,152,97,-1,428,429,-1,-1,715,732,-1,84,163,451,704,-1,422,423,-1,354,355,-1,234,1071,177,-1,179,177,177,-1,177,-1,-1,194,195,-1,194,195,-1,194,195,-1,839,1093,607,-1,601,606,273,274,-1,601,203,354,355,-1,354,355,-1,-1,-1,-1,199,-1,199,-1,36,-1,90,97,-1,194,195,-1,451,-1,902,842,90,97,-1,-1,451,85,85,-1,-1,-1,-1,690,687,687,687,-1,351,411,412,-1,-1,-1,-1,-1,-1,-1,-1,704,-1,-1,-1,-1,-1,-1,451,-1,346,347,-1,277,278,-1,281,275,276,342,350,275,276,674,-1,1011,-1,-1,372,842,373,-1,-1,90,684,-1,-1,684,289,1092,-1,-1,97,-1,-1,-1,680,681,414,415,-1,424,425,-1,430,431,-1,-1,-1,1071,315,537,428,429,-1,-1,-1,-1,-1,411,412,-1,426,427,-1,354,355,-1,354,355,-1,-1,411,412,-1,-1,699,342,350,-1,342,350,-1,747,1092,987,174,631,277,278,-1,354,355,-1,354,355,-1,354,355,-1,697,866,-1,1091,-1,716,-1,-1,842,377,-1,915,373,373,373,1004,381,1071,451,1071,385,383,543,388,942,422,423,-1,346,347,-1,342,397,397,690,451,451,-1,430,431,-1,428,429,-1,1004,277,278,-1,277,278,273,274,-1,411,412,-1,277,278,277,278,277,278,277,278,277,278,-1,-1,-1,90,97,-1,-1,-1,342,350,440,441,-1,342,350,-1,453,-1,836,837,450,451,-1,-1,-1,699,-1,608,-1,-1,606,451,-1,354,355,-1,-1,-1,354,355,-1,631,-1,-1,1003,687,1052,478,-1,-1,-1,430,431,-1,-1,462,-1,-1,1067,-1,-1,414,415,-1,-1,-1,631,-1,194,195,-1,866,428,429,-1,-1,-1,-1,-1,372,373,-1,-1,-1,-1,-1,428,429,-1,-1,451,522,522,522,522,526,234,-1,-1,-1,-1,-1,608,-1,-1,1071,-1,-1,-1,-1,-1,902,211,837,-1,-1,-1,-1,554,-1,554,554,-1,701,554,554,569,556,-1,554,554,569,563,561,371,842,-1,-1,-1,-1,346,347,-1,428,429,-1,90,578,97,-1,183,-1,257,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,354,355,-1,-1,-1,-1,-1,-1,607,854,-1,-1,-1,183,-1,6,-1,234,234,175,399,-1,618,-1,842,315,79,428,429,-1,-1,-1,-1,704,1071,234,199,-1,-1,684,199,-1,-1,-1,644,-1,-1,644,90,-1,97,-1,414,415,-1,424,425,-1,1003,451,659,451,-1,351,-1,90,663,97,-1,451,667,667,-1,537,463,84,699,-1,-1,-1,12,-1,682,682,687,716,725,682,-1,-1,-1,688,-1,-1,-1,-1,697,1091,-1,606,-1,606,701,-1,-1,-1,-1,371,-1,196,196,199,-1,212,-1,398,-1,716,-1,886,854,842,886,716,886,886,725,718,-1,-1,733,-1,886,886,733,718,411,273,274,-1,412,-1,699,422,423,-1,645,645,645,725,645,645,645,-1,90,97,-1,90,90,97,-1,97,-1,-1,58,61,-1,766,631,226,85,-1,-1,-1,-1,1067,683,684,781,-1,-1,782,-1,346,347,781,782,-1,815,833,787,787,787,790,787,787,787,833,795,795,795,795,795,795,833,802,803,802,802,802,802,808,803,802,802,802,833,833,833,816,816,816,816,802,802,802,815,815,802,802,802,802,829,830,815,854,165,-1,-1,-1,-1,606,842,842,-1,-1,-1,866,1004,846,226,226,-1,90,97,-1,-1,-1,-1,-1,-1,766,-1,601,-1,428,429,-1,-1,-1,683,683,-1,-1,451,273,274,-1,-1,90,97,-1,-1,835,881,-1,-1,451,715,732,-1,-1,917,-1,90,892,892,97,-1,942,354,355,-1,-1,451,-1,-1,-1,-1,-1,917,-1,428,429,-1,918,-1,699,1092,915,916,915,916,-1,-1,-1,-1,-1,226,428,429,-1,90,90,97,-1,97,-1,-1,938,699,-1,1011,950,-1,937,-1,941,965,-1,946,970,699,943,-1,955,952,462,963,952,963,963,959,963,961,957,963,950,972,937,941,970,938,462,937,-1,941,965,-1,975,970,-1,835,837,980,194,195,-1,315,451,1004,397,-1,1007,1007,-1,957,-1,690,-1,687,687,1001,687,687,687,902,902,1005,987,411,412,-1,462,440,441,-1,631,-1,-1,-1,426,427,-1,697,-1,866,1024,1091,-1,12,-1,-1,781,781,782,-1,782,-1,1038,451,-1,-1,-1,-1,-1,451,1044,-1,690,685,687,687,-1,687,1052,1052,687,687,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,837,881,-1,354,355,-1,-1,-1,342,350,-1,631,1037,84,-1,-1,354,355,-1,607,1090,1090,1090,-1,631,-1,-1,-1,273,274,-1,354,355,-1,-1,411,412,-1,-1,451,-1,1071,537,1112,346,347,-1,342,-1,399,-1,-1,-1,90,1124,1124,97,-1,-1,-1,-1,428,429,-1,90,684,-1,-1,684,1135,1092,-1,-1,97,-1,-1,199,-1,199,1149,-1,1149,-1,866,631,1011}; +boost::optional Type::Parent(Enum v){ + const int p = parent_map[static_cast(v)]; + if (p >= 0) { + return static_cast(p); + } else { + return boost::none; + } } bool Type::IsSimple(Enum v) { diff --git a/src/ifcparse/Ifc4enum.h b/src/ifcparse/Ifc4enum.h index afd5aa744b..46cb7a3f80 100644 --- a/src/ifcparse/Ifc4enum.h +++ b/src/ifcparse/Ifc4enum.h @@ -27,6 +27,8 @@ #ifndef IFC4ENUM_H #define IFC4ENUM_H +#include + #define IfcSchema Ifc4 namespace Ifc4 { @@ -35,7 +37,7 @@ namespace Type { typedef enum { IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionRequestTypeEnum, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuator, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarm, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcAppliedValueSelect, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcAreaDensityMeasure, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAudioVisualApplianceTypeEnum, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceForm, IfcBSplineSurfaceWithKnots, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBendingParameterSelect, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementPartTypeEnum, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBuildingSystemTypeEnum, IfcBurner, IfcBurnerType, IfcBurnerTypeEnum, IfcCShapeProfileDef, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableFitting, IfcCableFittingType, IfcCableFittingTypeEnum, IfcCableSegment, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCardinalPointReference, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChangeActionEnum, IfcChiller, IfcChillerType, IfcChillerTypeEnum, IfcChimney, IfcChimneyType, IfcChimneyTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClassificationReferenceSelect, IfcClassificationSelect, IfcClosedShell, IfcCoil, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcColumnTypeEnum, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcCommunicationsApplianceTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcComplexPropertyTemplate, IfcComplexPropertyTemplateTypeEnum, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressor, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenser, IfcCondenserType, IfcCondenserTypeEnum, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstraintEnum, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionEquipmentResourceTypeEnum, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionMaterialResourceTypeEnum, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionProductResourceTypeEnum, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTower, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCoordinateReferenceSystemSelect, IfcCostItem, IfcCostItemTypeEnum, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCrewResource, IfcCrewResourceType, IfcCrewResourceTypeEnum, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveFontOrScaledCurveFontSelect, IfcCurveInterpolationEnum, IfcCurveOnSurface, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDate, IfcDateTime, IfcDayInMonthNumber, IfcDayInWeekNumber, IfcDefinitionSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDimensionCount, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDiscreteAccessoryTypeEnum, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionPortTypeEnum, IfcDistributionSystem, IfcDistributionSystemEnum, IfcDocumentConfidentialityEnum, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoorType, IfcDoorTypeEnum, IfcDoorTypeOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencer, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDuration, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricDistributionBoardTypeEnum, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricMotor, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElement, IfcElementAssembly, IfcElementAssemblyType, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEngine, IfcEngineType, IfcEngineTypeEnum, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporator, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcEvent, IfcEventTime, IfcEventTriggerTypeEnum, IfcEventType, IfcEventTypeEnum, IfcExtendedProperties, IfcExternalInformation, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialElementTypeEnum, IfcExternalSpatialStructureElement, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFastenerTypeEnum, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilter, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeter, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingType, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcFurnitureTypeEnum, IfcGeographicElement, IfcGeographicElementType, IfcGeographicElementTypeEnum, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGridPlacementDirectionSelect, IfcGridTypeEnum, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchanger, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHumidifier, IfcHumidifierType, IfcHumidifierTypeEnum, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcIndexedColourMap, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInterceptor, IfcInterceptorType, IfcInterceptorTypeEnum, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBox, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcKnotType, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLaborResourceType, IfcLaborResourceTypeEnum, IfcLagTime, IfcLamp, IfcLampType, IfcLampTypeEnum, IfcLanguageId, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixture, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialSelect, IfcMaterialUsageDefinition, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalFastenerTypeEnum, IfcMedicalDevice, IfcMedicalDeviceType, IfcMedicalDeviceTypeEnum, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMirroredProfileDef, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionSelect, IfcModulusOfSubgradeReactionMeasure, IfcModulusOfSubgradeReactionSelect, IfcModulusOfTranslationalSubgradeReactionSelect, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnection, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcNamedUnit, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpenShell, IfcOpeningElement, IfcOpeningElementTypeEnum, IfcOpeningStandardCase, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPerformanceHistoryTypeEnum, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPermitTypeEnum, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileType, IfcPileTypeEnum, IfcPipeFitting, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegment, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureType, IfcProcedureTypeEnum, IfcProcess, IfcProcessSelect, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductRepresentationSelect, IfcProductSelect, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectLibrary, IfcProjectOrder, IfcProjectOrderTypeEnum, IfcProjectedCRS, IfcProjectedOrTrueLengthEnum, IfcProjectionElement, IfcProjectionElementTypeEnum, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetDefinitionSelect, IfcPropertySetDefinitionSet, IfcPropertySetTemplate, IfcPropertySetTemplateTypeEnum, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceTrippingUnitTypeEnum, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPump, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampType, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcRecurrenceTypeEnum, IfcReference, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingBarType, IfcReinforcingBarTypeEnum, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcReinforcingMeshTypeEnum, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcRelationship, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceObjectSelect, IfcResourceSelect, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofType, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRotationalStiffnessSelect, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcSchedulingTime, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSensor, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcShadingDevice, IfcShadingDeviceType, IfcShadingDeviceTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSimplePropertyTemplateTypeEnum, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolarDeviceTypeEnum, IfcSolidAngleMeasure, IfcSolidModel, IfcSolidOrShell, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpace, IfcSpaceBoundarySelect, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSpatialZoneTypeEnum, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminal, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairType, IfcStairTypeEnum, IfcStateEnum, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveActivityTypeEnum, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberTypeEnum, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceActivityTypeEnum, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberTypeEnum, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleAssignmentSelect, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubContractResourceType, IfcSubContractResourceTypeEnum, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceFeatureTypeEnum, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceReinforcementArea, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcSystemFurnitureElementTypeEnum, IfcTShapeProfileDef, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTaskDurationEnum, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTaskTypeEnum, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonAnchorTypeEnum, IfcTendonType, IfcTendonTypeEnum, IfcTessellatedFaceSet, IfcTessellatedItem, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeOrRatioSelect, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformer, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTranslationalStiffnessSelect, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundle, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcURIReference, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryControlElementTypeEnum, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValve, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcVoidingFeatureTypeEnum, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWarpingStiffnessSelect, IfcWasteTerminal, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWindowType, IfcWindowTypeEnum, IfcWindowTypePartitioningEnum, IfcWorkCalendar, IfcWorkCalendarTypeEnum, IfcWorkControl, IfcWorkPlan, IfcWorkPlanTypeEnum, IfcWorkSchedule, IfcWorkScheduleTypeEnum, IfcWorkTime, IfcZShapeProfileDef, IfcZone, UNDEFINED } Enum; - Enum Parent(Enum v); + boost::optional Parent(Enum v); Enum FromString(const std::string& s); std::string ToString(Enum v); bool IsSimple(Enum v); diff --git a/src/ifcparse/IfcLateBoundEntity.cpp b/src/ifcparse/IfcLateBoundEntity.cpp index d389b3461f..9f8c64ddd9 100644 --- a/src/ifcparse/IfcLateBoundEntity.cpp +++ b/src/ifcparse/IfcLateBoundEntity.cpp @@ -68,8 +68,8 @@ unsigned int IfcParse::IfcLateBoundEntity::id() const { bool IfcParse::IfcLateBoundEntity::is(IfcSchema::Type::Enum v) const { IfcSchema::Type::Enum _ty = _type; if (v == _ty) return true; - while (_ty != -1) { - _ty = IfcSchema::Type::Parent(_ty); + while (IfcSchema::Type::Parent(_ty)) { + _ty = *IfcSchema::Type::Parent(_ty); if (v == _ty) return true; } return false; diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index a32f64baad..bd98473a1d 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -985,15 +985,20 @@ bool IfcFile::Init(IfcParse::IfcSpfStream* s) { } IfcSchema::Type::Enum ty = entity->type(); - do { + for (;;) { IfcEntityList::ptr instances_by_type = entitiesByType(ty); if (!instances_by_type) { instances_by_type = IfcEntityList::ptr(new IfcEntityList()); bytype[ty] = instances_by_type; } instances_by_type->push(entity); - ty = IfcSchema::Type::Parent(ty); - } while ( ty > -1 ); + boost::optional pt = IfcSchema::Type::Parent(ty); + if (pt) { + ty = *pt; + } else { + break; + } + } if ( byid.find(currentId) != byid.end() ) { std::stringstream ss; @@ -1191,15 +1196,21 @@ IfcUtil::IfcBaseClass* IfcFile::addEntity(IfcUtil::IfcBaseClass* entity) { // The mapping by entity type is updated. IfcSchema::Type::Enum ty = entity->type(); - do { + for (;;) { IfcEntityList::ptr instances_by_type = entitiesByType(ty); if (!instances_by_type) { instances_by_type = IfcEntityList::ptr(new IfcEntityList()); bytype[ty] = instances_by_type; } instances_by_type->push(entity); - ty = IfcSchema::Type::Parent(ty); - } while ( ty > -1 ); + boost::optional pt = IfcSchema::Type::Parent(ty); + if (pt) { + ty = *pt; + } + else { + break; + } + } int new_id = -1; if (entity->entity->isWritable() && !entity->entity->file) { From 74e495cec01898d493084c572ca237421637e230 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 18 Mar 2016 11:17:26 +0100 Subject: [PATCH 126/157] python2.7 compatibility on code generator --- src/ifcexpressparser/codegen.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ifcexpressparser/codegen.py b/src/ifcexpressparser/codegen.py index 6370b3dc87..050562a591 100644 --- a/src/ifcexpressparser/codegen.py +++ b/src/ifcexpressparser/codegen.py @@ -26,9 +26,10 @@ class Base(object): import platform if tuple(map(int, platform.python_version_tuple())) < (2, 8): from io import open as unicode_open + unicode_type = unicode else: unicode_open = open - unicode = lambda x, *args, **kwargs: x + unicode_type = lambda x, *args, **kwargs: x f = unicode_open(self.file_name, 'w', encoding='utf-8') - f.write(unicode(repr(self), encoding='utf-8', errors='ignore')) + f.write(unicode_type(repr(self), encoding='utf-8', errors='ignore')) f.close() From 614148e5e4c178307bc50b00aabeffb3d1c50be3 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 18 Mar 2016 11:18:02 +0100 Subject: [PATCH 127/157] Don't iterate past material indices in collada serializer --- src/ifcconvert/ColladaSerializer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ifcconvert/ColladaSerializer.cpp b/src/ifcconvert/ColladaSerializer.cpp index bf3e65b2ca..042eb1647d 100644 --- a/src/ifcconvert/ColladaSerializer.cpp +++ b/src/ifcconvert/ColladaSerializer.cpp @@ -72,7 +72,14 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(const std::str std::vector::const_iterator material_it = material_ids.begin(); int previous_material_id = -1; for (std::vector::const_iterator it = faces.begin(); !faces.empty(); it += 3) { - const int current_material_id = *(material_it++); + + int current_material_id = 0; + if (material_it != material_ids.end()) { + // In order for the last range of equal material ids to be output as well, this loop iterates + // one element past the end of the vector. This needs to be observed when incrementing. + current_material_id = *(material_it++); + } + const unsigned long num_triangles = (unsigned long)std::distance(index_range_start, it) / 3; if ((previous_material_id != current_material_id && num_triangles > 0) || (it == faces.end())) { COLLADASW::Triangles triangles(mSW); From 8ecc1269d7095508f3a0a5d5387097636333ca4d Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 18 Mar 2016 11:21:04 +0100 Subject: [PATCH 128/157] Compile-time options to manipulate caching behaviour --- src/ifcgeom/IfcGeom.h | 24 +++++++++++++++++++++++- src/ifcgeom/IfcGeomIterator.h | 3 +++ src/ifcgeom/IfcGeomRenderStyles.cpp | 6 +++--- src/ifcgeom/IfcGeomRenderStyles.h | 12 +++--------- src/ifcgeom/IfcRegister.cpp | 4 ++++ 5 files changed, 36 insertions(+), 13 deletions(-) diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index c593fbab95..7fff6d189c 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -46,22 +46,35 @@ #include "../ifcgeom/IfcRepresentationShapeItem.h" #include "../ifcgeom/IfcGeomShapeType.h" +#define NO_CACHE + +#ifdef NO_CACHE + +#define IN_CACHE(T,E,t,e) +#define CACHE(T,E,e) + +#else + #define IN_CACHE(T,E,t,e) std::map::const_iterator it = cache.T.find(E->entity->id());\ if ( it != cache.T.end() ) { e = it->second; return true; } #define CACHE(T,E,e) cache.T[E->entity->id()] = e; +#endif + namespace IfcGeom { class Cache { public: #include "IfcRegisterCreateCache.h" - std::map Style; std::map Shape; }; class Kernel { private: +#ifndef NO_CACHE Cache cache; +#endif + std::map style_cache; public: // Tolerances and settings for various geometrical operations: enum GeomValue { @@ -182,6 +195,15 @@ public: return std::make_pair(0,0); } + void purge_cache() { + // Rather hack-ish, but a stopgap solution to keep memory under control + // for large files. SurfaceStyles need to be kept at all costs, as they + // are read later on when serializing Collada files. +#ifndef NO_CACHE + cache = Cache(); +#endif + } + #include "IfcRegisterGeomHeader.h" }; diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index 30bf6fe9cb..ecef8225c8 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -283,6 +283,9 @@ namespace IfcGeom { private: // Move to the next IfcRepresentation void _nextShape() { + if (done % 100 == 99) { + // kernel.purge_cache(); + } ifcproducts.reset(); ++ representation_iterator; ++ done; diff --git a/src/ifcgeom/IfcGeomRenderStyles.cpp b/src/ifcgeom/IfcGeomRenderStyles.cpp index 2d9da9a042..a65c608d53 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.cpp +++ b/src/ifcgeom/IfcGeomRenderStyles.cpp @@ -56,8 +56,8 @@ const IfcGeom::SurfaceStyle* IfcGeom::Kernel::get_style(const IfcSchema::IfcRepr return 0; } int surface_style_id = shading_styles.first->entity->id(); - std::map::const_iterator it = cache.Style.find(surface_style_id); - if (it != cache.Style.end()) { + std::map::const_iterator it = style_cache.find(surface_style_id); + if (it != style_cache.end()) { return &(it->second); } SurfaceStyle surface_style; @@ -104,7 +104,7 @@ const IfcGeom::SurfaceStyle* IfcGeom::Kernel::get_style(const IfcSchema::IfcRepr surface_style.Transparency().reset(d); } } - return &(cache.Style[surface_style_id] = surface_style); + return &(style_cache[surface_style_id] = surface_style); } static std::map default_materials; diff --git a/src/ifcgeom/IfcGeomRenderStyles.h b/src/ifcgeom/IfcGeomRenderStyles.h index d84b85d737..a970f15a4e 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.h +++ b/src/ifcgeom/IfcGeomRenderStyles.h @@ -44,7 +44,7 @@ namespace IfcGeom { double& B() { return data[2]; } }; private: - boost::optional name; + std::string name; boost::optional id; boost::optional diffuse, specular; boost::optional transparency; @@ -73,16 +73,10 @@ namespace IfcGeom { // pointer addresses of the styles, as they are always referenced // from out of a global map of some sort. bool operator==(const SurfaceStyle& other) { - if (name && other.name) { - return *name == *other.name; - } else if (id && other.id) { - return *id == *other.id; - } else { - return false; - } + return name == other.name; } - const std::string& Name() const { return *name; } + const std::string& Name() const { return name; } const boost::optional& Diffuse() const { return diffuse; } const boost::optional& Specular() const { return specular; } diff --git a/src/ifcgeom/IfcRegister.cpp b/src/ifcgeom/IfcRegister.cpp index 2b7d836c63..ba119c12bc 100644 --- a/src/ifcgeom/IfcRegister.cpp +++ b/src/ifcgeom/IfcRegister.cpp @@ -49,8 +49,10 @@ bool IfcGeom::Kernel::convert_shape(const IfcBaseClass* l, TopoDS_Shape& r) { bool processed = false; bool ignored = false; +#ifndef NO_CACHE std::map::const_iterator it = cache.Shape.find(id); if ( it != cache.Shape.end() ) { r = it->second; return true; } +#endif const bool include_curves = getValue(GV_DIMENSIONALITY) != +1; const bool include_solids_and_surfaces = getValue(GV_DIMENSIONALITY) != -1; @@ -85,7 +87,9 @@ bool IfcGeom::Kernel::convert_shape(const IfcBaseClass* l, TopoDS_Shape& r) { if ( processed && success ) { const double precision = getValue(GV_PRECISION); apply_tolerance(r, precision); +#ifndef NO_CACHE cache.Shape[id] = r; +#endif } else if (!ignored) { const char* const msg = processed ? "Failed to convert:" From 4a3a0bff7184c6d20a864b4e61152b83de42e470 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 18 Mar 2016 11:21:23 +0100 Subject: [PATCH 129/157] Cleanup triangulations after use --- src/ifcgeom/IfcGeomRepresentation.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index 501ff68733..7b5f635a33 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -28,6 +28,7 @@ #include #include +#include #include #include @@ -272,6 +273,7 @@ namespace IfcGeom { } } + BRepTools::Clean(s); } } virtual ~Triangulation() {} From 59d2d227d9a13b352f20367a20572ed74fe0bf0d Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 18 Mar 2016 11:23:25 +0100 Subject: [PATCH 130/157] Directly re-use IfcMappedItem triangulated elements when not using world coordinates --- src/ifcconvert/ColladaSerializer.cpp | 22 ++- src/ifcconvert/ColladaSerializer.h | 7 +- src/ifcgeom/IfcGeom.h | 7 + src/ifcgeom/IfcGeomElement.h | 20 +-- src/ifcgeom/IfcGeomFunctions.cpp | 151 ++++++++++++++---- src/ifcgeom/IfcGeomHelpers.cpp | 91 ++++++++++- src/ifcgeom/IfcGeomIterator.h | 226 +++++++++++++++++++++------ 7 files changed, 418 insertions(+), 106 deletions(-) diff --git a/src/ifcconvert/ColladaSerializer.cpp b/src/ifcconvert/ColladaSerializer.cpp index 042eb1647d..8dfa39a0c4 100644 --- a/src/ifcconvert/ColladaSerializer.cpp +++ b/src/ifcconvert/ColladaSerializer.cpp @@ -19,10 +19,12 @@ #ifdef WITH_OPENCOLLADA -#include - #include "ColladaSerializer.h" +#include + +#include + std::string collada_id(const std::string& s) { std::string id; id.reserve(s.size()); @@ -254,7 +256,7 @@ void ColladaSerializer::ColladaExporter::startDocument(const std::string& unit_n asset.add(); } -void ColladaSerializer::ColladaExporter::write(const std::string& unique_id, const std::string& type, const std::vector& matrix, const std::vector& vertices, const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector& material_ids, const std::vector& _materials) { +void ColladaSerializer::ColladaExporter::write(const std::string& unique_id, const std::string& representation_id, const std::string& type, const std::vector& matrix, const std::vector& vertices, const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector& material_ids, const std::vector& _materials) { std::vector material_references; for (std::vector::const_iterator it = _materials.begin(); it != _materials.end(); ++it) { const IfcGeom::Material& material = *it; @@ -263,21 +265,25 @@ void ColladaSerializer::ColladaExporter::write(const std::string& unique_id, con } material_references.push_back(collada_id(material.name())); } - deferreds.push_back(DeferredObject(unique_id, type, matrix, vertices, normals, faces, edges, material_ids, _materials, material_references)); + deferreds.push_back(DeferredObject(unique_id, representation_id, type, matrix, vertices, normals, faces, edges, material_ids, _materials, material_references)); } void ColladaSerializer::ColladaExporter::endDocument() { // In fact due the XML based nature of Collada and its dependency on library nodes, // only at this point all objects are written to the stream. materials.write(); + std::set geometries_written; for (std::vector::const_iterator it = deferreds.begin(); it != deferreds.end(); ++it) { - const std::string object_name = it->unique_id + "-representation"; - geometries.write(object_name, it->type, it->vertices, it->normals, it->faces, it->edges, it->material_ids, it->materials); + if (geometries_written.find(it->representation_id) != geometries_written.end()) { + continue; + } + geometries_written.insert(it->representation_id); + geometries.write(it->representation_id, it->type, it->vertices, it->normals, it->faces, it->edges, it->material_ids, it->materials); } geometries.close(); for (std::vector::const_iterator it = deferreds.begin(); it != deferreds.end(); ++it) { const std::string object_name = it->unique_id; - scene.add(object_name, object_name, object_name + "-representation", it->material_references, it->matrix); + scene.add(object_name, object_name, it->representation_id, it->material_references, it->matrix); } scene.write(); stream.endDocument(); @@ -293,7 +299,7 @@ void ColladaSerializer::writeHeader() { void ColladaSerializer::write(const IfcGeom::TriangulationElement* o) { const IfcGeom::Representation::Triangulation& mesh = o->geometry(); - exporter.write(o->unique_id(), o->type(), o->transformation().matrix().data(), mesh.verts(), mesh.normals(), mesh.faces(), mesh.edges(), mesh.material_ids(), mesh.materials()); + exporter.write(o->unique_id(), "representation-" + boost::lexical_cast(o->geometry().id()), o->type(), o->transformation().matrix().data(), mesh.verts(), mesh.normals(), mesh.faces(), mesh.edges(), mesh.material_ids(), mesh.materials()); } void ColladaSerializer::finalize() { diff --git a/src/ifcconvert/ColladaSerializer.h b/src/ifcconvert/ColladaSerializer.h index cf3a35e733..b8e5059e62 100644 --- a/src/ifcconvert/ColladaSerializer.h +++ b/src/ifcconvert/ColladaSerializer.h @@ -111,7 +111,7 @@ private: }; class DeferredObject { public: - std::string unique_id, type; + std::string unique_id, representation_id, type; std::vector matrix; std::vector vertices; std::vector normals; @@ -120,10 +120,11 @@ private: std::vector material_ids; std::vector materials; std::vector material_references; - DeferredObject(const std::string& unique_id, const std::string& type, const std::vector& matrix, const std::vector& vertices, + DeferredObject(const std::string& unique_id, const std::string& representation_id, const std::string& type, const std::vector& matrix, const std::vector& vertices, const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector& material_ids, const std::vector& materials, const std::vector& material_references) : unique_id(unique_id) + , representation_id(representation_id) , type(type) , matrix(matrix) , vertices(vertices) @@ -151,7 +152,7 @@ private: std::vector deferreds; virtual ~ColladaExporter() {} void startDocument(const std::string& unit_name, float unit_magnitude); - void write(const std::string& unique_id, const std::string& type, const std::vector& matrix, const std::vector& vertices, const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector& material_ids, const std::vector& materials); + void write(const std::string& unique_id, const std::string& representation_id, const std::string& type, const std::vector& matrix, const std::vector& vertices, const std::vector& normals, const std::vector& faces, const std::vector& edges, const std::vector& material_ids, const std::vector& materials); void endDocument(); }; ColladaExporter exporter; diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 7fff6d189c..86d97302b1 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -142,6 +142,10 @@ public: bool wire_to_sequence_of_point(const TopoDS_Wire&, TColgp_SequenceOfPnt&); void sequence_of_point_to_wire(const TColgp_SequenceOfPnt&, TopoDS_Wire&, bool closed); + bool is_identity_transform(IfcUtil::IfcBaseClass*); + + IfcSchema::IfcRelVoidsElement::list::ptr find_openings(IfcSchema::IfcProduct* product); + std::pair initializeUnits(IfcSchema::IfcUnitAssignment*); IfcSchema::IfcObjectDefinition* get_decomposing_entity(IfcSchema::IfcProduct*); @@ -149,6 +153,9 @@ public: template IfcGeom::BRepElement

    * create_brep_for_representation_and_product(const IteratorSettings&, IfcSchema::IfcRepresentation*, IfcSchema::IfcProduct*); + template + IfcGeom::BRepElement

    * create_brep_for_processed_representation(const IteratorSettings&, IfcSchema::IfcRepresentation*, IfcSchema::IfcProduct*, IfcGeom::BRepElement

    *); + const SurfaceStyle* get_style(const IfcSchema::IfcRepresentationItem* representation_item); template std::pair get_surface_style(const IfcSchema::IfcRepresentationItem* representation_item) { diff --git a/src/ifcgeom/IfcGeomElement.h b/src/ifcgeom/IfcGeomElement.h index c65d890a94..e69ea09e9f 100644 --- a/src/ifcgeom/IfcGeomElement.h +++ b/src/ifcgeom/IfcGeomElement.h @@ -107,16 +107,14 @@ namespace IfcGeom { template class BRepElement : public Element

    { private: - Representation::BRep* _geometry; + boost::shared_ptr _geometry; public: + const boost::shared_ptr& geometry_pointer() const { return _geometry; } const Representation::BRep& geometry() const { return *_geometry; } - BRepElement(int id, int parent_id, const std::string& name, const std::string& type, const std::string& guid, const std::string& context, const gp_Trsf& trsf, Representation::BRep* geometry) + BRepElement(int id, int parent_id, const std::string& name, const std::string& type, const std::string& guid, const std::string& context, const gp_Trsf& trsf, const boost::shared_ptr& geometry) : Element

    (geometry->settings(),id,parent_id,name,type,guid,context,trsf) , _geometry(geometry) {} - virtual ~BRepElement() { - delete _geometry; - } private: BRepElement(const BRepElement& other); BRepElement& operator=(const BRepElement& other); @@ -125,16 +123,18 @@ namespace IfcGeom { template class TriangulationElement : public Element

    { private: - Representation::Triangulation

    * _geometry; + boost::shared_ptr< Representation::Triangulation

    > _geometry; public: const Representation::Triangulation

    & geometry() const { return *_geometry; } + const boost::shared_ptr< Representation::Triangulation

    >& geometry_pointer() const { return _geometry; } TriangulationElement(const BRepElement

    & shape_model) : Element

    (shape_model) - , _geometry(new Representation::Triangulation

    (shape_model.geometry())) + , _geometry(boost::shared_ptr>(new Representation::Triangulation

    (shape_model.geometry()))) + {} + TriangulationElement(const Element

    & element, const boost::shared_ptr>& geometry) + : Element

    (element) + , _geometry(geometry) {} - virtual ~TriangulationElement() { - delete _geometry; - } private: TriangulationElement(const TriangulationElement& other); TriangulationElement& operator=(const TriangulationElement& other); diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 14dd47230f..d2c8a21d7f 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -128,11 +128,13 @@ bool IfcGeom::Kernel::create_solid_from_compound(const TopoDS_Shape& compound, T } builder.Perform(); shape = builder.SewedShape(); - try { - ShapeFix_Solid sf_solid; - sf_solid.LimitTolerance(getValue(GV_POINT_EQUALITY_TOLERANCE)); - shape = sf_solid.SolidFromShell(TopoDS::Shell(shape)); - } catch(...) {} + if (shape.ShapeType() == TopAbs_SHELL) { + try { + ShapeFix_Solid sf_solid; + sf_solid.LimitTolerance(getValue(GV_POINT_EQUALITY_TOLERANCE)); + shape = sf_solid.SolidFromShell(TopoDS::Shell(shape)); + } catch(...) {} + } return true; } @@ -1050,8 +1052,40 @@ void IfcGeom::Kernel::sequence_of_point_to_wire(const TColgp_SequenceOfPnt& p, T w = builder.Wire(); } +IfcSchema::IfcRelVoidsElement::list::ptr IfcGeom::Kernel::find_openings(IfcSchema::IfcProduct* product) { + + IfcSchema::IfcRelVoidsElement::list::ptr openings(new IfcSchema::IfcRelVoidsElement::list); + if ( product->is(IfcSchema::Type::IfcElement) && !product->is(IfcSchema::Type::IfcOpeningElement) ) { + IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)product; + openings = element->HasOpenings(); + } + + // Is the IfcElement a decomposition of an IfcElement with any IfcOpeningElements? + IfcSchema::IfcObjectDefinition* obdef = product->as(); + for (;;) { +#ifdef USE_IFC4 + IfcSchema::IfcRelAggregates::list::ptr decomposes = obdef->Decomposes(); + for ( IfcSchema::IfcRelAggregates::list::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { +#else + IfcSchema::IfcRelDecomposes::list::ptr decomposes = obdef->Decomposes(); + if (decomposes->size() != 1) break; + +#endif + IfcSchema::IfcObjectDefinition* rel_obdef = (*decomposes->begin())->RelatingObject(); + if ( rel_obdef->is(IfcSchema::Type::IfcElement) && !rel_obdef->is(IfcSchema::Type::IfcOpeningElement) ) { + IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)rel_obdef; + openings->push(element->HasOpenings()); + } + + obdef = rel_obdef; + } + + return openings; +} + template IfcGeom::BRepElement

    * IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product) { + IfcGeom::Representation::BRep* shape; IfcGeom::IfcRepresentationShapeItems shapes; @@ -1077,28 +1111,7 @@ IfcGeom::BRepElement

    * IfcGeom::Kernel::create_brep_for_representation_and_pro // Does the IfcElement have any IfcOpenings? // Note that openings for IfcOpeningElements are not processed - IfcSchema::IfcRelVoidsElement::list::ptr openings; - if ( product->is(IfcSchema::Type::IfcElement) && !product->is(IfcSchema::Type::IfcOpeningElement) ) { - IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)product; - openings = element->HasOpenings(); - } - // Is the IfcElement a decomposition of an IfcElement with any IfcOpeningElements? - if ( product->is(IfcSchema::Type::IfcBuildingElementPart ) ) { - IfcSchema::IfcBuildingElementPart* part = (IfcSchema::IfcBuildingElementPart*)product; -#ifdef USE_IFC4 - IfcSchema::IfcRelAggregates::list::ptr decomposes = part->Decomposes(); - for ( IfcSchema::IfcRelAggregates::list::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { -#else - IfcSchema::IfcRelDecomposes::list::ptr decomposes = part->Decomposes(); - for ( IfcSchema::IfcRelDecomposes::list::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { -#endif - IfcSchema::IfcObjectDefinition* obdef = (*it)->RelatingObject(); - if ( obdef->is(IfcSchema::Type::IfcElement) ) { - IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)obdef; - openings->push(element->HasOpenings()); - } - } - } + IfcSchema::IfcRelVoidsElement::list::ptr openings = find_openings(product); const std::string product_type = IfcSchema::Type::ToString(product->type()); ElementSettings element_settings(settings, getValue(GV_LENGTH_UNIT), product_type); @@ -1155,7 +1168,47 @@ IfcGeom::BRepElement

    * IfcGeom::Kernel::create_brep_for_representation_and_pro guid, context_string, trsf, - shape + boost::shared_ptr(shape) + ); +} + +template +IfcGeom::BRepElement

    * IfcGeom::Kernel::create_brep_for_processed_representation(const IteratorSettings& /*settings*/, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product, IfcGeom::BRepElement

    * brep) { + + int parent_id = -1; + try { + IfcSchema::IfcObjectDefinition* parent_object = get_decomposing_entity(product); + if (parent_object) { + parent_id = parent_object->entity->id(); + } + } catch (...) {} + + const std::string name = product->hasName() ? product->Name() : ""; + const std::string guid = product->GlobalId(); + + gp_Trsf trsf; + try { + convert(product->ObjectPlacement(),trsf); + } catch (...) {} + + std::string context_string = ""; + if (representation->hasRepresentationIdentifier()) { + context_string = representation->RepresentationIdentifier(); + } else if (representation->ContextOfItems()->hasContextType()) { + context_string = representation->ContextOfItems()->ContextType(); + } + + const std::string product_type = IfcSchema::Type::ToString(product->type()); + + return new BRepElement

    ( + product->entity->id(), + parent_id, + name, + product_type, + guid, + context_string, + trsf, + brep->geometry_pointer() ); } @@ -1217,6 +1270,9 @@ IfcSchema::IfcObjectDefinition* IfcGeom::Kernel::get_decomposing_entity(IfcSchem template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product); template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product); +template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_processed_representation(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product, IfcGeom::BRepElement* brep); +template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_processed_representation(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product, IfcGeom::BRepElement* brep); + std::pair IfcGeom::Kernel::initializeUnits(IfcSchema::IfcUnitAssignment* unit_assignment) { // Set default units, set length to meters, angles to undefined setValue(IfcGeom::Kernel::GV_LENGTH_UNIT, 1.0); @@ -1301,3 +1357,42 @@ const IfcSchema::IfcRepresentationItem* IfcGeom::Kernel::find_item_carrying_styl return item; } + +bool IfcGeom::Kernel::is_identity_transform(IfcUtil::IfcBaseClass* l) { + IfcSchema::IfcAxis2Placement2D* ax2d; + IfcSchema::IfcAxis2Placement3D* ax3d; + + IfcSchema::IfcCartesianTransformationOperator2D* op2d; + IfcSchema::IfcCartesianTransformationOperator3D* op3d; + IfcSchema::IfcCartesianTransformationOperator2DnonUniform* op2dnonu; + IfcSchema::IfcCartesianTransformationOperator3DnonUniform* op3dnonu; + + if((op2dnonu = l->as()) != 0) { + gp_GTrsf2d gtrsf2d; + convert(op2dnonu, gtrsf2d); + return gtrsf2d.Form() == gp_Identity; + } else if ((op2d = l->as()) != 0) { + gp_Trsf2d trsf2d; + convert(op2d, trsf2d); + return trsf2d.Form() == gp_Identity; + } else if((op3dnonu = l->as()) != 0) { + gp_GTrsf gtrsf; + convert(op3dnonu, gtrsf); + return gtrsf.Form() == gp_Identity; + } else if ((op3d = l->as()) != 0) { + gp_Trsf trsf; + convert(op3d, trsf); + return trsf.Form() == gp_Identity; + } else if((ax2d = l->as()) != 0) { + gp_Trsf2d trsf2d; + convert(ax2d, trsf2d); + return trsf2d.Form() == gp_Identity; + } else if ((ax3d = l->as()) != 0) { + gp_Trsf trsf; + convert(ax3d, trsf); + return trsf.Form() == gp_Identity; + } else { + throw IfcParse::IfcException("Invalid valuation for IfcAxis2Placement / IfcCartesianTransformationOperator"); + } +} + diff --git a/src/ifcgeom/IfcGeomHelpers.cpp b/src/ifcgeom/IfcGeomHelpers.cpp index 8b6ef76eac..29851a2627 100644 --- a/src/ifcgeom/IfcGeomHelpers.cpp +++ b/src/ifcgeom/IfcGeomHelpers.cpp @@ -77,6 +77,53 @@ #include "../ifcgeom/IfcGeom.h" +// Helper functions (re)set gp_(G)Trsf(2d) forms explicitly to 'Identity' +// so that it can be easily identified in the IfcMappedItem processing + +// For axis placements detect equality early in order for the +// relatively computionaly expensive gp_Trsf calculation to be skipped +template +bool axis_equal(const T& a, const T& b, double tolerance); +template <> +bool axis_equal(const gp_Ax3& a, const gp_Ax3& b, double tolerance) { + if (!a.Location().IsEqual(b.Location(), tolerance)) return false; + // Note that the tolerance below is angular, above is linear. Since architectural + // objects are about 1m'ish in scale, it should be somewhat equivalent. Besides, + // this is mostly a filter for NULL or default values in the placements. + if (!a.Direction().IsEqual(b.Direction(), tolerance)) return false; + if (!a.XDirection().IsEqual(b.XDirection(), tolerance)) return false; + if (!a.YDirection().IsEqual(b.YDirection(), tolerance)) return false; + return true; +} + +bool axis_equal(const gp_Ax2d& a, const gp_Ax2d& b, double tolerance) { + if (!a.Location().IsEqual(b.Location(), tolerance)) return false; + if (!a.Direction().IsEqual(b.Direction(), tolerance)) return false; + return true; +} + +template struct dimension_count {}; +template <> struct dimension_count { static const int n = 2; }; +template <> struct dimension_count { static const int n = 2; }; +template <> struct dimension_count < gp_Trsf > { static const int n = 3; }; +template <> struct dimension_count < gp_GTrsf > { static const int n = 3; }; + +template +bool is_identity(const T& t, double tolerance) { + // Note the {1, n+1} range due to Open Cascade's 1-based indexing + // Note the {1, n+2} range due to the translation part of the matrix + for (int i = 1; i < dimension_count::n + 2; ++i) { + for (int j = 1; j < dimension_count::n + 1; ++j) { + const double iden_value = i == j ? 1. : 0.; + const double trsf_value = t.Value(j, i); + if (fabs(trsf_value - iden_value) > tolerance) { + return false; + } + } + } + return true; +} + bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianPoint* l, gp_Pnt& point) { IN_CACHE(IfcCartesianPoint,l,gp_Pnt,point) std::vector xyz = l->Coordinates(); @@ -120,7 +167,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis2Placement3D* l, gp_Trsf& gp_Ax3 ax3; if ( hasRef ) ax3 = gp_Ax3(o,axis,refDirection); else ax3 = gp_Ax3(o,axis); - trsf.SetTransformation(ax3, gp_Ax3(gp_Pnt(),gp_Dir(0,0,1),gp_Dir(1,0,0))); + + if (!axis_equal(ax3, (gp_Ax3) gp::XOY(), getValue(GV_PRECISION))) { + trsf.SetTransformation(ax3, gp::XOY()); + } + CACHE(IfcAxis2Placement3D,l,trsf) return true; } @@ -147,9 +198,16 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato if ( l->hasAxis3() ) IfcGeom::Kernel::convert(l->Axis3(),axis3); gp_Ax3 ax3 (origin,axis3,axis1); if ( axis2.Dot(ax3.YDirection()) < 0 ) ax3.YReverse(); - trsf.SetTransformation(ax3); - trsf.Invert(); - if ( l->hasScale() ) trsf.SetScaleFactor(l->Scale()); + + if (!axis_equal(ax3, (gp_Ax3) gp::XOY(), getValue(GV_PRECISION))) { + trsf.SetTransformation(ax3); + trsf.Invert(); + } + + if (l->hasScale() && !ALMOST_THE_SAME(l->Scale(), 1.)) { + trsf.SetScaleFactor(l->Scale()); + } + CACHE(IfcCartesianTransformationOperator3D,l,trsf) return true; } @@ -183,7 +241,12 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato } trsf.Invert(); - if ( l->hasScale() ) trsf.SetScaleFactor(l->Scale()); + if ( l->hasScale() && !ALMOST_THE_SAME(l->Scale(), 1.) ) trsf.SetScaleFactor(l->Scale()); + + if (is_identity(trsf, getValue(GV_PRECISION))) { + trsf = gp_Trsf2d(); + } + CACHE(IfcCartesianTransformationOperator2D,l,trsf) return true; } @@ -211,6 +274,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato gtrsf.SetValue(2,2,scale2); gtrsf.SetValue(3,3,scale3); gtrsf.PreMultiply(trsf); + + if (is_identity(gtrsf, getValue(GV_PRECISION))) { + gtrsf = gp_GTrsf(); + } + CACHE(IfcCartesianTransformationOperator3DnonUniform,l,gtrsf) return true; } @@ -247,6 +315,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato gtrsf.SetValue(1,1,scale1); gtrsf.SetValue(2,2,scale2); gtrsf.Multiply(trsf); + + if (is_identity(gtrsf, getValue(GV_PRECISION))) { + gtrsf = gp_GTrsf2d(); + } + CACHE(IfcCartesianTransformationOperator2DnonUniform,l,gtrsf) return true; } @@ -274,8 +347,12 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis2Placement2D* l, gp_Trsf2d if ( l->hasRefDirection() ) IfcGeom::Kernel::convert(l->RefDirection(),V); - gp_Ax2d axis(gp_Pnt2d(P.X(),P.Y()),gp_Dir2d(V.X(),V.Y())); - trsf.SetTransformation(axis,gp_Ax2d()); + gp_Ax2d axis(gp_Pnt2d(P.X(),P.Y()), gp_Dir2d(V.X(),V.Y())); + + if (!axis_equal(axis, gp_Ax2d(), getValue(GV_PRECISION))) { + trsf.SetTransformation(axis, gp_Ax2d()); + } + CACHE(IfcAxis2Placement2D,l,trsf) return true; } diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index ecef8225c8..7e294f260a 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -291,6 +291,8 @@ namespace IfcGeom { ++ done; } + std::set mapped_representations_processed; + BRepElement

    * create_shape_model_for_next_entity() { for (;;) { IfcSchema::IfcRepresentation* representation; @@ -305,47 +307,147 @@ namespace IfcGeom { // Has the list of IfcProducts for this representation been initialized? if (!ifcproducts) { - IfcSchema::IfcProductRepresentation::list::ptr prodreps = representation->OfProductRepresentation(); ifcproducts = IfcSchema::IfcProduct::list::ptr(new IfcSchema::IfcProduct::list); IfcSchema::IfcProduct::list::ptr unfiltered_products(new IfcSchema::IfcProduct::list); - for ( IfcSchema::IfcProductRepresentation::list::it it = prodreps->begin(); it != prodreps->end(); ++it ) { - if ( (*it)->is(IfcSchema::Type::IfcProductDefinitionShape) ) { - IfcSchema::IfcProductDefinitionShape* pds = (IfcSchema::IfcProductDefinitionShape*)*it; - unfiltered_products->push(pds->ShapeOfProduct()); - } else { - // http://buildingsmart-tech.org/ifc/IFC2x3/TC1/html/ifcrepresentationresource/lexical/ifcproductrepresentation.htm - // IFC2x Edition 3 NOTE Users should not instantiate the entity IfcProductRepresentation from IFC2x Edition 3 onwards. - // It will be changed into an ABSTRACT supertype in future releases of IFC. + { + IfcSchema::IfcProductRepresentation::list::ptr prodreps = representation->OfProductRepresentation(); - // IfcProductRepresentation also lacks the INVERSE relation to IfcProduct - // Let's find the IfcProducts that reference the IfcProductRepresentation anyway - unfiltered_products->push((*it)->entity->getInverse(IfcSchema::Type::IfcProduct, -1)->as()); + for (IfcSchema::IfcProductRepresentation::list::it it = prodreps->begin(); it != prodreps->end(); ++it) { + if ((*it)->is(IfcSchema::Type::IfcProductDefinitionShape)) { + IfcSchema::IfcProductDefinitionShape* pds = (IfcSchema::IfcProductDefinitionShape*)*it; + unfiltered_products->push(pds->ShapeOfProduct()); + } + else { + // http://buildingsmart-tech.org/ifc/IFC2x3/TC1/html/ifcrepresentationresource/lexical/ifcproductrepresentation.htm + // IFC2x Edition 3 NOTE Users should not instantiate the entity IfcProductRepresentation from IFC2x Edition 3 onwards. + // It will be changed into an ABSTRACT supertype in future releases of IFC. + + // IfcProductRepresentation also lacks the INVERSE relation to IfcProduct + // Let's find the IfcProducts that reference the IfcProductRepresentation anyway + unfiltered_products->push((*it)->entity->getInverse(IfcSchema::Type::IfcProduct, -1)->as()); + } } + } - // Filter the products based on the set of entities being included or excluded for - // processing. The set is iterated over te able to filter on subtypes. - for ( IfcSchema::IfcProduct::list::it jt = unfiltered_products->begin(); jt != unfiltered_products->end(); ++jt ) { - bool found = false; - for (std::set::const_iterator kt = entities_to_include_or_exclude.begin(); kt != entities_to_include_or_exclude.end(); ++kt) { - if ((*jt)->is(*kt)) { - found = true; - break; + const int repid = representation->entity->id(); + + bool has_openings = false; + for (IfcSchema::IfcProduct::list::it it = unfiltered_products->begin(); it != unfiltered_products->end(); ++it) { + if (kernel.find_openings(*it)->size()) { + has_openings = true; + break; + } + } + + const bool process_maps_for_current_representation = (!has_openings || settings.disable_opening_subtractions()); + bool representation_processed_as_mapped_item = false; + + IfcSchema::IfcRepresentation* representation_mapped_to = 0; + + if (process_maps_for_current_representation) { + IfcSchema::IfcRepresentationItem::list::ptr items = representation->Items(); + if (items->size() == 1) { + IfcSchema::IfcRepresentationItem* item = *items->begin(); + if (item->is(IfcSchema::Type::IfcMappedItem)) { + if (item->StyledByItem()->size() == 0) { + IfcSchema::IfcMappedItem* mapped_item = item->as(); + if (kernel.is_identity_transform(mapped_item->MappingTarget())) { + IfcSchema::IfcRepresentationMap* map = mapped_item->MappingSource(); + if (kernel.is_identity_transform(map->MappingOrigin())) { + representation_mapped_to = map->MappedRepresentation(); + IfcSchema::IfcProductRepresentation::list::ptr prodreps = representation_mapped_to->OfProductRepresentation(); + + bool all_product_without_openings = true; + IfcSchema::IfcProduct::list::ptr products; + + for (IfcSchema::IfcProductRepresentation::list::it it = prodreps->begin(); it != prodreps->end(); ++it) { + IfcSchema::IfcProduct::list::ptr products_of_prodrep = (*it)->entity->getInverse(IfcSchema::Type::IfcProduct, -1)->as(); + products->push(products_of_prodrep); + for (IfcSchema::IfcProduct::list::it jt = products_of_prodrep->begin(); jt != products_of_prodrep->end(); ++jt) { + if (kernel.find_openings(*jt)->size() > 0 && !settings.disable_opening_subtractions()) { + all_product_without_openings = false; + break; + } + } + } + + if (all_product_without_openings) { + representation_processed_as_mapped_item = true; + } + } + } } } - if (found == include_entities_in_processing) { - ifcproducts->push(*jt); - } + } + } + + if (representation_mapped_to) { + if (mapped_representations_processed.find(representation_mapped_to) != mapped_representations_processed.end()) { + _nextShape(); + continue; } + mapped_representations_processed.insert(representation_mapped_to); } - // Does this representation have any IfcProducts? - if (!ifcproducts->size()) { + + if (representation_processed_as_mapped_item) { _nextShape(); continue; } + + IfcSchema::IfcRepresentationMap::list::ptr maps = representation->RepresentationMap(); + + if (process_maps_for_current_representation && maps->size() == 1) { + IfcSchema::IfcRepresentationMap* map = *maps->begin(); + if (kernel.is_identity_transform(map->MappingOrigin())) { + IfcSchema::IfcMappedItem::list::ptr items = map->MapUsage(); + for (IfcSchema::IfcMappedItem::list::it it = items->begin(); it != items->end(); ++it) { + IfcSchema::IfcMappedItem* item = *it; + if (item->StyledByItem()->size() != 0) continue; + + if (!kernel.is_identity_transform(item->MappingTarget())) { + continue; + } + + IfcSchema::IfcRepresentation::list::ptr reps = item->entity->getInverse(IfcSchema::Type::IfcRepresentation, -1)->as(); + for (IfcSchema::IfcRepresentation::list::it jt = reps->begin(); jt != reps->end(); ++jt) { + IfcSchema::IfcRepresentation* rep = *jt; + if (rep->Items()->size() != 1) continue; + IfcSchema::IfcProductRepresentation::list::ptr prodreps = rep->OfProductRepresentation(); + for (IfcSchema::IfcProductRepresentation::list::it kt = prodreps->begin(); kt != prodreps->end(); ++kt) { + IfcSchema::IfcProduct::list::ptr prods = (*kt)->entity->getInverse(IfcSchema::Type::IfcProduct, -1)->as(); + for (IfcSchema::IfcProduct::list::it lt = prods->begin(); lt != prods->end(); ++lt) { + if (kernel.find_openings(*lt)->size() == 0 || settings.disable_opening_subtractions()) { + if (!unfiltered_products->contains(*lt)) { + unfiltered_products->push(*lt); + } + } + } + } + } + } + } + } + + // Filter the products based on the set of entities being included or excluded for + // processing. The set is iterated over to able to filter on subtypes. + for ( IfcSchema::IfcProduct::list::it jt = unfiltered_products->begin(); jt != unfiltered_products->end(); ++jt ) { + bool found = false; + for (std::set::const_iterator kt = entities_to_include_or_exclude.begin(); kt != entities_to_include_or_exclude.end(); ++kt) { + if ((*jt)->is(*kt)) { + found = true; + break; + } + } + if (found == include_entities_in_processing) { + ifcproducts->push(*jt); + } + } + ifcproduct_iterator = ifcproducts->begin(); } + // Have we reached the end of our list of IfcProducts? if ( ifcproduct_iterator == ifcproducts->end() ) { _nextShape(); @@ -353,8 +455,13 @@ namespace IfcGeom { } IfcSchema::IfcProduct* product = *ifcproduct_iterator; - - BRepElement

    * element = kernel.create_brep_for_representation_and_product

    (settings, representation, product); + + BRepElement

    * element; + if (ifcproduct_iterator == ifcproducts->begin()) { + element = kernel.create_brep_for_representation_and_product

    (settings, representation, product); + } else { + element = kernel.create_brep_for_processed_representation(settings, representation, product, current_shape_model); + } if ( !element ) { _nextShape(); @@ -365,9 +472,7 @@ namespace IfcGeom { } } - public: - - bool next() { + void free_shapes() { // Free all possible representations of the current geometrical entity delete current_triangulation; current_triangulation = 0; @@ -375,7 +480,11 @@ namespace IfcGeom { current_serialization = 0; delete current_shape_model; current_shape_model = 0; - + } + + public: + + bool next() { // Increment the iterator over the list of products using the current // shape representation if (ifcproducts) { @@ -429,23 +538,45 @@ namespace IfcGeom { } bool create() { + bool success = true; + + IfcGeom::BRepElement

    * next_shape_model = 0; + IfcGeom::SerializedElement

    * next_serialization = 0; + IfcGeom::TriangulationElement

    * next_triangulation = 0; + try { - current_shape_model = create_shape_model_for_next_entity(); + next_shape_model = create_shape_model_for_next_entity(); } catch (...) {} - if (!current_shape_model) return false; - if (settings.use_brep_data()) { - try { - current_serialization = new SerializedElement

    (*current_shape_model); - } catch (...) {} - return !!current_serialization; - } else if (!settings.disable_triangulation()) { - try { - current_triangulation = new TriangulationElement

    (*current_shape_model); - } catch (...) {} - return !!current_triangulation; + + if (next_shape_model) { + if (settings.use_brep_data()) { + try { + next_serialization = new SerializedElement

    (*next_shape_model); + } catch (...) { + success = false; + } + } else if (!settings.disable_triangulation()) { + try { + if (ifcproduct_iterator == ifcproducts->begin() || settings.use_world_coords()) { + next_triangulation = new TriangulationElement

    (*next_shape_model); + } else { + next_triangulation = new TriangulationElement

    (*next_shape_model, current_triangulation->geometry_pointer()); + } + } catch (...) { + success = false; + } + } } else { - return true; + success = false; } + + free_shapes(); + + current_shape_model = next_shape_model; + current_serialization = next_serialization; + current_triangulation = next_triangulation; + + return success; } private: void _initialize() { @@ -503,12 +634,7 @@ namespace IfcGeom { delete ifc_file; } - delete current_triangulation; - current_triangulation = 0; - delete current_serialization; - current_serialization = 0; - delete current_shape_model; - current_shape_model = 0; + free_shapes(); } }; } From bf76bd17b2ae10bf3147a9e091d0aa02057c7de9 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 18 Mar 2016 14:45:00 +0200 Subject: [PATCH 131/157] Add large_offset.ifc (wallwindow.ifc, courtesy of @klokoy) as test input case. --- test/input/large_offset.ifc | 1083 +++++++++++++++++++++++++++++++++++ 1 file changed, 1083 insertions(+) create mode 100644 test/input/large_offset.ifc diff --git a/test/input/large_offset.ifc b/test/input/large_offset.ifc new file mode 100644 index 0000000000..41beaf110e --- /dev/null +++ b/test/input/large_offset.ifc @@ -0,0 +1,1083 @@ +ISO-10303-21; +HEADER; + +/****************************************************************************************** +* STEP Physical File produced by: The EXPRESS Data Manager Version 5.02.0100.07 : 28 Aug 2013 +* Module: EDMstepFileFactory/EDMstandAlone +* Creation date: Thu Nov 19 15:05:44 2015 +* Host: DESKTOP-O02U94U +* Database: C:\Users\ANAMOU~1\AppData\Local\Temp\{E0C3FBC3-4736-4E0A-9D2F-C87BBC395BA5}\ifc +* Database version: 5507 +* Database creation date: Thu Nov 19 15:05:36 2015 +* Schema: IFC4 +* Model: DataRepository.ifc +* Model creation date: Thu Nov 19 15:05:37 2015 +* Header model: DataRepository.ifc_HeaderModel +* Header model creation date: Thu Nov 19 15:05:37 2015 +* EDMuser: sdai-user +* EDMgroup: sdai-group +* License ID and type: 5605 : Permanent license. Expiry date: +* EDMstepFileFactory options: 020000 +******************************************************************************************/ +FILE_DESCRIPTION(('ViewDefinition [CoordinationView_V2.0]'),'2;1'); +FILE_NAME('12370','2015-11-19T15:05:44',(''),(''),'The EXPRESS Data Manager Version 5.02.0100.07 : 28 Aug 2013','20150220_1215(x64) - Exporter 16.2.0.0 - Alternate UI 16.2.0.0',''); +FILE_SCHEMA(('IFC4')); +ENDSEC; + +DATA; +#1= IFCORGANIZATION($,'Autodesk Revit LT 2016 (ENU)',$,$,$); +#5= IFCAPPLICATION(#1,'2016','Autodesk Revit LT 2016 (ENU)','Revit'); +#6= IFCCARTESIANPOINT((0.,0.,0.)); +#10= IFCCARTESIANPOINT((0.,0.)); +#12= IFCDIRECTION((1.,0.,0.)); +#14= IFCDIRECTION((-1.,0.,0.)); +#16= IFCDIRECTION((0.,1.,0.)); +#18= IFCDIRECTION((0.,-1.,0.)); +#20= IFCDIRECTION((0.,0.,1.)); +#22= IFCDIRECTION((0.,0.,-1.)); +#24= IFCDIRECTION((1.,0.)); +#26= IFCDIRECTION((-1.,0.)); +#28= IFCDIRECTION((0.,1.)); +#30= IFCDIRECTION((0.,-1.)); +#32= IFCAXIS2PLACEMENT3D(#6,$,$); +#33= IFCLOCALPLACEMENT(#1853,#32); +#36= IFCPERSON($,'Moural','Ana',$,$,$,$,$); +#38= IFCORGANIZATION($,'PG Campus \X2\00C5\X0\s','A - Arkitekt',$,$); +#39= IFCPERSONANDORGANIZATION(#36,#38,$); +#42= IFCOWNERHISTORY(#39,#5,$,.NOCHANGE.,$,$,$,0); +#43= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#44= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#45= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#46= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#47= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#48= IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#49= IFCMEASUREWITHUNIT(IFCRATIOMEASURE(0.0174532925199433),#47); +#50= IFCCONVERSIONBASEDUNIT(#48,.PLANEANGLEUNIT.,'DEGREE',#49); +#52= IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.); +#53= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.); +#54= IFCSIUNIT(*,.FREQUENCYUNIT.,$,.HERTZ.); +#55= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.KELVIN.); +#56= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.); +#57= IFCDERIVEDUNITELEMENT(#52,1); +#58= IFCDERIVEDUNITELEMENT(#55,-1); +#59= IFCDERIVEDUNITELEMENT(#53,-3); +#60= IFCDERIVEDUNIT((#57,#58,#59),.THERMALTRANSMITTANCEUNIT.,$); +#62= IFCSIUNIT(*,.LENGTHUNIT.,.DECI.,.METRE.); +#63= IFCDERIVEDUNITELEMENT(#44,3); +#64= IFCDERIVEDUNITELEMENT(#53,-1); +#65= IFCDERIVEDUNIT((#63,#64),.VOLUMETRICFLOWRATEUNIT.,$); +#67= IFCSIUNIT(*,.ELECTRICCURRENTUNIT.,$,.AMPERE.); +#68= IFCSIUNIT(*,.ELECTRICVOLTAGEUNIT.,$,.VOLT.); +#69= IFCSIUNIT(*,.POWERUNIT.,$,.WATT.); +#70= IFCSIUNIT(*,.FORCEUNIT.,.KILO.,.NEWTON.); +#71= IFCSIUNIT(*,.ILLUMINANCEUNIT.,$,.LUX.); +#72= IFCSIUNIT(*,.LUMINOUSFLUXUNIT.,$,.LUMEN.); +#73= IFCSIUNIT(*,.LUMINOUSINTENSITYUNIT.,$,.CANDELA.); +#74= IFCDERIVEDUNITELEMENT(#52,-1); +#75= IFCDERIVEDUNITELEMENT(#44,-2); +#76= IFCDERIVEDUNITELEMENT(#53,3); +#77= IFCDERIVEDUNITELEMENT(#72,1); +#78= IFCDERIVEDUNIT((#74,#75,#76,#77),.USERDEFINED.,'Luminous Efficacy'); +#80= IFCDERIVEDUNITELEMENT(#44,1); +#81= IFCDERIVEDUNITELEMENT(#53,-1); +#82= IFCDERIVEDUNIT((#80,#81),.LINEARVELOCITYUNIT.,$); +#84= IFCSIUNIT(*,.PRESSUREUNIT.,$,.PASCAL.); +#85= IFCDERIVEDUNITELEMENT(#44,-2); +#86= IFCDERIVEDUNITELEMENT(#52,1); +#87= IFCDERIVEDUNITELEMENT(#53,-2); +#88= IFCDERIVEDUNIT((#85,#86,#87),.USERDEFINED.,'Friction Loss'); +#90= IFCUNITASSIGNMENT((#43,#45,#46,#50,#52,#53,#54,#56,#60,#65,#67,#68,#69,#70,#71,#72,#73,#78,#82,#84,#88)); +#92= IFCAXIS2PLACEMENT3D(#6,$,$); +#93= IFCDIRECTION((0.0916772417912353,0.995788774458495)); +#95= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.01,#92,#93); +#98= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#95,$,.GRAPH_VIEW.,$); +#100= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#95,$,.MODEL_VIEW.,$); +#101= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#95,$,.MODEL_VIEW.,$); +#102= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#95,$,.MODEL_VIEW.,$); +#103= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Annotation',3,0.01,#92,#93); +#104= IFCGEOMETRICREPRESENTATIONSUBCONTEXT($,'Annotation',*,*,*,*,#103,0.01,.PLAN_VIEW.,$); +#106= IFCPROJECT('3o91zj$Gr6cQ_i1EP5O_01',#42,'12370',$,$,'14323','02',(#95,#103),#90); +#117= IFCPOSTALADDRESS($,$,$,$,('Forprosjekt'),$,'','As','','Norge'); +#121= IFCBUILDING('3o91zj$Gr6cQ_i1EP5O_00',#42,'091',$,$,#33,$,'091',.ELEMENT.,$,$,#117); +#131= IFCCARTESIANPOINT((0.,0.,-4450.)); +#133= IFCAXIS2PLACEMENT3D(#131,$,$); +#2287= IFCRELVOIDSELEMENT('3EsgTT6fn7Xw9SBqFdrMkV',#42,$,$,#1066,#2284); +#1898= IFCRELDEFINESBYPROPERTIES('3tofk5JcvBsfvwT1fkqAen',#42,$,$,(#1854),#1886); +#138= IFCAXIS2PLACEMENT3D(#6,$,$); +#139= IFCLOCALPLACEMENT(#33,#138); +#140= IFCBUILDINGSTOREY('3o91zj$Gr6cQ_i1EQwd1x6',#42,'PLAN 01',$,$,#139,$,'PLAN 01',.ELEMENT.,0.); +#142= IFCCARTESIANPOINT((0.,0.,3060.)); +#144= IFCAXIS2PLACEMENT3D(#142,$,$); +#145= IFCLOCALPLACEMENT(#33,#144); +#146= IFCBUILDINGSTOREY('3o91zj$Gr6cQ_i1EQwc5Gk',#42,'PLAN 02',$,$,#145,$,'PLAN 02',.ELEMENT.,3060.); +#255= IFCAXIS2PLACEMENT3D(#6,$,$); +#2284= IFCOPENINGELEMENT('3n3el7tsPBORtUY8_VoM22',#42,'Basic Wall:V10:4932686',$,'Opening',#2283,#2277,$,.OPENING.); +#257= IFCCARTESIANPOINT((-215.482203135574,-117.851130197757)); +#259= IFCCARTESIANPOINT((284.517796864423,-117.851130197757)); +#261= IFCPOLYLINE((#257,#259)); +#263= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#261); +#265= IFCCARTESIANPOINT((284.517796864423,-117.851130197757)); +#267= IFCCARTESIANPOINT((-69.0355937288516,235.702260395512)); +#269= IFCPOLYLINE((#265,#267)); +#271= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#269); +#272= IFCCARTESIANPOINT((284.517796864429,-117.851130197759)); +#274= IFCDIRECTION((0.707106781186553,0.707106781186553)); +#276= IFCAXIS2PLACEMENT2D(#272,#274); +#277= IFCCIRCLE(#276,500.000000000003); +#278= IFCTRIMMEDCURVE(#277,(IFCPARAMETERVALUE(90.0000000000003)),(IFCPARAMETERVALUE(135.)),.T.,.PARAMETER.); +#281= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#278); +#282= IFCCOMPOSITECURVE((#263,#271,#281),.F.); +#287= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'ARK',#282); +#290= IFCCARTESIANPOINT((-117.851130197759,284.517796864426,0.)); +#292= IFCDIRECTION((0.707106781186546,-0.707106781186549,0.)); +#294= IFCAXIS2PLACEMENT3D(#290,#20,#292); +#295= IFCEXTRUDEDAREASOLID(#287,#294,#20,1000.); +#296= IFCCARTESIANPOINT((-22.2701322115385,-16.1538461538461)); +#298= IFCCARTESIANPOINT((-15.7677283653846,-16.1538461538461)); +#300= IFCCARTESIANPOINT((-10.1427283653846,-0.769230769230751)); +#302= IFCCARTESIANPOINT((10.1337139423077,-0.769230769230751)); +#304= IFCCARTESIANPOINT((15.7707331730769,-16.1538461538461)); +#306= IFCCARTESIANPOINT((22.2731370192308,-16.1538461538461)); +#308= IFCCARTESIANPOINT((2.62169471153847,33.0769230769231)); +#310= IFCCARTESIANPOINT((-2.61868990384616,33.0769230769231)); +#312= IFCPOLYLINE((#296,#298,#300,#302,#304,#306,#308,#310,#296)); +#314= IFCCARTESIANPOINT((-7.88311298076925,5.38461538461539)); +#316= IFCCARTESIANPOINT((-3.06340144230768,18.5456730769231)); +#318= IFCCARTESIANPOINT((0.0015024038461509,26.9230769230769)); +#320= IFCCARTESIANPOINT((3.45102163461539,17.4879807692308)); +#322= IFCCARTESIANPOINT((7.88611778846155,5.38461538461539)); +#324= IFCPOLYLINE((#314,#316,#318,#320,#322,#314)); +#326= IFCARBITRARYPROFILEDEFWITHVOIDS(.AREA.,'ARK',#312,(#324)); +#328= IFCCARTESIANPOINT((-171.980586302626,295.540377228824,1000.)); +#330= IFCAXIS2PLACEMENT3D(#328,$,$); +#331= IFCEXTRUDEDAREASOLID(#326,#330,#20,10.); +#332= IFCCARTESIANPOINT((-23.1072874493927,-22.0657262145749)); +#334= IFCCARTESIANPOINT((-16.9534412955466,-22.0657262145749)); +#336= IFCCARTESIANPOINT((-16.9534412955466,-0.527264676113383)); +#338= IFCCARTESIANPOINT((-9.52555668016196,-0.527264676113383)); +#340= IFCCARTESIANPOINT((-5.95584514170041,-0.743610829959519)); +#342= IFCCARTESIANPOINT((-3.02916244939272,-1.91548582995952)); +#344= IFCCARTESIANPOINT((0.22203947368421,-5.1065915991903)); +#346= IFCCARTESIANPOINT((4.84944331983806,-11.861399291498)); +#348= IFCCARTESIANPOINT((11.2556933198381,-22.0657262145749)); +#350= IFCCARTESIANPOINT((18.4071356275304,-22.0657262145749)); +#352= IFCCARTESIANPOINT((10.1980010121458,-8.72438006072877)); +#354= IFCCARTESIANPOINT((5.21002024291498,-2.39024544534416)); +#356= IFCCARTESIANPOINT((1.71242408906881,0.241966093117401)); +#358= IFCCARTESIANPOINT((12.0189144736842,4.82129301619432)); +#360= IFCCARTESIANPOINT((15.3542510121457,13.6914853238866)); +#362= IFCCARTESIANPOINT((13.3410298582996,21.1373987854251)); +#364= IFCCARTESIANPOINT((7.95641447368421,25.8369180161943)); +#366= IFCCARTESIANPOINT((-1.89334514170039,27.1650430161943)); +#368= IFCCARTESIANPOINT((-23.1072874493927,27.1650430161943)); +#370= IFCPOLYLINE((#332,#334,#336,#338,#340,#342,#344,#346,#348,#350,#352,#354,#356,#358,#360,#362,#364,#366,#368,#332)); +#372= IFCCARTESIANPOINT((-16.9534412955466,5.62658147773276)); +#374= IFCCARTESIANPOINT((-16.9534412955466,21.0111968623482)); +#376= IFCCARTESIANPOINT((-1.62892206477732,21.0111968623482)); +#378= IFCCARTESIANPOINT((6.59824139676112,18.8837930161943)); +#380= IFCCARTESIANPOINT((9.20040485829959,13.4631199392712)); +#382= IFCCARTESIANPOINT((7.8362221659919,9.28643724696353)); +#384= IFCCARTESIANPOINT((3.84583755060729,6.49797570850204)); +#386= IFCCARTESIANPOINT((-3.1794028340081,5.62658147773276)); +#388= IFCPOLYLINE((#372,#374,#376,#378,#380,#382,#384,#386,#372)); +#390= IFCARBITRARYPROFILEDEFWITHVOIDS(.AREA.,'ARK',#370,(#388)); +#392= IFCCARTESIANPOINT((-120.025642603233,301.452257289553,1000.)); +#394= IFCAXIS2PLACEMENT3D(#392,$,$); +#395= IFCEXTRUDEDAREASOLID(#390,#394,#20,10.); +#396= IFCCARTESIANPOINT((-16.9401041666667,-24.4000400641025)); +#398= IFCCARTESIANPOINT((-10.7862580128205,-24.4000400641025)); +#400= IFCCARTESIANPOINT((-10.7862580128205,-7.47696314102559)); +#402= IFCCARTESIANPOINT((-2.49298878205128,0.43169070512825)); +#404= IFCCARTESIANPOINT((16.3050881410257,-24.4000400641025)); +#406= IFCCARTESIANPOINT((23.8291266025641,-24.4000400641025)); +#408= IFCCARTESIANPOINT((1.8699919871795,4.5903445512821)); +#410= IFCCARTESIANPOINT((23.0598958333334,24.8307291666667)); +#412= IFCCARTESIANPOINT((14.4541266025641,24.8307291666667)); +#414= IFCCARTESIANPOINT((-10.7862580128205,0.732171474359006)); +#416= IFCCARTESIANPOINT((-10.7862580128205,24.8307291666667)); +#418= IFCCARTESIANPOINT((-16.9401041666667,24.8307291666667)); +#420= IFCPOLYLINE((#396,#398,#400,#402,#404,#406,#408,#410,#412,#414,#416,#418,#396)); +#422= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'ARK',#420); +#423= IFCCARTESIANPOINT((-76.9620566551901,303.78657113908,1000.)); +#425= IFCAXIS2PLACEMENT3D(#423,$,$); +#426= IFCEXTRUDEDAREASOLID(#422,#425,#20,10.); +#427= IFCCOLOURRGB($,0.,1.,0.); +#428= IFCSURFACESTYLERENDERING(#427,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(64.),.NOTDEFINED.); +#429= IFCSURFACESTYLE('NULPUNKT - ARK',.BOTH.,(#428)); +#431= IFCPRESENTATIONSTYLEASSIGNMENT((#429)); +#433= IFCSTYLEDITEM(#295,(#431),$); +#436= IFCCOLOURRGB($,0.498039215686275,0.498039215686275,0.498039215686275); +#437= IFCSURFACESTYLERENDERING(#436,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(64.),.NOTDEFINED.); +#438= IFCSURFACESTYLE('Default',.BOTH.,(#437)); +#440= IFCPRESENTATIONSTYLEASSIGNMENT((#438)); +#442= IFCSTYLEDITEM(#331,(#440),$); +#445= IFCSTYLEDITEM(#395,(#440),$); +#448= IFCSTYLEDITEM(#426,(#440),$); +#451= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#295,#331,#395,#426)); +#458= IFCCARTESIANPOINT((-14.852961874911,14.1421356237286)); +#460= IFCCARTESIANPOINT((-0.,28.9950974986374)); +#462= IFCPOLYLINE((#458,#460)); +#464= IFCCARTESIANPOINT((-28.9950974986419,28.2842712474597)); +#466= IFCCARTESIANPOINT((-0.,57.2793687460993)); +#468= IFCPOLYLINE((#464,#466)); +#470= IFCCARTESIANPOINT((-43.1372331223728,42.4264068711906)); +#472= IFCCARTESIANPOINT((-0.,85.5636399935611)); +#474= IFCPOLYLINE((#470,#472)); +#476= IFCCARTESIANPOINT((-57.2793687461036,56.5685424949217)); +#478= IFCCARTESIANPOINT((-0.,113.847911241023)); +#480= IFCPOLYLINE((#476,#478)); +#482= IFCCARTESIANPOINT((-71.4215043698345,70.7106781186527)); +#484= IFCCARTESIANPOINT((-0.,142.132182488485)); +#486= IFCPOLYLINE((#482,#484)); +#488= IFCCARTESIANPOINT((-85.5636399935654,84.8528137423838)); +#490= IFCCARTESIANPOINT((-0.,170.416453735947)); +#492= IFCPOLYLINE((#488,#490)); +#494= IFCCARTESIANPOINT((-99.7057756172962,98.9949493661148)); +#496= IFCCARTESIANPOINT((-0.,198.700724983409)); +#498= IFCPOLYLINE((#494,#496)); +#500= IFCCARTESIANPOINT((-113.847911241027,113.137084989846)); +#502= IFCCARTESIANPOINT((-0.,226.984996230871)); +#504= IFCPOLYLINE((#500,#502)); +#506= IFCCARTESIANPOINT((-127.634633739169,127.634633739166)); +#508= IFCCARTESIANPOINT((-0.,255.269267478333)); +#510= IFCPOLYLINE((#506,#508)); +#512= IFCCARTESIANPOINT((-141.7767693629,141.776769362897)); +#514= IFCCARTESIANPOINT((-0.,283.553538725795)); +#516= IFCPOLYLINE((#512,#514)); +#518= IFCCARTESIANPOINT((-155.918904986631,155.918904986628)); +#520= IFCCARTESIANPOINT((-0.,311.837809973257)); +#522= IFCPOLYLINE((#518,#520)); +#524= IFCCARTESIANPOINT((-166.170093578841,173.95198764188)); +#526= IFCCARTESIANPOINT((-0.,340.122081220719)); +#528= IFCPOLYLINE((#524,#526)); +#530= IFCCARTESIANPOINT((-184.203176234092,184.20317623409)); +#532= IFCCARTESIANPOINT((-0.,368.40635246818)); +#534= IFCPOLYLINE((#530,#532)); +#536= IFCCARTESIANPOINT((-198.345311857823,198.345311857821)); +#538= IFCCARTESIANPOINT((-0.,396.690623715642)); +#540= IFCPOLYLINE((#536,#538)); +#542= IFCCARTESIANPOINT((-212.487447481554,212.487447481552)); +#544= IFCCARTESIANPOINT((-0.,424.974894963105)); +#546= IFCPOLYLINE((#542,#544)); +#548= IFCCARTESIANPOINT((-226.629583105285,226.629583105283)); +#550= IFCCARTESIANPOINT((-0.,453.259166210566)); +#552= IFCPOLYLINE((#548,#550)); +#554= IFCCARTESIANPOINT((-240.771718729016,240.771718729014)); +#556= IFCCARTESIANPOINT((-0.,481.543437458028)); +#558= IFCPOLYLINE((#554,#556)); +#560= IFCCARTESIANPOINT((-254.913854352747,254.913854352745)); +#562= IFCCARTESIANPOINT((-9.9262488315132,499.901459873978)); +#564= IFCPOLYLINE((#560,#562)); +#566= IFCCARTESIANPOINT((-269.055989976478,269.055989976476)); +#568= IFCCARTESIANPOINT((-39.6897451674856,498.422234785468)); +#570= IFCPOLYLINE((#566,#568)); +#572= IFCCARTESIANPOINT((-283.198125600209,283.198125600207)); +#574= IFCCARTESIANPOINT((-71.5408043081512,494.855446892265)); +#576= IFCPOLYLINE((#572,#574)); +#578= IFCCARTESIANPOINT((-297.34026122394,297.340261223938)); +#580= IFCCARTESIANPOINT((-106.058351323186,488.622171124692)); +#582= IFCPOLYLINE((#578,#580)); +#584= IFCCARTESIANPOINT((-311.482396847671,311.482396847669)); +#586= IFCCARTESIANPOINT((-144.214000388474,478.750793306866)); +#588= IFCPOLYLINE((#584,#586)); +#590= IFCCARTESIANPOINT((-325.624532471401,325.6245324714)); +#592= IFCCARTESIANPOINT((-187.897760009465,463.351304933336)); +#594= IFCPOLYLINE((#590,#592)); +#596= IFCCARTESIANPOINT((-339.766668095133,339.766668095131)); +#598= IFCCARTESIANPOINT((-241.998517598497,437.534818591767)); +#600= IFCPOLYLINE((#596,#598)); +#602= IFCCARTESIANPOINT((-0.,481.543437458028)); +#604= IFCCARTESIANPOINT((18.1278360413173,499.671273499347)); +#606= IFCPOLYLINE((#602,#604)); +#608= IFCAXIS2PLACEMENT2D(#10,#24); +#609= IFCCIRCLE(#608,500.); +#610= IFCCARTESIANPOINT((353.553390593277,353.553390593271)); +#612= IFCCARTESIANPOINT((-353.553390593274,-353.553390593274)); +#614= IFCPOLYLINE((#610,#612)); +#616= IFCCARTESIANPOINT((353.553390593271,-353.553390593276)); +#618= IFCCARTESIANPOINT((-353.553390593275,353.553390593273)); +#620= IFCPOLYLINE((#616,#618)); +#622= IFCCARTESIANPOINT((750.,-0.)); +#624= IFCCARTESIANPOINT((-750.,0.)); +#626= IFCPOLYLINE((#622,#624)); +#628= IFCCARTESIANPOINT((-0.,-750.)); +#630= IFCCARTESIANPOINT((-0.,750.)); +#632= IFCPOLYLINE((#628,#630)); +#634= IFCGEOMETRICSET((#462,#468,#474,#480,#486,#492,#498,#504,#510,#516,#522,#528,#534,#540,#546,#552,#558,#564,#570,#576,#582,#588,#594,#600,#606,#609,#614,#620,#626,#632)); +#636= IFCSHAPEREPRESENTATION(#104,'FootPrint','GeometricSet',(#634)); +#639= IFCAXIS2PLACEMENT3D(#6,$,$); +#640= IFCREPRESENTATIONMAP(#639,#451); +#644= IFCREPRESENTATIONMAP(#639,#636); +#646= IFCBUILDINGELEMENTPROXYTYPE('19G2kjMqT2bw6US8_6I3Jw',#42,'ARK',$,$,(#798,#809),(#640,#644),'235751',$,.NOTDEFINED.); +#650= IFCMATERIAL('NULPUNKT - ARK',$,$); +#657= IFCPRESENTATIONSTYLEASSIGNMENT((#429)); +#659= IFCSTYLEDITEM($,(#657),$); +#661= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#659)); +#664= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#661),#650); +#668= IFCMATERIAL('Default',$,$); +#669= IFCPRESENTATIONSTYLEASSIGNMENT((#438)); +#671= IFCSTYLEDITEM($,(#669),$); +#673= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#671)); +#675= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#673),#668); +#679= IFCMATERIALLIST((#650,#668)); +#681= IFCCLASSIFICATION('http://www.csiorg.net/uniformat','1998',$,'Uniformat',$,$,$); +#684= IFCCARTESIANTRANSFORMATIONOPERATOR3D($,$,#6,1.,$); +#685= IFCMAPPEDITEM(#640,#684); +#687= IFCSHAPEREPRESENTATION(#100,'Body','MappedRepresentation',(#685)); +#689= IFCMAPPEDITEM(#644,#684); +#691= IFCSHAPEREPRESENTATION(#104,'FootPrint','MappedRepresentation',(#689)); +#693= IFCPRODUCTDEFINITIONSHAPE($,$,(#687,#691)); +#699= IFCAXIS2PLACEMENT3D(#6,$,$); +#700= IFCLOCALPLACEMENT(#139,#699); +#701= IFCBUILDINGELEMENTPROXY('19G2kjMqT2bw6US8_6I2Vy',#42,'Prosjekt nullpunkt - ARK:ARK:232417',$,'ARK',#700,#693,'232417',$); +#716= IFCMATERIALLIST((#650,#668)); +#718= IFCPROPERTYSINGLEVALUE('Host',$,IFCTEXT('Level : PLAN 01'),$); +#724= IFCPROPERTYSINGLEVALUE('Level',$,IFCLABEL('Level: PLAN 01'),$); +#725= IFCPROPERTYSINGLEVALUE('Moves With Nearby Elements',$,IFCBOOLEAN(.F.),$); +#726= IFCPROPERTYSINGLEVALUE('Offset',$,IFCLENGTHMEASURE(0.),$); +#727= IFCPROPERTYSINGLEVALUE('Phase Created',$,IFCLABEL('New Construction'),$); +#728= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(0.800782485703027),$); +#729= IFCPROPERTYSINGLEVALUE('H\X2\00F8\X0\yde over prosjektnullpunkt',$,IFCLENGTHMEASURE(5000.),$); +#730= IFCPROPERTYSINGLEVALUE('H\X2\00F8\X0\yde under prosjektnullpunkt',$,IFCLENGTHMEASURE(1000.),$); +#731= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(0.0981970030347725),$); +#732= IFCPROPERTYSINGLEVALUE('Design Option',$,IFCLABEL('Akselinier (primary)'),$); +#733= IFCPROPERTYSINGLEVALUE('Mark',$,IFCTEXT('1'),$); +#734= IFCPROPERTYSINGLEVALUE('Reference Nr. On/Off',$,IFCBOOLEAN(.F.),$); +#735= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Generic Models'),$); +#736= IFCPROPERTYSINGLEVALUE('Family',$,IFCLABEL('Prosjekt nullpunkt - ARK: ARK'),$); +#737= IFCPROPERTYSINGLEVALUE('Family and Type',$,IFCLABEL('Prosjekt nullpunkt - ARK: ARK'),$); +#738= IFCPROPERTYSINGLEVALUE('Type',$,IFCLABEL('Prosjekt nullpunkt - ARK: ARK'),$); +#739= IFCPROPERTYSINGLEVALUE('Type Id',$,IFCLABEL('Prosjekt nullpunkt - ARK: ARK'),$); +#740= IFCPROPERTYSINGLEVALUE('Assembly Code',$,IFCTEXT(''),$); +#741= IFCPROPERTYSINGLEVALUE('Assembly Description',$,IFCTEXT(''),$); +#742= IFCPROPERTYSINGLEVALUE('Code Name',$,IFCTEXT(''),$); +#743= IFCPROPERTYSINGLEVALUE('Description',$,IFCTEXT('Prosjekt nullpunkt'),$); +#744= IFCPROPERTYSINGLEVALUE('Model',$,IFCTEXT(''),$); +#745= IFCPROPERTYSINGLEVALUE('OmniClass Number',$,IFCTEXT(''),$); +#746= IFCPROPERTYSINGLEVALUE('OmniClass Title',$,IFCTEXT(''),$); +#747= IFCPROPERTYSINGLEVALUE('Type Comments',$,IFCTEXT(''),$); +#748= IFCPROPERTYSINGLEVALUE('Type Name',$,IFCTEXT('ARK'),$); +#749= IFCPROPERTYSINGLEVALUE('Family Name',$,IFCTEXT('Prosjekt nullpunkt - ARK'),$); +#750= IFCPROPERTYSET('19G2kjMqT2bw6UTfk6I2Vy',#42,'Constraints',$,(#718,#724,#725,#726)); +#761= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTvk6I2Vy',#42,$,$,(#701),#750); +#765= IFCPROPERTYSET('19G2kjMqT2bw6UTes6I2Vy',#42,'Dimensions',$,(#728,#729,#730,#731)); +#771= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTus6I2Vy',#42,$,$,(#701),#765); +#774= IFCPROPERTYSET('19G2kjMqT2bw6UTew6I2Vy',#42,'Identity Data',$,(#732,#733,#734)); +#779= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTuw6I2Vy',#42,$,$,(#701),#774); +#782= IFCPROPERTYSET('04ex9yUQn3xgXt9j78lgww',#42,'Other',$,(#735,#736,#737,#738,#739)); +#789= IFCRELDEFINESBYPROPERTIES('0BPTyWIbPEk9rSL4IWNn9D',#42,$,$,(#701),#782); +#792= IFCPROPERTYSET('19G2kjMqT2bw6UTe26I2Vy',#42,'Phasing',$,(#727)); +#795= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTu26I2Vy',#42,$,$,(#701),#792); +#798= IFCPROPERTYSET('19G2kjMqT2bw6UTew6I3Jw',#42,'Identity Data',$,(#740,#741,#742,#743,#744,#745,#746,#747,#748)); +#809= IFCPROPERTYSET('0Rca49yqv2WOWW$EUHuWC8',#42,'Other',$,(#735,#749)); +#815= IFCAXIS2PLACEMENT3D(#6,$,$); +#816= IFCLOCALPLACEMENT(#139,#815); +#817= IFCCARTESIANPOINT((-11.6666666666666,-11.6666666666665)); +#819= IFCCARTESIANPOINT((23.3333333333334,-11.6666666666665)); +#821= IFCPOLYLINE((#817,#819)); +#823= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#821); +#824= IFCCARTESIANPOINT((-11.6666666666666,-11.6666666666665)); +#826= IFCAXIS2PLACEMENT2D(#824,#28); +#827= IFCCIRCLE(#826,35.); +#828= IFCTRIMMEDCURVE(#827,(IFCPARAMETERVALUE(269.999999999999)),(IFCPARAMETERVALUE(359.999999999999)),.T.,.PARAMETER.); +#831= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#828); +#832= IFCCARTESIANPOINT((-11.6666666666667,23.3333333333335)); +#834= IFCCARTESIANPOINT((-11.6666666666666,-11.6666666666665)); +#836= IFCPOLYLINE((#832,#834)); +#838= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#836); +#839= IFCCOMPOSITECURVE((#823,#831,#838),.F.); +#844= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Custom',#839); +#845= IFCCARTESIANPOINT((11.6666666666665,-11.6666666666667,0.)); +#847= IFCAXIS2PLACEMENT3D(#845,#20,#18); +#848= IFCEXTRUDEDAREASOLID(#844,#847,#20,0.8); +#849= IFCCARTESIANPOINT((-11.6666666666666,-11.6666666666665)); +#851= IFCCARTESIANPOINT((23.3333333333334,-11.6666666666665)); +#853= IFCPOLYLINE((#849,#851)); +#855= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#853); +#856= IFCCARTESIANPOINT((-11.6666666666666,-11.6666666666665)); +#858= IFCAXIS2PLACEMENT2D(#856,#28); +#859= IFCCIRCLE(#858,35.); +#860= IFCTRIMMEDCURVE(#859,(IFCPARAMETERVALUE(269.999999999999)),(IFCPARAMETERVALUE(359.999999999999)),.T.,.PARAMETER.); +#863= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#860); +#864= IFCCARTESIANPOINT((-11.6666666666667,23.3333333333335)); +#866= IFCCARTESIANPOINT((-11.6666666666666,-11.6666666666665)); +#868= IFCPOLYLINE((#864,#866)); +#870= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#868); +#871= IFCCOMPOSITECURVE((#855,#863,#870),.F.); +#876= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Custom',#871); +#877= IFCCARTESIANPOINT((-11.6666666666669,11.6666666666668,0.)); +#879= IFCAXIS2PLACEMENT3D(#877,#20,#16); +#880= IFCEXTRUDEDAREASOLID(#876,#879,#20,0.8); +#881= IFCCOLOURRGB($,0.,0.,0.); +#882= IFCSURFACESTYLERENDERING(#881,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(64.),.NOTDEFINED.); +#883= IFCSURFACESTYLE('Black',.BOTH.,(#882)); +#885= IFCPRESENTATIONSTYLEASSIGNMENT((#883)); +#887= IFCSTYLEDITEM(#848,(#885),$); +#890= IFCSTYLEDITEM(#880,(#885),$); +#893= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#848,#880)); +#895= IFCPRODUCTDEFINITIONSHAPE($,$,(#893)); +#898= IFCSLAB('19G2kjMqT2bw6US8_6I2V$',#42,'SurveyMarker:Custom:232418',$,'SurveyMarker:Custom',#816,#895,'232418',.FLOOR.); +#901= IFCMATERIAL('Black',$,$); +#902= IFCPRESENTATIONSTYLEASSIGNMENT((#883)); +#904= IFCSTYLEDITEM($,(#902),$); +#906= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#904)); +#908= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#906),#901); +#912= IFCPROPERTYSINGLEVALUE('Host',$,IFCTEXT('Level : PLAN 01'),$); +#913= IFCPROPERTYSINGLEVALUE('Moves With Grids',$,IFCBOOLEAN(.T.),$); +#914= IFCPROPERTYSINGLEVALUE('Rebar Cover - Bottom Face',$,IFCLABEL('Rebar Cover Settings: Rebar Cover 1'),$); +#915= IFCPROPERTYSINGLEVALUE('Rebar Cover - Other Faces',$,IFCLABEL('Rebar Cover Settings: Rebar Cover 1'),$); +#916= IFCPROPERTYSINGLEVALUE('Rebar Cover - Top Face',$,IFCLABEL('Rebar Cover Settings: Rebar Cover 1'),$); +#917= IFCPROPERTYSINGLEVALUE('Switch Marker',$,IFCBOOLEAN(.T.),$); +#918= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(0.00192397103712917),$); +#919= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(1.53930324981553E-6),$); +#920= IFCPROPERTYSINGLEVALUE('Host Family Description',$,IFCTEXT('Prosjekt nullpunkt'),$); +#921= IFCPROPERTYSINGLEVALUE('Reference Nr.',$,IFCTEXT('1'),$); +#922= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Structural Foundations'),$); +#923= IFCPROPERTYSINGLEVALUE('Family',$,IFCLABEL('SurveyMarker: Custom'),$); +#924= IFCPROPERTYSINGLEVALUE('Family and Type',$,IFCLABEL('SurveyMarker: Custom'),$); +#925= IFCPROPERTYSINGLEVALUE('Type',$,IFCLABEL('SurveyMarker: Custom'),$); +#926= IFCPROPERTYSINGLEVALUE('Type Id',$,IFCLABEL('SurveyMarker: Custom'),$); +#927= IFCPROPERTYSINGLEVALUE('Circle',$,IFCBOOLEAN(.T.),$); +#928= IFCPROPERTYSINGLEVALUE('Square',$,IFCBOOLEAN(.T.),$); +#929= IFCPROPERTYSINGLEVALUE('Fill',$,IFCBOOLEAN(.T.),$); +#930= IFCPROPERTYSINGLEVALUE('Length',$,IFCLENGTHMEASURE(35.),$); +#931= IFCPROPERTYSINGLEVALUE('Scale',$,IFCLENGTHMEASURE(35.),$); +#932= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(35.),$); +#933= IFCPROPERTYSINGLEVALUE('Type Comments',$,IFCTEXT('SurveyMarker'),$); +#934= IFCPROPERTYSINGLEVALUE('Type Name',$,IFCTEXT('Custom'),$); +#935= IFCPROPERTYSINGLEVALUE('Family Name',$,IFCTEXT('SurveyMarker'),$); +#936= IFCPROPERTYSET('19G2kjMqT2bw6UTfk6I2V$',#42,'Constraints',$,(#724,#726,#912,#913)); +#940= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTvk6I2V$',#42,$,$,(#898),#936); +#944= IFCPROPERTYSET('19G2kjMqT2bw6UTes6I2V$',#42,'Dimensions',$,(#918,#919)); +#948= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTus6I2V$',#42,$,$,(#898),#944); +#951= IFCPROPERTYSET('19G2kjMqT2bw6UTeg6I2V$',#42,'Graphics',$,(#917)); +#954= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTug6I2V$',#42,$,$,(#898),#951); +#957= IFCPROPERTYSET('19G2kjMqT2bw6UTew6I2V$',#42,'Identity Data',$,(#732,#734,#920,#921)); +#961= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTuw6I2V$',#42,$,$,(#898),#957); +#964= IFCPROPERTYSET('2KSntZC_j7LBUsDOKI4aYw',#42,'Other',$,(#922,#923,#924,#925,#926)); +#971= IFCRELDEFINESBYPROPERTIES('24qsqZIqL3vPw_oKCiH3X6',#42,$,$,(#898),#964); +#974= IFCPROPERTYSET('19G2kjMqT2bw6UTe26I2V$',#42,'Phasing',$,(#727)); +#976= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTu26I2V$',#42,$,$,(#898),#974); +#979= IFCPROPERTYSET('19G2kjMqT2bw6UTeA6I2V$',#42,'Structural',$,(#914,#915,#916)); +#984= IFCRELDEFINESBYPROPERTIES('19G2kjMqT2bw6UTuA6I2V$',#42,$,$,(#898),#979); +#987= IFCPROPERTYSET('19G2kjMqT2bw6UTek6I3JE',#42,'Construction',$,(#929)); +#990= IFCPROPERTYSET('19G2kjMqT2bw6UTes6I3JE',#42,'Dimensions',$,(#930,#931,#932)); +#995= IFCPROPERTYSET('19G2kjMqT2bw6UTeg6I3JE',#42,'Graphics',$,(#927,#928)); +#999= IFCPROPERTYSET('19G2kjMqT2bw6UTew6I3JE',#42,'Identity Data',$,(#740,#741,#742,#744,#745,#746,#933,#934)); +#1003= IFCPROPERTYSET('0wYiXNUp58QeDog$ZtpK0I',#42,'Other',$,(#922,#935)); +#1006= IFCAXIS2PLACEMENT3D(#6,$,$); +#1007= IFCLOCALPLACEMENT(#145,#1029); +#1008= IFCCARTESIANPOINT((240928.581159878,149778.983059267)); +#1010= IFCCARTESIANPOINT((240914.439024255,149793.12519489)); +#1012= IFCPOLYLINE((#1008,#1010)); +#1014= IFCGEOMETRICCURVESET((#1012)); +#1016= IFCCOLOURRGB($,0.,0.,0.); +#1017= IFCDRAUGHTINGPREDEFINEDCURVEFONT('continuous'); +#1018= IFCCURVESTYLE('Thin Lines',#1017,$,#1016,$); +#1019= IFCPRESENTATIONSTYLEASSIGNMENT((#1018)); +#1021= IFCSTYLEDITEM(#1014,(#1019),$); +#1024= IFCSHAPEREPRESENTATION(#104,'Annotation','Annotation2D',(#1014)); +#1026= IFCPRODUCTDEFINITIONSHAPE($,$,(#1024)); +#1029= IFCAXIS2PLACEMENT3D(#6,$,$); +#1030= IFCANNOTATION('1jkJR2yV94xeQKZO34YBI4',#42,$,$,$,#1007,#1026); +#1034= IFCCARTESIANPOINT((9914.49999983799,30485.5000000002,0.)); +#1036= IFCAXIS2PLACEMENT3D(#1034,$,$); +#1037= IFCLOCALPLACEMENT(#139,#1036); +#1038= IFCCARTESIANPOINT((54171.,0.)); +#1040= IFCPOLYLINE((#10,#1038)); +#1042= IFCSHAPEREPRESENTATION(#98,'Axis','Curve2D',(#1040)); +#1045= IFCCARTESIANPOINT((27085.5,3.41060513164848E-13)); +#1047= IFCAXIS2PLACEMENT2D(#1045,#26); +#1048= IFCRECTANGLEPROFILEDEF(.AREA.,$,#1047,54171.,213.000000000004); +#1049= IFCAXIS2PLACEMENT3D(#6,$,$); +#1050= IFCEXTRUDEDAREASOLID(#1048,#1049,#20,3000.); +#1051= IFCCOLOURRGB($,0.96078431372549,0.96078431372549,0.96078431372549); +#1052= IFCSURFACESTYLERENDERING(#1051,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(64.),.NOTDEFINED.); +#1053= IFCSURFACESTYLE('Dobbelfals Liggende Kledning - R\X2\00D8\X0\D',.BOTH.,(#1052)); +#1055= IFCPRESENTATIONSTYLEASSIGNMENT((#1053)); +#1057= IFCSTYLEDITEM(#1050,(#1055),$); +#1060= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#1050)); +#1062= IFCPRODUCTDEFINITIONSHAPE($,$,(#1042,#1060)); +#1066= IFCWALLSTANDARDCASE('03NDr_iTb47OvHk1xabUui',#42,'Basic Wall:V10:4932686',$,'Basic Wall:V10:4929999',#1037,#1062,'4932686',.NOTDEFINED.); +#1069= IFCMATERIAL('Dobbelfals Liggende Kledning - R\X2\00D8\X0\D',$,$); +#1070= IFCPRESENTATIONSTYLEASSIGNMENT((#1053)); +#1072= IFCSTYLEDITEM($,(#1070),$); +#1074= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#1072)); +#1076= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#1074),#1069); +#1080= IFCMATERIAL('Luft',$,$); +#1081= IFCCOLOURRGB($,1.,1.,1.); +#1082= IFCSURFACESTYLERENDERING(#1081,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(0.),.NOTDEFINED.); +#1083= IFCSURFACESTYLE('Luft',.BOTH.,(#1082)); +#1085= IFCPRESENTATIONSTYLEASSIGNMENT((#1083)); +#1087= IFCSTYLEDITEM($,(#1085),$); +#1089= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#1087)); +#1091= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#1089),#1080); +#1095= IFCMATERIAL('Asfaltplate',$,$); +#1096= IFCCOLOURRGB($,0.0352941176470588,0.0352941176470588,0.0352941176470588); +#1097= IFCSURFACESTYLERENDERING(#1096,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(64.),.NOTDEFINED.); +#1098= IFCSURFACESTYLE('Asfaltplate',.BOTH.,(#1097)); +#1100= IFCPRESENTATIONSTYLEASSIGNMENT((#1098)); +#1102= IFCSTYLEDITEM($,(#1100),$); +#1104= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#1102)); +#1106= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#1104),#1095); +#1110= IFCMATERIAL('Stender/Isolasjon',$,$); +#1111= IFCCOLOURRGB($,0.6,0.6,0.6); +#1112= IFCSURFACESTYLERENDERING(#1111,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(64.),.NOTDEFINED.); +#1113= IFCSURFACESTYLE('Stender/Isolasjon',.BOTH.,(#1112)); +#1115= IFCPRESENTATIONSTYLEASSIGNMENT((#1113)); +#1117= IFCSTYLEDITEM($,(#1115),$); +#1119= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#1117)); +#1121= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#1119),#1110); +#1125= IFCMATERIAL('Vegg - Gips',$,$); +#1126= IFCCOLOURRGB($,0.956862745098039,0.956862745098039,0.956862745098039); +#1127= IFCSURFACESTYLERENDERING(#1126,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(128.),.NOTDEFINED.); +#1128= IFCSURFACESTYLE('Vegg - Gips',.BOTH.,(#1127)); +#1130= IFCPRESENTATIONSTYLEASSIGNMENT((#1128)); +#1132= IFCSTYLEDITEM($,(#1130),$); +#1134= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#1132)); +#1136= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#1134),#1125); +#1140= IFCMATERIALLAYER(#1069,19.,$,$,$,$,$); +#1142= IFCMATERIALLAYER(#1080,23.,$,$,$,$,$); +#1143= IFCMATERIALLAYER(#1095,0.,$,$,$,$,$); +#1144= IFCMATERIALLAYER(#1110,150.,$,$,$,$,$); +#1145= IFCMATERIALLAYER(#1125,21.,$,$,$,$,$); +#1146= IFCMATERIALLAYERSET((#1140,#1142,#1143,#1144,#1145),'Basic Wall:V10',$); +#1153= IFCMATERIALLAYERSETUSAGE(#1146,.AXIS2.,.NEGATIVE.,106.5,$); +#1155= IFCWALLTYPE('2g96BiTO1FDP$QYgEYThRH',#42,'Basic Wall:V10',$,$,(#1239,#1243,#1249,#1252,#1256,#1259),$,'4929999',$,.NOTDEFINED.); +#1156= IFCPROPERTYSINGLEVALUE('Base Constraint',$,IFCLABEL('Level: PLAN 01'),$); +#1157= IFCPROPERTYSINGLEVALUE('Base Extension Distance',$,IFCLENGTHMEASURE(0.),$); +#1158= IFCPROPERTYSINGLEVALUE('Base is Attached',$,IFCBOOLEAN(.F.),$); +#1159= IFCPROPERTYSINGLEVALUE('Base Offset',$,IFCLENGTHMEASURE(0.),$); +#1160= IFCPROPERTYSINGLEVALUE('Location Line',$,IFCIDENTIFIER('Finish Face: Interior'),$); +#1161= IFCPROPERTYSINGLEVALUE('Related to Mass',$,IFCBOOLEAN(.F.),$); +#1162= IFCPROPERTYSINGLEVALUE('Room Bounding',$,IFCBOOLEAN(.T.),$); +#1163= IFCPROPERTYSINGLEVALUE('Top Extension Distance',$,IFCLENGTHMEASURE(0.),$); +#1164= IFCPROPERTYSINGLEVALUE('Top is Attached',$,IFCBOOLEAN(.F.),$); +#1165= IFCPROPERTYSINGLEVALUE('Top Offset',$,IFCLENGTHMEASURE(0.),$); +#1166= IFCPROPERTYSINGLEVALUE('Unconnected Height',$,IFCLENGTHMEASURE(3000.),$); +#1167= IFCPROPERTYSINGLEVALUE('Phase Created',$,IFCLABEL('Existing'),$); +#1168= IFCPROPERTYSINGLEVALUE('Enable Analytical Model',$,IFCBOOLEAN(.F.),$); +#1169= IFCPROPERTYSINGLEVALUE('Structural',$,IFCBOOLEAN(.F.),$); +#1170= IFCPROPERTYSINGLEVALUE('Structural Usage',$,IFCIDENTIFIER('Non-bearing'),$); +#1171= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(155.07025),$); +#1172= IFCPROPERTYSINGLEVALUE('Length',$,IFCLENGTHMEASURE(54171.),$); +#1173= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(33.0299632499999),$); +#1174= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Walls'),$); +#1175= IFCPROPERTYSINGLEVALUE('Family',$,IFCLABEL('Basic Wall: V10'),$); +#1176= IFCPROPERTYSINGLEVALUE('Family and Type',$,IFCLABEL('Basic Wall: V10'),$); +#1177= IFCPROPERTYSINGLEVALUE('Type',$,IFCLABEL('Basic Wall: V10'),$); +#1178= IFCPROPERTYSINGLEVALUE('Type Id',$,IFCLABEL('Basic Wall: V10'),$); +#1179= IFCPROPERTYSINGLEVALUE('Absorptance',$,IFCREAL(0.1),$); +#1180= IFCPROPERTYSINGLEVALUE('Roughness',$,IFCINTEGER(1),$); +#1181= IFCPROPERTYSINGLEVALUE('Structural Material',$,IFCLABEL('Stender/Isolasjon'),$); +#1182= IFCPROPERTYSINGLEVALUE('Coarse Scale Fill Color',$,IFCINTEGER(0),$); +#1183= IFCPROPERTYSINGLEVALUE('Function',$,IFCIDENTIFIER('Exterior'),$); +#1184= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(213.),$); +#1185= IFCPROPERTYSINGLEVALUE('Wrapping at Ends',$,IFCIDENTIFIER('None'),$); +#1186= IFCPROPERTYSINGLEVALUE('Wrapping at Inserts',$,IFCIDENTIFIER('Do not wrap'),$); +#1187= IFCPROPERTYSINGLEVALUE('Type Comments',$,IFCTEXT('1'),$); +#1188= IFCPROPERTYSINGLEVALUE('Type Name',$,IFCTEXT('V10'),$); +#1189= IFCPROPERTYSINGLEVALUE('Family Name',$,IFCTEXT('Basic Wall'),$); +#1190= IFCPROPERTYSET('03NDr_iTb47OvHlWhabUui',#42,'Constraints',$,(#1156,#1157,#1158,#1159,#1160,#1161,#1162,#1163,#1164,#1165,#1166)); +#1203= IFCRELDEFINESBYPROPERTIES('03NDr_iTb47OvHlmhabUui',#42,$,$,(#1066),#1190); +#1207= IFCPROPERTYSET('03NDr_iTb47OvHlXpabUui',#42,'Dimensions',$,(#1171,#1172,#1173)); +#1212= IFCRELDEFINESBYPROPERTIES('03NDr_iTb47OvHlnpabUui',#42,$,$,(#1066),#1207); +#1215= IFCPROPERTYSET('35OoXI64v27fLUuLKme2ma',#42,'Other',$,(#1174,#1175,#1176,#1177,#1178)); +#1222= IFCRELDEFINESBYPROPERTIES('3cyXhmDsPA8RRkkeG1JFpJ',#42,$,$,(#1066),#1215); +#1225= IFCPROPERTYSET('03NDr_iTb47OvHlX7abUui',#42,'Phasing',$,(#1167)); +#1228= IFCRELDEFINESBYPROPERTIES('03NDr_iTb47OvHln7abUui',#42,$,$,(#1066),#1225); +#1231= IFCPROPERTYSET('03NDr_iTb47OvHlXFabUui',#42,'Structural',$,(#1168,#1169,#1170)); +#1236= IFCRELDEFINESBYPROPERTIES('03NDr_iTb47OvHlnFabUui',#42,$,$,(#1066),#1231); +#1239= IFCPROPERTYSET('2g96BiTO1FDP$QZFwYThRH',#42,'Analytical Properties',$,(#1179,#1180)); +#1243= IFCPROPERTYSET('2g96BiTO1FDP$QZAUYThRH',#42,'Construction',$,(#1183,#1184,#1185,#1186)); +#1249= IFCPROPERTYSET('2g96BiTO1FDP$QZAQYThRH',#42,'Graphics',$,(#1182)); +#1252= IFCPROPERTYSET('2g96BiTO1FDP$QZAAYThRH',#42,'Identity Data',$,(#740,#741,#1187,#1188)); +#1256= IFCPROPERTYSET('2g96BiTO1FDP$QZAMYThRH',#42,'Materials and Finishes',$,(#1181)); +#1259= IFCPROPERTYSET('2NUKjTKavCBgnhbHKmcMf9',#42,'Other',$,(#1174,#1189)); +#1269= IFCCARTESIANPOINT((-865.,-450.)); +#1271= IFCCARTESIANPOINT((865.,-450.)); +#1273= IFCCARTESIANPOINT((865.,450.)); +#1275= IFCCARTESIANPOINT((-865.,450.)); +#1277= IFCPOLYLINE((#1269,#1271,#1273,#1275,#1269)); +#1279= IFCCARTESIANPOINT((-325.,-400.)); +#1281= IFCCARTESIANPOINT((-815.,-400.)); +#1283= IFCCARTESIANPOINT((-815.,400.)); +#1285= IFCCARTESIANPOINT((-325.,400.)); +#1287= IFCPOLYLINE((#1279,#1281,#1283,#1285,#1279)); +#1289= IFCCARTESIANPOINT((815.,400.)); +#1291= IFCCARTESIANPOINT((815.,-400.)); +#1293= IFCCARTESIANPOINT((325.,-400.)); +#1295= IFCCARTESIANPOINT((325.,400.)); +#1297= IFCPOLYLINE((#1289,#1291,#1293,#1295,#1289)); +#1299= IFCCARTESIANPOINT((-275.,-400.)); +#1301= IFCCARTESIANPOINT((-275.,400.)); +#1303= IFCCARTESIANPOINT((275.,400.)); +#1305= IFCCARTESIANPOINT((275.,-400.)); +#1307= IFCPOLYLINE((#1299,#1301,#1303,#1305,#1299)); +#1309= IFCARBITRARYPROFILEDEFWITHVOIDS(.AREA.,'Vindu 3 felt med 3 \X2\00E5\X0\pninger',#1277,(#1287,#1297,#1307)); +#1311= IFCCARTESIANPOINT((959.796538590871,153.,460.)); +#1313= IFCAXIS2PLACEMENT3D(#1311,#18,#14); +#1314= IFCEXTRUDEDAREASOLID(#1309,#1313,#20,99.999999999996); +#1315= IFCCARTESIANPOINT((-865.,-450.)); +#1317= IFCCARTESIANPOINT((865.,-450.)); +#1319= IFCCARTESIANPOINT((865.,450.)); +#1321= IFCCARTESIANPOINT((-865.,450.)); +#1323= IFCPOLYLINE((#1315,#1317,#1319,#1321,#1315)); +#1325= IFCCARTESIANPOINT((-845.,-430.)); +#1327= IFCCARTESIANPOINT((-845.,430.)); +#1329= IFCCARTESIANPOINT((845.,430.)); +#1331= IFCCARTESIANPOINT((845.,-430.)); +#1333= IFCPOLYLINE((#1325,#1327,#1329,#1331,#1325)); +#1335= IFCARBITRARYPROFILEDEFWITHVOIDS(.AREA.,'Vindu 3 felt med 3 \X2\00E5\X0\pninger',#1323,(#1333)); +#1337= IFCCARTESIANPOINT((959.796538590869,53.,460.)); +#1339= IFCAXIS2PLACEMENT3D(#1337,#18,#12); +#1340= IFCEXTRUDEDAREASOLID(#1335,#1339,#20,93.000000000008); +#1341= IFCCARTESIANPOINT((0.,1.77635683940025E-15)); +#1343= IFCAXIS2PLACEMENT2D(#1341,#24); +#1344= IFCRECTANGLEPROFILEDEF(.AREA.,'Vindu 3 felt med 3 \X2\00E5\X0\pninger',#1343,550.000000000005,10.); +#1345= IFCCARTESIANPOINT((959.796538590869,128.,60.)); +#1347= IFCAXIS2PLACEMENT3D(#1345,#20,#14); +#1348= IFCEXTRUDEDAREASOLID(#1344,#1347,#20,799.999999999981); +#1349= IFCCOLOURRGB($,0.956862745098039,0.956862745098039,0.956862745098039); +#1350= IFCSURFACESTYLERENDERING(#1349,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(128.),.NOTDEFINED.); +#1351= IFCSURFACESTYLE('Hvit',.BOTH.,(#1350)); +#1353= IFCPRESENTATIONSTYLEASSIGNMENT((#1351)); +#1355= IFCSTYLEDITEM(#1314,(#1353),$); +#1358= IFCSTYLEDITEM(#1340,(#1353),$); +#1361= IFCCOLOURRGB($,0.854901960784314,0.890196078431373,0.87843137254902); +#1362= IFCSURFACESTYLERENDERING(#1361,0.85,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(12.),.NOTDEFINED.); +#1363= IFCSURFACESTYLE('Glassplater',.BOTH.,(#1362)); +#1365= IFCPRESENTATIONSTYLEASSIGNMENT((#1363)); +#1367= IFCSTYLEDITEM(#1348,(#1365),$); +#1370= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#1314,#1340,#1348)); +#1372= IFCCARTESIANPOINT((1749.32448009269,297.459222269011)); +#1374= IFCCARTESIANPOINT((1774.79653859088,153.)); +#1376= IFCPOLYLINE((#1372,#1374)); +#1378= IFCCARTESIANPOINT((609.324480092671,297.45922226901)); +#1380= IFCCARTESIANPOINT((634.796538590859,153.)); +#1382= IFCPOLYLINE((#1378,#1380)); +#1384= IFCCARTESIANPOINT((609.324480092671,297.45922226901)); +#1386= IFCCARTESIANPOINT((144.79653859087,153.)); +#1388= IFCPOLYLINE((#1384,#1386)); +#1390= IFCCARTESIANPOINT((1749.32448009269,297.459222269011)); +#1392= IFCCARTESIANPOINT((1284.79653859088,153.)); +#1394= IFCPOLYLINE((#1390,#1392)); +#1396= IFCGEOMETRICSET((#1376,#1382,#1388,#1394)); +#1398= IFCSHAPEREPRESENTATION(#104,'FootPrint','GeometricSet',(#1396)); +#1400= IFCAXIS2PLACEMENT3D(#6,$,$); +#1401= IFCREPRESENTATIONMAP(#1400,#1370); +#1403= IFCREPRESENTATIONMAP(#1400,#1398); +#1405= IFCWINDOWLININGPROPERTIES('2s384mGt93XQ6GAKtxEBEF',#42,'Eks V1:Vindu 3 felt med 3 \X2\00E5\X0\pninger:5304233',$,$,$,$,$,$,$,$,$,$,$,$,$); +#1406= IFCWINDOWTYPE('2BB$9YoXb9ofcxEmoUuBl7',#42,'Vindu 3 felt med 3 \X2\00E5\X0\pninger',$,$,(#1405,#1535,#1538,#1541,#1545,#1554,#1560,#1565),(#1401,#1403),'6053107',$,.WINDOW.,.NOTDEFINED.,.F.,$); +#1410= IFCMATERIAL('Hvit',$,$); +#1411= IFCPRESENTATIONSTYLEASSIGNMENT((#1351)); +#1413= IFCSTYLEDITEM($,(#1411),$); +#1415= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#1413)); +#1417= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#1415),#1410); +#1421= IFCMATERIAL('Glassplater',$,$); +#1422= IFCPRESENTATIONSTYLEASSIGNMENT((#1363)); +#1424= IFCSTYLEDITEM($,(#1422),$); +#1426= IFCSTYLEDREPRESENTATION(#95,'Style','Material',(#1424)); +#1428= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#1426),#1421); +#1432= IFCMATERIALLIST((#1410,#1421)); +#1434= IFCMAPPEDITEM(#1401,#684); +#1436= IFCSHAPEREPRESENTATION(#100,'Body','MappedRepresentation',(#1434)); +#1438= IFCMAPPEDITEM(#1403,#684); +#1440= IFCSHAPEREPRESENTATION(#104,'FootPrint','MappedRepresentation',(#1438)); +#1442= IFCPRODUCTDEFINITIONSHAPE($,$,(#1436,#1440)); +#1446= IFCCARTESIANPOINT((61178.1361954652,30419.,1200.)); +#1448= IFCAXIS2PLACEMENT3D(#1446,$,$); +#2170= IFCLOCALPLACEMENT(#2154,#2169); +#1450= IFCWINDOW('1PTz52_o9DlAOe37wu2tDU',#42,'Eks V1:Vindu 3 felt med 3 \X2\00E5\X0\pninger:5304233',$,'Vindu 3 felt med 3 \X2\00E5\X0\pninger',#2170,#1442,'5304233',920.000000000016,1750.,.WINDOW.,.NOTDEFINED.,$); +#1453= IFCMATERIALLIST((#1410,#1421)); +#1455= IFCPROPERTYSINGLEVALUE('Sill Height',$,IFCLENGTHMEASURE(1200.),$); +#1456= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(2.02784000000005),$); +#1457= IFCPROPERTYSINGLEVALUE('Height',$,IFCLENGTHMEASURE(920.),$); +#1458= IFCPROPERTYSINGLEVALUE('Innsetting',$,IFCLENGTHMEASURE(20.),$); +#1459= IFCPROPERTYSINGLEVALUE('Spalte',$,IFCLENGTHMEASURE(10.),$); +#1460= IFCPROPERTYSINGLEVALUE('Veggtykkelse',$,IFCLENGTHMEASURE(213.),$); +#1461= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(0.0473348000000038),$); +#1462= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(1750.),$); +#1463= IFCPROPERTYSINGLEVALUE('Mark',$,IFCTEXT('32'),$); +#1464= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Windows'),$); +#1465= IFCPROPERTYSINGLEVALUE('Family',$,IFCLABEL('Eks V1: Vindu 3 felt med 3 \X2\00E5\X0\pninger'),$); +#1466= IFCPROPERTYSINGLEVALUE('Family and Type',$,IFCLABEL('Eks V1: Vindu 3 felt med 3 \X2\00E5\X0\pninger'),$); +#1467= IFCPROPERTYSINGLEVALUE('Head Height',$,IFCLENGTHMEASURE(2120.),$); +#1468= IFCPROPERTYSINGLEVALUE('Host Id',$,IFCLABEL('Basic Wall: V10'),$); +#1469= IFCPROPERTYSINGLEVALUE('Type',$,IFCLABEL('Eks V1: Vindu 3 felt med 3 \X2\00E5\X0\pninger'),$); +#1470= IFCPROPERTYSINGLEVALUE('Type Id',$,IFCLABEL('Eks V1: Vindu 3 felt med 3 \X2\00E5\X0\pninger'),$); +#1471= IFCPROPERTYSINGLEVALUE('Analytic Construction',$,IFCTEXT(''),$); +#1472= IFCPROPERTYSINGLEVALUE('Total glass area',$,IFCAREAMEASURE(0.7352),$); +#1473= IFCPROPERTYSINGLEVALUE('Glassmateriale',$,IFCLABEL('Glassplater'),$); +#1474= IFCPROPERTYSINGLEVALUE('Karmmateriale',$,IFCLABEL('Hvit'),$); +#1475= IFCPROPERTYSINGLEVALUE('Utforingsmateriale',$,IFCLABEL('Hvit'),$); +#1476= IFCPROPERTYSINGLEVALUE('Utforing',$,IFCBOOLEAN(.T.),$); +#1477= IFCPROPERTYSINGLEVALUE('Wall Closure',$,IFCIDENTIFIER('By host'),$); +#1478= IFCPROPERTYSINGLEVALUE('Bredde \X2\00E5\X0\pningsfelt',$,IFCLENGTHMEASURE(590.),$); +#1479= IFCPROPERTYSINGLEVALUE('Karmbredde',$,IFCLENGTHMEASURE(50.),$); +#1480= IFCPROPERTYSINGLEVALUE('Karmdybde',$,IFCLENGTHMEASURE(100.),$); +#1481= IFCPROPERTYSINGLEVALUE('Rammebredde',$,IFCLENGTHMEASURE(40.),$); +#1482= IFCPROPERTYSINGLEVALUE('Rough Height',$,IFCLENGTHMEASURE(900.),$); +#1483= IFCPROPERTYSINGLEVALUE('Rough Width',$,IFCLENGTHMEASURE(1730.),$); +#1484= IFCPROPERTYSINGLEVALUE('Utforingstykkelse',$,IFCLENGTHMEASURE(20.),$); +#1485= IFCPROPERTYSINGLEVALUE('Type Mark',$,IFCTEXT('EKS'),$); +#1486= IFCPROPERTYSINGLEVALUE('Type Name',$,IFCTEXT('Vindu 3 felt med 3 \X2\00E5\X0\pninger'),$); +#1487= IFCPROPERTYSINGLEVALUE('URL',$,IFCTEXT(''),$); +#1488= IFCPROPERTYSINGLEVALUE('WindowBasalOpening',$,IFCTEXT('Unspecified'),$); +#1489= IFCPROPERTYSINGLEVALUE('Default Sill Height',$,IFCLENGTHMEASURE(900.),$); +#1490= IFCPROPERTYSINGLEVALUE('Family Name',$,IFCTEXT('Eks V1'),$); +#1491= IFCPROPERTYSINGLEVALUE('M_Height',$,IFCINTEGER(9),$); +#1492= IFCPROPERTYSINGLEVALUE('M_Width',$,IFCINTEGER(17),$); +#1493= IFCPROPERTYSET('1PTz52_o9DlAOe2cgu2tDU',#42,'Constraints',$,(#724,#1455)); +#1496= IFCRELDEFINESBYPROPERTIES('1PTz52_o9DlAOe2sgu2tDU',#42,$,$,(#1450),#1493); +#1500= IFCPROPERTYSET('1PTz52_o9DlAOe2dou2tDU',#42,'Dimensions',$,(#1456,#1457,#1458,#1459,#1460,#1461,#1462)); +#1509= IFCRELDEFINESBYPROPERTIES('1PTz52_o9DlAOe2tou2tDU',#42,$,$,(#1450),#1500); +#1512= IFCPROPERTYSET('1PTz52_o9DlAOe2d_u2tDU',#42,'Identity Data',$,(#1463)); +#1515= IFCRELDEFINESBYPROPERTIES('1PTz52_o9DlAOe2t_u2tDU',#42,$,$,(#1450),#1512); +#1518= IFCPROPERTYSET('0OD0h_ZWTC9w4ma4waZMTk',#42,'Other',$,(#1464,#1465,#1466,#1467,#1468,#1469,#1470)); +#1527= IFCRELDEFINESBYPROPERTIES('1W7re08Ab2whlzYuJMxO6o',#42,$,$,(#1450),#1518); +#1530= IFCPROPERTYSET('1PTz52_o9DlAOe2d6u2tDU',#42,'Phasing',$,(#1167)); +#1532= IFCRELDEFINESBYPROPERTIES('1PTz52_o9DlAOe2t6u2tDU',#42,$,$,(#1450),#1530); +#1535= IFCPROPERTYSET('2BB$9YoXb9ofcxFIUUu8yJ',#42,'Analysis Results',$,(#1472)); +#1538= IFCPROPERTYSET('2BB$9YoXb9ofcxFKIUu8yJ',#42,'Analytical Properties',$,(#1471)); +#1541= IFCPROPERTYSET('2BB$9YoXb9ofcxFHsUu8yJ',#42,'Construction',$,(#1476,#1477)); +#1545= IFCPROPERTYSET('2BB$9YoXb9ofcxFHkUu8yJ',#42,'Dimensions',$,(#1478,#1479,#1480,#1481,#1482,#1483,#1484)); +#1554= IFCPROPERTYSET('2BB$9YoXb9ofcxFHYUu8yJ',#42,'Identity Data',$,(#740,#741,#742,#744,#745,#746,#747,#1485,#1486,#1487,#1488)); +#1560= IFCPROPERTYSET('2BB$9YoXb9ofcxFH_Uu8yJ',#42,'Materials and Finishes',$,(#1473,#1474,#1475)); +#1565= IFCPROPERTYSET('0F3yDlIkfCzwJW1hy5mnqw',#42,'Other',$,(#1464,#1489,#1490,#1491,#1492)); +#1579= IFCCARTESIANPOINT((41181.,30485.5000000001,1050.)); +#1581= IFCAXIS2PLACEMENT3D(#1579,$,$); +#1582= IFCLOCALPLACEMENT(#139,#1581); +#1583= IFCCARTESIANPOINT((1050.,-0.)); +#1585= IFCPOLYLINE((#10,#1583)); +#1587= IFCSHAPEREPRESENTATION(#98,'Axis','Curve2D',(#1585)); +#1589= IFCCARTESIANPOINT((0.,0.)); +#1591= IFCAXIS2PLACEMENT2D(#1589,#24); +#1592= IFCRECTANGLEPROFILEDEF(.AREA.,'V10',#1591,1049.99999999999,212.999999999999); +#1593= IFCCARTESIANPOINT((525.,0.,0.)); +#1595= IFCAXIS2PLACEMENT3D(#1593,$,$); +#1596= IFCEXTRUDEDAREASOLID(#1592,#1595,#20,955.000000000028); +#1597= IFCSTYLEDITEM(#1596,(#1055),$); +#1600= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#1596)); +#1602= IFCPRODUCTDEFINITIONSHAPE($,$,(#1587,#1600)); +#1606= IFCWALLSTANDARDCASE('3UltsdvPH0afI77DdCyC7z',#42,'Basic Wall:V10:5626624',$,'Basic Wall:V10:4929999',#1582,#1602,'5626624',.NOTDEFINED.); +#1609= IFCMATERIALLAYERSETUSAGE(#1146,.AXIS2.,.NEGATIVE.,106.5,$); +#1610= IFCPROPERTYSINGLEVALUE('Location Line',$,IFCIDENTIFIER('Wall Centerline'),$); +#1611= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(1.00275000000003),$); +#1612= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(0.213585750000004),$); +#1613= IFCPROPERTYSET('3UltsdvPH0afI76itCyC7z',#42,'Constraints',$,(#1157,#1161,#1163,#1610)); +#1616= IFCRELDEFINESBYPROPERTIES('3UltsdvPH0afI76ytCyC7z',#42,$,$,(#1606),#1613); +#1620= IFCPROPERTYSET('3UltsdvPH0afI76jlCyC7z',#42,'Dimensions',$,(#1611,#1612)); +#1624= IFCRELDEFINESBYPROPERTIES('3UltsdvPH0afI76zlCyC7z',#42,$,$,(#1606),#1620); +#1627= IFCPROPERTYSET('3$$ekGHX90XuxsyUbzpLxd',#42,'Other',$,(#1174,#1175,#1176,#1177,#1178)); +#1629= IFCRELDEFINESBYPROPERTIES('3aT2$J5_jCqf3wnAUTstKb',#42,$,$,(#1606),#1627); +#1632= IFCPROPERTYSET('3UltsdvPH0afI76jJCyC7z',#42,'Structural',$,(#1168,#1169,#1170)); +#1634= IFCRELDEFINESBYPROPERTIES('3UltsdvPH0afI76zJCyC7z',#42,$,$,(#1606),#1632); +#1637= IFCCARTESIANPOINT((18125.,30485.5000000002,1050.)); +#1639= IFCAXIS2PLACEMENT3D(#1637,$,$); +#1640= IFCLOCALPLACEMENT(#139,#1639); +#1641= IFCCARTESIANPOINT((1750.,0.)); +#1643= IFCPOLYLINE((#10,#1641)); +#1645= IFCSHAPEREPRESENTATION(#98,'Axis','Curve2D',(#1643)); +#1647= IFCCARTESIANPOINT((-2.21689333557151E-12,0.)); +#1649= IFCAXIS2PLACEMENT2D(#1647,#24); +#1650= IFCRECTANGLEPROFILEDEF(.AREA.,'V10',#1649,1750.,212.999999999999); +#1651= IFCCARTESIANPOINT((875.,0.,0.)); +#1653= IFCAXIS2PLACEMENT3D(#1651,#20,#14); +#1654= IFCEXTRUDEDAREASOLID(#1650,#1653,#20,920.000000000016); +#1655= IFCSTYLEDITEM(#1654,(#1055),$); +#1658= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#1654)); +#1660= IFCPRODUCTDEFINITIONSHAPE($,$,(#1645,#1658)); +#1664= IFCWALLSTANDARDCASE('3n3el7tsPBORtUY9oVoMDi',#42,'Basic Wall:V10:5839377',$,'Basic Wall:V10:4929999',#1640,#1660,'5839377',.NOTDEFINED.); +#1667= IFCMATERIALLAYERSETUSAGE(#1146,.AXIS2.,.NEGATIVE.,106.5,$); +#1668= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(1.61000000000002),$); +#1669= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(0.342930000000004),$); +#1670= IFCPROPERTYSET('3n3el7tsPBORtUZeYVoMDi',#42,'Constraints',$,(#1157,#1161,#1163,#1610)); +#1672= IFCRELDEFINESBYPROPERTIES('3n3el7tsPBORtUZuYVoMDi',#42,$,$,(#1664),#1670); +#1676= IFCPROPERTYSET('3n3el7tsPBORtUZfwVoMDi',#42,'Dimensions',$,(#1668,#1669)); +#1680= IFCRELDEFINESBYPROPERTIES('3n3el7tsPBORtUZvwVoMDi',#42,$,$,(#1664),#1676); +#1683= IFCPROPERTYSET('3jSro$XJ943vTpKXds2soE',#42,'Other',$,(#1174,#1175,#1176,#1177,#1178)); +#1685= IFCRELDEFINESBYPROPERTIES('1w0L6nC6j6iha$8sZIQ7fE',#42,$,$,(#1664),#1683); +#1688= IFCPROPERTYSET('3n3el7tsPBORtUZf6VoMDi',#42,'Structural',$,(#1168,#1169,#1170)); +#1690= IFCRELDEFINESBYPROPERTIES('3n3el7tsPBORtUZv6VoMDi',#42,$,$,(#1664),#1688); +#1693= IFCCARTESIANPOINT((14525.,30485.5000000002,1050.)); +#1695= IFCAXIS2PLACEMENT3D(#1693,$,$); +#1696= IFCLOCALPLACEMENT(#139,#1695); +#1697= IFCCARTESIANPOINT((1750.,-0.)); +#1699= IFCPOLYLINE((#10,#1697)); +#1701= IFCSHAPEREPRESENTATION(#98,'Axis','Curve2D',(#1699)); +#1703= IFCCARTESIANPOINT((0.,2.16715534406831E-12)); +#1705= IFCAXIS2PLACEMENT2D(#1703,#24); +#1706= IFCRECTANGLEPROFILEDEF(.AREA.,'V10',#1705,1750.,212.999999999999); +#1707= IFCCARTESIANPOINT((875.,0.,0.)); +#1709= IFCAXIS2PLACEMENT3D(#1707,#20,#14); +#1710= IFCEXTRUDEDAREASOLID(#1706,#1709,#20,920.000000000016); +#1711= IFCSTYLEDITEM(#1710,(#1055),$); +#1714= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#1710)); +#1716= IFCPRODUCTDEFINITIONSHAPE($,$,(#1701,#1714)); +#1720= IFCWALLSTANDARDCASE('3n3el7tsPBORtUY9oVoMDl',#42,'Basic Wall:V10:5839378',$,'Basic Wall:V10:4929999',#1696,#1716,'5839378',.NOTDEFINED.); +#1723= IFCMATERIALLAYERSETUSAGE(#1146,.AXIS2.,.NEGATIVE.,106.5,$); +#1724= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(1.61000000000003),$); +#1725= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(0.342930000000004),$); +#1726= IFCPROPERTYSET('3n3el7tsPBORtUZeYVoMDl',#42,'Constraints',$,(#1157,#1161,#1163,#1610)); +#1728= IFCRELDEFINESBYPROPERTIES('3n3el7tsPBORtUZuYVoMDl',#42,$,$,(#1720),#1726); +#1732= IFCPROPERTYSET('3n3el7tsPBORtUZfwVoMDl',#42,'Dimensions',$,(#1724,#1725)); +#1736= IFCRELDEFINESBYPROPERTIES('3n3el7tsPBORtUZvwVoMDl',#42,$,$,(#1720),#1732); +#1739= IFCPROPERTYSET('39krQ544P8_OprvvIRSUar',#42,'Other',$,(#1174,#1175,#1176,#1177,#1178)); +#1741= IFCRELDEFINESBYPROPERTIES('2Ov7dVxmz1dOGNawy3WYsC',#42,$,$,(#1720),#1739); +#1744= IFCPROPERTYSET('3n3el7tsPBORtUZf6VoMDl',#42,'Structural',$,(#1168,#1169,#1170)); +#1746= IFCRELDEFINESBYPROPERTIES('3n3el7tsPBORtUZv6VoMDl',#42,$,$,(#1720),#1744); +#1749= IFCCARTESIANPOINT((10925.,30485.5000000002,1050.)); +#1751= IFCAXIS2PLACEMENT3D(#1749,$,$); +#1752= IFCLOCALPLACEMENT(#139,#1751); +#1753= IFCCARTESIANPOINT((1750.,0.)); +#1755= IFCPOLYLINE((#10,#1753)); +#1757= IFCSHAPEREPRESENTATION(#98,'Axis','Curve2D',(#1755)); +#1759= IFCCARTESIANPOINT((0.,0.)); +#1761= IFCAXIS2PLACEMENT2D(#1759,#24); +#1762= IFCRECTANGLEPROFILEDEF(.AREA.,'V10',#1761,1750.,212.999999999999); +#1763= IFCCARTESIANPOINT((875.,0.,0.)); +#1765= IFCAXIS2PLACEMENT3D(#1763,#20,#14); +#1766= IFCEXTRUDEDAREASOLID(#1762,#1765,#20,920.000000000016); +#1767= IFCSTYLEDITEM(#1766,(#1055),$); +#1770= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#1766)); +#1772= IFCPRODUCTDEFINITIONSHAPE($,$,(#1757,#1770)); +#1776= IFCWALLSTANDARDCASE('3n3el7tsPBORtUY9oVoMDk',#42,'Basic Wall:V10:5839379',$,'Basic Wall:V10:4929999',#1752,#1772,'5839379',.NOTDEFINED.); +#1779= IFCMATERIALLAYERSETUSAGE(#1146,.AXIS2.,.NEGATIVE.,106.5,$); +#1780= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(1.61000000000002),$); +#1781= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(0.342930000000004),$); +#1782= IFCPROPERTYSET('3n3el7tsPBORtUZeYVoMDk',#42,'Constraints',$,(#1157,#1161,#1163,#1610)); +#1784= IFCRELDEFINESBYPROPERTIES('3n3el7tsPBORtUZuYVoMDk',#42,$,$,(#1776),#1782); +#1788= IFCPROPERTYSET('3n3el7tsPBORtUZfwVoMDk',#42,'Dimensions',$,(#1780,#1781)); +#1792= IFCRELDEFINESBYPROPERTIES('3n3el7tsPBORtUZvwVoMDk',#42,$,$,(#1776),#1788); +#1795= IFCPROPERTYSET('2aiBhn_mH4LAX$O4Mvq2Pe',#42,'Other',$,(#1174,#1175,#1176,#1177,#1178)); +#1797= IFCRELDEFINESBYPROPERTIES('21L6h0R5T3yRZPLjGBWChp',#42,$,$,(#1776),#1795); +#1800= IFCPROPERTYSET('3n3el7tsPBORtUZf6VoMDk',#42,'Structural',$,(#1168,#1169,#1170)); +#1802= IFCRELDEFINESBYPROPERTIES('3n3el7tsPBORtUZv6VoMDk',#42,$,$,(#1776),#1800); +#1805= IFCTEXTSTYLEFONTMODEL('Text Font',('Arial Narrow'),$,$,$,IFCPOSITIVELENGTHMEASURE(250.)); +#1807= IFCCOLOURRGB($,0.,0.,0.); +#1808= IFCTEXTSTYLEFORDEFINEDFONT(#1807,$); +#1809= IFCTEXTSTYLE('2.5mm Arial Narrow',#1808,$,#1805,$); +#1810= IFCPRESENTATIONSTYLEASSIGNMENT((#1809)); +#1812= IFCAXIS2PLACEMENT3D(#6,$,$); +#1813= IFCLOCALPLACEMENT(#145,#1812); +#1814= IFCCARTESIANPOINT((20035.1896219398,22141.9509375934,0.)); +#1816= IFCAXIS2PLACEMENT3D(#1814,$,$); +#1817= IFCPLANAREXTENT(2925.,801.587301587301); +#1818= IFCTEXTLITERALWITHEXTENT('SPILLBAKKE H=50MM\X\0D\X\0ATILPASSES ',#1816,.LEFT.,#1817,'top-left'); +#1819= IFCSTYLEDITEM(#1818,(#1810),$); +#1822= IFCSHAPEREPRESENTATION(#104,'Annotation','Annotation2D',(#1818)); +#1824= IFCPRODUCTDEFINITIONSHAPE($,$,(#1822)); +#1827= IFCANNOTATION('11bZi6bUHFtOf1eiw_jjuT',#42,$,$,$,#1813,#1824); +#1830= IFCAXIS2PLACEMENT3D(#6,$,$); +#1831= IFCLOCALPLACEMENT(#145,#1830); +#1832= IFCCARTESIANPOINT((28028.0779111512,18894.0915743089,0.)); +#1834= IFCAXIS2PLACEMENT3D(#1832,$,$); +#1835= IFCPLANAREXTENT(3080.,801.587301587301); +#1836= IFCTEXTLITERALWITHEXTENT('SPILLBAKKE H=100MM\X\0D\X\0ATILPASSES ',#1834,.LEFT.,#1835,'top-left'); +#1837= IFCSTYLEDITEM(#1836,(#1810),$); +#1840= IFCSHAPEREPRESENTATION(#104,'Annotation','Annotation2D',(#1836)); +#1842= IFCPRODUCTDEFINITIONSHAPE($,$,(#1840)); +#1845= IFCANNOTATION('2oJ8CMMon7WQXfpAJDJOgH',#42,$,$,$,#1831,#1842); +#1848= IFCCARTESIANPOINT((114502766.318516,1185944009.,0.)); +#1850= IFCDIRECTION((0.995788774458495,0.0916772417912352,0.)); +#1852= IFCAXIS2PLACEMENT3D(#1848,#20,#1850); +#1853= IFCLOCALPLACEMENT($,#1852); +#1854= IFCSITE('3o91zj$Gr6cQ_i1EP5O_03',#42,'0214 41 1 00',$,'',#1853,$,'14323',.ELEMENT.,(59,39,52,987060),(10,47,40,726547),62050.,'0214 41 1 00',$); +#1858= IFCPROPERTYSINGLEVALUE('Author',$,IFCTEXT(''),$); +#1859= IFCPROPERTYSINGLEVALUE('Building Name',$,IFCTEXT('091'),$); +#1860= IFCPROPERTYSINGLEVALUE('CQIncludeDoorSwing',$,IFCBOOLEAN(.F.),$); +#1861= IFCPROPERTYSINGLEVALUE('CQIncludeRoomNumber',$,IFCBOOLEAN(.F.),$); +#1862= IFCPROPERTYSINGLEVALUE('Organization Description',$,IFCTEXT('A - Arkitekt'),$); +#1863= IFCPROPERTYSINGLEVALUE('Organization Name',$,IFCTEXT('PG Campus \X2\00C5\X0\s'),$); +#1864= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Project Information'),$); +#1865= IFCPROPERTYSINGLEVALUE('Client Name',$,IFCTEXT('Statsbygg'),$); +#1866= IFCPROPERTYSINGLEVALUE('CQDoorSwingCodes',$,IFCTEXT('Left=L;Right=R;notMirrored =;mirrored ='),$); +#1867= IFCPROPERTYSINGLEVALUE('CQIncludeTemporaryDoors',$,IFCBOOLEAN(.F.),$); +#1868= IFCPROPERTYSINGLEVALUE('CQPhaseFilter',$,IFCTEXT('Existing:True;New Construction:True;Temporary:True;'),$); +#1869= IFCPROPERTYSINGLEVALUE('Project Address',$,IFCTEXT('Forprosjekt'),$); +#1870= IFCPROPERTYSINGLEVALUE('Project Issue Date',$,IFCTEXT('SB_14323_03_ARK_091'),$); +#1871= IFCPROPERTYSINGLEVALUE('Project Name',$,IFCTEXT('14323'),$); +#1872= IFCPROPERTYSINGLEVALUE('Project Number',$,IFCTEXT('12370'),$); +#1873= IFCPROPERTYSINGLEVALUE('Project Status',$,IFCTEXT('02'),$); +#1874= IFCPROPERTYSET('27PCKGLxT4mxtV86o6mgBW',#42,'Identity Data',$,(#1858,#1859,#1860,#1861,#1862,#1863)); +#1882= IFCRELDEFINESBYPROPERTIES('27PCKGLxT4mxtV8Mo6mgBW',#42,$,$,(#1854),#1874); +#1886= IFCPROPERTYSET('3AcspaXOj4mxnskMsaPI1b',#42,'Other',$,(#1864,#1865,#1866,#1867,#1868,#1869,#1870,#1871,#1872,#1873)); +#1902= IFCPROPERTYSINGLEVALUE('Elevation',$,IFCLENGTHMEASURE(0.),$); +#1903= IFCPROPERTYSINGLEVALUE('Computation Height',$,IFCLENGTHMEASURE(1200.),$); +#1904= IFCPROPERTYSINGLEVALUE('Building Story',$,IFCBOOLEAN(.T.),$); +#1905= IFCPROPERTYSINGLEVALUE('Name',$,IFCTEXT('PLAN 01'),$); +#1906= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Levels'),$); +#1907= IFCPROPERTYSINGLEVALUE('Family',$,IFCLABEL('Level: 8mm Niv\X2\00E5\X0\hode Lokale Koter'),$); +#1908= IFCPROPERTYSINGLEVALUE('Family and Type',$,IFCLABEL('Level: 8mm Niv\X2\00E5\X0\hode Lokale Koter'),$); +#1909= IFCPROPERTYSINGLEVALUE('Type',$,IFCLABEL('Level: 8mm Niv\X2\00E5\X0\hode Lokale Koter'),$); +#1910= IFCPROPERTYSINGLEVALUE('Type Id',$,IFCLABEL('Level: 8mm Niv\X2\00E5\X0\hode Lokale Koter'),$); +#1911= IFCPROPERTYSINGLEVALUE('Elevation Base',$,IFCIDENTIFIER('Project Base Point'),$); +#1912= IFCPROPERTYSINGLEVALUE('Color',$,IFCINTEGER(0),$); +#1913= IFCPROPERTYSINGLEVALUE('Line Pattern',$,IFCLABEL('Centre'),$); +#1914= IFCPROPERTYSINGLEVALUE('Line Weight',$,IFCIDENTIFIER('1'),$); +#1915= IFCPROPERTYSINGLEVALUE('Symbol',$,IFCLABEL('View - Niv\X2\00E5\X0\hode: Niv\X2\00E5\X0\hode Trekant'),$); +#1916= IFCPROPERTYSINGLEVALUE('Symbol at End 1 Default',$,IFCBOOLEAN(.F.),$); +#1917= IFCPROPERTYSINGLEVALUE('Symbol at End 2 Default',$,IFCBOOLEAN(.T.),$); +#1918= IFCPROPERTYSINGLEVALUE('Type Name',$,IFCTEXT('8mm Niv\X2\00E5\X0\hode Lokale Koter'),$); +#1919= IFCPROPERTYSINGLEVALUE('Family Name',$,IFCTEXT('Level'),$); +#1920= IFCPROPERTYSET('3Zu5Bv0LOHrPC11XI6FoQQ',#42,'Constraints',$,(#1902)); +#1923= IFCRELDEFINESBYPROPERTIES('3Zu5Bv0LOHrPC11nI6FoQQ',#42,$,$,(#140),#1920); +#1927= IFCPROPERTYSET('3Zu5Bv0LOHrPC11WA6FoQQ',#42,'Dimensions',$,(#1903)); +#1930= IFCRELDEFINESBYPROPERTIES('3Zu5Bv0LOHrPC11mA6FoQQ',#42,$,$,(#140),#1927); +#1933= IFCPROPERTYSET('3Zu5Bv0LOHrPC11W66FoQQ',#42,'Identity Data',$,(#1169,#1904,#1905)); +#1937= IFCRELDEFINESBYPROPERTIES('3Zu5Bv0LOHrPC11m66FoQQ',#42,$,$,(#140),#1933); +#1940= IFCPROPERTYSET('2FA06uA3PFMQNbcHaAvqjj',#42,'Other',$,(#1906,#1907,#1908,#1909,#1910)); +#1947= IFCRELDEFINESBYPROPERTIES('0litd1LpDBRBpkKGx9T$S5',#42,$,$,(#140),#1940); +#1950= IFCPROPERTYSET('3Zu5Bv0LOHrPC11XI6FoQS',#42,'Constraints',$,(#1911)); +#1953= IFCPROPERTYSET('3Zu5Bv0LOHrPC11WM6FoQS',#42,'Graphics',$,(#1912,#1913,#1914,#1915,#1916,#1917)); +#1961= IFCPROPERTYSET('3Zu5Bv0LOHrPC11W66FoQS',#42,'Identity Data',$,(#1918)); +#1964= IFCPROPERTYSET('2w96tQqqbFpepd87QA_4lP',#42,'Other',$,(#1906,#1919)); +#1967= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Zu5Bv0LOHrPC10066FoQQ',#42,$,$,(#701,#898,#1066,#1450,#1606,#1664,#1720,#1776),#140); +#1978= IFCPROPERTYSINGLEVALUE('Elevation',$,IFCLENGTHMEASURE(3060.),$); +#1979= IFCPROPERTYSINGLEVALUE('Computation Height',$,IFCLENGTHMEASURE(1650.),$); +#1980= IFCPROPERTYSINGLEVALUE('Name',$,IFCTEXT('PLAN 02'),$); +#1981= IFCPROPERTYSET('34TXSA2TTDdQqr5CiMy0Ob',#42,'Constraints',$,(#1978)); +#1984= IFCRELDEFINESBYPROPERTIES('34TXSA2TTDdQqr5SiMy0Ob',#42,$,$,(#146),#1981); +#1988= IFCPROPERTYSET('34TXSA2TTDdQqr5DqMy0Ob',#42,'Dimensions',$,(#1979)); +#1991= IFCRELDEFINESBYPROPERTIES('34TXSA2TTDdQqr5TqMy0Ob',#42,$,$,(#146),#1988); +#1994= IFCPROPERTYSET('34TXSA2TTDdQqr5DuMy0Ob',#42,'Identity Data',$,(#1169,#1904,#1980)); +#1997= IFCRELDEFINESBYPROPERTIES('34TXSA2TTDdQqr5TuMy0Ob',#42,$,$,(#146),#1994); +#2000= IFCPROPERTYSET('0HRd3FfE9Es8SpPf9AbDpj',#42,'Other',$,(#1906,#1907,#1908,#1909,#1910)); +#2002= IFCRELDEFINESBYPROPERTIES('2DQfuJyFXELQJICDJEI8vW',#42,$,$,(#146),#2000); +#2005= IFCRELCONTAINEDINSPATIALSTRUCTURE('34TXSA2TTDdQqr4juMy0Ob',#42,$,$,(#1030,#1827,#1845),#146); +#2011= IFCRELAGGREGATES('10zuuVffX3Jv03CpcKTsyG',#42,$,$,#106,(#1854)); +#2015= IFCRELAGGREGATES('0ySE4kjJb7IQEcMkONDvhL',#42,$,$,#1854,(#121)); +#2019= IFCRELAGGREGATES('27PCKGLxT4mxtV9cw6mgBW',#42,$,$,#121,(#140,#146)); +#2024= IFCPROPERTYSINGLEVALUE('Building Name',$,IFCTEXT('091'),$); +#2025= IFCPROPERTYSINGLEVALUE('Organization Description',$,IFCTEXT('A - Arkitekt'),$); +#2026= IFCPROPERTYSINGLEVALUE('Organization Name',$,IFCTEXT('PG Campus \X2\00C5\X0\s'),$); +#2027= IFCPROPERTYSINGLEVALUE('Client Name',$,IFCTEXT('Statsbygg'),$); +#2028= IFCPROPERTYSINGLEVALUE('CQDoorSwingCodes',$,IFCTEXT('Left=L;Right=R;notMirrored =;mirrored ='),$); +#2029= IFCPROPERTYSINGLEVALUE('CQPhaseFilter',$,IFCTEXT('Existing:True;New Construction:True;Temporary:True;'),$); +#2030= IFCPROPERTYSINGLEVALUE('Project Address',$,IFCTEXT('Forprosjekt'),$); +#2031= IFCPROPERTYSINGLEVALUE('Project Issue Date',$,IFCTEXT('SB_14323_03_ARK_091'),$); +#2032= IFCPROPERTYSINGLEVALUE('Project Name',$,IFCTEXT('14323'),$); +#2033= IFCPROPERTYSINGLEVALUE('Project Number',$,IFCTEXT('12370'),$); +#2034= IFCPROPERTYSINGLEVALUE('Project Status',$,IFCTEXT('02'),$); +#2035= IFCPROPERTYSET('2SEynX0yz5uQxuaiE4IiyJ',#42,'Identity Data',$,(#1858,#1860,#1861,#2024,#2025,#2026)); +#2040= IFCRELDEFINESBYPROPERTIES('1aRw6GMwvElBEY0jF64TpU',#42,$,$,(#121),#2035); +#2044= IFCPROPERTYSET('2911NfldvE9w6uXVbaFvXD',#42,'Other',$,(#1864,#1867,#2027,#2028,#2029,#2030,#2031,#2032,#2033,#2034)); +#2054= IFCRELDEFINESBYPROPERTIES('2uMCXemlDDof69kUP2ewno',#42,$,$,(#121),#2044); +#2057= IFCRELASSOCIATESMATERIAL('1wrST1aZvCJetfNbIF067B',#42,$,$,(#1066),#1153); +#2061= IFCRELASSOCIATESMATERIAL('2GOrZdWCjDTPYdngHZu_Sn',#42,$,$,(#1155),#1146); +#2065= IFCRELASSOCIATESMATERIAL('2SQ6mTkrjEsx16FeMiz3oX',#42,$,$,(#1606),#1609); +#2069= IFCRELASSOCIATESMATERIAL('2oK1CfU$H1tQdkVHDrIIYf',#42,$,$,(#1664),#1667); +#2073= IFCRELASSOCIATESMATERIAL('2DAF128$v7CAD7HKwHzb4N',#42,$,$,(#1720),#1723); +#2077= IFCRELASSOCIATESMATERIAL('2Tui85BkfAN9NOj1xBEBWu',#42,$,$,(#1776),#1779); +#2081= IFCRELASSOCIATESMATERIAL('2CNeT3b699CRaXImGOUQoV',#42,$,$,(#646),#679); +#2084= IFCRELASSOCIATESMATERIAL('2HHKaNXSTBiuf1wgw$jDSu',#42,$,$,(#701),#716); +#2087= IFCRELASSOCIATESMATERIAL('1jvfaMfm18RxXm6y1sOrTd',#42,$,$,(#898),#901); +#2091= IFCRELASSOCIATESMATERIAL('3vcB1OwLr5ZB2z0AU8V9M0',#42,$,$,(#1406),#1432); +#2094= IFCRELASSOCIATESMATERIAL('3j5TIeGNfF5xW7rwoTszyP',#42,$,$,(#1450),#1453); +#2097= IFCRELDEFINESBYTYPE('3z97E8y9f5I88dNUvhjEgQ',#42,$,$,(#701),#646); +#2101= IFCRELDEFINESBYTYPE('2idYhS38PBD9GOiHzQutED',#42,$,$,(#1066,#1606,#1664,#1720,#1776),#1155); +#2109= IFCRELDEFINESBYTYPE('1rC0Auz_LFgALvGtykUsTn',#42,$,$,(#1450),#1406); +#2113= IFCRELDEFINESBYPROPERTIES('3ezTUOAkD9sOw0yQQg_dAI',#42,$,$,(#898),#987); +#2116= IFCRELDEFINESBYPROPERTIES('29pF_ma0r37xMADUOcx0Uo',#42,$,$,(#898),#990); +#2119= IFCRELDEFINESBYPROPERTIES('2$HZSmMMDEZP0sGNJXPisb',#42,$,$,(#898),#995); +#2122= IFCRELDEFINESBYPROPERTIES('1SLhVKZYvEVQjgjIQKZBGs',#42,$,$,(#898),#999); +#2125= IFCRELDEFINESBYPROPERTIES('1ZLxsh0fjCDRuolTCYCzr3',#42,$,$,(#898),#1003); +#2128= IFCRELDEFINESBYPROPERTIES('005VeXd29DP9UOaXww58OI',#42,$,$,(#140,#146),#1950); +#2131= IFCRELDEFINESBYPROPERTIES('0BzkEEIyX6mg$7DJ6thFc1',#42,$,$,(#140,#146),#1953); +#2134= IFCRELDEFINESBYPROPERTIES('3Yv4JfIObEPfoyGpwJq_Z6',#42,$,$,(#140,#146),#1961); +#2137= IFCRELDEFINESBYPROPERTIES('1fCFSvmcX05O1C30h1grtJ',#42,$,$,(#140,#146),#1964); +#2140= IFCCARTESIANPOINT((460.000000000008,874.999999999999)); +#2142= IFCAXIS2PLACEMENT2D(#2140,#24); +#2143= IFCRECTANGLEPROFILEDEF(.AREA.,$,#2142,920.000000000016,1750.); +#2144= IFCAXIS2PLACEMENT3D(#6,#16,#20); +#2145= IFCEXTRUDEDAREASOLID(#2143,#2144,#20,213.); +#2146= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#2145)); +#2148= IFCPRODUCTDEFINITIONSHAPE($,$,(#2146)); +#2151= IFCCARTESIANPOINT((51348.432734218,-106.500000000174,1200.)); +#2153= IFCAXIS2PLACEMENT3D(#2151,$,$); +#2154= IFCLOCALPLACEMENT(#1037,#2153); +#2156= IFCOPENINGELEMENT('1PTz52_o9DlAOe36su2tDU',#42,'Eks V1:Vindu 3 felt med 3 \X2\00E5\X0\pninger:5304233:1',$,'Opening',#2154,#2148,$,.OPENING.); +#2161= IFCRELVOIDSELEMENT('1PTz52_o9DlAOe36gu2tDU',#42,$,$,#1066,#2156); +#2164= IFCRELFILLSELEMENT('2RI5C5EYf0WgKQFKrHJrgN',#42,$,$,#2156,#1450); +#2167= IFCCARTESIANPOINT((-84.7965385908683,40.,0.)); +#2169= IFCAXIS2PLACEMENT3D(#2167,$,$); +#2173= IFCAXIS2PLACEMENT3D(#6,$,$); +#2291= IFCAXIS2PLACEMENT3D(#2289,$,$); +#2175= IFCAXIS2PLACEMENT3D(#2188,$,$); +#2289= IFCCARTESIANPOINT((41181.,28855.,1050.)); +#2178= IFCCARTESIANPOINT((-5.68434188608080E-14,-4.32009983342141E-12)); +#2180= IFCAXIS2PLACEMENT2D(#2178,#24); +#2181= IFCRECTANGLEPROFILEDEF(.AREA.,'Vindu 1 felt eksisterende',#2180,955.000000000028,1050.); +#2182= IFCCARTESIANPOINT((525.,0.,477.500000000014)); +#2184= IFCAXIS2PLACEMENT3D(#2182,#16,#20); +#2185= IFCEXTRUDEDAREASOLID(#2181,#2184,#20,3048.); +#2186= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#2185)); +#2188= IFCCARTESIANPOINT((41181.,28855.,1050.)); +#2190= IFCPRODUCTDEFINITIONSHAPE($,$,(#2186)); +#2193= IFCCARTESIANPOINT((31266.500000162,-1630.5000000002,1050.)); +#2195= IFCAXIS2PLACEMENT3D(#2193,$,$); +#2196= IFCLOCALPLACEMENT(#1037,#2195); +#2197= IFCOPENINGELEMENT('0HNfUe8E1CBeeczp8rXNWv',#42,'Basic Wall:V10:4932686',$,'Opening',#2196,#2190,$,.OPENING.); +#2200= IFCRELVOIDSELEMENT('3eBR5DHnfAIBOAfK6IPTcw',#42,$,$,#1066,#2197); +#2202= IFCAXIS2PLACEMENT3D(#6,$,$); +#2294= IFCAXIS2PLACEMENT3D(#2292,$,$); +#2204= IFCAXIS2PLACEMENT3D(#2217,$,$); +#2292= IFCCARTESIANPOINT((10925.,28855.,1050.)); +#2207= IFCCARTESIANPOINT((0.,-5.68434188608080E-14)); +#2209= IFCAXIS2PLACEMENT2D(#2207,#28); +#2210= IFCRECTANGLEPROFILEDEF(.AREA.,'Sidehengslet \X2\00E5\X0\pningsvindu 3 felt',#2209,920.000000000016,1750.); +#2211= IFCCARTESIANPOINT((875.,0.,460.)); +#2213= IFCAXIS2PLACEMENT3D(#2211,#16,#14); +#2214= IFCEXTRUDEDAREASOLID(#2210,#2213,#20,3048.); +#2215= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#2214)); +#2217= IFCCARTESIANPOINT((10925.,28855.,1050.)); +#2219= IFCPRODUCTDEFINITIONSHAPE($,$,(#2215)); +#2222= IFCCARTESIANPOINT((1010.50000016201,-1630.5000000002,1050.)); +#2224= IFCAXIS2PLACEMENT3D(#2222,$,$); +#2225= IFCLOCALPLACEMENT(#1037,#2224); +#2226= IFCOPENINGELEMENT('3n3el7tsPBORtUY8_VoM7z',#42,'Basic Wall:V10:4932686',$,'Opening',#2225,#2219,$,.OPENING.); +#2229= IFCRELVOIDSELEMENT('2AF0YiP7L7lfAkYu2KIXhf',#42,$,$,#1066,#2226); +#2231= IFCAXIS2PLACEMENT3D(#6,$,$); +#2297= IFCAXIS2PLACEMENT3D(#2295,$,$); +#2233= IFCAXIS2PLACEMENT3D(#2246,$,$); +#2295= IFCCARTESIANPOINT((14525.,28855.,1050.)); +#2236= IFCCARTESIANPOINT((0.,-5.68434188608080E-14)); +#2238= IFCAXIS2PLACEMENT2D(#2236,#28); +#2239= IFCRECTANGLEPROFILEDEF(.AREA.,'Sidehengslet \X2\00E5\X0\pningsvindu 3 felt',#2238,920.000000000016,1750.); +#2240= IFCCARTESIANPOINT((875.,0.,460.)); +#2242= IFCAXIS2PLACEMENT3D(#2240,#16,#14); +#2243= IFCEXTRUDEDAREASOLID(#2239,#2242,#20,3048.); +#2244= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#2243)); +#2246= IFCCARTESIANPOINT((14525.,28855.,1050.)); +#2248= IFCPRODUCTDEFINITIONSHAPE($,$,(#2244)); +#2251= IFCCARTESIANPOINT((4610.50000016201,-1630.5000000002,1050.)); +#2253= IFCAXIS2PLACEMENT3D(#2251,$,$); +#2254= IFCLOCALPLACEMENT(#1037,#2253); +#2255= IFCOPENINGELEMENT('3n3el7tsPBORtUY8_VoM3Y',#42,'Basic Wall:V10:4932686',$,'Opening',#2254,#2248,$,.OPENING.); +#2258= IFCRELVOIDSELEMENT('0cUXaV6M5BuRg1_EPMcQP$',#42,$,$,#1066,#2255); +#2260= IFCAXIS2PLACEMENT3D(#6,$,$); +#2300= IFCAXIS2PLACEMENT3D(#2298,$,$); +#2262= IFCAXIS2PLACEMENT3D(#2275,$,$); +#2298= IFCCARTESIANPOINT((18125.,28855.,1050.)); +#2265= IFCCARTESIANPOINT((-1.08002495835535E-12,-5.68434188608080E-14)); +#2267= IFCAXIS2PLACEMENT2D(#2265,#28); +#2268= IFCRECTANGLEPROFILEDEF(.AREA.,'Sidehengslet \X2\00E5\X0\pningsvindu 3 felt',#2267,920.000000000016,1750.); +#2269= IFCCARTESIANPOINT((875.,0.,460.)); +#2271= IFCAXIS2PLACEMENT3D(#2269,#16,#14); +#2272= IFCEXTRUDEDAREASOLID(#2268,#2271,#20,3048.); +#2273= IFCSHAPEREPRESENTATION(#100,'Body','SweptSolid',(#2272)); +#2275= IFCCARTESIANPOINT((18125.,28855.,1050.)); +#2277= IFCPRODUCTDEFINITIONSHAPE($,$,(#2273)); +#2280= IFCCARTESIANPOINT((8210.50000016201,-1630.5000000002,1050.)); +#2282= IFCAXIS2PLACEMENT3D(#2280,$,$); +#2283= IFCLOCALPLACEMENT(#1037,#2282); +#2301= IFCPRESENTATIONLAYERASSIGNMENT('A-DETL-____-OTLN',$,(#1024),$); +#2304= IFCPRESENTATIONLAYERASSIGNMENT('A-GENM-____-OTLN',$,(#451,#636,#687,#691),$); +#2310= IFCPRESENTATIONLAYERASSIGNMENT('A-GLAZ-____-OTLN',$,(#1370,#1398,#1436,#1440,#2186,#2215,#2244,#2273),$); +#2320= IFCPRESENTATIONLAYERASSIGNMENT('A-WALL-____-OTLN',$,(#1042,#1060,#1587,#1600,#1645,#1658,#1701,#1714,#1757,#1770,#2146),$); +#2333= IFCPRESENTATIONLAYERASSIGNMENT('G-____-____-TEXT',$,(#1822,#1840),$); +#2337= IFCPRESENTATIONLAYERASSIGNMENT('S-FNDN-____-OTLN',$,(#893),$); +ENDSEC; + +END-ISO-10303-21; From f7453c033ac620193d60851c063fc8f3f70e8227 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 18 Mar 2016 22:14:05 +0200 Subject: [PATCH 132/157] IfcConvert: check if output file already exists and ask user for confirmation for overwriting. Overwriting can be forced with -y/--yes --- src/ifcconvert/IfcConvert.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 3aa28b77ff..b8425d3ceb 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -95,6 +95,13 @@ std::string change_extension(const std::string& fn, const std::string& ext) { } } +bool file_exists(const std::string& filename) +{ + /// @todo Windows Unicode support + std::ifstream file(filename.c_str()); + return file.good(); +} + static std::stringstream log_stream; void write_log(); @@ -103,7 +110,8 @@ int main(int argc, char** argv) { generic_options.add_options() ("help,h", "display usage information") ("version", "display version information") - ("verbose,v", "more verbose output"); + ("verbose,v", "more verbose output") + ("yes,y", "answer 'yes' automatically to possible confirmation queries (e.g overwriting an existing output file)"); boost::program_options::options_description fileio_options; fileio_options.add_options() @@ -285,6 +293,15 @@ int main(int argc, char** argv) { return 1; } + if (file_exists(output_filename) && !vmap.count("yes")) { + std::string answer; + std::cout << "A file '" << output_filename << "' already exists. Overwrite the existing file?" << std::endl; + std::cin >> answer; + if (!boost::iequals(answer, "yes") && !boost::iequals(answer, "y")) { + return 0; + } + } + std::string output_extension = output_filename.substr(output_filename.size()-4); boost::to_lower(output_extension); From 798597d5d92cf150e9055ec9caa060c400734613 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Fri, 18 Mar 2016 22:33:03 +0200 Subject: [PATCH 133/157] IfcConvert: check that input file exist early, print filenames in error prints --- src/ifcconvert/IfcConvert.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index b8425d3ceb..3f0c1bae49 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -281,6 +281,11 @@ int main(int argc, char** argv) { std::set entities(entity_vector.begin(), entity_vector.end()); const std::string input_filename = vmap["input-file"].as(); + if (!file_exists(input_filename)) { + std::cerr << "[Error] Input file '" << input_filename << "' does not exist" << std::endl; + return 1; + } + // If no output filename is specified a Wavefront OBJ file will be output // to maintain backwards compatibility with the obsolete IfcObj executable. const std::string output_filename = vmap.count("output-file") == 1 @@ -288,7 +293,7 @@ int main(int argc, char** argv) { : change_extension(input_filename, DEFAULT_EXTENSION); if (output_filename.size() < 5) { - std::cerr << "[Error] Invalid or unsupported output file given " << output_filename << std::endl; + std::cerr << "[Error] Invalid or unsupported output file '" << output_filename << "' given" << std::endl; print_usage(); return 1; } @@ -419,7 +424,7 @@ int main(int argc, char** argv) { } if (!serializer->ready()) { - Logger::Message(Logger::LOG_ERROR, "Unable to open output file for writing"); + Logger::Message(Logger::LOG_ERROR, "Unable to open output '" + output_filename + "' file for writing"); write_log(); return 1; } @@ -428,7 +433,7 @@ int main(int argc, char** argv) { time(&start); if (!context_iterator.initialize()) { - Logger::Message(Logger::LOG_ERROR, "Unable to parse .ifc file or no geometrical entities found"); + Logger::Message(Logger::LOG_ERROR, "Unable to parse input file '" + input_filename + "' or no geometrical entities found"); write_log(); return 1; } From 54a9d72e255193a6b75485ab3ea7b15373d5a537 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 20 Mar 2016 12:48:20 +0200 Subject: [PATCH 134/157] IfcConvert: use temp file when writing output. --- src/ifcconvert/IfcConvert.cpp | 37 +++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 3f0c1bae49..8f77d82ce3 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -52,6 +52,7 @@ #endif const std::string DEFAULT_EXTENSION = "obj"; +const std::string TEMP_FILE_EXTENSION = ".tmp"; void print_version() { @@ -102,6 +103,15 @@ bool file_exists(const std::string& filename) return file.good(); } +bool rename_file(const std::string& old_filename, const std::string& new_filename) +{ + // Whether or not rename() replaces an existing file is implementation-specific, + // so remove() possible existing file always. + /// @todo Windows Unicode support + std::remove(new_filename.c_str()); + return std::rename(old_filename.c_str(), new_filename.c_str()) == 0; +} + static std::stringstream log_stream; void write_log(); @@ -307,6 +317,8 @@ int main(int argc, char** argv) { } } + std::string output_temp_filename = output_filename + TEMP_FILE_EXTENSION; + std::string output_extension = output_filename.substr(output_filename.size()-4); boost::to_lower(output_extension); @@ -326,13 +338,14 @@ int main(int argc, char** argv) { if (output_extension == ".xml") { int exit_code = 1; try { - XmlSerializer s(output_filename); + XmlSerializer s(output_temp_filename); IfcParse::IfcFile f; if (!f.Init(input_filename)) { - Logger::Message(Logger::LOG_ERROR, "Unable to parse .ifc file"); + Logger::Message(Logger::LOG_ERROR, "Unable to parse input file '" + input_filename + "'"); } else { s.setFile(&f); s.finalize(); + rename_file(output_temp_filename, output_filename); exit_code = 0; } } catch (...) {} @@ -365,24 +378,24 @@ int main(int argc, char** argv) { GeometrySerializer* serializer; if (output_extension == ".obj") { - const std::string mtl_filename = output_filename.substr(0,output_filename.size()-3) + "mtl"; + const std::string mtl_temp_filename = change_extension(output_filename, "mtl") + TEMP_FILE_EXTENSION; if (!use_world_coords) { Logger::Message(Logger::LOG_NOTICE, "Using world coords when writing WaveFront OBJ files"); settings.set(IfcGeom::IteratorSettings::USE_WORLD_COORDS, true); } - serializer = new WaveFrontOBJSerializer(output_filename, mtl_filename, settings); + serializer = new WaveFrontOBJSerializer(output_temp_filename, mtl_temp_filename, settings); #ifdef WITH_OPENCOLLADA } else if (output_extension == ".dae") { - serializer = new ColladaSerializer(output_filename, settings); + serializer = new ColladaSerializer(output_temp_filename, settings); #endif } else if (output_extension == ".stp") { - serializer = new StepSerializer(output_filename, settings); + serializer = new StepSerializer(output_temp_filename, settings); } else if (output_extension == ".igs") { IGESControl_Controller::Init(); // work around Open Cascade bug - serializer = new IgesSerializer(output_filename, settings); + serializer = new IgesSerializer(output_temp_filename, settings); } else if (output_extension == ".svg") { settings.set(IfcGeom::IteratorSettings::DISABLE_TRIANGULATION, true); - serializer = new SvgSerializer(output_filename, settings); + serializer = new SvgSerializer(output_temp_filename, settings); if (bounding_width && bounding_height) { static_cast(serializer)->setBoundingRectangle(*bounding_width, *bounding_height); } @@ -501,6 +514,14 @@ int main(int argc, char** argv) { delete serializer; + rename_file(output_temp_filename, output_filename); + + if (output_extension == ".obj") { + std::string mtl_filename = change_extension(output_filename, "mtl"); + std::string mtl_tmp_filename = mtl_filename + TEMP_FILE_EXTENSION; + rename_file(mtl_tmp_filename, mtl_filename); + } + write_log(); time(&end); From b171bd4a1456269df1e16e2a83b4b73b8bd53eb3 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sun, 20 Mar 2016 13:13:15 +0200 Subject: [PATCH 135/157] Add note/todo regarding Collada stream's double precision feature. --- src/ifcconvert/ColladaSerializer.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ifcconvert/ColladaSerializer.h b/src/ifcconvert/ColladaSerializer.h index 97f8e8540c..796b7a8aed 100644 --- a/src/ifcconvert/ColladaSerializer.h +++ b/src/ifcconvert/ColladaSerializer.h @@ -150,7 +150,9 @@ private: public: ColladaExporter(const std::string& scene_name, const std::string& fn, ColladaSerializer *_serializer) : filename(fn.c_str()) - , stream(filename) + /// @todo We could use the double precision feature here, but it seems to bloat the output file quite a bit + /// by adding seemingly irrelevant precision, e.g. 0.7 becomes 0.6999999999999999 + , stream(filename/*, sizeof(real_t) == sizeof(double)*/) , geometries(stream, _serializer) , scene(scene_name, stream, _serializer) , materials(stream, _serializer) From 0fd2f04f087e91851eb277ebccf381ba4f591856 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 21 Mar 2016 11:42:40 +0200 Subject: [PATCH 136/157] Utilise Collada stream's double precision feature --- src/ifcconvert/ColladaSerializer.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/ifcconvert/ColladaSerializer.h b/src/ifcconvert/ColladaSerializer.h index 796b7a8aed..06fc1d9aa7 100644 --- a/src/ifcconvert/ColladaSerializer.h +++ b/src/ifcconvert/ColladaSerializer.h @@ -149,10 +149,8 @@ private: ColladaScene scene; public: ColladaExporter(const std::string& scene_name, const std::string& fn, ColladaSerializer *_serializer) - : filename(fn.c_str()) - /// @todo We could use the double precision feature here, but it seems to bloat the output file quite a bit - /// by adding seemingly irrelevant precision, e.g. 0.7 becomes 0.6999999999999999 - , stream(filename/*, sizeof(real_t) == sizeof(double)*/) + : filename(fn) + , stream(filename, sizeof(real_t) == sizeof(double)) // utilise Collada stream's double precision feature , geometries(stream, _serializer) , scene(scene_name, stream, _serializer) , materials(stream, _serializer) From edc6f8ebd4638fe2fc36a4460d8b13f5252aa7ad Mon Sep 17 00:00:00 2001 From: Steven Zhang Date: Wed, 23 Mar 2016 15:27:03 +0800 Subject: [PATCH 137/157] fix build script under os x --- nix/build-all.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/build-all.sh b/nix/build-all.sh index 852b9dac1b..baddc57ede 100755 --- a/nix/build-all.sh +++ b/nix/build-all.sh @@ -277,14 +277,14 @@ build_dependency pcre-$PCRE_VERSION autoconf "--disable-shared" ftp://ftp.csx.ca build_dependency swig autoconf "--with-pcre-prefix=$DEPS_DIR/install/pcre-$PCRE_VERSION" https://github.com/swig/swig.git swig git_clone rel-3.0.8 build_dependency oce-$OCE_VERSION cmake "-DOCE_DISABLE_TKSERVICE_FONT=ON -DOCE_TESTING=OFF -DOCE_BUILD_SHARED_LIB=OFF -DOCE_DISABLE_X11=ON -DOCE_VISUALISATION=OFF -DOCE_OCAF=OFF -DOCE_INSTALL_PREFIX=$DEPS_DIR/install/oce-$OCE_VERSION/" https://github.com/tpaviot/oce/archive/ OCE-$OCE_VERSION.tar.gz download -build_dependency libxml2-$LIBXML_VERSION autoconf "--without-python --disable-shared --without-zlib --without-iconv" ftp://xmlsoft.org/libxml2/ libxml2-$LIBXML_VERSION.tar.gz download +build_dependency libxml2-$LIBXML_VERSION autoconf "--without-python --disable-shared --without-zlib --without-iconv --without-lzma" ftp://xmlsoft.org/libxml2/ libxml2-$LIBXML_VERSION.tar.gz download build_dependency OpenCOLLADA cmake " -DLIBXML2_INCLUDE_DIR=$DEPS_DIR/install/libxml2-$LIBXML_VERSION/include/libxml2 -DLIBXML2_LIBRARIES=$DEPS_DIR/install/libxml2-$LIBXML_VERSION/lib/libxml2.a -DPCRE_INCLUDE_DIR=$DEPS_DIR/install/pcre-$PCRE_VERSION/include -DPCRE_PCREPOSIX_LIBRARY=$DEPS_DIR/install/pcre-$PCRE_VERSION/lib/libpcreposix.a -DPCRE_PCRE_LIBRARY=$DEPS_DIR/install/pcre-$PCRE_VERSION/lib/libpcre.a --DCMAKE_INSTALL_PREFIX=$DEPS_DIR/install/OpenCOLLADA/" https://github.com/KhronosGroup/OpenCOLLADA.git OpenCOLLADA git_clone +-DCMAKE_INSTALL_PREFIX=$DEPS_DIR/install/OpenCOLLADA/" https://github.com/KhronosGroup/OpenCOLLADA.git OpenCOLLADA git_clone $OPENCOLLADA_COMMIT # Python should not be built with -fvisibility=hidden, from experience that introduces segfaults From 5b30dfc5807d0e04e7c55b807b48e90c4be0364d Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 23 Mar 2016 10:27:34 +0100 Subject: [PATCH 138/157] Set required boost components again after merge --- cmake/CMakeLists.txt | 2 +- nix/build-all.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 35e67c42e0..961a24191b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -59,7 +59,7 @@ IF(MSVC) SET(Boost_USE_STATIC_RUNTIME ON) SET(Boost_USE_MULTITHREADED ON) ENDIF() -FIND_PACKAGE(Boost REQUIRED COMPONENTS program_options) +FIND_PACKAGE(Boost REQUIRED COMPONENTS system program_options regex thread date_time) MESSAGE(STATUS "Boost include files found in ${Boost_INCLUDE_DIRS}") MESSAGE(STATUS "Boost libraries found in ${Boost_LIBRARY_DIRS}") diff --git a/nix/build-all.sh b/nix/build-all.sh index baddc57ede..e923010c12 100755 --- a/nix/build-all.sh +++ b/nix/build-all.sh @@ -306,7 +306,7 @@ done export CXXFLAGS=$OLD_CXX_FLAGS export CFLAGS=$OLD_C_FLAGS -build_dependency boost-$BOOST_VERSION bjam "--stagedir=$DEPS_DIR/install/boost-$BOOST_VERSION --with-program_options link=static $BOOST_ADDRESS_MODEL cxxflags=\"$CXXFLAGS\" linkflags=\"$LDFLAGS\" stage" http://downloads.sourceforge.net/project/boost/boost/$BOOST_VERSION/ boost_$BOOST_VERSION_UNDERSCORE.tar.bz2 download +build_dependency boost-$BOOST_VERSION bjam "--stagedir=$DEPS_DIR/install/boost-$BOOST_VERSION --with-system --with-program_options --with-regex --with-thread --with-date_time link=static $BOOST_ADDRESS_MODEL cxxflags=\"$CXXFLAGS\" linkflags=\"$LDFLAGS\" stage" http://downloads.sourceforge.net/project/boost/boost/$BOOST_VERSION/ boost_$BOOST_VERSION_UNDERSCORE.tar.bz2 download build_dependency icu-$ICU_VERSION icu "--enable-static --disable-shared" http://download.icu-project.org/files/icu4c/$ICU_VERSION/ icu4c-${ICU_VERSION_UNDERSCORE}-src.tgz download From 7d145a5f69fd36325002cd4a3f92f09c949e934f Mon Sep 17 00:00:00 2001 From: Steven Zhang Date: Thu, 24 Mar 2016 15:07:52 +0800 Subject: [PATCH 139/157] fix build script under os x --- cmake/CMakeLists.txt | 2 +- nix/build-all.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 961a24191b..6ddb3c1645 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -378,7 +378,7 @@ set(IFCPARSE_FILES ${IFCPARSE_CPP_FILES} ${IFCPARSE_H_FILES}) ADD_LIBRARY(IfcParse STATIC ${IFCPARSE_FILES}) IF(UNICODE_SUPPORT) - TARGET_LINK_LIBRARIES(IfcParse ${ICU_LIBRARIES}) + TARGET_LINK_LIBRARIES(IfcParse ${ICU_LIBRARIES} ${Boost_LIBRARIES}) ENDIF() # IfcGeom diff --git a/nix/build-all.sh b/nix/build-all.sh index e923010c12..f75be91f93 100755 --- a/nix/build-all.sh +++ b/nix/build-all.sh @@ -37,7 +37,7 @@ set -e PROJECT_NAME=IfcOpenShell OCE_VERSION=0.16 PYTHON_VERSIONS=(2.7.10 3.2.6 3.3.6 3.4.4 3.5.1) -BOOST_VERSION=1.55.0 +BOOST_VERSION=1.59.0 PCRE_VERSION=8.38 LIBXML_VERSION=2.9.3 CMAKE_VERSION=3.4.1 From 4c574df1a4bed4e5f4363c70049c25519955a3ef Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 27 Mar 2016 21:17:51 +0200 Subject: [PATCH 140/157] Immediately emit to serializer and remove option to obtain ownership of objects --- src/ifcconvert/IfcConvert.cpp | 74 ++++++++++++++++++----------------- src/ifcgeom/IfcGeomIterator.h | 11 +++--- 2 files changed, 44 insertions(+), 41 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 8f77d82ce3..b10229a00c 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -462,9 +462,20 @@ int main(int argc, char** argv) { serializer->writeHeader(); int old_progress = -1; + + if (center_model) { + double* offset = serializer->settings().offset; + gp_XYZ center = (context_iterator.bounds_min() + context_iterator.bounds_max()) * 0.5; + offset[0] = -center.X(); + offset[1] = -center.Y(); + offset[2] = -center.Z(); + std::stringstream msg; + msg << "Using model offset (" << offset[0] << "," << offset[1] << "," << offset[2] << ")"; + Logger::Message(Logger::LOG_NOTICE, msg.str()); + } + Logger::Status("Creating geometry..."); - std::vector* > geometries; // The functions IfcGeom::Iterator::get() and IfcGeom::Iterator::next() // wrap an iterator of all geometrical products in the Ifc file. // IfcGeom::Iterator::get() returns an IfcGeom::TriangulationElement or @@ -475,43 +486,24 @@ int main(int argc, char** argv) { // calling next() the entity to be returned has already been processed, a // true return value guarantees that a successfully processed product is // available. + size_t num_created = 0; + do { - IfcGeom::Element *geom_object = context_iterator.get(true); // true == take ownership, we will clean up ourselves - geometries.push_back(geom_object); + IfcGeom::Element *geom_object = context_iterator.get(); + if (is_tesselated) { + serializer->write(static_cast*>(geom_object)); + } else { + serializer->write(static_cast*>(geom_object)); + } const int progress = context_iterator.progress() / 2; if (old_progress != progress) Logger::ProgressBar(progress); old_progress = progress; - } while (context_iterator.next()); + } while (++num_created, context_iterator.next()); - Logger::Status("\rDone creating geometry (" + boost::lexical_cast(geometries.size()) + + Logger::Status("\rDone creating geometry (" + boost::lexical_cast(num_created) + " objects) "); - if (center_model) { - double* offset = serializer->settings().offset; - gp_XYZ center = (context_iterator.bounds_min() + context_iterator.bounds_max()) * 0.5; - offset[0] = -center.X(); - offset[1] = -center.Y(); - offset[2] = -center.Z(); - //printf("Bounds min. (%g, %g, %g)\n", context_iterator.bounds_min().X(), context_iterator.bounds_min().Y(), context_iterator.bounds_min().Z()); - //printf("Bounds max. (%g, %g, %g)\n", context_iterator.bounds_min().X(), context_iterator.bounds_min().X(), context_iterator.bounds_min().Z()); - printf("Using model offset (%g, %g, %g)\n", offset[0], offset[1], offset[2]); //TODO Logger::Message(Logger::LOG_NOTICE, ...); - } - - Logger::Status("Serializing geometry..."); - - foreach(const IfcGeom::Element* geom, geometries) { - if (is_tesselated) { - serializer->write(static_cast*>(geom)); - } else { - serializer->write(static_cast*>(geom)); - } - delete geom; - } - - serializer->finalize(); - - Logger::Status("\rDone serializing geometry "); - + serializer->finalize(); delete serializer; rename_file(output_temp_filename, output_filename); @@ -525,11 +517,23 @@ int main(int argc, char** argv) { write_log(); time(&end); + int seconds = (int)difftime(end, start); - if (seconds < 60) - printf("\nConversion took %d seconds\n", seconds); // TODO Logger::Message(Logger::LOG_NOTICE, ...); - else - printf("\nConversion took %d minute(s) %d seconds\n", seconds/60, seconds%60); // TODO Logger::Message(Logger::LOG_NOTICE, ...); + std::stringstream msg; + int minutes = seconds / 60; + seconds = seconds % 60; + msg << "\nConversion took"; + if (minutes > 0) { + msg << " " << minutes << " minute"; + if (minutes > 1) { + msg << "s"; + } + } + msg << " " << seconds << " second"; + if (seconds > 1) { + msg << "s"; + } + Logger::Status(msg.str()); return 0; } diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index cf07d9e603..b3867b7539 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -543,15 +543,14 @@ namespace IfcGeom { return create(); } - /// Gets or takes the representation of the current geometrical entity. - /// @param take_ownership Pass in 'true' as if wishing to maintain the element lifetime yourself. - Element

    * get(bool take_ownership = false) + /// Gets the representation of the current geometrical entity. + Element

    * get() { // TODO: Test settings and throw Element

    * ret = 0; - if (current_triangulation) { ret = current_triangulation; if (take_ownership) current_triangulation = 0; } - else if (current_serialization) { ret = current_serialization; if (take_ownership) current_serialization = 0; } - else if (current_shape_model) { ret = current_shape_model; if (take_ownership) current_shape_model = 0; } + if (current_triangulation) { ret = current_triangulation; } + else if (current_serialization) { ret = current_serialization; } + else if (current_shape_model) { ret = current_shape_model; } return ret; } From 25a5135e8d297d28e9e3d546c216447fcd593e0f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 27 Mar 2016 21:18:28 +0200 Subject: [PATCH 141/157] Disable geometry re-use with world coords --- src/ifcgeom/IfcGeomIterator.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index b3867b7539..2d0cca7415 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -381,7 +381,10 @@ namespace IfcGeom { } } - const bool process_maps_for_current_representation = (!has_openings || settings.get(IteratorSettings::DISABLE_OPENING_SUBTRACTIONS)); + // With world coords enabled, object transformations are directly applied to + // the BRep. There is no way to re-use the geometry for multiple products. + const bool process_maps_for_current_representation = !settings.get(IteratorSettings::USE_WORLD_COORDS) && + (!has_openings || settings.get(IteratorSettings::DISABLE_OPENING_SUBTRACTIONS)); bool representation_processed_as_mapped_item = false; IfcSchema::IfcRepresentation* representation_mapped_to = 0; @@ -506,7 +509,7 @@ namespace IfcGeom { IfcSchema::IfcProduct* product = *ifcproduct_iterator; BRepElement

    * element; - if (ifcproduct_iterator == ifcproducts->begin()) { + if (ifcproduct_iterator == ifcproducts->begin() || !settings.get(IteratorSettings::USE_WORLD_COORDS)) { element = kernel.create_brep_for_representation_and_product

    (settings, representation, product); } else { element = kernel.create_brep_for_processed_representation(settings, representation, product, current_shape_model); From b59e8e22a75c8cd575fd8fa8eaa073c0cb0fcd2e Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 28 Mar 2016 11:47:02 +0300 Subject: [PATCH 142/157] IfcConvert: Show an error msg if renaming from temp to final file fails. --- src/ifcconvert/IfcConvert.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 8f77d82ce3..7aa88a2edd 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -514,7 +514,12 @@ int main(int argc, char** argv) { delete serializer; - rename_file(output_temp_filename, output_filename); + // Renaming might fail (e.g. maybe the existing file was open in a viewer application) + // Do not remove the temp file as user can salvage the conversion result from it. + bool successful = rename_file(output_temp_filename, output_filename); + if (!successful) { + Logger::Message(Logger::LOG_ERROR, "Unable to write output file '" + output_filename + ""); + } if (output_extension == ".obj") { std::string mtl_filename = change_extension(output_filename, "mtl"); @@ -531,7 +536,7 @@ int main(int argc, char** argv) { else printf("\nConversion took %d minute(s) %d seconds\n", seconds/60, seconds%60); // TODO Logger::Message(Logger::LOG_NOTICE, ...); - return 0; + return successful ? 0 : 1; } void write_log() { From d7f990d8bdbb67aef8b8ae023596660538848bdf Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 28 Mar 2016 11:32:29 +0300 Subject: [PATCH 143/157] IfcConvert: Do not use temp file for MTL as it's such a small file. Fixes #55. --- src/ifcconvert/IfcConvert.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 7aa88a2edd..cdb996e25a 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -378,12 +378,13 @@ int main(int argc, char** argv) { GeometrySerializer* serializer; if (output_extension == ".obj") { - const std::string mtl_temp_filename = change_extension(output_filename, "mtl") + TEMP_FILE_EXTENSION; + // Do not use temp file for MTL as it's such a small file. + const std::string mtl_filename = change_extension(output_filename, "mtl"); if (!use_world_coords) { Logger::Message(Logger::LOG_NOTICE, "Using world coords when writing WaveFront OBJ files"); settings.set(IfcGeom::IteratorSettings::USE_WORLD_COORDS, true); } - serializer = new WaveFrontOBJSerializer(output_temp_filename, mtl_temp_filename, settings); + serializer = new WaveFrontOBJSerializer(output_temp_filename, mtl_filename, settings); #ifdef WITH_OPENCOLLADA } else if (output_extension == ".dae") { serializer = new ColladaSerializer(output_temp_filename, settings); @@ -521,12 +522,6 @@ int main(int argc, char** argv) { Logger::Message(Logger::LOG_ERROR, "Unable to write output file '" + output_filename + ""); } - if (output_extension == ".obj") { - std::string mtl_filename = change_extension(output_filename, "mtl"); - std::string mtl_tmp_filename = mtl_filename + TEMP_FILE_EXTENSION; - rename_file(mtl_tmp_filename, mtl_filename); - } - write_log(); time(&end); From 0ff9de3cd991b0f574f0fa73e0d805b5bd76ce57 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 8 Apr 2016 23:23:29 +0200 Subject: [PATCH 144/157] Update EXPRESS code generator to work on ancient IFC schemas --- src/ifcexpressparser/bootstrap.py | 2 ++ src/ifcexpressparser/documentation.py | 6 +++-- src/ifcexpressparser/header.py | 21 ++++++++++----- src/ifcexpressparser/implementation.py | 11 +++++++- .../latebound_implementation.py | 12 ++++----- src/ifcexpressparser/mapping.py | 9 ++++--- src/ifcexpressparser/nodes.py | 23 +++++++++++++--- src/ifcexpressparser/schema.py | 26 +++++++++++++++++-- 8 files changed, 86 insertions(+), 24 deletions(-) diff --git a/src/ifcexpressparser/bootstrap.py b/src/ifcexpressparser/bootstrap.py index d59fe55048..00936c2f4b 100644 --- a/src/ifcexpressparser/bootstrap.py +++ b/src/ifcexpressparser/bootstrap.py @@ -122,6 +122,8 @@ actions = { 'inverse_attr' : "lambda t: InverseAttribute(t)", 'bound_spec' : "lambda t: BoundSpecification(t)", 'explicit_attr' : "lambda t: ExplicitAttribute(t)", + 'width_spec' : "lambda t: WidthSpec(t)", + 'string_type' : "lambda t: StringType(t)", } to_emit = set(id for id, expr in express) diff --git a/src/ifcexpressparser/documentation.py b/src/ifcexpressparser/documentation.py index ef8bde5a69..c099864a61 100644 --- a/src/ifcexpressparser/documentation.py +++ b/src/ifcexpressparser/documentation.py @@ -31,12 +31,14 @@ import re import os import csv +from schema import OrderedCaseInsensitiveDict + try: from html.entities import entitydefs except: from htmlentitydefs import entitydefs make_absolute = lambda fn: os.path.join(os.path.dirname(os.path.realpath(__file__)), fn) -name_to_oid = {} +name_to_oid = OrderedCaseInsensitiveDict() oid_to_desc = {} oid_to_name = {} oid_to_pid = {} @@ -59,7 +61,7 @@ with open(make_absolute('DocAttribute.csv')) as f: for oid, name, desc in csv.reader(f, delimiter=';', quotechar='"'): pid = oid_to_pid[oid] pname = oid_to_name[pid] - name_to_oid[(pname, name)] = oid + name_to_oid[".".join((pname, name))] = oid oid_to_desc[oid] = desc def description(item): diff --git a/src/ifcexpressparser/header.py b/src/ifcexpressparser/header.py index 449506bc0f..6d416cf37c 100644 --- a/src/ifcexpressparser/header.py +++ b/src/ifcexpressparser/header.py @@ -41,15 +41,18 @@ class Header(codegen.Base): emitted_simpletypes = set() while len(emitted_simpletypes) < len(mapping.schema.simpletypes): for name, type in mapping.schema.simpletypes.items(): - if name in emitted_simpletypes: continue + if name.lower() in emitted_simpletypes: continue type_str = mapping.make_type_string(mapping.flatten_type_string(type)) attr_type = mapping.make_argument_type(type) superclass = mapping.simple_type_parent(name) if superclass is None: superclass = "IfcUtil::IfcBaseType" - elif superclass not in emitted_simpletypes: + elif superclass.lower() not in emitted_simpletypes: continue - emitted_simpletypes.add(name) + else: + # Case normalize + superclass = [k for k in mapping.schema.simpletypes.keys() if k.lower() == superclass.lower()][0] + emitted_simpletypes.add(name.lower()) write(templates.simpletype, name=name, type=type_str, attr_type=attr_type, superclass=superclass) class_definitions = [] @@ -60,14 +63,14 @@ class Header(codegen.Base): emitted_entities = set() while len(emitted_entities) < len(mapping.schema.entities): for name, type in mapping.schema.entities.items(): - if name in emitted_entities: continue - if len(type.supertypes) == 0 or set(type.supertypes) < emitted_entities: + if name.lower() in emitted_entities: continue + if len(type.supertypes) == 0 or set(map(str.lower, type.supertypes)) <= emitted_entities: attr_lines = [] def write_method(attr): if attr.optional: attr_lines.append(templates.optional_attribute_description % (attr.name, name)) attr_lines.append("bool has%s() const;"%(attr.name)) - attr_lines.extend(["/// %s"%d for d in documentation.description((name, attr.name))]) + attr_lines.extend(["/// %s"%d for d in documentation.description(".".join((name, attr.name)))]) type_str = mapping.get_parameter_type(attr, allow_optional=False, allow_entities=False) if mapping.make_argument_type(attr) != "IfcUtil::Argument_UNKNOWN": attr_lines.append("%s %s() const;"%(type_str, attr.name)) @@ -88,7 +91,11 @@ class Header(codegen.Base): inverse = "\n".join(["%s%s"%(' '*4, a) for a in inv_lines]) if len(inverse): inverse += '\n' - supertypes = type.supertypes if len(type.supertypes) else ['IfcUtil::IfcBaseEntity'] + def case_norm(n): + n = n.lower() + return [k for k in mapping.schema.entities.keys() if k.lower() == n][0] + + supertypes = map(case_norm, type.supertypes) if len(type.supertypes) else ['IfcUtil::IfcBaseEntity'] superclass = ": %s "%(", ".join(["public %s"%c for c in supertypes])) argument_count = mapping.argument_count(type) diff --git a/src/ifcexpressparser/implementation.py b/src/ifcexpressparser/implementation.py index f26581cf0e..cd320274c7 100644 --- a/src/ifcexpressparser/implementation.py +++ b/src/ifcexpressparser/implementation.py @@ -20,6 +20,8 @@ import codegen import templates +from schema import OrderedCaseInsensitiveDict + class Implementation(codegen.Base): def __init__(self, mapping): enumeration_functions = [] @@ -132,7 +134,7 @@ class Implementation(codegen.Base): def get_attribute_index(entity, attr_name): related_entity = mapping.schema.entities[entity] - return [a['name'] for a in mapping.get_assignable_arguments(related_entity, include_derived=True)].index(attr_name) + return [a['name'].lower() for a in mapping.get_assignable_arguments(related_entity, include_derived=True)].index(attr_name.lower()) inverse = [templates.const_function % { 'class_name' : name, @@ -167,6 +169,13 @@ class Implementation(codegen.Base): 'name' : name, 'padding' : ' ' * (max_len - len(name)) } for name in enumerable_types] + + enumeration_index_by_str = OrderedCaseInsensitiveDict((j,i) for i,j in enumerate(enumerable_types)) + def get_parent_id(s): + e = mapping.schema.entities.get(s) + if e and e.supertypes: + return enumeration_index_by_str[e.supertypes[0]] + else: return -1 parent_type_statements = [templates.parent_type_stmt % { 'name' : name, diff --git a/src/ifcexpressparser/latebound_implementation.py b/src/ifcexpressparser/latebound_implementation.py index 1303d000ff..7b114460ae 100644 --- a/src/ifcexpressparser/latebound_implementation.py +++ b/src/ifcexpressparser/latebound_implementation.py @@ -41,11 +41,10 @@ class LateBoundImplementation(codegen.Base): }) emitted_entities = set() - entities_to_emit = mapping.schema.entities.keys() while len(emitted_entities) < len(mapping.schema.entities): for name, type in mapping.schema.entities.items(): - if name in emitted_entities: continue - if len(type.supertypes) == 0 or set(type.supertypes) < emitted_entities: + if name.lower() in emitted_entities: continue + if len(type.supertypes) == 0 or set(map(str.lower, type.supertypes)) <= emitted_entities: constructor_arguments = mapping.get_assignable_arguments(type, include_derived = True) entity_descriptor_attributes = [] for arg in constructor_arguments: @@ -61,8 +60,9 @@ class LateBoundImplementation(codegen.Base): }) emitted_entities.add(name) + parent_statement = '0' if len(type.supertypes) != 1 else templates.entity_descriptor_parent % { - 'type' : type.supertypes[0] + 'type' : [k for k in mapping.schema.entities.keys() if k.lower() == type.supertypes[0].lower()][0] } entity_descriptors.append(templates.entity_descriptor % { 'type' : name, @@ -92,13 +92,13 @@ class LateBoundImplementation(codegen.Base): if type.inverse: for attr in type.inverse.elements: related_entity = mapping.schema.entities[attr.entity] - related_attrs = [a['name'] for a in mapping.get_assignable_arguments(related_entity, include_derived=True)] + related_attrs = [a['name'].lower() for a in mapping.get_assignable_arguments(related_entity, include_derived=True)] inverse_implementations.append(templates.inverse_implementation % { 'type' : name, 'name' : attr.name, 'related_type' : attr.entity, - 'index' : related_attrs.index(attr.attribute) + 'index' : related_attrs.index(attr.attribute.lower()) }) self.str = templates.lb_implementation % { diff --git a/src/ifcexpressparser/mapping.py b/src/ifcexpressparser/mapping.py index 5b9721e191..285bd00a53 100644 --- a/src/ifcexpressparser/mapping.py +++ b/src/ifcexpressparser/mapping.py @@ -57,7 +57,7 @@ class Mapping: return None if str(parent) in self.express_to_cpp_typemapping else parent def make_type_string(self, type): - if isinstance(type, (str, nodes.BinaryType)): + if isinstance(type, (str, nodes.BinaryType, nodes.StringType)): return self.express_to_cpp_typemapping.get(str(type), type) else: is_list = self.schema.is_entity(type.type) @@ -89,6 +89,8 @@ class Mapping: return "ENTITY_INSTANCE" elif isinstance(type, nodes.BinaryType): return "BINARY" + elif isinstance(type, nodes.StringType): + return "STRING" elif isinstance(type, nodes.EnumerationType): return "ENUMERATION" elif isinstance(type, nodes.AggregationType): @@ -128,10 +130,11 @@ class Mapping: type_str = templates.untyped_list elif self.schema.is_simpletype(ty) or str(ty) in self.express_to_cpp_typemapping.values(): tmpl = templates.nested_array_type if is_nested_list else templates.array_type + bounds = (attr_type.bounds.lower, attr_type.bounds.upper) if attr_type.bounds else (-1, -1) type_str = tmpl % { 'instance_type' : ty, - 'lower' : attr_type.bounds.lower, - 'upper' : attr_type.bounds.upper + 'lower' : bounds[0], + 'upper' : bounds[1] } else: tmpl = templates.list_list_type if is_nested_list else templates.list_type diff --git a/src/ifcexpressparser/nodes.py b/src/ifcexpressparser/nodes.py index d21a29df67..4a16a536da 100644 --- a/src/ifcexpressparser/nodes.py +++ b/src/ifcexpressparser/nodes.py @@ -21,8 +21,8 @@ import string import collections class Node: - def __init__(self, tokens): - self.tokens = tokens + def __init__(self, tokens = None): + self.tokens = tokens or [] self.init() def tokens_of_type(self, cls): return [t for t in self.tokens if isinstance(t, cls)] @@ -128,7 +128,7 @@ class AttributeList(Node): class InverseAttribute(Node): name = property(lambda self: self.tokens[0]) type = property(lambda self: self.tokens[2]) - bounds = property(lambda self: None if len(self.tokens) == 6 else self.tokens[3]) + bounds = property(lambda self: None if len(self.tokens) != 9 else self.tokens[3]) entity = property(lambda self: self.tokens[-4]) attribute = property(lambda self: self.tokens[-2]) def init(self): @@ -170,6 +170,23 @@ class ExplicitAttribute(Node): def init(self): # NB: This assumes a single name per attribute # definition, which is not necessarily the case. + if self.tokens[0] == "self": + i = list(self.tokens).index(":") + self.tokens = self.tokens[i-1:] assert self.tokens[1] == ':' def __repr__(self): return "%s : %s%s" % (self.name, self.type, " ?" if self.optional else "") + + +class WidthSpec(Node): + def init(self): + if self.tokens[-1] == "fixed": + self.tokens[-1:] = [] + assert (self.tokens[0], self.tokens[-1]) == ("(", ")") + self.width = int("".join(self.tokens[1:-1])) + +class StringType(Node): + def init(self): + pass + def __repr__(self): + return "string" diff --git a/src/ifcexpressparser/schema.py b/src/ifcexpressparser/schema.py index 18335f3cdf..4bd87a7c8b 100644 --- a/src/ifcexpressparser/schema.py +++ b/src/ifcexpressparser/schema.py @@ -24,6 +24,28 @@ import collections if tuple(map(int, platform.python_version_tuple())) < (2, 7): import ordereddict collections.OrderedDict = ordereddict.OrderedDict + +# According to ISO 10303-11 7.1.2: Letters: "... The case of +# letters is significant only within explicit string literals." +class OrderedCaseInsensitiveDict(collections.OrderedDict): + class KeyObject(str): + def __eq__(self, other): + return self.lower() == other.lower() + def __hash__(self): + return hash(self.lower()) + + def __init__(self, *args, **kwargs): + collections.OrderedDict.__init__(self) + for key, value in collections.OrderedDict(*args, **kwargs).items(): + self[OrderedCaseInsensitiveDict.KeyObject(key)] = value + def __setitem__(self, key, value): + return collections.OrderedDict.__setitem__(self, OrderedCaseInsensitiveDict.KeyObject(key), value) + def __getitem__(self, key): + return collections.OrderedDict.__getitem__(self, OrderedCaseInsensitiveDict.KeyObject(key)) + def get(self, key, *args, **kwargs): + return collections.OrderedDict.get(self, OrderedCaseInsensitiveDict.KeyObject(key), *args, **kwargs) + def __contains__(self, key): + return collections.OrderedDict.__contains__(self, OrderedCaseInsensitiveDict.KeyObject(key)) class Schema: def is_enumeration(self, v): @@ -39,7 +61,7 @@ class Schema: def __init__(self, parsetree): self.name = parsetree[1] - sort = lambda d: collections.OrderedDict(sorted(d)) + sort = lambda d: OrderedCaseInsensitiveDict(sorted(d)) self.types = sort([(t.name,t) for t in parsetree if isinstance(t, nodes.TypeDeclaration)]) self.entities = sort([(t.name,t) for t in parsetree if isinstance(t, nodes.EntityDeclaration)]) @@ -48,4 +70,4 @@ class Schema: self.enumerations = of_type(nodes.EnumerationType) self.selects = of_type(nodes.SelectType) - self.simpletypes = of_type(str, nodes.AggregationType, nodes.BinaryType) + self.simpletypes = of_type(str, nodes.AggregationType, nodes.BinaryType, nodes.StringType) From fa585e60eead8cc9c9e4003ad97d3f5c604a25ad Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 8 Apr 2016 23:23:45 +0200 Subject: [PATCH 145/157] Update EXPRESS code generator to work on ancient IFC schemas --- src/ifcexpressparser/implementation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcexpressparser/implementation.py b/src/ifcexpressparser/implementation.py index cd320274c7..2d19dca7ce 100644 --- a/src/ifcexpressparser/implementation.py +++ b/src/ifcexpressparser/implementation.py @@ -157,7 +157,7 @@ class Implementation(codegen.Base): superclass = superclass ) - selectable_simple_types = sorted(set(sum([b.values for a,b in mapping.schema.selects.items()], [])) & set(mapping.schema.types.keys())) + selectable_simple_types = sorted(set(sum([b.values for a,b in mapping.schema.selects.items()], [])) & set(map(str, mapping.schema.types.keys()))) schema_entity_statements += [templates.schema_entity_stmt%locals() for name, type in mapping.schema.simpletypes.items()] schema_entity_statements += [templates.schema_entity_stmt%locals() for name, type in mapping.schema.entities.items()] From 9bcfe2f50e2989bb272e8df90e3b95e16bf5ecfe Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 8 Apr 2016 23:24:35 +0200 Subject: [PATCH 146/157] Generate code for IFC4_ADD1 --- src/ifcparse/Ifc2x3.h | 1 + src/ifcparse/Ifc4-latebound.cpp | 165 +++++++++++--------- src/ifcparse/Ifc4.cpp | 137 +++++++++++++--- src/ifcparse/Ifc4.h | 266 ++++++++++++++++++++++---------- src/ifcparse/Ifc4enum.h | 2 +- 5 files changed, 393 insertions(+), 178 deletions(-) diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 6e4a09500c..9f1309ef56 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -14464,6 +14464,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IfcImageTexture : public IfcSurfaceTexture { public: + /// Location, provided as an URI, at which the image texture is electronically published. std::string UrlReference() const; void setUrlReference(std::string v); virtual unsigned int getArgumentCount() const { return 5; } diff --git a/src/ifcparse/Ifc4-latebound.cpp b/src/ifcparse/Ifc4-latebound.cpp index e136fba57c..4633287a9a 100644 --- a/src/ifcparse/Ifc4-latebound.cpp +++ b/src/ifcparse/Ifc4-latebound.cpp @@ -66,10 +66,14 @@ void InitDescriptorMap() { current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcAngularVelocityMeasure] = new IfcEntityDescriptor(Type::IfcAngularVelocityMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcArcIndex] = new IfcEntityDescriptor(Type::IfcArcIndex,0); + current->add("wrappedValue",false,IfcUtil::Argument_AGGREGATE_OF_INT); current = entity_descriptor_map[Type::IfcAreaDensityMeasure] = new IfcEntityDescriptor(Type::IfcAreaDensityMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcAreaMeasure] = new IfcEntityDescriptor(Type::IfcAreaMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBinary] = new IfcEntityDescriptor(Type::IfcBinary,0); + current->add("wrappedValue",false,IfcUtil::Argument_BINARY); current = entity_descriptor_map[Type::IfcBoolean] = new IfcEntityDescriptor(Type::IfcBoolean,0); current->add("wrappedValue",false,IfcUtil::Argument_BOOL); current = entity_descriptor_map[Type::IfcBoxAlignment] = new IfcEntityDescriptor(Type::IfcBoxAlignment,0); @@ -156,6 +160,8 @@ void InitDescriptorMap() { current->add("wrappedValue",false,IfcUtil::Argument_STRING); current = entity_descriptor_map[Type::IfcLengthMeasure] = new IfcEntityDescriptor(Type::IfcLengthMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLineIndex] = new IfcEntityDescriptor(Type::IfcLineIndex,0); + current->add("wrappedValue",false,IfcUtil::Argument_AGGREGATE_OF_INT); current = entity_descriptor_map[Type::IfcLinearForceMeasure] = new IfcEntityDescriptor(Type::IfcLinearForceMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcLinearMomentMeasure] = new IfcEntityDescriptor(Type::IfcLinearMomentMeasure,0); @@ -216,6 +222,8 @@ void InitDescriptorMap() { current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcPlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcPlaneAngleMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPositiveInteger] = new IfcEntityDescriptor(Type::IfcPositiveInteger,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); current = entity_descriptor_map[Type::IfcPositiveLengthMeasure] = new IfcEntityDescriptor(Type::IfcPositiveLengthMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcPositivePlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcPositivePlaneAngleMeasure,0); @@ -389,9 +397,9 @@ void InitDescriptorMap() { current->add("SourceCRS",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCoordinateReferenceSystemSelect); current->add("TargetCRS",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCoordinateReferenceSystem); current = entity_descriptor_map[Type::IfcCoordinateReferenceSystem] = new IfcEntityDescriptor(Type::IfcCoordinateReferenceSystem,0); - current->add("Name",true,IfcUtil::Argument_STRING,Type::IfcLabel); + current->add("Name",false,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("Description",true,IfcUtil::Argument_STRING,Type::IfcText); - current->add("GeodeticDatum",false,IfcUtil::Argument_STRING,Type::IfcIdentifier); + current->add("GeodeticDatum",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current->add("VerticalDatum",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current = entity_descriptor_map[Type::IfcCostValue] = new IfcEntityDescriptor(Type::IfcCostValue,entity_descriptor_map.find(Type::IfcAppliedValue)->second); @@ -498,7 +506,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcMetric] = new IfcEntityDescriptor(Type::IfcMetric,entity_descriptor_map.find(Type::IfcConstraint)->second); current->add("Benchmark",false,IfcUtil::Argument_ENUMERATION,Type::IfcBenchmarkEnum); current->add("ValueSource",true,IfcUtil::Argument_STRING,Type::IfcLabel); - current->add("DataValue",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcMetricValueSelect); + current->add("DataValue",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcMetricValueSelect); current->add("ReferencePath",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcReference); current = entity_descriptor_map[Type::IfcMonetaryUnit] = new IfcEntityDescriptor(Type::IfcMonetaryUnit,0); current->add("Currency",false,IfcUtil::Argument_STRING,Type::IfcLabel); @@ -561,9 +569,9 @@ void InitDescriptorMap() { current->add("AssignedItems",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcLayeredItem); current->add("Identifier",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current = entity_descriptor_map[Type::IfcPresentationLayerWithStyle] = new IfcEntityDescriptor(Type::IfcPresentationLayerWithStyle,entity_descriptor_map.find(Type::IfcPresentationLayerAssignment)->second); - current->add("LayerOn",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("LayerFrozen",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("LayerBlocked",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("LayerOn",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("LayerFrozen",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("LayerBlocked",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current->add("LayerStyles",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcPresentationStyle); current = entity_descriptor_map[Type::IfcPresentationStyle] = new IfcEntityDescriptor(Type::IfcPresentationStyle,0); current->add("Name",true,IfcUtil::Argument_STRING,Type::IfcLabel); @@ -617,7 +625,7 @@ void InitDescriptorMap() { current->add("TypeIdentifier",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current->add("AttributeIdentifier",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current->add("InstanceName",true,IfcUtil::Argument_STRING,Type::IfcLabel); - current->add("ListPositions",true,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("ListPositions",true,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); current->add("InnerReference",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcReference); current = entity_descriptor_map[Type::IfcRepresentation] = new IfcEntityDescriptor(Type::IfcRepresentation,0); current->add("ContextOfItems",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcRepresentationContext); @@ -651,7 +659,7 @@ void InitDescriptorMap() { current->add("ShapeRepresentations",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcShapeModel); current->add("Name",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("Description",true,IfcUtil::Argument_STRING,Type::IfcText); - current->add("ProductDefinitional",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ProductDefinitional",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current->add("PartOfProductDefinitionShape",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcProductRepresentationSelect); current = entity_descriptor_map[Type::IfcShapeModel] = new IfcEntityDescriptor(Type::IfcShapeModel,entity_descriptor_map.find(Type::IfcRepresentation)->second); @@ -700,8 +708,8 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcSurfaceStyleWithTextures] = new IfcEntityDescriptor(Type::IfcSurfaceStyleWithTextures,entity_descriptor_map.find(Type::IfcPresentationItem)->second); current->add("Textures",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcSurfaceTexture); current = entity_descriptor_map[Type::IfcSurfaceTexture] = new IfcEntityDescriptor(Type::IfcSurfaceTexture,entity_descriptor_map.find(Type::IfcPresentationItem)->second); - current->add("RepeatS",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("RepeatT",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("RepeatS",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("RepeatT",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("Mode",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current->add("TextureTransform",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianTransformationOperator2D); current->add("Parameter",true,IfcUtil::Argument_AGGREGATE_OF_STRING,Type::IfcIdentifier); @@ -717,7 +725,7 @@ void InitDescriptorMap() { current->add("ReferencePath",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcReference); current = entity_descriptor_map[Type::IfcTableRow] = new IfcEntityDescriptor(Type::IfcTableRow,0); current->add("RowCells",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcValue); - current->add("IsHeading",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("IsHeading",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcTaskTime] = new IfcEntityDescriptor(Type::IfcTaskTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); current->add("DurationType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTaskDurationEnum); current->add("ScheduleDuration",true,IfcUtil::Argument_STRING,Type::IfcDuration); @@ -729,7 +737,7 @@ void InitDescriptorMap() { current->add("LateFinish",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("FreeFloat",true,IfcUtil::Argument_STRING,Type::IfcDuration); current->add("TotalFloat",true,IfcUtil::Argument_STRING,Type::IfcDuration); - current->add("IsCritical",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("IsCritical",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("StatusTime",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("ActualDuration",true,IfcUtil::Argument_STRING,Type::IfcDuration); current->add("ActualStart",true,IfcUtil::Argument_STRING,Type::IfcDateTime); @@ -737,7 +745,7 @@ void InitDescriptorMap() { current->add("RemainingTime",true,IfcUtil::Argument_STRING,Type::IfcDuration); current->add("Completion",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveRatioMeasure); current = entity_descriptor_map[Type::IfcTaskTimeRecurring] = new IfcEntityDescriptor(Type::IfcTaskTimeRecurring,entity_descriptor_map.find(Type::IfcTaskTime)->second); - current->add("Recurrance",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcRecurrencePattern); + current->add("Recurrence",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcRecurrencePattern); current = entity_descriptor_map[Type::IfcTelecomAddress] = new IfcEntityDescriptor(Type::IfcTelecomAddress,entity_descriptor_map.find(Type::IfcAddress)->second); current->add("TelephoneNumbers",true,IfcUtil::Argument_AGGREGATE_OF_STRING,Type::IfcLabel); current->add("FacsimileNumbers",true,IfcUtil::Argument_AGGREGATE_OF_STRING,Type::IfcLabel); @@ -749,7 +757,7 @@ void InitDescriptorMap() { current->add("TextCharacterAppearance",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTextStyleForDefinedFont); current->add("TextStyle",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTextStyleTextModel); current->add("TextFontStyle",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTextFontSelect); - current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcTextStyleForDefinedFont] = new IfcEntityDescriptor(Type::IfcTextStyleForDefinedFont,entity_descriptor_map.find(Type::IfcPresentationItem)->second); current->add("Colour",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcColour); current->add("BackgroundColour",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcColour); @@ -815,7 +823,7 @@ void InitDescriptorMap() { current->add("InnerCurves",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCurve); current = entity_descriptor_map[Type::IfcBlobTexture] = new IfcEntityDescriptor(Type::IfcBlobTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); current->add("RasterFormat",false,IfcUtil::Argument_STRING,Type::IfcIdentifier); - current->add("RasterCode",false,IfcUtil::Argument_BINARY,Type::UNDEFINED); + current->add("RasterCode",false,IfcUtil::Argument_BINARY,Type::IfcBinary); current = entity_descriptor_map[Type::IfcCenterLineProfileDef] = new IfcEntityDescriptor(Type::IfcCenterLineProfileDef,entity_descriptor_map.find(Type::IfcArbitraryOpenProfileDef)->second); current->add("Thickness",false,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current = entity_descriptor_map[Type::IfcClassification] = new IfcEntityDescriptor(Type::IfcClassification,entity_descriptor_map.find(Type::IfcExternalInformation)->second); @@ -863,7 +871,7 @@ void InitDescriptorMap() { current->add("CurveFont",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurveFontOrScaledCurveFontSelect); current->add("CurveWidth",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSizeSelect); current->add("CurveColour",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcColour); - current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcCurveStyleFont] = new IfcEntityDescriptor(Type::IfcCurveStyleFont,entity_descriptor_map.find(Type::IfcPresentationItem)->second); current->add("Name",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("PatternList",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCurveStyleFontPattern); @@ -908,7 +916,7 @@ void InitDescriptorMap() { current->add("EdgeEnd",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcVertex); current = entity_descriptor_map[Type::IfcEdgeCurve] = new IfcEntityDescriptor(Type::IfcEdgeCurve,entity_descriptor_map.find(Type::IfcEdge)->second); current->add("EdgeGeometry",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); - current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcEventTime] = new IfcEntityDescriptor(Type::IfcEventTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); current->add("ActualDate",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("EarlyDate",true,IfcUtil::Argument_STRING,Type::IfcDateTime); @@ -925,12 +933,12 @@ void InitDescriptorMap() { current->add("Bounds",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcFaceBound); current = entity_descriptor_map[Type::IfcFaceBound] = new IfcEntityDescriptor(Type::IfcFaceBound,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); current->add("Bound",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcLoop); - current->add("Orientation",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("Orientation",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcFaceOuterBound] = new IfcEntityDescriptor(Type::IfcFaceOuterBound,entity_descriptor_map.find(Type::IfcFaceBound)->second); current = entity_descriptor_map[Type::IfcFaceSurface] = new IfcEntityDescriptor(Type::IfcFaceSurface,entity_descriptor_map.find(Type::IfcFace)->second); current->add("FaceSurface",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurface); - current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcFailureConnectionCondition] = new IfcEntityDescriptor(Type::IfcFailureConnectionCondition,entity_descriptor_map.find(Type::IfcStructuralConnectionCondition)->second); current->add("TensionFailureX",true,IfcUtil::Argument_DOUBLE,Type::IfcForceMeasure); current->add("TensionFailureY",true,IfcUtil::Argument_DOUBLE,Type::IfcForceMeasure); @@ -940,10 +948,10 @@ void InitDescriptorMap() { current->add("CompressionFailureZ",true,IfcUtil::Argument_DOUBLE,Type::IfcForceMeasure); current = entity_descriptor_map[Type::IfcFillAreaStyle] = new IfcEntityDescriptor(Type::IfcFillAreaStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); current->add("FillStyles",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcFillStyleSelect); - current->add("ModelorDraughting",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ModelorDraughting",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcGeometricRepresentationContext] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationContext,entity_descriptor_map.find(Type::IfcRepresentationContext)->second); current->add("CoordinateSpaceDimension",false,IfcUtil::Argument_INT,Type::IfcDimensionCount); - current->add("Precision",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); + current->add("Precision",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); current->add("WorldCoordinateSystem",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcAxis2Placement); current->add("TrueNorth",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current = entity_descriptor_map[Type::IfcGeometricRepresentationItem] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); @@ -960,19 +968,19 @@ void InitDescriptorMap() { current->add("PlacementRefDirection",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcGridPlacementDirectionSelect); current = entity_descriptor_map[Type::IfcHalfSpaceSolid] = new IfcEntityDescriptor(Type::IfcHalfSpaceSolid,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); current->add("BaseSurface",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurface); - current->add("AgreementFlag",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("AgreementFlag",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcImageTexture] = new IfcEntityDescriptor(Type::IfcImageTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); current->add("URLReference",false,IfcUtil::Argument_STRING,Type::IfcURIReference); current = entity_descriptor_map[Type::IfcIndexedColourMap] = new IfcEntityDescriptor(Type::IfcIndexedColourMap,entity_descriptor_map.find(Type::IfcPresentationItem)->second); current->add("MappedTo",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTessellatedFaceSet); current->add("Overrides",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurfaceStyleShading); current->add("Colours",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcColourRgbList); - current->add("ColourIndex",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("ColourIndex",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcPositiveInteger); current = entity_descriptor_map[Type::IfcIndexedTextureMap] = new IfcEntityDescriptor(Type::IfcIndexedTextureMap,entity_descriptor_map.find(Type::IfcTextureCoordinate)->second); current->add("MappedTo",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTessellatedFaceSet); current->add("TexCoords",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTextureVertexList); current = entity_descriptor_map[Type::IfcIndexedTriangleTextureMap] = new IfcEntityDescriptor(Type::IfcIndexedTriangleTextureMap,entity_descriptor_map.find(Type::IfcIndexedTextureMap)->second); - current->add("TexCoordIndex",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("TexCoordIndex",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::IfcPositiveInteger); current = entity_descriptor_map[Type::IfcIrregularTimeSeries] = new IfcEntityDescriptor(Type::IfcIrregularTimeSeries,entity_descriptor_map.find(Type::IfcTimeSeries)->second); current->add("Values",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcIrregularTimeSeriesValue); current = entity_descriptor_map[Type::IfcLagTime] = new IfcEntityDescriptor(Type::IfcLagTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); @@ -1059,7 +1067,7 @@ void InitDescriptorMap() { current->add("RelatedOrganizations",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcOrganization); current = entity_descriptor_map[Type::IfcOrientedEdge] = new IfcEntityDescriptor(Type::IfcOrientedEdge,entity_descriptor_map.find(Type::IfcEdge)->second); current->add("EdgeElement",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcEdge); - current->add("Orientation",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("Orientation",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcParameterizedProfileDef] = new IfcEntityDescriptor(Type::IfcParameterizedProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); current->add("Position",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcAxis2Placement2D); current = entity_descriptor_map[Type::IfcPath] = new IfcEntityDescriptor(Type::IfcPath,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); @@ -1073,7 +1081,7 @@ void InitDescriptorMap() { current->add("Width",false,IfcUtil::Argument_INT,Type::IfcInteger); current->add("Height",false,IfcUtil::Argument_INT,Type::IfcInteger); current->add("ColourComponents",false,IfcUtil::Argument_INT,Type::IfcInteger); - current->add("Pixel",false,IfcUtil::Argument_AGGREGATE_OF_BINARY,Type::UNDEFINED); + current->add("Pixel",false,IfcUtil::Argument_AGGREGATE_OF_BINARY,Type::IfcBinary); current = entity_descriptor_map[Type::IfcPlacement] = new IfcEntityDescriptor(Type::IfcPlacement,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); current->add("Location",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianPoint); current = entity_descriptor_map[Type::IfcPlanarExtent] = new IfcEntityDescriptor(Type::IfcPlanarExtent,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); @@ -1146,7 +1154,7 @@ void InitDescriptorMap() { current->add("ScheduleFinish",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("ScheduleContour",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("LevelingDelay",true,IfcUtil::Argument_STRING,Type::IfcDuration); - current->add("IsOverAllocated",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("IsOverAllocated",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("StatusTime",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("ActualWork",true,IfcUtil::Argument_STRING,Type::IfcDuration); current->add("ActualUsage",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveRatioMeasure); @@ -1298,8 +1306,8 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcWindowStyle] = new IfcEntityDescriptor(Type::IfcWindowStyle,entity_descriptor_map.find(Type::IfcTypeProduct)->second); current->add("ConstructionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowStyleConstructionEnum); current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowStyleOperationEnum); - current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("Sizeable",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("Sizeable",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcZShapeProfileDef] = new IfcEntityDescriptor(Type::IfcZShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); current->add("Depth",false,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("FlangeWidth",false,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); @@ -1355,22 +1363,24 @@ void InitDescriptorMap() { current->add("Coordinates",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcLengthMeasure); current = entity_descriptor_map[Type::IfcCartesianPointList] = new IfcEntityDescriptor(Type::IfcCartesianPointList,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current = entity_descriptor_map[Type::IfcCartesianPointList2D] = new IfcEntityDescriptor(Type::IfcCartesianPointList2D,entity_descriptor_map.find(Type::IfcCartesianPointList)->second); + current->add("CoordList",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::IfcLengthMeasure); current = entity_descriptor_map[Type::IfcCartesianPointList3D] = new IfcEntityDescriptor(Type::IfcCartesianPointList3D,entity_descriptor_map.find(Type::IfcCartesianPointList)->second); current->add("CoordList",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::IfcLengthMeasure); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); current->add("Axis1",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current->add("Axis2",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current->add("LocalOrigin",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianPoint); - current->add("Scale",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); + current->add("Scale",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator2D] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator2D,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator)->second); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator2DnonUniform] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator2DnonUniform,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator2D)->second); - current->add("Scale2",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); + current->add("Scale2",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator3D] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator3D,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator)->second); current->add("Axis3",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator3DnonUniform] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator3DnonUniform,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator3D)->second); - current->add("Scale2",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); - current->add("Scale3",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); + current->add("Scale2",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); + current->add("Scale3",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcCircleProfileDef] = new IfcEntityDescriptor(Type::IfcCircleProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); current->add("Radius",false,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current = entity_descriptor_map[Type::IfcClosedShell] = new IfcEntityDescriptor(Type::IfcClosedShell,entity_descriptor_map.find(Type::IfcConnectedFaceSet)->second); @@ -1384,7 +1394,7 @@ void InitDescriptorMap() { current->add("HasProperties",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcProperty); current = entity_descriptor_map[Type::IfcCompositeCurveSegment] = new IfcEntityDescriptor(Type::IfcCompositeCurveSegment,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); current->add("Transition",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransitionCode); - current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("ParentCurve",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); current = entity_descriptor_map[Type::IfcConstructionResourceType] = new IfcEntityDescriptor(Type::IfcConstructionResourceType,entity_descriptor_map.find(Type::IfcTypeResource)->second); current->add("BaseCosts",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcAppliedValue); @@ -1410,14 +1420,14 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcCurveBoundedSurface] = new IfcEntityDescriptor(Type::IfcCurveBoundedSurface,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); current->add("BasisSurface",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurface); current->add("Boundaries",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcBoundaryCurve); - current->add("ImplicitOuter",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ImplicitOuter",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcDirection] = new IfcEntityDescriptor(Type::IfcDirection,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); - current->add("DirectionRatios",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); + current->add("DirectionRatios",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcDoorStyle] = new IfcEntityDescriptor(Type::IfcDoorStyle,entity_descriptor_map.find(Type::IfcTypeProduct)->second); current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorStyleOperationEnum); current->add("ConstructionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorStyleConstructionEnum); - current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("Sizeable",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("Sizeable",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcEdgeLoop] = new IfcEntityDescriptor(Type::IfcEdgeLoop,entity_descriptor_map.find(Type::IfcLoop)->second); current->add("EdgeList",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcOrientedEdge); current = entity_descriptor_map[Type::IfcElementQuantity] = new IfcEntityDescriptor(Type::IfcElementQuantity,entity_descriptor_map.find(Type::IfcQuantitySet)->second); @@ -1492,11 +1502,11 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcOffsetCurve2D] = new IfcEntityDescriptor(Type::IfcOffsetCurve2D,entity_descriptor_map.find(Type::IfcCurve)->second); current->add("BasisCurve",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); current->add("Distance",false,IfcUtil::Argument_DOUBLE,Type::IfcLengthMeasure); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current = entity_descriptor_map[Type::IfcOffsetCurve3D] = new IfcEntityDescriptor(Type::IfcOffsetCurve3D,entity_descriptor_map.find(Type::IfcCurve)->second); current->add("BasisCurve",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); current->add("Distance",false,IfcUtil::Argument_DOUBLE,Type::IfcLengthMeasure); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current->add("RefDirection",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current = entity_descriptor_map[Type::IfcPcurve] = new IfcEntityDescriptor(Type::IfcPcurve,entity_descriptor_map.find(Type::IfcCurve)->second); current->add("BasisSurface",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurface); @@ -1572,8 +1582,8 @@ void InitDescriptorMap() { current->add("V1",false,IfcUtil::Argument_DOUBLE,Type::IfcParameterValue); current->add("U2",false,IfcUtil::Argument_DOUBLE,Type::IfcParameterValue); current->add("V2",false,IfcUtil::Argument_DOUBLE,Type::IfcParameterValue); - current->add("Usense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("Vsense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("Usense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("Vsense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcReinforcementDefinitionProperties] = new IfcEntityDescriptor(Type::IfcReinforcementDefinitionProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); current->add("DefinitionType",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("ReinforcementSectionDefinitions",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcSectionReinforcementProperties); @@ -1618,8 +1628,8 @@ void InitDescriptorMap() { current->add("RelatingElement",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcElement); current->add("RelatedElement",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcElement); current = entity_descriptor_map[Type::IfcRelConnectsPathElements] = new IfcEntityDescriptor(Type::IfcRelConnectsPathElements,entity_descriptor_map.find(Type::IfcRelConnectsElements)->second); - current->add("RelatingPriorities",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); - current->add("RelatedPriorities",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); + current->add("RelatingPriorities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); + current->add("RelatedPriorities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); current->add("RelatedConnectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConnectionTypeEnum); current->add("RelatingConnectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConnectionTypeEnum); current = entity_descriptor_map[Type::IfcRelConnectsPortToElement] = new IfcEntityDescriptor(Type::IfcRelConnectsPortToElement,entity_descriptor_map.find(Type::IfcRelConnects)->second); @@ -1788,8 +1798,8 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcTask] = new IfcEntityDescriptor(Type::IfcTask,entity_descriptor_map.find(Type::IfcProcess)->second); current->add("Status",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("WorkMethod",true,IfcUtil::Argument_STRING,Type::IfcLabel); - current->add("IsMilestone",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("Priority",true,IfcUtil::Argument_INT,Type::UNDEFINED); + current->add("IsMilestone",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("Priority",true,IfcUtil::Argument_INT,Type::IfcInteger); current->add("TaskTime",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTaskTime); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTaskTypeEnum); current = entity_descriptor_map[Type::IfcTaskType] = new IfcEntityDescriptor(Type::IfcTaskType,entity_descriptor_map.find(Type::IfcTypeProcess)->second); @@ -1798,12 +1808,12 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcTessellatedFaceSet] = new IfcEntityDescriptor(Type::IfcTessellatedFaceSet,entity_descriptor_map.find(Type::IfcTessellatedItem)->second); current->add("Coordinates",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianPointList3D); current->add("Normals",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::IfcParameterValue); - current->add("Closed",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("Closed",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcTransportElementType] = new IfcEntityDescriptor(Type::IfcTransportElementType,entity_descriptor_map.find(Type::IfcElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransportElementTypeEnum); current = entity_descriptor_map[Type::IfcTriangulatedFaceSet] = new IfcEntityDescriptor(Type::IfcTriangulatedFaceSet,entity_descriptor_map.find(Type::IfcTessellatedFaceSet)->second); - current->add("CoordIndex",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::UNDEFINED); - current->add("NormalIndex",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("CoordIndex",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::IfcPositiveInteger); + current->add("NormalIndex",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::IfcPositiveInteger); current = entity_descriptor_map[Type::IfcWindowLiningProperties] = new IfcEntityDescriptor(Type::IfcWindowLiningProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); current->add("LiningDepth",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("LiningThickness",true,IfcUtil::Argument_DOUBLE,Type::IfcNonNegativeLengthMeasure); @@ -1832,16 +1842,16 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcAnnotation] = new IfcEntityDescriptor(Type::IfcAnnotation,entity_descriptor_map.find(Type::IfcProduct)->second); current = entity_descriptor_map[Type::IfcBSplineSurface] = new IfcEntityDescriptor(Type::IfcBSplineSurface,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); - current->add("UDegree",false,IfcUtil::Argument_INT,Type::UNDEFINED); - current->add("VDegree",false,IfcUtil::Argument_INT,Type::UNDEFINED); + current->add("UDegree",false,IfcUtil::Argument_INT,Type::IfcInteger); + current->add("VDegree",false,IfcUtil::Argument_INT,Type::IfcInteger); current->add("ControlPointsList",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCartesianPoint); current->add("SurfaceForm",false,IfcUtil::Argument_ENUMERATION,Type::IfcBSplineSurfaceForm); - current->add("UClosed",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("VClosed",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("UClosed",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("VClosed",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current = entity_descriptor_map[Type::IfcBSplineSurfaceWithKnots] = new IfcEntityDescriptor(Type::IfcBSplineSurfaceWithKnots,entity_descriptor_map.find(Type::IfcBSplineSurface)->second); - current->add("UMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); - current->add("VMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("UMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); + current->add("VMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); current->add("UKnots",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcParameterValue); current->add("VKnots",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcParameterValue); current->add("KnotSpec",false,IfcUtil::Argument_ENUMERATION,Type::IfcKnotType); @@ -1875,7 +1885,7 @@ void InitDescriptorMap() { current->add("HasPropertyTemplates",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcPropertyTemplate); current = entity_descriptor_map[Type::IfcCompositeCurve] = new IfcEntityDescriptor(Type::IfcCompositeCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); current->add("Segments",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCompositeCurveSegment); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current = entity_descriptor_map[Type::IfcCompositeCurveOnSurface] = new IfcEntityDescriptor(Type::IfcCompositeCurveOnSurface,entity_descriptor_map.find(Type::IfcCompositeCurve)->second); current = entity_descriptor_map[Type::IfcConic] = new IfcEntityDescriptor(Type::IfcConic,entity_descriptor_map.find(Type::IfcCurve)->second); @@ -1936,7 +1946,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcDoorType] = new IfcEntityDescriptor(Type::IfcDoorType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorTypeEnum); current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorTypeOperationEnum); - current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("UserDefinedOperationType",true,IfcUtil::Argument_STRING,Type::IfcLabel); current = entity_descriptor_map[Type::IfcDraughtingPreDefinedColour] = new IfcEntityDescriptor(Type::IfcDraughtingPreDefinedColour,entity_descriptor_map.find(Type::IfcPreDefinedColour)->second); @@ -2020,6 +2030,10 @@ void InitDescriptorMap() { current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcHeatExchangerTypeEnum); current = entity_descriptor_map[Type::IfcHumidifierType] = new IfcEntityDescriptor(Type::IfcHumidifierType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcHumidifierTypeEnum); + current = entity_descriptor_map[Type::IfcIndexedPolyCurve] = new IfcEntityDescriptor(Type::IfcIndexedPolyCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("Points",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianPointList); + current->add("Segments",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcSegmentIndexSelect); + current->add("SelfIntersect",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcInterceptorType] = new IfcEntityDescriptor(Type::IfcInterceptorType,entity_descriptor_map.find(Type::IfcFlowTreatmentDeviceType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcInterceptorTypeEnum); current = entity_descriptor_map[Type::IfcInventory] = new IfcEntityDescriptor(Type::IfcInventory,entity_descriptor_map.find(Type::IfcGroup)->second); @@ -2103,7 +2117,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcRampType] = new IfcEntityDescriptor(Type::IfcRampType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRampTypeEnum); current = entity_descriptor_map[Type::IfcRationalBSplineSurfaceWithKnots] = new IfcEntityDescriptor(Type::IfcRationalBSplineSurfaceWithKnots,entity_descriptor_map.find(Type::IfcBSplineSurfaceWithKnots)->second); - current->add("WeightsData",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); + current->add("WeightsData",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcReinforcingElement] = new IfcEntityDescriptor(Type::IfcReinforcingElement,entity_descriptor_map.find(Type::IfcElementComponent)->second); current->add("SteelGrade",true,IfcUtil::Argument_STRING,Type::IfcLabel); current = entity_descriptor_map[Type::IfcReinforcingElementType] = new IfcEntityDescriptor(Type::IfcReinforcingElementType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); @@ -2164,7 +2178,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcStairType] = new IfcEntityDescriptor(Type::IfcStairType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStairTypeEnum); current = entity_descriptor_map[Type::IfcStructuralAction] = new IfcEntityDescriptor(Type::IfcStructuralAction,entity_descriptor_map.find(Type::IfcStructuralActivity)->second); - current->add("DestabilizingLoad",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("DestabilizingLoad",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcStructuralConnection] = new IfcEntityDescriptor(Type::IfcStructuralConnection,entity_descriptor_map.find(Type::IfcStructuralItem)->second); current->add("AppliedCondition",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcBoundaryCondition); current = entity_descriptor_map[Type::IfcStructuralCurveAction] = new IfcEntityDescriptor(Type::IfcStructuralCurveAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); @@ -2196,7 +2210,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcStructuralResultGroup] = new IfcEntityDescriptor(Type::IfcStructuralResultGroup,entity_descriptor_map.find(Type::IfcGroup)->second); current->add("TheoryType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAnalysisTheoryTypeEnum); current->add("ResultForLoadGroup",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcStructuralLoadGroup); - current->add("IsLinear",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("IsLinear",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcStructuralSurfaceAction] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); current->add("ProjectedOrTrue",true,IfcUtil::Argument_ENUMERATION,Type::IfcProjectedOrTrueLengthEnum); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralSurfaceActivityTypeEnum); @@ -2240,7 +2254,7 @@ void InitDescriptorMap() { current->add("BasisCurve",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); current->add("Trim1",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcTrimmingSelect); current->add("Trim2",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcTrimmingSelect); - current->add("SenseAgreement",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SenseAgreement",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("MasterRepresentation",false,IfcUtil::Argument_ENUMERATION,Type::IfcTrimmingPreference); current = entity_descriptor_map[Type::IfcTubeBundleType] = new IfcEntityDescriptor(Type::IfcTubeBundleType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTubeBundleTypeEnum); @@ -2263,7 +2277,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcWindowType] = new IfcEntityDescriptor(Type::IfcWindowType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowTypeEnum); current->add("PartitioningType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowTypePartitioningEnum); - current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("UserDefinedPartitioningType",true,IfcUtil::Argument_STRING,Type::IfcLabel); current = entity_descriptor_map[Type::IfcWorkCalendar] = new IfcEntityDescriptor(Type::IfcWorkCalendar,entity_descriptor_map.find(Type::IfcControl)->second); current->add("WorkingTimes",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcWorkTime); @@ -2306,13 +2320,13 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcAudioVisualApplianceType] = new IfcEntityDescriptor(Type::IfcAudioVisualApplianceType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAudioVisualApplianceTypeEnum); current = entity_descriptor_map[Type::IfcBSplineCurve] = new IfcEntityDescriptor(Type::IfcBSplineCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); - current->add("Degree",false,IfcUtil::Argument_INT,Type::UNDEFINED); + current->add("Degree",false,IfcUtil::Argument_INT,Type::IfcInteger); current->add("ControlPointsList",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCartesianPoint); current->add("CurveForm",false,IfcUtil::Argument_ENUMERATION,Type::IfcBSplineCurveForm); - current->add("ClosedCurve",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ClosedCurve",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current = entity_descriptor_map[Type::IfcBSplineCurveWithKnots] = new IfcEntityDescriptor(Type::IfcBSplineCurveWithKnots,entity_descriptor_map.find(Type::IfcBSplineCurve)->second); - current->add("KnotMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("KnotMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); current->add("Knots",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcParameterValue); current->add("KnotSpec",false,IfcUtil::Argument_ENUMERATION,Type::IfcKnotType); current = entity_descriptor_map[Type::IfcBeamType] = new IfcEntityDescriptor(Type::IfcBeamType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); @@ -2333,6 +2347,7 @@ void InitDescriptorMap() { current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingElementProxyTypeEnum); current = entity_descriptor_map[Type::IfcBuildingSystem] = new IfcEntityDescriptor(Type::IfcBuildingSystem,entity_descriptor_map.find(Type::IfcSystem)->second); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingSystemTypeEnum); + current->add("LongName",true,IfcUtil::Argument_STRING,Type::IfcLabel); current = entity_descriptor_map[Type::IfcBurnerType] = new IfcEntityDescriptor(Type::IfcBurnerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBurnerTypeEnum); current = entity_descriptor_map[Type::IfcCableCarrierFittingType] = new IfcEntityDescriptor(Type::IfcCableCarrierFittingType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); @@ -2508,7 +2523,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcRampFlight] = new IfcEntityDescriptor(Type::IfcRampFlight,entity_descriptor_map.find(Type::IfcBuildingElement)->second); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcRampFlightTypeEnum); current = entity_descriptor_map[Type::IfcRationalBSplineCurveWithKnots] = new IfcEntityDescriptor(Type::IfcRationalBSplineCurveWithKnots,entity_descriptor_map.find(Type::IfcBSplineCurveWithKnots)->second); - current->add("WeightsData",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); + current->add("WeightsData",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcReinforcingBar] = new IfcEntityDescriptor(Type::IfcReinforcingBar,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); current->add("NominalDiameter",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("CrossSectionArea",true,IfcUtil::Argument_DOUBLE,Type::IfcAreaMeasure); @@ -2546,8 +2561,8 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcStair] = new IfcEntityDescriptor(Type::IfcStair,entity_descriptor_map.find(Type::IfcBuildingElement)->second); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcStairTypeEnum); current = entity_descriptor_map[Type::IfcStairFlight] = new IfcEntityDescriptor(Type::IfcStairFlight,entity_descriptor_map.find(Type::IfcBuildingElement)->second); - current->add("NumberOfRiser",true,IfcUtil::Argument_INT,Type::UNDEFINED); - current->add("NumberOfTreads",true,IfcUtil::Argument_INT,Type::UNDEFINED); + current->add("NumberOfRisers",true,IfcUtil::Argument_INT,Type::IfcInteger); + current->add("NumberOfTreads",true,IfcUtil::Argument_INT,Type::IfcInteger); current->add("RiserHeight",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("TreadLength",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcStairFlightTypeEnum); @@ -4212,13 +4227,16 @@ void InitDescriptorMap() { values.push_back("TAPERED"); current_enum = enumeration_descriptor_map[Type::IfcSectionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSectionTypeEnum, values); values.clear(); values.reserve(128); + values.push_back("CO2SENSOR"); values.push_back("CONDUCTANCESENSOR"); values.push_back("CONTACTSENSOR"); values.push_back("FIRESENSOR"); values.push_back("FLOWSENSOR"); + values.push_back("FROSTSENSOR"); values.push_back("GASSENSOR"); values.push_back("HEATSENSOR"); values.push_back("HUMIDITYSENSOR"); + values.push_back("IDENTIFIERSENSOR"); values.push_back("IONCONCENTRATIONSENSOR"); values.push_back("LEVELSENSOR"); values.push_back("LIGHTSENSOR"); @@ -4738,7 +4756,6 @@ void InitInverseMap() { inverse_map[Type::IfcApproval].insert(std::make_pair("ApprovedResources", std::make_pair(Type::IfcResourceApprovalRelationship, 3))); inverse_map[Type::IfcApproval].insert(std::make_pair("IsRelatedWith", std::make_pair(Type::IfcApprovalRelationship, 3))); inverse_map[Type::IfcApproval].insert(std::make_pair("Relates", std::make_pair(Type::IfcApprovalRelationship, 2))); - inverse_map[Type::IfcBuildingElement].insert(std::make_pair("HasCoverings", std::make_pair(Type::IfcRelCoversBldgElements, 4))); inverse_map[Type::IfcClassification].insert(std::make_pair("ClassificationForObjects", std::make_pair(Type::IfcRelAssociatesClassification, 5))); inverse_map[Type::IfcClassification].insert(std::make_pair("HasReferences", std::make_pair(Type::IfcClassificationReference, 3))); inverse_map[Type::IfcClassificationReference].insert(std::make_pair("ClassificationRefForObjects", std::make_pair(Type::IfcRelAssociatesClassification, 5))); @@ -4751,6 +4768,7 @@ void InitInverseMap() { inverse_map[Type::IfcContextDependentUnit].insert(std::make_pair("HasExternalReference", std::make_pair(Type::IfcExternalReferenceRelationship, 3))); inverse_map[Type::IfcControl].insert(std::make_pair("Controls", std::make_pair(Type::IfcRelAssignsToControl, 6))); inverse_map[Type::IfcConversionBasedUnit].insert(std::make_pair("HasExternalReference", std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map[Type::IfcCoordinateReferenceSystem].insert(std::make_pair("HasCoordinateOperation", std::make_pair(Type::IfcCoordinateOperation, 0))); inverse_map[Type::IfcCovering].insert(std::make_pair("CoversSpaces", std::make_pair(Type::IfcRelCoversSpaces, 5))); inverse_map[Type::IfcCovering].insert(std::make_pair("CoversElements", std::make_pair(Type::IfcRelCoversBldgElements, 5))); inverse_map[Type::IfcDistributionControlElement].insert(std::make_pair("AssignedToFlowElement", std::make_pair(Type::IfcRelFlowControlElements, 4))); @@ -4772,12 +4790,14 @@ void InitInverseMap() { inverse_map[Type::IfcElement].insert(std::make_pair("ProvidesBoundaries", std::make_pair(Type::IfcRelSpaceBoundary, 5))); inverse_map[Type::IfcElement].insert(std::make_pair("ConnectedFrom", std::make_pair(Type::IfcRelConnectsElements, 6))); inverse_map[Type::IfcElement].insert(std::make_pair("ContainedInStructure", std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); + inverse_map[Type::IfcElement].insert(std::make_pair("HasCoverings", std::make_pair(Type::IfcRelCoversBldgElements, 4))); inverse_map[Type::IfcExternalReference].insert(std::make_pair("ExternalReferenceForResources", std::make_pair(Type::IfcExternalReferenceRelationship, 2))); inverse_map[Type::IfcExternalSpatialElement].insert(std::make_pair("BoundedBy", std::make_pair(Type::IfcRelSpaceBoundary, 4))); inverse_map[Type::IfcFace].insert(std::make_pair("HasTextureMaps", std::make_pair(Type::IfcTextureMap, 2))); inverse_map[Type::IfcFeatureElementAddition].insert(std::make_pair("ProjectsElements", std::make_pair(Type::IfcRelProjectsElement, 5))); inverse_map[Type::IfcFeatureElementSubtraction].insert(std::make_pair("VoidsElements", std::make_pair(Type::IfcRelVoidsElement, 5))); inverse_map[Type::IfcGeometricRepresentationContext].insert(std::make_pair("HasSubContexts", std::make_pair(Type::IfcGeometricRepresentationSubContext, 6))); + inverse_map[Type::IfcGeometricRepresentationContext].insert(std::make_pair("HasCoordinateOperation", std::make_pair(Type::IfcCoordinateOperation, 0))); inverse_map[Type::IfcGrid].insert(std::make_pair("ContainedInStructure", std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); inverse_map[Type::IfcGridAxis].insert(std::make_pair("PartOfW", std::make_pair(Type::IfcGrid, 9))); inverse_map[Type::IfcGridAxis].insert(std::make_pair("PartOfV", std::make_pair(Type::IfcGrid, 8))); @@ -4832,6 +4852,8 @@ void InitInverseMap() { inverse_map[Type::IfcProperty].insert(std::make_pair("PropertyForDependance", std::make_pair(Type::IfcPropertyDependencyRelationship, 2))); inverse_map[Type::IfcProperty].insert(std::make_pair("PropertyDependsOn", std::make_pair(Type::IfcPropertyDependencyRelationship, 3))); inverse_map[Type::IfcProperty].insert(std::make_pair("PartOfComplex", std::make_pair(Type::IfcComplexProperty, 3))); + inverse_map[Type::IfcProperty].insert(std::make_pair("HasConstraints", std::make_pair(Type::IfcResourceConstraintRelationship, 3))); + inverse_map[Type::IfcProperty].insert(std::make_pair("HasApprovals", std::make_pair(Type::IfcResourceApprovalRelationship, 2))); inverse_map[Type::IfcPropertyAbstraction].insert(std::make_pair("HasExternalReferences", std::make_pair(Type::IfcExternalReferenceRelationship, 3))); inverse_map[Type::IfcPropertyDefinition].insert(std::make_pair("HasContext", std::make_pair(Type::IfcRelDeclares, 5))); inverse_map[Type::IfcPropertyDefinition].insert(std::make_pair("HasAssociations", std::make_pair(Type::IfcRelAssociates, 4))); @@ -4868,7 +4890,6 @@ void InitInverseMap() { inverse_map[Type::IfcSurfaceTexture].insert(std::make_pair("IsMappedBy", std::make_pair(Type::IfcTextureCoordinate, 0))); inverse_map[Type::IfcSurfaceTexture].insert(std::make_pair("UsedInStyles", std::make_pair(Type::IfcSurfaceStyleWithTextures, 0))); inverse_map[Type::IfcSystem].insert(std::make_pair("ServicesBuildings", std::make_pair(Type::IfcRelServicesBuildings, 4))); - inverse_map[Type::IfcTableRow].insert(std::make_pair("OfTable", std::make_pair(Type::IfcTable, 1))); inverse_map[Type::IfcTessellatedFaceSet].insert(std::make_pair("HasColours", std::make_pair(Type::IfcIndexedColourMap, 0))); inverse_map[Type::IfcTessellatedFaceSet].insert(std::make_pair("HasTextures", std::make_pair(Type::IfcIndexedTextureMap, 1))); inverse_map[Type::IfcTimeSeries].insert(std::make_pair("HasExternalReference", std::make_pair(Type::IfcExternalReferenceRelationship, 3))); diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index aa49def74b..f2769108f8 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -43,8 +43,10 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcAccelerationMeasure: return new IfcAccelerationMeasure(e); break; case Type::IfcAmountOfSubstanceMeasure: return new IfcAmountOfSubstanceMeasure(e); break; case Type::IfcAngularVelocityMeasure: return new IfcAngularVelocityMeasure(e); break; + case Type::IfcArcIndex: return new IfcArcIndex(e); break; case Type::IfcAreaDensityMeasure: return new IfcAreaDensityMeasure(e); break; case Type::IfcAreaMeasure: return new IfcAreaMeasure(e); break; + case Type::IfcBinary: return new IfcBinary(e); break; case Type::IfcBoolean: return new IfcBoolean(e); break; case Type::IfcBoxAlignment: return new IfcBoxAlignment(e); break; case Type::IfcCardinalPointReference: return new IfcCardinalPointReference(e); break; @@ -88,6 +90,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcLabel: return new IfcLabel(e); break; case Type::IfcLanguageId: return new IfcLanguageId(e); break; case Type::IfcLengthMeasure: return new IfcLengthMeasure(e); break; + case Type::IfcLineIndex: return new IfcLineIndex(e); break; case Type::IfcLinearForceMeasure: return new IfcLinearForceMeasure(e); break; case Type::IfcLinearMomentMeasure: return new IfcLinearMomentMeasure(e); break; case Type::IfcLinearStiffnessMeasure: return new IfcLinearStiffnessMeasure(e); break; @@ -118,6 +121,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcParameterValue: return new IfcParameterValue(e); break; case Type::IfcPlanarForceMeasure: return new IfcPlanarForceMeasure(e); break; case Type::IfcPlaneAngleMeasure: return new IfcPlaneAngleMeasure(e); break; + case Type::IfcPositiveInteger: return new IfcPositiveInteger(e); break; case Type::IfcPositiveLengthMeasure: return new IfcPositiveLengthMeasure(e); break; case Type::IfcPositivePlaneAngleMeasure: return new IfcPositivePlaneAngleMeasure(e); break; case Type::IfcPositiveRatioMeasure: return new IfcPositiveRatioMeasure(e); break; @@ -243,6 +247,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcCableSegmentType: return new IfcCableSegmentType(e); break; case Type::IfcCartesianPoint: return new IfcCartesianPoint(e); break; case Type::IfcCartesianPointList: return new IfcCartesianPointList(e); break; + case Type::IfcCartesianPointList2D: return new IfcCartesianPointList2D(e); break; case Type::IfcCartesianPointList3D: return new IfcCartesianPointList3D(e); break; case Type::IfcCartesianTransformationOperator: return new IfcCartesianTransformationOperator(e); break; case Type::IfcCartesianTransformationOperator2D: return new IfcCartesianTransformationOperator2D(e); break; @@ -482,6 +487,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcIShapeProfileDef: return new IfcIShapeProfileDef(e); break; case Type::IfcImageTexture: return new IfcImageTexture(e); break; case Type::IfcIndexedColourMap: return new IfcIndexedColourMap(e); break; + case Type::IfcIndexedPolyCurve: return new IfcIndexedPolyCurve(e); break; case Type::IfcIndexedTextureMap: return new IfcIndexedTextureMap(e); break; case Type::IfcIndexedTriangleTextureMap: return new IfcIndexedTriangleTextureMap(e); break; case Type::IfcInterceptor: return new IfcInterceptor(e); break; @@ -936,8 +942,8 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { } std::string Type::ToString(Enum v) { - if (v < 0 || v >= 1157) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcActionRequest", "IfcActionRequestTypeEnum", "IfcActionSourceTypeEnum", "IfcActionTypeEnum", "IfcActor", "IfcActorRole", "IfcActorSelect", "IfcActuator", "IfcActuatorType", "IfcActuatorTypeEnum", "IfcAddress", "IfcAddressTypeEnum", "IfcAdvancedBrep", "IfcAdvancedBrepWithVoids", "IfcAdvancedFace", "IfcAirTerminal", "IfcAirTerminalBox", "IfcAirTerminalBoxType", "IfcAirTerminalBoxTypeEnum", "IfcAirTerminalType", "IfcAirTerminalTypeEnum", "IfcAirToAirHeatRecovery", "IfcAirToAirHeatRecoveryType", "IfcAirToAirHeatRecoveryTypeEnum", "IfcAlarm", "IfcAlarmType", "IfcAlarmTypeEnum", "IfcAmountOfSubstanceMeasure", "IfcAnalysisModelTypeEnum", "IfcAnalysisTheoryTypeEnum", "IfcAngularVelocityMeasure", "IfcAnnotation", "IfcAnnotationFillArea", "IfcApplication", "IfcAppliedValue", "IfcAppliedValueSelect", "IfcApproval", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcAreaDensityMeasure", "IfcAreaMeasure", "IfcArithmeticOperatorEnum", "IfcAssemblyPlaceEnum", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAudioVisualAppliance", "IfcAudioVisualApplianceType", "IfcAudioVisualApplianceTypeEnum", "IfcAxis1Placement", "IfcAxis2Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBSplineCurve", "IfcBSplineCurveForm", "IfcBSplineCurveWithKnots", "IfcBSplineSurface", "IfcBSplineSurfaceForm", "IfcBSplineSurfaceWithKnots", "IfcBeam", "IfcBeamStandardCase", "IfcBeamType", "IfcBeamTypeEnum", "IfcBenchmarkEnum", "IfcBendingParameterSelect", "IfcBlobTexture", "IfcBlock", "IfcBoiler", "IfcBoilerType", "IfcBoilerTypeEnum", "IfcBoolean", "IfcBooleanClippingResult", "IfcBooleanOperand", "IfcBooleanOperator", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryCurve", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxAlignment", "IfcBoxedHalfSpace", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementPart", "IfcBuildingElementPartType", "IfcBuildingElementPartTypeEnum", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementProxyTypeEnum", "IfcBuildingElementType", "IfcBuildingStorey", "IfcBuildingSystem", "IfcBuildingSystemTypeEnum", "IfcBurner", "IfcBurnerType", "IfcBurnerTypeEnum", "IfcCShapeProfileDef", "IfcCableCarrierFitting", "IfcCableCarrierFittingType", "IfcCableCarrierFittingTypeEnum", "IfcCableCarrierSegment", "IfcCableCarrierSegmentType", "IfcCableCarrierSegmentTypeEnum", "IfcCableFitting", "IfcCableFittingType", "IfcCableFittingTypeEnum", "IfcCableSegment", "IfcCableSegmentType", "IfcCableSegmentTypeEnum", "IfcCardinalPointReference", "IfcCartesianPoint", "IfcCartesianPointList", "IfcCartesianPointList3D", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChangeActionEnum", "IfcChiller", "IfcChillerType", "IfcChillerTypeEnum", "IfcChimney", "IfcChimneyType", "IfcChimneyTypeEnum", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcCivilElement", "IfcCivilElementType", "IfcClassification", "IfcClassificationReference", "IfcClassificationReferenceSelect", "IfcClassificationSelect", "IfcClosedShell", "IfcCoil", "IfcCoilType", "IfcCoilTypeEnum", "IfcColour", "IfcColourOrFactor", "IfcColourRgb", "IfcColourRgbList", "IfcColourSpecification", "IfcColumn", "IfcColumnStandardCase", "IfcColumnType", "IfcColumnTypeEnum", "IfcCommunicationsAppliance", "IfcCommunicationsApplianceType", "IfcCommunicationsApplianceTypeEnum", "IfcComplexNumber", "IfcComplexProperty", "IfcComplexPropertyTemplate", "IfcComplexPropertyTemplateTypeEnum", "IfcCompositeCurve", "IfcCompositeCurveOnSurface", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompoundPlaneAngleMeasure", "IfcCompressor", "IfcCompressorType", "IfcCompressorTypeEnum", "IfcCondenser", "IfcCondenserType", "IfcCondenserTypeEnum", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionSurfaceGeometry", "IfcConnectionTypeEnum", "IfcConnectionVolumeGeometry", "IfcConstraint", "IfcConstraintEnum", "IfcConstructionEquipmentResource", "IfcConstructionEquipmentResourceType", "IfcConstructionEquipmentResourceTypeEnum", "IfcConstructionMaterialResource", "IfcConstructionMaterialResourceType", "IfcConstructionMaterialResourceTypeEnum", "IfcConstructionProductResource", "IfcConstructionProductResourceType", "IfcConstructionProductResourceTypeEnum", "IfcConstructionResource", "IfcConstructionResourceType", "IfcContext", "IfcContextDependentMeasure", "IfcContextDependentUnit", "IfcControl", "IfcController", "IfcControllerType", "IfcControllerTypeEnum", "IfcConversionBasedUnit", "IfcConversionBasedUnitWithOffset", "IfcCooledBeam", "IfcCooledBeamType", "IfcCooledBeamTypeEnum", "IfcCoolingTower", "IfcCoolingTowerType", "IfcCoolingTowerTypeEnum", "IfcCoordinateOperation", "IfcCoordinateReferenceSystem", "IfcCoordinateReferenceSystemSelect", "IfcCostItem", "IfcCostItemTypeEnum", "IfcCostSchedule", "IfcCostScheduleTypeEnum", "IfcCostValue", "IfcCountMeasure", "IfcCovering", "IfcCoveringType", "IfcCoveringTypeEnum", "IfcCrewResource", "IfcCrewResourceType", "IfcCrewResourceTypeEnum", "IfcCsgPrimitive3D", "IfcCsgSelect", "IfcCsgSolid", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurtainWallTypeEnum", "IfcCurvatureMeasure", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveBoundedSurface", "IfcCurveFontOrScaledCurveFontSelect", "IfcCurveInterpolationEnum", "IfcCurveOnSurface", "IfcCurveOrEdgeCurve", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcCurveStyleFontSelect", "IfcCylindricalSurface", "IfcDamper", "IfcDamperType", "IfcDamperTypeEnum", "IfcDataOriginEnum", "IfcDate", "IfcDateTime", "IfcDayInMonthNumber", "IfcDayInWeekNumber", "IfcDefinitionSelect", "IfcDerivedMeasureValue", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDerivedUnitEnum", "IfcDescriptiveMeasure", "IfcDimensionCount", "IfcDimensionalExponents", "IfcDirection", "IfcDirectionSenseEnum", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDiscreteAccessoryTypeEnum", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionChamberElementTypeEnum", "IfcDistributionCircuit", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDistributionPortTypeEnum", "IfcDistributionSystem", "IfcDistributionSystemEnum", "IfcDocumentConfidentialityEnum", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDocumentSelect", "IfcDocumentStatusEnum", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelOperationEnum", "IfcDoorPanelPositionEnum", "IfcDoorPanelProperties", "IfcDoorStandardCase", "IfcDoorStyle", "IfcDoorStyleConstructionEnum", "IfcDoorStyleOperationEnum", "IfcDoorType", "IfcDoorTypeEnum", "IfcDoorTypeOperationEnum", "IfcDoseEquivalentMeasure", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDuctFitting", "IfcDuctFittingType", "IfcDuctFittingTypeEnum", "IfcDuctSegment", "IfcDuctSegmentType", "IfcDuctSegmentTypeEnum", "IfcDuctSilencer", "IfcDuctSilencerType", "IfcDuctSilencerTypeEnum", "IfcDuration", "IfcDynamicViscosityMeasure", "IfcEdge", "IfcEdgeCurve", "IfcEdgeLoop", "IfcElectricAppliance", "IfcElectricApplianceType", "IfcElectricApplianceTypeEnum", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentMeasure", "IfcElectricDistributionBoard", "IfcElectricDistributionBoardType", "IfcElectricDistributionBoardTypeEnum", "IfcElectricFlowStorageDevice", "IfcElectricFlowStorageDeviceType", "IfcElectricFlowStorageDeviceTypeEnum", "IfcElectricGenerator", "IfcElectricGeneratorType", "IfcElectricGeneratorTypeEnum", "IfcElectricMotor", "IfcElectricMotorType", "IfcElectricMotorTypeEnum", "IfcElectricResistanceMeasure", "IfcElectricTimeControl", "IfcElectricTimeControlType", "IfcElectricTimeControlTypeEnum", "IfcElectricVoltageMeasure", "IfcElement", "IfcElementAssembly", "IfcElementAssemblyType", "IfcElementAssemblyTypeEnum", "IfcElementComponent", "IfcElementComponentType", "IfcElementCompositionEnum", "IfcElementQuantity", "IfcElementType", "IfcElementarySurface", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEnergyMeasure", "IfcEngine", "IfcEngineType", "IfcEngineTypeEnum", "IfcEvaporativeCooler", "IfcEvaporativeCoolerType", "IfcEvaporativeCoolerTypeEnum", "IfcEvaporator", "IfcEvaporatorType", "IfcEvaporatorTypeEnum", "IfcEvent", "IfcEventTime", "IfcEventTriggerTypeEnum", "IfcEventType", "IfcEventTypeEnum", "IfcExtendedProperties", "IfcExternalInformation", "IfcExternalReference", "IfcExternalReferenceRelationship", "IfcExternalSpatialElement", "IfcExternalSpatialElementTypeEnum", "IfcExternalSpatialStructureElement", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedTextFont", "IfcExtrudedAreaSolid", "IfcExtrudedAreaSolidTapered", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFan", "IfcFanType", "IfcFanTypeEnum", "IfcFastener", "IfcFastenerType", "IfcFastenerTypeEnum", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTiles", "IfcFillStyleSelect", "IfcFilter", "IfcFilterType", "IfcFilterTypeEnum", "IfcFireSuppressionTerminal", "IfcFireSuppressionTerminalType", "IfcFireSuppressionTerminalTypeEnum", "IfcFixedReferenceSweptAreaSolid", "IfcFlowController", "IfcFlowControllerType", "IfcFlowDirectionEnum", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrument", "IfcFlowInstrumentType", "IfcFlowInstrumentTypeEnum", "IfcFlowMeter", "IfcFlowMeterType", "IfcFlowMeterTypeEnum", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFontStyle", "IfcFontVariant", "IfcFontWeight", "IfcFooting", "IfcFootingType", "IfcFootingTypeEnum", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurniture", "IfcFurnitureType", "IfcFurnitureTypeEnum", "IfcGeographicElement", "IfcGeographicElementType", "IfcGeographicElementTypeEnum", "IfcGeometricCurveSet", "IfcGeometricProjectionEnum", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGeometricSetSelect", "IfcGlobalOrLocalEnum", "IfcGloballyUniqueId", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGridPlacementDirectionSelect", "IfcGridTypeEnum", "IfcGroup", "IfcHalfSpaceSolid", "IfcHatchLineDistanceSelect", "IfcHeatExchanger", "IfcHeatExchangerType", "IfcHeatExchangerTypeEnum", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcHumidifier", "IfcHumidifierType", "IfcHumidifierTypeEnum", "IfcIShapeProfileDef", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcImageTexture", "IfcIndexedColourMap", "IfcIndexedTextureMap", "IfcIndexedTriangleTextureMap", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcInterceptor", "IfcInterceptorType", "IfcInterceptorTypeEnum", "IfcInternalOrExternalEnum", "IfcInventory", "IfcInventoryTypeEnum", "IfcIonConcentrationMeasure", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcIsothermalMoistureCapacityMeasure", "IfcJunctionBox", "IfcJunctionBoxType", "IfcJunctionBoxTypeEnum", "IfcKinematicViscosityMeasure", "IfcKnotType", "IfcLShapeProfileDef", "IfcLabel", "IfcLaborResource", "IfcLaborResourceType", "IfcLaborResourceTypeEnum", "IfcLagTime", "IfcLamp", "IfcLampType", "IfcLampTypeEnum", "IfcLanguageId", "IfcLayerSetDirectionEnum", "IfcLayeredItem", "IfcLengthMeasure", "IfcLibraryInformation", "IfcLibraryReference", "IfcLibrarySelect", "IfcLightDistributionCurveEnum", "IfcLightDistributionData", "IfcLightDistributionDataSourceSelect", "IfcLightEmissionSourceEnum", "IfcLightFixture", "IfcLightFixtureType", "IfcLightFixtureTypeEnum", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLoadGroupTypeEnum", "IfcLocalPlacement", "IfcLogical", "IfcLogicalOperatorEnum", "IfcLoop", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcManifoldSolidBrep", "IfcMapConversion", "IfcMappedItem", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialConstituent", "IfcMaterialConstituentSet", "IfcMaterialDefinition", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialLayerWithOffsets", "IfcMaterialList", "IfcMaterialProfile", "IfcMaterialProfileSet", "IfcMaterialProfileSetUsage", "IfcMaterialProfileSetUsageTapering", "IfcMaterialProfileWithOffsets", "IfcMaterialProperties", "IfcMaterialRelationship", "IfcMaterialSelect", "IfcMaterialUsageDefinition", "IfcMeasureValue", "IfcMeasureWithUnit", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMechanicalFastenerTypeEnum", "IfcMedicalDevice", "IfcMedicalDeviceType", "IfcMedicalDeviceTypeEnum", "IfcMember", "IfcMemberStandardCase", "IfcMemberType", "IfcMemberTypeEnum", "IfcMetric", "IfcMetricValueSelect", "IfcMirroredProfileDef", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionSelect", "IfcModulusOfSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionSelect", "IfcModulusOfTranslationalSubgradeReactionSelect", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcMonetaryUnit", "IfcMonthInYearNumber", "IfcMotorConnection", "IfcMotorConnectionType", "IfcMotorConnectionTypeEnum", "IfcNamedUnit", "IfcNonNegativeLengthMeasure", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcObject", "IfcObjectDefinition", "IfcObjectPlacement", "IfcObjectReferenceSelect", "IfcObjectTypeEnum", "IfcObjective", "IfcObjectiveEnum", "IfcOccupant", "IfcOccupantTypeEnum", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOpenShell", "IfcOpeningElement", "IfcOpeningElementTypeEnum", "IfcOpeningStandardCase", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientedEdge", "IfcOuterBoundaryCurve", "IfcOutlet", "IfcOutletType", "IfcOutletTypeEnum", "IfcOwnerHistory", "IfcPHMeasure", "IfcParameterValue", "IfcParameterizedProfileDef", "IfcPath", "IfcPcurve", "IfcPerformanceHistory", "IfcPerformanceHistoryTypeEnum", "IfcPermeableCoveringOperationEnum", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPermitTypeEnum", "IfcPerson", "IfcPersonAndOrganization", "IfcPhysicalComplexQuantity", "IfcPhysicalOrVirtualEnum", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPileConstructionEnum", "IfcPileType", "IfcPileTypeEnum", "IfcPipeFitting", "IfcPipeFittingType", "IfcPipeFittingTypeEnum", "IfcPipeSegment", "IfcPipeSegmentType", "IfcPipeSegmentTypeEnum", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlanarForceMeasure", "IfcPlane", "IfcPlaneAngleMeasure", "IfcPlate", "IfcPlateStandardCase", "IfcPlateType", "IfcPlateTypeEnum", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPointOrVertexPoint", "IfcPolyLoop", "IfcPolygonalBoundedHalfSpace", "IfcPolyline", "IfcPort", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPostalAddress", "IfcPowerMeasure", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedItem", "IfcPreDefinedProperties", "IfcPreDefinedPropertySet", "IfcPreDefinedTextFont", "IfcPresentableText", "IfcPresentationItem", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcPresentationStyleSelect", "IfcPressureMeasure", "IfcProcedure", "IfcProcedureType", "IfcProcedureTypeEnum", "IfcProcess", "IfcProcessSelect", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProductRepresentationSelect", "IfcProductSelect", "IfcProfileDef", "IfcProfileProperties", "IfcProfileTypeEnum", "IfcProject", "IfcProjectLibrary", "IfcProjectOrder", "IfcProjectOrderTypeEnum", "IfcProjectedCRS", "IfcProjectedOrTrueLengthEnum", "IfcProjectionElement", "IfcProjectionElementTypeEnum", "IfcProperty", "IfcPropertyAbstraction", "IfcPropertyBoundedValue", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySetDefinitionSelect", "IfcPropertySetDefinitionSet", "IfcPropertySetTemplate", "IfcPropertySetTemplateTypeEnum", "IfcPropertySingleValue", "IfcPropertyTableValue", "IfcPropertyTemplate", "IfcPropertyTemplateDefinition", "IfcProtectiveDevice", "IfcProtectiveDeviceTrippingUnit", "IfcProtectiveDeviceTrippingUnitType", "IfcProtectiveDeviceTrippingUnitTypeEnum", "IfcProtectiveDeviceType", "IfcProtectiveDeviceTypeEnum", "IfcProxy", "IfcPump", "IfcPumpType", "IfcPumpTypeEnum", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantitySet", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRadioActivityMeasure", "IfcRailing", "IfcRailingType", "IfcRailingTypeEnum", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRampFlightTypeEnum", "IfcRampType", "IfcRampTypeEnum", "IfcRatioMeasure", "IfcRationalBSplineCurveWithKnots", "IfcRationalBSplineSurfaceWithKnots", "IfcReal", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcRecurrencePattern", "IfcRecurrenceTypeEnum", "IfcReference", "IfcReflectanceMethodEnum", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingBarRoleEnum", "IfcReinforcingBarSurfaceEnum", "IfcReinforcingBarType", "IfcReinforcingBarTypeEnum", "IfcReinforcingElement", "IfcReinforcingElementType", "IfcReinforcingMesh", "IfcReinforcingMeshType", "IfcReinforcingMeshTypeEnum", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToGroupByFactor", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPortToElement", "IfcRelConnectsPorts", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDeclares", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByObject", "IfcRelDefinesByProperties", "IfcRelDefinesByTemplate", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInterferesElements", "IfcRelNests", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelSpaceBoundary1stLevel", "IfcRelSpaceBoundary2ndLevel", "IfcRelVoidsElement", "IfcRelationship", "IfcReparametrisedCompositeCurveSegment", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcResourceApprovalRelationship", "IfcResourceConstraintRelationship", "IfcResourceLevelRelationship", "IfcResourceObjectSelect", "IfcResourceSelect", "IfcResourceTime", "IfcRevolvedAreaSolid", "IfcRevolvedAreaSolidTapered", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoleEnum", "IfcRoof", "IfcRoofType", "IfcRoofTypeEnum", "IfcRoot", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcRotationalStiffnessSelect", "IfcRoundedRectangleProfileDef", "IfcSIPrefix", "IfcSIUnit", "IfcSIUnitName", "IfcSanitaryTerminal", "IfcSanitaryTerminalType", "IfcSanitaryTerminalTypeEnum", "IfcSchedulingTime", "IfcSectionModulusMeasure", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionTypeEnum", "IfcSectionalAreaIntegralMeasure", "IfcSectionedSpine", "IfcSensor", "IfcSensorType", "IfcSensorTypeEnum", "IfcSequenceEnum", "IfcShadingDevice", "IfcShadingDeviceType", "IfcShadingDeviceTypeEnum", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShearModulusMeasure", "IfcShell", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSimplePropertyTemplate", "IfcSimplePropertyTemplateTypeEnum", "IfcSimpleValue", "IfcSite", "IfcSizeSelect", "IfcSlab", "IfcSlabElementedCase", "IfcSlabStandardCase", "IfcSlabType", "IfcSlabTypeEnum", "IfcSlippageConnectionCondition", "IfcSolarDevice", "IfcSolarDeviceType", "IfcSolarDeviceTypeEnum", "IfcSolidAngleMeasure", "IfcSolidModel", "IfcSolidOrShell", "IfcSoundPowerLevelMeasure", "IfcSoundPowerMeasure", "IfcSoundPressureLevelMeasure", "IfcSoundPressureMeasure", "IfcSpace", "IfcSpaceBoundarySelect", "IfcSpaceHeater", "IfcSpaceHeaterType", "IfcSpaceHeaterTypeEnum", "IfcSpaceType", "IfcSpaceTypeEnum", "IfcSpatialElement", "IfcSpatialElementType", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSpatialZone", "IfcSpatialZoneType", "IfcSpatialZoneTypeEnum", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularHighlightSelect", "IfcSpecularRoughness", "IfcSphere", "IfcStackTerminal", "IfcStackTerminalType", "IfcStackTerminalTypeEnum", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStairFlightTypeEnum", "IfcStairType", "IfcStairTypeEnum", "IfcStateEnum", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralActivityAssignmentSelect", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveAction", "IfcStructuralCurveActivityTypeEnum", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberTypeEnum", "IfcStructuralCurveMemberVarying", "IfcStructuralCurveReaction", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLoad", "IfcStructuralLoadCase", "IfcStructuralLoadConfiguration", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadOrResult", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSurfaceAction", "IfcStructuralSurfaceActivityTypeEnum", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberTypeEnum", "IfcStructuralSurfaceMemberVarying", "IfcStructuralSurfaceReaction", "IfcStyleAssignmentSelect", "IfcStyleModel", "IfcStyledItem", "IfcStyledRepresentation", "IfcSubContractResource", "IfcSubContractResourceType", "IfcSubContractResourceTypeEnum", "IfcSubedge", "IfcSurface", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceFeature", "IfcSurfaceFeatureTypeEnum", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceOrFaceSurface", "IfcSurfaceReinforcementArea", "IfcSurfaceSide", "IfcSurfaceStyle", "IfcSurfaceStyleElementSelect", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptDiskSolidPolygonal", "IfcSweptSurface", "IfcSwitchingDevice", "IfcSwitchingDeviceType", "IfcSwitchingDeviceTypeEnum", "IfcSystem", "IfcSystemFurnitureElement", "IfcSystemFurnitureElementType", "IfcSystemFurnitureElementTypeEnum", "IfcTShapeProfileDef", "IfcTable", "IfcTableColumn", "IfcTableRow", "IfcTank", "IfcTankType", "IfcTankTypeEnum", "IfcTask", "IfcTaskDurationEnum", "IfcTaskTime", "IfcTaskTimeRecurring", "IfcTaskType", "IfcTaskTypeEnum", "IfcTelecomAddress", "IfcTemperatureGradientMeasure", "IfcTemperatureRateOfChangeMeasure", "IfcTendon", "IfcTendonAnchor", "IfcTendonAnchorType", "IfcTendonAnchorTypeEnum", "IfcTendonType", "IfcTendonTypeEnum", "IfcTessellatedFaceSet", "IfcTessellatedItem", "IfcText", "IfcTextAlignment", "IfcTextDecoration", "IfcTextFontName", "IfcTextFontSelect", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextPath", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleTextModel", "IfcTextTransformation", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcTextureVertexList", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTime", "IfcTimeMeasure", "IfcTimeOrRatioSelect", "IfcTimePeriod", "IfcTimeSeries", "IfcTimeSeriesDataTypeEnum", "IfcTimeSeriesValue", "IfcTimeStamp", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcTorqueMeasure", "IfcTransformer", "IfcTransformerType", "IfcTransformerTypeEnum", "IfcTransitionCode", "IfcTranslationalStiffnessSelect", "IfcTransportElement", "IfcTransportElementType", "IfcTransportElementTypeEnum", "IfcTrapeziumProfileDef", "IfcTriangulatedFaceSet", "IfcTrimmedCurve", "IfcTrimmingPreference", "IfcTrimmingSelect", "IfcTubeBundle", "IfcTubeBundleType", "IfcTubeBundleTypeEnum", "IfcTypeObject", "IfcTypeProcess", "IfcTypeProduct", "IfcTypeResource", "IfcURIReference", "IfcUShapeProfileDef", "IfcUnit", "IfcUnitAssignment", "IfcUnitEnum", "IfcUnitaryControlElement", "IfcUnitaryControlElementType", "IfcUnitaryControlElementTypeEnum", "IfcUnitaryEquipment", "IfcUnitaryEquipmentType", "IfcUnitaryEquipmentTypeEnum", "IfcValue", "IfcValve", "IfcValveType", "IfcValveTypeEnum", "IfcVaporPermeabilityMeasure", "IfcVector", "IfcVectorOrDirection", "IfcVertex", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolator", "IfcVibrationIsolatorType", "IfcVibrationIsolatorTypeEnum", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcVoidingFeature", "IfcVoidingFeatureTypeEnum", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWall", "IfcWallElementedCase", "IfcWallStandardCase", "IfcWallType", "IfcWallTypeEnum", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "IfcWarpingStiffnessSelect", "IfcWasteTerminal", "IfcWasteTerminalType", "IfcWasteTerminalTypeEnum", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelOperationEnum", "IfcWindowPanelPositionEnum", "IfcWindowPanelProperties", "IfcWindowStandardCase", "IfcWindowStyle", "IfcWindowStyleConstructionEnum", "IfcWindowStyleOperationEnum", "IfcWindowType", "IfcWindowTypeEnum", "IfcWindowTypePartitioningEnum", "IfcWorkCalendar", "IfcWorkCalendarTypeEnum", "IfcWorkControl", "IfcWorkPlan", "IfcWorkPlanTypeEnum", "IfcWorkSchedule", "IfcWorkScheduleTypeEnum", "IfcWorkTime", "IfcZShapeProfileDef", "IfcZone" }; + if (v < 0 || v >= 1164) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcActionRequest", "IfcActionRequestTypeEnum", "IfcActionSourceTypeEnum", "IfcActionTypeEnum", "IfcActor", "IfcActorRole", "IfcActorSelect", "IfcActuator", "IfcActuatorType", "IfcActuatorTypeEnum", "IfcAddress", "IfcAddressTypeEnum", "IfcAdvancedBrep", "IfcAdvancedBrepWithVoids", "IfcAdvancedFace", "IfcAirTerminal", "IfcAirTerminalBox", "IfcAirTerminalBoxType", "IfcAirTerminalBoxTypeEnum", "IfcAirTerminalType", "IfcAirTerminalTypeEnum", "IfcAirToAirHeatRecovery", "IfcAirToAirHeatRecoveryType", "IfcAirToAirHeatRecoveryTypeEnum", "IfcAlarm", "IfcAlarmType", "IfcAlarmTypeEnum", "IfcAmountOfSubstanceMeasure", "IfcAnalysisModelTypeEnum", "IfcAnalysisTheoryTypeEnum", "IfcAngularVelocityMeasure", "IfcAnnotation", "IfcAnnotationFillArea", "IfcApplication", "IfcAppliedValue", "IfcAppliedValueSelect", "IfcApproval", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcArcIndex", "IfcAreaDensityMeasure", "IfcAreaMeasure", "IfcArithmeticOperatorEnum", "IfcAssemblyPlaceEnum", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAudioVisualAppliance", "IfcAudioVisualApplianceType", "IfcAudioVisualApplianceTypeEnum", "IfcAxis1Placement", "IfcAxis2Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBSplineCurve", "IfcBSplineCurveForm", "IfcBSplineCurveWithKnots", "IfcBSplineSurface", "IfcBSplineSurfaceForm", "IfcBSplineSurfaceWithKnots", "IfcBeam", "IfcBeamStandardCase", "IfcBeamType", "IfcBeamTypeEnum", "IfcBenchmarkEnum", "IfcBendingParameterSelect", "IfcBinary", "IfcBlobTexture", "IfcBlock", "IfcBoiler", "IfcBoilerType", "IfcBoilerTypeEnum", "IfcBoolean", "IfcBooleanClippingResult", "IfcBooleanOperand", "IfcBooleanOperator", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryCurve", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxAlignment", "IfcBoxedHalfSpace", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementPart", "IfcBuildingElementPartType", "IfcBuildingElementPartTypeEnum", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementProxyTypeEnum", "IfcBuildingElementType", "IfcBuildingStorey", "IfcBuildingSystem", "IfcBuildingSystemTypeEnum", "IfcBurner", "IfcBurnerType", "IfcBurnerTypeEnum", "IfcCShapeProfileDef", "IfcCableCarrierFitting", "IfcCableCarrierFittingType", "IfcCableCarrierFittingTypeEnum", "IfcCableCarrierSegment", "IfcCableCarrierSegmentType", "IfcCableCarrierSegmentTypeEnum", "IfcCableFitting", "IfcCableFittingType", "IfcCableFittingTypeEnum", "IfcCableSegment", "IfcCableSegmentType", "IfcCableSegmentTypeEnum", "IfcCardinalPointReference", "IfcCartesianPoint", "IfcCartesianPointList", "IfcCartesianPointList2D", "IfcCartesianPointList3D", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChangeActionEnum", "IfcChiller", "IfcChillerType", "IfcChillerTypeEnum", "IfcChimney", "IfcChimneyType", "IfcChimneyTypeEnum", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcCivilElement", "IfcCivilElementType", "IfcClassification", "IfcClassificationReference", "IfcClassificationReferenceSelect", "IfcClassificationSelect", "IfcClosedShell", "IfcCoil", "IfcCoilType", "IfcCoilTypeEnum", "IfcColour", "IfcColourOrFactor", "IfcColourRgb", "IfcColourRgbList", "IfcColourSpecification", "IfcColumn", "IfcColumnStandardCase", "IfcColumnType", "IfcColumnTypeEnum", "IfcCommunicationsAppliance", "IfcCommunicationsApplianceType", "IfcCommunicationsApplianceTypeEnum", "IfcComplexNumber", "IfcComplexProperty", "IfcComplexPropertyTemplate", "IfcComplexPropertyTemplateTypeEnum", "IfcCompositeCurve", "IfcCompositeCurveOnSurface", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompoundPlaneAngleMeasure", "IfcCompressor", "IfcCompressorType", "IfcCompressorTypeEnum", "IfcCondenser", "IfcCondenserType", "IfcCondenserTypeEnum", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionSurfaceGeometry", "IfcConnectionTypeEnum", "IfcConnectionVolumeGeometry", "IfcConstraint", "IfcConstraintEnum", "IfcConstructionEquipmentResource", "IfcConstructionEquipmentResourceType", "IfcConstructionEquipmentResourceTypeEnum", "IfcConstructionMaterialResource", "IfcConstructionMaterialResourceType", "IfcConstructionMaterialResourceTypeEnum", "IfcConstructionProductResource", "IfcConstructionProductResourceType", "IfcConstructionProductResourceTypeEnum", "IfcConstructionResource", "IfcConstructionResourceType", "IfcContext", "IfcContextDependentMeasure", "IfcContextDependentUnit", "IfcControl", "IfcController", "IfcControllerType", "IfcControllerTypeEnum", "IfcConversionBasedUnit", "IfcConversionBasedUnitWithOffset", "IfcCooledBeam", "IfcCooledBeamType", "IfcCooledBeamTypeEnum", "IfcCoolingTower", "IfcCoolingTowerType", "IfcCoolingTowerTypeEnum", "IfcCoordinateOperation", "IfcCoordinateReferenceSystem", "IfcCoordinateReferenceSystemSelect", "IfcCostItem", "IfcCostItemTypeEnum", "IfcCostSchedule", "IfcCostScheduleTypeEnum", "IfcCostValue", "IfcCountMeasure", "IfcCovering", "IfcCoveringType", "IfcCoveringTypeEnum", "IfcCrewResource", "IfcCrewResourceType", "IfcCrewResourceTypeEnum", "IfcCsgPrimitive3D", "IfcCsgSelect", "IfcCsgSolid", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurtainWallTypeEnum", "IfcCurvatureMeasure", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveBoundedSurface", "IfcCurveFontOrScaledCurveFontSelect", "IfcCurveInterpolationEnum", "IfcCurveOnSurface", "IfcCurveOrEdgeCurve", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcCurveStyleFontSelect", "IfcCylindricalSurface", "IfcDamper", "IfcDamperType", "IfcDamperTypeEnum", "IfcDataOriginEnum", "IfcDate", "IfcDateTime", "IfcDayInMonthNumber", "IfcDayInWeekNumber", "IfcDefinitionSelect", "IfcDerivedMeasureValue", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDerivedUnitEnum", "IfcDescriptiveMeasure", "IfcDimensionCount", "IfcDimensionalExponents", "IfcDirection", "IfcDirectionSenseEnum", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDiscreteAccessoryTypeEnum", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionChamberElementTypeEnum", "IfcDistributionCircuit", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDistributionPortTypeEnum", "IfcDistributionSystem", "IfcDistributionSystemEnum", "IfcDocumentConfidentialityEnum", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDocumentSelect", "IfcDocumentStatusEnum", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelOperationEnum", "IfcDoorPanelPositionEnum", "IfcDoorPanelProperties", "IfcDoorStandardCase", "IfcDoorStyle", "IfcDoorStyleConstructionEnum", "IfcDoorStyleOperationEnum", "IfcDoorType", "IfcDoorTypeEnum", "IfcDoorTypeOperationEnum", "IfcDoseEquivalentMeasure", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDuctFitting", "IfcDuctFittingType", "IfcDuctFittingTypeEnum", "IfcDuctSegment", "IfcDuctSegmentType", "IfcDuctSegmentTypeEnum", "IfcDuctSilencer", "IfcDuctSilencerType", "IfcDuctSilencerTypeEnum", "IfcDuration", "IfcDynamicViscosityMeasure", "IfcEdge", "IfcEdgeCurve", "IfcEdgeLoop", "IfcElectricAppliance", "IfcElectricApplianceType", "IfcElectricApplianceTypeEnum", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentMeasure", "IfcElectricDistributionBoard", "IfcElectricDistributionBoardType", "IfcElectricDistributionBoardTypeEnum", "IfcElectricFlowStorageDevice", "IfcElectricFlowStorageDeviceType", "IfcElectricFlowStorageDeviceTypeEnum", "IfcElectricGenerator", "IfcElectricGeneratorType", "IfcElectricGeneratorTypeEnum", "IfcElectricMotor", "IfcElectricMotorType", "IfcElectricMotorTypeEnum", "IfcElectricResistanceMeasure", "IfcElectricTimeControl", "IfcElectricTimeControlType", "IfcElectricTimeControlTypeEnum", "IfcElectricVoltageMeasure", "IfcElement", "IfcElementAssembly", "IfcElementAssemblyType", "IfcElementAssemblyTypeEnum", "IfcElementComponent", "IfcElementComponentType", "IfcElementCompositionEnum", "IfcElementQuantity", "IfcElementType", "IfcElementarySurface", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEnergyMeasure", "IfcEngine", "IfcEngineType", "IfcEngineTypeEnum", "IfcEvaporativeCooler", "IfcEvaporativeCoolerType", "IfcEvaporativeCoolerTypeEnum", "IfcEvaporator", "IfcEvaporatorType", "IfcEvaporatorTypeEnum", "IfcEvent", "IfcEventTime", "IfcEventTriggerTypeEnum", "IfcEventType", "IfcEventTypeEnum", "IfcExtendedProperties", "IfcExternalInformation", "IfcExternalReference", "IfcExternalReferenceRelationship", "IfcExternalSpatialElement", "IfcExternalSpatialElementTypeEnum", "IfcExternalSpatialStructureElement", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedTextFont", "IfcExtrudedAreaSolid", "IfcExtrudedAreaSolidTapered", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFan", "IfcFanType", "IfcFanTypeEnum", "IfcFastener", "IfcFastenerType", "IfcFastenerTypeEnum", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTiles", "IfcFillStyleSelect", "IfcFilter", "IfcFilterType", "IfcFilterTypeEnum", "IfcFireSuppressionTerminal", "IfcFireSuppressionTerminalType", "IfcFireSuppressionTerminalTypeEnum", "IfcFixedReferenceSweptAreaSolid", "IfcFlowController", "IfcFlowControllerType", "IfcFlowDirectionEnum", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrument", "IfcFlowInstrumentType", "IfcFlowInstrumentTypeEnum", "IfcFlowMeter", "IfcFlowMeterType", "IfcFlowMeterTypeEnum", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFontStyle", "IfcFontVariant", "IfcFontWeight", "IfcFooting", "IfcFootingType", "IfcFootingTypeEnum", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurniture", "IfcFurnitureType", "IfcFurnitureTypeEnum", "IfcGeographicElement", "IfcGeographicElementType", "IfcGeographicElementTypeEnum", "IfcGeometricCurveSet", "IfcGeometricProjectionEnum", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGeometricSetSelect", "IfcGlobalOrLocalEnum", "IfcGloballyUniqueId", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGridPlacementDirectionSelect", "IfcGridTypeEnum", "IfcGroup", "IfcHalfSpaceSolid", "IfcHatchLineDistanceSelect", "IfcHeatExchanger", "IfcHeatExchangerType", "IfcHeatExchangerTypeEnum", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcHumidifier", "IfcHumidifierType", "IfcHumidifierTypeEnum", "IfcIShapeProfileDef", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcImageTexture", "IfcIndexedColourMap", "IfcIndexedPolyCurve", "IfcIndexedTextureMap", "IfcIndexedTriangleTextureMap", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcInterceptor", "IfcInterceptorType", "IfcInterceptorTypeEnum", "IfcInternalOrExternalEnum", "IfcInventory", "IfcInventoryTypeEnum", "IfcIonConcentrationMeasure", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcIsothermalMoistureCapacityMeasure", "IfcJunctionBox", "IfcJunctionBoxType", "IfcJunctionBoxTypeEnum", "IfcKinematicViscosityMeasure", "IfcKnotType", "IfcLShapeProfileDef", "IfcLabel", "IfcLaborResource", "IfcLaborResourceType", "IfcLaborResourceTypeEnum", "IfcLagTime", "IfcLamp", "IfcLampType", "IfcLampTypeEnum", "IfcLanguageId", "IfcLayerSetDirectionEnum", "IfcLayeredItem", "IfcLengthMeasure", "IfcLibraryInformation", "IfcLibraryReference", "IfcLibrarySelect", "IfcLightDistributionCurveEnum", "IfcLightDistributionData", "IfcLightDistributionDataSourceSelect", "IfcLightEmissionSourceEnum", "IfcLightFixture", "IfcLightFixtureType", "IfcLightFixtureTypeEnum", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLineIndex", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLoadGroupTypeEnum", "IfcLocalPlacement", "IfcLogical", "IfcLogicalOperatorEnum", "IfcLoop", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcManifoldSolidBrep", "IfcMapConversion", "IfcMappedItem", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialConstituent", "IfcMaterialConstituentSet", "IfcMaterialDefinition", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialLayerWithOffsets", "IfcMaterialList", "IfcMaterialProfile", "IfcMaterialProfileSet", "IfcMaterialProfileSetUsage", "IfcMaterialProfileSetUsageTapering", "IfcMaterialProfileWithOffsets", "IfcMaterialProperties", "IfcMaterialRelationship", "IfcMaterialSelect", "IfcMaterialUsageDefinition", "IfcMeasureValue", "IfcMeasureWithUnit", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMechanicalFastenerTypeEnum", "IfcMedicalDevice", "IfcMedicalDeviceType", "IfcMedicalDeviceTypeEnum", "IfcMember", "IfcMemberStandardCase", "IfcMemberType", "IfcMemberTypeEnum", "IfcMetric", "IfcMetricValueSelect", "IfcMirroredProfileDef", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionSelect", "IfcModulusOfSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionSelect", "IfcModulusOfTranslationalSubgradeReactionSelect", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcMonetaryUnit", "IfcMonthInYearNumber", "IfcMotorConnection", "IfcMotorConnectionType", "IfcMotorConnectionTypeEnum", "IfcNamedUnit", "IfcNonNegativeLengthMeasure", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcObject", "IfcObjectDefinition", "IfcObjectPlacement", "IfcObjectReferenceSelect", "IfcObjectTypeEnum", "IfcObjective", "IfcObjectiveEnum", "IfcOccupant", "IfcOccupantTypeEnum", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOpenShell", "IfcOpeningElement", "IfcOpeningElementTypeEnum", "IfcOpeningStandardCase", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientedEdge", "IfcOuterBoundaryCurve", "IfcOutlet", "IfcOutletType", "IfcOutletTypeEnum", "IfcOwnerHistory", "IfcPHMeasure", "IfcParameterValue", "IfcParameterizedProfileDef", "IfcPath", "IfcPcurve", "IfcPerformanceHistory", "IfcPerformanceHistoryTypeEnum", "IfcPermeableCoveringOperationEnum", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPermitTypeEnum", "IfcPerson", "IfcPersonAndOrganization", "IfcPhysicalComplexQuantity", "IfcPhysicalOrVirtualEnum", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPileConstructionEnum", "IfcPileType", "IfcPileTypeEnum", "IfcPipeFitting", "IfcPipeFittingType", "IfcPipeFittingTypeEnum", "IfcPipeSegment", "IfcPipeSegmentType", "IfcPipeSegmentTypeEnum", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlanarForceMeasure", "IfcPlane", "IfcPlaneAngleMeasure", "IfcPlate", "IfcPlateStandardCase", "IfcPlateType", "IfcPlateTypeEnum", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPointOrVertexPoint", "IfcPolyLoop", "IfcPolygonalBoundedHalfSpace", "IfcPolyline", "IfcPort", "IfcPositiveInteger", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPostalAddress", "IfcPowerMeasure", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedItem", "IfcPreDefinedProperties", "IfcPreDefinedPropertySet", "IfcPreDefinedTextFont", "IfcPresentableText", "IfcPresentationItem", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcPresentationStyleSelect", "IfcPressureMeasure", "IfcProcedure", "IfcProcedureType", "IfcProcedureTypeEnum", "IfcProcess", "IfcProcessSelect", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProductRepresentationSelect", "IfcProductSelect", "IfcProfileDef", "IfcProfileProperties", "IfcProfileTypeEnum", "IfcProject", "IfcProjectLibrary", "IfcProjectOrder", "IfcProjectOrderTypeEnum", "IfcProjectedCRS", "IfcProjectedOrTrueLengthEnum", "IfcProjectionElement", "IfcProjectionElementTypeEnum", "IfcProperty", "IfcPropertyAbstraction", "IfcPropertyBoundedValue", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySetDefinitionSelect", "IfcPropertySetDefinitionSet", "IfcPropertySetTemplate", "IfcPropertySetTemplateTypeEnum", "IfcPropertySingleValue", "IfcPropertyTableValue", "IfcPropertyTemplate", "IfcPropertyTemplateDefinition", "IfcProtectiveDevice", "IfcProtectiveDeviceTrippingUnit", "IfcProtectiveDeviceTrippingUnitType", "IfcProtectiveDeviceTrippingUnitTypeEnum", "IfcProtectiveDeviceType", "IfcProtectiveDeviceTypeEnum", "IfcProxy", "IfcPump", "IfcPumpType", "IfcPumpTypeEnum", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantitySet", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRadioActivityMeasure", "IfcRailing", "IfcRailingType", "IfcRailingTypeEnum", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRampFlightTypeEnum", "IfcRampType", "IfcRampTypeEnum", "IfcRatioMeasure", "IfcRationalBSplineCurveWithKnots", "IfcRationalBSplineSurfaceWithKnots", "IfcReal", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcRecurrencePattern", "IfcRecurrenceTypeEnum", "IfcReference", "IfcReflectanceMethodEnum", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingBarRoleEnum", "IfcReinforcingBarSurfaceEnum", "IfcReinforcingBarType", "IfcReinforcingBarTypeEnum", "IfcReinforcingElement", "IfcReinforcingElementType", "IfcReinforcingMesh", "IfcReinforcingMeshType", "IfcReinforcingMeshTypeEnum", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToGroupByFactor", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPortToElement", "IfcRelConnectsPorts", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDeclares", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByObject", "IfcRelDefinesByProperties", "IfcRelDefinesByTemplate", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInterferesElements", "IfcRelNests", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelSpaceBoundary1stLevel", "IfcRelSpaceBoundary2ndLevel", "IfcRelVoidsElement", "IfcRelationship", "IfcReparametrisedCompositeCurveSegment", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcResourceApprovalRelationship", "IfcResourceConstraintRelationship", "IfcResourceLevelRelationship", "IfcResourceObjectSelect", "IfcResourceSelect", "IfcResourceTime", "IfcRevolvedAreaSolid", "IfcRevolvedAreaSolidTapered", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoleEnum", "IfcRoof", "IfcRoofType", "IfcRoofTypeEnum", "IfcRoot", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcRotationalStiffnessSelect", "IfcRoundedRectangleProfileDef", "IfcSIPrefix", "IfcSIUnit", "IfcSIUnitName", "IfcSanitaryTerminal", "IfcSanitaryTerminalType", "IfcSanitaryTerminalTypeEnum", "IfcSchedulingTime", "IfcSectionModulusMeasure", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionTypeEnum", "IfcSectionalAreaIntegralMeasure", "IfcSectionedSpine", "IfcSegmentIndexSelect", "IfcSensor", "IfcSensorType", "IfcSensorTypeEnum", "IfcSequenceEnum", "IfcShadingDevice", "IfcShadingDeviceType", "IfcShadingDeviceTypeEnum", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShearModulusMeasure", "IfcShell", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSimplePropertyTemplate", "IfcSimplePropertyTemplateTypeEnum", "IfcSimpleValue", "IfcSite", "IfcSizeSelect", "IfcSlab", "IfcSlabElementedCase", "IfcSlabStandardCase", "IfcSlabType", "IfcSlabTypeEnum", "IfcSlippageConnectionCondition", "IfcSolarDevice", "IfcSolarDeviceType", "IfcSolarDeviceTypeEnum", "IfcSolidAngleMeasure", "IfcSolidModel", "IfcSolidOrShell", "IfcSoundPowerLevelMeasure", "IfcSoundPowerMeasure", "IfcSoundPressureLevelMeasure", "IfcSoundPressureMeasure", "IfcSpace", "IfcSpaceBoundarySelect", "IfcSpaceHeater", "IfcSpaceHeaterType", "IfcSpaceHeaterTypeEnum", "IfcSpaceType", "IfcSpaceTypeEnum", "IfcSpatialElement", "IfcSpatialElementType", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSpatialZone", "IfcSpatialZoneType", "IfcSpatialZoneTypeEnum", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularHighlightSelect", "IfcSpecularRoughness", "IfcSphere", "IfcStackTerminal", "IfcStackTerminalType", "IfcStackTerminalTypeEnum", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStairFlightTypeEnum", "IfcStairType", "IfcStairTypeEnum", "IfcStateEnum", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralActivityAssignmentSelect", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveAction", "IfcStructuralCurveActivityTypeEnum", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberTypeEnum", "IfcStructuralCurveMemberVarying", "IfcStructuralCurveReaction", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLoad", "IfcStructuralLoadCase", "IfcStructuralLoadConfiguration", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadOrResult", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSurfaceAction", "IfcStructuralSurfaceActivityTypeEnum", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberTypeEnum", "IfcStructuralSurfaceMemberVarying", "IfcStructuralSurfaceReaction", "IfcStyleAssignmentSelect", "IfcStyleModel", "IfcStyledItem", "IfcStyledRepresentation", "IfcSubContractResource", "IfcSubContractResourceType", "IfcSubContractResourceTypeEnum", "IfcSubedge", "IfcSurface", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceFeature", "IfcSurfaceFeatureTypeEnum", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceOrFaceSurface", "IfcSurfaceReinforcementArea", "IfcSurfaceSide", "IfcSurfaceStyle", "IfcSurfaceStyleElementSelect", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptDiskSolidPolygonal", "IfcSweptSurface", "IfcSwitchingDevice", "IfcSwitchingDeviceType", "IfcSwitchingDeviceTypeEnum", "IfcSystem", "IfcSystemFurnitureElement", "IfcSystemFurnitureElementType", "IfcSystemFurnitureElementTypeEnum", "IfcTShapeProfileDef", "IfcTable", "IfcTableColumn", "IfcTableRow", "IfcTank", "IfcTankType", "IfcTankTypeEnum", "IfcTask", "IfcTaskDurationEnum", "IfcTaskTime", "IfcTaskTimeRecurring", "IfcTaskType", "IfcTaskTypeEnum", "IfcTelecomAddress", "IfcTemperatureGradientMeasure", "IfcTemperatureRateOfChangeMeasure", "IfcTendon", "IfcTendonAnchor", "IfcTendonAnchorType", "IfcTendonAnchorTypeEnum", "IfcTendonType", "IfcTendonTypeEnum", "IfcTessellatedFaceSet", "IfcTessellatedItem", "IfcText", "IfcTextAlignment", "IfcTextDecoration", "IfcTextFontName", "IfcTextFontSelect", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextPath", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleTextModel", "IfcTextTransformation", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcTextureVertexList", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTime", "IfcTimeMeasure", "IfcTimeOrRatioSelect", "IfcTimePeriod", "IfcTimeSeries", "IfcTimeSeriesDataTypeEnum", "IfcTimeSeriesValue", "IfcTimeStamp", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcTorqueMeasure", "IfcTransformer", "IfcTransformerType", "IfcTransformerTypeEnum", "IfcTransitionCode", "IfcTranslationalStiffnessSelect", "IfcTransportElement", "IfcTransportElementType", "IfcTransportElementTypeEnum", "IfcTrapeziumProfileDef", "IfcTriangulatedFaceSet", "IfcTrimmedCurve", "IfcTrimmingPreference", "IfcTrimmingSelect", "IfcTubeBundle", "IfcTubeBundleType", "IfcTubeBundleTypeEnum", "IfcTypeObject", "IfcTypeProcess", "IfcTypeProduct", "IfcTypeResource", "IfcURIReference", "IfcUShapeProfileDef", "IfcUnit", "IfcUnitAssignment", "IfcUnitEnum", "IfcUnitaryControlElement", "IfcUnitaryControlElementType", "IfcUnitaryControlElementTypeEnum", "IfcUnitaryEquipment", "IfcUnitaryEquipmentType", "IfcUnitaryEquipmentTypeEnum", "IfcValue", "IfcValve", "IfcValveType", "IfcValveTypeEnum", "IfcVaporPermeabilityMeasure", "IfcVector", "IfcVectorOrDirection", "IfcVertex", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolator", "IfcVibrationIsolatorType", "IfcVibrationIsolatorTypeEnum", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcVoidingFeature", "IfcVoidingFeatureTypeEnum", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWall", "IfcWallElementedCase", "IfcWallStandardCase", "IfcWallType", "IfcWallTypeEnum", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "IfcWarpingStiffnessSelect", "IfcWasteTerminal", "IfcWasteTerminalType", "IfcWasteTerminalTypeEnum", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelOperationEnum", "IfcWindowPanelPositionEnum", "IfcWindowPanelProperties", "IfcWindowStandardCase", "IfcWindowStyle", "IfcWindowStyleConstructionEnum", "IfcWindowStyleOperationEnum", "IfcWindowType", "IfcWindowTypeEnum", "IfcWindowTypePartitioningEnum", "IfcWorkCalendar", "IfcWorkCalendarTypeEnum", "IfcWorkControl", "IfcWorkPlan", "IfcWorkPlanTypeEnum", "IfcWorkSchedule", "IfcWorkScheduleTypeEnum", "IfcWorkTime", "IfcZShapeProfileDef", "IfcZone" }; return names[v]; } @@ -986,6 +992,7 @@ void Ifc4::InitStringMap() { string_map["IFCARBITRARYCLOSEDPROFILEDEF" ] = Type::IfcArbitraryClosedProfileDef; string_map["IFCARBITRARYOPENPROFILEDEF" ] = Type::IfcArbitraryOpenProfileDef; string_map["IFCARBITRARYPROFILEDEFWITHVOIDS" ] = Type::IfcArbitraryProfileDefWithVoids; + string_map["IFCARCINDEX" ] = Type::IfcArcIndex; string_map["IFCAREADENSITYMEASURE" ] = Type::IfcAreaDensityMeasure; string_map["IFCAREAMEASURE" ] = Type::IfcAreaMeasure; string_map["IFCARITHMETICOPERATORENUM" ] = Type::IfcArithmeticOperatorEnum; @@ -1011,6 +1018,7 @@ void Ifc4::InitStringMap() { string_map["IFCBEAMTYPEENUM" ] = Type::IfcBeamTypeEnum; string_map["IFCBENCHMARKENUM" ] = Type::IfcBenchmarkEnum; string_map["IFCBENDINGPARAMETERSELECT" ] = Type::IfcBendingParameterSelect; + string_map["IFCBINARY" ] = Type::IfcBinary; string_map["IFCBLOBTEXTURE" ] = Type::IfcBlobTexture; string_map["IFCBLOCK" ] = Type::IfcBlock; string_map["IFCBOILER" ] = Type::IfcBoiler; @@ -1063,6 +1071,7 @@ void Ifc4::InitStringMap() { string_map["IFCCARDINALPOINTREFERENCE" ] = Type::IfcCardinalPointReference; string_map["IFCCARTESIANPOINT" ] = Type::IfcCartesianPoint; string_map["IFCCARTESIANPOINTLIST" ] = Type::IfcCartesianPointList; + string_map["IFCCARTESIANPOINTLIST2D" ] = Type::IfcCartesianPointList2D; string_map["IFCCARTESIANPOINTLIST3D" ] = Type::IfcCartesianPointList3D; string_map["IFCCARTESIANTRANSFORMATIONOPERATOR" ] = Type::IfcCartesianTransformationOperator; string_map["IFCCARTESIANTRANSFORMATIONOPERATOR2D" ] = Type::IfcCartesianTransformationOperator2D; @@ -1421,6 +1430,7 @@ void Ifc4::InitStringMap() { string_map["IFCILLUMINANCEMEASURE" ] = Type::IfcIlluminanceMeasure; string_map["IFCIMAGETEXTURE" ] = Type::IfcImageTexture; string_map["IFCINDEXEDCOLOURMAP" ] = Type::IfcIndexedColourMap; + string_map["IFCINDEXEDPOLYCURVE" ] = Type::IfcIndexedPolyCurve; string_map["IFCINDEXEDTEXTUREMAP" ] = Type::IfcIndexedTextureMap; string_map["IFCINDEXEDTRIANGLETEXTUREMAP" ] = Type::IfcIndexedTriangleTextureMap; string_map["IFCINDUCTANCEMEASURE" ] = Type::IfcInductanceMeasure; @@ -1472,6 +1482,7 @@ void Ifc4::InitStringMap() { string_map["IFCLIGHTSOURCEPOSITIONAL" ] = Type::IfcLightSourcePositional; string_map["IFCLIGHTSOURCESPOT" ] = Type::IfcLightSourceSpot; string_map["IFCLINE" ] = Type::IfcLine; + string_map["IFCLINEINDEX" ] = Type::IfcLineIndex; string_map["IFCLINEARFORCEMEASURE" ] = Type::IfcLinearForceMeasure; string_map["IFCLINEARMOMENTMEASURE" ] = Type::IfcLinearMomentMeasure; string_map["IFCLINEARSTIFFNESSMEASURE" ] = Type::IfcLinearStiffnessMeasure; @@ -1618,6 +1629,7 @@ void Ifc4::InitStringMap() { string_map["IFCPOLYGONALBOUNDEDHALFSPACE" ] = Type::IfcPolygonalBoundedHalfSpace; string_map["IFCPOLYLINE" ] = Type::IfcPolyline; string_map["IFCPORT" ] = Type::IfcPort; + string_map["IFCPOSITIVEINTEGER" ] = Type::IfcPositiveInteger; string_map["IFCPOSITIVELENGTHMEASURE" ] = Type::IfcPositiveLengthMeasure; string_map["IFCPOSITIVEPLANEANGLEMEASURE" ] = Type::IfcPositivePlaneAngleMeasure; string_map["IFCPOSITIVERATIOMEASURE" ] = Type::IfcPositiveRatioMeasure; @@ -1816,6 +1828,7 @@ void Ifc4::InitStringMap() { string_map["IFCSECTIONTYPEENUM" ] = Type::IfcSectionTypeEnum; string_map["IFCSECTIONALAREAINTEGRALMEASURE" ] = Type::IfcSectionalAreaIntegralMeasure; string_map["IFCSECTIONEDSPINE" ] = Type::IfcSectionedSpine; + string_map["IFCSEGMENTINDEXSELECT" ] = Type::IfcSegmentIndexSelect; string_map["IFCSENSOR" ] = Type::IfcSensor; string_map["IFCSENSORTYPE" ] = Type::IfcSensorType; string_map["IFCSENSORTYPEENUM" ] = Type::IfcSensorTypeEnum; @@ -2110,7 +2123,7 @@ Type::Enum Type::FromString(const std::string& s) { } Type::Enum Type::Parent(Enum v){ - if (v < 0 || v >= 1157) return (Enum)-1; + if (v < 0 || v >= 1164) return (Enum)-1; if(v==IfcActionRequest ) { return IfcControl; } if(v==IfcActor ) { return IfcObject; } if(v==IfcActuator ) { return IfcDistributionControlElement; } @@ -2183,6 +2196,7 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcCableSegmentType ) { return IfcFlowSegmentType; } if(v==IfcCartesianPoint ) { return IfcPoint; } if(v==IfcCartesianPointList ) { return IfcGeometricRepresentationItem; } + if(v==IfcCartesianPointList2D ) { return IfcCartesianPointList; } if(v==IfcCartesianPointList3D ) { return IfcCartesianPointList; } if(v==IfcCartesianTransformationOperator ) { return IfcGeometricRepresentationItem; } if(v==IfcCartesianTransformationOperator2D ) { return IfcCartesianTransformationOperator; } @@ -2412,6 +2426,7 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcIShapeProfileDef ) { return IfcParameterizedProfileDef; } if(v==IfcImageTexture ) { return IfcSurfaceTexture; } if(v==IfcIndexedColourMap ) { return IfcPresentationItem; } + if(v==IfcIndexedPolyCurve ) { return IfcBoundedCurve; } if(v==IfcIndexedTextureMap ) { return IfcTextureCoordinate; } if(v==IfcIndexedTriangleTextureMap ) { return IfcIndexedTextureMap; } if(v==IfcInterceptor ) { return IfcFlowTreatmentDevice; } @@ -2822,7 +2837,7 @@ Type::Enum Type::Parent(Enum v){ } bool Type::IsSimple(Enum v) { - return v == Type::IfcAbsorbedDoseMeasure || v == Type::IfcAccelerationMeasure || v == Type::IfcAmountOfSubstanceMeasure || v == Type::IfcAngularVelocityMeasure || v == Type::IfcAreaDensityMeasure || v == Type::IfcAreaMeasure || v == Type::IfcBoolean || v == Type::IfcColour || v == Type::IfcComplexNumber || v == Type::IfcCompoundPlaneAngleMeasure || v == Type::IfcContextDependentMeasure || v == Type::IfcCountMeasure || v == Type::IfcCurvatureMeasure || v == Type::IfcCurveStyleFontSelect || v == Type::IfcDate || v == Type::IfcDateTime || v == Type::IfcDerivedMeasureValue || v == Type::IfcDescriptiveMeasure || v == Type::IfcDoseEquivalentMeasure || v == Type::IfcDuration || v == Type::IfcDynamicViscosityMeasure || v == Type::IfcElectricCapacitanceMeasure || v == Type::IfcElectricChargeMeasure || v == Type::IfcElectricConductanceMeasure || v == Type::IfcElectricCurrentMeasure || v == Type::IfcElectricResistanceMeasure || v == Type::IfcElectricVoltageMeasure || v == Type::IfcEnergyMeasure || v == Type::IfcForceMeasure || v == Type::IfcFrequencyMeasure || v == Type::IfcHeatFluxDensityMeasure || v == Type::IfcHeatingValueMeasure || v == Type::IfcIdentifier || v == Type::IfcIlluminanceMeasure || v == Type::IfcInductanceMeasure || v == Type::IfcInteger || v == Type::IfcIntegerCountRateMeasure || v == Type::IfcIonConcentrationMeasure || v == Type::IfcIsothermalMoistureCapacityMeasure || v == Type::IfcKinematicViscosityMeasure || v == Type::IfcLabel || v == Type::IfcLengthMeasure || v == Type::IfcLinearForceMeasure || v == Type::IfcLinearMomentMeasure || v == Type::IfcLinearStiffnessMeasure || v == Type::IfcLinearVelocityMeasure || v == Type::IfcLogical || v == Type::IfcLuminousFluxMeasure || v == Type::IfcLuminousIntensityDistributionMeasure || v == Type::IfcLuminousIntensityMeasure || v == Type::IfcMagneticFluxDensityMeasure || v == Type::IfcMagneticFluxMeasure || v == Type::IfcMassDensityMeasure || v == Type::IfcMassFlowRateMeasure || v == Type::IfcMassMeasure || v == Type::IfcMassPerLengthMeasure || v == Type::IfcMeasureValue || v == Type::IfcModulusOfElasticityMeasure || v == Type::IfcModulusOfLinearSubgradeReactionMeasure || v == Type::IfcModulusOfRotationalSubgradeReactionMeasure || v == Type::IfcModulusOfSubgradeReactionMeasure || v == Type::IfcMoistureDiffusivityMeasure || v == Type::IfcMolecularWeightMeasure || v == Type::IfcMomentOfInertiaMeasure || v == Type::IfcMonetaryMeasure || v == Type::IfcNonNegativeLengthMeasure || v == Type::IfcNormalisedRatioMeasure || v == Type::IfcNullStyle || v == Type::IfcNumericMeasure || v == Type::IfcPHMeasure || v == Type::IfcParameterValue || v == Type::IfcPlanarForceMeasure || v == Type::IfcPlaneAngleMeasure || v == Type::IfcPositiveLengthMeasure || v == Type::IfcPositivePlaneAngleMeasure || v == Type::IfcPositiveRatioMeasure || v == Type::IfcPowerMeasure || v == Type::IfcPressureMeasure || v == Type::IfcPropertySetDefinitionSet || v == Type::IfcRadioActivityMeasure || v == Type::IfcRatioMeasure || v == Type::IfcReal || v == Type::IfcRotationalFrequencyMeasure || v == Type::IfcRotationalMassMeasure || v == Type::IfcRotationalStiffnessMeasure || v == Type::IfcSectionModulusMeasure || v == Type::IfcSectionalAreaIntegralMeasure || v == Type::IfcShearModulusMeasure || v == Type::IfcSimpleValue || v == Type::IfcSolidAngleMeasure || v == Type::IfcSoundPowerLevelMeasure || v == Type::IfcSoundPowerMeasure || v == Type::IfcSoundPressureLevelMeasure || v == Type::IfcSoundPressureMeasure || v == Type::IfcSpecificHeatCapacityMeasure || v == Type::IfcSpecularExponent || v == Type::IfcSpecularRoughness || v == Type::IfcTemperatureGradientMeasure || v == Type::IfcTemperatureRateOfChangeMeasure || v == Type::IfcText || v == Type::IfcThermalAdmittanceMeasure || v == Type::IfcThermalConductivityMeasure || v == Type::IfcThermalExpansionCoefficientMeasure || v == Type::IfcThermalResistanceMeasure || v == Type::IfcThermalTransmittanceMeasure || v == Type::IfcThermodynamicTemperatureMeasure || v == Type::IfcTime || v == Type::IfcTimeMeasure || v == Type::IfcTimeStamp || v == Type::IfcTorqueMeasure || v == Type::IfcValue || v == Type::IfcVaporPermeabilityMeasure || v == Type::IfcVolumeMeasure || v == Type::IfcVolumetricFlowRateMeasure || v == Type::IfcWarpingConstantMeasure || v == Type::IfcWarpingMomentMeasure; + return v == Type::IfcAbsorbedDoseMeasure || v == Type::IfcAccelerationMeasure || v == Type::IfcAmountOfSubstanceMeasure || v == Type::IfcAngularVelocityMeasure || v == Type::IfcArcIndex || v == Type::IfcAreaDensityMeasure || v == Type::IfcAreaMeasure || v == Type::IfcBoolean || v == Type::IfcColour || v == Type::IfcComplexNumber || v == Type::IfcCompoundPlaneAngleMeasure || v == Type::IfcContextDependentMeasure || v == Type::IfcCountMeasure || v == Type::IfcCurvatureMeasure || v == Type::IfcCurveStyleFontSelect || v == Type::IfcDate || v == Type::IfcDateTime || v == Type::IfcDerivedMeasureValue || v == Type::IfcDescriptiveMeasure || v == Type::IfcDoseEquivalentMeasure || v == Type::IfcDuration || v == Type::IfcDynamicViscosityMeasure || v == Type::IfcElectricCapacitanceMeasure || v == Type::IfcElectricChargeMeasure || v == Type::IfcElectricConductanceMeasure || v == Type::IfcElectricCurrentMeasure || v == Type::IfcElectricResistanceMeasure || v == Type::IfcElectricVoltageMeasure || v == Type::IfcEnergyMeasure || v == Type::IfcForceMeasure || v == Type::IfcFrequencyMeasure || v == Type::IfcHeatFluxDensityMeasure || v == Type::IfcHeatingValueMeasure || v == Type::IfcIdentifier || v == Type::IfcIlluminanceMeasure || v == Type::IfcInductanceMeasure || v == Type::IfcInteger || v == Type::IfcIntegerCountRateMeasure || v == Type::IfcIonConcentrationMeasure || v == Type::IfcIsothermalMoistureCapacityMeasure || v == Type::IfcKinematicViscosityMeasure || v == Type::IfcLabel || v == Type::IfcLengthMeasure || v == Type::IfcLineIndex || v == Type::IfcLinearForceMeasure || v == Type::IfcLinearMomentMeasure || v == Type::IfcLinearStiffnessMeasure || v == Type::IfcLinearVelocityMeasure || v == Type::IfcLogical || v == Type::IfcLuminousFluxMeasure || v == Type::IfcLuminousIntensityDistributionMeasure || v == Type::IfcLuminousIntensityMeasure || v == Type::IfcMagneticFluxDensityMeasure || v == Type::IfcMagneticFluxMeasure || v == Type::IfcMassDensityMeasure || v == Type::IfcMassFlowRateMeasure || v == Type::IfcMassMeasure || v == Type::IfcMassPerLengthMeasure || v == Type::IfcMeasureValue || v == Type::IfcModulusOfElasticityMeasure || v == Type::IfcModulusOfLinearSubgradeReactionMeasure || v == Type::IfcModulusOfRotationalSubgradeReactionMeasure || v == Type::IfcModulusOfSubgradeReactionMeasure || v == Type::IfcMoistureDiffusivityMeasure || v == Type::IfcMolecularWeightMeasure || v == Type::IfcMomentOfInertiaMeasure || v == Type::IfcMonetaryMeasure || v == Type::IfcNonNegativeLengthMeasure || v == Type::IfcNormalisedRatioMeasure || v == Type::IfcNullStyle || v == Type::IfcNumericMeasure || v == Type::IfcPHMeasure || v == Type::IfcParameterValue || v == Type::IfcPlanarForceMeasure || v == Type::IfcPlaneAngleMeasure || v == Type::IfcPositiveInteger || v == Type::IfcPositiveLengthMeasure || v == Type::IfcPositivePlaneAngleMeasure || v == Type::IfcPositiveRatioMeasure || v == Type::IfcPowerMeasure || v == Type::IfcPressureMeasure || v == Type::IfcPropertySetDefinitionSet || v == Type::IfcRadioActivityMeasure || v == Type::IfcRatioMeasure || v == Type::IfcReal || v == Type::IfcRotationalFrequencyMeasure || v == Type::IfcRotationalMassMeasure || v == Type::IfcRotationalStiffnessMeasure || v == Type::IfcSectionModulusMeasure || v == Type::IfcSectionalAreaIntegralMeasure || v == Type::IfcShearModulusMeasure || v == Type::IfcSimpleValue || v == Type::IfcSolidAngleMeasure || v == Type::IfcSoundPowerLevelMeasure || v == Type::IfcSoundPowerMeasure || v == Type::IfcSoundPressureLevelMeasure || v == Type::IfcSoundPressureMeasure || v == Type::IfcSpecificHeatCapacityMeasure || v == Type::IfcSpecularExponent || v == Type::IfcSpecularRoughness || v == Type::IfcTemperatureGradientMeasure || v == Type::IfcTemperatureRateOfChangeMeasure || v == Type::IfcText || v == Type::IfcThermalAdmittanceMeasure || v == Type::IfcThermalConductivityMeasure || v == Type::IfcThermalExpansionCoefficientMeasure || v == Type::IfcThermalResistanceMeasure || v == Type::IfcThermalTransmittanceMeasure || v == Type::IfcThermodynamicTemperatureMeasure || v == Type::IfcTime || v == Type::IfcTimeMeasure || v == Type::IfcTimeStamp || v == Type::IfcTorqueMeasure || v == Type::IfcValue || v == Type::IfcVaporPermeabilityMeasure || v == Type::IfcVolumeMeasure || v == Type::IfcVolumetricFlowRateMeasure || v == Type::IfcWarpingConstantMeasure || v == Type::IfcWarpingMomentMeasure; } @@ -5594,19 +5609,22 @@ IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionTypeEnum::FromString(const std: } const char* IfcSensorTypeEnum::ToString(IfcSensorTypeEnum v) { - if ( v < 0 || v >= 22 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "CONDUCTANCESENSOR", "CONTACTSENSOR", "FIRESENSOR", "FLOWSENSOR", "GASSENSOR", "HEATSENSOR", "HUMIDITYSENSOR", "IONCONCENTRATIONSENSOR", "LEVELSENSOR", "LIGHTSENSOR", "MOISTURESENSOR", "MOVEMENTSENSOR", "PHSENSOR", "PRESSURESENSOR", "RADIATIONSENSOR", "RADIOACTIVITYSENSOR", "SMOKESENSOR", "SOUNDSENSOR", "TEMPERATURESENSOR", "WINDSENSOR", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 25 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "CO2SENSOR", "CONDUCTANCESENSOR", "CONTACTSENSOR", "FIRESENSOR", "FLOWSENSOR", "FROSTSENSOR", "GASSENSOR", "HEATSENSOR", "HUMIDITYSENSOR", "IDENTIFIERSENSOR", "IONCONCENTRATIONSENSOR", "LEVELSENSOR", "LIGHTSENSOR", "MOISTURESENSOR", "MOVEMENTSENSOR", "PHSENSOR", "PRESSURESENSOR", "RADIATIONSENSOR", "RADIOACTIVITYSENSOR", "SMOKESENSOR", "SOUNDSENSOR", "TEMPERATURESENSOR", "WINDSENSOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensorTypeEnum::FromString(const std::string& s) { + if (s == "CO2SENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CO2SENSOR; if (s == "CONDUCTANCESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CONDUCTANCESENSOR; if (s == "CONTACTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CONTACTSENSOR; if (s == "FIRESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_FIRESENSOR; if (s == "FLOWSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_FLOWSENSOR; + if (s == "FROSTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_FROSTSENSOR; if (s == "GASSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_GASSENSOR; if (s == "HEATSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_HEATSENSOR; if (s == "HUMIDITYSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_HUMIDITYSENSOR; + if (s == "IDENTIFIERSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_IDENTIFIERSENSOR; if (s == "IONCONCENTRATIONSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_IONCONCENTRATIONSENSOR; if (s == "LEVELSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_LEVELSENSOR; if (s == "LIGHTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_LIGHTSENSOR; @@ -6551,6 +6569,16 @@ IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcAbstractEntity* e) { ent IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAngularVelocityMeasure); e->setArgument(0, v); entity = e; } IfcAngularVelocityMeasure::operator double() const { return *entity->getArgument(0); } +// Function implementations for IfcArcIndex +IfcUtil::ArgumentType IfcArcIndex::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } +Argument* IfcArcIndex::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcArcIndex::is(Type::Enum v) const { return v == IfcArcIndex::Class(); } +Type::Enum IfcArcIndex::type() const { return Type::IfcArcIndex; } +Type::Enum IfcArcIndex::Class() { return Type::IfcArcIndex; } +IfcArcIndex::IfcArcIndex(IfcAbstractEntity* e) { entity = e; } +IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcArcIndex); e->setArgument(0, v); entity = e; } +IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return *entity->getArgument(0); } + // Function implementations for IfcAreaDensityMeasure IfcUtil::ArgumentType IfcAreaDensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } Argument* IfcAreaDensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } @@ -6571,6 +6599,16 @@ IfcAreaMeasure::IfcAreaMeasure(IfcAbstractEntity* e) { entity = e; } IfcAreaMeasure::IfcAreaMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAreaMeasure); e->setArgument(0, v); entity = e; } IfcAreaMeasure::operator double() const { return *entity->getArgument(0); } +// Function implementations for IfcBinary +IfcUtil::ArgumentType IfcBinary::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_BINARY; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } +Argument* IfcBinary::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcBinary::is(Type::Enum v) const { return v == IfcBinary::Class(); } +Type::Enum IfcBinary::type() const { return Type::IfcBinary; } +Type::Enum IfcBinary::Class() { return Type::IfcBinary; } +IfcBinary::IfcBinary(IfcAbstractEntity* e) { entity = e; } +IfcBinary::IfcBinary(boost::dynamic_bitset<> v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcBinary); e->setArgument(0, v); entity = e; } +IfcBinary::operator boost::dynamic_bitset<>() const { return *entity->getArgument(0); } + // Function implementations for IfcBoolean IfcUtil::ArgumentType IfcBoolean::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_BOOL; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } Argument* IfcBoolean::getArgument(unsigned int i) const { return entity->getArgument(i); } @@ -7001,6 +7039,16 @@ IfcLengthMeasure::IfcLengthMeasure(IfcAbstractEntity* e) { entity = e; } IfcLengthMeasure::IfcLengthMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLengthMeasure); e->setArgument(0, v); entity = e; } IfcLengthMeasure::operator double() const { return *entity->getArgument(0); } +// Function implementations for IfcLineIndex +IfcUtil::ArgumentType IfcLineIndex::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } +Argument* IfcLineIndex::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLineIndex::is(Type::Enum v) const { return v == IfcLineIndex::Class(); } +Type::Enum IfcLineIndex::type() const { return Type::IfcLineIndex; } +Type::Enum IfcLineIndex::Class() { return Type::IfcLineIndex; } +IfcLineIndex::IfcLineIndex(IfcAbstractEntity* e) { entity = e; } +IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLineIndex); e->setArgument(0, v); entity = e; } +IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return *entity->getArgument(0); } + // Function implementations for IfcLinearForceMeasure IfcUtil::ArgumentType IfcLinearForceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } Argument* IfcLinearForceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } @@ -7301,6 +7349,16 @@ IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcAbstractEntity* e) { entity = e; } IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPlaneAngleMeasure); e->setArgument(0, v); entity = e; } IfcPlaneAngleMeasure::operator double() const { return *entity->getArgument(0); } +// Function implementations for IfcPositiveInteger +IfcUtil::ArgumentType IfcPositiveInteger::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } +Argument* IfcPositiveInteger::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPositiveInteger::is(Type::Enum v) const { return v == Type::IfcPositiveInteger || IfcInteger::is(v); } +Type::Enum IfcPositiveInteger::type() const { return Type::IfcPositiveInteger; } +Type::Enum IfcPositiveInteger::Class() { return Type::IfcPositiveInteger; } +IfcPositiveInteger::IfcPositiveInteger(IfcAbstractEntity* e) : IfcInteger((IfcAbstractEntity*)0) { entity = e; } +IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPositiveInteger); e->setArgument(0, v); entity = e; } +IfcPositiveInteger::operator int() const { return *entity->getArgument(0); } + // Function implementations for IfcPositiveLengthMeasure IfcUtil::ArgumentType IfcPositiveLengthMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } Argument* IfcPositiveLengthMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } @@ -8529,7 +8587,6 @@ IfcBuilding::IfcBuilding(IfcAbstractEntity* e) : IfcSpatialStructureElement((Ifc IfcBuilding::IfcBuilding(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElement -IfcRelCoversBldgElements::list::ptr IfcBuildingElement::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversBldgElements, 4)->as(); } bool IfcBuildingElement::is(Type::Enum v) const { return v == Type::IfcBuildingElement || IfcElement::is(v); } Type::Enum IfcBuildingElement::type() const { return Type::IfcBuildingElement; } Type::Enum IfcBuildingElement::Class() { return Type::IfcBuildingElement; } @@ -8595,11 +8652,14 @@ IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, IfcOwnerHistory* v bool IfcBuildingSystem::hasPredefinedType() const { return !entity->getArgument(5)->isNull(); } IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum IfcBuildingSystem::PredefinedType() const { return IfcBuildingSystemTypeEnum::FromString(*entity->getArgument(5)); } void IfcBuildingSystem::setPredefinedType(IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcBuildingSystemTypeEnum::ToString(v)); } +bool IfcBuildingSystem::hasLongName() const { return !entity->getArgument(6)->isNull(); } +std::string IfcBuildingSystem::LongName() const { return *entity->getArgument(6); } +void IfcBuildingSystem::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcBuildingSystem::is(Type::Enum v) const { return v == Type::IfcBuildingSystem || IfcSystem::is(v); } Type::Enum IfcBuildingSystem::type() const { return Type::IfcBuildingSystem; } Type::Enum IfcBuildingSystem::Class() { return Type::IfcBuildingSystem; } IfcBuildingSystem::IfcBuildingSystem(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } if (v7_LongName) { e->setArgument(6,(*v7_LongName)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBurner bool IfcBurner::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8730,6 +8790,15 @@ Type::Enum IfcCartesianPointList::Class() { return Type::IfcCartesianPointList; IfcCartesianPointList::IfcCartesianPointList(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPointList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +// Function implementations for IfcCartesianPointList2D +std::vector< std::vector< double > > IfcCartesianPointList2D::CoordList() const { return *entity->getArgument(0); } +void IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +bool IfcCartesianPointList2D::is(Type::Enum v) const { return v == Type::IfcCartesianPointList2D || IfcCartesianPointList::is(v); } +Type::Enum IfcCartesianPointList2D::type() const { return Type::IfcCartesianPointList2D; } +Type::Enum IfcCartesianPointList2D::Class() { return Type::IfcCartesianPointList2D; } +IfcCartesianPointList2D::IfcCartesianPointList2D(IfcAbstractEntity* e) : IfcCartesianPointList((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPointList2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList) : IfcCartesianPointList((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CoordList)); entity = e; EntityBuffer::Add(this); } + // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > IfcCartesianPointList3D::CoordList() const { return *entity->getArgument(0); } void IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } @@ -9482,22 +9551,23 @@ IfcCoordinateOperation::IfcCoordinateOperation(IfcAbstractEntity* e) : IfcUtil:: IfcCoordinateOperation::IfcCoordinateOperation(IfcCoordinateReferenceSystemSelect* v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinateReferenceSystem -bool IfcCoordinateReferenceSystem::hasName() const { return !entity->getArgument(0)->isNull(); } std::string IfcCoordinateReferenceSystem::Name() const { return *entity->getArgument(0); } void IfcCoordinateReferenceSystem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCoordinateReferenceSystem::hasDescription() const { return !entity->getArgument(1)->isNull(); } std::string IfcCoordinateReferenceSystem::Description() const { return *entity->getArgument(1); } void IfcCoordinateReferenceSystem::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +bool IfcCoordinateReferenceSystem::hasGeodeticDatum() const { return !entity->getArgument(2)->isNull(); } std::string IfcCoordinateReferenceSystem::GeodeticDatum() const { return *entity->getArgument(2); } void IfcCoordinateReferenceSystem::setGeodeticDatum(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCoordinateReferenceSystem::hasVerticalDatum() const { return !entity->getArgument(3)->isNull(); } std::string IfcCoordinateReferenceSystem::VerticalDatum() const { return *entity->getArgument(3); } void IfcCoordinateReferenceSystem::setVerticalDatum(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcCoordinateOperation::list::ptr IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return entity->getInverse(Type::IfcCoordinateOperation, 0)->as(); } bool IfcCoordinateReferenceSystem::is(Type::Enum v) const { return v == Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::type() const { return Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::Class() { return Type::IfcCoordinateReferenceSystem; } IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinateReferenceSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_GeodeticDatum) { e->setArgument(2,(*v3_GeodeticDatum)); } else { e->setArgument(2); } if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostItem bool IfcCostItem::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } @@ -10388,6 +10458,7 @@ IfcRelConnectsWithRealizingElements::list::ptr IfcElement::IsConnectionRealizati IfcRelSpaceBoundary::list::ptr IfcElement::ProvidesBoundaries() const { return entity->getInverse(Type::IfcRelSpaceBoundary, 5)->as(); } IfcRelConnectsElements::list::ptr IfcElement::ConnectedFrom() const { return entity->getInverse(Type::IfcRelConnectsElements, 6)->as(); } IfcRelContainedInSpatialStructure::list::ptr IfcElement::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } +IfcRelCoversBldgElements::list::ptr IfcElement::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversBldgElements, 4)->as(); } bool IfcElement::is(Type::Enum v) const { return v == Type::IfcElement || IfcProduct::is(v); } Type::Enum IfcElement::type() const { return Type::IfcElement; } Type::Enum IfcElement::Class() { return Type::IfcElement; } @@ -11193,6 +11264,7 @@ bool IfcGeometricRepresentationContext::hasTrueNorth() const { return !entity->g IfcDirection* IfcGeometricRepresentationContext::TrueNorth() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcGeometricRepresentationContext::setTrueNorth(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return entity->getInverse(Type::IfcGeometricRepresentationSubContext, 6)->as(); } +IfcCoordinateOperation::list::ptr IfcGeometricRepresentationContext::HasCoordinateOperation() const { return entity->getInverse(Type::IfcCoordinateOperation, 0)->as(); } bool IfcGeometricRepresentationContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationContext || IfcRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationContext::type() const { return Type::IfcGeometricRepresentationContext; } Type::Enum IfcGeometricRepresentationContext::Class() { return Type::IfcGeometricRepresentationContext; } @@ -11386,6 +11458,21 @@ Type::Enum IfcIndexedColourMap::Class() { return Type::IfcIndexedColourMap; } IfcIndexedColourMap::IfcIndexedColourMap(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedColourMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcIndexedColourMap::IfcIndexedColourMap(IfcTessellatedFaceSet* v1_MappedTo, IfcSurfaceStyleShading* v2_Overrides, IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappedTo)); e->setArgument(1,(v2_Overrides)); e->setArgument(2,(v3_Colours)); e->setArgument(3,(v4_ColourIndex)); entity = e; EntityBuffer::Add(this); } +// Function implementations for IfcIndexedPolyCurve +IfcCartesianPointList* IfcIndexedPolyCurve::Points() const { return (IfcCartesianPointList*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcIndexedPolyCurve::setPoints(IfcCartesianPointList* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +bool IfcIndexedPolyCurve::hasSegments() const { return !entity->getArgument(1)->isNull(); } +IfcEntityList::ptr IfcIndexedPolyCurve::Segments() const { return *entity->getArgument(1); } +void IfcIndexedPolyCurve::setSegments(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +bool IfcIndexedPolyCurve::hasSelfIntersect() const { return !entity->getArgument(2)->isNull(); } +bool IfcIndexedPolyCurve::SelfIntersect() const { return *entity->getArgument(2); } +void IfcIndexedPolyCurve::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +bool IfcIndexedPolyCurve::is(Type::Enum v) const { return v == Type::IfcIndexedPolyCurve || IfcBoundedCurve::is(v); } +Type::Enum IfcIndexedPolyCurve::type() const { return Type::IfcIndexedPolyCurve; } +Type::Enum IfcIndexedPolyCurve::Class() { return Type::IfcIndexedPolyCurve; } +IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedPolyCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcCartesianPointList* v1_Points, boost::optional< IfcEntityList::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Points)); if (v2_Segments) { e->setArgument(1,(*v2_Segments)); } else { e->setArgument(1); } if (v3_SelfIntersect) { e->setArgument(2,(*v3_SelfIntersect)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } + // Function implementations for IfcIndexedTextureMap IfcTessellatedFaceSet* IfcIndexedTextureMap::MappedTo() const { return (IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcIndexedTextureMap::setMappedTo(IfcTessellatedFaceSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } @@ -12177,6 +12264,7 @@ void IfcMetric::setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v) { if ( ! enti bool IfcMetric::hasValueSource() const { return !entity->getArgument(8)->isNull(); } std::string IfcMetric::ValueSource() const { return *entity->getArgument(8); } void IfcMetric::setValueSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +bool IfcMetric::hasDataValue() const { return !entity->getArgument(9)->isNull(); } IfcMetricValueSelect* IfcMetric::DataValue() const { return (IfcMetricValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } void IfcMetric::setDataValue(IfcMetricValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcMetric::hasReferencePath() const { return !entity->getArgument(10)->isNull(); } @@ -13094,7 +13182,7 @@ bool IfcProjectedCRS::is(Type::Enum v) const { return v == Type::IfcProjectedCRS Type::Enum IfcProjectedCRS::type() const { return Type::IfcProjectedCRS; } Type::Enum IfcProjectedCRS::Class() { return Type::IfcProjectedCRS; } IfcProjectedCRS::IfcProjectedCRS(IfcAbstractEntity* e) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectedCRS)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectedCRS::IfcProjectedCRS(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } if (v5_MapProjection) { e->setArgument(4,(*v5_MapProjection)); } else { e->setArgument(4); } if (v6_MapZone) { e->setArgument(5,(*v6_MapZone)); } else { e->setArgument(5); } e->setArgument(6,(v7_MapUnit)); entity = e; EntityBuffer::Add(this); } +IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_GeodeticDatum) { e->setArgument(2,(*v3_GeodeticDatum)); } else { e->setArgument(2); } if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } if (v5_MapProjection) { e->setArgument(4,(*v5_MapProjection)); } else { e->setArgument(4); } if (v6_MapZone) { e->setArgument(5,(*v6_MapZone)); } else { e->setArgument(5); } e->setArgument(6,(v7_MapUnit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectionElement bool IfcProjectionElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13116,6 +13204,8 @@ IfcPropertySet::list::ptr IfcProperty::PartOfPset() const { return entity->getIn IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship, 2)->as(); } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship, 3)->as(); } IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return entity->getInverse(Type::IfcComplexProperty, 3)->as(); } +IfcResourceConstraintRelationship::list::ptr IfcProperty::HasConstraints() const { return entity->getInverse(Type::IfcResourceConstraintRelationship, 3)->as(); } +IfcResourceApprovalRelationship::list::ptr IfcProperty::HasApprovals() const { return entity->getInverse(Type::IfcResourceApprovalRelationship, 2)->as(); } bool IfcProperty::is(Type::Enum v) const { return v == Type::IfcProperty || IfcPropertyAbstraction::is(v); } Type::Enum IfcProperty::type() const { return Type::IfcProperty; } Type::Enum IfcProperty::Class() { return Type::IfcProperty; } @@ -14014,10 +14104,10 @@ IfcRelConnectsElements::IfcRelConnectsElements(IfcAbstractEntity* e) : IfcRelCon IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPathElements -std::vector< double > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() const { return *entity->getArgument(7); } -void IfcRelConnectsPathElements::setRelatingPriorities(std::vector< double > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -std::vector< double > /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() const { return *entity->getArgument(8); } -void IfcRelConnectsPathElements::setRelatedPriorities(std::vector< double > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() const { return *entity->getArgument(7); } +void IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() const { return *entity->getArgument(8); } +void IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatedConnectionType() const { return IfcConnectionTypeEnum::FromString(*entity->getArgument(9)); } void IfcRelConnectsPathElements::setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcConnectionTypeEnum::ToString(v)); } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatingConnectionType() const { return IfcConnectionTypeEnum::FromString(*entity->getArgument(10)); } @@ -14026,7 +14116,7 @@ bool IfcRelConnectsPathElements::is(Type::Enum v) const { return v == Type::IfcR Type::Enum IfcRelConnectsPathElements::type() const { return Type::IfcRelConnectsPathElements; } Type::Enum IfcRelConnectsPathElements::Class() { return Type::IfcRelConnectsPathElements; } IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPortToElement IfcPort* IfcRelConnectsPortToElement::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -15085,9 +15175,9 @@ IfcStair::IfcStair(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity IfcStair::IfcStair(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStairTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlight -bool IfcStairFlight::hasNumberOfRiser() const { return !entity->getArgument(8)->isNull(); } -int IfcStairFlight::NumberOfRiser() const { return *entity->getArgument(8); } -void IfcStairFlight::setNumberOfRiser(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +bool IfcStairFlight::hasNumberOfRisers() const { return !entity->getArgument(8)->isNull(); } +int IfcStairFlight::NumberOfRisers() const { return *entity->getArgument(8); } +void IfcStairFlight::setNumberOfRisers(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcStairFlight::hasNumberOfTreads() const { return !entity->getArgument(9)->isNull(); } int IfcStairFlight::NumberOfTreads() const { return *entity->getArgument(9); } void IfcStairFlight::setNumberOfTreads(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } @@ -15104,7 +15194,7 @@ bool IfcStairFlight::is(Type::Enum v) const { return v == Type::IfcStairFlight | Type::Enum IfcStairFlight::type() const { return Type::IfcStairFlight; } Type::Enum IfcStairFlight::Class() { return Type::IfcStairFlight; } IfcStairFlight::IfcStairFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcStairFlightTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRisers) { e->setArgument(8,(*v9_NumberOfRisers)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcStairFlightTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlightType IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlightType::PredefinedType() const { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(9)); } @@ -15965,7 +16055,6 @@ void IfcTableRow::setRowCells(IfcEntityList::ptr v) { if ( ! entity->isWritable( bool IfcTableRow::hasIsHeading() const { return !entity->getArgument(1)->isNull(); } bool IfcTableRow::IsHeading() const { return *entity->getArgument(1); } void IfcTableRow::setIsHeading(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcTable::list::ptr IfcTableRow::OfTable() const { return entity->getInverse(Type::IfcTable, 1)->as(); } bool IfcTableRow::is(Type::Enum v) const { return v == Type::IfcTableRow; } Type::Enum IfcTableRow::type() const { return Type::IfcTableRow; } Type::Enum IfcTableRow::Class() { return Type::IfcTableRow; } @@ -16074,13 +16163,13 @@ IfcTaskTime::IfcTaskTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractE IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskTimeRecurring -IfcRecurrencePattern* IfcTaskTimeRecurring::Recurrance() const { return (IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(20))); } -void IfcTaskTimeRecurring::setRecurrance(IfcRecurrencePattern* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } +IfcRecurrencePattern* IfcTaskTimeRecurring::Recurrence() const { return (IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(20))); } +void IfcTaskTimeRecurring::setRecurrence(IfcRecurrencePattern* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } bool IfcTaskTimeRecurring::is(Type::Enum v) const { return v == Type::IfcTaskTimeRecurring || IfcTaskTime::is(v); } Type::Enum IfcTaskTimeRecurring::type() const { return Type::IfcTaskTimeRecurring; } Type::Enum IfcTaskTimeRecurring::Class() { return Type::IfcTaskTimeRecurring; } IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcAbstractEntity* e) : IfcTaskTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTaskTimeRecurring)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrance) : IfcTaskTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } e->setArgument(20,(v21_Recurrance)); entity = e; EntityBuffer::Add(this); } +IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } e->setArgument(20,(v21_Recurrence)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskType IfcTaskTypeEnum::IfcTaskTypeEnum IfcTaskType::PredefinedType() const { return IfcTaskTypeEnum::FromString(*entity->getArgument(9)); } diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 23fc195b8a..fde2c32895 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -48,7 +48,7 @@ namespace Ifc4 { const char* const Identifier = "IFC4"; // Forward definitions -class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcIndexedColourMap; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMonetaryUnit; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; +class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList2D; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcIndexedColourMap; class IfcIndexedPolyCurve; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMonetaryUnit; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcArcIndex; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBinary; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLineIndex; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveInteger; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; /// The actor select type allows a person, or an organization, or a person associated with an organization to be referenced. /// @@ -457,6 +457,8 @@ typedef IfcUtil::IfcBaseClass IfcResourceSelect; /// /// HISTORY: New type in IFC 2x4. typedef IfcUtil::IfcBaseClass IfcRotationalStiffnessSelect; + +typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -4423,7 +4425,7 @@ namespace IfcSensorTypeEnum { /// WINDSENSOR: A device that senses or detects airflow speed and direction. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -typedef enum {IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} IfcSensorTypeEnum; +typedef enum {IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} IfcSensorTypeEnum; const char* ToString(IfcSensorTypeEnum v); IfcSensorTypeEnum FromString(const std::string& s); } @@ -5805,6 +5807,18 @@ public: operator double() const; }; +class IfcArcIndex : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcArcIndex (IfcAbstractEntity* e); + IfcArcIndex (std::vector< int > /*[3:3]*/ v); + operator std::vector< int > /*[3:3]*/() const; +}; + class IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; @@ -5834,6 +5848,18 @@ public: IfcAreaMeasure (double v); operator double() const; }; + +class IfcBinary : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcBinary (IfcAbstractEntity* e); + IfcBinary (boost::dynamic_bitset<> v); + operator boost::dynamic_bitset<>() const; +}; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. /// /// Type: BOOLEAN @@ -6722,6 +6748,18 @@ public: IfcLengthMeasure (double v); operator double() const; }; + +class IfcLineIndex : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLineIndex (IfcAbstractEntity* e); + IfcLineIndex (std::vector< int > /*[2:?]*/ v); + operator std::vector< int > /*[2:?]*/() const; +}; /// IfcLinearForceMeasure is a measure of linear force. /// Usually measured in N/m. /// Type: REAL @@ -7255,6 +7293,18 @@ public: IfcPlaneAngleMeasure (double v); operator double() const; }; + +class IfcPositiveInteger : public IfcInteger { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcPositiveInteger (IfcAbstractEntity* e); + IfcPositiveInteger (int v); + operator int() const; +}; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. /// Type: IfcLengthMeasure /// @@ -8871,8 +8921,6 @@ public: /// HISTORY  New entity in IFC2x4. class IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcCoordinateReferenceSystem - bool hasName() const; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. std::string Name() const; @@ -8882,6 +8930,8 @@ public: /// Informal description of this coordinate reference system. std::string Description() const; void setDescription(std::string v); + /// Whether the optional attribute GeodeticDatum is defined for this IfcCoordinateReferenceSystem + bool hasGeodeticDatum() const; /// Name by which this datum is identified. The geodetic datum is associated with the coordinate reference system and indicates the shape and size of the rotation ellipsoid and this ellipsoid's connection and orientation to the actual globe/earth. Examples for geodetic datums include: /// /// ED50 @@ -8902,11 +8952,12 @@ public: virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcIdentifier; case 3: return Type::IfcIdentifier; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "GeodeticDatum"; case 3: return "VerticalDatum"; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcCoordinateOperation >::ptr HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcCoordinateReferenceSystem (IfcAbstractEntity* e); - IfcCoordinateReferenceSystem (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum); typedef IfcTemplatedEntityList< IfcCoordinateReferenceSystem > list; }; /// IfcCostValue is an amount of money or a value that affects an amount of money. @@ -10052,6 +10103,8 @@ public: /// Reference source for data values. std::string ValueSource() const; void setValueSource(std::string v); + /// Whether the optional attribute DataValue is defined for this IfcMetric + bool hasDataValue() const; /// The value with data type defined by the underlying type accesses via IfcMetricValueSelect. IfcMetricValueSelect* DataValue() const; void setDataValue(IfcMetricValueSelect* v); @@ -10600,7 +10653,7 @@ public: void setLayerStyles(IfcTemplatedEntityList< IfcPresentationStyle >::ptr v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; case 7: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; } return IfcPresentationLayerAssignment::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::UNDEFINED; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; case 7: return Type::IfcPresentationStyle; } return IfcPresentationLayerAssignment::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLogical; case 5: return Type::IfcLogical; case 6: return Type::IfcLogical; case 7: return Type::IfcPresentationStyle; } return IfcPresentationLayerAssignment::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LayerOn"; case 5: return "LayerFrozen"; case 6: return "LayerBlocked"; case 7: return "LayerStyles"; } return IfcPresentationLayerAssignment::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -10950,7 +11003,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectedCRS (IfcAbstractEntity* e); - IfcProjectedCRS (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit); + IfcProjectedCRS (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit); typedef IfcTemplatedEntityList< IfcProjectedCRS > list; }; @@ -11310,7 +11363,7 @@ public: void setInnerReference(IfcReference* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_AGGREGATE_OF_INT; case 4: return IfcUtil::Argument_ENTITY_INSTANCE; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcIdentifier; case 2: return Type::IfcLabel; case 3: return Type::UNDEFINED; case 4: return Type::IfcReference; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcIdentifier; case 2: return Type::IfcLabel; case 3: return Type::IfcInteger; case 4: return Type::IfcReference; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TypeIdentifier"; case 1: return "AttributeIdentifier"; case 2: return "InstanceName"; case 3: return "ListPositions"; case 4: return "InnerReference"; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -11719,7 +11772,7 @@ public: void setPartOfProductDefinitionShape(IfcProductRepresentationSelect* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENTITY_INSTANCE; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcShapeModel; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::UNDEFINED; case 4: return Type::IfcProductRepresentationSelect; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcShapeModel; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::IfcLogical; case 4: return Type::IfcProductRepresentationSelect; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ShapeRepresentations"; case 1: return "Name"; case 2: return "Description"; case 3: return "ProductDefinitional"; case 4: return "PartOfProductDefinitionShape"; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -12482,7 +12535,7 @@ public: void setParameter(std::vector< std::string > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_BOOL; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY_INSTANCE; case 4: return IfcUtil::Argument_AGGREGATE_OF_STRING; } return IfcPresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::UNDEFINED; case 2: return Type::IfcIdentifier; case 3: return Type::IfcCartesianTransformationOperator2D; case 4: return Type::IfcIdentifier; } return IfcPresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcBoolean; case 1: return Type::IfcBoolean; case 2: return Type::IfcIdentifier; case 3: return Type::IfcCartesianTransformationOperator2D; case 4: return Type::IfcIdentifier; } return IfcPresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RepeatS"; case 1: return "RepeatT"; case 2: return "Mode"; case 3: return "TextureTransform"; case 4: return "Parameter"; } return IfcPresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcTextureCoordinate >::ptr IsMappedBy() const; // INVERSE IfcTextureCoordinate::Maps @@ -12608,10 +12661,9 @@ public: void setIsHeading(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; case 1: return Type::UNDEFINED; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; case 1: return Type::IfcBoolean; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RowCells"; case 1: return "IsHeading"; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } - IfcTemplatedEntityList< IfcTable >::ptr OfTable() const; // INVERSE IfcTable::Rows bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -12770,7 +12822,7 @@ public: void setCompletion(double v); virtual unsigned int getArgumentCount() const { return 20; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_BOOL; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_STRING; case 17: return IfcUtil::Argument_STRING; case 18: return IfcUtil::Argument_STRING; case 19: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcTaskDurationEnum; case 4: return Type::IfcDuration; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcDateTime; case 8: return Type::IfcDateTime; case 9: return Type::IfcDateTime; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcDuration; case 13: return Type::UNDEFINED; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcDateTime; case 17: return Type::IfcDateTime; case 18: return Type::IfcDuration; case 19: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcTaskDurationEnum; case 4: return Type::IfcDuration; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcDateTime; case 8: return Type::IfcDateTime; case 9: return Type::IfcDateTime; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcDuration; case 13: return Type::IfcBoolean; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcDateTime; case 17: return Type::IfcDateTime; case 18: return Type::IfcDuration; case 19: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "DurationType"; case 4: return "ScheduleDuration"; case 5: return "ScheduleStart"; case 6: return "ScheduleFinish"; case 7: return "EarlyStart"; case 8: return "EarlyFinish"; case 9: return "LateStart"; case 10: return "LateFinish"; case 11: return "FreeFloat"; case 12: return "TotalFloat"; case 13: return "IsCritical"; case 14: return "StatusTime"; case 15: return "ActualDuration"; case 16: return "ActualStart"; case 17: return "ActualFinish"; case 18: return "RemainingTime"; case 19: return "Completion"; } return IfcSchedulingTime::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -12785,18 +12837,18 @@ public: /// HISTORY: New entity in IFC2x4. class IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcRecurrencePattern* Recurrance() const; - void setRecurrance(IfcRecurrencePattern* v); + IfcRecurrencePattern* Recurrence() const; + void setRecurrence(IfcRecurrencePattern* v); virtual unsigned int getArgumentCount() const { return 21; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 20: return IfcUtil::Argument_ENTITY_INSTANCE; } return IfcTaskTime::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 20: return Type::IfcRecurrencePattern; } return IfcTaskTime::getArgumentEntity(i); } - virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 20: return "Recurrance"; } return IfcTaskTime::getArgumentName(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 20: return "Recurrence"; } return IfcTaskTime::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcTaskTimeRecurring (IfcAbstractEntity* e); - IfcTaskTimeRecurring (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrance); + IfcTaskTimeRecurring (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrence); typedef IfcTemplatedEntityList< IfcTaskTimeRecurring > list; }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. @@ -12907,7 +12959,7 @@ public: void setModelOrDraughting(bool v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_ENTITY_INSTANCE; case 4: return IfcUtil::Argument_BOOL; } return IfcPresentationStyle::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcTextStyleForDefinedFont; case 2: return Type::IfcTextStyleTextModel; case 3: return Type::IfcTextFontSelect; case 4: return Type::UNDEFINED; } return IfcPresentationStyle::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcTextStyleForDefinedFont; case 2: return Type::IfcTextStyleTextModel; case 3: return Type::IfcTextFontSelect; case 4: return Type::IfcBoolean; } return IfcPresentationStyle::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TextCharacterAppearance"; case 2: return "TextStyle"; case 3: return "TextFontStyle"; case 4: return "ModelOrDraughting"; } return IfcPresentationStyle::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -13741,7 +13793,7 @@ public: void setRasterCode(boost::dynamic_bitset<> v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_BINARY; } return IfcSurfaceTexture::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::UNDEFINED; } return IfcSurfaceTexture::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcBinary; } return IfcSurfaceTexture::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RasterFormat"; case 6: return "RasterCode"; } return IfcSurfaceTexture::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -14366,7 +14418,7 @@ public: void setModelOrDraughting(bool v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_ENTITY_INSTANCE; case 4: return IfcUtil::Argument_BOOL; } return IfcPresentationStyle::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcCurveFontOrScaledCurveFontSelect; case 2: return Type::IfcSizeSelect; case 3: return Type::IfcColour; case 4: return Type::UNDEFINED; } return IfcPresentationStyle::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcCurveFontOrScaledCurveFontSelect; case 2: return Type::IfcSizeSelect; case 3: return Type::IfcColour; case 4: return Type::IfcBoolean; } return IfcPresentationStyle::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "CurveFont"; case 2: return "CurveWidth"; case 3: return "CurveColour"; case 4: return "ModelOrDraughting"; } return IfcPresentationStyle::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -14875,7 +14927,7 @@ public: void setSameSense(bool v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_BOOL; } return IfcEdge::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; case 3: return Type::UNDEFINED; } return IfcEdge::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; case 3: return Type::IfcBoolean; } return IfcEdge::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EdgeGeometry"; case 3: return "SameSense"; } return IfcEdge::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15075,7 +15127,7 @@ public: void setOrientation(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_BOOL; } return IfcTopologicalRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLoop; case 1: return Type::UNDEFINED; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLoop; case 1: return Type::IfcBoolean; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Bound"; case 1: return "Orientation"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15150,7 +15202,7 @@ public: void setSameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_BOOL; } return IfcFace::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSurface; case 2: return Type::UNDEFINED; } return IfcFace::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSurface; case 2: return Type::IfcBoolean; } return IfcFace::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "FaceSurface"; case 2: return "SameSense"; } return IfcFace::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15256,7 +15308,7 @@ public: void setModelorDraughting(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_BOOL; } return IfcPresentationStyle::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcFillStyleSelect; case 2: return Type::UNDEFINED; } return IfcPresentationStyle::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcFillStyleSelect; case 2: return Type::IfcBoolean; } return IfcPresentationStyle::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "FillStyles"; case 2: return "ModelorDraughting"; } return IfcPresentationStyle::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15335,10 +15387,11 @@ public: void setTrueNorth(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_INT; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_ENTITY_INSTANCE; case 5: return IfcUtil::Argument_ENTITY_INSTANCE; } return IfcRepresentationContext::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDimensionCount; case 3: return Type::UNDEFINED; case 4: return Type::IfcAxis2Placement; case 5: return Type::IfcDirection; } return IfcRepresentationContext::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDimensionCount; case 3: return Type::IfcReal; case 4: return Type::IfcAxis2Placement; case 5: return Type::IfcDirection; } return IfcRepresentationContext::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "CoordinateSpaceDimension"; case 3: return "Precision"; case 4: return "WorldCoordinateSystem"; case 5: return "TrueNorth"; } return IfcRepresentationContext::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcGeometricRepresentationSubContext >::ptr HasSubContexts() const; // INVERSE IfcGeometricRepresentationSubContext::ParentContext + IfcTemplatedEntityList< IfcCoordinateOperation >::ptr HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -15550,7 +15603,7 @@ public: void setAgreementFlag(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_BOOL; } return IfcGeometricRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcBoolean; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BaseSurface"; case 1: return "AgreementFlag"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15627,7 +15680,7 @@ public: void setColourIndex(std::vector< int > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_AGGREGATE_OF_INT; } return IfcPresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTessellatedFaceSet; case 1: return Type::IfcSurfaceStyleShading; case 2: return Type::IfcColourRgbList; case 3: return Type::UNDEFINED; } return IfcPresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTessellatedFaceSet; case 1: return Type::IfcSurfaceStyleShading; case 2: return Type::IfcColourRgbList; case 3: return Type::IfcPositiveInteger; } return IfcPresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MappedTo"; case 1: return "Overrides"; case 2: return "Colours"; case 3: return "ColourIndex"; } return IfcPresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15665,7 +15718,7 @@ public: void setTexCoordIndex(std::vector< std::vector< int > > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT; } return IfcIndexedTextureMap::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::UNDEFINED; } return IfcIndexedTextureMap::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveInteger; } return IfcIndexedTextureMap::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TexCoordIndex"; } return IfcIndexedTextureMap::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -16856,7 +16909,7 @@ public: void setOrientation(bool v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_BOOL; } return IfcEdge::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcEdge; case 3: return Type::UNDEFINED; } return IfcEdge::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcEdge; case 3: return Type::IfcBoolean; } return IfcEdge::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EdgeElement"; case 3: return "Orientation"; } return IfcEdge::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -17033,7 +17086,7 @@ public: void setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_INT; case 6: return IfcUtil::Argument_INT; case 7: return IfcUtil::Argument_INT; case 8: return IfcUtil::Argument_AGGREGATE_OF_BINARY; } return IfcSurfaceTexture::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcInteger; case 6: return Type::IfcInteger; case 7: return Type::IfcInteger; case 8: return Type::UNDEFINED; } return IfcSurfaceTexture::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcInteger; case 6: return Type::IfcInteger; case 7: return Type::IfcInteger; case 8: return Type::IfcBinary; } return IfcSurfaceTexture::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Width"; case 6: return "Height"; case 7: return "ColourComponents"; case 8: return "Pixel"; } return IfcSurfaceTexture::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -17450,6 +17503,8 @@ public: IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyForDependance() const; // INVERSE IfcPropertyDependencyRelationship::DependingProperty IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyDependsOn() const; // INVERSE IfcPropertyDependencyRelationship::DependantProperty IfcTemplatedEntityList< IfcComplexProperty >::ptr PartOfComplex() const; // INVERSE IfcComplexProperty::HasProperties + IfcTemplatedEntityList< IfcResourceConstraintRelationship >::ptr HasConstraints() const; // INVERSE IfcResourceConstraintRelationship::RelatedResourceObjects + IfcTemplatedEntityList< IfcResourceApprovalRelationship >::ptr HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -17962,7 +18017,7 @@ public: void setCompletion(double v); virtual unsigned int getArgumentCount() const { return 18; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_BOOL; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_STRING; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcDuration; case 4: return Type::IfcPositiveRatioMeasure; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcLabel; case 8: return Type::IfcDuration; case 9: return Type::UNDEFINED; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcPositiveRatioMeasure; case 13: return Type::IfcDateTime; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcPositiveRatioMeasure; case 17: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcDuration; case 4: return Type::IfcPositiveRatioMeasure; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcLabel; case 8: return Type::IfcDuration; case 9: return Type::IfcBoolean; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcPositiveRatioMeasure; case 13: return Type::IfcDateTime; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcPositiveRatioMeasure; case 17: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ScheduleWork"; case 4: return "ScheduleUsage"; case 5: return "ScheduleStart"; case 6: return "ScheduleFinish"; case 7: return "ScheduleContour"; case 8: return "LevelingDelay"; case 9: return "IsOverAllocated"; case 10: return "StatusTime"; case 11: return "ActualWork"; case 12: return "ActualUsage"; case 13: return "ActualStart"; case 14: return "ActualFinish"; case 15: return "RemainingWork"; case 16: return "RemainingUsage"; case 17: return "Completion"; } return IfcSchedulingTime::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -19595,7 +19650,7 @@ public: void setSizeable(bool v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_BOOL; case 11: return IfcUtil::Argument_BOOL; } return IfcTypeProduct::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcWindowStyleConstructionEnum; case 9: return Type::IfcWindowStyleOperationEnum; case 10: return Type::UNDEFINED; case 11: return Type::UNDEFINED; } return IfcTypeProduct::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcWindowStyleConstructionEnum; case 9: return Type::IfcWindowStyleOperationEnum; case 10: return Type::IfcBoolean; case 11: return Type::IfcBoolean; } return IfcTypeProduct::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ConstructionType"; case 9: return "OperationType"; case 10: return "ParameterTakesPrecedence"; case 11: return "Sizeable"; } return IfcTypeProduct::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20189,6 +20244,23 @@ public: typedef IfcTemplatedEntityList< IfcCartesianPointList > list; }; +class IfcCartesianPointList2D : public IfcCartesianPointList { +public: + std::vector< std::vector< double > > CoordList() const; + void setCoordList(std::vector< std::vector< double > > v); + virtual unsigned int getArgumentCount() const { return 1; } + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE; } return IfcCartesianPointList::getArgumentType(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; } return IfcCartesianPointList::getArgumentEntity(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CoordList"; } return IfcCartesianPointList::getArgumentName(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + IfcCartesianPointList2D (IfcAbstractEntity* e); + IfcCartesianPointList2D (std::vector< std::vector< double > > v1_CoordList); + typedef IfcTemplatedEntityList< IfcCartesianPointList2D > list; +}; + class IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; @@ -20257,7 +20329,7 @@ public: void setScale(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDirection; case 1: return Type::IfcDirection; case 2: return Type::IfcCartesianPoint; case 3: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDirection; case 1: return Type::IfcDirection; case 2: return Type::IfcCartesianPoint; case 3: return Type::IfcReal; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Axis1"; case 1: return "Axis2"; case 2: return "LocalOrigin"; case 3: return "Scale"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20305,7 +20377,7 @@ public: void setScale2(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCartesianTransformationOperator2D::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::UNDEFINED; } return IfcCartesianTransformationOperator2D::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcReal; } return IfcCartesianTransformationOperator2D::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Scale2"; } return IfcCartesianTransformationOperator2D::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20364,7 +20436,7 @@ public: void setScale3(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcCartesianTransformationOperator3D::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcCartesianTransformationOperator3D::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcReal; case 6: return Type::IfcReal; } return IfcCartesianTransformationOperator3D::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Scale2"; case 6: return "Scale3"; } return IfcCartesianTransformationOperator3D::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20551,7 +20623,7 @@ public: void setParentCurve(IfcCurve* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; } return IfcGeometricRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTransitionCode; case 1: return Type::UNDEFINED; case 2: return Type::IfcCurve; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTransitionCode; case 1: return Type::IfcBoolean; case 2: return Type::IfcCurve; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Transition"; case 1: return "SameSense"; case 2: return "ParentCurve"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcCompositeCurve >::ptr UsingCurves() const; // INVERSE IfcCompositeCurve::Segments @@ -20857,7 +20929,7 @@ public: void setImplicitOuter(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcBoundaryCurve; case 2: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcBoundaryCurve; case 2: return Type::IfcBoolean; } return IfcBoundedSurface::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "Boundaries"; case 2: return "ImplicitOuter"; } return IfcBoundedSurface::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20881,7 +20953,7 @@ public: void setDirectionRatios(std::vector< double > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcReal; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DirectionRatios"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20933,7 +21005,7 @@ public: void setSizeable(bool v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_BOOL; case 11: return IfcUtil::Argument_BOOL; } return IfcTypeProduct::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDoorStyleOperationEnum; case 9: return Type::IfcDoorStyleConstructionEnum; case 10: return Type::UNDEFINED; case 11: return Type::UNDEFINED; } return IfcTypeProduct::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDoorStyleOperationEnum; case 9: return Type::IfcDoorStyleConstructionEnum; case 10: return Type::IfcBoolean; case 11: return Type::IfcBoolean; } return IfcTypeProduct::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OperationType"; case 9: return "ConstructionType"; case 10: return "ParameterTakesPrecedence"; case 11: return "Sizeable"; } return IfcTypeProduct::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -22305,7 +22377,7 @@ public: void setSelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; } return IfcCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::UNDEFINED; } return IfcCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLogical; } return IfcCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Distance"; case 2: return "SelfIntersect"; } return IfcCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -22346,7 +22418,7 @@ public: void setRefDirection(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; case 3: return IfcUtil::Argument_ENTITY_INSTANCE; } return IfcCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::UNDEFINED; case 3: return Type::IfcDirection; } return IfcCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLogical; case 3: return Type::IfcDirection; } return IfcCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Distance"; case 2: return "SelfIntersect"; case 3: return "RefDirection"; } return IfcCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -22356,7 +22428,13 @@ public: IfcOffsetCurve3D (IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection); typedef IfcTemplatedEntityList< IfcOffsetCurve3D > list; }; - +/// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. +/// +/// The basis curve is only defined within the parametric range of the surface. +/// +/// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. +/// +/// HISTORY New class in IFC2x4. class IfcPcurve : public IfcCurve { public: IfcSurface* BasisSurface() const; @@ -23896,7 +23974,7 @@ public: void setVsense(bool v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcParameterValue; case 2: return Type::IfcParameterValue; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcParameterValue; case 2: return Type::IfcParameterValue; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; case 5: return Type::IfcBoolean; case 6: return Type::IfcBoolean; } return IfcBoundedSurface::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "U1"; case 2: return "V1"; case 3: return "U2"; case 4: return "V2"; case 5: return "Usense"; case 6: return "Vsense"; } return IfcBoundedSurface::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -24605,11 +24683,11 @@ public: class IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. - std::vector< double > /*[0:?]*/ RelatingPriorities() const; - void setRelatingPriorities(std::vector< double > /*[0:?]*/ v); + std::vector< int > /*[0:?]*/ RelatingPriorities() const; + void setRelatingPriorities(std::vector< int > /*[0:?]*/ v); /// Priorities for connection. It refers to the layers of the RelatedObject. - std::vector< double > /*[0:?]*/ RelatedPriorities() const; - void setRelatedPriorities(std::vector< double > /*[0:?]*/ v); + std::vector< int > /*[0:?]*/ RelatedPriorities() const; + void setRelatedPriorities(std::vector< int > /*[0:?]*/ v); /// Indication of the connection type in relation to the path of the RelatingObject. IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatedConnectionType() const; void setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); @@ -24617,15 +24695,15 @@ public: IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatingConnectionType() const; void setRelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); virtual unsigned int getArgumentCount() const { return 11; } - virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 8: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; } return IfcRelConnectsElements::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::UNDEFINED; case 8: return Type::UNDEFINED; case 9: return Type::IfcConnectionTypeEnum; case 10: return Type::IfcConnectionTypeEnum; } return IfcRelConnectsElements::getArgumentEntity(i); } + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_AGGREGATE_OF_INT; case 8: return IfcUtil::Argument_AGGREGATE_OF_INT; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; } return IfcRelConnectsElements::getArgumentType(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcInteger; case 8: return Type::IfcInteger; case 9: return Type::IfcConnectionTypeEnum; case 10: return Type::IfcConnectionTypeEnum; } return IfcRelConnectsElements::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "RelatingPriorities"; case 8: return "RelatedPriorities"; case 9: return "RelatedConnectionType"; case 10: return "RelatingConnectionType"; } return IfcRelConnectsElements::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPathElements (IfcAbstractEntity* e); - IfcRelConnectsPathElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); + IfcRelConnectsPathElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsPathElements > list; }; /// The objectified relationship @@ -28087,7 +28165,7 @@ public: void setPredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_BOOL; case 10: return IfcUtil::Argument_INT; case 11: return IfcUtil::Argument_ENTITY_INSTANCE; case 12: return IfcUtil::Argument_ENUMERATION; } return IfcProcess::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcLabel; case 8: return Type::IfcLabel; case 9: return Type::UNDEFINED; case 10: return Type::UNDEFINED; case 11: return Type::IfcTaskTime; case 12: return Type::IfcTaskTypeEnum; } return IfcProcess::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcLabel; case 8: return Type::IfcLabel; case 9: return Type::IfcBoolean; case 10: return Type::IfcInteger; case 11: return Type::IfcTaskTime; case 12: return Type::IfcTaskTypeEnum; } return IfcProcess::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Status"; case 8: return "WorkMethod"; case 9: return "IsMilestone"; case 10: return "Priority"; case 11: return "TaskTime"; case 12: return "PredefinedType"; } return IfcProcess::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -28175,7 +28253,7 @@ public: void setClosed(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE; case 2: return IfcUtil::Argument_BOOL; } return IfcTessellatedItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPointList3D; case 1: return Type::IfcParameterValue; case 2: return Type::UNDEFINED; } return IfcTessellatedItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPointList3D; case 1: return Type::IfcParameterValue; case 2: return Type::IfcBoolean; } return IfcTessellatedItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; case 1: return "Normals"; case 2: return "Closed"; } return IfcTessellatedItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcIndexedColourMap >::ptr HasColours() const; // INVERSE IfcIndexedColourMap::MappedTo @@ -28278,7 +28356,7 @@ public: void setNormalIndex(std::vector< std::vector< int > > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT; case 4: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT; } return IfcTessellatedFaceSet::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::UNDEFINED; case 4: return Type::UNDEFINED; } return IfcTessellatedFaceSet::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveInteger; case 4: return Type::IfcPositiveInteger; } return IfcTessellatedFaceSet::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "CoordIndex"; case 4: return "NormalIndex"; } return IfcTessellatedFaceSet::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -28949,7 +29027,7 @@ public: void setSelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::UNDEFINED; case 2: return Type::IfcCartesianPoint; case 3: return Type::IfcBSplineSurfaceForm; case 4: return Type::UNDEFINED; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcInteger; case 1: return Type::IfcInteger; case 2: return Type::IfcCartesianPoint; case 3: return Type::IfcBSplineSurfaceForm; case 4: return Type::IfcLogical; case 5: return Type::IfcLogical; case 6: return Type::IfcLogical; } return IfcBoundedSurface::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "UDegree"; case 1: return "VDegree"; case 2: return "ControlPointsList"; case 3: return "SurfaceForm"; case 4: return "UClosed"; case 5: return "VClosed"; case 6: return "SelfIntersect"; } return IfcBoundedSurface::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -28985,7 +29063,7 @@ public: void setKnotSpec(IfcKnotType::IfcKnotType v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_AGGREGATE_OF_INT; case 8: return IfcUtil::Argument_AGGREGATE_OF_INT; case 9: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 10: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 11: return IfcUtil::Argument_ENUMERATION; } return IfcBSplineSurface::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::UNDEFINED; case 8: return Type::UNDEFINED; case 9: return Type::IfcParameterValue; case 10: return Type::IfcParameterValue; case 11: return Type::IfcKnotType; } return IfcBSplineSurface::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcInteger; case 8: return Type::IfcInteger; case 9: return Type::IfcParameterValue; case 10: return Type::IfcParameterValue; case 11: return Type::IfcKnotType; } return IfcBSplineSurface::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "UMultiplicities"; case 8: return "VMultiplicities"; case 9: return "UKnots"; case 10: return "VKnots"; case 11: return "KnotSpec"; } return IfcBSplineSurface::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -29921,7 +29999,7 @@ public: void setSelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCompositeCurveSegment; case 1: return Type::UNDEFINED; } return IfcBoundedCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCompositeCurveSegment; case 1: return Type::IfcLogical; } return IfcBoundedCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Segments"; case 1: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -31107,7 +31185,7 @@ public: void setUserDefinedOperationType(std::string v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDoorTypeEnum; case 10: return Type::IfcDoorTypeOperationEnum; case 11: return Type::UNDEFINED; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDoorTypeEnum; case 10: return Type::IfcDoorTypeOperationEnum; case 11: return Type::IfcBoolean; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "OperationType"; case 11: return "ParameterTakesPrecedence"; case 12: return "UserDefinedOperationType"; } return IfcBuildingElementType::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -31306,6 +31384,7 @@ public: IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr ProvidesBoundaries() const; // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement IfcTemplatedEntityList< IfcRelConnectsElements >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsElements::RelatedElement IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -33209,6 +33288,31 @@ public: IfcHumidifierType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcHumidifierType > list; }; + +class IfcIndexedPolyCurve : public IfcBoundedCurve { +public: + IfcCartesianPointList* Points() const; + void setPoints(IfcCartesianPointList* v); + /// Whether the optional attribute Segments is defined for this IfcIndexedPolyCurve + bool hasSegments() const; + IfcEntityList::ptr Segments() const; + void setSegments(IfcEntityList::ptr v); + /// Whether the optional attribute SelfIntersect is defined for this IfcIndexedPolyCurve + bool hasSelfIntersect() const; + bool SelfIntersect() const; + void setSelfIntersect(bool v); + virtual unsigned int getArgumentCount() const { return 3; } + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPointList; case 1: return Type::IfcSegmentIndexSelect; case 2: return Type::IfcBoolean; } return IfcBoundedCurve::getArgumentEntity(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Points"; case 1: return "Segments"; case 2: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + IfcIndexedPolyCurve (IfcAbstractEntity* e); + IfcIndexedPolyCurve (IfcCartesianPointList* v1_Points, boost::optional< IfcEntityList::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + typedef IfcTemplatedEntityList< IfcIndexedPolyCurve > list; +}; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// /// common properties with shared property sets @@ -35283,7 +35387,7 @@ public: void setWeightsData(std::vector< std::vector< double > > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 12: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE; } return IfcBSplineSurfaceWithKnots::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 12: return Type::UNDEFINED; } return IfcBSplineSurfaceWithKnots::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 12: return Type::IfcReal; } return IfcBSplineSurfaceWithKnots::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 12: return "WeightsData"; } return IfcBSplineSurfaceWithKnots::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -36628,7 +36732,7 @@ public: void setDestabilizingLoad(bool v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_BOOL; } return IfcStructuralActivity::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::UNDEFINED; } return IfcStructuralActivity::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBoolean; } return IfcStructuralActivity::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "DestabilizingLoad"; } return IfcStructuralActivity::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -37191,7 +37295,7 @@ public: void setIsLinear(bool v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY_INSTANCE; case 7: return IfcUtil::Argument_BOOL; } return IfcGroup::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcAnalysisTheoryTypeEnum; case 6: return Type::IfcStructuralLoadGroup; case 7: return Type::UNDEFINED; } return IfcGroup::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcAnalysisTheoryTypeEnum; case 6: return Type::IfcStructuralLoadGroup; case 7: return Type::IfcBoolean; } return IfcGroup::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheoryType"; case 6: return "ResultForLoadGroup"; case 7: return "IsLinear"; } return IfcGroup::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcStructuralAnalysisModel >::ptr ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults @@ -37967,7 +38071,7 @@ public: void setMasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENUMERATION; } return IfcBoundedCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcTrimmingSelect; case 2: return Type::IfcTrimmingSelect; case 3: return Type::UNDEFINED; case 4: return Type::IfcTrimmingPreference; } return IfcBoundedCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcTrimmingSelect; case 2: return Type::IfcTrimmingSelect; case 3: return Type::IfcBoolean; case 4: return Type::IfcTrimmingPreference; } return IfcBoundedCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Trim1"; case 2: return "Trim2"; case 3: return "SenseAgreement"; case 4: return "MasterRepresentation"; } return IfcBoundedCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -38658,7 +38762,7 @@ public: void setUserDefinedPartitioningType(std::string v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcWindowTypeEnum; case 10: return Type::IfcWindowTypePartitioningEnum; case 11: return Type::UNDEFINED; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcWindowTypeEnum; case 10: return Type::IfcWindowTypePartitioningEnum; case 11: return Type::IfcBoolean; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "PartitioningType"; case 11: return "ParameterTakesPrecedence"; case 12: return "UserDefinedPartitioningType"; } return IfcBuildingElementType::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -39439,7 +39543,7 @@ public: void setSelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::IfcCartesianPoint; case 2: return Type::IfcBSplineCurveForm; case 3: return Type::UNDEFINED; case 4: return Type::UNDEFINED; } return IfcBoundedCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcInteger; case 1: return Type::IfcCartesianPoint; case 2: return Type::IfcBSplineCurveForm; case 3: return Type::IfcLogical; case 4: return Type::IfcLogical; } return IfcBoundedCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Degree"; case 1: return "ControlPointsList"; case 2: return "CurveForm"; case 3: return "ClosedCurve"; case 4: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -39479,7 +39583,7 @@ public: void setKnotSpec(IfcKnotType::IfcKnotType v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_AGGREGATE_OF_INT; case 6: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 7: return IfcUtil::Argument_ENUMERATION; } return IfcBSplineCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::UNDEFINED; case 6: return Type::IfcParameterValue; case 7: return Type::IfcKnotType; } return IfcBSplineCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcInteger; case 6: return Type::IfcParameterValue; case 7: return Type::IfcKnotType; } return IfcBSplineCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "KnotMultiplicities"; case 6: return "Knots"; case 7: return "KnotSpec"; } return IfcBSplineCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -40041,7 +40145,6 @@ public: virtual Type::Enum getArgumentEntity(unsigned int i) const { return IfcElement::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } - IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -40408,16 +40511,20 @@ public: /// Predefined types of distribution systems. IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum PredefinedType() const; void setPredefinedType(IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum v); - virtual unsigned int getArgumentCount() const { return 6; } - virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; } return IfcSystem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcBuildingSystemTypeEnum; } return IfcSystem::getArgumentEntity(i); } - virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; } return IfcSystem::getArgumentName(i); } + /// Whether the optional attribute LongName is defined for this IfcBuildingSystem + bool hasLongName() const; + std::string LongName() const; + void setLongName(std::string v); + virtual unsigned int getArgumentCount() const { return 7; } + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_STRING; } return IfcSystem::getArgumentType(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcBuildingSystemTypeEnum; case 6: return Type::IfcLabel; } return IfcSystem::getArgumentEntity(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; case 6: return "LongName"; } return IfcSystem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcBuildingSystem (IfcAbstractEntity* e); - IfcBuildingSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType); + IfcBuildingSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType, boost::optional< std::string > v7_LongName); typedef IfcTemplatedEntityList< IfcBuildingSystem > list; }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: @@ -47485,7 +47592,7 @@ public: void setWeightsData(std::vector< double > /*[2:?]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; } return IfcBSplineCurveWithKnots::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::UNDEFINED; } return IfcBSplineCurveWithKnots::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcReal; } return IfcBSplineCurveWithKnots::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "WeightsData"; } return IfcBSplineCurveWithKnots::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -49148,13 +49255,10 @@ public: /// Figure 131 — Stair flight body class IfcStairFlight : public IfcBuildingElement { public: - /// Whether the optional attribute NumberOfRiser is defined for this IfcStairFlight - bool hasNumberOfRiser() const; - /// Number of the risers included in the stair flight - /// - /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.NumberOfRisers instead. - int NumberOfRiser() const; - void setNumberOfRiser(int v); + /// Whether the optional attribute NumberOfRisers is defined for this IfcStairFlight + bool hasNumberOfRisers() const; + int NumberOfRisers() const; + void setNumberOfRisers(int v); /// Whether the optional attribute NumberOfTreads is defined for this IfcStairFlight bool hasNumberOfTreads() const; /// Number of treads included in the stair flight. @@ -49186,14 +49290,14 @@ public: void setPredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_INT; case 9: return IfcUtil::Argument_INT; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::UNDEFINED; case 9: return Type::UNDEFINED; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcStairFlightTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } - virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NumberOfRiser"; case 9: return "NumberOfTreads"; case 10: return "RiserHeight"; case 11: return "TreadLength"; case 12: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcInteger; case 9: return Type::IfcInteger; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcStairFlightTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NumberOfRisers"; case 9: return "NumberOfTreads"; case 10: return "RiserHeight"; case 11: return "TreadLength"; case 12: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcStairFlight (IfcAbstractEntity* e); - IfcStairFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType); + IfcStairFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType); typedef IfcTemplatedEntityList< IfcStairFlight > list; }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. diff --git a/src/ifcparse/Ifc4enum.h b/src/ifcparse/Ifc4enum.h index afd5aa744b..8c10e5d81d 100644 --- a/src/ifcparse/Ifc4enum.h +++ b/src/ifcparse/Ifc4enum.h @@ -33,7 +33,7 @@ namespace Ifc4 { namespace Type { typedef enum { - IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionRequestTypeEnum, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuator, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarm, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcAppliedValueSelect, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcAreaDensityMeasure, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAudioVisualApplianceTypeEnum, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceForm, IfcBSplineSurfaceWithKnots, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBendingParameterSelect, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementPartTypeEnum, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBuildingSystemTypeEnum, IfcBurner, IfcBurnerType, IfcBurnerTypeEnum, IfcCShapeProfileDef, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableFitting, IfcCableFittingType, IfcCableFittingTypeEnum, IfcCableSegment, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCardinalPointReference, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChangeActionEnum, IfcChiller, IfcChillerType, IfcChillerTypeEnum, IfcChimney, IfcChimneyType, IfcChimneyTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClassificationReferenceSelect, IfcClassificationSelect, IfcClosedShell, IfcCoil, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcColumnTypeEnum, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcCommunicationsApplianceTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcComplexPropertyTemplate, IfcComplexPropertyTemplateTypeEnum, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressor, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenser, IfcCondenserType, IfcCondenserTypeEnum, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstraintEnum, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionEquipmentResourceTypeEnum, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionMaterialResourceTypeEnum, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionProductResourceTypeEnum, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTower, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCoordinateReferenceSystemSelect, IfcCostItem, IfcCostItemTypeEnum, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCrewResource, IfcCrewResourceType, IfcCrewResourceTypeEnum, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveFontOrScaledCurveFontSelect, IfcCurveInterpolationEnum, IfcCurveOnSurface, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDate, IfcDateTime, IfcDayInMonthNumber, IfcDayInWeekNumber, IfcDefinitionSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDimensionCount, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDiscreteAccessoryTypeEnum, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionPortTypeEnum, IfcDistributionSystem, IfcDistributionSystemEnum, IfcDocumentConfidentialityEnum, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoorType, IfcDoorTypeEnum, IfcDoorTypeOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencer, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDuration, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricDistributionBoardTypeEnum, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricMotor, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElement, IfcElementAssembly, IfcElementAssemblyType, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEngine, IfcEngineType, IfcEngineTypeEnum, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporator, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcEvent, IfcEventTime, IfcEventTriggerTypeEnum, IfcEventType, IfcEventTypeEnum, IfcExtendedProperties, IfcExternalInformation, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialElementTypeEnum, IfcExternalSpatialStructureElement, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFastenerTypeEnum, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilter, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeter, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingType, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcFurnitureTypeEnum, IfcGeographicElement, IfcGeographicElementType, IfcGeographicElementTypeEnum, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGridPlacementDirectionSelect, IfcGridTypeEnum, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchanger, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHumidifier, IfcHumidifierType, IfcHumidifierTypeEnum, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcIndexedColourMap, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInterceptor, IfcInterceptorType, IfcInterceptorTypeEnum, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBox, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcKnotType, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLaborResourceType, IfcLaborResourceTypeEnum, IfcLagTime, IfcLamp, IfcLampType, IfcLampTypeEnum, IfcLanguageId, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixture, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialSelect, IfcMaterialUsageDefinition, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalFastenerTypeEnum, IfcMedicalDevice, IfcMedicalDeviceType, IfcMedicalDeviceTypeEnum, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMirroredProfileDef, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionSelect, IfcModulusOfSubgradeReactionMeasure, IfcModulusOfSubgradeReactionSelect, IfcModulusOfTranslationalSubgradeReactionSelect, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnection, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcNamedUnit, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpenShell, IfcOpeningElement, IfcOpeningElementTypeEnum, IfcOpeningStandardCase, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPerformanceHistoryTypeEnum, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPermitTypeEnum, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileType, IfcPileTypeEnum, IfcPipeFitting, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegment, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureType, IfcProcedureTypeEnum, IfcProcess, IfcProcessSelect, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductRepresentationSelect, IfcProductSelect, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectLibrary, IfcProjectOrder, IfcProjectOrderTypeEnum, IfcProjectedCRS, IfcProjectedOrTrueLengthEnum, IfcProjectionElement, IfcProjectionElementTypeEnum, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetDefinitionSelect, IfcPropertySetDefinitionSet, IfcPropertySetTemplate, IfcPropertySetTemplateTypeEnum, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceTrippingUnitTypeEnum, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPump, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampType, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcRecurrenceTypeEnum, IfcReference, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingBarType, IfcReinforcingBarTypeEnum, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcReinforcingMeshTypeEnum, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcRelationship, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceObjectSelect, IfcResourceSelect, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofType, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRotationalStiffnessSelect, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcSchedulingTime, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSensor, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcShadingDevice, IfcShadingDeviceType, IfcShadingDeviceTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSimplePropertyTemplateTypeEnum, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolarDeviceTypeEnum, IfcSolidAngleMeasure, IfcSolidModel, IfcSolidOrShell, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpace, IfcSpaceBoundarySelect, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSpatialZoneTypeEnum, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminal, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairType, IfcStairTypeEnum, IfcStateEnum, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveActivityTypeEnum, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberTypeEnum, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceActivityTypeEnum, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberTypeEnum, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleAssignmentSelect, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubContractResourceType, IfcSubContractResourceTypeEnum, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceFeatureTypeEnum, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceReinforcementArea, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcSystemFurnitureElementTypeEnum, IfcTShapeProfileDef, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTaskDurationEnum, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTaskTypeEnum, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonAnchorTypeEnum, IfcTendonType, IfcTendonTypeEnum, IfcTessellatedFaceSet, IfcTessellatedItem, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeOrRatioSelect, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformer, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTranslationalStiffnessSelect, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundle, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcURIReference, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryControlElementTypeEnum, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValve, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcVoidingFeatureTypeEnum, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWarpingStiffnessSelect, IfcWasteTerminal, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWindowType, IfcWindowTypeEnum, IfcWindowTypePartitioningEnum, IfcWorkCalendar, IfcWorkCalendarTypeEnum, IfcWorkControl, IfcWorkPlan, IfcWorkPlanTypeEnum, IfcWorkSchedule, IfcWorkScheduleTypeEnum, IfcWorkTime, IfcZShapeProfileDef, IfcZone, UNDEFINED + IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionRequestTypeEnum, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuator, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarm, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcAppliedValueSelect, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcArcIndex, IfcAreaDensityMeasure, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAudioVisualApplianceTypeEnum, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceForm, IfcBSplineSurfaceWithKnots, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBendingParameterSelect, IfcBinary, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementPartTypeEnum, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBuildingSystemTypeEnum, IfcBurner, IfcBurnerType, IfcBurnerTypeEnum, IfcCShapeProfileDef, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableFitting, IfcCableFittingType, IfcCableFittingTypeEnum, IfcCableSegment, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCardinalPointReference, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList2D, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChangeActionEnum, IfcChiller, IfcChillerType, IfcChillerTypeEnum, IfcChimney, IfcChimneyType, IfcChimneyTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClassificationReferenceSelect, IfcClassificationSelect, IfcClosedShell, IfcCoil, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcColumnTypeEnum, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcCommunicationsApplianceTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcComplexPropertyTemplate, IfcComplexPropertyTemplateTypeEnum, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressor, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenser, IfcCondenserType, IfcCondenserTypeEnum, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstraintEnum, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionEquipmentResourceTypeEnum, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionMaterialResourceTypeEnum, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionProductResourceTypeEnum, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTower, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCoordinateReferenceSystemSelect, IfcCostItem, IfcCostItemTypeEnum, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCrewResource, IfcCrewResourceType, IfcCrewResourceTypeEnum, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveFontOrScaledCurveFontSelect, IfcCurveInterpolationEnum, IfcCurveOnSurface, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDate, IfcDateTime, IfcDayInMonthNumber, IfcDayInWeekNumber, IfcDefinitionSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDimensionCount, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDiscreteAccessoryTypeEnum, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionPortTypeEnum, IfcDistributionSystem, IfcDistributionSystemEnum, IfcDocumentConfidentialityEnum, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoorType, IfcDoorTypeEnum, IfcDoorTypeOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencer, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDuration, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricDistributionBoardTypeEnum, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricMotor, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElement, IfcElementAssembly, IfcElementAssemblyType, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEngine, IfcEngineType, IfcEngineTypeEnum, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporator, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcEvent, IfcEventTime, IfcEventTriggerTypeEnum, IfcEventType, IfcEventTypeEnum, IfcExtendedProperties, IfcExternalInformation, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialElementTypeEnum, IfcExternalSpatialStructureElement, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFastenerTypeEnum, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilter, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeter, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingType, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcFurnitureTypeEnum, IfcGeographicElement, IfcGeographicElementType, IfcGeographicElementTypeEnum, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGridPlacementDirectionSelect, IfcGridTypeEnum, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchanger, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHumidifier, IfcHumidifierType, IfcHumidifierTypeEnum, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcIndexedColourMap, IfcIndexedPolyCurve, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInterceptor, IfcInterceptorType, IfcInterceptorTypeEnum, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBox, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcKnotType, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLaborResourceType, IfcLaborResourceTypeEnum, IfcLagTime, IfcLamp, IfcLampType, IfcLampTypeEnum, IfcLanguageId, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixture, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLineIndex, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialSelect, IfcMaterialUsageDefinition, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalFastenerTypeEnum, IfcMedicalDevice, IfcMedicalDeviceType, IfcMedicalDeviceTypeEnum, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMirroredProfileDef, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionSelect, IfcModulusOfSubgradeReactionMeasure, IfcModulusOfSubgradeReactionSelect, IfcModulusOfTranslationalSubgradeReactionSelect, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnection, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcNamedUnit, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpenShell, IfcOpeningElement, IfcOpeningElementTypeEnum, IfcOpeningStandardCase, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPerformanceHistoryTypeEnum, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPermitTypeEnum, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileType, IfcPileTypeEnum, IfcPipeFitting, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegment, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveInteger, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureType, IfcProcedureTypeEnum, IfcProcess, IfcProcessSelect, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductRepresentationSelect, IfcProductSelect, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectLibrary, IfcProjectOrder, IfcProjectOrderTypeEnum, IfcProjectedCRS, IfcProjectedOrTrueLengthEnum, IfcProjectionElement, IfcProjectionElementTypeEnum, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetDefinitionSelect, IfcPropertySetDefinitionSet, IfcPropertySetTemplate, IfcPropertySetTemplateTypeEnum, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceTrippingUnitTypeEnum, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPump, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampType, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcRecurrenceTypeEnum, IfcReference, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingBarType, IfcReinforcingBarTypeEnum, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcReinforcingMeshTypeEnum, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcRelationship, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceObjectSelect, IfcResourceSelect, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofType, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRotationalStiffnessSelect, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcSchedulingTime, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSegmentIndexSelect, IfcSensor, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcShadingDevice, IfcShadingDeviceType, IfcShadingDeviceTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSimplePropertyTemplateTypeEnum, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolarDeviceTypeEnum, IfcSolidAngleMeasure, IfcSolidModel, IfcSolidOrShell, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpace, IfcSpaceBoundarySelect, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSpatialZoneTypeEnum, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminal, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairType, IfcStairTypeEnum, IfcStateEnum, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveActivityTypeEnum, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberTypeEnum, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceActivityTypeEnum, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberTypeEnum, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleAssignmentSelect, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubContractResourceType, IfcSubContractResourceTypeEnum, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceFeatureTypeEnum, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceReinforcementArea, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcSystemFurnitureElementTypeEnum, IfcTShapeProfileDef, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTaskDurationEnum, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTaskTypeEnum, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonAnchorTypeEnum, IfcTendonType, IfcTendonTypeEnum, IfcTessellatedFaceSet, IfcTessellatedItem, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeOrRatioSelect, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformer, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTranslationalStiffnessSelect, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundle, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcURIReference, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryControlElementTypeEnum, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValve, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcVoidingFeatureTypeEnum, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWarpingStiffnessSelect, IfcWasteTerminal, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWindowType, IfcWindowTypeEnum, IfcWindowTypePartitioningEnum, IfcWorkCalendar, IfcWorkCalendarTypeEnum, IfcWorkControl, IfcWorkPlan, IfcWorkPlanTypeEnum, IfcWorkSchedule, IfcWorkScheduleTypeEnum, IfcWorkTime, IfcZShapeProfileDef, IfcZone, UNDEFINED } Enum; Enum Parent(Enum v); Enum FromString(const std::string& s); From 191c029546da8f74b13e8694ba82ce2a6e625b1f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 9 Apr 2016 13:29:35 +0200 Subject: [PATCH 147/157] Correctly allow rule labels to be optional --- src/ifcexpressparser/bootstrap.py | 32 ++++++++++++++++++++----------- src/ifcexpressparser/express.bnf | 6 ++---- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/ifcexpressparser/bootstrap.py b/src/ifcexpressparser/bootstrap.py index 00936c2f4b..77e7f7131e 100644 --- a/src/ifcexpressparser/bootstrap.py +++ b/src/ifcexpressparser/bootstrap.py @@ -19,8 +19,14 @@ import sys import string +import operator +import itertools + from pyparsing import * +try: from functools import reduce +except: pass + class Expression: def __init__(self, contents): self.contents = contents[0] @@ -56,12 +62,12 @@ class Keyword: class Terminal: def __init__(self, contents): self.contents = contents[0] - def __repr__(self): s = self.contents - is_keyword = len(s) >= 4 and s[0::len(s)-1] == '""' and \ + self.is_keyword = len(s) >= 4 and s[0::len(s)-1] == '""' and \ all(c in alphanums+"_" for c in s[1:-1]) - ty = "CaselessKeyword" if is_keyword else "CaselessLiteral" - return "%s(%s)" % (ty, s) + def __repr__(self): + ty = "CaselessKeyword" if self.is_keyword else "CaselessLiteral" + return "%s(%s)" % (ty, self.contents) LPAREN = Suppress("(") @@ -94,16 +100,16 @@ grammar.ignore(HASH + restOfLine) express = grammar.parseFile(sys.argv[1]) -def find_keywords(expr, li = None): +def find_bytype(expr, ty, li = None): if li is None: li = [] if isinstance(expr, Term): expr = expr.contents - if isinstance(expr, Keyword): - li.append(repr(expr)) - return li + if isinstance(expr, ty): + li.append(expr) + return set(li) elif isinstance(expr, Expression): for term in expr: - find_keywords(term, li) + find_bytype(term, ty, li) return set(li) actions = { @@ -131,18 +137,22 @@ emitted = set() to_combine = set(["simple_id"]) to_ignore = set(["where_clause", "supertype_constraint", "unique_clause"]) statements = [] + +terminals = reduce(lambda x,y: x | y, (find_bytype(e, Terminal) for id, e in express)) +keywords = list(filter(operator.attrgetter('is_keyword'), terminals)) +negated_keywords = map(lambda s: "~%s" % s, keywords) while True: emitted_in_loop = set() for id, expr in express: - kws = find_keywords(expr) + kws = map(repr, find_bytype(expr, Keyword)) found = [k in emitted for k in kws] if id in to_emit and all(found): emitted_in_loop.add(id) emitted.add(id) stmt = "(%s)" % expr if id in to_combine: - stmt = "originalTextFor(Combine%s)" % stmt + stmt = " + ".join(itertools.chain(negated_keywords, ("originalTextFor(Combine%s)" % stmt,))) if id in actions: stmt = "%s.setParseAction(%s)" % (stmt, actions[id]) statements.append("%s = %s" % (id, stmt)) diff --git a/src/ifcexpressparser/express.bnf b/src/ifcexpressparser/express.bnf index 89acfd4fff..de40bfaf23 100644 --- a/src/ifcexpressparser/express.bnf +++ b/src/ifcexpressparser/express.bnf @@ -1,5 +1,3 @@ -# Taken from http://sourceforge.net/p/exp-engine/expresso/ci/master/tree/docs/iso-10303-11--2004.bnf - ABS = "abs" . ABSTRACT = "abstract" . ACOS = "acos" . @@ -202,7 +200,7 @@ constructed_types = enumeration_type | select_type . declaration = entity_decl | function_decl | procedure_decl | subtype_constraint_decl | type_decl . derived_attr = attribute_decl ":" parameter_type ":=" expression ";" . derive_clause = DERIVE derived_attr { derived_attr } . -domain_rule = rule_label_id ":" expression . +domain_rule = [ rule_label_id ":" ] expression . element = expression [ ":" repetition ] . entity_body = { explicit_attr } [ derive_clause ] [ inverse_clause ] [ unique_clause ] [ where_clause ] . entity_constructor = entity_ref "(" [ expression { "," expression } ] ")" . @@ -334,7 +332,7 @@ type_label_id = simple_id . unary_op = "+" | "-" | NOT . underlying_type = constructed_types | concrete_types . unique_clause = UNIQUE unique_rule ";" { unique_rule ";" } . -unique_rule = rule_label_id ":" referenced_attribute { "," referenced_attribute } . +unique_rule = [ rule_label_id ":" ] referenced_attribute { "," referenced_attribute } . until_control = UNTIL logical_expression . use_clause = USE FROM schema_ref [ "(" named_type_or_rename { "," named_type_or_rename } ")" ] ";" . variable_id = simple_id . From 426b1279e3eebbb4e806c88ce8c9c0b51ee7941a Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 9 Apr 2016 20:20:08 +0200 Subject: [PATCH 148/157] Implement __hash__ and __eq__ functions on entity_instance --- src/ifcopenshell-python/ifcopenshell/__init__.py | 4 ++++ src/ifcwrap/IfcParseWrapper.i | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/__init__.py b/src/ifcopenshell-python/ifcopenshell/__init__.py index eb14ece33a..8e8435baed 100644 --- a/src/ifcopenshell-python/ifcopenshell/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/__init__.py @@ -91,6 +91,10 @@ class entity_instance(object): def __repr__(self): return repr(self.wrapped_data) def is_a(self, *args): return self.wrapped_data.is_a(*args) def id(self): return self.wrapped_data.id() + def __eq__(self, other): + return self.wrapped_data == other.wrapped_data + def __hash__(self): + return hash((self.id(), self.wrapped_data.file_pointer())) def __dir__(self): return sorted(set(itertools.chain( dir(type(self)), diff --git a/src/ifcwrap/IfcParseWrapper.i b/src/ifcwrap/IfcParseWrapper.i index 23955f190f..24ace4cf10 100644 --- a/src/ifcwrap/IfcParseWrapper.i +++ b/src/ifcwrap/IfcParseWrapper.i @@ -124,6 +124,18 @@ namespace IfcUtil { unsigned i = IfcSchema::Type::GetAttributeIndex($self->type(), a); return std::pair($self->getArgumentType(i), $self->getArgument(i)); } + + bool __eq__(IfcParse::IfcLateBoundEntity* other) const { + if ($self == other) { + return true; + } + return $self->id() == other->id() && $self->entity->file == other->entity->file; + } + + // Just something to have a somewhat sensible value to hash + size_t file_pointer() const { + return reinterpret_cast($self->entity->file); + } } %extend IfcParse::IfcSpfHeader { From 81ee60079e0d6a27a8df0d2804082413a4a4e89d Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 11 Apr 2016 11:50:43 +0200 Subject: [PATCH 149/157] Enable per-item styles in the pythonOCC viewer --- src/ifcgeom/IfcGeomRepresentation.cpp | 17 +++ src/ifcgeom/IfcGeomRepresentation.h | 2 + .../ifcopenshell/geom/occ_utils.py | 138 ++++++++++++++++-- src/ifcwrap/IfcGeomWrapper.i | 1 + 4 files changed, 144 insertions(+), 14 deletions(-) diff --git a/src/ifcgeom/IfcGeomRepresentation.cpp b/src/ifcgeom/IfcGeomRepresentation.cpp index abd17a15d9..06e5266cac 100644 --- a/src/ifcgeom/IfcGeomRepresentation.cpp +++ b/src/ifcgeom/IfcGeomRepresentation.cpp @@ -38,6 +38,23 @@ IfcGeom::Representation::Serialization::Serialization(const BRep& brep) for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = brep.begin(); it != brep.end(); ++ it) { const TopoDS_Shape& s = it->Shape(); gp_GTrsf trsf = it->Placement(); + + if (it->hasStyle() && it->Style().Diffuse()) { + const IfcGeom::SurfaceStyle::ColorComponent& clr = *it->Style().Diffuse(); + _surface_styles.push_back(clr.R()); + _surface_styles.push_back(clr.G()); + _surface_styles.push_back(clr.B()); + } else { + _surface_styles.push_back(-1.); + _surface_styles.push_back(-1.); + _surface_styles.push_back(-1.); + } + if (it->hasStyle() && it->Style().Transparency()) { + _surface_styles.push_back(1. - *it->Style().Transparency()); + } else { + _surface_styles.push_back(1.); + } + if (settings().get(IteratorSettings::CONVERT_BACK_UNITS)) { gp_Trsf scale; scale.SetScaleFactor(1.0 / settings().unit_magnitude()); diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index d921e80f93..32b8cc856a 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -76,9 +76,11 @@ namespace IfcGeom { private: int _id; std::string _brep_data; + std::vector _surface_styles; public: int id() const { return _id; } const std::string& brep_data() const { return _brep_data; } + const std::vector& surface_styles() const { return _surface_styles; } Serialization(const BRep& brep); virtual ~Serialization() {} private: diff --git a/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py b/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py index 004151ec1e..e98bad0544 100644 --- a/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py +++ b/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py @@ -18,18 +18,35 @@ ############################################################################### import random -from collections import namedtuple +import operator +from collections import namedtuple, Iterable import OCC.gp import OCC.V3d +import OCC.AIS import OCC.Quantity import OCC.BRepTools import OCC.Display.SimpleGui -tuple = namedtuple('shape', ('data', 'geometry')) +shape_tuple = namedtuple('shape_tuple', ('data', 'geometry', 'styles')) handle, main_loop, add_menu, add_function_to_menu = None, None, None, None +DEFAULT_STYLES = { + "DEFAULT" : (.7 , .7, .7 ), + "IfcWall" : (.8 , .8, .8 ), + "IfcSite" : (.75, .8, .65 ), + "IfcSlab" : (.4 , .4, .4 ), + "IfcWallStandardCase": (.9 , .9, .9 ), + "IfcWall" : (.9 , .9, .9 ), + "IfcWindow" : (.75, .8, .75, .3), + "IfcDoor" : (.55, .3, .15 ), + "IfcBeam" : (.75, .7, .7 ), + "IfcRailing" : (.65, .6, .6 ), + "IfcMember" : (.65, .6, .6 ), + "IfcPlate" : (.8 , .8, .8 ) +} + def initialize_display(): global handle, main_loop, add_menu, add_function_to_menu handle, main_loop, add_menu, add_function_to_menu = OCC.Display.SimpleGui.init_display() @@ -37,25 +54,113 @@ def initialize_display(): def setup(): viewer_handle = handle.GetViewer() viewer = viewer_handle.GetObject() - while True: + + def lights(): viewer.InitActiveLights() - try: active_light = viewer.ActiveLight() - except: break - viewer.DelLight(active_light) - viewer.NextActiveLights() - for dir in [(1,2,-3), (-2,-1,1)]: + while True: + try: active_light = viewer.ActiveLight() + except: break + yield active_light + viewer.NextActiveLights() + + lights = list(lights()) + for l in lights: + viewer.DelLight(l) + + for dir in [(3,2,1), (-1,-2,-3)]: light = OCC.V3d.V3d_DirectionalLight(viewer_handle) light.SetDirection(*dir) viewer.SetLightOn(light.GetHandle()) + setup() return handle - +def yield_subshapes(shape): + it = OCC.TopoDS.TopoDS_Iterator(shape) + while it.More(): + yield it.Value() + it.Next() + def display_shape(shape, clr=None): - if not clr: + if isinstance(shape, shape_tuple): + shape, representation = shape.geometry, shape + else: representation is None + + material = OCC.Graphic3d.Graphic3d_MaterialAspect(OCC.Graphic3d.Graphic3d_NOM_PLASTER) + material.SetDiffuse(1) + + if representation and not clr: + if len(set(representation.styles)) == 1: + clr = representation.styles[0] + if min(clr) < 0. or max(clr) > 1.: + clr = DEFAULT_STYLES.get(representation.data.type, DEFAULT_STYLES["DEFAULT"]) + + if clr: + ais = OCC.AIS.AIS_Shape(shape) + ais.SetMaterial(material) + + if isinstance(clr, str): + qclr = getattr(OCC.Quantity, "Quantity_NOC_%s" % clr.upper(), getattr(OCC.Quantity, "Quantity_NOC_%s1" % clr.upper(), None)) + if qclr is None: + raise Exception("No color named '%s'" % clr.upper()) + elif isinstance(clr, Iterable): + clr = tuple(clr) + if len(clr) < 3 and len(clr) > 4: + raise Exception("Need 3 or 4 colour components. Got '%r'." % clr) + qclr = OCC.Quantity.Quantity_Color(clr[0], clr[1], clr[2], OCC.Quantity.Quantity_TOC_RGB) + elif isinstance(clr, OCC.Quantity.Quantity_Color): + qclr = clr + else: + raise Exception("Object of type %r cannot be used as a color." % type(clr)) + + ais.SetColor(qclr) + if isinstance(clr, tuple) and len(clr) == 4 and clr[3] < 1.: + ais.SetTransparency(1. - clr[3]) + + elif representation: + default_style_applied = None + + ais = OCC.AIS.AIS_MultipleConnectedShape(shape) + + subshapes = list(yield_subshapes(shape)) + lens = len(representation.styles), len(subshapes) + if lens[0] != lens[1]: + import warnings + warnings.warn("Unable to assign styles to subshapes. Encountered %d styles for %d shapes." % lens) + else: + for shp, stl in zip(subshapes, representation.styles): + subshape = OCC.AIS.AIS_Shape(shp) + if min(stl) < 0. or max(stl) > 1.: + default_style_applied = stl = DEFAULT_STYLES.get(representation.data.type, DEFAULT_STYLES["DEFAULT"]) + subshape.SetColor(OCC.Quantity.Quantity_Color(stl[0], stl[1], stl[2], OCC.Quantity.Quantity_TOC_RGB)) + subshape.SetMaterial(material) + if len(stl) == 4 and stl[3] < 1.: + subshape.SetTransparency(1. - stl[3]) + ais.Connect(subshape.GetHandle()) + + # For some reason it is necessary to set transparency here again + # in order for transparency to be rendered on the subshape. + applied_styles = representation.styles + if default_style_applied: + if len(default_style_applied) == 3: default_style_applied += (1.,) + applied_styles += (default_style_applied,) + + min_transp = min(map(operator.itemgetter(3), applied_styles)) + if min_transp < 1.: + ais.SetTransparency(1.) + + else: + ais = OCC.AIS.AIS_Shape(shape) + ais.SetMaterial(material) + r = lambda: random.random() * 0.3 + 0.7 clr = OCC.Quantity.Quantity_Color(r(), r(), r(), OCC.Quantity.Quantity_TOC_RGB) - return handle.DisplayShape(shape, color=clr, update=True) + ais.SetColor(clr) + + ais_handle = ais.GetHandle() + handle.Context.Display(ais_handle, False) + + return ais_handle def set_shape_transparency(ais, t): @@ -69,17 +174,22 @@ def get_bounding_box_center(bbox): def create_shape_from_serialization(brep_object): - brep_data, occ_shape = None, None + brep_data, occ_shape, styles = None, None, () is_product_shape = True try: brep_data = brep_object.geometry.brep_data + styles = brep_object.geometry.surface_styles except: try: brep_data = brep_object.brep_data + styles = brep_object.surface_styles is_product_shape = False except: pass - if not brep_data: return tuple(brep_object, None) + + styles = tuple(styles[i:i+4] for i in range(0, len(styles), 4)) + + if not brep_data: return shape_tuple(brep_object, None, styles) try: ss = OCC.BRepTools.BRepTools_ShapeSet() @@ -88,7 +198,7 @@ def create_shape_from_serialization(brep_object): except: pass if is_product_shape: - return tuple(brep_object, occ_shape) + return shape_tuple(brep_object, occ_shape, styles) else: return occ_shape diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index e0db875565..3d40ab9f7d 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -168,6 +168,7 @@ struct ShapeRTTI : public boost::static_visitor # Hide the getters with read-only property implementations id = property(id) brep_data = property(brep_data) + surface_styles = property(surface_styles) %} }; From 884b3fe850f520a1d87ca810b440988b42824cf0 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 16 Apr 2016 14:47:09 +0200 Subject: [PATCH 150/157] Project wires onto a plane if non-planar. Fixes #57. --- src/ifcgeom/IfcGeom.h | 2 + src/ifcgeom/IfcGeomFaces.cpp | 15 ++++++- src/ifcgeom/IfcGeomFunctions.cpp | 74 ++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 2 deletions(-) diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index c593fbab95..1423da042b 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -128,6 +128,8 @@ public: void remove_collinear_points_from_loop(TColgp_SequenceOfPnt& polygon, bool closed, double tol=-1.); bool wire_to_sequence_of_point(const TopoDS_Wire&, TColgp_SequenceOfPnt&); void sequence_of_point_to_wire(const TColgp_SequenceOfPnt&, TopoDS_Wire&, bool closed); + bool approximate_plane_through_wire(const TopoDS_Wire&, gp_Pln&); + bool flatten_wire(TopoDS_Wire&); std::pair initializeUnits(IfcSchema::IfcUnitAssignment*); diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp index e7fd6e03d0..9b7b99c2fd 100644 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ b/src/ifcgeom/IfcGeomFaces.cpp @@ -202,7 +202,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcFace* l, TopoDS_Shape& face) { ShapeFix_ShapeTolerance FTol; FTol.SetTolerance(wire, getValue(GV_PRECISION), TopAbs_WIRE); + bool flattened_wire = false; + if (!mf) { + process_wire: + if (face_surface.IsNull()) { mf = new BRepBuilderAPI_MakeFace(wire); } else { @@ -264,9 +268,16 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcFace* l, TopoDS_Shape& face) { success = true; } } else { - Logger::Message(Logger::LOG_ERROR, "Failed to process face boundary", bound->entity); + const bool non_planar = mf->Error() == BRepBuilderAPI_NotPlanar; delete mf; - return false; + if (!non_planar || flattened_wire || !flatten_wire(wire)) { + Logger::Message(Logger::LOG_ERROR, "Failed to process face boundary", bound->entity); + return false; + } else { + Logger::Message(Logger::LOG_ERROR, "Flattening face boundary", bound->entity); + flattened_wire = true; + goto process_wire; + } } } else { diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 8123bcb041..e452fe4398 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -75,6 +75,8 @@ #include #include +#include + #include #include #include @@ -94,6 +96,7 @@ #include #include +#include #include #include @@ -1301,3 +1304,74 @@ const IfcSchema::IfcRepresentationItem* IfcGeom::Kernel::find_item_carrying_styl return item; } + +bool IfcGeom::Kernel::approximate_plane_through_wire(const TopoDS_Wire& wire, gp_Pln& plane) { + // Newell's Method is used for the normal calculation + // as a simple edge cross product can give opposite results + // for a concave face boundary. + // Reference: Graphics Gems III p. 231 + + double x = 0, y = 0, z = 0; + gp_Pnt current, previous, first; + gp_XYZ center; + int n = 0; + + BRepTools_WireExplorer exp(wire); + + for (;; exp.Next()) { + const bool has_more = exp.More(); + if (has_more) { + const TopoDS_Vertex& v = exp.CurrentVertex(); + current = BRep_Tool::Pnt(v); + center += current.XYZ(); + } else { + current = first; + } + if (n) { + const double& xn = previous.X(); + const double& yn = previous.Y(); + const double& zn = previous.Z(); + const double& xn1 = current.X(); + const double& yn1 = current.Y(); + const double& zn1 = current.Z(); + x += (yn - yn1)*(zn + zn1); + y += (xn + xn1)*(zn - zn1); + z += (xn - xn1)*(yn + yn1); + } else { + first = current; + } + if (!has_more) { + break; + } + previous = current; + ++n; + } + + if (n < 3) { + return false; + } + + plane = gp_Pln(center / n, gp_Dir(x, y, z)); + return true; +} + +bool IfcGeom::Kernel::flatten_wire(TopoDS_Wire& wire) { + gp_Pln pln; + if (!approximate_plane_through_wire(wire, pln)) { + return false; + } + TopoDS_Face face = BRepBuilderAPI_MakeFace(pln).Face(); + BRepAlgo_NormalProjection proj(face); + proj.Add(wire); + proj.Build(); + if (!proj.IsDone()) { + return false; + } + TopTools_ListOfShape list; + proj.BuildWire(list); + if (list.Extent() != 1) { + return false; + } + wire = TopoDS::Wire(list.First()); + return true; +} \ No newline at end of file From 1c1097c8a4f99d4a83c22e337bf43886478ae5ab Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 16 Apr 2016 14:47:34 +0200 Subject: [PATCH 151/157] Only convert faces once if sewing shell fails --- src/ifcgeom/IfcGeomShapes.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index f822400417..50bbc632fc 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -98,6 +98,8 @@ #include +#include + #include "../ifcgeom/IfcGeom.h" bool IfcGeom::Kernel::convert(const IfcSchema::IfcExtrudedAreaSolid* l, TopoDS_Shape& shape) { @@ -445,6 +447,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcConnectedFaceSet* l, TopoDS_Sh bool facesAdded = false; const unsigned int num_faces = (unsigned)faces->size(); bool valid_shell = false; + TopTools_ListOfShape face_list; if ( num_faces < getValue(GV_MAX_FACES_TO_SEW) ) { BRepOffsetAPI_Sewing builder; builder.SetTolerance(getValue(GV_POINT_EQUALITY_TOLERANCE)); @@ -458,6 +461,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcConnectedFaceSet* l, TopoDS_Sh } catch (...) {} if ( converted_face && face_area(face) > getValue(GV_MINIMAL_FACE_AREA) ) { builder.Add(face); + face_list.Append(face); facesAdded = true; } else { Logger::Message(Logger::LOG_WARNING,"Invalid face:",(*it)->entity); @@ -489,18 +493,10 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcConnectedFaceSet* l, TopoDS_Sh TopoDS_Compound compound; BRep_Builder builder; builder.MakeCompound(compound); - for( IfcSchema::IfcFace::list::it it = faces->begin(); it != faces->end(); ++ it ) { - TopoDS_Face face; - bool converted_face = false; - try { - converted_face = convert_face(*it,face); - } catch (...) {} - if ( converted_face && face_area(face) > getValue(GV_MINIMAL_FACE_AREA) ) { - builder.Add(compound,face); - facesAdded = true; - } else { - Logger::Message(Logger::LOG_WARNING,"Invalid face:",(*it)->entity); - } + TopTools_ListIteratorOfListOfShape face_iterator; + for (face_iterator.Initialize(face_list); face_iterator.More(); face_iterator.Next()) { + builder.Add(compound, face_iterator.Value()); + facesAdded = true; } if ( ! facesAdded ) return false; shape = compound; From 9fedbbff6d835bd59415db064f7e330b6a5865fb Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 17 Apr 2016 15:12:02 +0200 Subject: [PATCH 152/157] Only convert faces once if sewing shell fails pt.2 --- src/ifcgeom/IfcGeomShapes.cpp | 47 +++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 50bbc632fc..6a91581410 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -444,30 +444,38 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape bool IfcGeom::Kernel::convert(const IfcSchema::IfcConnectedFaceSet* l, TopoDS_Shape& shape) { IfcSchema::IfcFace::list::ptr faces = l->CfsFaces(); - bool facesAdded = false; - const unsigned int num_faces = (unsigned)faces->size(); - bool valid_shell = false; + TopTools_ListOfShape face_list; - if ( num_faces < getValue(GV_MAX_FACES_TO_SEW) ) { + for (IfcSchema::IfcFace::list::it it = faces->begin(); it != faces->end(); ++it) { + TopoDS_Face face; + try { + convert_face(*it, face); + } catch (...) { + continue; + } + if (face_area(face) > getValue(GV_MINIMAL_FACE_AREA)) { + face_list.Append(face); + } else { + Logger::Message(Logger::LOG_WARNING, "Invalid face:", (*it)->entity); + } + } + + if (face_list.Extent() == 0) { + return false; + } + + bool valid_shell = false; + + TopTools_ListIteratorOfListOfShape face_iterator; + + if ( face_list.Extent() < getValue(GV_MAX_FACES_TO_SEW) ) { BRepOffsetAPI_Sewing builder; builder.SetTolerance(getValue(GV_POINT_EQUALITY_TOLERANCE)); builder.SetMaxTolerance(getValue(GV_POINT_EQUALITY_TOLERANCE)); builder.SetMinTolerance(getValue(GV_POINT_EQUALITY_TOLERANCE)); - for( IfcSchema::IfcFace::list::it it = faces->begin(); it != faces->end(); ++ it ) { - TopoDS_Face face; - bool converted_face = false; - try { - converted_face = convert_face(*it,face); - } catch (...) {} - if ( converted_face && face_area(face) > getValue(GV_MINIMAL_FACE_AREA) ) { - builder.Add(face); - face_list.Append(face); - facesAdded = true; - } else { - Logger::Message(Logger::LOG_WARNING,"Invalid face:",(*it)->entity); - } + for (face_iterator.Initialize(face_list); face_iterator.More(); face_iterator.Next()) { + builder.Add(face_iterator.Value()); } - if ( ! facesAdded ) return false; try { builder.Perform(); shape = builder.SewedShape(); @@ -493,12 +501,9 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcConnectedFaceSet* l, TopoDS_Sh TopoDS_Compound compound; BRep_Builder builder; builder.MakeCompound(compound); - TopTools_ListIteratorOfListOfShape face_iterator; for (face_iterator.Initialize(face_list); face_iterator.More(); face_iterator.Next()) { builder.Add(compound, face_iterator.Value()); - facesAdded = true; } - if ( ! facesAdded ) return false; shape = compound; } return true; From 1d1fb6d27a5bb1f221aed4dc290c1dc99a324e0f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 17 Apr 2016 15:27:05 +0200 Subject: [PATCH 153/157] First steps towards a PyQt4 application --- .../ifcopenshell/__init__.py | 2 + .../ifcopenshell/geom/__init__.py | 90 +---- .../ifcopenshell/geom/app.py | 370 ++++++++++++++++++ .../ifcopenshell/geom/main.py | 86 ++++ .../ifcopenshell/geom/occ_utils.py | 14 +- src/ifcwrap/IfcParseWrapper.i | 11 + 6 files changed, 480 insertions(+), 93 deletions(-) create mode 100644 src/ifcopenshell-python/ifcopenshell/geom/app.py create mode 100644 src/ifcopenshell-python/ifcopenshell/geom/main.py diff --git a/src/ifcopenshell-python/ifcopenshell/__init__.py b/src/ifcopenshell-python/ifcopenshell/__init__.py index 8e8435baed..1fe59e2b03 100644 --- a/src/ifcopenshell-python/ifcopenshell/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/__init__.py @@ -92,6 +92,7 @@ class entity_instance(object): def is_a(self, *args): return self.wrapped_data.is_a(*args) def id(self): return self.wrapped_data.id() def __eq__(self, other): + if type(self) != type(other): return False return self.wrapped_data == other.wrapped_data def __hash__(self): return hash((self.id(), self.wrapped_data.file_pointer())) @@ -151,3 +152,4 @@ def create_entity(type,*args,**kwargs): version = ifcopenshell_wrapper.version() schema_identifier = ifcopenshell_wrapper.schema_identifier() +get_supertype = ifcopenshell_wrapper.get_supertype diff --git a/src/ifcopenshell-python/ifcopenshell/geom/__init__.py b/src/ifcopenshell-python/ifcopenshell/geom/__init__.py index f4d05f86dc..347851aa07 100644 --- a/src/ifcopenshell-python/ifcopenshell/geom/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/geom/__init__.py @@ -1,88 +1,2 @@ -############################################################################### -# # -# This file is part of IfcOpenShell. # -# # -# IfcOpenShell is free software: you can redistribute it and/or modify # -# it under the terms of the Lesser GNU General Public License as published by # -# the Free Software Foundation, either version 3.0 of the License, or # -# (at your option) any later version. # -# # -# IfcOpenShell is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# Lesser GNU General Public License for more details. # -# # -# You should have received a copy of the Lesser GNU General Public License # -# along with this program. If not, see . # -# # -############################################################################### - -import os -import sys - -from .. import ifcopenshell_wrapper - -def has_occ(): - try: import OCC.BRepTools - except: return False - return True - - -has_occ = has_occ() -wrap_shape_creation = lambda settings, shape: shape -if has_occ: - from . import occ_utils as utils - wrap_shape_creation = lambda settings, shape: utils.create_shape_from_serialization(shape) if getattr(settings, 'use_python_opencascade', False) else shape - - -# Subclass the settings module to provide an additional -# setting to enable pythonOCC when available -class settings(ifcopenshell_wrapper.settings): - if has_occ: - USE_PYTHON_OPENCASCADE = -1 - def set(self, *args): - setting, value = args - if setting == settings.USE_PYTHON_OPENCASCADE: - self.set(settings.USE_BREP_DATA, value) - self.set(settings.USE_WORLD_COORDS, value) - self.set(settings.DISABLE_TRIANGULATION, value) - self.use_python_opencascade = value - else: - ifcopenshell_wrapper.settings.set(self, *args) - - -# Hide templating precision to the user by choosing based on Python's -# internal float type. This is probably always going to be a double. -for ty in (ifcopenshell_wrapper.iterator_single_precision, ifcopenshell_wrapper.iterator_double_precision): - if ty.mantissa_size() == sys.float_info.mant_dig: - _iterator = ty - - -# Make sure people are able to use python's platform agnostic paths -class iterator(_iterator): - def __init__(self, settings, filename): - self.settings = settings - _iterator.__init__(self, settings, os.path.abspath(filename)) - if has_occ: - def get(self): - return wrap_shape_creation(self.settings, _iterator.get(self)) - - -def create_shape(settings, inst, repr=None): - return wrap_shape_creation( - settings, - ifcopenshell_wrapper.create_shape( - settings, - inst.wrapped_data, - repr.wrapped_data if repr is not None else None - )) - - -def iterate(settings, filename): - it = iterator(settings, filename) - if it.initialize(): - while True: - yield it.get() - if not it.next(): break - - +from . import occ_utils as utils +from .main import * diff --git a/src/ifcopenshell-python/ifcopenshell/geom/app.py b/src/ifcopenshell-python/ifcopenshell/geom/app.py new file mode 100644 index 0000000000..37f2c09f72 --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/geom/app.py @@ -0,0 +1,370 @@ +import sys +import time +import operator +import functools + +import OCC.AIS + +import ifcopenshell + +from collections import defaultdict, Iterable + +from PyQt4 import QtGui, QtCore + +try: from OCC.Display.pyqt4Display import qtViewer3d +except: + import OCC.Display + OCC.Display.backend.get_backend("qt-pyqt4") + from OCC.Display.qtDisplay import qtViewer3d + +from .main import create_shape, settings +from .occ_utils import display_shape + +# Depending on Python version and what not there may or may not be a QString +try: + from PyQt4.QtCore import QString +except ImportError: + QString = str + +class application(QtGui.QApplication): + + """A pythonOCC, PyQt based IfcOpenShell application + with two tree views and a graphical 3d view""" + + class abstract_treeview(QtGui.QTreeWidget): + + """Base class for the two treeview controls""" + + instanceSelected = QtCore.pyqtSignal([object]) + instanceVisibilityChanged = QtCore.pyqtSignal([object, int]) + instanceDisplayModeChanged = QtCore.pyqtSignal([object, int]) + + def __init__(self): + QtGui.QTreeView.__init__(self) + self.setColumnCount(len(self.ATTRIBUTES)) + self.setHeaderLabels(self.ATTRIBUTES) + self.children = defaultdict(list) + + def get_children(self, inst): + c = [inst] + i = 0 + while i < len(c): + c.extend(self.children[c[i]]) + i += 1 + return c + + def contextMenuEvent(self, event): + menu = QtGui.QMenu(self) + visibility = [menu.addAction("Show"), menu.addAction("Hide")] + displaymode = [menu.addAction("Solid"), menu.addAction("Wireframe")] + action = menu.exec_(self.mapToGlobal(event.pos())) + index = self.selectionModel().currentIndex() + inst = index.data(QtCore.Qt.UserRole) + if hasattr(inst, 'toPyObject'): + inst = inst.toPyObject() + if action in visibility: + self.instanceVisibilityChanged.emit(inst, visibility.index(action)) + elif action in displaymode: + self.instanceDisplayModeChanged.emit(inst, displaymode.index(action)) + + def clicked(self, index): + inst = index.data(QtCore.Qt.UserRole) + if hasattr(inst, 'toPyObject'): + inst = inst.toPyObject() + if inst: + self.instanceSelected.emit(inst) + + def select(self, product): + itm = self.product_to_item.get(product) + if itm is None: return + self.selectionModel().setCurrentIndex(itm, QtGui.QItemSelectionModel.SelectCurrent | QtGui.QItemSelectionModel.Rows); + + class decomposition_treeview(abstract_treeview): + + """Treeview with typical IFC decomposition relationships""" + + ATTRIBUTES = ['Entity', 'GlobalId', 'Name'] + + def parent(self, instance): + if instance.is_a("IfcOpeningElement"): + return instance.VoidsElements[0].RelatingBuildingElement + if instance.is_a("IfcElement"): + fills = instance.FillsVoids + if len(fills): + return fills[0].RelatingOpeningElement + containments = instance.ContainedInStructure + if len(containments): + return containments[0].RelatingStructure + if instance.is_a("IfcObjectDefinition"): + decompositions = instance.Decomposes + if len(decompositions): + return decompositions[0].RelatingObject + + def load_file(self, f): + products = list(f.by_type("IfcProduct")) + list(f.by_type("IfcProject")) + parents = list(map(self.parent, products)) + items = {} + skipped = 0 + ATTRS = self.ATTRIBUTES + while len(items) + skipped < len(products): + for product, parent in zip(products, parents): + if parent is None and not product.is_a("IfcProject"): + skipped += 1 + continue + if (parent is None or parent in items) and product not in items: + sl = [] + for attr in ATTRS: + if attr == 'Entity': + sl.append(product.is_a()) + else: + sl.append(getattr(product, attr) or '') + itm = items[product] = QtGui.QTreeWidgetItem(items.get(parent, self), sl) + itm.setData(0, QtCore.Qt.UserRole, product) + self.children[parent].append(product) + self.product_to_item = dict(zip(items.keys(), map(self.indexFromItem, items.values()))) + self.connect(self, QtCore.SIGNAL("clicked(const QModelIndex &)"), self.clicked) + self.expandAll() + + class type_treeview(abstract_treeview): + + """Treeview with typical IFC decomposition relationships""" + + ATTRIBUTES = ['Name'] + + def load_file(self, f): + products = list(f.by_type("IfcProduct")) + types = set(map(lambda i: i.is_a(), products)) + items = {} + for t in types: + def add(t): + s = ifcopenshell.get_supertype(t) + if s: add(s) + s2, t2 = map(QString, (s,t)) + if t2 not in items: + itm = items[t2] = QtGui.QTreeWidgetItem(items.get(s2, self), [t2]) + itm.setData(0, QtCore.Qt.UserRole, t2) + self.children[s2].append(t2) + add(t) + + for p in products: + t = QString(p.is_a()) + itm = items[p] = QtGui.QTreeWidgetItem(items.get(t, self), [p.Name or '']) + itm.setData(0, QtCore.Qt.UserRole, t) + self.children[t].append(p) + + self.product_to_item = dict(zip(items.keys(), map(self.indexFromItem, items.values()))) + self.connect(self, QtCore.SIGNAL("clicked(const QModelIndex &)"), self.clicked) + self.expandAll() + + class viewer(qtViewer3d): + + instanceSelected = QtCore.pyqtSignal([object]) + + @staticmethod + def ais_to_key(ais_handle): + def yield_shapes(): + ais = ais_handle.GetObject() + if hasattr(ais, 'Shape'): + yield ais.Shape() + return + shp = OCC.AIS.Handle_AIS_Shape.DownCast(ais_handle) + if not shp.IsNull(): yield shp.Shape() + return + mult = ais_handle + if mult.IsNull(): + shp = OCC.AIS.Handle_AIS_Shape.DownCast(ais_handle) + if not shp.IsNull(): yield shp + else: + li = mult.GetObject().ConnectedTo() + for i in range(li.Length()): + shp = OCC.AIS.Handle_AIS_Shape.DownCast(li.Value(i+1)) + if not shp.IsNull(): yield shp + return tuple(shp.HashCode(1 << 24) for shp in yield_shapes()) + + def __init__(self, widget): + qtViewer3d.__init__(self, widget) + self.ais_to_product = {} + self.product_to_ais = {} + self.counter = 0 + self.window = widget + + def initialize(self): + self.InitDriver() + self._display.Select = self.HandleSelection + + def load_file(self, f): + + s = settings() + s.set(s.USE_PYTHON_OPENCASCADE, True) + + v = self._display + + t = {0: time.time()} + def update(dt = None): + t1 = time.time() + if t1 - t[0] > (dt or -1): + v.FitAll() + v.Repaint() + t[0] = t1 + + terminate = [False] + self.window.window_closed.connect(lambda *args: operator.setitem(terminate, 0, True)) + + for p in f.by_type("IfcProduct"): + if terminate[0]: break + if p.Representation is None: continue + shape = create_shape(s, p) + ais = display_shape(shape, viewer_handle=v) + ais.GetObject().SetSelectionPriority(self.counter) + self.ais_to_product[self.counter] = p + self.product_to_ais[p] = ais + self.counter += 1 + QtGui.QApplication.processEvents() + if p.is_a() in {'IfcSpace', 'IfcOpeningElement'}: + v.Context.Erase(ais, True) + update(0.1) + update() + + def select(self, product): + ais = self.product_to_ais.get(product) + if ais is None: return + v = self._display.Context + v.ClearSelected(False) + v.SetSelected(ais, True) + + def toggle(self, product_or_products, fn): + if not isinstance(product_or_products, Iterable): + product_or_products = [product_or_products] + aiss = list(filter(None, map(self.product_to_ais.get, product_or_products))) + last = len(aiss) - 1 + for i, ais in enumerate(aiss): + fn(ais, i == last) + + def toggle_visibility(self, product_or_products, flag): + v = self._display.Context + if flag: + def visibility(ais, last): + v.Erase(ais, last) + else: + def visibility(ais, last): + v.Display(ais, last) + self.toggle(product_or_products, visibility) + + def toggle_wireframe(self, product_or_products, flag): + v = self._display.Context + if flag: + def wireframe(ais, last): + if v.IsDisplayed(ais): + v.SetDisplayMode(ais, 0, last) + else: + def wireframe(ais, last): + if v.IsDisplayed(ais): + v.SetDisplayMode(ais, 1, last) + self.toggle(product_or_products, wireframe) + + def HandleSelection(self, X, Y): + v = self._display.Context + v.Select() + v.InitSelected() + if v.MoreSelected(): + ais = v.SelectedInteractive() + inst = self.ais_to_product[ais.GetObject().SelectionPriority()] + self.instanceSelected.emit(inst) + + class window(QtGui.QMainWindow): + + TITLE = "IfcOpenShell IFC viewer" + + window_closed = QtCore.pyqtSignal([]) + + def __init__(self): + QtGui.QMainWindow.__init__(self) + self.setWindowTitle(self.TITLE) + self.menu = self.menuBar() + self.menus = {} + + def closeEvent(self, *args): + self.window_closed.emit() + + def add_menu_item(self, menu, label, callback, icon=None, shortcut=None): + m = self.menus.get(menu) + if m is None: + m = self.menu.addMenu(menu) + self.menus[menu] = m + + if icon: + a = QtGui.QAction(QtGui.QIcon(icon), label, self) + else: + a = QtGui.QAction(label, self) + + if shortcut: + a.setShortcut(shortcut) + + a.triggered.connect(callback) + m.addAction(a) + + + def makeSelectionHandler(self, component): + def handler(inst): + for c in self.components: + if c != component: + c.select(inst) + return handler + + def __init__(self): + QtGui.QApplication.__init__(self, sys.argv) + self.window = application.window() + self.tree = application.decomposition_treeview() + self.tree2 = application.type_treeview() + self.canvas = application.viewer(self.window) + self.tabs = QtGui.QTabWidget() + self.window.resize(800, 600) + splitter = QtGui.QSplitter(QtCore.Qt.Horizontal) + splitter.addWidget(self.tabs) + self.tabs.addTab(self.tree, 'Decomposition') + self.tabs.addTab(self.tree2, 'Types') + splitter.addWidget(self.canvas) + splitter.setSizes([200,600]) + self.window.setCentralWidget(splitter) + self.canvas.initialize() + self.components = [self.tree, self.tree2, self.canvas] + self.files = {} + + self.window.add_menu_item('File', '&Open', self.browse, shortcut='CTRL+O') + self.window.add_menu_item('File', '&Close', self.clear, shortcut='CTRL+W') + self.window.add_menu_item('File', '&Exit', self.window.close, shortcut='ALT+F4') + + self.tree.instanceSelected.connect(self.makeSelectionHandler(self.tree)) + self.tree2.instanceSelected.connect(self.makeSelectionHandler(self.tree2)) + self.canvas.instanceSelected.connect(self.makeSelectionHandler(self.canvas)) + for t in [self.tree, self.tree2]: + t.instanceVisibilityChanged.connect(functools.partial(self.change_visibility, t)) + t.instanceDisplayModeChanged.connect(functools.partial(self.change_displaymode, t)) + + def change_visibility(self, tree, inst, flag): + insts = tree.get_children(inst) + self.canvas.toggle_visibility(insts, flag) + + def change_displaymode(self, tree, inst, flag): + insts = tree.get_children(inst) + self.canvas.toggle_wireframe(insts, flag) + + def start(self): + self.window.show() + sys.exit(self.exec_()) + + def browse(self): + filename = QtGui.QFileDialog.getOpenFileName(self.window, 'Open file',".","Industry Foundation Classes (*.ifc)") + self.load(filename) + + def clear(self): + self.canvas._display.Context.RemoveAll() + self.tree.clear() + self.files.clear() + + def load(self, fn): + if fn in self.files: return + f = ifcopenshell.open(fn) + self.files[fn] = f + for c in self.components: + c.load_file(f) diff --git a/src/ifcopenshell-python/ifcopenshell/geom/main.py b/src/ifcopenshell-python/ifcopenshell/geom/main.py new file mode 100644 index 0000000000..b325793df2 --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/geom/main.py @@ -0,0 +1,86 @@ +############################################################################### +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +import os +import sys + +from .. import ifcopenshell_wrapper + +def has_occ(): + try: import OCC.BRepTools + except: return False + return True + + +has_occ = has_occ() +wrap_shape_creation = lambda settings, shape: shape +if has_occ: + from . import occ_utils as utils + wrap_shape_creation = lambda settings, shape: utils.create_shape_from_serialization(shape) if getattr(settings, 'use_python_opencascade', False) else shape + +# Subclass the settings module to provide an additional +# setting to enable pythonOCC when available +class settings(ifcopenshell_wrapper.settings): + if has_occ: + USE_PYTHON_OPENCASCADE = -1 + def set(self, *args): + setting, value = args + if setting == settings.USE_PYTHON_OPENCASCADE: + self.set(settings.USE_BREP_DATA, value) + self.set(settings.USE_WORLD_COORDS, value) + self.set(settings.DISABLE_TRIANGULATION, value) + self.use_python_opencascade = value + else: + ifcopenshell_wrapper.settings.set(self, *args) + +# Hide templating precision to the user by choosing based on Python's +# internal float type. This is probably always going to be a double. +for ty in (ifcopenshell_wrapper.iterator_single_precision, ifcopenshell_wrapper.iterator_double_precision): + if ty.mantissa_size() == sys.float_info.mant_dig: + _iterator = ty + + +# Make sure people are able to use python's platform agnostic paths +class iterator(_iterator): + def __init__(self, settings, filename): + self.settings = settings + _iterator.__init__(self, settings, os.path.abspath(filename)) + if has_occ: + def get(self): + return wrap_shape_creation(self.settings, _iterator.get(self)) + + +def create_shape(settings, inst, repr=None): + return wrap_shape_creation( + settings, + ifcopenshell_wrapper.create_shape( + settings, + inst.wrapped_data, + repr.wrapped_data if repr is not None else None + )) + + +def iterate(settings, filename): + it = iterator(settings, filename) + if it.initialize(): + while True: + yield it.get() + if not it.next(): break + + diff --git a/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py b/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py index e98bad0544..aa596143d7 100644 --- a/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py +++ b/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py @@ -81,7 +81,9 @@ def yield_subshapes(shape): yield it.Value() it.Next() -def display_shape(shape, clr=None): +def display_shape(shape, clr=None, viewer_handle=None): + if viewer_handle is None: viewer_handle = handle + if isinstance(shape, shape_tuple): shape, representation = shape.geometry, shape else: representation is None @@ -145,9 +147,11 @@ def display_shape(shape, clr=None): if len(default_style_applied) == 3: default_style_applied += (1.,) applied_styles += (default_style_applied,) - min_transp = min(map(operator.itemgetter(3), applied_styles)) - if min_transp < 1.: - ais.SetTransparency(1.) + if len(applied_styles): + # The only way for this not to be true if is the entire shape is NULL + min_transp = min(map(operator.itemgetter(3), applied_styles)) + if min_transp < 1.: + ais.SetTransparency(1.) else: ais = OCC.AIS.AIS_Shape(shape) @@ -158,7 +162,7 @@ def display_shape(shape, clr=None): ais.SetColor(clr) ais_handle = ais.GetHandle() - handle.Context.Display(ais_handle, False) + viewer_handle.Context.Display(ais_handle, False) return ais_handle diff --git a/src/ifcwrap/IfcParseWrapper.i b/src/ifcwrap/IfcParseWrapper.i index 24ace4cf10..d7c47767c2 100644 --- a/src/ifcwrap/IfcParseWrapper.i +++ b/src/ifcwrap/IfcParseWrapper.i @@ -220,4 +220,15 @@ namespace IfcUtil { const char* const version() { return IFCOPENSHELL_VERSION; } + + std::string get_supertype(std::string n) { + boost::to_upper(n); + /// @todo: Redo without copy once Parent() function from performance_improvements branch is in. + IfcSchema::Type::Enum t = IfcSchema::Type::FromString(n); + if (IfcSchema::Type::Parent(t) != -1) { + return IfcSchema::Type::ToString(IfcSchema::Type::Parent(t)); + } else { + return ""; + } + } %} \ No newline at end of file From 416b1630509556814ae71bd3abb561012f84f103 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 19 Apr 2016 15:42:59 +0200 Subject: [PATCH 154/157] Correct display_shape on TopoDS_Shape --- src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py b/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py index aa596143d7..e8ec739f94 100644 --- a/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py +++ b/src/ifcopenshell-python/ifcopenshell/geom/occ_utils.py @@ -86,7 +86,7 @@ def display_shape(shape, clr=None, viewer_handle=None): if isinstance(shape, shape_tuple): shape, representation = shape.geometry, shape - else: representation is None + else: representation = None material = OCC.Graphic3d.Graphic3d_MaterialAspect(OCC.Graphic3d.Graphic3d_NOM_PLASTER) material.SetDiffuse(1) From d8919c50abb98afc60963bf43cf5df95602acd1c Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 19 Apr 2016 16:44:08 +0200 Subject: [PATCH 155/157] Fix serialization of list of list of entity instance --- src/ifcparse/IfcWrite.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ifcparse/IfcWrite.cpp b/src/ifcparse/IfcWrite.cpp index c834e60972..cafe59fd9d 100644 --- a/src/ifcparse/IfcWrite.cpp +++ b/src/ifcparse/IfcWrite.cpp @@ -111,7 +111,10 @@ std::string IfcWritableEntity::toString(bool upper) const { return ss.str(); } -unsigned int IfcWritableEntity::id() { +unsigned int IfcWritableEntity::id() { + if (!file) { + return 0; + } if ( !_id ) { _id = new int(file->FreshId()); } @@ -414,8 +417,8 @@ public: void operator()(const IfcEntityListList::ptr& i) { data << "("; for (IfcEntityListList::outer_it outer_it = i->begin(); outer_it != i->end(); ++outer_it) { - data << "("; if (outer_it != i->begin()) data << ","; + data << "("; for (IfcEntityListList::inner_it inner_it = outer_it->begin(); inner_it != outer_it->end(); ++inner_it) { if (inner_it != outer_it->begin()) data << ","; (*this)(*inner_it); @@ -501,7 +504,7 @@ IfcWriteArgument::operator std::vector< boost::dynamic_bitset<> >() const { retu IfcWriteArgument::operator IfcEntityList::ptr() const { return as(); } IfcWriteArgument::operator std::vector< std::vector >() const { return as > >(); } IfcWriteArgument::operator std::vector< std::vector >() const { return as > >(); } -IfcWriteArgument::operator IfcEntityListList::ptr() const { throw; } +IfcWriteArgument::operator IfcEntityListList::ptr() const { return as(); } bool IfcWriteArgument::isNull() const { return type() == IfcUtil::Argument_NULL; } Argument* IfcWriteArgument::operator [] (unsigned int /*i*/) const { throw IfcParse::IfcException("Invalid cast"); } std::string IfcWriteArgument::toString(bool upper) const { From 1e262c8768af68bc7cbe821580e57de855dc9dab Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 23 Apr 2016 11:42:11 +0200 Subject: [PATCH 156/157] Update build script to install pyqt app --- src/ifcwrap/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index ba2b6a0c59..eb6af21f3a 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -73,6 +73,8 @@ IF(PYTHONINTERP_FOUND) DESTINATION "${python_package_dir}/ifcopenshell") INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/__init__.py" + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/app.py" + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/main.py" "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/occ_utils.py" DESTINATION "${python_package_dir}/ifcopenshell/geom") INSTALL(TARGETS _ifcopenshell_wrapper DESTINATION "${python_package_dir}/ifcopenshell") From a1d584796a2691989f38ab2ab68c9e566923f51a Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 1 May 2016 20:38:10 +0200 Subject: [PATCH 157/157] Set reasonable defaults for caching behavior --- src/ifcgeom/IfcGeom.h | 4 +++- src/ifcgeom/IfcGeomIterator.h | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index fa0823acd1..02f6693217 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -46,7 +46,9 @@ #include "../ifcgeom/IfcRepresentationShapeItem.h" #include "../ifcgeom/IfcGeomShapeType.h" -#define NO_CACHE +// Define this in case you want to conserve memory usage at all cost. This has been +// benchmarked extensively: https://github.com/IfcOpenShell/IfcOpenShell/pull/47 +// #define NO_CACHE #ifdef NO_CACHE diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index 2d0cca7415..a536198c64 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -324,8 +324,12 @@ namespace IfcGeom { private: // Move to the next IfcRepresentation void _nextShape() { - if (done % 100 == 99) { - // kernel.purge_cache(); + // In order to conserve memory and reduce cache insertion times, the cache is + // cleared after an arbitary number of processed representations. This has been + // benchmarked extensively: https://github.com/IfcOpenShell/IfcOpenShell/pull/47 + static const int clear_interval = 64; + if (done % clear_interval == clear_interval - 1) { + kernel.purge_cache(); } ifcproducts.reset(); ++ representation_iterator;