5 years ago0025791: Impossibility to generate projects for Foundation Classes without TclTk...
ibs [Wed, 4 Feb 2015 09:18:04 +0000]
0025791: Impossibility to generate projects for Foundation Classes without TclTk/Freetype using CMake

unset redundant variables

5 years ago0024601: Unwanted spheres shown after Step-Import
ika [Thu, 5 Feb 2015 13:24:46 +0000]
0024601: Unwanted spheres shown after Step-Import

Add check for outer boundary before creating wire from Vertex Loop on spheres.
Test case for issue CR24601

5 years ago0025766: Exception in BRepAlgo_Section
emv [Thu, 5 Feb 2015 13:19:47 +0000]
0025766: Exception in BRepAlgo_Section

class TopOpeBRep_FacesIntersector
static void MergeWLinesIfAllSegmentsAlongRestriction(IntPatch_SequenceOfLine&           theSlin,
     const Handle(Adaptor3d_HSurface)&  theSurface1,
     const Handle(Adaptor3d_TopolTool)& theDomain1,
     const Handle(Adaptor3d_HSurface)&  theSurface2,
     const Handle(Adaptor3d_TopolTool)& theDomain2,
     const Standard_Real                theTolArc)
Protection from null wlines has been added.

Test-case for issue #25766

5 years ago0025635: Wrong result of 2D-extrema between two ellipsis
aml [Thu, 5 Feb 2015 13:13:39 +0000]
0025635: Wrong result of 2D-extrema between two ellipsis

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

5 years ago0025708: GeomAPI_ExtremaCurveCurve does not return all intersection points in 6.8.0
aml [Thu, 5 Feb 2015 13:01:40 +0000]
0025708: GeomAPI_ExtremaCurveCurve does not return all intersection points in 6.8.0

Added expanding coefficients between neighboring indexes, changed local optimization starting condition.

Test case for issue CR25708

5 years ago0025675: Visualization - Fix problems and inefficiencies with frustum culling
vpa [Wed, 4 Feb 2015 12:59:14 +0000]
0025675: Visualization - Fix problems and inefficiencies with frustum culling

Removed unnecessary overlap check in traverse of layer items;
Slight optimization of calculations in overlap detection methods in OpenGl_BVHTreeSelector.

5 years ago0024826: Wrapping of parallelisation algorithms
msv [Thu, 5 Feb 2015 12:49:35 +0000]
0024826: Wrapping of parallelisation algorithms

Simple primitives to parallelize loops type "for" and "foreach" were implemented. The primitives encapsulates complete logic for creating and managing parallel context of loops. Moreover the primitives may be a wrapper for some primitives from 3rd-party library - TBB.

To use it is necessary to implement TBB like interface which is based on functors. For example:

Class Functor
  void operator() ([proccesing instance]) const

In the body of the operator () should be implemented thread-safe logic of computations that can be performed in parallel context. If parallelized loop iterates on the collections with direct access by index (such as Vector, Array), it is more efficient to use the primitive ParallelFor (because it has no critical section).

All parts of  OCC code which are using tbb were changed on new primitives.

0024826: Wrapping of parallelisation algorithms

Small fix.

5 years ago0025780: checkshape raises an exception Standard_OutOfMemory.
ink [Thu, 5 Feb 2015 12:35:00 +0000]
0025780: checkshape raises an exception Standard_OutOfMemory.

Improved method BRepCheck_Wire::Propagate

Added test cases bugs/modalg_5/bug25780

5 years ago0025790: Drop unimplemented method ShallowCopy() from TCollection_HSequence.cdl
kgv [Wed, 4 Feb 2015 07:18:23 +0000]
0025790: Drop unimplemented method ShallowCopy() from TCollection_HSequence.cdl

5 years ago0025740: VrmlData_Scene::WriteArrIndex() writes extra point indices.
akz [Thu, 5 Feb 2015 12:22:13 +0000]
0025740: VrmlData_Scene::WriteArrIndex() writes extra point indices.

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

5 years ago0025279: OCCT fails to read VRML file created by OCCT
akz [Thu, 5 Feb 2015 12:02:01 +0000]
0025279: OCCT fails to read VRML file created by OCCT

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

5 years ago0025770: Possible "invalid memory access"
aml [Fri, 30 Jan 2015 10:13:06 +0000]
0025770: Possible "invalid memory access"

Memory problems fixed.

5 years ago0025475: Visualization, TKOpenGl - draw background using primitive arrays
aba [Thu, 5 Feb 2015 11:48:39 +0000]
0025475: Visualization, TKOpenGl - draw background using primitive arrays

Move background arrays to separate class OpenGl_BackgroundArray
for texture and gradient arrays.

Eliminated warnings on Linux

