0024002: Overall code and build procedure refactoring -- automatic Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl": - WOK-generated header files from inc and sources from drv are moved to src - CDL files removed - All packages are converted to nocdlpack
0024750: Replace instantiations of TCollection generic classes by NCollection templates -- manual changes Forward declaration of TCollection instances as classes are replaced by inclusion of corresponding header. Cyclic dependencies between declaration of collection class and its item are resolved by forward declaring a class in collection header.
0025614: Provide API access to the new fuctionalities of Boolean Components I. New features: 1.1. class BOPAlgo_PaveFiller method: void BOPAlgo_PaveFiller::SetArguments(const TopTools_ListOfShape& theLS) has been added to provide the setting argumemts through TopTools_ListOfShape 1.2. class BOPAlgo_Builder method: void BOPAlgo_Builder::SetArguments(const TopTools_ListOfShape& theLS) has been added to provide the setting argumemts through TopTools_ListOfShape 1.3. class BOPAlgo_BOP method: void BOPAlgo_BOP::SetTools(const TopTools_ListOfShape& theLS) has been added to provide the setting tools through TopTools_ListOfShape 1.4. class BRepAlgoAPI_BuilderAlgo construcror: BRepAlgoAPI_BuilderAlgo::BRepAlgoAPI_BuilderAlgo (const BOPAlgo_PaveFiller& aPF) has been added to provide the construction of the object using BOPAlgo_PaveFiller object method: void BRepAlgoAPI_BuilderAlgo::SetArguments (const TopTools_ListOfShape& theLS) has been added to provide the setting argumemts method: const TopTools_ListOfShape& BRepAlgoAPI_BuilderAlgo::Arguments()const has been added to provide access to the argumemts 1.5. class BRepAlgoAPI_BooleanOperation method: void BRepAlgoAPI_BooleanOperation::SetTools (const TopTools_ListOfShape& theLS) has been added to provide the setting tools method: const TopTools_ListOfShape& BRepAlgoAPI_BooleanOperation::Tools()const has been added to provide access to the tools 1.6. class BRepAlgoAPI_Common construcror: BRepAlgoAPI_Common::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 construcror: BRepAlgoAPI_Cut::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 construcror: BRepAlgoAPI_Fuse::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 construcror: BRepAlgoAPI_Section::BRepAlgoAPI_Section (const BOPAlgo_PaveFiller& aPF) has been added to provide the construction of the object using BOPAlgo_PaveFiller object 1.10. class BOPTest method: void BOPTest::APICommands(Draw_Interpretor& theCommands) has been added to provide tcl commands to launch the algorithms implemented in BRepAlgoAPI package using DRAWEXE application. Commands: >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: 0-common 1-fuse 2-cut 3-cut21 4-section method: 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. Commands: >boptions 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 methods: 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 method: void BOPTest::APICommands(Draw_Interpretor& theCommands) has been added to provide tcl commands to launch the algorithms implemented in BRepAlgoAPI package using DRAWEXE application. method: 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 method: 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: BRepAlgoAPI_BooleanOperation.cxx 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: packages: BOPAlgo BRepAlgoAPI BOPTest QANewModTopOpe Test cases for issue CR25614
0025354: Intersection operation I. New features: I.1 class BOPAlgo_Section The class clontains the algorithm to build a result of Secton between the arguments. The result of Section consists of vertices and edges. The result of Section contains: 1. new vertices that are subjects of V/V, E/E, E/F, F/F interferences 2. vertices that are subjects of V/E, V/F interferences 3. new edges that are subjects of F/F interferences 4. edges that are Common Blocks 5.a vertex is included in result of Section only when it is not shared between the edges of the result of Section The class BOPAlgo_Section inherits the functionality of root class BOPAlgo_Builder 1.2 class BOPTest_Objects method: BOPAlgo_Section& BOPTest_Objects::Section() has been added to get access to BOPAlgo_Section object II. Changes: II.1. class BOPAlgo_BOP method: void BOPAlgo_BOP::BuildSection() has been removed methods: void BOPAlgo_BOP::CheckData() void BOPAlgo_BOP::Prepare() void BOPAlgo_BOP::PerformInternal1(const BOPAlgo_PaveFiller& theFiller) const TopTools_ListOfShape& BOPAlgo_BOP::Generated (const TopoDS_Shape& theS) have been modified to eliminate references on Section operation II.2. class BOPAlgo_PaveFiller method: void BOPAlgo_PaveFiller::UpdateFaceInfo (BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME) modified to prevent the usage of negative index in Data Structure II.3. class BOPTest_Objects static function: Standard_Integer bopsection(Draw_Interpretor& di, Standard_Integer n, const char** a) has been modified to use BOPAlgo_Section object instead of BOPAlgo_BOP object static function: Standard_Integer bbop(Draw_Interpretor& di, Standard_Integer n, const char** a) has been modified to use BOPAlgo_Section object instea of BOPAlgo_BOP object II.4. class BRepAlgoAPI_BooleanOperation field: myBuilder the type has been changed from BOPAlgo_BOP* to BOPAlgo_Builder* method: void BRepAlgoAPI_BooleanOperation::Build() has been modified to use BOPAlgo_Section object II.5. class QANewModTopOpe_Tools method: Standard_Boolean QANewModTopOpe_Tools::HasSameDomain( const BOPAlgo_PBOP& theBuilder, const TopoDS_Shape& theFace) void QANewModTopOpe_Tools::SameDomain( const BOPAlgo_PBOP& theBuilder, const TopoDS_Shape& theFace, TopTools_ListOfShape& theResultList) the type of the parameter <theBuilder> has been modified to use BOPAlgo_Builder* instead of BOPAlgo_BOP* II.6. The method: const TopTools_ListOfShape& BOPAlgo_BOP::Generated (const TopoDS_Shape& theS) has been removed
0024952: Possibility to break Boolean operations algorithm by user request 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.
0024825: Fit Boolean Operation Algorithm to treat multiple arguments. class BOPTest class BOPAlgo_BOP class BOPAlgo_Builder class BOPTest class BRepFeat_Builder class BRepFeat_MakeCylindricalHole The format of the command has been changed: bbop r op [-s -t] The following options has been added: -s - run in serial mode -t - print the CPU time Test cases for issue CR24825
0024624: Lost word in license statement in source files 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.
0021762: Integration of new Boolean Operation algorithm to OCCT. 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.