7 years ago0024795: TKOpenGl - new compilation warnings in OpenGl_Workspace_Raytrace.cxx
kgv [Thu, 3 Apr 2014 16:39:35 +0000 (20:39 +0400)]
0024795: TKOpenGl - new compilation warnings in OpenGl_Workspace_Raytrace.cxx

7 years ago0024572: Improvement performance of BRepExtrema_DistShapeShape
dbp [Thu, 10 Apr 2014 13:42:41 +0000 (17:42 +0400)]
0024572: Improvement performance of BRepExtrema_DistShapeShape

Fix compilations issues.
Fix compilation issues with GCC.

7 years ago0024794: Drop unused files Standard_osd_ffi.c and Standard_symlink.c
kgv [Thu, 3 Apr 2014 13:30:35 +0000 (17:30 +0400)]
0024794: Drop unused files Standard_osd_ffi.c and Standard_symlink.c

7 years ago0024625: Upgrade Bison to version 2.2 or above
abv [Thu, 10 Apr 2014 11:12:23 +0000 (15:12 +0400)]
0024625: Upgrade Bison to version 2.2 or above

Eliminate MSVC warnings in code generated by Bison 2.41 on Linux

7 years agoFix for building lex scanners on Windows when scanner is generated by flex 2.5.35...
abv [Wed, 9 Apr 2014 10:26:37 +0000 (14:26 +0400)]
Fix for building lex scanners on Windows when scanner is generated by flex 2.5.35 on Linux

7 years ago0024731: Incomplete section of a surface by plane
apn [Fri, 4 Apr 2014 12:26:26 +0000 (16:26 +0400)]
0024731: Incomplete section of a surface by plane

Added test case bugs/modalg_5/bug24731

7 years agoAdded TODO in unstable test case de/step_3/E6.
apn [Fri, 4 Apr 2014 10:17:19 +0000 (14:17 +0400)]
Added TODO in unstable test case de/step_3/E6.

7 years agoIncrease CPU limit in test case bugs/modalg_5/bug24758_2 in Debug mode.
apn [Fri, 4 Apr 2014 10:16:15 +0000 (14:16 +0400)]
Increase CPU limit in test case bugs/modalg_5/bug24758_2 in Debug mode.

7 years ago0024739: TKOpenGl - port ray-tracing from OpenCL to GLSL for better integration and...
dbp [Fri, 4 Apr 2014 10:14:02 +0000 (14:14 +0400)]
0024739: TKOpenGl - port ray-tracing from OpenCL to GLSL for better integration and portability

RayTracing - disable reflections by default
Fix possible compilation issue on Mac OS X.

7 years ago0024778: Convertation of the generic classes to the non-generic. Part 9
dln [Fri, 28 Mar 2014 07:28:22 +0000 (11:28 +0400)]
0024778: Convertation of the generic classes to the non-generic. Part 9

Generic classes:


from "GccIter" package were converted to the non-generic classes and moved to the "Geom2dGcc" package. Names of this classes were changed to:


And their internal classes:


also converted to the non-generic and moved to the "Geom2dGcc" package(their declarations were moved to "Geom2dGcc.cdl").

Enumerations" Type1, Type2 and Type3 were moved to "Geom2dGcc.cdl".

Package "GccIter" was deleted.

7 years ago0024773: Convertation of the generic classes to the non-generic. Part 7
dln [Fri, 28 Mar 2014 05:35:15 +0000 (09:35 +0400)]
0024773: Convertation of the generic classes to the non-generic. Part 7

1) Generic classes:


from "GccGeo" package converted to the non-generic classes and moved to the "Geom2dGcc" package. Names of this classes were changed to:


Also "GccGeo_PanGenCurve" unused generic class was deleted. And "GccGeo" package was deleted.

7 years ago0024761: Convertation of the generic classes to the non-generic. Part 5
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".

7 years ago0024763: Convertation of the generic classes to the non-generic. Part 6
dln [Tue, 25 Mar 2014 07:55:53 +0000 (11:55 +0400)]
0024763: Convertation of the generic classes to the non-generic. Part 6

Next generic classes:


from "Contap" package were converted to the non-generic classes. Names of several classes were changed:


 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.

7 years ago0024774: Convertation of the generic classes to the non-generic. Part 8
dln [Fri, 28 Mar 2014 05:55:22 +0000 (09:55 +0400)]
0024774: Convertation of the generic classes to the non-generic. Part 8

Generic classes:

 "GProp_TFunction" (internal),
 "GProp_UFunction" (internal)

from "GProp" package converted to the non-generic classes and moved to the "BRepGProp" package. Names of several classes were changed to:


Also all instantiations of the "internal" classes of this classes were moved to the "Geom2dHatch.cdl". For new "BRepGProp_TFunction" and "BRepGProp_UFunction" internal classes two new "*.cdl" files were created.

7 years ago0023892: Missing intersection edge between two faces.
jgv [Thu, 3 Apr 2014 12:42:18 +0000 (16:42 +0400)]
0023892: Missing intersection edge between two faces.

Test case for issue CR23892

7 years ago0024712: Extend DRAW commands "vertex" and "extrema". Create test to check all points...
abk [Thu, 3 Apr 2014 12:34:22 +0000 (16:34 +0400)]
0024712: Extend DRAW commands "vertex" and "extrema". Create test to check all points for bug 23830.

DRAW command "vertex" was extended to create vertex from point.
DRAW command "extrema" was extended and unified: both extrema points are outputted to DRAW in case of too close points;
parameters of extremal points are outputted.
35 shapes were added for anti-regression tests.
Second DRAW test was created for bug CR23830.

Move shapes to shape-repository

7 years ago0024405: TKernel - add aligned allocator class Standard_MMgrAligned
kgv [Thu, 3 Apr 2014 12:31:35 +0000 (16:31 +0400)]
0024405: TKernel - add aligned allocator class Standard_MMgrAligned

New class NCollection_AlignedAllocator.
New methods Standard::AllocateAligned() and Standard::FreeAligned().
Add missing Standard_EXPORT