5 years ago0025689: IGESCAFControl_Writer crash in constructor.
akz [Mon, 26 Jan 2015 16:12:41 +0000]
0025689: IGESCAFControl_Writer crash in constructor.

Cause of bug is that the IGESData_BasicEditor is created before an initialization of IGESControl_Controller::Init(). IGESData_BasicEditor cannot find template "iges", so the model is still empty after creation.

1) Added a default constructor to the IGESData_BasicEditor. Can be initialized via Init() method.
2) Added some null checks in the places, where are provided access to the model (IGESData_BasicEditor's member).
3) Initialization of the IGESData_BasicEditor was placed after initialization if the IGESControl_Controller.

5 years ago0025357: STL writer does not check the given shape for existing triangulation and...
akz [Thu, 5 Feb 2015 11:38:59 +0000]
0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode.

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.)

5 years ago0025769: Replace BOPCol_Array1 with NCollection_Vector
pkv [Fri, 30 Jan 2015 11:02:21 +0000]
0025769: Replace BOPCol_Array1 with NCollection_Vector

New features:
1. class NCollection_BaseVector
    void SetIncrement(const Standard_Integer aIncrement)
    has been added.
    The method allows to set the size of increment dynamically
    [ not in constructor ].

2 class BOPCol_Array1
    has been removed.

1. classes
have been modified to take into account New features: 1 and 2

2. class BOPTest_Chronometer
has been modified to use the driver of the type
OSD_Timer instead OSD_Chronometer

5 years ago0025328: Visualization, TKOpenGl - support text rendering within built-in GLSL programs
dbp [Tue, 20 Jan 2015 09:56:54 +0000]
0025328: Visualization, TKOpenGl - support text rendering within built-in GLSL programs

5 years ago0025734: GCC warnings in Android build
ski [Thu, 5 Feb 2015 11:23:17 +0000]
0025734: GCC warnings in Android build

Warnings were fixed.

Fixed wrong re-initialization.

5 years ago0023971: Possibility to extract all error messages from test log
ski [Fri, 16 Jan 2015 13:22:44 +0000]
0023971: Possibility to extract all error messages from test log

It is possible now to extract all error messages from test log using key "-errors"


5 years ago0023992: it's required to save log information of test command in (specified) file
ski [Thu, 5 Feb 2015 11:11:19 +0000]
0023992: it's required to save log information of test command in (specified) file

It is possible now to save log information of test command in specified file.

Print information on count of found test cases before tests start

Sound signal at the end of the test

Used meminfo -h to control memory

Titles of differences in images produced by testdiff command were changed.

5 years ago0025758: Visualization, TKOpenGl - texture initialization fails on Intel HD 4600...
kgv [Thu, 29 Jan 2015 12:16:09 +0000]
0025758: Visualization, TKOpenGl - texture initialization fails on Intel HD 4600 in ray tracing test

Unbind global texture sampler right after its usage.

5 years ago0025762: Visualization, TKOpenGl - fix debug assertion within OpenGl_Workspace::Uploa...
kgv [Thu, 29 Jan 2015 10:14:49 +0000]
0025762: Visualization, TKOpenGl - fix debug assertion within OpenGl_Workspace::UploadRaytraceData()

5 years ago0025735: Wrong solid is considered as valid by checkshape
pkv [Thu, 5 Feb 2015 09:49:05 +0000]
0025735: Wrong solid is considered as valid by checkshape

class BRepCheck_Solid
   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.

5 years ago0025632: IGES writer looses face orientation
mkv [Fri, 30 Jan 2015 10:51:43 +0000]
0025632: IGES writer looses face orientation
Update new tensing cases for issue

5 years ago0025631: Bounding box is too big for the face.
aml [Thu, 29 Jan 2015 12:09:51 +0000]
0025631: Bounding box is too big for the face.

Fixed start and finish indexes of poles in case of trimmed bspline surface.

Test case for issue CR25631

5 years ago0023328: Importing VRML files with "scaleOrientation" not possible
akz [Thu, 29 Jan 2015 11:23:35 +0000]
0023328: Importing VRML files with "scaleOrientation" not possible

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

5 years ago0025632: IGES writer looses face orientation
ika [Thu, 29 Jan 2015 11:13:29 +0000]
0025632: IGES writer looses face orientation

Adding reversing surfaces before writing for reversed faces

Test case for issue CR25632

5 years ago0025717: Non reentrant (and hence non-thread-safe) math_RealRandom / _IntegerRandom
abv [Sun, 18 Jan 2015 14:08:40 +0000]
0025717: Non reentrant (and hence non-thread-safe) math_RealRandom / _IntegerRandom

Classes math_IntegerRandom and math_RealRandom, and method Random2 in math_Recipes, removed. Class math_BullardGenerator is used instead.

