View Issue Details

IDProjectCategoryView StatusLast Update
0028024Open CASCADEOCCT:Configurationpublic2022-11-20 22:08
Reporterkgv Assigned Toatereshi  
PrioritynormalSeverityminor 
Status verifiedResolutionfixed 
Target Version7.7.0 
Summary0028024: Configuration - revise XSTEPResource initialization
DescriptionCurrent initialization logic of default Data Exchange STEP/IGES parameters defined by CSF_IGESDefaults/CSF_STEPDefaults environment variables src/XSTEPResource file should be revised.

src/XSTEPResource might be embedded using general resource embedding mechanism introduced within 0027258
Steps To ReproduceIt's improvement
TagsNo tags attached.
Test case number

Attached Files

  • remarks_dpasukhi_iteration_1.txt (6,217 bytes)
  • image.png (29,412 bytes)

Relationships

related to 0027258 closedapn Open CASCADE Configuration - generate built-in replacement for mandatory resource files 
has duplicate 0032963 feedbackbugmaster Open CASCADE Data Exchange - create a convenient mechanism for managing shape healing options when reading STEP or IGES file 

Activities

git

2022-06-28 10:09

administrator   ~0109323

Branch CR28024 has been created by atereshi.

SHA-1: 2e3382b7aa6ea4848f8f919d1751cf21c3662dae


Detailed log of new commits:

Author: atereshi
Date: Mon May 16 16:17:12 2022 +0300

    0028024: Data Exchange - create a convenient mechanism for managing shape healing options when reading STEP or IGES file
    
    Problem: During loading STEP and IGES files automatic shape healing is applied to loaded entities. Parameters of applied shape healing described in resource files: XSTEPResource/STEP and XSTEPResource/IGES. This method is very inconvenient: you can't dynamically change parameter from the program to adjust healing process for a specific file.
    Change: For each ShapeProcess operator described class with options (ShapeProcess_*OperatorName*Options). Default values for these options are assigned in the class constructor. Predefined values for sequences of operators of STEP or IGES loading (saving) processes are stored in ShapeProcess_PredefinedOptions class and applied in XSAlgo_AlgoContainer. A new DRAW command "param2" has been added to operationally redefine the operator option with a user value.
    Result: ShapeProcess and the shape healing when reading STEP or IGES, in particular, no longer depend from the resource file. The user can operationally change the operator parameter from DRAW command to adjust the shape healing process.

atereshi

2022-06-28 10:38

developer   ~0109326

Branch CR28024 is ready to review.

dpasukhi

2022-06-29 10:44

developer   ~0109362

src/XSAlgo/AlgoContainer.hxx
src/XSAlgo/AlgoContainer.cxx
src/ShapeProcess/ShapeProcess_UOperator.hxx
src/ShapeProcess/ShapeProcess_UOperator.cxx
src/ShapeProcess/ShapeProcess_ShapeContext.hxx
src/ShapeProcess/ShapeProcess_ShapeContext.cxx
src/ShapeProcess/ShapeProcess_PredefinedOptions.hxx
src/ShapeProcess/ShapeProcess_PredefinedOptions.hxx
src/ShapeProcess/ShapeProcess_AllOptions.hxx
------------------------------------------
to be continued ...
remarks_dpasukhi_iteration_1.txt (6,217 bytes)

git

2022-07-04 13:25

administrator   ~0109533

Branch CR28024_0 has been created by atereshi.

SHA-1: a3eed5dd9fe68941e276bce8eb5bd6b84b9ea824


Detailed log of new commits:

Author: atereshi
Date: Mon May 16 16:17:12 2022 +0300

    0028024: Data Exchange - create a convenient mechanism for managing shape healing options when reading STEP or IGES file
    
    Problem: During loading STEP and IGES files automatic shape healing is applied to loaded entities. Parameters of applied shape healing described in resource files: XSTEPResource/STEP and XSTEPResource/IGES. This method is very inconvenient: you can't dynamically change parameter from the program to adjust healing process for a specific file.
    Change: For each ShapeProcess operator described class with options (ShapeProcess_*OperatorName*Options). Default values for these options are assigned in the class constructor. Predefined values for sequences of operators of STEP or IGES loading (saving) processes are stored in ShapeProcess_PredefinedOptions class and applied in XSAlgo_AlgoContainer. A new DRAW command "param2" has been added to operationally redefine the operator option with a user value.
    Result: ShapeProcess and the shape healing when reading STEP or IGES, in particular, no longer depend from the resource file. The user can operationally change the operator parameter from DRAW command to adjust the shape healing process.

