Macro THIRDPARTY_PRODUCT was updated to create separate variable which contains all used 3rdparty dll/library directories (used custom.bat/sh files).
Name of Tcl/Tk libraries for search were updated.
1. The TestTopOpe* packages have been removed.
2. The commands *compare*, *issubshape* and *projponf* have been moved to BRepTest package.
3. The possibility to change the Extrema options has been added to projection algorithm (GeomAPI_ProjectPointOnSurf).
4. Documentation has been updated.
Enumeration Image_PixMap::ImgFormat, previously declared as nested
enumeration within class *Image_PixMap*,
has been moved to global namespace as Image_Format following OCCT coding rules.
The enumeration values have suffix Image_Format_ and preserve
previous name scheme for easy renaming of old values.
E.g. Image_PixMap::ImgGray become Image_Format_Gray.
Old definitions are preserved as depreacated aliases to the new ones.
CMake variable BUILD_ENABLE_FPE_SIGNAL_HANDLER was added to enable FPE signals during runtime.
Updated description of BUILD_ENABLE_FPE_SIGNAL_HANDLER_DESCR variable.
Eliminated usage of ANSI methods.
All Visual Studio projects generated by genproj or CMake use Unicode character set.
Draw Harness now handles Unicode input on Windows.
Tcl test scripts are now expected in UTF-8 encoding by default.
Added toolchain file for using built-in Android cross-compiling support in CMake 3.7
Added variable CMAKE_ANDROID_STL_TYPE for Android platform build via CMake.
Updated documentation about building of occt for UWP and Android via CMake.
Eliminated CMake warning CMP0054 for Android platform build.
Ability to generate UWP solution was added to genproj command, applied when VC version set to "vc14-uwp".
Environment variables are used to find installed Microsoft SDKs.
Visual Studio project option "Use precompiled headers" is set to "Not Using" by default.
Character set option of VS project Unicode is used instead of preprocessor definitions for UWP projects.
Class Dico_Dictionary was replaced by NCollection_DataMap/NCollection_IndexedDataMap classes.
Changed argument name in template class NCollection_Datamap to eliminate redefinitions of static members in dependent code.
Generation of header files from resource files was added to CMake and genproj procedures.
Message_MsgFile has been extended with new method ::LoadFromString()
for loading messages from embedded resources.
Message_MsgFile::LoadFromString() is now a preferred way
for loading message resources by application
as alternative to environment variables.
TObje/TObj.msg is now embedded into TObj_Application.cxx.
TObj_Application now loads its global messages
on instantiation of the first class instance.
UnitsAPI/Lexi_Expr.dat now completely embedded into Units_Lexicon.cxx.
UnitsAPI/Units.dat now embedded into Units_UnitsDictionary.cxx
but can be regenerated from resource file.
The definition of the following units have been removed:
benne à charbon, calorie (diététique).
Unused message files XSMessage/IGES.us and IGES.fr have been removed.
Related code IGESData.cxx has been removed as well.
XSMessage/XSTEP.us is now embedded into Interface_StaticStandards.cxx
and used for fallback initialization in case when file resources
defined by CSF_XSMessage environment variable are missing.
SHMessage/SHAPE.us is now embedded into ShapeExtend.cxx
and used for fallback initialization in case when file resources
defined by CSF_XHMessage environment variable are missing.
Duplicating code has been removed from ShapeProcess_OperLibrary.cxx.
Shaders/Declarations.glsl and Shaders/DeclarationsImpl.glsl
are now embedded into OpenGl_ShaderProgram.cxx.
CSF_ShadersDirectory is no more required for using OCCT 3D Viewer.
Ray-Tracing GLSL programs from Shaders are now embedded into OpenGl_View_Raytrace.cxx.
File resources are still used instead of embedded programs
when CSF_ShadersDirectory is defined, but this functionality
is intended for OCCT development.
Enumeration Graphic3d_ShaderProgram::ShaderName_Phong
demonstrating custom GLSL program usage has been removed.
Documentation is generated automatically during build/install process
Added check of minimum Doxygen version.
Install process causes generation of Overview documentation (unless already generated) by checking of occt_logo.png file existing.
Overview project regenerates documentation if any source file was changed.
OpenGl_ShaderManager::prepareStdProgramFboBlit() now tries using extension
GL_EXT_frag_depth within OpenGL ES 2.0 when OpenGL ES 3.0 is not available.
OpenGl_View::blitBuffers() now disables Depth test
when copying depth values is not supported by OpenGL ES 2.0 hardware.
Fixed building for UWP with SDK 10.0.10240.0
Fixed building TKService, TKV3d and TKOpenGl for UWP.
OSD_Environment now defines global environment map
for emulating desktop behavior on UWP.
- Toolchain file to configure a Visual Studio generator for a Windows 10 Universal Application was added (CMake).
- There is no support for environment variables in UWP.
- SID is not supported (were excluded).
- Windows registry is not supported (were excluded).
- Mess with usage of Unicode/ANSI was corrected.
- Added sample to check UWP functionality.
- Excluded usage of methods with Unicode characters where it is possible.
- Minor corrections to allow building OCAF (except TKVCAF) and DE (except VRML and XDE)
- Building of unsupported modules for UWP platform is off by default .
- Checking of DataExchange functionality was added to XAML (UWP) sample.
- Added information about UWP to the documentation.
- Update of results of merge with issue 27801
Dependency from FreeImagePlus.dll (but not FreeImage.dll) has been removed.
Method V3d_View::Export() has been marked as deprecated.
Added Standard_DISABLE_DEPRECATION_WARNINGS and Standard_ENABLE_DEPRECATION_WARNINGS
to eliminate compiler warnings for using deprecated APIs within Draw Harness for testing.
compatibility with gcc 4.5-
- Added new static methods Read and Write in BinTools class to store/retrieve a shape in binary format.
- Added new draw commands "binsave" and "binrestore"
- Added test cases to test the new methods.
- Updated documantation with desription of the new BinTools class methods and corresponding BRepTools class methods.
Fields to store cached instances of reader and writer drivers for each format are added in CDF_Application.
Method DefineFormat() is added in TDocStd_Application, allowing defining format completely by single call, including drivers to be used for persistence.
All OCAF driver packages provide static method DefineFormat() that defines standard OCAF persistence format supported by corresponding package; these methods are called in DRAW to enable all persistence by default.
DRAW commands (except TObj-specific ones) now use single instance of OCAF Application, returned by DDocStd::GetApplication(). Other instances are eliminated, as well as method DDocStd::Find(const Handle(TDocStd_Application)&).
Method MessageDriver() and relevant field are moved to TDocStd_Application from its descendants.
Method CDF_Application::ReaderFromFormat() is made virtual to allow its redefinition in descendants.
Creation of storage driver is moved from PCDM::StorageDriver() to new virtual method CDF_Application::WriterFromFormat().
The code loading driver as plugin is retained in both these methods for compatibility.
Test command OCC24925 is converted to use virtual methods instead of defining plugin resource.
Migration table for old OCAF types is hard-coded in Storage_Schema::CheckTypeMigration().
Removed obsolete and unused items:
- FWOSPlugin library (driver is created directly)
- Methods in classes CDM_Document dealing with unused parameters of format
- DRAW command OCC23010 for testing non-reproducible issue #23010
- Methods PCDM::StorageDriver(), PCDM::FindStorageDriver()
- Method Formats() from CDF_Application and descendants
- Methods LoadExtensions and SchemaName from PCDM_StorageDriver
- Method Plugin::AdditionalPluginMap()
- Method BinLDrivers_DocumentStorageDriver::SchemaName()
- Method CDF_Application::DefaultExtension(), Reader(), FindReader(), FindReaderFromFormat()
- Method CDF_Store::Check()
Forcing CMAKE_CXX_FLAGS_RELEASE to -O2 -DNDEBUG, if the compiler is MinGW-w64.
Switched to replacing optimization parameter instead of overwriting
CMAKE_CXX_FLAGS_RELEASE string
Setting CSF_GL2PS in occt_csf.cmake in the same way as CSF_FREETYPE is set.
Added MinGw library suffix to a in 3rdparty_macro.cmake, freetype.cmake and tbb.cmake.
Removed redundant CSF_GL2PS definition for non-Win32 configurations
Classes from ShapeConstruct duplicating the ones from Convert package are removed.
Protection against joining segments when degree is 1 is introduced in Convert classes.
Optimization previously made in Convert_CompBezierCurvesToBSplineCurve class (within #25256) is applied to 2d equivalent.
Data for automatic upgrade procedure are extended to replace removed classes by their duplicates from Convert.
// cout disabled unless OCCT_DEBUG is defined
Linking against 3rd-party libs when configuring a static OCCT build is eliminated.
math library is not linked if build is static
also: an info message is expanded by several words describing using of only header files of 3rdparties
Removed unnecessary for static build CMake gui variables
Enabled creation of CMake target files (one per module) for OCCT at install time.
Variables enumerating available OCCT toolkits by module are added in CMake configuration file.
Added check of availability of OCCT modules specified by OpenCASCADE_FIND_COMPONENTS variable.
Location of CMake configuration and target files in Windows layout is changed to $INSTALL_DIR/cmake (thus common for all configurations), to be found by standard search logic of CMake find_package() function.
Added check for existence of VTK library target.
Removal of hard-coded path to Direct 3D import library is generalized and amended for VTK built with VC12 and VC14.
Possibility to customize layout of installation of OCCT is introduced by:
- variable INSTALL_DIR_LAYOUT - select one of the two predefined layouts: either Windows (classic OCCT layout) or Unix (Linux standard)
- variables INSTALL_DIR_* (BIN, LIB, INCLUDE, RESOURCE, DOC, TESTS, SCRIPT, SAMPLES, DATA) - specify locations of relevant components
- variable INSTALL_DIR_WITH_VERSION (bool) - specifies whether full version of OCCT should be used in paths in Unix layout
Files LICENSE_LGPL_21.txt and OCCT_LGPL_EXCEPTION.txt are always installed.
Environment is extended to support non-default layouts.
For that, environment variables "CSF_OCCT*Path" are defined, corresponding to CMake variables INSTALL_DIR_* described above.
Visual Studio environment, DRAW, tests, samples are amended to use these variables instead of (or as alternative to) CASROOT.
Settings of Products-specific vars are removed from environment scripts.
File genconf.bat was corrected to avoid error message for the case when path to TCL contains spaces.
Product name in rc files changed to "Open CASCADE Technology".