Modifications in the source files:
1. Added correction of the tolerance values of the shapes according to the bug 0023610.
Modifications in the test scripts:
1. test cases:
boolean bcommon_complex C3,
boolean bcut_complex F2 O7,
boolean bfuse_complex C4 C5 E4,
boolean bsection B6 M8 M9 N4 N5 N7,
boolean bfuse_simple ZP6,
draft angle G8,
feat featprism S2
have been marked as invalid according to the bug 0022033;
2. New value of result has been set in the test cases :
boolean bopsection D4
boolean bsection R8
as it is correct.
3. test case bugs modalg bug23472 has been rewritten according to the new format of bsection command.
Modifications:
1. Test cases boolean bfuse_complex J1 P9 have been fixed (the function IsInternalFace has been modified to use the function GetFaceOff);
2. Test case chl 902 H3 has been fixed (changes in the treatment of section edges);
3. Test case boolean bsection D8 has been modified (removed TODO statement);
4. Test case boolean bsection A3 has been modified (as the shapes have been changed).
Modifications:
1. NCollection maps have been replaced by NCollection indexed maps to guarantee the constant order of sub-shapes in the result of boolean operation.
2. Test case feat featprism M9 has been fixed.
3. Test cases chl 902 E3 H3 have been fixed (corrections in the treatment of section edges).
4. Test cases caf driver B6 B7, caf named_shape F6 F7 have been modified according to the new order of sub-shapes in the result of boolean operation.
5. Test cases blend buildevol G1, blend simple K4, bcommon_complex C7, feat featprism L6 have been modified as they are improvements.
6. Test case boolean bsection A3 has been modified according to the new syntax of the bsection command.
BRepOffset/BRepOffset_Tool.cxx, Features and Fillets algorithms have been ported on new BO algorithm.
Old BO algorithm, that was implemented in BOP, BooleanOperations and BOPTools packages, has been deleted.
Porting SALOME algorithms to new BOP algorithm.
Fixing regressions. Rebased on current master.
1. Fixed tests bugs caf bug350 and bug352 failing in Debug mode due to errors in QA code (removing items from the map during iteration).
2. Debug output messages are ignored in parse.rules in heal and bugs group to avoid false failures in Debug mode after changes made for #23609 and last integration of new tests.
3. Test bugs moddata buc60654 removed as duplicate of bug143.
4. Test bugs moddata bug143 fixed to compare real values properly. New command checkreal added for comparing reals with tolerance.
6. Test bugs caf bug114 is fixed to avoid use of OS-specific commands (command meminfo is used instead). Command checktrend is used to check for possible memory leak.
DRAW commands stepwrite and brepiges modified to never ask for interactive input of file name or write mode; the behavior is completely defined by input arguments. String buffers causing access violation due to overflow are eliminated.
Test case bugs xde bug23561 added for this issue; TODO 23651 in related test cases removed.
Compiler warning (unrelated) is fixed in QABugs_11.cxx
When test is run interactively, imagedir is set to temporary directory (search order: environment variables TempDir, Temp, Tmp, upper and lower case, in this order, then $HOME/tmp)
Update testing case with imagedir variable
Added function DetectFontsAspects to Font_FontMgr class. This function uses workaround from OpenGl_FontMgr with FreeType for detecting font aspect.
Removed font name parsing from Font_FontMgr::InitFontDataBase(). Now the font name and font style we get through the FreeType.
Fixed Unix part of Font_FontMgr::InitFontDataBase() method. Font name and font style now detected through the FreeType.
Remarks fix. Added recursive default font directories scanning .
Fixed adding fonts folders recursively from configuration files.
Moved fonts aliases map from OpenGl_Display_1 to Font_FontMgr.
Moved fonts name definition from Graphic3d_NameOfFont.hxx to Font_NameOfFont.hxx.
Added new methods to Font_FontMgr: GetAvailableFontsNames, GetFont and FindFont.
Modified Font_SystemFont creation from XLFD. Added method IsEqual to Font_SystemFont.
Modified methods OpenGl_Display::FindFont, OpenGl_FontMgr::request_font in accordance to the new functionality of the Font_FontMgr.
OpenGl_FontMgr now stores only generated fonts instead of duplication of available fonts list.
Removed method OpenGl_FontMgr::requestFontList. Its function now performs Font_FontMgr::GetAvailableFontsNames.
Documentation was fixed
Adjusting testing cases for current state of OCCT
Commit details:
1) in OSD_PerfMeter, use static functions of OSD_Chronometer class for time measurements instead of specific code to avoid incorrect results on CentOS (due to wrong valus of CLK_TCK);
2) changed definition of OSD_PerfMeter from .c to .cxx to avoid problems with C-functions;
3) fixed OSD_PerfMeter.h for building on Unix systems;
4) removed platform-specific #defines;
5) added test case for OSD_PerfMeter as bugs fclasses bug23237;
6) Removed DebugTools package (duplicates OSD_PerfMeter)
7) Avoid compiler (GCC) error casting BRepPrimAPI_Make* instances to TopoDS_Shape
Adding NCollection_StdAllocator
Adding NCollection_StdAllocator (correcting previous commit)
- addressed code review comment by kgv with using 2 (vs 4) spaces and amending max_size()
Add new draw-commands
Adding test case for this bug
Adding single vertex for second time was removed.
Adding single vertex in first time was removed, but for second time was returned.
Duplication of vertex compound in STEPControl_GeometricCurveSet mode was removed.
Some cosmetic changes
Test case for this bug
Modifications:
Definition closure surface by U and V by distance between isolines on bounds
Comparison to isolines on identity
Implementation of short dump of surface and curves
Change order of comparison
Fix and test script for bug 0023475
Modification of script to restore surface
Modification for correction regression ( UIso and VIso were confused)
Modified test case and test surface for bug 0023475
Bug in gp_Trsf::Multiply fixed.
If we multiply 2 gp_Trsf objects (shape == gp_Rotation), for example, t1 * t2, and t2.loc = 0
(t2.loc.x == 0 and t2.loc.y == 0 and t2.loc.z == 0)
then t1.loc will not change (you can verify it from the matrix multiplication)
Adding test case
Added test for memory leak (bugs/ocaf/bug23489)
Missing return added in QANewBRepNaming_BooleanOperationFeat::IsWRCase2()
Adding test case and general procedure for trend checking for detection of memory leaks
Default name for results directory is generated as "results_<branch>_<timestamp>".
In the HTML log of test execution references to script files are made HTML links to relevant files
Aded possibility to put data file for use by test script into subdirectory data of the script folder (function locate_data_file is extended to find such files).
Test demo/testsystem/A1 renamed to locate_data_file and corrected to account for the recent changes.
Default value of CSF_TestDataPath is defined pointing to $CASROOT/data
File psrse.rules corrected in accordance with changed message on missing data file
Interface of command testgrid changed:
- output directory (formerly required argument) is now defined by optional parameter -outdir
- by default tests are run in parallel mode with number of processes equal to number of system CPUs
- check for input arguments is made more strict
Treatment of parameter -outdir of command testgrid corrected.
Function locate_data_file and code to run tests in parallel revised to be usable with Tcl 8.4.
Adjusting testing case demo draw getsource for current state of master