7 years ago0024762: Visualization - new interactive object AIS_ColoredShape with customized...
kgv [Thu, 3 Apr 2014 12:29:23 +0000 (16:29 +0400)]
0024762: Visualization - new interactive object AIS_ColoredShape with customized subshapes presentations

AIS_Shape, ::SetColor(), ::SetMaterial(), ::SetTransparency(), ::SetWidth() - improve consistency.
Setup color for marker aspect as well.
vaspects - new command superseeds vsetcolor, vsetmaterial, vsettransparancy, vsetwidth
and their unset analogs. Improve syntax and arguments validation.
OpenGl_AspectMarker::SetAspect() - do not reset myMarkerSize when sprite is unchanged.
Extend NCollection_IndexedDataMap - Iterator::Key() and FindFromKey() with value copying.

Add test case bugs vis bug24762_coloredshape.

7 years ago0024777: Visualization - AIS_InteractiveContext::MoveTo() doesn't keep detected objec...
kgv [Thu, 3 Apr 2014 12:24:28 +0000 (16:24 +0400)]
0024777: Visualization - AIS_InteractiveContext::MoveTo() doesn't keep detected object at first call

Draw Harness, ViewerTest - ignore rectangular selection for empty rectangle

7 years ago0024757: DRAW: Move commands fixshape, tolerance, and similar to MODELING
dbv [Thu, 3 Apr 2014 12:22:15 +0000 (16:22 +0400)]
0024757: DRAW: Move commands fixshape, tolerance, and similar to MODELING

Package SWDRAW has been moved to TKTopTest toolkit. Class SWDRAW_ToVRML has been moved to XSDRAWSTLVRML_ToVRML
Removed unused classes:
Removed NSPApply command
Test script update
Removed xtrace command

7 years ago0024639: Parallelization FillDS part of BO
pkv [Tue, 1 Apr 2014 03:19:18 +0000 (07:19 +0400)]
0024639: Parallelization FillDS part of BO

The contents dealing with the parallel computation of Vertex/Face interferences.

7 years ago0024767: Crash on making edges in HLRBRep
jgv [Thu, 27 Mar 2014 13:25:41 +0000 (17:25 +0400)]
0024767: Crash on making edges in HLRBRep

7 years ago0024747: TKOpenGl - Mesa fails to destroy context if it set to current thread
apl [Fri, 28 Mar 2014 07:34:27 +0000 (11:34 +0400)]
0024747: TKOpenGl - Mesa fails to destroy context if it set to current thread

7 years ago0023710: Simplification of presentation managment classes
kgv [Thu, 3 Apr 2014 11:33:26 +0000 (15:33 +0400)]
0023710: Simplification of presentation managment classes

Merge PrsMgr_Presentation3d into PrsMgr_Presentation

7 years ago0024754: Remove constructor for static class TopOpeBRep_PointGeomTool
kgv [Fri, 28 Mar 2014 06:57:47 +0000 (10:57 +0400)]
0024754: Remove constructor for static class TopOpeBRep_PointGeomTool

7 years ago0024764: Alien subshapes occured in result of 'bopcheck' operation
pkv [Thu, 3 Apr 2014 11:29:23 +0000 (15:29 +0400)]
0024764: Alien subshapes occured in result of 'bopcheck' operation

class BOPAlgo_ArgumentAnalyzer
   - method:
void BOPAlgo_ArgumentAnalyzer::TestSelfInterferences()
The new shapes has been excluded from the treatment

void BOPAlgo_CheckerSI::PostTreat()
The new shapes has been excluded from the treatment

Standard_Integer bopcheck
  (Draw_Interpretor& di, Standard_Integer n,  const char** a )
The new shapes has been excluded from the treatment.
The interferences of the type */Solid has been included in the treatment.

Test case for issue CR24764

7 years agoUpdate of test cases for Debug
mkv [Fri, 28 Mar 2014 12:02:18 +0000 (16:02 +0400)]
Update of test cases for Debug

7 years ago0024765: Compile errors on Mac OS X with GCC 4.2
abv [Wed, 26 Mar 2014 12:06:10 +0000 (16:06 +0400)]
0024765: Compile errors on Mac OS X with GCC 4.2

Sequence replaced by handle in map, to avoid involvement of copy constructor (private)

7 years ago0024535: Bad type cast in TDocStd_Document::Update()
szy [Wed, 26 Mar 2014 12:49:44 +0000 (16:49 +0400)]
0024535: Bad type cast in TDocStd_Document::Update()

Eliminating of GCC compiler warning on breakage of C pointer aliasing rules.

7 years ago0024752: Visualization - inherit OpenGl_Group from Graphic3d_Group
kgv [Thu, 27 Mar 2014 13:12:18 +0000 (17:12 +0400)]
0024752: Visualization - inherit OpenGl_Group from Graphic3d_Group

Graphic3d_Group is now abstract class and should be instantiated
using Graphic3d_Structure::NewGroup() method.
Graphic3d_CGroup has been removed.

The groups list is no more duplicated within Graphic3d_Structure and OpenGl_Structure.
Removed unused/duplicated fields from Graphic3d_Group.

Prs3d_Presentation - remove redundnant field myCurrentGroup.
PrsMgr_Presentation3d::Erase(), ::Clear() - avoid possible NULL dereference.
OpenGl_GraphicDriver/Graphic3d_GraphicDriver - group management methods have been removed
(moved to Graphic3d_CStructure and Graphic3d_Group interfaces).

Graphic3d_Group::GroupPrimitivesAspect() - copy IsEmission flag
Fix wrong iterator
Fix compilation issues

7 years ago0024751: Performance improvements in the Edge/Edge intersection algorithm
emv [Thu, 27 Mar 2014 13:10:12 +0000 (17:10 +0400)]
0024751: Performance improvements in the Edge/Edge intersection algorithm

Added new static method PointBoxDistance() to compute distance between point and bounding box.
Removed method IntTools_EdgeEdge::FindRoughRanges().
Test cases for issue CR24751

