Macro NO_CXX_EXCEPTION was removed from code.
Method Raise() was replaced by explicit throw statement.
Method Standard_Failure::Caught() was replaced by normal C++mechanism of exception transfer.
Method Standard_Failure::Caught() is deprecated now.
Eliminated empty constructors.
Updated samples.
Eliminate empty method ChangeValue from NCollection_Map class.
Removed not operable methods from NCollection classes.
A new script adm/upgrade.tcl defines a Tcl procedure occt_upgrade, to be used for upgrading code of OCCT and applications for changes introduced by OCCT 7.0.
Batch script upgrade.bat is provided for convenience.
File upgrade.dat contains data (lists of classes) required for some upgrade steps.
Details on upgrade procedure are put in dox/dev_guides/upgrade/upgrade.md.
OCCT code corrected to improve compatibility with code based on previous versions of OCCT:
- Added conversion operator of handle to bool, for use in conditional expressions.
- Forward declaration of argument class restored in macro DEFINE_STANDARD_HANDLE.
- Includes of used classes added in some headers to avoid problem of missing includes in dependent code
- Type cast operators to base curve and surface added in GC and GCE2d classes to reduce porting issues.
Added test for local reference to handle initialized by temporary handle to derived class.
WOK and CDL User Guides removed.
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl":
- WOK-generated header files from inc and sources from drv are moved to src
- CDL files removed
- All packages are converted to nocdlpack
The constructors of classes from following files have been fixed to ensure that all non-static fields are initialized:
Adaptor2d_Line2d.cxx
Adaptor3d_IsoCurve.cxx
Adaptor3d_OffsetCurve.cxx
AdvApp2Var_ApproxAFunc2Var.cxx
AIS_Dimension.cxx
AIS_InteractiveContext.cxx
Aspect_DisplayConnection.cxx
BiTgte_CurveOnEdge.cxx
BiTgte_CurveOnVertex.cxx
BRepAdaptor_CompCurve.cxx
BRepMesh_Circle.hxx
BRepMesh_Delaun.cxx
BRepToIGES_BREntity.cxx
ChFi2d_AnaFilletAlgo.cxx
ChFi2d_ChamferAPI.cxx
ChFi2d_FilletAlgo.cxx
ChFi2d_FilletAlgo.hxx
Extrema_ExtPExtS.cxx
Font_FTFont.cxx
GccEnt_QualifiedCirc.cxx
Geom2dAdaptor_Curve.cxx
IGESData_IGESEntity.cxx
IGESData_DefSwitch.cxx
IGESToBRep_CurveAndSurface.cxx
LDOM_XmlReader.cxx
math_TrigonometricFunctionRoots.cxx
NCollection_ListNode.hxx
ProjLib_CompProjectedCurve.cxx
ProjLib_ComputeApproxOnPolarSurface.cxx
Select3D_Box2d.hxx
Select3D_PointData.hxx
Mostly duplicated comments were removed and missing ones were moved
into dedicated class CDL files.
Some more duplicated comments were removed from CDL files.
Correction of merge
Redundant keyword 'mutable' removed in CDL files.
In IGESConvGeom_GeomBuilder, unused methods MakeXY() and MakeXYZ() removed.
Method StepAP214_AutoDesignGroupAssignment::Init() replicating same method of the base class is removed as it causes CDL extraction error after above (seemingly irrelevant) changes.
For fix this case in method Geom2dInt_Geom2dCurveTool::NBSamples() number of samples for 2d offset and trimmed curve is computed as max value from number of samples for other curve and number of samples for basis curve.
Test case for issue CR24800
License statement text corrected; compiler warnings caused by Bison 2.41 disabled for MSVC; a few other compiler warnings on 54-bit Windows eliminated by appropriate type cast
Wrong license statements corrected in several files.
Copyright and license statements added in XSD and GLSL files.
Copyright year updated in some files.
Obsolete documentation files removed from DrawResources.