Fixed Lipschitz constant evaluation in case co-parametrized objects.
Fixed 2dextrema output.
Testcase update to new behavior.
Test cases for issue CR25635
Correction of test cases for issue CR25635
Reason of bug: at the end of writing indices the "buf" was written double times.
Fix: At the end of operation skip one WriteLine.
Test case for issue CR25740
1) Version of VRML format is added to VrmlAPI_Writer::Write() and VrmlAPI::Write() to allow use the both versions of the VRML by one writer.
2) Unification of the command to write VRML of both versions. Now "writevrml" command can write VRLM files of v1.0 and v2.0, with wireframe/shaded/both representations. Parameter "Deflection" was removed (next commit will remove meshing, so parameter will be useless).
3) Meshing is removed from writers of both (v1.0 and v2.0) versions. Shaded representation is skipped in case when a mesh does not exist.
Wireframe representation checks the existence of a mesh before. If the mesh exists, a deflected edges are taken from the mesh, otherwise - are generated with the default deflection.
4) Drawing of redundant edges is removed in wireframe representation of VRML version 1.0 (a grid on non-plane surfaces does not match a real edges of TopoDS_Shape and does not match representation in version 2.0).
Test case for issue CR25279
StlTransfer.cxx, function StlTransfer::BuildIncrementalMesh(...) fills the StlMesh_Mesh. Before this fix the StlTransfer always force meshing of the passed shape.
Now meshing is completely removed from the StlTransfer. StlWriter can return error status now, for example, if a mesh of the passed shape is empty. In this case file will be not created.
Added test case bugs/xde/bug25357
Avoid the warning on gcc compiler.
Test scripts were modified according to the fix.
1) bug23192, bug22670, bug23193: removed "isParallel" flag from the command
arguments. Manually meshing of the shape (as far as meshing was removed
from STL writer).
2) bug22898: before the fix writestl always remeshes the shape with a
deflection, related to the boundery box of the shape. For "hammer" shape
there is a 38.9076 deflection for mesh. Differences between before writing
and after reading are dedicated to fact that stl writes triangulation as
an elements of the spahe (like faces, edges etc.)
Changes:
class BRepCheck_Solid
method:
void BRepCheck_Solid::Minimum()
has been changed. The treatment of shells with INTERNAL faces has been added.
Added test case bugs/modalg_5/bug25735
Added TODOs in test cases according to issue 25735.
If-else blocks "scale" and "scaleOrientation" was swapped. Now the comparing and interpretation of these key-words is correct.
Added test case bugs/xde/bug23328
1. Curve boundaries were more precised.
2. Some test cases were changed in accordance of their new behavior.
3. Code fragment for WLines joining was moved to higher level (for more universal using in the future).
Code was changed in accordance with the last remark.
Added test cases bugs/modalg_5/bug25715_1 bug25715_2 bug25715_3
Function perf_sprint_all_meters added in OSD_PerfMeter.h to allow printing to string buffer rather than stdout. Macro PERF_PRINT_ALL converted to functional form.
Command dperf added in DRAW to print and conditionally reset all meters.
Description of these tools is added in Debug Hints.
Modified output of command QANTestNCollectionPerformance.
Added test case perf/ncollection/A1
Modified ratio of performance to check all platforms
Small correction of test-case for Windows platform
1. Eliminated exception after conversion non-rational B-spline to rational
2. Implemented DRAW command setweight to change weights of B-spline
3. Test cases were added
1. Using of the "Closed" flag was unified:
a) this flag is applicable for TopoDS_Wire and TopoDS_Shell only, because these entities may hedge an area in 2D space or a volume in 3D space correspondingly;
b) other types of TopoDS shapes are passing over this flag;
c) changing of this flag should be controlled by high-level algorithms (not BRep_Builder).
2. Implemented verification of the closedness of edges. An edge is closed if and only if its first and last vertices are the same.
3. Test cases were changed according to new behavior.
Move OpenGl_Structure::myZLayer to base class Graphic3d_CStructure.
Graphic3d_ZLayerId - introduce new pre-defined ZLayers.
Do not clear Depth buffer twice for default ZLayer.
AIS_InteractiveContext::Display() - add new argument AIS_DisplayStatus to specify displaying status.
Drop unused Graphic3d_CPick and related methods.
Drop OpenGl_Structure::myNamedStatus - use flags from parent class Graphic3d_CStructure directly.
OpenGl_LayerList ::ChangeLayer(), ::ChangePriority - fix structure remove from unexpected layer.
Merge class OpenGl_PriorityList into OpenGl_Layer.
PrsMgr_PresentationManager::mySelectionColor - store selection color as field of Presentation Manager.
PrsMgr_Presentation class - do not declare private methods as virtual.
PrsMgr_Presentation::Highlight() - extend method syntax and drop methods ::Color() and ::BoundBox().
PrsMgr_PresentableObject - store ZLayer in presentable object
to display object presentations in required layer directly
(without displaying it in wrong layer first).
test/mesh/end - force re-displaying the shape to compute mesh anew
Test-case for issue
Changes:
class BOPTools_Set
method:
void BOPTools_Set::Add(const TopoDS_Shape& theS,
const TopAbs_ShapeEnum theType)
has been changed. The treatment of INTERNAL edges has been added.
Added test case bugs/modalg_5/bug25721
Interface of bopcurves DDRAW-command were extended. Now it is possible to obtain
a) only 3D-curves;
b) 3D-curves and 2D-curves on one of surfaces intersected (surface can be selected);
c) 3D-curves and 2D-curves on every surface intersected.
Use "help bopcurves" to see detail information.
Added test cases bugs/modalg_5/bug25697_1 bug25697_2
Small changes in test case bugs/modalg_5/bug25697_2
1. The tool of computing the max distance between 3D curve and its 2d representation on the face
has been moved from static methods in BOPTools_AlgoTools class to BRepLib_CheckCurveOnSurface class.
2. The tools has been applied to 2d curves built during Boolean Operation
and to some intersection curves.
3. The functions
Standard_Boolean BOPTools_AlgoTools::ComputeTolerance
(const TopoDS_Face& theFace,
const TopoDS_Edge& theEdge,
Standard_Real& theMaxDist,
Standard_Real& theMaxPar)
and
Standard_Boolean IntTools_Tools::ComputeTolerance
(const Handle(Geom_Curve)& theCurve3D,
const Handle(Geom2d_Curve)& theCurve2D,
const Handle(Geom_Surface)& theSurf,
const Standard_Real theFirst,
const Standard_Real theLast,
Standard_Real& theMaxDist,
Standard_Real& theMaxPar)
have been developed for easy access to BRepLib_CheckCurveOnSurface functionality.
class IntTools_FaceFace
method void IntTools_FaceFace::ComputeTolReached3d()
Case for Plane/BSpline intersection added for treatment.
Test case for issue CR25597
Fix for regression boolean bsection N7.
class BOPAlgo_PaveFiller
method
void BOPAlgo_PaveFiller::UpdateFaceInfo
(BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME,
const BOPCol_DataMapOfIntegerInteger& theDMV)
Updating Face Info information with new vertices created in PostTreatFF.
Correction boolean/bsection/N2
Updated test cases.
Changes:
1.
Class BOPTest_Chronometer
The class definition that depends on TBB has been removed
2.
For the following commands:
>bop s1 s2 [tol]
>bopcommon r s1 s2 [tol]
>bfuse r s1 s2 [tol]
>bcut s1 s2 [tol]
>btuc r s1 s2 [tol]
>bsection r s1 s2 [-n2d/-n2d1/-n2d2] [-na] [tol]
>mkvolume r b1 b2 ... [-c] [-ni] [-s] [tol]
>bopcheck Shape [level of check: 0 - 9] [-t -s] [-tol tol]
>bopargcheck Shape1 [[Shape2] [-F/O/C/T/S/U] [/R|F|T|V|E|I|P|C|S]] [#BF] [-tol tol]
>bfillds [-s -t] [tol]
the syntax has been changed. Parameter [tol] has been removed.
The value "tol" (i.e. Fuzzy Value) is option for the algorithm.
If it is necessary, the value "tol" can be set by the command:
>bfuzzyvalue value
see
http://tracker.dev.opencascade.org/view.php?id=25614
for more details
3.
For the following commands:
>bopcheck Shape [level of check: 0 - 9] [-t -s] [-tol tol]
>bfillds [-s -t] [tol]
>bbuild r [-s -t]
>bbop r op [-s -t]
the syntax has been changed. Parameter [-s] has been removed.
Parameter [-s] was to provide the sequential mode of the computations.
The mode of the computations is option for the algorithm.
The mode of the computations can be set by the command:
>brunparallel [0/1]
1 -sets the parallel mode of the computations
0 -sets the sequential mode of the computations
see
http://tracker.dev.opencascade.org/view.php?id=25614
for more details
Three new sample scripts created during development of CAD Assistant for Android added in samples/tcl:
- Penrose.tcl: creation of Penrose triangle made of boxes resembling ones from OCC logo
- pencil.tcl: creation of colored pencil model
- snowflake.tcl: creation of 2d drawing of snowflake
Get rid of postponed calculation of transformation.
Remove unused methods.
Add command OCC25545 to reproduce the bug with data races.
- Get rid of C++11 lambda construction
- make code compilable with no HAVE_TBB defined
- add test case bugs/fclasses/bug25545
Location calculation in SelectedShape() was corrected;
Method HasSelectedShape() that does not take into account shape decomposition was added.
Test case for issue 25627
Fixed last point handling: now we try to check interval with last point instead of adding it to output set of points.
Test case for issue CR25489
Correction of test case for issue CR25489
class BOPTools_AlgoTools
1. method Standard_Boolean FindPointInFace(const TopoDS_Face& aF,
const gp_Pnt& aP,
gp_Dir& aDB,
gp_Pnt& aPOut,
Handle(IntTools_Context)& theContext,
GeomAPI_ProjectPointOnSurf& aProjPL,
const Standard_Real aDt,
const Standard_Real aTolE)
Use different method of finding a point in the face if the start and projected points are close to each other.
2. method Standard_Real MinStep3D(const TopoDS_Edge& theE1,
const TopoDS_Face& theF1,
const BOPTools_ListOfCoupleOfShape& theLCS,
const gp_Pnt& aP)
The min 3D step has been increased for the spherical faces.
Test case for issue CR25600
Correction of test case for issue CR25600
1. Dump of WLine is shown with more precise.
2. Equation solving with more precise.
3. Dump of Multy-line.
4. Code optimization.
Some test cases were updated in accordance with their new behaviour.
Correction of test cases for issue CR25531