atereshi

2022-07-05 12:37

developer   ~0109563

@dpasukhi
I have corrected your remarks. Please check the branch CR28024_0.

git

2022-07-05 15:55

administrator   ~0109574

Branch CR28024_0 has been updated by atereshi.

SHA-1: d1b2b830b8c619091c3fdaa8d926edfe1dc0aa11


Detailed log of new commits:

Author: atereshi
Date: Tue Jul 5 15:54:46 2022 +0300

    //# spaces rollback

git

2022-07-11 09:40

administrator   ~0109750

Branch CR28024_0 has been updated forcibly by atereshi.

SHA-1: 4f75aadaf7c8359ab9d4f64f8b40e3248a8fc850

git

2022-09-08 15:40

administrator   ~0110869

Branch CR28024_0 has been updated forcibly by atereshi.

SHA-1: 76d8c3ed7e1ecc0db373eb8f0eb1fc0f61d21d04

kgv

2022-09-08 16:16

developer   ~0110874

@atereshi

Please split long paragraphs in commit message.
image.png (29,412 bytes)

kgv

2022-09-08 16:21

developer   ~0110875

Last edited: 2022-09-08 16:22

@atereshi,

Please add description to Upgrade Guide
dox/upgrade/upgrade.md

> Problem: During loading STEP and IGES files automatic shape healing is applied to loaded entities.
> Parameters of applied shape healing described in resource files: XSTEPResource/STEP and XSTEPResource/IGES.
> This method is very inconvenient: you can't dynamically change parameter from the program to adjust healing process for a specific file.
> ...
This long problem description doesn't belong to git message - it is better describing changes and new behavior rather than why "old method was inconvenient".

gka

2022-09-13 11:58

developer   ~0111001

Could yo please add parameters necessary for translation in the Interface::Static class including ShapeHealing parameters.
Could you please implement possibility to load resource file in Test Harness application.
Could you please add in the Test Harness command "parameters" optional input format of the file for which parameters should be shown. For example " parametres --STEP"

git

2022-09-15 11:56

administrator   ~0111060

Branch CR28024_1 has been created by atereshi.

SHA-1: 8fef0fc01dd7ff6abf63c196352b68ae444d6977


Detailed log of new commits:

Author: atereshi
Date: Mon May 16 16:17:12 2022 +0300

    0028024: Data Exchange - create a convenient mechanism for managing shape healing options when reading STEP or IGES file
    
    Problem: There is no possibility to change shape healing options from DRAW without rewriting resource file.
    Change: Shape healing parameters from STEP and IGES resource files were duplicated to InterfaceStatic. Resource manager initialize from InterfaceStatic if resource file name is empty.
    Result: User can operationally change shape healing parameters from DRAW command using "param" command.

git

2022-09-16 11:26

administrator   ~0111086

Branch CR28024_1 has been updated forcibly by atereshi.

SHA-1: 8083e2bf18fba99b9585a1de45837cc7bbdcf6be

atereshi

2022-09-16 11:39

developer   ~0111088

Galina,
The solution has been redesigned in accordance with our agreements

gka

2022-09-23 15:32

developer   ~0111214

Dear Andrey.

Could you please:
1. Rename method void Interface_Static::GetMap (NCollection_DataMap<TCollection_AsciiString, TCollection_AsciiString, TCollection_AsciiString>& theMap) in the Interface_Static::GetMap (NCollection_DataMap<TCollection_AsciiString, TCollection_AsciiString, TCollection_AsciiString>& theMap) and to use corresponding map from Resource_Manager as input argument;

2. Please add empty constructor in the class Resource_Manager.
3. Please add in the Resource_Manager method returning reference on the corresponding map (myRefMap) to fill it by parameters from Interface_Static in order to avoid redundant copy of parameters.
4. Please add in the ShapeProcess_Context and ShapeProcess_ShapeContext empty constructors or constructors initialized by shape to create Resource_Manager in them.
5.In the method XSAlgo_AlgoContainer::ProcessShape please initialize ShapeProcess_ShapeContext either the resource file name or parameters from Interface_Statice

git

2022-09-26 12:56

administrator   ~0111264

Branch CR28024_1 has been updated by atereshi.

SHA-1: 3844c24f29c82a817cf38284f9f33b6d02428f84


Detailed log of new commits:

Author: atereshi
Date: Mon Sep 26 12:56:01 2022 +0300

    // added test, removed map copying

git

