abv [Fri, 7 Dec 2012 12:12:01 +0000 (16:12 +0400)]
0023586: The test execution process should correctly stop on user demand
Possibility to break DRAW commands by user break (Control-C) is implemented as follows:
- Treatment of Control-C (SIGINT signal) on UNIX in OSD::SetSignal() is made coherent with Windows implementation: instead of attempt to raise exception (simulated by longjump, does not work anyway), signal handler just sets a flag which can be later checked by OSD::ControlBreak()
- Call to OSD::ControlBreak() is added to common entry point for OCCT DRAW commands; this causes command interruption if Control-C has been pressed before its start.
- Command "dbreak" added allowing to check Control-Break status from Tcl script (raises Tcl exception if break was signaled)
- Command "dversion" added printing information on OCCT version, used build options, compiler, etc.
- Test system modified to properly handle and report user breaks and add version info in the summary log
aba [Fri, 7 Dec 2012 10:21:46 +0000 (14:21 +0400)]
0021985: Vista/WIndows 7 compatibility issues reported by the community
WNT_Window::Dump method calls were replaced with V3dView::Dump calls
Type casts were removed
Added supported image formats in file filters of Export methods, edited documentation for Image_AlienPixMap class
Supported image formats filter for 2dsample was extended
kgv [Fri, 7 Dec 2012 09:58:30 +0000 (13:58 +0400)]
0023544: Texture management in TKOpenGl should be redesigned
Structures Graphic3d_CView, Graphic3d_CStructure, Graphic3d_CGroup become classes and their definitions moved from InterfaceGraphic to Graphic3d.
Introduced new class OpenGl_Texture as replacement for OpenGl_ResourceTexture class and static functions in OpenGl_TextureBox.
Graphic3d_TextureRoot now no more communicate within Graphic3d_GraphicalDriver.
Instead class returns image through GetImage() method.
OpenGl_AspectFace - avoid possible NULL-dereference
OpenGl_Texture::Init() - check gluBuild2DMipmaps() return value
OpenGl_Texture - check GL_BGRA_EXT for compatibility
OpenGl_Texture - scale NPOT image when required
Added more description to Graphic3d_TextureRoot class
OpenGl_Texture - added missing break statement for ImgBGR32 case
OpenGl_Workspace::setTextureParams() - fixed local variable aFilterMin overrides visibility of early declared variable
OpenGl_Workspace::DisableTexture() - reset texture matrix
FTGL do not reset texture matrix and corrupt text could be rendered if custom texture has not identity texture matrix.
abv [Fri, 7 Dec 2012 09:50:06 +0000 (13:50 +0400)]
0023561: stepwrite and brepiges dont work with big path (over 150 simbols) of writing file
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
abv [Fri, 7 Dec 2012 09:44:58 +0000 (13:44 +0400)]
0023550: Variable imagedir is not defined in interactive run of tests
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
dbv [Fri, 7 Dec 2012 09:42:37 +0000 (13:42 +0400)]
0023415: OSD_FontMgr can't idenify aspect for fonts with names dependant on system locale.
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
abk [Mon, 19 Nov 2012 07:47:45 +0000 (11:47 +0400)]
0023560: Redundant copying in Geom_OffsetCurve::Geom_OffsetCurve constructor
Eliminating redundant copying of 'C' in Geom_OffsetCurve::Geom_OffsetCurve
const Handle(Curve)& C,
const Standard_Real Offset,
const Dir & V) constructor was removed.
1) Warning in Aspect.cxx couldn't be reproduced
2) Description of changes: added 'return' statements into ReadStep(...) functions of RWStepBasic_* classes.
3) BRepFill_OffsetWire.cxx - removed dead code;
4) IFSelect_WorkSession.cxx - swapped arguments;
5) TopOpeBRep_ShapeIntersector2d.cxx - removed 'brake' statement and changed loop to if-statement because of
void TopOpeBRep_ShapeIntersector2d::FindFFIntersection() function's call features.
6) V2d_RectangularGraphicGrid.cxx - left constants instead of functions beacuse of faster perfomance.
7) Commented unreachable code in files GeomFill_LocationGuide.cxx and TopOpeBRepTool_mkTondgE.cxx
omy [Fri, 16 Nov 2012 09:14:25 +0000 (13:14 +0400)]
0023286: Standard_Mutex behavior depends on platform
Implemented recursive POSIX mutex instead of non-recursive,
Removed SentryNested class, implemented it's features into Sentry class
Added second constructor to Sentry class
ika [Fri, 23 Nov 2012 10:57:23 +0000 (14:57 +0400)]
0023379: Exporting single point into STEP produces a compound with two points
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
gka [Thu, 15 Nov 2012 11:35:03 +0000 (15:35 +0400)]
0023475: Wrong result of Geom_BSpline_Surface::IsVClosed()
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
aba [Thu, 15 Nov 2012 10:35:21 +0000 (14:35 +0400)]
0022522: Small BUG in DRAWEXE - vtrihedron command
Add condition to check if shape name is already bound
Used VDisplayAISObject() to display an object
vtrihedron - fixed parsing of arguments with Z direction definition
kgv [Thu, 15 Nov 2012 09:27:18 +0000 (13:27 +0400)]
0023432: Connected Interactive Objects computed without Interactive Context
Setup interactive context for reference(s) in Compute() method of classes AIS_ConnectedInteractive and AIS_MultipleConnectedInteractive
Extend vconnectsh and vconnect to process several input objects, added displaying color for result object
Fixed errors in QAGetPixelColor DRAW command
Edit QAGetPixelColor command and test case
ViewerTest::GetColorFromName() - fixed iteration bounds
QAAISGetPixelColor() - removed redundant conversions
Turn back QAGetPixelColor output syntax in case of 3 arguments
Integration of test script to new test system
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
Fixed mistake in Standard_Boolean IntCoCo ( ... ) function of IntPatch_ImpImpIntersection_5.gxx file.
Fixed this condition because of the opposite parametrisation direction of the intersection line.
Changes description:
In src\IntPatch\IntPatch_ImpPrmIntersection.cxx , in ForcedPurgePoints function changed
ParametersOnS2() to ParametersOnS1() in cases of
Standard_Boolean IsReversed == false in lines 1522 & 1540
Got rid from duplicated code in function static void ForcedPurgePoints(...)
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
Comparison of images is implemented in testdiff command; output in HTML form generated
Add measurement of memory (working set) delta in test case execution
Add memory statistics to output of testdiff command
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.
Added function testsummarize: regenerate summary log of tests from test case logs
Command testdiff is protected against exception raised by diffimage if images have different formats
abv [Fri, 9 Nov 2012 11:41:29 +0000 (15:41 +0400)]
0023468: Include current branch name into default name of directory for test results
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
kgv [Fri, 2 Nov 2012 11:56:36 +0000 (15:56 +0400)]
0023488: Make video recording functionality (OpenGl_AVIWriter) optional
CSF_AviLibs missing in EXTERNLIB of TKOpenGl toolkit. This cause incorrect project generation.
HAVE_VIDEOCAPTURE now should be defined to enable video recording capabilities on Windows.
ika [Fri, 19 Oct 2012 14:19:18 +0000 (18:19 +0400)]
0023354: The use of 'if (A) {...} else if (A) {...}' pattern was detected.
second else was deleted, now "D" is hotkey for reset view and removing selected object is impossible by hotkeys
help message was rewrited according to these changes, also hotkeys "R","L" and "B" added to help
Minor remarks: viewer commands help fulfilled with U; Z; ","; "." . Comments revised.
omy [Fri, 19 Oct 2012 14:09:57 +0000 (18:09 +0400)]
0023351: The use of 'if (A) {...} else if (A) {...}' pattern was detected.
Got rid of duplicated code.
Got rid of redundant conditions' checks in Standard_Integer TOPOC(Draw_Interpretor& interpretor,Standard_Integer na,const char** a) function.