0024799: [regression] BRepAlgoAPI_Common returns empty result
To track the modification of the source vertices, the new vertices, created in PostTreatFF, have been added to myShapesSD map.
If specific layer setting is not enabled, default value extracted from current OpenGl state will be used.
Default value fix.
Updated test case bugs/vis/bug24867
Linux warning fixed.
0024742: Remove rarely used collection classes: Set
Classes NCollection_Set and NCollection_HSet removed as unused (along with NCollection_DefineSet.hxx and NCollection_DefineHSet.hxx).
Classes TCollection_Set and TCollection_HSet removed (along with TCollection_SetIterator and TCollection_SetList nested classes).
Code previously using Set classes updated to equivalent use of Sequence (Adaptor3d and Visual3d packages) or TColStd_PackedMapOfInteger (BRepAlgo package).
In Adaptor3d_CurveOnSurface, calculation of continuity intervals refactored so as to build and store sorted sequence of reals, instead of collecting them to set, copying to array, and then sorting.
0024742: Remove rarely used collection classes: SList
Generic "TCollection_SList" class and nested "TCollection_SListNode" class moved (as non-generic) to the "TopLoc" package (the only place where they were instantiated).
Names of these classes changed to "TopLoc_SListOfItemLocation" and "TopLoc_SListNodeOfItemLocation".
"NCollection_SList" class removed as unused (along with NCollection_DefineSList.hxx).
0024742: Remove rarely used collection classes: Queue
Generic "TCollection_Queue" class removed (along with "TCollection_QueueNode" and three instantiations in TColStd). Template class TCollection_Queue removed.
The code using queue classes converted to use lists for the same purpose (replacing Push -> Append, Front -> First, Pop -> RemoveFirst). In OpenGl_Context, list is used as stack instead of queue, for it looks more natural for release of resources (last allocated - first released).
Blend_Walking_1: value returned by TestArret() deleted.
IntTools_EdgeFace: deleted redundant parameter ff2 and anIsProj2 associated with ff2, since ff2 = !ff1. Refactoring.
ProjLib_ProjectedCurve: treatment of surface of revolution is symmetric for surface of revolution now. Refactoring.
0024884: expand the list of short compiler names in CMake meta-project
List of compiler short names expanded (added: gcc, gxx, mingw, clang, intel); generation of install folder name is corrected to include compiler name without spaces even if short name is not recognized.
Tcl search was fixed (tcl8.6 has higher priority than tcl or tcl8.5);
Search for fb2build.h of freetype 2.5.1 was corrected
0024629: Possibility to install binaries in vc*/bin(d), vc*/lib(d) directories
Install occt folder now can contain several occt configurations
- custom.bat/sh was added to include specific (for each occt config) custom.bat/sh files
- specific custom.bat/sh is added for each configuration (e.g., custom_vc9_win32_d.bat), generated by cmake and included within custom.bat/sh
- draw.bat has three argument, e.g., vc9 win32 debug (as occt behavior)
- sample.bat has one or four arguments, e.g., sample_name vc8 win64 release
- PATH is not changed. DRAWEXE.exe is called from specific folder
patched custom.[bat/sh].[main/in] files have higher priority than origin ones
Documentation was updated to describe new features of CMake
Seeking process of OpenCL include folder was fixed
0024834: Allocation of memory for exception message must not throw another exception
- Add QA draw command OCC24834
- Make functions allocate_message/deallocate_message use malloc/free instead of operator new/delete
- Eliminate compilation error on Linux
0024861: Extra solid is in the result of General Fuse Operation
I. New features:
No new features.
II. Changes:
II.1. class BOPAlgo_ShellSplitter
- statc function:
void RefineShell(TopoDS_Shell& theShell);
has been addded.
The function provides splitting connexity block of faces when the block begins with
the face that is intended to be internal.
II.2. class BOPAlgo_ShellSplitter
- statc function:
Standard_Boolean IsClosedShell(const TopoDS_Shell& theShell);
has been modified to process empty shells.
II.3. class BOPAlgo_ShellSplitter
- method:
void BOPAlgo_ShellSplitter::SplitBlock(BOPTools_ConnexityBlock& aCB);
has been modified to process connexity blocks of faces when the block
begins with the face that is intended to be internal [ II.1 ].
0024800: Point of intersection was not found for 2d offset curve.
For fix this case in method Geom2dInt_Geom2dCurveTool::NBSamples() number of samples for 2d offset and trimmed curve is computed as max value from number of samples for other curve and number of samples for basis curve.
0024820: CLang compiler warning -Wreturn-stack-address
The signature of the function BOPDS_DS::CommonBlock(const Handle(BOPDS_PaveBlock)& thePB)
has been changed to return handle, not a reference to handle.
0024406: Visualization - crash on re-usage of the same primitive array
Redesign Graphic3d_ArrayOfPrimitives
Store vertices data in buffer objects managed using smart-pointers
- no more low-level memory corruption by memory releasing after VBO creation.
Remove broken hasEdgeInfos.
Interleave vertex attributes (position, color, normal, uv) in single buffer.
Remove from Graphic3d_ArrayOfPrimitives methods ::Orientate().
Remove structures Graphic3d_PrimitiveArray, CALL_DEF_PARRAY.
Add support for 2D vertex arrays.
Graphic3d_Group - remove array or primitive arrays.
Introduce more universal method Graphic3d_Group::AddPrimitiveArray().
0024851: Extra vertex is in the result of Boolean Fuse Operation
class IntTools_FaceFace
- statc function:
void CorrectSurfaceBoundaries(const TopoDS_Face& theFace,
const Standard_Real theTolerance,
Standard_Real& theumin,
Standard_Real& theumax,
Standard_Real& thevmin,
Standard_Real& thevmax)
The faces based on cylidrical surface has been added to the list of candidates to extend the boundaries
MAIN CHANGES:
FixAddNaturalBound: the boundaries of "natural bound addition" are restricted: a face, that does not contains an outer wire, should not have any infinite UV boundaries due to new face building (with using a surface) requires specified UV boundaries.
FixAddNaturalBound: myResult is updated in FixAddNaturalBound when the method creates a new face with natural boundary. myResult is required to be updated for next "fix small-area wires" algorithm
IsPeriodicConicalLoop: incorrect working BRepTools_WireExplorer was replaced on TopoDS_Iterator.
a natural bound is added to all the faces are constructed with UV-periodical surfaces (not only sphere and torus; e.g., closed b-splines)
other:
ShapeAnalysis: ReverceSeq renamed to ReverseSeq
BRep_Tool Pnt and Tolerance has the check for null TShape
Test cases for issue CR24249
required null checks were added
test cases were corrected according to their new behavior
Correction test case for issue CR24249
0024775: False detecting of intersection in BRepMesh_Classifier class.
Increased checking accuracy of endpoints touching of segments.
Code formatting improvement.
Test case for issue CR24775
Correction test case for issue CR24775
0024805: Eliminate unused static functions and methods: ShallowDump(), ShallowCopy(), STANDARD_TYPE(...)
Implementation of global functions STANDARD_TYPE() for types not inheriting Standard_Transient or Standard_Persistent are eliminated.
Global functions and class methods ShallowCopy() are removed; also removed unused classes Visual3d_PickPath and Visual3d_PickDescriptor.
Global functions and class methods ShallowDump() are removed, except for classes Standard_GUID, TopLoc_Datum, and TopLoc_Location as the latter are still used in some Debug printouts.
dln [Wed, 5 Mar 2014 14:22:43 +0000 (18:22 +0400)]
0024708: Convertation of the generic classes to the non-generic. Part 2
Generic classes from "AppParCurves" package:
"AppDef_SmoothCriterion", "AppDef_LinearCriteria" and "AppDef_Variational" moved to the corresponding non-generic classes "AppDef_SmoothCriterion", "AppDef_LinearCriteria" and "AppDef_Variational" to "AppDef" package. Also several "*.cxx" files of "AppDef_Variational" class merged to one ".cxx".
Generic class from "IntImp" package:
"IntImp_ZerCOnSSParFunc" moved to the corresponding non-generic class "IntPatch_CSFunction" to "IntPatch" package.
Next unused generic classes were removed:
- IntCurveSurface_SurfaceTool
- Intf_InterferencePolygon3d
And some other minor changes.
0024722: Move functionality of WOK command wgendoc to OCCT tool gendoc
Command gendoc improved to:
- generate Reference Manual documentation (OCCT classes reference) with option -refman; option -overview can be used for generation of overview documentation;
- generate PDF documents for all User Guides automatically (for files listed in FILES_PDF.txt);
- check availability of third-party tools (Doxygen, Inkscape etc.) and properly report warnings and errors.
- use templates of configuration files for third-party tools instead of their generation. These template files are located in dox/resources folder
Tcl scripts are moved from dox folder to adm.
Doxygen warnings are eliminated.
Moved all auxilary functions to occaux.tcl.
Fixed Reference manual generation on *nix platform.
Fixed PDF generation on *nix platforms.
0024809: Exception is raised during perform of "bfillds" command on attached shape
On attached shape command "bfillds -s" hangs in Test Harness on the long time. In debug mode exception is raised.
Vectors are normalized before calculation of an angle.
Added test case bugs/modalg_5/bug24809
dln [Thu, 20 Mar 2014 04:19:13 +0000 (08:19 +0400)]
0024761: Convertation of the generic classes to the non-generic. Part 5
1) Generic class "GccEnt_QualifiedCurv" from "GccEnt" package converted to the non-generic class and moved to the "Geom2dGcc" package. Name of this class was changed to "Geom2dGcc_QCurve".
2) Generic classes "HatchGen_ElementGen", "HatchGen_ElementsGen", "HatchGen_HatchingGen" and "HatchGen_Hatcher" from "HatchGen" package converted to the non-generic classes and moved to the "Geom2dHatch" package. Names of this classes were changed to "Geom2dHatch_Element", "Geom2dHatch_Elements", "Geom2dHatch_Hatching" and "Geom2dHatch_Hatcher". Also all instantiations of the "internal" classes of this classes were moved to the "Geom2dHatch.cdl".
3) Generic classes "Extrema_GExtCC", "Extrema_GExtCC2d", "Extrema_GLocateExtCC" and "Extrema_GLocateExtCC2d" from "Extrema" package converted to the non-generic classes. Names of this classes were changed to "Extrema_ExtCC", "Extrema_ExtCC2d", "Extrema_LocateExtCC" and "Extrema_LocateExtCC2d". Also all instantiations of the "internal" classes of this classes were moved to the "Extrema.cdl".
Also all instantiations of the "internal" classes of this classes were moved to the "Contap.cdl". And sources of the "Contap_ContourGen" class were merged to one .cxx file.