5 years ago0025679: Visualization, TKOpenGl - View frustum culling clips wrong objects
vpa [Wed, 28 Jan 2015 09:21:58 +0000]
0025679: Visualization, TKOpenGl - View frustum culling clips wrong objects

Corrected area calculation for degenerated AABBs in BVH_Box;
Test case for issue 25679.

5 years ago0025743: Add FixMode parameter to DropSmallSolids operator
imn [Fri, 23 Jan 2015 10:31:01 +0000]
0025743: Add FixMode parameter to DropSmallSolids operator

5 years ago0025715: Intersection between cylinders produces excess vertices
nbv [Thu, 29 Jan 2015 11:00:11 +0000]
0025715: Intersection between cylinders produces excess vertices

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

5 years ago0025712: Non-deterministic behavior of ShapeFix_Solid
Roman Lygin [Thu, 29 Jan 2015 10:56:53 +0000]
0025712: Non-deterministic behavior of ShapeFix_Solid

Test-case for issue #25712

5 years ago0025704: BRepOffsetAPI_MakeOffset: some customer's cases are processed incorrect
jgv [Thu, 29 Jan 2015 10:45:47 +0000]
0025704: BRepOffsetAPI_MakeOffset: some customer's cases are processed incorrect

Added test cases bugs/modalg_5/bug25704_1 - bug25704_6

5 years ago0025622: CAST analysis: Avoid invocation of virtual Methods of the declared Class...
azn [Thu, 18 Dec 2014 07:27:01 +0000]
0025622: CAST analysis: Avoid invocation of virtual Methods of the declared Class in a Constructor or Destructor

The Delete() methods have been deleted from the following classes:
- Adaptor2d_Curve2d
- Adaptor3d_Curve
- Adaptor3d_Surface
- AppBlend_Approx
- AppCont_Function
- AppParCurves_MultiCurve
- AppParCurves_MultiPoint
- ApproxInt_SvSurfaces
- BRepPrim_OneAxis
- BRepSweep_NumLinearRegularSweep
- BRepSweep_Translation
- BRepSweep_Trsf
- DBC_BaseArray
- GeomFill_Profiler
- HatchGen_PointOnHatching
- math_BFGS
- math_FunctionSet
- math_FunctionSetRoot
- math_FunctionWithDerivative
- math_MultipleVarFunction
- math_MultipleVarFunctionWithHessian
- math_MultipleVarFunctionWithGradient
- math_Powell
- math_NewtonMinimum
- math_NewtonFunctionSetRoot
- math_BissecNewton (just add virtual destructor)
- math_FRPR
- math_BrentMinimum (just add virtual destructor)
- OSD_Chronometer
- ProjLib_Projector

Virtual methods Delete() or Destroy() of the transient inheritors is not changed (-> separate issue).
Classes Graphic3d_DataStructureManager and PrsMgr_Presentation without changes.

5 years ago0023640: Documentation for local sewing with BRepBuilderAPI_Sewing is missing
ysn [Thu, 29 Jan 2015 10:21:33 +0000]
0023640: Documentation for local sewing with BRepBuilderAPI_Sewing is missing

Fix for bug 23640.
Merging the rest of Technical Overview content into User's Guides.

-Correct UG sections concerning Sewing.
-Correct comments in the code referring to old location of sewing algorithm.

5 years ago0025719: Boolean operations can crash
msv [Fri, 23 Jan 2015 15:07:15 +0000]
0025719: Boolean operations can crash

Suppress math_BFGS constructor that calls the method Perform that in its turn calls the virtual method IsSolutionReached.

5 years ago0023880: Integration of grid "ncl" into the new testing system
abv [Thu, 29 Jan 2015 10:09:07 +0000]
0023880: Integration of grid "ncl" into the new testing system

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

5 years ago0025582: SIGSEGV in thrusections of circle segments
azv [Fri, 23 Jan 2015 12:55:56 +0000]
0025582: SIGSEGV in thrusections of circle segments

Eliminating regressions

Fixed compilation warning ('di' : unreferenced formal parameter).

Added test bugs/modalg_5/bug25578

5 years ago0025706: SIGSEGV after making existing BSplineCurve rational
azv [Wed, 14 Jan 2015 07:00:06 +0000]
0025706: SIGSEGV after making existing BSplineCurve rational

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

5 years ago0025582: SIGSEGV in thrusections of circle segments
azv [Wed, 14 Jan 2015 14:26:30 +0000]
0025582: SIGSEGV in thrusections of circle segments

1. Implemented using of trimmed circular curve
2. Added test case

5 years ago0025578: SIGSEGV in BRepSweep_Rotation in case of singularities
azv [Tue, 13 Jan 2015 14:44:38 +0000]
0025578: SIGSEGV in BRepSweep_Rotation in case of singularities

Eliminating degenerated edges