7 years ago0024738: BRepOffsetAPI_MakePipe algorithm fails on circular path and section (the...
jgv [Thu, 27 Mar 2014 12:59:41 +0000 (16:59 +0400)]
0024738: BRepOffsetAPI_MakePipe algorithm fails on circular path and section (the case where result is part of sphere)

Test case for issue CR24738

7 years ago0024684: Command fixshape hangs up on the attached shape
nbv [Thu, 27 Mar 2014 12:56:42 +0000 (16:56 +0400)]
0024684: Command fixshape hangs up on the attached shape

Algorithm of seeking of any internal point into given face is corrected.
Test case for issue CR24684

7 years ago0024758: Sample DRAW scripts for demonstrating sweeping algorithm
abv [Thu, 27 Mar 2014 12:54:50 +0000 (16:54 +0400)]
0024758: Sample DRAW scripts for demonstrating sweeping algorithm

Two scripts added:
samples/tcl/drill.tcl: creates model of a twist drill bit
samples/tcl/cutter.tcl: creates simplified model of a milling cutter
Added test cases bugs/modalg_5/bug24758_1 bug24758_2

7 years ago0024633: Incorrect projection of a curve on a surface
jgv [Thu, 27 Mar 2014 12:51:39 +0000 (16:51 +0400)]
0024633: Incorrect projection of a curve on a surface

Test cases for issue CR24633

7 years ago0024565: MgtBRep persistence bug
szy [Thu, 27 Mar 2014 12:48:46 +0000 (16:48 +0400)]
0024565: MgtBRep persistence bug

Fix of the persistence bug (exception with message "Persistant CurveRep is Null").
Creating new draw command for testing CR24565
Revert license header corruption
Correction for new draw command OCC24565
Test case for issue CR24565

7 years ago0024639: Parallelization FillDS part of BO
pkv [Mon, 24 Mar 2014 05:34:34 +0000 (09:34 +0400)]
0024639: Parallelization FillDS part of BO

Modifications to avoid compilation errors

7 years ago0024354: TKOpenGl - location modification of multi-connected shape has no effect...
duv [Tue, 18 Mar 2014 11:22:31 +0000 (15:22 +0400)]
0024354: TKOpenGl - location modification of multi-connected shape has no effect when object is drawn by GLSL program

7 years ago0024745: Needless inheritance of OSD_MemInfo from Standard_Transient
kgv [Fri, 21 Mar 2014 12:17:39 +0000 (16:17 +0400)]
0024745: Needless inheritance of OSD_MemInfo from Standard_Transient

7 years ago0024748: Remove unused instantiations of collection classes
abv [Thu, 27 Mar 2014 12:36:03 +0000 (16:36 +0400)]
0024748: Remove unused instantiations of collection classes

- packages PColPGeom, PColPGeom2d
- in Geom package: classes SequenceOfBoundedSurface, (H)SequenceOfSurface
- in TColGeom package: classes Array1OfBoundedCurve, (H)Array1OfBoundedSurface, HArray1OfBoundedCurve, (H)Array2OfBoundedSurface, (H)Array2OfBSplineSurface, HArray2OfBezierSurface, (H)SequenceOfBoundedSurface, HSequenceOfSurface
- in TColGeom2d package: classes (H)Array1OfGeometry, (H)Array1OfBoundedCurve, HSequenceOfGeometry

7 years ago0024734: Convertation of the generic classes to the non-generic. Part 4
dln [Thu, 27 Mar 2014 12:29:16 +0000 (16:29 +0400)]
0024734: Convertation of the generic classes to the non-generic. Part 4

Generic classes "LProp_FuncCurExt", "LProp_FuncCurNul" and "LProp_NumericCurInf" from "LProp" package converted to the non-generic classes and moved to the "Geom2dLProp" package. Therefore names of this classes were changed to "Geom2dLProp_FuncCurExt", "Geom2dLProp_FuncCurNul" and "Geom2dLProp_NumericCurInf".
Generic class "Sweep_LinearRegularSweep" from "Sweep" package converted to the non-generic classes and moved to the "BRepSweep" package. Therefore name of this class was changed to "BRepSweep_NumLinearRegularSweep". Also 2 internal classes of "BRepSweep_NumLinearRegularSweep" moved to "BRepSweep.cdl".
Generic classes "Primitives_Wedge" and "Primitives_OneAxis" from "Primitives" package converted to the non-generic classes and moved to the "BRepPrim" package. Therefore names of this classes were changed to "BRepPrim_GWedge" and "BRepPrim_OneAxis". Also enum "Direction" moved to BRepPrim. Therefore all "Primitives" package was deleted.
And some other minor changes were done.

Internal classes Array2OfShapes and SequenceOfShapes from BRepSweep_NumLinearRegularSweep replaced to Array2OfShape and SequenceOfShape from TopTools.

7 years ago0024683: Convertation of the generic classes to the non-generic. Part 1
dln [Thu, 27 Mar 2014 12:24:53 +0000 (16:24 +0400)]
0024683: Convertation of the generic classes to the non-generic. Part 1

Generic classes from "BRepApprox" package:
    "BRepApprox_ApproxLineGen" and "BRepApprox_SurfaceToolGen" converted to the non-generic classes "BRepApprox_ApproxLine" and "BRepApprox_SurfaceTool".
Generic classes from "BRepBlend" package:
    "BRepBlend_HCurve3dToolGen" and "BRepBlend_HCurve2dToolGen" converted to the non-generic classes "BRepBlend_HCurve3dTool" and "BRepBlend_HCurve2dTool".
Generic classes from "Blend" package:
    "Blend_Extremity", "Blend_Line" and "Blend_PointOnRst" moved to the corresponding non-generic classes "BRepBlend_Extremity", "BRepBlend_Line" and "BRepBlend_PointOnRst" to "BRepBlend" package.

And some other minor changes were done.
Field "myPntOn2S" was deleted from "BRepApprox_ApproxLine" class. Therefore BRepApprox_ApproxLine::Point(...) method was a little changed.

7 years agoUpdate test cases for debug mode
mkv [Fri, 21 Mar 2014 12:16:29 +0000 (16:16 +0400)]
Update test cases for debug mode

7 years ago0024549: Faulty shape after IGES translation with xstep.cascade.unit set to M
ibs [Thu, 20 Mar 2014 10:59:22 +0000 (14:59 +0400)]
0024549: Faulty shape after IGES translation with xstep.cascade.unit set to M

pcurve as line isn't created to avoid incorrect parameterization
Test case for issue CR24549

Test cases were corrected according to their new behavior

7 years ago0024687: TKOpenGl shader programs - same view state for different v3d views
duv [Thu, 20 Mar 2014 10:39:23 +0000 (14:39 +0400)]
0024687: TKOpenGl shader programs - same view state for different v3d views

OpenGl_ShaderManager::IsSameView() - add const

7 years agoUpdate test cases database
apn [Thu, 20 Mar 2014 10:22:54 +0000 (14:22 +0400)]
Update test cases database
- bugs modalg_5 bug23954 -      Added test case for issue 23954
- bugs modalg_1 bug60776_1 -  Corrected square of shape and deleted appropriate TODO
- bugs moddata_1 bug13 -          Added check for the curve length obtained as a result of intersection
- feat featprism S2 -                     Corrected square of shape and deleted appropriate TODO

7 years ago0024727: Convertation of the generic classes to the non-generic. Part 3
dln [Wed, 12 Mar 2014 08:09:23 +0000 (12:09 +0400)]
0024727: Convertation of the generic classes to the non-generic. Part 3

1) Generic class "Intf_InterferencePolyhedron" from "Intf" package converted to the non-generic class and moved to the "IntPatch" package. Name of this class was changed to "IntPatch_InterferencePolyhedron".

