1. 25 Sep, 2014 1 commit
    • pkv's avatar
      0025242: Wrong result of cut operation. · 955b3e71
      pkv authored
      1. class BOPDS_Iterator
      method:
      void BOPDS_Iterator::Intersect()
      The ttreatment of solid/* interferences has been added.
      
      2 class BOPAlgo_PaveFiller
      protected methods:
      void BOPAlgo_PaveFiller::PerformVZ()
      void BOPAlgo_PaveFiller::PerformEZ()
      void BOPAlgo_PaveFiller::PerformFZ()
      void BOPAlgo_PaveFiller::PerformZZ()
      has been added.
      The methods are to Compute
      Vertex/Solid
      Edge/Solid
      Face/Solid
      Solid/Solid
      interferences.
      
      3. class BOPAlgo_PaveFiller
      protected method:
      void BOPAlgo_PaveFiller::PerformFF()
      Empty interferences has not been added in the interferences' table
      
      4. class BOPAlgo_CheckerSI
      protected methods:
      void BOPAlgo_CheckerSI::PerformVZ()
      void BOPAlgo_CheckerSI:PerformEZ()
      void BOPAlgo_CheckerSI::PerformFZ()
      void BOPAlgo_CheckerSI::PerformZZ()
      has been removed.
      
      5. class BOPAlgo_BOP
      protected method:
      void BOPAlgo_BOP::BuildRC()
      void BOPAlgo_BOP::BuildSolid()
      changed to treat non-interferred solids and keep it in the result as they were
      
      Test case for issue #25242
      955b3e71
  2. 26 Jun, 2014 1 commit
  3. 05 Jun, 2014 1 commit
    • pkv's avatar
      0024952: Possibility to break Boolean operations algorithm by user request · 36f4947b
      pkv authored
      class: BOPAlgo_Algo
      method:
      void BOPAlgo_Algo::SetProgressIndicator
        (const Handle(Message_ProgressIndicator)& theObj)
      Purpose: Set the Progress Indicator object <theObj>.
      
      method:
      void BOPAlgo_Algo::UserBreak() const
      Purpose: Breaks the execution if the break signal is indicated.
      36f4947b
  4. 29 May, 2014 2 commits
    • pkv's avatar
      0024940: WOK: Cyclic dependency detected between: BOPInt IntTools · 1e143abb
      pkv authored
      Classes  BOPInt_Context, BOPInt_ShrunkRange, BOPInt_Tools have been removed.
      Package BOPInt has been removed
      Classes IntTools_Context, IntTools_ShrunkRange have been added to replace corresponding BOPInt_ classes.
      The classes provide same functionality as corresponding BOPInt_ classes.
      Classes :
      BOPAlgo_ArgumentAnalyzer
      BOPAlgo_Builder
      BOPAlgo_BuilderArea
      BOPAlgo_BuilderFace
      BOPAlgo_BuilderSolid
      BOPAlgo_CheckerSI
      BOPAlgo_PaveFiller
      BOPAlgo_ShellSplitter
      BOPTools_AlgoTools3D
      BRepFill_TrimShellCorner
      IntTools_BeanFaceIntersector
      IntTools_EdgeFace
      IntTools_FaceFace
      IntTools_Tools
      have been modified to use new classes IntTools_Context IntTools_ShrunkRange
      
      Class IntTools_Tools has been modofied to provide the functionality that was in BOPInt_Tools.
      1e143abb
    • emv's avatar
      0024950: Wrong result of Boolean CUT operation · b6a21c7e
      emv authored
      Modification:
      class BOPAlgo_PaveFiller
      method BOPAlgo_PaveFiller::PutBoundPaveOnCurve().
      Create bounding paves for each section curve separately.
      Added test case bugs/modalg_5/bug24950
      b6a21c7e
  5. 08 May, 2014 1 commit
  6. 17 Apr, 2014 1 commit
    • pkv's avatar
      0024639: Parallelization FillDS part of BO · a2098360
      pkv authored
      The contents dealing with:
      Parallel computation of Face/Face interferences;
      Parallel computation of Edge/Edge interferences (Post-Treatment Level);
      Parallel intersection of bounding boxes (BOPDS_Iterator Level).
      a2098360
  7. 06 Mar, 2014 2 commits
    • pkv's avatar
      0024639: Parallelization FillDS part of BO · a942f2da
      pkv authored
      Edge/Edge Interferences
      
      Changes:
      1. class BOPAlgo_PaveFiller
        - method:
      void BOPAlgo_PaveFiller::PerformEE()
      the chages provides the parallel computations of
      Edge/Edge interferences.
      
         - auxiliary classes:
          BOPAlgo_EdgeEdge
          BOPAlgo_EdgeEdgeFunctor
          BOPAlgo_EdgeEdgeCnt
      have been added.
      The classes are auxiliary classes to provide the parallel computations
      of Edge/Edge interferences.
      
      2. class BOPTest
      -method:
      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]
      options:
      -s - launch the algorithm in sequential mode
      -t - display CPU time
      
      Test case for issue CR24639
      a942f2da
    • emv's avatar
      0024628: Intersection result is unfixed · decdfc94
      emv authored
      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
      decdfc94
  8. 20 Feb, 2014 1 commit
    • abv's avatar
      0024624: Lost word in license statement in source files · d5f74e42
      abv authored
      License statement text corrected; compiler warnings caused by Bison 2.41 disabled for MSVC; a few other compiler warnings on 54-bit Windows eliminated by appropriate type cast
      Wrong license statements corrected in several files.
      Copyright and license statements added in XSD and GLSL files.
      Copyright year updated in some files.
      Obsolete documentation files removed from DrawResources.
      d5f74e42
  9. 07 Feb, 2014 1 commit
  10. 09 Jan, 2014 1 commit
    • Denis Barbier's avatar
      0024510: Remove unused local variables · 96a95605
      Denis Barbier authored
      When warnings are enabled, compilers report lots of occurrences
      of unused local variables, which makes it harder to find other
      meaningful warnings.
      This commit does not fix all unused local variables.
      
      Fix new type conversion warning
      
      Code cleaned to avoid MSVC compiler warnings on unused function arguments.
      Several useless pieces of code are removed.
      Changes in IntTools_EdgeFace.cxx, Blend_Walking_1.gxx, Bnd_BoundSortBox.cxx, ProjLib_ProjectedCurve.cxx are reverted (separated to specific issue for more in-depth analysis).
      96a95605
  11. 17 Dec, 2013 1 commit
  12. 01 Nov, 2013 1 commit
    • emv's avatar
      0024286: Wrong result done by General Fuse algorithm. · 78c66ef1
      emv authored
      1. Instead of the tolerance value of the face the resolution of the surface of the face is used in
         the Face Classifier algorithm to define the state of the 2d point relative to that face.
      2. Replace the vertices involved in PostTreatFF (treatment of section edges) with their images
         (new vertices created in PostTreatFF) in all pave blocks.
      3. New value of the result in the test case boolean bsection L8.
      
      Test cases for issue CR24286
      78c66ef1
  13. 17 Oct, 2013 1 commit
    • pkv's avatar
      0024247: Wrong result obtained by General Fuse algorithm · af4e6dab
      pkv authored
      v0.0
      
      I. New features:
      no new features
      
      II. Changes:
      II.1. class BOPAlgo_PaveFiller
         - method:
      void BOPAlgo_PaveFiller::PerformFF()
      Prepare data to the filter BOPAlgo_PaveFiller::::CheckPlanes(...).
      
         - method:
      Standard_Boolean
        BOPAlgo_PaveFiller::CheckPlanes(const Standard_Integer nF1,
      			  const Standard_Integer nF2)const
      1)The contents of the filter has been updated by all vertices of the faces images.
      2)The method declared as const
      
      III. Modified entities:
      packages:
      BOPAlgo
      
      Test cases for issue CR24247
      af4e6dab
  14. 26 Sep, 2013 2 commits
    • emv's avatar
      0023958: Section of shell by plane is incomplete. · b4109929
      emv authored
      Modifications 1
      1. To avoid creation of micro edges in the class BOPAlgo_PaveFiller added two new functions ForceInterfVE and
         ForceInterfVF which updates tolerance of Vertex to make it interfere with Edge and Face accordingly.
      2. In the class BOPInt_Tools added new function IsInRange which checks whether two ranges cross each other.
      3. In the class BOPTools_AlgoTools added new function IntersectCurves2d which intersects pcurves of the face
         to check it on the self-interference.
      4. In the function IntTools_BeanFaceIntersector::FastComputeExactIntersection() the check on the coincidence of the whole
         edge with the face (BOPTools_AlgoTools::IsBlockInOnFace) replaced  with the check on the coincidence of one intermediate point with that face.
      5. Test cases bugs modalg_1 bug1255, bug1255_1 has been updated with more correct value of the result.
      6. TODO statement has been removed from the test cases boolean bcut_complex B1,B3,B5,C2,C4,C6,C8 as they are correct.
      
      Adding test case for issue CR23958
      
      Modification 2
      1. In class BOPAlgo_PaveFiller added new function CheckPlanes(nF1, nF2) that checks whether two planar faces have common or intersecting sub shapes.
      If these two faces do not have such sub shapes there is no need to intersect them.
      2. In the function BOPAlgo_PaveFiller::MakeBlocks() added block for reducing the tolerance values to the previous state for the vertices
      that were put on the section curve (with increasing of its tolerance value) that was rejected by the algorithm.
      
      Modification 3
      Back to Extrema_ExtAlgo_Grad algorithm in extrema computations in Boolean Operations algorithm.
      b4109929
    • omy's avatar
      0024177: Eliminate CLang compiler warning -Wlogical-op-parentheses (&& within ||) · 0ebaa4db
      omy authored
      Some fixes to eliminate warning
      0ebaa4db
  15. 22 Aug, 2013 1 commit
    • omy's avatar
      0024059: Eliminate compiler warning C4701 in MSVC++ with warning level 4 · 1d47d8d0
      omy authored
      Removing pPotentially uninitialized local variable
      Got rid of most of warnings C4701: Potentially uninitialized local variable
      Removed redundant variable definitions.
      Refactored a part of AppParCurves_ResolConstraint CTOR.
      Replaced 0. to Precision::Confusion for tolerance vars;
      Changed values for min and max parameter vars;
      Got rid of redundant variables' initialization.
      1d47d8d0
  16. 15 Aug, 2013 1 commit
  17. 18 Jul, 2013 1 commit
  18. 12 Jul, 2013 1 commit
    • omy's avatar
      0023947: Eliminate trivial compiler warnings in MSVC++ with warning level 4 · 302f96fb
      omy authored
      Fix first subset of warnings (about 100)
      - while(1) and similar constructs replaced by for(;;)
      - some uninitialized variables corrected
      Got rid of Warning C4189: local variable is initialised but not referenced
      Corrected mistakes after getting rid of C4189 compiler warning
      Corrected some mistakes that led to compiling errors
      Fixed test case because of improvement message - removed unnecessary TODO.
      Small fix: tabs have been replaced with whitespaces.
      Added TODO for Windows platform
      removed last TODO
      Corrected mistakes, returned some #ifdef DEB code, fixed test case .
      Restoring a few places which have been modified too much
      Small grammar fix
      Deleted unnecessary puts in bugs/end
      302f96fb
  19. 23 May, 2013 1 commit
    • omy's avatar
      0023901: Memory leaks in tests. · 5a77460e
      omy authored
      1. Removed cyclic reference. Removed field myCommonBlock from BOPDS_PaveBlock;
      2. Added data map myMapPBCB in BOPDS_DS. It contains pairs (PaveBlock, CommonBlock);
      3. All methods about common block have been shifted from BOPDS_PaveBlock to BOPDS_DS;
      4. Test case bugs moddata_2 pro19422_2 has been rewritten to build the correct result.
      Test case corrected (TODO removed)
      5a77460e
  20. 17 Apr, 2013 1 commit
    • omy's avatar
      0023901: Memory leaks in tests · 323c04de
      omy authored
      Removed a field from BOPDS_PaveBlock that contained  the BOPDS_PaveBlock object itself.
      Function RealPaveBlock() now returns a const handle, not a const reference to handle.
      Removed const modifier because function now returns an object, not a reference to it.
      323c04de
  21. 08 Feb, 2013 1 commit
    • emv's avatar
      0021762: Integration of new Boolean Operation algorithm to OCCT. · 4e57c75e
      emv authored
      Modifications:
      - BRepOffset/BRepOffset_Tool.cxx, Features and Fillets algorithms have been ported on new BO algorithm.
      - Old BO algorithm, that was implemented in BOP, BooleanOperations and BOPTools packages, has - been deleted.
      - Porting SALOME algorithms to new BOP algorithm.
      - Fixing regressions. Rebased on current master.
      - Corrections in post treatment of section edges;
      - Corrections in the accordance with the bug 0023293;
      - Small corrections in the bopcheck and bopargcheck commands.
      - NCollection maps have been replaced by NCollection indexed maps to guarantee the constant order of sub-shapes in the result of boolean operation.
      - Test case feat featprism M9 has been fixed.
      - Test cases chl 902 E3 H3 have been fixed (corrections in the treatment of section edges).
      - Test cases caf driver B6 B7, caf named_shape F6 F7 have been modified according to the new order of sub-shapes in the result of boolean operation.
      - Test cases blend buildevol G1, blend simple K4, bcommon_complex C7, feat featprism L6 have been modified as they are improvements.
      - Test case boolean bsection A3 has been modified according to the new syntax of the bsection command.
      - Test cases boolean bfuse_complex J1 P9 have been fixed (the function IsInternalFace has been modified to use the function GetFaceOff);
      - Test case chl 902 H3 has been fixed (changes in the treatment of section edges);
      - Test case boolean bsection D8 has been modified (removed TODO statement);
      - Test case boolean bsection A3 has been modified (as the shapes have been changed).
      - Added correction of the tolerance values of the shapes according to the bug 0023610.
      - test cases:
          boolean bcommon_complex C3,
          boolean bcut_complex F2 O7,
          boolean bfuse_complex C4 C5 E4,
          boolean bsection B6 M8 M9 N4 N5 N7,
          boolean bfuse_simple ZP6,
          draft angle G8,
          feat featprism S2
      have been marked as invalid according to the bug 0022033;
      - New value of result has been set in the test cases :
          boolean bopsection D4
          boolean bsection R8
      as it is correct.
      - test case bugs modalg bug23472 has been rewritten according to the new format of bsection command.
      - The classes IntTools_Context and IntTools_ShrunkRange have been replaced by BOPInt_Context and BOPInt_ShrunkRange accordingly.
      - The new class BRepAlgoAPI_Check has been added according to the bug 0023648.
      - Some regressions have been fixed.
      - The following test cases have been marked as invalid or rewritten
          bugs modalg buc60462_2, 60531_2, 60776_1, bug472_1, bug472_2, bug472_3, bug497_3, bug62
          bugs moddata bug26_1, bug26_2,
      - The test case bugs modalg buc60533 has been rewritten to use the general fuse algorithm for building the result.
      - The new value of the result has been set in the test case bugs modalg 60776_2.
      - The following test cases have been rewritten according to the new format of the bsection command
          bugs modlag fra62369, pro18892
          bugs moddata bug75_1, bug75_2
      - Corrected BRepAlgoAPI_Check.
      - Removed package BOPTColStd.
      - Rewritten test cases caf named_shape F8 F9.
      - Removed unnecessary comments.
      - Corrected the following test scripts :
          boolean bcut_complex(012) O3 O4 O5 O6 O8
          boolean bfuse_complex(013) O5 O6 P8
          boolean bopcommon_complex(021) D8 D9
          boolean bopfuse_complex(022) H1 J6
          boolean boptuc_complex(024) D5
          bugs modalg(006) bug399 bug497_1
          feat featprism(003) C4
      - Corrections in the treatment of section edges (putting paves on the curves);
      - Corrections in BRepOffset_Tool;
      - The following test cases have been rewritten according to the new format of the bsection command
         bugs modalg bug6502, bug6554, bug6766_1, bug6766_3
      - The new value of the result has been set in the following test cases
         bugs modalg bug1255, bug1255_1
      - The following test cases have been marked as invalid or rewritten
         bugs modalg bug472_2, bug472_3, bug825_2
         bugs moddata bug10603, bug152_1, bug152_2, bug3721_1, bug3721_2, bug3721_3
      - The following test cases have been rewritten as improvements
         bugs modalg bug693, bug693_1, bug817_1
         bugs moddata bug3721_5, bug3721_6, bug6862_3, bug6862_4, bug6862_6
      - Test cases bugs modlag buc60787_1, buc60787_2, buc60788_2, buc60788_3 have been corrected.
      - Fixed some SALOME regressions (modifications in the treatment of the section edges);
      - Fixed test case bugs modalg bug23100;
      - Test cases bugs modalg bug21754, bug22990 have been corrected according to the new format of the bsection command.
      - Test cases bugs modalg bug13116_*, bug23711 have been fixed;
      - Test cases bugs modalg bug697_2, bug697_4, bug697_7, bug697_8 have been marked as invalid according to the issue 0022033;
      - Test cases bugs modalg bug22109_2, bug22109_3 have been corrected;
      - Test case bugs modalg bug18186 has been corrected as it is improvement;
      - Test case bugs modalg bug22802 has been deleted as there is no package BOPTColStd.
      4e57c75e