5 years ago0025711: Get rid of static variable islambdadefined in AppParCurves_BSpGradient.gxx
azv [Fri, 16 Jan 2015 07:32:51 +0000]
0025711: Get rid of static variable islambdadefined in AppParCurves_BSpGradient.gxx

5 years ago0025346: Wrong result of General Fuse operation
apn [Mon, 26 Jan 2015 12:20:52 +0000]
0025346: Wrong result of General Fuse operation

Added test cases bugs/modalg_5/bug25346_1 bug25346_2

5 years ago0025692: Boolean operations minor improvement
István Csanády [Thu, 8 Jan 2015 17:18:00 +0000]
0025692: Boolean operations minor improvement

Method IntPolyh_MaillageAffinage::TriContact() improved so that local objects for detailed analysis are not created if algorithm exits by simple conditions checked at the beginning.

5 years ago0020040: Difference in treatment of closed curves in BRep_Builder::UpdateEdge
azv [Thu, 22 Jan 2015 14:42:06 +0000]
0020040: Difference in treatment of closed curves in BRep_Builder::UpdateEdge

Test case was added

Modified test cases to extract the shell from the solid and check it for closeness.

5 years ago0025656: Specification of semantic of Closed flag of an edge
azv [Tue, 30 Dec 2014 04:37:51 +0000]
0025656: Specification of semantic of Closed flag of an edge

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.

5 years ago0024394: Visualization - implement more general way for rendering of immediate objects
kgv [Thu, 22 Jan 2015 14:29:37 +0000]
0024394: Visualization - implement more general way for rendering of immediate objects

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

5 years ago0025722: Wrong implementation of SetFuzzyValue method
emv [Thu, 22 Jan 2015 14:24:00 +0000]
0025722: Wrong implementation of SetFuzzyValue method

The following methods
  void BOPAlgo_ArgumentAnalyzer::SetFuzzyValue(const Standard_Real theFuzz)
  void BOPAlgo_Builder::SetFuzzyValue(const Standard_Real theFuzz)
  void BOPAlgo_PaveFiller::SetFuzzyValue(const Standard_Real theFuzz)
  void BOPDS_DS::SetFuzzyValue(const Standard_Real theFuzz)
  void BRepAlgoAPI_BuilderAlgo::SetFuzzyValue(const Standard_Real theFuzz)
  void BRepAlgoAPI_Check::SetFuzzyValue(const Standard_Real theFuzz)
have been corrected.

Added test case bugs/modalg_5/bug25722

5 years ago0025721: Wrong result obtained by Common operator.
pkv [Thu, 22 Jan 2015 14:19:07 +0000]
0025721: Wrong result obtained by Common operator.

class BOPTools_Set
    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

5 years ago0025569: Tests 24959_1 and 24959_2 are not correct
ski [Wed, 21 Jan 2015 11:56:10 +0000]
0025569: Tests 24959_1 and 24959_2 are not correct

Test cases were corrected to check triangulation deflection

5 years ago0025697: Regression : Section obtained after command "bsection" in Test Harness is...
nbv [Thu, 22 Jan 2015 14:06:33 +0000]
0025697: Regression : Section obtained after command "bsection" in Test Harness is incorrect.

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

5 years ago0025597: Invalid curve on surface in the result of General Fuse operation
emv [Thu, 22 Jan 2015 13:54:54 +0000]
0025597: Invalid curve on surface in the result of General Fuse operation

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)
  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
  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.

5 years ago0025703: Visualization - Decrease number of samplers used in ray-tracing mode
dbp [Wed, 14 Jan 2015 08:04:27 +0000]
0025703: Visualization - Decrease number of samplers used in ray-tracing mode

This patch eliminates 3 samplers used in ray-tracing mode:

//! Texture buffer of data records of bottom-level BVH nodes.
Handle(OpenGl_TextureBufferArb) myObjectNodeInfoTexture;
//! Texture buffer of minimum points of bottom-level BVH nodes.
Handle(OpenGl_TextureBufferArb) myObjectMinPointTexture;
//! Texture buffer of maximum points of bottom-level BVH nodes.
Handle(OpenGl_TextureBufferArb) myObjectMaxPointTexture;

Serialized data contained in corresponding texture buffers were added to global scene buffers:

//! Texture buffer of data records of high-level BVH nodes.
Handle(OpenGl_TextureBufferArb) mySceneNodeInfoTexture;
 //! Texture buffer of minimum points of high-level BVH nodes.
Handle(OpenGl_TextureBufferArb) mySceneMinPointTexture;
//! Texture buffer of maximum points of high-level BVH nodes.
Handle(OpenGl_TextureBufferArb) mySceneMaxPointTexture;

This modifications leads also to small performance improvement (~2%) due to higher texture cache efficiency. Some modifications in traversal function (GLSL code) also improve performance (~3%).