2) Generic class "MoniTool_Elem" from "MoniTool" package converted to the non-generic class "MoniTool_TransientElem".

3) Generic class "IntWalk_PWalking" from "IntWalk" package converted to the non-generic class. And internal class "TheInt2S" of "IntWalk_PWalking" moved from IntWalk_PWalking.cdl to IntWalk.cdl for correct building. Also several "*.cxx" files of this class merged to one ".cxx".

4) Generic class "Transfer_SimpleBinder" from "Transfer" package converted to the non-generic class and moved to the "TransferBRep" package. Name of this class was changed to "TransferBRep_BinderOfShape".

5) Generic class "Geom2dInt_CurveTool" from "Geom2dInt" package converted to the non-generic class "Geom2dInt_Geom2dCurveTool".

6) Generic class "MAT2d_BisectingLocus" from "MAT2d" package converted to the non-generic class and moved to the "BRepMAT2d" package. Name of this class was changed to "BRepMAT2d_BisectingLocus".

7) Generic class "MAT_Mat" from "MAT" package converted to the non-generic class and moved to the "MAT2d" package. Name of this class was changed to "MAT2d_Mat2d".

7 years ago0024737: Coding - remove <br> tag from header files
kgv [Thu, 20 Mar 2014 10:12:12 +0000 (14:12 +0400)]
0024737: Coding - remove <br> tag from header files

Eliminate #ifdefs around #includes, some unnecessary includes and macros

7 years ago0024706: Solids produced by BOP do not have flag Closed set in shells
emv [Thu, 20 Mar 2014 10:09:47 +0000 (14:09 +0400)]
0024706: Solids produced by BOP do not have flag Closed set in shells

Flag CLOSED is set for closed shells created during perform of Boolean Operation.
Test cases for issue CR24706

7 years ago0024730: remove constructor for class TopOpeBRep_PointGeomTool
kgv [Wed, 19 Mar 2014 12:10:05 +0000 (16:10 +0400)]
0024730: remove constructor for class TopOpeBRep_PointGeomTool

7 years ago0024736: There is new additional compilation warning on Linux platform
kgv [Wed, 19 Mar 2014 08:32:39 +0000 (12:32 +0400)]
0024736: There is new additional compilation warning on Linux platform

7 years ago0024733: Subshape IDs change between two executions of a same script
pkv [Wed, 19 Mar 2014 03:02:28 +0000 (07:02 +0400)]
0024733: Subshape IDs change between two executions of a same script

1. class BOPTools_Set
   - method:
void BOPTools_Set::AddEdges(const TopoDS_Shape& aS)
has been removed as redundant

2. class BOPTools_Set
   - method:
Standard_Boolean BOPTools_Set::IsEqual  (const BOPTools_Set& theOther)const
has been modified to take into account Locations of the shapes

3. class BOPAlgo_Builder
   - method:
void BOPAlgo_Builder::FillSameDomainFaces()
has been modified in accordance with the modifications done in II.1.

7 years ago0024637: Visualization - clean up implementation of rendering in immediate mode
kgv [Thu, 20 Mar 2014 09:54:12 +0000 (13:54 +0400)]
0024637: Visualization - clean up implementation of rendering in immediate mode

Remove unused flag "DoubleBuf".
Remove Visual3d_TransientManager "class" (functionality moved to PrsMgr_PresentationManager).
Remove unused "Add" immediate mode.

V3d_View class - remove methods ::TransientManagerBeginDraw(), ::TransientManagerClearDraw(), ::TransientManagerBeginAddDraw().
Add method ::RedrawImmediate() to redraw only immediate presentations.

OpenGl_GraphicDriver - add methods ::DisplayImmediateStructure(), ::EraseImmediateStructure(), ::RedrawImmediate().
OpenGl_View - manage list of immediate structures.
OpenGl_Workspace - automate rendering workflow of immediate + persistent layers.

Merge PrsMgr_PresentationManager3d class into PrsMgr_PresentationManager.
Mark PrsMgr_PresentationManager3d as alias to PrsMgr_PresentationManager to simplify porting.

Prs3d_Presentation - remove unused field myStruct.
Prs3d_PresentationShadow - shadow link to existing presentation with custom attributes.
Graphic3d_Structure::Highlight() - do not register undisplayed structure in structure manager.

AIS_InteractiveContext, AIS_LocalContext add flag to prevent view update into methods
::MoveTo(), ::HilightNextDetected(), ::HilightPreviousDetected()
to allow update of customized immediate structures before redraw but after ::MoveTo().

Remove unused method AIS_InteractiveContext::Drag().

