Several projects depends on Qt library 0f 5.11.2 version.
TKDFBrowser
TKMessageView
TKShapeView
TKTInspector
TInspectorEXE
TKTreeModel
TKMessageModel
TKVInspector
TKToolsDraw
TKTInspectorAPI
TKView
When using C++20 language standard, compilation errors occures because
of incompatibility of 5.11.2 version of Qt library interface with C++20 standard.
Therefore, these projects stay on C++11 language standard.
If we require CMAKE minimal version 3.1, rather than 2.8,
by default new policies are employed:
from CMP0024 to CMP0054.
Unique problematic policy is CMP0054:
`Only interpret if() arguments as variables or keywords when unquoted.`
Requiring of 3.1 as minimal version without preserving old behavior of 54th policy breaks MSVC compilation.
If we require cmake_policy (SET CMP0054 OLD), compilation finishs without errors.
New behavior of CMP0054 leads to changes in next target MSVC vcxproj files:
- TKV3d
- TKOpenGl
- TKOpenGlTest
- TKOpenGles
- TKOpenGlesTest
Difference is absense of HAVE_OPENGL/HAVE_OPENGLES definitions.
So, source of error has been localizedin file occt_toolkit.cmake, in lines ~325 and ~327.
In accordance with old CMP0054 policy "CSF_OpenGlLibs" interprets as variable CSF_OpenGlLibs, rather than just a string.
Contrary, new policy interpret "CSF_OpenGlLibs" as a string.
To employ new policy, began since CMAKE 3.1 we should replace "CSF_OpenGlLibs" to "${CSF_OpenGlLibs}"
and "CSF_OpenGlesLibs" to "${CSF_OpenGlesLibs}".
P.S.
When cmake policy CMP0054 is set to NEW
expression
"${CURRENT_CSF}" STREQUAL "CSF_OpenGlLibs"
is false,
while if policy CMP0054 is set to OLD
expression
"${CURRENT_CSF}" STREQUAL "CSF_OpenGlLibs"
is true.
If replace "CSF_OpenGlLibs" to "${CSF_OpenGlLibs}"
expression is true independent on CMP0054 policy.
Notice, that OLD policy had beed taken place by default on master before
this ticket integration.
Make C++ standard to be enable from cmake settings:
Now, user can choose standard by setting cmake variable CPP_STANDARD.
Available next standard items: C++11, C++14, C++17, C++20, C++23.
Select3D_SensitiveCircle now inherits directly from Select3D_SensitiveEntity.
The sensitive circle sector is created using the Select3D_SensitivePoly class directly.
Added appropriate methods for selecting sensitive circles.
Added parameter myIsHollow to Select3D_SensitiveCylinder class.
It allows you to search for intersections with cylinders without covers.
The Draw vcircle command has been extended with UStart and UEnd parameters
to create a sector of a circle.
Added tests: vselect/cone_cylinder/circle_sector
vselect/cone_cylinder/circle_wire
vselect/cone_cylinder/filled_circle
vselect/cone_cylinder/transformed
vselect/cone_cylinder/hollow_cone_cyl
Make XCAFDoc_Editor::RescaleGeometry to pass the flag theCopyMesh==true
in call to BRepBuilderAPI_Transform::Perform.
Correct the help of the command XRescaleGeometry.
'MultiThread' field was added to structure RWGltf_DracoParameters for using multithreading.
Class CafWriter_DracoEncodingFunctor was added for multithreaded compression.
Fixed bounding boxes for Select3D_SensitiveCylinder.
Added display of Select3D_SensitiveCylinder presentation using the "vsensdis" command.
Added test vselect/bugs/bug33084.
Graphic3d_ShaderManager::getPBREnvBakingProgram() - fix setting Graphic3d_ShaderProgram::SetPBR()
before defining GLSL version via defaultGlslVersion() that relies on this property.
* Avoid crash in BRepBuilderAPI_GTransform algorithm. The crash in BRepBuilder_Transform has been solved by 0032716.
* Move copying modifier to BRepTools package.
* Implement copying of triangulation in BRepTools_NurbsConvertModification.
* Implement transformation of a triangulation in BRepTools_GTrsfModification.
* Update test case bugs/mesh/bug22778 to clean the triangulation after conversion to NURBS (reproduce the same behavior as before).
* Implement methods for copying tessellation to BRepTools_TrsfModification to keep the triangulation during transformation.
* Add tests to reproduce the problem.
GeomConvert_CurveToAnaCurve, GeomConvert_SurfToAnaSurf - geometrical algorithms
for converting geometrical curve and surfaces in canonical geometry with given tolerance.
ShapeAnalysis_CanonicalRecognition - interface for checking canonical geometry.
Added Graphic3d_TypeOfBackfacingModel_FrontCulled enumeration value.
OpenGl_Context::SetFaceCulling() now supports GL_FRONT in addition to GL_BACK.
Added -faceCulling option to vaspects Draw command.
src/OS/DataExchange.tcl - added missing new toolkits.
TKRWMesh - added missing reference to TKTopAlgo (for using BRepLib_PointCloudShape).
Removed redundant dependency from TKBinXCAF.
DRAWEXE - added missing references for a static build.
THE_CONFIGURATION_SCOPE definition has been corrected to postpoine calling constructor till the first variable usage.
Fixed compiler warning at SelectMgr_Frustum<3>::DumpJson() due to misleading Standard_EXPORT for an inline template method definition.
1. Multiple changes in ShapeUpgrade_ShapeDivideArea, ShapeUpgrade_FaceDivide, ShapeUpgrade_FaceDivideArea, ShapeUpgrade_SplitSurface, ShapeUpgrade_SplitSurfaceArea: new methods NbParts and SetSplittingByNumber, changes in ShapeUpgrade_FaceDivideArea::Perform and ShapeUpgrade_SplitSurfaceArea::Compute concerning new modes of splitting.
2. New Draw command "DT_SplitByNumber" for testing new modes of splitting.
3. New subgroups "split_number" and "split_two_numbers" in the group of tests "heal" for testing new modes of splitting.