5 years ago0025694: Change STEP exporter to use AP214 IS by default
Roman Lygin [Thu, 22 Jan 2015 13:42:58 +0000]
0025694: Change STEP exporter to use AP214 IS by default

Test-case for issue #25694

5 years ago0025663: Expand math_PSO class description
aml [Fri, 26 Dec 2014 09:56:35 +0000]
0025663: Expand math_PSO class description

math_PSO class description extended.

5 years agoAdjusting new testing cases
mkv [Fri, 16 Jan 2015 10:32:55 +0000]
Adjusting new testing cases

5 years ago0025661: Visualization - AIS_InteractiveContext::Load() is not symmetric to the local...
san [Thu, 25 Dec 2014 16:09:57 +0000]
0025661: Visualization - AIS_InteractiveContext::Load() is not symmetric to the local context method

Register theIObj in the selection manager to prepare further activation of selection

5 years ago0025621: CAST analysis - Avoid constructors not supplying an initial value for all...
azn [Thu, 25 Dec 2014 07:00:13 +0000]
0025621: CAST analysis - Avoid constructors not supplying an initial value for all non-static data members

The constructors of classes from following files have been fixed to ensure that all non-static fields are initialized:


5 years ago0025662: Project command produce wrong 2dcurve
aml [Thu, 15 Jan 2015 12:40:25 +0000]
0025662: Project command produce wrong 2dcurve

Concatenation algorithm fixed to work over periodic bspline surfaces.

Test case for issue CR25662

5 years ago0025649: crvtpoints command return wrong deflection in output.
aml [Thu, 15 Jan 2015 12:37:10 +0000]
0025649: crvtpoints command return wrong deflection in output.

Deflection computation algorithm changed to PSO+NewtonMinimum.

Correction of test case

5 years ago0025660: Project command produce wrong 2dcurve
aml [Thu, 15 Jan 2015 12:33:15 +0000]
0025660: Project command produce wrong 2dcurve

Changed starting point of Newton optimization.

Test case for issue CR25660

5 years ago0025596: GCPnts_TangentialDeflection creates wrong point distribution for visualization
aml [Fri, 12 Dec 2014 10:40:06 +0000]
0025596: GCPnts_TangentialDeflection creates wrong point distribution for visualization

Added check to small step after adding new point to prevent possible jump over local splash. If check failed then old step restored.

5 years ago0025466: Visualization - Impossible to change the display mode when a local context...
kgv [Thu, 15 Jan 2015 12:25:52 +0000]
0025466: Visualization - Impossible to change the display mode when a local context is opened

Remove irrelevant check from method AIS_InteractiveContext::SetDisplayMode().

Test case for issue CR25466

5 years ago0025664: Visualization - dynamic highlighting should not be discarded on re-displayin...
kgv [Tue, 13 Jan 2015 07:48:04 +0000]
0025664: Visualization - dynamic highlighting should not be discarded on re-displaying independent object

Clear list of immediate presentations in proper place - in AIS_LocalContext::manageDetected()
instead of AIS_LocalContext::Unhilight().

5 years ago0025700: Ensuring uniform control of the functionalities of the Boolean operations...
pkv [Wed, 14 Jan 2015 06:43:30 +0000]
0025700: Ensuring uniform control of the functionalities of the Boolean operations algorithm at the level of DRAW application

Class BOPTest_Chronometer
The class definition that depends on TBB has been removed

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

for more details

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

for more details

5 years ago0025691: Visualization, TKService - fix font corruption on FreeType 2.5.4
kgv [Wed, 7 Jan 2015 20:29:06 +0000]
0025691: Visualization, TKService - fix font corruption on FreeType 2.5.4

5 years ago0023922: Systematic review of TODO tests
ski [Thu, 15 Jan 2015 12:06:54 +0000]
0023922: Systematic review of TODO tests

Small corrections for test cases with "TEST INCOMPLETE" result.

TODO statements with "TEST INCOMPLETE" were checked and corrected.

5 years ago0025657: Bad result of Fillet operation
jgv [Thu, 15 Jan 2015 12:04:05 +0000]
0025657: Bad result of Fillet operation

Comments have been precised.

Test case for issue CR25657

Fix of regression

Additional test case.

5 years ago0023626: It's impossible to open files containing localisation characters in the...
ski [Tue, 9 Dec 2014 13:24:00 +0000]
0023626: It's impossible to open files containing localisation characters in the name

Files containing localisation characters can be opened and saved now properly.

5 years ago0025523: Fail to read back solid written to STEP
ink [Thu, 15 Jan 2015 11:51:21 +0000]
0025523: Fail to read back solid written to STEP

Fixed a exception occurred during reading step file

Test case for issue CR25523