StdSelect_ViewerSelector3d do not user immediate mode in methods
::DisplayAreas(), ::ClearAreas(), ::ClearSensitive(), ::DisplaySensitive(),

GridEcho - update value in StdSelect_ViewerSelector3d::Pick() instead of V3d_View::Compute().
Do not use global variable for GridEcho vertex.
Redraw immediate mode not within GridEcho but at AIS_InteractiveContext, AIS_LocalContext layer.

V3d_View::ToPixMap() - disable autoupdate during FitAll.
Avoid Redraw() into FBO without ImmediateModeDrawToFront flag.

PrsMgr_PresentationManager stores list of temporary immediate presentations,
automatically cleared within BeginImmediateMode() call.
Methods with ambiguous names have been renamed
(new names now consistent with pre-existed method names in AIS_LocalContext class):
- BeginDraw -> BeginImmediateDraw
- EndDraw -> EndImmediateDraw
Remove now useless Remove() method (and ImmediateRemove() in AIS).

Visual3d_View now stores map of displayed immediate presentations.

ViewerTest_EventManager - eliminate double redraw in selection methods.

Fix warning

7 years ago0024732: OpenGl_Context - retrieve functions up to GL4.4
kgv [Thu, 20 Mar 2014 09:50:28 +0000 (13:50 +0400)]
0024732: OpenGl_Context - retrieve functions up to GL4.4

Drop unused OpenGl_ArbVBO.
Replace OpenGl_ExtFBO with OpenGl_ArbFBO.

OpenGl_Context - reorganize GL functions management.
OpenGl_GlFunctions structure now stores pointers for all GL functions,
while inheritors specify functions subset using access levels.
Drop fields core12, core13, core14; replace extFBO by arbFBO.

OpenGl_ArbIns, OpenGl_ArbTBO - use GL3.1 core functions
instead of ARB extensions when available.

OpenGl_ArbFBO - provide complete list of functions

OpenGl_GlCore11 - fix misprint

OpenGl_Context.hxx - remove redundant declarations

7 years ago0024669: BVH binned builder fails to separate objects with the same center
dbp [Mon, 17 Mar 2014 11:54:15 +0000 (15:54 +0400)]
0024669: BVH binned builder fails to separate objects with the same center

7 years ago0024725: AIS_TexturedShape - flag switching texture modulation mode does not work
apl [Thu, 20 Mar 2014 09:46:40 +0000 (13:46 +0400)]
0024725: AIS_TexturedShape - flag switching texture modulation mode does not work

- Missing code restored
- "vtexture" command improved to support texture modulation option

remarks from kgv

7 years ago0024668: Null flyout value case in AIS_Dimension::SetTextPosition() method is not...
aba [Thu, 20 Mar 2014 09:44:02 +0000 (13:44 +0400)]
0024668: Null flyout value case in AIS_Dimension::SetTextPosition() method is not considered.

Corrected checks of working plane and dimension geometry.

Corrected remarks: IsComputed flag was added to the SelectionGeometry to check if it is filled; AdjustParameters() methods became const ones.

minor remark

7 years ago0024728: A lot of tests are crashed on vdump command on Windows in debug mode
apl [Fri, 14 Mar 2014 11:30:29 +0000 (15:30 +0400)]
0024728: A lot of tests are crashed on vdump command on Windows in debug mode

7 years ago0024493: Partition algorithm produces not valid shape(splt of 10 faces)
mkv [Tue, 18 Mar 2014 14:37:41 +0000 (18:37 +0400)]
0024493: Partition algorithm produces not valid shape(splt of 10 faces)

Test cases for issue CR24493

7 years ago0024644: Draw_Printer - provide the way to control messages gravity filter
kgv [Thu, 20 Mar 2014 09:38:41 +0000 (13:38 +0400)]
0024644: Draw_Printer - provide the way to control messages gravity filter

Message_Printer - define GetTraceLevel()/SetTraceLevel() methods in base interface.
Implement message gravity filter in Draw_Printer.
Add new Draw Harness command dtracelevel to show/change message gravity filter.
Redirect default messenger to Draw_Printer within TKDraw instead of TKXSDRAW

Draw::Commands() - assign Draw_Printer only once

7 years ago0024696: Lower performance of the new Edge/Edge intersection algorithm
emv [Thu, 20 Mar 2014 09:36:43 +0000 (13:36 +0400)]
0024696: Lower performance of the new Edge/Edge intersection algorithm

Performance improvements in IntTools_EdgeEdge algorithm:
1. Added check for common box between edges: if common box between edges is thin,
   find exact solutions at once, without looking for rough ranges first;
2. Improved methods IntTools_EdgeEdge::FindBestSolution() and
   IntTools_EdgeEdge::CheckCoincidence(...) by using method SplitRangeOnSegments
   with resolution of the curve as a criteria for size of the ranges.

Test cases for issue CR24696

7 years agoUpdate cpulimit due to issue 24596
bugmaster [Fri, 14 Mar 2014 10:16:51 +0000 (14:16 +0400)]
Update cpulimit due to issue 24596

7 years ago0024720: Some standard samples are not compiled after latest integration to visualisation
apl [Thu, 13 Mar 2014 10:52:18 +0000 (14:52 +0400)]
0024720: Some standard samples are not compiled after latest integration to visualisation

Fixed compilation errors in samples:

7 years ago0024596: Slow import of IGES data
ama [Thu, 13 Mar 2014 11:07:45 +0000 (15:07 +0400)]
0024596: Slow import of IGES data

Part 1: Speed up of import functionality.
Correction in ShapeFix_IntersectionTool::FixIntersectingWires() - preliminary construction of ShapeAnalysis_Surface tool for the whole face; computation of 2d bounding boxes for edges and wires before intersection checking.

Part 2: Speed up of check shape.
Correction in BRepCheck_Face::IntersectWires() in the same way: preliminary computation of 2d boxes for edges and wires in order to reduce the number of calls of intersection tool for pair of wires.

Test cases for issue CR24596

7 years ago0024718: Broken build on VC8 (VS 2005) if TBB is used
abv [Thu, 13 Mar 2014 05:15:46 +0000 (09:15 +0400)]
0024718: Broken build on VC8 (VS 2005) if TBB is used

