Pawel Kowalski [Fri, 3 Aug 2012 09:28:27 +0000 (13:28 +0400)]
0023348: Expression 'ii >= 0' is always true. Unsigned type value is always >= 0.
Redesigned the loop to work correctly with unsigned variables.
Treatment of path to source file is rewritten using OSD_Path for more clarity
Command getsourcefile corrected to return its result as Tcl string, and simplified
Error in treatment of optional arguments in substituted puts is fixed in src/DrawResources/TestCommands.tcl
Test case added: demo draw getsource
san [Fri, 3 Aug 2012 07:16:58 +0000 (11:16 +0400)]
0023363: [Regression] Lost gradient background when switching to the hollow interior style
Calling glPolygonMode() to ensure filled polygon rendering when drawing
the view background
Revert "Calling glPolygonMode() to ensure filled polygon rendering when drawing"
This reverts commit 41d41ab23cb81acb3bcf7e6ad5d10ea0097eecdd.
OpenGl_Workspace::ResetAppliedAspect() method improved in order to
reset GL parameters to default values specified in default aspects.
This method is now called twice during scene rendering:
- At the very beginning by OpenGl_Workspace::Activate()
- After all structures has been drawn but before the auxiliary stuff
(like trihedrons, overlayer, display callbacks)
0023273: Avoid failures due to datadir commend when data files are not present
Fix for #23273 issue.
Fix for #23273 issue (boolean/013/R9).
Modifications of tests according to #23260 issue.
Attempt to protect against hang-ups due to waiting for standard input
change of behaviour of offset/shape_type_i/D7 case.
Attempt to protect against hang-ups during initialization of menu in batch mode.
increase cpulimit for parallel incmesh.
#23260 is fixed. count_parallel is not needed anymore.
Deleted unused code.
change of behaviour of offset/shape_type_i/D7 case.
The fix was incorrect.
Second attempt to protect against hang-ups during initialization of menu in batch mode
correction of tests in order to awoid instability.
Elapsed time changed to CPU user time is performance tests.
Processing of errors on Windows.
Stop cpulimit killer if armed by test, after the test is completed
0023260: Regression: Instability in parallel incmesh on Linux.
Added protection to the function which may have data race (according to the valgrind report).
Added protection to the BRepMesh_FastDiscretFace::RestoreStructureFromTriangulation function
Slight reordering to optimize use of mutex (lock once)
Now Standard_Mutex::SentryNested are created as named object.
Map inside TopTools_MutexForShapeProvider now store Handle_TopoDS_TShape as a key instead of TopoDS_Shape
0023287: IntPolyh_MaillageAffinage.cxx, line 2217: "identical sub-expressions to the left and to the right of the '-' operator"
The expression
Abs(PEP1.U()-PEP1.U())
changed to
Abs(PEP1.U()-PEP2.U())
In this case the points are equal and so the points number can be reduced to '1'.
0023303: Expression always true in ShapeFix_Face.cxx
The two corrected if-clause conditions were always true.
In FixSmallAreaWire where the documentation says: "Detects wires with small area (that is less than 100*Precision::PConfusion(). Removes these wires if they are internal." and the bugfix conforms to this.
For 'NeedCheckSplitWire' option in the Perform method the same assumption is made although no documentation on this could be found.
Directories for generated files (projects, Visual Studio artifacts, Emacs backup files, test results) are added to .gitignore
Suppressed generated files.
Allow to use bat, sh, am, m4 and ac files in subdirectories.
0023003: Photos of AIS Viewer are corrupted on Windows if tests are executed remotely
Default position of 3d viewer window created by vinit command is set to the right-left corner of the screen (0,0) to avoid problems on small screens, e.g. dummy remote desktops
Default position of 3d viewer window created by vinit command is set to be close to the right-left corner of the screen (0,0) to avoid problems on small screens, e.g. dummy screens of remote desktops
0023226: Extend OpenGl_Context to store map of shared GPU resources
OpenGl_Resource was slightly corrected and OpenGl_Element was extended
with Release method to manage GPU resources.
OpenGl_PrimitiveArray now uses new OpenGl_VertexBuffer class (requires OpenGL 1.5+).
Strange workarounds for feedback mode were removed.
OpenGl_Context now provides access to shared GPU resources
and manages resources queue for delayed release
(replaces functionality of removed OpenGl_ResourceCleaner).
Loaded GL_ARB_texture_buffer_object and GL_ARB_draw_instanced extensions.
Global maps of views, workspaces and structures
were moved to OpenGl_GraphicDriver members.
UserDrawCallback() function moved to OpenGl_GraphicDriver methods.
Aspect_GraphicCallbackStruct now holds handle of OpenGl_Context
instead of system-dependent pointers to GL context definition.
New classes NCollection_Vec2, NCollection_Vec3 and NCollection_Vec4
implements interface to low-level data (points, vertices, colors) in GLSL-style.
Removed EnableVBO argument from vdrawparray Draw Harness command
Corrected compilation errors
Fixed wrong argument in Index VBO initialization
Fixed several cases of incorrect memory management in TKV3d
Visual3d_ViewManager::Remove()
Destroy structures before last view removed for correct GPU resources management.
Graphic3d_Structure::GraphicClear()
Remove groups to avoid usage of dead OpenGl_Group pointers.
V3d_View::Remove()
Fixed mistake in #0000280 patch.
Small correction
Fixed OCC280 test command
Replace removed view within created one in ViewerTest EventManager.
ViewerTest, do not create unused 3D view
In current design NIS_View always created and used for both - NIS objects and AIS objects.
Class TopTools_MutexForShapeProvider has been created
Class contain methods:
TopTools_MutexForShapeProvider::CreateMutexesForSubShapes - Creates and associates mutexes with each sub-shape of type theType in theShape.
TopTools_MutexForShapeProvider::CreateMutexForShape - Creates and associates mutex with theShape
TopTools_MutexForShapeProvider::GetMutex - Returns pointer to mutex associated with theShape. In case when mutex not found returns NULL.
Added method RemoveAllMutexes to TopTools_MutexForShapeProvider
Assign operator in MutexProvider, constructor and operator and assign operator in Standard_Mutex now private
Replaced TopExp_Explorer with TopoDS_Iterator to avoid cyclic dependence
abv [Thu, 28 Jun 2012 13:48:50 +0000 (17:48 +0400)]
0023197: Draw executable do not detect update of environment variables on Windows.
New DRAW commands dgetenv and dsetenv are added, allowing to query and set environment variables as defined in C subsystem, from Tcl.
On Windows, special handler is armed in DrawDefaults providing automatic update of C environment when Tcl environment (array env) is modified. Note that this is not needed on Linux (Tcl does this internally).
abv [Thu, 28 Jun 2012 13:46:43 +0000 (17:46 +0400)]
0023152: Possibility to have echo of DRAW commands in log file
Two commands are added in DRAW:
decho: allows switch on/off echo of commands and their results. When echo is on, all commands implemented as OCCT DRAW C procedures will be echoed to standard output, along with their result. This can be useful to trace process of execution of script evaluated by 'source' command.
dlog: implements off-screen log for recording DRAW commands and their output for further processing in Tcl script (mainly for use in automatic tests). Run this command without arguments to get help.
Added ios::sync_with_stdio() call to Draw::BasicCommands.
Correction for compilation on Linux
san [Fri, 22 Jun 2012 07:33:53 +0000 (11:33 +0400)]
0023186: Unable to display Graphic3d_ArrayOfPoints after migrating from OCCT 6.5.2
GL_NONE replaced with PARRAY_DRAW_MODE_NONE to disambiguate with GL_POINTS
DRAW_MODE_NONE constant moved into OpenGl_PrimitiveArray class to avoid potential name collisions
abv [Fri, 22 Jun 2012 07:19:15 +0000 (11:19 +0400)]
0023185: DrawAppliInit must be loaded from current directory
1. File src/DrawResources/DrawAppliInit removed;
code loading QA commands moved from DrawAppliInit to DrawDefaults (temporarily)
2. In src/DrawResources/DrawDefaults:
- change of tcl_precision removed (following advise in Tcl 8.5 documentation)
- code loading file init.tcl removed as obsolete
- if environment variable CSF_DrawAppliInit is defined, it is assumed to
be the name of the application-defined file to load; otherwise
it is searched as file DrawAppliInit in current directory
eap [Fri, 22 Jun 2012 07:01:13 +0000 (11:01 +0400)]
0023162: BRepOffsetAPI_MakePipeShell works wrong
In ComputeOrigin(), superpose wire origins before checking distance between vertices
Fix for wires of one edge
Fixed glext header conflict with system X11 gl.h on Mac OS X
System header provide syntactically different typedefs for some OpenGL functions (GLenum vs. GLint).
Fixed misprint in comments
san [Tue, 5 Jun 2012 16:32:09 +0000 (20:32 +0400)]
0023188: Regression in SCATexturedShape in SSP sample
OpenGl_View::RedrawLayer2d()
- lighting and 1D/2D texturing disabled so as
not to interfere with layer drawing, layer items should enable
textures if necessary and disable them at the end;
- French comments removed;
- redundant lighting state changes removed
ama [Fri, 8 Jun 2012 08:37:19 +0000 (12:37 +0400)]
0023182: During STEP translation isn't checked for validity flag IsClosed
Added check for consistency properties of closure and existence of free boundaries in shell (modified ShapeFix_Shell::Perform()
Added new message in SHMessage/SHAPE.us)
eap [Fri, 8 Jun 2012 08:34:06 +0000 (12:34 +0400)]
0023174: BRepLib_MakeFace(Wire) creates an invalid face on a wire of cylinder bottom
Is2DClosed() added to reject an improper existing surface
Add OnlyClosed=Standard_False argument
Call BRepLib_FindSurface with OnlyClosed=Standard_True
fix Is2DClosed() to check intermediate points of wire in 2D
fix Is2DClosed() - correct tolerance used for the last point
fix Is2DClosed() - correct getting 2d points to compare
Method ElSLib::SphereVIso() is protected against creation of circle with negative radius when |V| > PI/2; now the circle on analytic continuation of sphere behind poles is returned in this case (thus always with positive or zero radius)
oan [Fri, 25 May 2012 12:17:12 +0000 (16:17 +0400)]
0022884: The attached face cannot be displayed in shading mode
BRepMesh_Delaun class has been corrected
Extended checking of segments intersection
SquareModulus is used
Detail checking of intersection
Zero division checking
Right segment intersection in MeshPolygon + coding standard
eliminating the test variable
Cleaning up the polygon from internal triangles
0023021: MeshVS_DataSource::GetNormalsByElement returns Standard_False and gives no result even when all normals are OK
If all normals are correctly computed using GetNodeNormal the variable 'res' is never set to Standard_True and the normals are not passed to the variable 'Normals' that is supposed to hold the result of the computation.
dbv [Fri, 25 May 2012 11:00:08 +0000 (15:00 +0400)]
0023047: Behaviour of XDE sample is non-stable
Changed behavior of XCAFDoc_ShapeTool::RemoveShape(const TDF_Label& L) function. Now if L is a location for a shape then function will also removes the label with a shape.
Added Boolean argument to the XCAFDoc_ShapeTool::RemoveShape function which allow to choose either to delete an instance or a complete shape. (Standard_True by default, removes complete shape).
Tcl samples moved from src/DrawResources to samples/tcl.
Scripts VisualisationDemo.tcl and ModelingDemo.tcl fixed to work on Windows.
File wing.brep moved from src/DrawResources to data/occ, and DataExchangeDemo.tcl corrected.
OCAFDemo.tcl removed, as it has little sense and referred data files are lost
Added sample Tcl script creating a model defined on the 'Open CASCADE challenge' web page