5 years ago0025634: Checking of compliance of vertices and pcurve fails
vro [Thu, 15 Jan 2015 11:47:07 +0000]
0025634: Checking of compliance of vertices and pcurve fails

A fix + a checkedge draw-command to check the fix.

Test case for issue CR25634

5 years ago0025616: Avoid Classes using "new" to allocate Instances but not defining a copy...
azn [Thu, 15 Jan 2015 11:41:27 +0000]
0025616: Avoid Classes using "new" to allocate Instances but not defining a copy Constructor

The empty copy constructor, assignemnts operator, default constructors added to the following classes:
The following classes use “new” function without Handles:
- Select3D_PointData
- BSB_T3Bits
- IntPatch_InfoPD
- LDOM_StringElem
- BinomAllocator
- ProjLib_OnSurface
- Standard_MMgrFactory

Useless declaration of default constructor have been deleted.

5 years ago0025532: Visualization - fix cross-references between AIS_ConnectedInteractive and...
dbp [Thu, 15 Jan 2015 11:37:12 +0000]
0025532: Visualization - fix cross-references between AIS_ConnectedInteractive and connected presentation

New test case added.

5 years ago0025222: Visualization - provide distance field builder in the Math/BVH package
dbp [Thu, 15 Jan 2015 11:33:23 +0000]
0025222: Visualization - provide distance field builder in the Math/BVH package

A distance field is a representation where, at each point within the field, the distance from that point to the closest point on the object is specified.
In addition to distance, other properties may be derived from the distance field, such as the direction to the surface, and when the distance field is signed, we may also determine if the point is internal or external to objects within the domain.
The distance field has been found to be a useful construction within the areas of computer vision, physics, and computer graphics. In particular, distance fields can be used for generating realistic visual effects and collision detection.

Fix compilation warning when using GCC.

5 years ago0025629: Visualization, AIS_InteractiveContext - code clean up
kgv [Wed, 24 Dec 2014 09:15:53 +0000]
0025629: Visualization, AIS_InteractiveContext - code clean up

Drop confusing method AIS_InteractiveContext::Clear() which is the same as ::Remove().
AIS_InteractiveContext::Display() - fix double viewer update on first display of presentation.
AIS_InteractiveContext::DisplayedObjects() - fix objects retrieval from local contexts.
AIS_InteractiveContext::Load() - do not bind object twice.

Drop code blocks for debug output.
Code clean up.

5 years ago0025650: Visualization - AIS_Line::ComputeSelection() should not ignore the selection...
san [Wed, 24 Dec 2014 07:37:09 +0000]
0025650: Visualization - AIS_Line::ComputeSelection() should not ignore the selection mode argument

Only selection mode 0 is supported from now on.

5 years ago0025669: Unable to compile BOPTest package in WOK
emv [Sat, 27 Dec 2014 05:18:30 +0000]
0025669: Unable to compile BOPTest package in WOK

package BOPTest
BOPTest_Chronometer.hxx has been added to FILES.

5 years agoCosmetic update testing cases.
mkv [Fri, 26 Dec 2014 10:02:51 +0000]
Cosmetic update testing cases.

5 years ago0025570: New Tcl sample scripts created for CAD Assistant
abv [Tue, 23 Dec 2014 04:03:42 +0000]
0025570: New Tcl sample scripts created for CAD Assistant

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

5 years ago0025545: TopLoc_Location::Transformation() provokes data races
msv [Thu, 25 Dec 2014 15:31:11 +0000]
0025545: TopLoc_Location::Transformation() provokes data races

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

5 years ago0025351: Visualization - provide pseudo random number generator in OCCT ray-tracing...
dbp [Tue, 23 Dec 2014 11:39:18 +0000]
0025351: Visualization - provide pseudo random number generator in OCCT ray-tracing core

5 years ago0025627: SelectedShape() and HasSelectedShape() of AIS_InteractiveContext class do...
vpa [Fri, 19 Dec 2014 12:24:09 +0000]
0025627: SelectedShape() and HasSelectedShape() of AIS_InteractiveContext class do not work as expected.

Location calculation in SelectedShape() was corrected;
Method HasSelectedShape() that does not take into account shape decomposition was added.

Test case for issue 25627

5 years ago0025651: GL_LUMINANCE8 should be defined for android case
ibs [Fri, 19 Dec 2014 15:40:31 +0000]
0025651: GL_LUMINANCE8 should be defined for android case


5 years ago0025612: Introduce possibility to disable adaptive reconfigutation of triangles in...
oan [Thu, 25 Dec 2014 15:17:56 +0000]
0025612: Introduce possibility to disable adaptive reconfigutation of triangles in BRepMesh

Remarks from PDN: flag has been renamed to ControlSurfaceDeflection

Test-case for issue #25612