Macro _WIN32_WINNT defined in OpenGl_SceneGeometry.cxx for building with TBB on VS 2005

7 years ago0024704: Visualization - inherit OpenGl_Structure from Graphic3d_CStructure
kgv [Thu, 13 Mar 2014 10:35:13 +0000 (14:35 +0400)]
0024704: Visualization - inherit OpenGl_Structure from Graphic3d_CStructure

Graphic3d_Structure - store Graphic3d_CStructure as handle.
Graphic3d_Structure class implementation clean up.
Graphic3d_Structure::SetManager() - remove unused method.
Graphic3d_GraphicDriver - move structure-related methods to Graphic3d_CStructure interface.

Remove unsupported Aspect_TOHM_BLINK value.

Remove field-duplicate OpenGl_Structure::myClipPlanes

Fixing warnings

7 years ago0024714: Camera integration - difference in behavior of V3d_View::SetSize
apl [Wed, 12 Mar 2014 10:59:26 +0000 (14:59 +0400)]
0024714: Camera integration - difference in behavior of V3d_View::SetSize

Restored behavior of SetSize method

7 years ago0024688: Draw Harness - vdump command makes snapshot only for the first view
kgv [Thu, 13 Mar 2014 10:27:13 +0000 (14:27 +0400)]
0024688: Draw Harness - vdump command makes snapshot only for the first view

7 years ago0024667: BRepOffsetAPI_MakePipe::FirstShape() and LastShape() return shapes not from...
skv [Thu, 13 Mar 2014 10:24:28 +0000 (14:24 +0400)]
0024667: BRepOffsetAPI_MakePipe::FirstShape() and LastShape() return shapes not from result

Test case for issue CR24667

7 years ago0024710: Avoid including Handle_Class.hxx headers except where necessary
abv [Thu, 13 Mar 2014 10:21:41 +0000 (14:21 +0400)]
0024710: Avoid including Handle_Class.hxx headers except where necessary

Includes of Handle*.hxx headers replaced by include of corresponding class (where possible without redesign of the classes).

Minor correction against compiler warning (vc10 64-bit) in BOPAlgo

Remove double header inclusions

Correction of minor mistake

7 years ago0024705: Draw Harness - add -noupdate option to vdisplay command
kgv [Sun, 9 Mar 2014 07:17:30 +0000 (11:17 +0400)]
0024705: Draw Harness - add -noupdate option to vdisplay command

Add option to suppress viewer redraw to the following commands:
vdisplay, vdonly, verase, vremove

7 years ago0024342: Create non-constant methods ChangeCoord with index parameter in classes...
abk [Mon, 11 Nov 2013 09:04:25 +0000 (13:04 +0400)]
0024342: Create non-constant methods ChangeCoord with index parameter in classes gp_XY and gp_XYZ

The methods were created.

7 years ago0024701: TKernel - drop redundant headers Standard_ctype.hxx and Standard_inverse.h
kgv [Fri, 7 Mar 2014 11:16:22 +0000 (15:16 +0400)]
0024701: TKernel - drop redundant headers Standard_ctype.hxx and Standard_inverse.h

7 years ago0024431: Using svg-images in the documentation
abv [Thu, 13 Mar 2014 09:20:08 +0000 (13:20 +0400)]
0024431: Using svg-images in the documentation

Documentation generator improved to automatically convert SVG images to PDF when PDF documents are generated. This is done with Inkscape thus it becomes necessary for generation of PDF documents.

Doxygen alias "figure" added for easy insertion of images with single command for both HTML and PDF output.

Documentation is updated.

Reviewed documentation.md and added more recommendations on Document Syntax.
Introduced existing svg images in the documentation.

Description of formatting of plain text, code blocks, and references revised.
Snapshot of structure of dox folder is updated.
Copyright year is corrected in PDF documents to be always the current one.

Some grammar corrections.

7 years ago0024719: Snapshots for bugs/vis/bug6145 are unstable
kgv [Thu, 13 Mar 2014 05:36:02 +0000 (09:36 +0400)]
0024719: Snapshots for bugs/vis/bug6145 are unstable

Use "new" Boolean operation instead of "old" one.

7 years ago0024685: Coding Rules - "Draw:Atoi" misprints in the document
kgv [Tue, 4 Mar 2014 15:40:03 +0000 (19:40 +0400)]
0024685: Coding Rules - "Draw:Atoi" misprints in the document

7 years ago0024413: Visualization - get rid of projection shift from orthographic camera definition
apl [Thu, 6 Mar 2014 11:15:53 +0000 (15:15 +0400)]
0024413: Visualization - get rid of projection shift from orthographic camera definition

From now on, the panning behavior of V3d_View completely corresponds to equal operations with camera. There is no more confusing "Center" property and "ProjectionShift" which were used to introduce composite panning, while respecting view referential points: At, Eye unchanged. The V3d_View::FitAll approach has been rewritten to do "fit all" geometrically, operating with frustum, to make it working for both orthographic and perspective projections.

1) Getting rid of ProjectionShift and Center property:
- Removed ProjectionShift property of Graphic3d_Camera.
- Removed confusing Center property of V3d_View (related to projection shift).
- Removed redundant code related to the Center property of V3d_View.
- Removed WindowLimit method of Graphic3d_Camera - no more used.

2) Improvements of fit all and selector:
- Improved FitAll operation of V3d_View and reused it in NIS_View - the perspective projection is now handled correctly.
- Revised code of Select3D_Projector class - can be defined with any given projection and model-view matrices.
- Modified StdSelect_ViewerSelector3d and ensured that panning, zooming and going into the view do not lead to unwanted re-projection of sensitives. The handling of perspective selection is revised.
- Take into account graphical boundaries of infinite structure on ZFitAll.

