0033370: Foundation Classes - Moving into STL and Boost functionality NCollection containers update: - NCollection_Array1 - updated functionality - NCollection_Array2 - NCollection_Array1 as a wrapper for 2array - NCollection_Vector -> NCollection_DynamicArray was renamed and reworked. TCollection: - Use static empty string to avoid allocations on empty string NCollection allocators update: - NCollection_Allocator - allocator that used Standard::Allocate - NCollection_OccAllocator - allocator-wrapper that used OCC BaseAllocator objects - NCollection_IncAllocator - rework to increase performance Standard: - Rework functionality to use different allocation libs - Implement basic of new way to wrap allocations tools - Define 4 ways to allocation (defines in configure stage) Additional changes: - Hash function uses std::hash functionality - size_t as a hash value - New HashUtils with Murmur and FVN hash algo for x32 and x64 - Deprecated _0.cxx and .gxx DE classes reorganized - Create own utility for std memory - Update Standard_Transient to be more platform-independent Math TK changes: - math_Vector -> match_BaseVector<> - Buffer decreased to cash 32 elements instead of 512
0032742: Coding - get rid of unused headers [Adaptor2d to Approx]
0030895: Coding Rules - specify std namespace explicitly for std::cout and streams "endl" manipulator for Message_Messenger is renamed to "Message_EndLine". The following entities from std namespace are now used with std:: explicitly specified (from Standard_Stream.hxx): std::istream,std::ostream,std::ofstream,std::ifstream,std::fstream, std::filebuf,std::streambuf,std::streampos,std::ios,std::cout,std::cerr, std::cin,std::endl,std::ends,std::flush,std::setw,std::setprecision, std::hex,std::dec.
0026937: Eliminate NO_CXX_EXCEPTION macro support 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.
0027067: Avoid use of virtual methods for implementation of destructors in legacy classes Redundant methods Delete() and Desroy(), created in CDL as a hack to define destructor for the class, are removed; their definitions are converted to definition of destructors. In a couple of places methods Destroy() are preserved (bug made non-virtual) because they are called explicitly.
0024002: Overall code and build procedure refactoring -- automatic 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
0024750: Replace instantiations of TCollection generic classes by NCollection templates -- manual changes Forward declaration of TCollection instances as classes are replaced by inclusion of corresponding header. Cyclic dependencies between declaration of collection class and its item are resolved by forward declaring a class in collection header.
0025418: Debug output to be limited to OCC development environment Macros ending on "DEB" are replaced by OCCT_DEBUG across OCCT code; new macros described in documentation. Macros starting with DEB are changed to start with "OCCT_DEBUG_". Some code cleaned.
0024784: Move documentation in CDL files to proper location 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
0024624: Lost word in license statement in source files 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.
0024428: Implementation of LGPL license The copying permission statements at the beginning of source files updated to refer to LGPL. Copyright dates extended till 2014 in advance.
0024059: Eliminate compiler warning C4701 in MSVC++ with warning level 4 Removing pPotentially uninitialized local variable Got rid of most of warnings C4701: Potentially uninitialized local variable Removed redundant variable definitions. Refactored a part of AppParCurves_ResolConstraint CTOR. Replaced 0. to Precision::Confusion for tolerance vars; Changed values for min and max parameter vars; Got rid of redundant variables' initialization.
0023706: Cannot project point on curve 1. Approximation of derivative (by Taylor-series and by three points). 2. Some methods (Degree(), GetType(), D0(), D3(), DN()) are added. 3. Getting of subInterval's boundaries. 4. Algorithm for checking if 1st derivative is equal to zero is amended. 5. Cases are controlled when extrema or Project point do not exist. 6. GetNormal() function for gp_Vec2d was added. 7. Computing of Value, D0, D1, D2 and D3 for offset curves was changed. 8. Limitation of tolerance for derivative computing was added. 9. Methods for computing trihedron in singularity point are added. 10. Test tests/bugs/moddata_3/bug23706 is added. 11. Restriction on the LastParameter for visualization of 3-D curves. Calling PlotCurve(...) function for last interval. 12. LProp package is modified for tangent computing in singularity point (LProp_CLProps, LProp_SLProps). 13. Added test cases for issue. Deleting bad test cases for this fix
0023024: Update headers of OCCT files Added appropriate copyright and license information in source files