2022-09-26 13:00

administrator   ~0111265

Branch CR28024_1 has been updated forcibly by atereshi.

SHA-1: 1676cb93af56ca09aa72c8b1926d2dadd336a86a

git

2022-09-27 11:57

administrator   ~0111274

Branch CR28024_1 has been updated forcibly by atereshi.

SHA-1: 4d9ea90ca3ffa9dc56761a02e6da7811606542ba

atereshi

2022-09-27 13:24

developer   ~0111278

Galina,
I removed the intermediate copying of the map and added a test

gka

2022-09-27 21:15

developer   ~0111285

Dear Andrey.
1. Please squash all commits lying in the branch CR28024_1

2. Please move creation of new Resource_Manager in the constructor ShapeProcess_Context::ShapeProcess_Context(const Standard_CString theScope)
from method - void ShapeProcess_Context::Init (const Standard_CString theScope).
After that please use method void ShapeProcess_Context::Init (const Standard_CString theScope) in both constructors in order to avoid duplication of the code

3. Please use previous syntax with default value defined for parameter scope:

  Standard_EXPORT ShapeProcess_Context(const Standard_CString file, const Standard_CString scope = "");
  Standard_EXPORT Standard_Boolean Init (const Standard_CString file, const Standard_CString scope = "");

4.Please note that Resource_manager contains two maps :
   Resource_DataMapOfAsciiStringAsciiString myRefMap;
  Resource_DataMapOfAsciiStringAsciiString myUserMap;
Therefore please add in the method GetMap flag which will define map which will be returned myUserMap or myRefMap.

git

2022-09-28 10:13

administrator   ~0111288

Branch CR28024_1 has been updated forcibly by atereshi.

SHA-1: 92399c8c9781df8c4ce58632cd97bc7b55164116

atereshi

2022-09-28 10:19

developer   ~0111289

Galina,
All remarks have been corrected.

gka

2022-10-03 17:17

developer   ~0111339

Branch CR28024_1 has been reviewed

git

2022-11-02 13:52

administrator   ~0111845

Branch CR28024 has been deleted by mnt.

SHA-1: 2e3382b7aa6ea4848f8f919d1751cf21c3662dae

git

2022-11-02 13:52

administrator   ~0111846

Branch CR28024_0 has been deleted by mnt.

SHA-1: 76d8c3ed7e1ecc0db373eb8f0eb1fc0f61d21d04

git

2022-11-02 13:52

administrator   ~0111847

Branch CR28024_1 has been deleted by mnt.

SHA-1: 92399c8c9781df8c4ce58632cd97bc7b55164116

Related Changesets

occt: master 51329afc

2022-05-16 16:17:12

atereshi


Committer: smoskvin Details Diff
0028024: Data Exchange - create a convenient mechanism for managing shape healing options when reading STEP or IGES file

Problem: There is no possibility to change shape healing options from DRAW without rewriting resource file.
Change: Shape healing parameters from STEP and IGES resource files were duplicated to InterfaceStatic. Resource manager initialize from InterfaceStatic if resource file name is empty.
Result: User can operationally change shape healing parameters from DRAW command using "param" command.
Affected Issues
0028024
mod - src/IFSelect/IFSelect_Functions.cxx Diff File
mod - src/IGESData/IGESData.cxx Diff File
mod - src/Interface/Interface_Static.cxx Diff File
mod - src/Interface/Interface_Static.hxx Diff File
mod - src/Resource/Resource_Manager.cxx Diff File
mod - src/Resource/Resource_Manager.hxx Diff File
mod - src/ShapeProcess/ShapeProcess_Context.cxx Diff File
mod - src/STEPControl/STEPControl_Controller.cxx Diff File
mod - src/XSAlgo/XSAlgo_AlgoContainer.cxx Diff File
mod - src/XSTEPResource/FILES Diff File
mod - src/XSTEPResource/IGES Diff File
mod - src/XSTEPResource/STEP Diff File
add - tests/bugs/step/bug28024 Diff File
mod - tests/bugs/xde/bug6805 Diff File

occt-products: master e407d59a

2022-06-03 14:29:07

atereshi


Committer: smoskvin Details Diff
0028024: Data Exchange - create a convenient mechanism for managing shape healing options when reading STEP or IGES file Affected Issues
0028024
mod - blob Diff File
mod - samples/mfc/shapehealer/resource/ShapeHealing Diff File
mod - src/AcisData/AcisData.cxx Diff File
mod - src/XSTEPResourceAdv/SAT Diff File
mod - src/XSTEPResourceAdv/XT Diff File
mod - src/XtControl/XtControl_Controller.cxx Diff File