3) Improvements of camera:
- Introduced new z range scale parameter for V3d_View::AutoZFit. See, V3d_View::AutoZFitMode.
- Allow negative ZNear, ZFar for orthographic camera to avoid clipping of viewed model.
- Moved camera ZNear, ZFar validity checks to V3d_View level.
- Use more meaningful Standard_ShortReal relative precision for ZNear, ZFar ranges computed by ZFitAll.
- Use Standard_Real type for camera projection and orientation matrices.
- Extended camera to generate both Standard_Real and Standard_ShortReal transformation matrices using the same matrix evaluation methods and converted input parameters.

Correcting picking tests for perspective view

Modify v3d face test cases for 1px changes in face picking

Modified test cases for new arguments of vviewparams DRAWEXE command

7 years ago0024650: Wrong intersection curves obtained for a surface of revolution and a plane.
ifv [Thu, 6 Mar 2014 11:11:23 +0000 (15:11 +0400)]
0024650: Wrong intersection curves obtained for a surface of revolution and a plane.

Test case for issue CR24650

7 years ago0024679: test command doesn't work with tmp path containing white spaces
ibs [Tue, 4 Mar 2014 08:06:46 +0000 (12:06 +0400)]
0024679: test command doesn't work with tmp path containing white spaces

7 years ago0024639: Parallelization FillDS part of BO
pkv [Thu, 6 Mar 2014 11:05:58 +0000 (15:05 +0400)]
0024639: Parallelization FillDS part of BO

Edge/Edge Interferences

1. class BOPAlgo_PaveFiller
  - method:
void BOPAlgo_PaveFiller::PerformEE()
the chages provides the parallel computations of
Edge/Edge interferences.

   - auxiliary classes:
have been added.
The classes are auxiliary classes to provide the parallel computations
of Edge/Edge interferences.

2. class BOPTest
void BOPTest::PartitionCommands(Draw_Interpretor& theCommands)
- static function:
Standard_Integer bfillds(Draw_Interpretor& di,
                         Standard_Integer n,
                         const char** a)
The syntax of the command "bfillds" has been changed.
> bfillds [-s -t]
-s - launch the algorithm in sequential mode
-t - display CPU time

Test case for issue CR24639

7 years ago0024628: Intersection result is unfixed
emv [Thu, 6 Mar 2014 11:02:08 +0000 (15:02 +0400)]
0024628: Intersection result is unfixed

The map for collecting pave blocks of two faces has been replaced with indexed map
to ensure the constant order of pave blocks when checking section curves for existents.

Test case for issue CR24628

7 years ago0024612: Wrong pcurve of the section curve
nbv [Wed, 5 Mar 2014 12:54:38 +0000 (16:54 +0400)]
0024612: Wrong pcurve of the section curve

Main changes are in "IntWalk_IWalking::TestDeflection(...)" function (IntWalk_IWalking_5.gxx).

Some test cases were corrected according to their new behavior.

7 years ago0024673: Test cases for the new Edge/Edge intersection algorithm
emv [Thu, 6 Mar 2014 10:55:02 +0000 (14:55 +0400)]
0024673: Test cases for the new Edge/Edge intersection algorithm

New test cases for 0024673
Corrected names of shapes in test cases bugs/modalg_5/bug24208_1 - bug24208_14.

7 years ago0024675: Crash reading a VRML file
vro [Thu, 6 Mar 2014 10:48:36 +0000 (14:48 +0400)]
0024675: Crash reading a VRML file

A node index for a normal is passed through a map of corrected references to node indices.

Test case for issue CR24675

7 years ago0024662: Removing unused "generic" classes. Part 3
dln [Wed, 19 Feb 2014 07:29:13 +0000 (11:29 +0400)]
0024662: Removing unused "generic" classes. Part 3

In scope of this issue next unused generic class will be removed:

- IntImp_CSCurveTool
- IntImp_CSFunction
- IntImp_CurveTool
- IntImp_ISurfaceTool
- IntImp_PSurfaceTool
- IntStart_ArcTool
- IntStart_PSurfaceTool
- IntStart_SIFunction
- IntStart_SITool
- IntStart_SOBFunction
- IntStart_SOBTool
- IntStart_TopolTool
- IntWalk_IWFunction
- IntWalk_Iterator
- IntWalk_LoopPointTool
- IntWalk_PSurfaceTool
- IntWalk_PathPointTool
- Intf_ToolPolyhedron
- LProp_CurveTool
- LProp_SurfaceTool
- LibCtl_ProtocolTemplate
- MAT_Tool
- Primitives_Builder
- Sweep_Builder
- Sweep_Iterator
- Sweep_Tool
- TopClass_FaceExplorer
- TopClass_Intersection2d
- HatchGen_Intersector
- IFSelect_SelectList
- IntCurveSurface_CurveTool
- IntImp_COnSCurveTool
- IntImpParGen_ParTool

7 years ago0024672: Visualization - AIS_TexturedShape does not activate back face culling aspect
kgv [Thu, 6 Mar 2014 10:40:36 +0000 (14:40 +0400)]
0024672: Visualization - AIS_TexturedShape does not activate back face culling aspect

7 years ago0024622: Add method to AIS_TexturedShape class to assign texture data directly from...
apl [Thu, 6 Mar 2014 10:15:39 +0000 (14:15 +0400)]
0024622: Add method to AIS_TexturedShape class to assign texture data directly from byte stream

Added methods to specify Image_PixMap as texture source to AIS_TexturedShape and Graphic3d_TextureRoot.
Modified internal class MeshVS_ImageTexture2D, originally used for the purpose of sourcing texture as Image_PixMap.

AIS_TexturedShape class:
- Get rid from cdl declaration.
- Remove unused and uninitialized field myDeflection / method Deflection().
- Improve class documentation.
- Use Graphic3d_NOT_2D_UNKNOWN instead of -1.
- Use myIsCustomOrigin and myToScale flags to use/ignore custom values.

7 years ago0022912: After calling AIS_InteractiveContext::UnsetColor objects are drawn with...
apn [Tue, 4 Mar 2014 12:59:43 +0000 (16:59 +0400)]
0022912: After calling AIS_InteractiveContext::UnsetColor objects are drawn with the same color when transparency is changed

Added test case bugs/vis/bug22912

7 years ago0024663: Removing unused "generic" classes. Part 4
dln [Thu, 20 Feb 2014 05:28:46 +0000 (09:28 +0400)]
0024663: Removing unused "generic" classes. Part 4