5 years ago0025489: GCPnts_TangentialDeflection gives incorrect distribution of points
aml [Thu, 25 Dec 2014 15:11:28 +0000]
0025489: GCPnts_TangentialDeflection gives incorrect distribution of points

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

5 years ago0025600: Wrong result of Boolean FUSE operation
emv [Thu, 25 Dec 2014 15:08:44 +0000]
0025600: Wrong result of Boolean FUSE operation

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

5 years ago0025531: Difference in intersection result on Windows and Linux platform is very...
nbv [Thu, 25 Dec 2014 15:04:55 +0000]
0025531: Difference in intersection result on Windows and Linux platform is very significant

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

5 years ago0025625: Boolean COMMON cannot be built
emv [Thu, 25 Dec 2014 15:00:32 +0000]
0025625: Boolean COMMON cannot be built

class BOPTools_AlgoTools2D
method void BOPTools_AlgoTools2D::Make2D (const TopoDS_Edge& aE,
                                   const TopoDS_Face& aF,
                                   Handle(Geom2d_Curve)& aC2D,
                                   Standard_Real& aFirst,
                                   Standard_Real& aLast,
                                   Standard_Real& aToler)

Perform projection with the tolerance of the edge.

Test case for issue CR25625

5 years ago0024411: SplitShape produces shape with incorrectly parameterized periodic 3D curve
azv [Thu, 25 Dec 2014 14:57:55 +0000]
0024411: SplitShape produces shape with incorrectly parameterized periodic 3D curve

Implemented additional flag into Geom_TrimmedCurve to adjust or not the periodic curve inside the first period.

API of Geom2d_TrimmedCurve is changed according to Geom_TrimmedCurve.

Test-case for issue #24411

5 years ago0025614: Provide API access to the new fuctionalities of Boolean Components
pkv [Thu, 25 Dec 2014 14:55:02 +0000]
0025614: Provide API access to the new fuctionalities of Boolean Components

I. New features:
1.1. class BOPAlgo_PaveFiller
void BOPAlgo_PaveFiller::SetArguments(const TopTools_ListOfShape& theLS)
has been added to provide the setting argumemts  through

1.2. class BOPAlgo_Builder
void BOPAlgo_Builder::SetArguments(const TopTools_ListOfShape& theLS)
has been added to provide the setting argumemts  through

1.3. class BOPAlgo_BOP
void BOPAlgo_BOP::SetTools(const TopTools_ListOfShape& theLS)
has been added to provide the setting tools through

1.4. class BRepAlgoAPI_BuilderAlgo
  (const BOPAlgo_PaveFiller& aPF)
has been added to provide the construction
of the object using BOPAlgo_PaveFiller object

void BRepAlgoAPI_BuilderAlgo::SetArguments
 (const TopTools_ListOfShape& theLS)
has been added to provide the setting argumemts

const TopTools_ListOfShape& BRepAlgoAPI_BuilderAlgo::Arguments()const
has been added to provide access to the argumemts

1.5. class BRepAlgoAPI_BooleanOperation
void BRepAlgoAPI_BooleanOperation::SetTools
  (const TopTools_ListOfShape& theLS)
has been added to provide the setting tools

const TopTools_ListOfShape& BRepAlgoAPI_BooleanOperation::Tools()const
has been added to provide access to the tools

1.6. class BRepAlgoAPI_Common
(const BOPAlgo_PaveFiller& aPF)
has been added to provide the construction
of the object using BOPAlgo_PaveFiller object

1.7. class BRepAlgoAPI_Cut
(const BOPAlgo_PaveFiller& aPF)
has been added to provide the construction
of the object using BOPAlgo_PaveFiller object

1.8. class BRepAlgoAPI_Fuse
(const BOPAlgo_PaveFiller& aPF)
has been added to provide the construction
of the object using BOPAlgo_PaveFiller object

1.9. class BRepAlgoAPI_Section
(const BOPAlgo_PaveFiller& aPF)
has been added to provide the construction
of the object using BOPAlgo_PaveFiller object

1.10. class BOPTest
void BOPTest::APICommands(Draw_Interpretor& theCommands)
has been added to provide tcl commands to launch the algorithms
implemented in BRepAlgoAPI package using DRAWEXE application.

 >bapibuild r
   performs General Fuse algorithm.
     r -the result of the operation

 >bapibop r type
   performs Boolean Operation agorithm
      r -the result of the operation
      type -type of the operation:

void BOPTest::OptionCommands(Draw_Interpretor& theCommands)
has been added to provide tcl commands to set/get the options that is
necessary for the algorithms implemented in BRepAlgoAPI package.

   dump the state of current options

  >brunparallel [0/1]
   1 -sets the parallel mode of the computations
   0 -sets the sequential mode of the computations

  >bfuzzyvalue value
    sets the fuzzy value

