Added DRAW command dlocale to set and query current locale of the C subsystem
Equivalents of C functions working with conversions of strings to/from reals added in Standard_CString, providing locale-independent behavior (using always "C" locale)
In DRAW packages, calls to atof() and atoi() are replaced by direct calls to Draw::Atof() and Draw::Atoi(), respectively, instead of substituting by #define
Use of atof(), strtod(), and *scanf() involving floating point conversions in OCCT code replaced by locale-independent Atof() and Strtod()
Calls to sprintf() involving floating point in OCCT code are replaced by call to locale-independent Sprintf(), except a few places where converted strings are used immediately for display in the 3d viewer
Changes of global locale are eliminated throughout OCCT code
Proposed correction for GNU libC where v*printf_l functions are absent
Added test case (bugs xde bug22898) for data exchange operations with non-standard locale
Use xlocale on Mac OS X and within glibc
Corrected strtod_l wrapper
Generate error rather than warning
Introduce Standard_CLocaleSentry replacement for removed OSD_Localizer
Standard_CLocaleSentry - copy locale string
Standard_CLocaleSentry - use _configthreadlocale on Windows
Standard_CLocaleSentry::GetCLocale() - return locale_t rather than void*
Corrected misprint in ~Standard_CLocaleSentry()
Use French locale in bug22898 test case
Mark test case as skipped if locale is unavailable on tested system.
Use fr_FR locale for tests on Mac OS X
apn [Fri, 25 Jan 2013 12:22:41 +0000 (16:22 +0400)]
Added test cases to folders /bugs/modalg and /bugs/moddata from chl grid.
Modified TODO in some offset cases.
Deleted the same test cases bug697_* in /bugs/modalg
Deleted test cases which is based on v2d commands
Added test cases to folder bugs
OpenGl immediate mode - get rid from GL display lists
Visual3d_TransientManager, Graphic3d_GraphicDriver:
removed outdated unused methods to draw primitives in immediate mode.
New Draw Harness command to swith rendering mode in immediate mode.
When set to false scene will be always redrawn in back buffer.
V3d_View::ToPixMap - temporarily switch immediate mode to draw into back buffer
Make happy immediate mode dump on OpenGL without FBO (like ms software implementation).
OpenGl_Workspace::RedrawImmediatMode - invalidate back buffer when immediate mode drawn into it
Added more detailed description for Graphic3d_GraphicDriver::SetImmediateModeDrawToFront method
dbv [Fri, 18 Jan 2013 11:04:50 +0000 (15:04 +0400)]
0023682: Implement Draw_Window with Cocoa framework
Implemented most Draw_Window functions with Cocoa. Still should be implemented: drawing rectangle when zooming, window screenshot function in QAxwd
Added workaround for drawing rectangle when zooming
Added small fixes
Replaced QAMoveTo, QASelect and QAShiftSelect draw commands with vmoveto and vselect
Moved vselect and vmoveto draw commands to ViewerTest_ViewerCommands.cxx
Replaced QAMoveTo and QASelect in test cases. Corrected returned error case result in vselect and vmoveto.
Added commands in ViewerTest_ViewerCommands from QADraw. Edited tests.
QACommands in tests were replaced with ViewerTest commands.
QAxwd command was removed from QADraw. Edited command wzoom and commands from ViewerTest.
Help for ViewerTest commands was edited
Small corrections. Added test cases for polygonal selection.
Small correction of test cases
kgv [Fri, 18 Jan 2013 09:36:18 +0000 (13:36 +0400)]
0023634: Eliminate Polyline and Polygon usage in drawers
Polylines and polygons removed, now everything is based on PrimitiveArrays.
Added use of Graphic3d_ArrayOfSegments, some additional clean up in Graphic3d_Group.
Dead code elimination in AIS and V3d
Corrected compilation errors
Fixed grid presentation
Adding test case correction
san [Thu, 27 Dec 2012 06:43:05 +0000 (10:43 +0400)]
0023673: Static method Image_PixMap::SizePixelBytes is not exported
Static method Standard_Size SizePixelBytes (const Image_PixMap::ImgFormat thePixelFormat)
exported under Windows to prevent link error in the user code.
apn [Fri, 28 Dec 2012 14:50:48 +0000 (18:50 +0400)]
Adding testing cases from chl group
Modified END file of all group bugs. Command nbshape moved to END file. Add begin with variable subgroup
Small correction in END file
Replaced test case bug726_3 from moddata to modalg
apl [Fri, 28 Dec 2012 14:38:00 +0000 (18:38 +0400)]
0023652: Non zoomable text with alignment slides away when zooming view
alignment is applied after zoom persistence scaling
Adding test case for this fix
added writing planes in Type 108 not like BSplines
pcurves for planes not writing
add parameter for choice between writing planes in BSplines and Planes 0022820: OCCT IGES writer loses plane information
pcurves were prohibited also for BRep mode
Adding test case for this fix
Roman Lygin [Fri, 28 Dec 2012 14:02:51 +0000 (18:02 +0400)]
0023595: XCAFDoc_ShapeTool extended with two methods - SetAutoNaming() and AutoNaming()
Adding new draw command
Adding test case for this fix
Small correction
Small correction
emv [Fri, 28 Dec 2012 13:55:30 +0000 (17:55 +0400)]
0023562: nbshapes command works incorrect with the attached shapes
This option allows to see the number of sub-shapes counting the same sub-shapes with different location as different sub-shapes.
Adding test cases for this fix
bugmaster [Mon, 24 Dec 2012 13:46:07 +0000 (17:46 +0400)]
0023243: Adapt OpenGL viewer for using in Cocoa applications on Mac OS X
Cocoa_Window draft
OpenGl_Context and OpenGl_Window - added support for Cocoa OpenGL context
TKV3d - accept Cocoa_Window
Draft version of ViewerInit method for Mac OS X
Added ViewerTest_CocoaEventManagerView
ViewerTest - attach events to Cocoa window
Cocoa_Window - disable autorelease on close
Fix for OpenGl_Context::Init method
Cocoa_Window - convert top-left coordinates to bottom-left
Added selection with rubber band (rubber band drawing still should be implemented)
Fixed OpenGl_Display initialization on Mac OS X
Fixed OpenGl includes
apn [Fri, 21 Dec 2012 12:39:38 +0000 (16:39 +0400)]
Adding test cases for chl grid
Test case tests/bugs/modalg/dxf906 was renamed to bug889
Adding test cases to tests/bugs/moddata
Modified expressions puts [checkshape result]. Added command vzfit in end file in folder bugs. Unlocked command coordload in QABugs_3.cxx
Modified test case bugs vis buc60738
Added test cases to modalg and moddata
Added test cases to caf and fclasses
Added test cases to group heal
Standard_Atomic, prefer gcc built-ins rather than WinAPI calls (revert previous change of order)
Raise compiler error if no implementation found for atomic operations.
Add new draw command for testing this bug
Fix for compilation with TBB disabled
Adding CSF_TBB_INCLUDES macro in edl files
Correction of *.edl files
Update of EXTERNLIB files with CSF_TBB
Adding EXTERNLIB file
abv [Fri, 14 Dec 2012 13:30:40 +0000 (17:30 +0400)]
0023618: Some tests get killed just because of wrong cpulimit setting
Cpulimit increased in tests bugs moddata bug54 and boolean bsection N4 for tests to pass on slower systems.
Cpulimit command now should print a dying message when it kills process.
apn [Fri, 14 Dec 2012 12:56:11 +0000 (16:56 +0400)]
Adding new testing cases for chl grid
Adding procedures checkcolor and checkpoint.
Modified test cases which are used QAGetPixelColor or QAAISGetPixelColor2d
Allow using command QAAISGetPixelColor2d on WNT
Rename test case tests/bugs/vis/bug19619 to pro19619
Added test cases to modalg and moddata
mkv [Fri, 14 Dec 2012 12:51:39 +0000 (16:51 +0400)]
0023452: Couldn't catch results produced by commands "data" and "tpstat"
Add new printer
Improving of duplication of command's output
Simplification of removing duplication of command's output
Removing of brackets
improved version
Test correction
gka [Fri, 14 Dec 2012 12:38:05 +0000 (16:38 +0400)]
0023587: Operation "2dintersect "in TestHarness can not find intersection point of two intersecting 2d curves.
Modified DRAW command "2dintersect" added optional parameter "tolerance for intersection".
Test case for bug 0023587 : Check intersections of four 2d curves
Adding test cases for this fix
Deleting temporary test case
gka [Fri, 14 Dec 2012 12:17:11 +0000 (16:17 +0400)]
0023523: In session DRAW it is impossible to close document having name already once closed document.
Added destructor for TDocStd_Document which performs destruction of document in logical order in order to avoid exception when Undo and Redo fields are destructed after THF_Data field.
Added removing name of closed document from tcl variables in the DRAW in order to avoid exception during use the same name for new document.
Modification to avoid compilation error class ViewerTest
Minor correction in test caf basic G3
Changed an outer condition.
Deleted MyMatOfOriIsModified and MyMatOfMapIsModified flags.Deleted all modification flags from ViewOrientationReset() and SetViewOrientation() functions.
Checkings of view modifications in SetViewOrientation() and ViewOrientationReset() methods were returned
CustomIsModified flag was replaced by ScaleIsModified flag in modification checking.
Added 'IsInitialized' flag to check if orientation matrix was set
abv [Sun, 9 Dec 2012 15:03:08 +0000 (19:03 +0400)]
Corrections for tests after integration of 2012-12-07
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.
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