In scope of this issue next unused generic class will be removed:

- TCollection_AVLBaseNode
- TCollection_AVLIterator
- TCollection_AVLList
- TCollection_AVLNode
- TCollection_AVLSearchTree

- PCollection_ATInOrderIterator
- PCollection_ATPostOrderIterator
- PCollection_ATPreOrderIterator
- PCollection_AVLIterator
- PCollection_AVLNode
- PCollection_AdjacentVerticesIterator
- PCollection_BackEdgesIterator
- PCollection_BreadthFirstIterator
- PCollection_DepthFirstIterator
- PCollection_DoubleMapIterator
- PCollection_DoubleMapNode
- PCollection_Edge
- PCollection_EdgesIterator
- PCollection_FrontEdgesIterator
- PCollection_HAVLSearchTree
- PCollection_HArbitraryTree
- PCollection_HDirectedGraph
- PCollection_HDoubleMap
- PCollection_HQueue
- PCollection_HSet
- PCollection_HStack
- PCollection_LeavesIterator
- PCollection_QueueIterator
- PCollection_RootsIterator
- PCollection_SetIterator
- PCollection_StackIterator
- PCollection_Vertex
- PCollection_VerticesIterator
- PCollection_HDataMap
- PCollection_HIndexedDataMap
- PCollection_IndexedDataMapNode
- PCollection_MapIterator
- PCollection_MapNode

7 years ago0024645: Pointer to the last is wrong for a tree node
vro [Thu, 6 Mar 2014 09:31:59 +0000 (13:31 +0400)]
0024645: Pointer to the last is wrong for a tree node

- An extra call to DownCast() is removed for a performance reason.
- Information on last child is added to the Dump() method + fixed a problem of lost last child tree node on removal (detach) operation.
- Test case for issue CR24645

7 years ago0024671: TKOpenGl, OpenGl_Context - glGetPointerv might be called without GL context
osa [Fri, 28 Feb 2014 06:17:21 +0000 (10:17 +0400)]
0024671: TKOpenGl, OpenGl_Context - glGetPointerv might be called without GL context

7 years ago0024599: Tools for interacting with DRAW from Visual Studio debugger
abv [Mon, 3 Mar 2014 09:52:33 +0000 (13:52 +0400)]
0024599: Tools for interacting with DRAW from Visual Studio debugger

Minor correction of #include to avoid dependency of package Draw on DBRep (problem building by WOK).
License statements in new files corrected for licensecheck command.
Non-ascii en-dash symbol repleced by Ascii hyphen in debug.md.

7 years ago0024654: Result of Boolean operation is invalid for bopargcheck if rotated
pkv [Thu, 27 Feb 2014 14:50:42 +0000 (18:50 +0400)]
0024654: Result of Boolean operation is invalid for bopargcheck if rotated

class  BndLib
   - method:
void BndLib::Add(const gp_Hypr& H,
                 const Standard_Real P1,
                 const Standard_Real P2,
                 const Standard_Real Tol,
                 Bnd_Box& B)
  - static function:
Standard_Integer ComputeBox(const gp_Hypr& aHypr,
                            const Standard_Real aT1,
                            const Standard_Real aT2,
                            Bnd_Box& aBox)
The function computes bounding box for bounded hyperbola

Test case for issue CR24654

7 years ago0024666: Removal of output information in debug mode in Ocaf
vro [Thu, 27 Feb 2014 14:48:52 +0000 (18:48 +0400)]
0024666: Removal of output information in debug mode in Ocaf

DEB_BUILDER replaces DEB pre-processor directive to eliminate extra output on setting a shape to a label.
Small correction of test case

7 years ago0024660: Removing unused "generic" classes. Part 1
dln [Tue, 18 Feb 2014 08:44:54 +0000 (12:44 +0400)]
0024660: Removing unused "generic" classes. Part 1

In scope of this issue next unused generic classes will be removed:

1) AppBlend_Line

2) AppBlend_SectionGenerator

3) AppCont_SurfLeastSquare

4) AppCont_TheLineTool

5) AppCont_TheSurfTool

6) AppParCurves_MLineToo

7) AppParCurves_Projection

8) ApproxInt_WLine

9) Approx_ComputeCSurface

10) Approx_TheLineTool

11) Blend_Iterator

12) Contap_ArcTool

13) Contap_SurfaceTool

14) Contap_TopolTool

15) Dynamic_EnumerationParameter

16) Dynamic_MethodInstance

17) Extrema_ExtPSOfRev

18) GProp_CurveTool

19) GProp_DomainTool

20) GProp_FaceTool

7 years ago0024575: Exception is raised during 'checkshape' operation.
nbv [Thu, 27 Feb 2014 14:45:27 +0000 (18:45 +0400)]
0024575: Exception is raised during 'checkshape' operation.

Recursion calling of "Propagate(...)" function is replaced with cycle.
Test case for issue CR24575

7 years ago0024645: Pointer to the last is wrong for a tree node
vro [Thu, 27 Feb 2014 14:43:38 +0000 (18:43 +0400)]
0024645: Pointer to the last is wrong for a tree node

Information on last child is added to the Dump() method + fixed a problem of lost last child tree node on removal (detach) operation.
Test case for issue CR24645

7 years ago0024636: Coding Rules - define rules for development of Draw Harness commands
kgv [Thu, 27 Feb 2014 14:39:32 +0000 (18:39 +0400)]
0024636: Coding Rules - define rules for development of Draw Harness commands

.md file corrected grammar, style and logic. Removed redundancies.

7 years ago0024659: misprints in draw documentation
ibs [Tue, 25 Feb 2014 06:53:32 +0000 (10:53 +0400)]
0024659: misprints in draw documentation

7 years ago0024364: Document system should use local MathJax also
ibs [Thu, 27 Feb 2014 14:33:30 +0000 (18:33 +0400)]
0024364: Document system should use local MathJax also

the new ability choosing of the location of MathJax was introduced
new argument was added to gendoc.bat script
MathJax choice was updated for CHM articles
Minor corrections of documentation