II. Changes:
II.1. class BRepAlgoAPI_BuilderAlgo
const TopTools_ListOfShape& BRepAlgoAPI_BuilderAlgo::Generated
  (const TopoDS_Shape& aS)
const TopTools_ListOfShape& BRepAlgoAPI_BuilderAlgo::Modified
  (const TopoDS_Shape& aS)
Standard_Boolean BRepAlgoAPI_BuilderAlgo::IsDeleted
  (const TopoDS_Shape& aS)
Standard_Boolean BRepAlgoAPI_BuilderAlgo::HasModified() const
Standard_Boolean BRepAlgoAPI_BuilderAlgo::HasGenerated() const
Standard_Boolean BRepAlgoAPI_BuilderAlgo::HasDeleted() const
has been redefined to provide access to the history

II.1. class BOPTest
void BOPTest::APICommands(Draw_Interpretor& theCommands)
has been added to provide tcl commands to launch the algorithms
implemented in BRepAlgoAPI package using DRAWEXE application.

void BOPTest::OptionCommands(Draw_Interpretor& theCommands)
has been added to provide tcl commands to set/get the options that is
necessary for the algorithms implemented in BRepAlgoAPI package.

II.2. class BRepAlgoAPI
void BRepAlgoAPI::DumpOper(const Standard_CString theFilePath,
                           const TopoDS_Shape& theShape1,
                           const TopoDS_Shape& theShape2,
                           const TopoDS_Shape& theResult,
                           BOPAlgo_Operation theOperation,
                           Standard_Boolean isNonValidArgs)
has been removed. The contents has been shifted into the file:

II.3. classes QANewModTopOpe_Glue, QANewModTopOpe_Intersection
the modifications have been done to provide the consistency with the
modifications in BRepAlgoAPI package [I].
III. Modified entities:

Test cases for issue CR25614

5 years ago0025584: Wrong result obtained by PerformInfinitePoint Test
azv [Thu, 25 Dec 2014 14:14:37 +0000]
0025584: Wrong result obtained by PerformInfinitePoint Test

Implemented additional verification of periodicity of B-spline surfaces when calculating UV-bounds

Test case for issue CR25584

5 years ago0025592: Bad result of Fillet operation
jgv [Thu, 25 Dec 2014 13:47:08 +0000]
0025592: Bad result of Fillet operation

Comments have been added.

Test case for issue CR25592

5 years ago0025591: Command mkshell produces wrong shell
azv [Thu, 25 Dec 2014 13:42:49 +0000]
0025591: Command mkshell produces wrong shell

The functionality to decide, whether the edge is degenerated, was shared via BRepLib_MakeFace. The verification of producing degenerated edges was added to BRepLib_MakeShell.

Test case for issue CR25591

5 years ago0025608: TKernel, NCollection_UtfIterator - fix iteration of surrogate pairs in UTF-16
kgv [Sat, 13 Dec 2014 12:00:07 +0000]
0025608: TKernel, NCollection_UtfIterator - fix iteration of surrogate pairs in UTF-16

5 years ago0025275: Diferent result of reading operation from *.igs and *.stp file for WINDOWS...
nbv [Thu, 4 Dec 2014 06:51:24 +0000]
0025275: Diferent result of reading operation from *.igs and *.stp file for WINDOWS and LINUX platform

Symbol SUB (ASCII-code 0x1A) should be considered as End-Of-File both on WINDOWS and LINUX (and on other) system.

5 years ago0025580: Visualization, TKOpenGl - create GLushort index buffer in OpenGl_Quadric...
kgv [Tue, 9 Dec 2014 14:54:49 +0000]
0025580: Visualization, TKOpenGl - create GLushort index buffer in OpenGl_Quadric::createArrays() when sufficient

5 years ago0025604: To provide info on what has been done by DropSmallSolids operator
eap [Fri, 12 Dec 2014 17:09:46 +0000]
0025604: To provide info on what has been done by DropSmallSolids operator

5 years agoAdjusting new testing case for issue 25378
mkv [Tue, 16 Dec 2014 12:46:58 +0000]
Adjusting new testing case for issue 25378

5 years agoCorrection of the merge CR25519 and CR25593
oan [Mon, 15 Dec 2014 10:11:05 +0000]
Correction of the merge CR25519 and CR25593

5 years ago0025520: To provide info on what has been done by Shape Process and Shape Fix
bugmaster [Fri, 12 Dec 2014 11:19:09 +0000]
0025520: To provide info on what has been done by Shape Process and Shape Fix

Messages are registered in ShapeExtend_MsgRegistrator added to ShapeCutom and ShapeUpgrade packages
All operators of ShapeProcess_OperLibrary are instrumented with MsgRegistrator

0025520: To provide info on what has been done by Shape Process and Shape Fix

Update SHAPE.fr

Fix some messages (minor change)