Issue History

Date Modified Username Field Change
2016-10-28 14:13 kgv New Issue
2016-10-28 14:13 kgv Assigned To => abv
2016-10-28 14:13 kgv Relationship added related to 0027258
2016-11-09 10:38 abv Target Version 7.1.0 => 7.2.0
2017-07-27 11:15 abv Target Version 7.2.0 => 7.4.0
2017-08-25 11:06 apv Test case number => Not required
2019-07-10 21:12 abv Target Version 7.4.0 => 7.5.0
2020-09-11 15:40 utverdov Target Version 7.5.0 => 7.6.0
2021-09-20 08:48 kgv Target Version 7.6.0 => 7.7.0
2022-06-15 08:46 kgv Relationship added has duplicate 0032963
2022-06-15 08:47 kgv Assigned To abv => atereshi
2022-06-15 08:47 kgv Status new => assigned
2022-06-15 08:47 kgv Test case number Not required =>
2022-06-28 10:09 git Note Added: 0109323
2022-06-28 10:38 atereshi Assigned To atereshi => msv
2022-06-28 10:38 atereshi Status assigned => resolved
2022-06-28 10:38 atereshi Steps to Reproduce Updated
2022-06-28 10:38 atereshi Note Added: 0109326
2022-06-29 10:44 dpasukhi Note Added: 0109362
2022-06-29 10:44 dpasukhi File Added: remarks_dpasukhi_iteration_1.txt
2022-07-04 13:25 git Note Added: 0109533
2022-07-05 12:37 atereshi Note Added: 0109563
2022-07-05 15:55 git Note Added: 0109574
2022-07-11 09:40 git Note Added: 0109750
2022-08-08 11:56 msv Assigned To msv => gka
2022-09-08 15:40 git Note Added: 0110869
2022-09-08 16:16 kgv Note Added: 0110874
2022-09-08 16:16 kgv File Added: image.png
2022-09-08 16:21 kgv Note Added: 0110875
2022-09-08 16:22 kgv Note Edited: 0110875
2022-09-13 11:52 gka Assigned To gka => atereshi
2022-09-13 11:52 gka Status resolved => assigned
2022-09-13 11:58 gka Note Added: 0111001
2022-09-15 11:56 git Note Added: 0111060
2022-09-16 11:26 git Note Added: 0111086
2022-09-16 11:39 atereshi Assigned To atereshi => gka
2022-09-16 11:39 atereshi Status assigned => resolved
2022-09-16 11:39 atereshi Note Added: 0111088
2022-09-23 15:32 gka Note Added: 0111214
2022-09-23 15:33 gka Assigned To gka => atereshi
2022-09-23 15:33 gka Status resolved => assigned
2022-09-26 12:56 git Note Added: 0111264
2022-09-26 13:00 git Note Added: 0111265
2022-09-27 11:57 git Note Added: 0111274
2022-09-27 13:24 atereshi Assigned To atereshi => bugmaster
2022-09-27 13:24 atereshi Status assigned => resolved
2022-09-27 13:24 atereshi Note Added: 0111278
2022-09-27 13:41 atereshi Assigned To bugmaster => gka
2022-09-27 21:15 gka Note Added: 0111285
2022-09-27 21:16 gka Assigned To gka => atereshi
2022-09-27 21:16 gka Status resolved => assigned
2022-09-28 10:13 git Note Added: 0111288
2022-09-28 10:19 atereshi Assigned To atereshi => gka
2022-09-28 10:19 atereshi Status assigned => resolved
2022-09-28 10:19 atereshi Note Added: 0111289
2022-10-03 17:17 gka Assigned To gka => bugmaster
2022-10-03 17:17 gka Status resolved => reviewed
2022-10-03 17:17 gka Note Added: 0111339
2022-11-02 13:41 smoskvin Status reviewed => tested
2022-11-02 13:46 smoskvin Changeset attached => occt master 51329afc
2022-11-02 13:46 atereshi Assigned To bugmaster => atereshi
2022-11-02 13:46 atereshi Status tested => verified
2022-11-02 13:46 atereshi Resolution open => fixed
2022-11-02 13:52 git Note Added: 0111845
2022-11-02 13:52 git Note Added: 0111846
2022-11-02 13:52 git Note Added: 0111847
2022-11-20 22:08 smoskvin Changeset attached => occt-products master e407d59a