abv [Thu, 10 Oct 2013 10:41:01 +0000 (14:41 +0400)]
0024227: Enable SS2 instructions for OCCT building
Test for exceptions corrected to handle FPE when built with with SSE2 option on Windows (NumericError raised instead of specific exceptions)
New test for performance of bspline intersections added
Introduce new class Font_BRepFont for conversion of font glyph in vector format into BRep representation.
New text2brep Draw Harness command.
bottle.tcl - draw text on the bottle side using new functionality.
ViewerTest - process Delete key in 3D-Viewer to delete selected presentations.
Font_FontMgr::FindFont - return correct font when font alias and not default aspect is requested.
bottle.tcl - use prism instead of pipe
TKViewerTest - add required FreeType dependency
verase - display the list of erase objects
TKViewerTest - add required FreeType dependency for projects generation
nbv [Fri, 4 Oct 2013 14:26:23 +0000 (18:26 +0400)]
0024211: Definition of Basic Runtime Check parameter causes regression in debug mode
Out of ChoixRef array boundaries.
Uninitialized variable in IntCurve_IntPolyPolyGen::findIntersect(...) function.
Handling of infinity numbers in sprops command is added.
test (CPU-limit)
gka [Thu, 3 Oct 2013 12:36:52 +0000 (16:36 +0400)]
0024174: [regression] BRepBuilderAPI_Sewing returns result with very high tolerance
Fix for bug 0024174: [regression] BRepBuilderAPI_Sewing returns result with very high tolerance
Test script for CR24174
Test cases for issue CR24174
Small correction of test cases for issue CR24174
ifv [Thu, 3 Oct 2013 10:34:03 +0000 (14:34 +0400)]
0024137: math_FunctionSetRoot returns too rough solution
Test case and new draw command for issue CR24137
Modified test case de/iges_1/G9 according to new data
Small correction of test cases for issue CR24137
nbv [Thu, 3 Oct 2013 10:30:18 +0000 (14:30 +0400)]
0023360: Test cases for command mkoffset produce different results on different versions of OCCT
1. Function QuasiFleche(...) does not call for small edges.
2. Forbid to work with NULL-shapes in OffsetWire::FixHoles(...) function.
3. ProjOnCurve(...) function in Bisector_BisecCC.cxx file returns status (DONE or NOT DONE).
0024172: Compiler warnings 'unreacheable code' and 'unreferenced local function' in OCAF
Files _Sample.cxx containing unused sample code are removed from several OCAF packages.
Cycles for() with body always ending with 'break' are replaced by equivalent if() statements.
dbv [Thu, 3 Oct 2013 10:11:13 +0000 (14:11 +0400)]
0023654: Problem with displaying vertices in OCC view after closing all OCC views and opening new one
Fixed graphic structure recompute after closing view.
Removed collector and all corresponding logic and methods from AIS_InteractiveContext.
Method AIS_InteractiveContext::Erase() now hide object from viewer without deleting resources.
Erased objects now properly recomputed after closing view.
Samples update
Removed useless method AIS_InteractiveContext::EraseMode()
Documentation update
Warnings fix
Regressions fix
0024134: Wrong result of projection point on the face
Changed Bnd_SphereUBTreeSelector for the Extrema_ExtAlgo_Tree projection algorithm properly work
Test case for issue CR24134
Tolerance of checking distance between vertex and edge in BOPInt_Context::ComputeVE() increased by additional Precision::Confusion() to allow for interference to be detected in this particular case.
Two tests added for this issue: one with original shapes and another in rotated co-ordinates
The Build (Assembly) Part of BO consists of several sub-parts:
1. Building Vertices
2. Building Edges
3. Building Faces
4. Building Solids
5. Building Container Shapes (Wires, Shells, Compsolids, Compounds)
Among the parts above
3.Building Faces
and
4.Building Solids
are the most time-consuming and thus should be parallelized first.
The parallelization process can be divided on three phases:
1. Parallelization Building Faces
2. Parallelization Building Solids
3. Parallelization the rest parts
The phase 1 : Parallelization Building Faces consists of three parts:
1.1. Building Split Faces
1.2. Building Same Domain Faces
1.3. Building Faces with Internal Shapes
The branch deals with the phase 1. chapter 1.1. Building Split Faces
0023958: Section of shell by plane is incomplete.
Modifications 1
1. To avoid creation of micro edges in the class BOPAlgo_PaveFiller added two new functions ForceInterfVE and
ForceInterfVF which updates tolerance of Vertex to make it interfere with Edge and Face accordingly.
2. In the class BOPInt_Tools added new function IsInRange which checks whether two ranges cross each other.
3. In the class BOPTools_AlgoTools added new function IntersectCurves2d which intersects pcurves of the face
to check it on the self-interference.
4. In the function IntTools_BeanFaceIntersector::FastComputeExactIntersection() the check on the coincidence of the whole
edge with the face (BOPTools_AlgoTools::IsBlockInOnFace) replaced with the check on the coincidence of one intermediate point with that face.
5. Test cases bugs modalg_1 bug1255, bug1255_1 has been updated with more correct value of the result.
6. TODO statement has been removed from the test cases boolean bcut_complex B1,B3,B5,C2,C4,C6,C8 as they are correct.
Adding test case for issue CR23958
Modification 2
1. In class BOPAlgo_PaveFiller added new function CheckPlanes(nF1, nF2) that checks whether two planar faces have common or intersecting sub shapes.
If these two faces do not have such sub shapes there is no need to intersect them.
2. In the function BOPAlgo_PaveFiller::MakeBlocks() added block for reducing the tolerance values to the previous state for the vertices
that were put on the section curve (with increasing of its tolerance value) that was rejected by the algorithm.
Modification 3
Back to Extrema_ExtAlgo_Grad algorithm in extrema computations in Boolean Operations algorithm.
0024148: Test case bugs/vis/bug24131_markers works wrong on software MS OpenGL
Add pre-rendered images for custom markers.
OpenGl_Window - drop overcomplicated find_pixel_format() function
OpenGl_Caps - add option to force software OpenGL imlementation (MS or Apple)
Remove TODO from test case
Add grayscale custom marker to the test
Correct color bitness in attributes list
0024186: Eliminate remaining compiler warnings in MSVC++ 2010 64 bit with warning level 4
Eliminated some warnings of type C4267 (conversion from Type1 to Type2: possible loss of data); size_t to int explicit casts added.
Fixed warning C4267 and 4244 in OSD* files
Change in OSD_FileNode and OSD_File reverted since different handle types are needed on Unix and Windows
0024190: Exception raised during topological operation.
v0.0
I. New features:
no new features
II. Changes:
II.1. class BOPAlgo_CheckerSI
- method:
void BOPAlgo_CheckerSI::Perform()
The contents of the method is encompassed with "try/catch" block.
0024187: Wrong result of COMMON operation.
In the function
void BOPAlgo_Builder::FillInternalShapes()
added treatment for the arguments of type COMPOUND.
Graphical clipping:
- Use "Graphic3d_ClipPlane" to defined clipping for PrsMgr_PresentableObject (local clipping), for V3d_View (global clipping).
Get rid of old implementations:
- Remove Visual3d_ClipPlane.
- Port V3d_Plane to Graphic3d_ClipPlane core.
Selection Sensitives:
- Port "Matches" method to add full set of arguments (SelectBasics_PickArgs), including min-max depth coming from selector.
- Get rid of transient data for pair Matches -> ComputeDepth.
- Extend SelectMgr_ViewerSelector::LoadResult to work with local clipping, add virtual callbacks to compute globa/local depth clipping for picking.
Capping rendering algorithm:
- Recursive rendering algorithm for OpenGl_Groups.
- Introduced Rendering filter for groups.
Clipping plane management in TKOpenGl:
- Added OpenGl_ClippingState to OpenGl_Context.
DRAWEXE commands:
- Ported "vclipplane" command for new approach.
- Added "vsettexturemode" command for changing texture details in views (enable / disable textures).
Correct DownCast syntax (compilation error)
Fix new compiler warnings
tests/bugs/vis/bug22906 migrated to the new vclipplane syntax
Rebuild normal for the face if the method FindPointInFace fails (unable to find point in the face in bi-normal direction).
Adding test case for issue CR24154
0023964: Extrema_ExtXX::Point methods might return constant reference instead of copy
Changed definitions of Point() functions
Removal of floating point exceptions from previous commit
In FSD_File, use template specialization instead of comparison of sizeof() to specific value in if statement, thus eliminating warning "constant value in conditional expression"
Elimination of compiler warnings
- ExprIntrp: generated file ExprIntrp.tab.c and related WOK scripts removed from the sources
- ExprIntrp, StepFile: added missing declarations and casts; warnings caused by Flex and Bison code suppressed for MSVC compuler by #pragma
- OSD: dummy #includes added to files containing no code for Windows, to avoid warning on empty file
- PLib: piece of code contained in PLib_ChangeDim.gxx included explicitly in cxx and cleaned
- Other places: some casts added to avoid warnings
Additional fixes:
- old-style declarations of C functions in IGES and STEP parsers
- clean-up of debug code, fixes for building in Debug mode
- in BRepFill_TrimShellCorner.cxx, lines 878-9, wrong use of assignment instead of comparison fixed
- fix for Plugin_Macro reverted; warning 4190 disabled instead
- in IntPatch_ALine.cxx, line 520, wrong comparison of boolean with index fixed
- in InterfaceGraphic_Visual3d.hxx, field IsCustomMatrix made boolean
- in TopOpeBRepBuild_ShapeSet, obsolete (unused) methods removed
0024143: bopcheck command throws an exception
Use the tolerance value of the face instead of sum of tolerance values of face and edge to compute grid points on the surface of the face.
Adding test case for issue CR24143
vro [Thu, 12 Sep 2013 10:12:08 +0000 (14:12 +0400)]
0024115: A draw-command loadvrml fails on non-current folder
A folder is taken from the input file name (if it contains one).
Removed spaces.
Adding test case for issue CR23846
The test for bug 23846 depends on this fix (24115) and the source files of 23846. Therefore the test on 23846 shouldn't participate in the test for 24115.
0024036: Regression: sewing is not correct
Adding test case for issue CR24036
Loading Draw plugin containing command "freebounds"
Loading plugin XDEDRDRW was changed on loading plugin XSDRAW
II. Changes:
II.1. class : BOPAlgo_Builder
- method:
void BOPAlgo_Builder::FillIn3DParts(BOPCol_DataMapOfShapeListOfShape& ,
BOPCol_DataMapOfShapeShape& ,
const BOPCol_BaseAllocator& )
The algorithm of finding 3D-parts for solids has ben changed.
To improve the performance the unbalanced binary tree is used.
II.2. class : BOPTools_AlgoTools
- method:
Standard_Boolean BOPTools_AlgoTools::GetFaceOff
(const TopoDS_Edge&,
const TopoDS_Face&
BOPTools_ListOfCoupleOfShape& ,
TopoDS_Face&
Handle(BOPInt_Context& )
The data treatment for tangent cases has been changed
III. Modified entities:
packages:
BOPAlgo
BOPTools
kgv [Fri, 30 Aug 2013 16:37:02 +0000 (20:37 +0400)]
0024131: TKOpenGL redesign GPU memory management for markers presentation
Introduce Point Sprites usage.
Graphic3d_Group - drop Marker(),MarkerSet() methods - markers should be drawn using AddPrimitiveArray.
Added new Draw Harness commands vcaps, vmarkerstest.
0024132: Test execution fails due to permission rights issues
Generation of temporary files used for capturing DRAW command output on Windows is improved to use directory specified by environment variable TMP or TEMP (instead of root directory which can be write-protected)
vro [Thu, 22 Aug 2013 09:07:17 +0000 (13:07 +0400)]
0024061: Draw-commands for Voxels are insufficient to test the functionality
Upgrade of draw-commands + a new draw-command calling conversion of a shape into voxels.
Resolved of a problem of failure of non-regression tests on voxels (vis/bug19820).
omy [Thu, 22 Aug 2013 08:07:14 +0000 (12:07 +0400)]
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.
vsr [Thu, 22 Aug 2013 07:21:09 +0000 (11:21 +0400)]
0011758: TCollection strings are not memory safe as reported by Purify
Custom string handling code enabled by OptJr macro removed from implementation of strings in TCollection and elsewhere.
Functions from string.h are used instead of macros from Standard_String.hxx
File Standard_String.hxx and methods ISSIMILAR and HASHCODE of TCollection*String classes are removed (to be replaced by strcasecmp).
Functions HashCode for strings reimplemented using DJB2 algorithm for C strings and SDBM algorithm for extended strings.
Adding test cases and draw-command for issue CR11758
Fix misprint added with previous integration
Fix misprint in the test command.
Remove compilation warnings (Linux).
Avoid compiler warning "dereferencing type-punned pointer will break strict-aliasing rules" on Linux
vro [Thu, 15 Aug 2013 12:28:11 +0000 (16:28 +0400)]
0023864: An & symbol is read incorrectly from a XML Ocaf file
A line is uncommented. This line sets the successfully read & symbol.
Correction and adding test cases for issue CR23864
ika [Thu, 15 Aug 2013 11:28:19 +0000 (15:28 +0400)]
0022535: Cut sphere: invalid shape after reading from STEP
In cutting sphere it's seam edge was divided into two parts(by cylinder),
but pcurves of the second were not shifted during shape healing.
Test cases correction