View Issue Details

IDProjectCategoryView StatusLast Update
0030342CommunityOCCT:Modeling Datapublic2020-11-21 13:28
Reporteradrien_schvalberg_technodigit Assigned Tobugmaster  
PrioritynormalSeveritymajor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2015 
Product Version7.3.0 
Target Version7.6.0Fixed in Version7.6.0 
Summary0030342: Modeling Data - Successively trimming surface in both directions lose the first trim
DescriptionFor instance, create an (infinite) cylinder
First step, trim it in V [0-50] to have a finite height.
Second step, trim this new trimmed surface in U [0-PI] to have a half-cylinder.

=> You obtain a cylinder trimmed in U but no more in V (infinite).
Expected result: a cylindre trimmed both in U and in V as if I had used the trim command in both directions in a single step.
Steps To Reproducetest bugs moddata_3 bug30342_1
test bugs moddata_3 bug30342_2
TagsNo tags attached.
Test case numberbugs/moddata_3/bug30342_1,bug30342_2

Activities

git

2020-11-02 17:23

administrator   ~0096471

Branch CR30342 has been created by akaftasev.

SHA-1: aa6cbd63210f080aa7fe6dc738bb00cba10ee734


Detailed log of new commits:

Author: akaftasev
Date: Mon Nov 2 17:23:14 2020 +0300

    0030342: Successively trimming surface in both directions lose the first trim
    
    Added trim for U and V directions when trimming happens sequentially in these directions

git

2020-11-03 16:34

administrator   ~0096505

Branch CR30342 has been updated by akaftasev.

SHA-1: 255ff805fbfd669bcef2e537c66a72e3f55b24dd


Detailed log of new commits:

Author: akaftasev
Date: Tue Nov 3 16:34:10 2020 +0300

    add test

ifv

2020-11-05 11:30

developer   ~0096528

First of all, before reviewing or integration it is recommended to combine all commits in one - reviewer must not spend his time to find all modifications distributed inside several commits.

Some remarks:

1) method Copy() must copy myIsUSence, myIsVSence too.
2) Public methods SetTrim(..., USence, VSence) must set myIsUSence, myIsVSence according to parameters USence, VSence

git

2020-11-05 12:21

administrator   ~0096535

Branch CR30342 has been updated by akaftasev.

SHA-1: c00cca50ed323f547d73c5ec832b45ffe488116f


Detailed log of new commits:

Author: akaftasev
Date: Thu Nov 5 12:21:21 2020 +0300

    remarks

ifv

2020-11-06 11:05

developer   ~0096577

Combine all modifications in one commit, at last!

Explain please, why do you set myIsVSence/myIsUSence = Standard_True in "one-parameter" method SetTrim:
 if ( UTrim) {
    myIsUSense = Sense;
    myIsVSense = Standard_True;
    SetTrim( Param1 , Param2 ,
         dummy_a , dummy_b ,
         Standard_True , Standard_False,
         Sense , myIsVSense );
  }
  else {
    myIsUSense = Standard_True;
    myIsVSense = Sense;
    SetTrim( dummy_a , dummy_b ,
         Param1 , Param2 ,
         Standard_False, Standard_True,
         myIsUSense , Sense );
  }
I think, these fields must be untouched.

git

2020-11-06 11:50

administrator   ~0096581

Branch CR30342_1 has been created by akaftasev.

SHA-1: ab2b04932ee11f54e168956faf0165caafb70aa0


Detailed log of new commits:

Author: akaftasev
Date: Mon Nov 2 17:23:14 2020 +0300

    0030342: Modeling Data - Successively trimming surface in both directions lose the first trim
    
    Added trim for U and V directions when trimming happens sequentially in these directions

git

2020-11-06 12:04

administrator   ~0096585

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 87483bc465fc3eec1f2a56e2ca9d72e47e1dca58

ifv

2020-11-06 16:01

developer   ~0096597

I modified slightly draw command for trimming (see attached file GeomliteTest_SurfaceCommand.cxx) in order to input sences:

trim newname name u1 u2 v1 v2 usence vsence
trimu(v) newname name u1 u2 sence

sence = 1 - true, 0 - false

After set of commands:
torus t 1 .5
trim tt0 t 0 2 0 4 0 0 #biparametric trimming, both sences = Standard_False
#sequential one-parametric trimming
trimu t1 t 0 2 0 #u - trimming, USence = Standard_False
trimv t2 t1 0 4 0 #v - trimming, VSence = Standard_False

I got different results for tt0 and t2:
*********** Dump of tt0 *************
RectangularTrimmedSurface
Parameters : 4.28318530717959 6.28318530717959 2.28318530717959 6.28318530717959
BasisSurface :
ToroidalSurface
  Origin :0, 0, 0
  Axis :-0, -0, -1
  XAxis :1, 0, -0
  YAxis :0, -1, -0
  Radii :1 0.5

*********** Dump of t2 *************
RectangularTrimmedSurface
Parameters : 0 2 2.28318530717959 6.28318530717959
BasisSurface :
ToroidalSurface
  Origin :0, 0, 0
  Axis :-0, -0, -1
  XAxis :1, 0, -0
  YAxis :-0, 1, 0
  Radii :1 0.5

It means that last trimming were performed with USense = Standard_True

git

2020-11-09 12:17

administrator   ~0096616

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 065b2be2045fa8f00cd0c7689849328ecb607e7e

git

2020-11-09 12:48

administrator   ~0096617

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: fef2b56b67508378e134c2ca418a387fd5714128

akaftasev

2020-11-09 12:50

developer   ~0096618

Fix problem above by deleting class fields myIsUSense and myIsVSense and add one more test

ifv

2020-11-09 17:27

developer   ~0096627

Last edited: 2020-11-10 09:19

1. Add possibility to input "sence" for curves and 2d curves in Draw command "trim". Add description of new parameters in documentation - file draw_test_harness.md in dox/user_guides/draw_test_harness
2. Change "Steps To Reproduce" - use names of tests.
3. Update file upgrade.md in dox/upgrade by description of new possibility of class Geom_RectangularTrimmedSurface
4. Method ST->SetTrim(par1, par2, Utrim, sense), ST is trimmed surface, still deletes trim for another direction, if it exists.

msv

2020-11-09 19:47

developer   ~0096629

Is it really needed to update the file upgrade.md? There we usually put instructions to help porting to newer versions. I don't see in this patch any changes that might impact porting to the new version.

ifv

2020-11-09 21:05

developer   ~0096630

Last edited: 2020-11-10 09:26

Of course, there is no problem of porting, but behaviour of class is changed and theoretically it can cause regression for any customer application:
following code:

Handle(Geom_RectangularTrimmedSurface) ST = new Geom_RectangularTrimmedSurface(Sbase, u1, u2, Standard_True); //trim along U
Handle(Geom_RectangularTrimmedSurface) ST1 = new Geom_RectangularTrimmedSurface(ST, v1, v2, Standard_False); //trim along V

gives different result.
In current version ST1 - surface trimmed only along V, U trim is removed;
After modification ST1 - surface trimmed along U and V, U trim is kept.

git

2020-11-10 12:35

administrator   ~0096637

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 580d1b5b01665ffbd1e46542a1f785b09e8bf101

git

2020-11-10 16:56

administrator   ~0096642

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 6cd4d8802f8c84435904f6fc8d52ca0cd62ec9ab

ifv

2020-11-10 17:20

developer   ~0096644

Updating of draw_test_harness.md is wrong.
It is necessary to update description of command trim:

@subsubsection occt_draw_6_3_8 trim, trimu, trimv

Syntax:
~~~~~
trim newname name [u1 u2 [v1 v2]]
trimu newname name
trimv newname name
~~~~~
.....

git

2020-11-10 17:27

administrator   ~0096646

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 80c5f1c5fcd351b790fb3e59ae1df6ed5c201f0e

ifv

2020-11-10 18:21

developer   ~0096650

Seems to be valid

git

2020-11-12 11:17

administrator   ~0096691

Branch CR30342_1 has been updated by akaftasev.

SHA-1: 1049818e7e41e489c73bb2b49cc6ba474561c64b


Detailed log of new commits:

Author: akaftasev
Date: Thu Nov 12 11:17:15 2020 +0300

    # remarks

kgv

2020-11-12 11:28

developer   ~0096694

   theCommands.Add("trimu",
-                 "trim newname name u1 u2",
+                 "trimu newname name u1 u2 [usense]",

While you modify these commands - could you please add their description to the command help (e.g. what commands actually do, what parameters mean)?

git

2020-11-12 13:06

administrator   ~0096701

Branch CR30342_1 has been updated by akaftasev.

SHA-1: e8184767ae2dfe5f5f093ce10c64c412707010c0


Detailed log of new commits:

Author: akaftasev
Date: Thu Nov 12 13:06:32 2020 +0300

    add description to trim commands

kgv

2020-11-12 13:56

developer   ~0096703

Last edited: 2020-11-12 13:58

- "trim newname name [u1 u2 [v1 v2] [usense [vsense]]], no args remove trim",

Please put into description the default values of optional arguments, when they are unspecified (e.g. like [usense=1 [vsense=0]]).
Is it really useful allowing to specify usense without vsense?
I think it would be more consistent requiring pair of values being specified.

+ "\n\t\t: - usense vsense   senses on U and V directions: 1 - true, 0 - false ", 

Could you please elaborate in command description what does "sense" mean?
This doesn't look like a common term to me...

git

2020-11-12 14:30

administrator   ~0096706

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 9199ffbdeec21111e8ad3b3a62cc6690ec4e1049

git

2020-11-12 15:50

administrator   ~0096713

Branch CR30342_2 has been created by kgv.

SHA-1: 55fe92ee695409f048235ea8eccef91ad7334e1d


Detailed log of new commits:

Author: akaftasev
Date: Mon Nov 2 17:23:14 2020 +0300

    0030342: Modeling Data - Successively trimming surface in both directions lose the first trim
    
    Added trim for U and V directions when trimming happens sequentially in these directions.
    Added possibility to set sense to trim command.

git

2020-11-12 15:54

administrator   ~0096714

Branch CR30342_2 has been updated forcibly by kgv.

SHA-1: 04f5379e5c85e41a30324568eba447ad7a27cf4a

kgv

2020-11-12 15:55

developer   ~0096715

Dear bugmaster,

please take an updated patch from OCCT branch CR30342_2.

bugmaster

2020-11-21 12:43

administrator   ~0096935

Combination -
OCCT branch : IR-2020-11-20
master SHA - c5892d852bb462075f9db03f31085e35d7b59f35
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2020-11-20 SHA - a5d1f89f5fa83c955e6a604f57a5b590eb433b43
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 18024.090000000127 / 17964.340000000077 [+0.33%]
Products
Total CPU difference: 12166.12000000011 / 12169.520000000111 [-0.03%]
Windows-64-VC14:
OCCT
Total CPU difference: 19696.90625 / 19723.125 [-0.13%]
Products
Total CPU difference: 13644.875 / 13567.078125 [+0.57%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2020-11-21 13:27

administrator   ~0096954

Branch CR30342_2 has been deleted by inv.

SHA-1: 04f5379e5c85e41a30324568eba447ad7a27cf4a

git

2020-11-21 13:27

administrator   ~0096955

Branch CR30342_1 has been deleted by inv.

SHA-1: 9199ffbdeec21111e8ad3b3a62cc6690ec4e1049

git

2020-11-21 13:28

administrator   ~0096963

Branch CR30342 has been deleted by inv.

SHA-1: c00cca50ed323f547d73c5ec832b45ffe488116f

Related Changesets

occt: master c5b42a1a

2020-11-02 14:23:14

akaftasev


Committer: bugmaster Details Diff
0030342: Modeling Data - Successively trimming surface in both directions lose the first trim

Added trim for U and V directions when trimming happens sequentially in these directions.
Added possibility to set sense to trim command.
Affected Issues
0030342
mod - dox/upgrade/upgrade.md Diff File
mod - dox/user_guides/draw_test_harness/draw_test_harness.md Diff File
mod - src/Geom/Geom_RectangularTrimmedSurface.cxx Diff File
mod - src/GeomliteTest/GeomliteTest_SurfaceCommands.cxx Diff File
add - tests/bugs/moddata_3/bug30342_1 Diff File
add - tests/bugs/moddata_3/bug30342_2 Diff File

Issue History

Date Modified Username Field Change
2018-11-06 11:51 adrien_schvalberg_technodigit New Issue
2018-11-06 11:51 adrien_schvalberg_technodigit Assigned To => msv
2020-11-02 10:42 szy Assigned To msv => akaftasev
2020-11-02 10:42 szy Status new => assigned
2020-11-02 17:23 git Note Added: 0096471
2020-11-03 15:57 akaftasev Summary Successively trimming surface in both directions lose the first trim => Modeling Data - Successively trimming surface in both directions lose the first trim
2020-11-03 16:34 git Note Added: 0096505
2020-11-03 16:36 akaftasev Assigned To akaftasev => ifv
2020-11-03 16:36 akaftasev Status assigned => resolved
2020-11-05 11:30 ifv Note Added: 0096528
2020-11-05 11:30 ifv Assigned To ifv => akaftasev
2020-11-05 11:30 ifv Status resolved => assigned
2020-11-05 12:21 git Note Added: 0096535
2020-11-05 19:18 akaftasev Assigned To akaftasev => ifv
2020-11-05 19:18 akaftasev Status assigned => resolved
2020-11-06 11:05 ifv Note Added: 0096577
2020-11-06 11:05 ifv Assigned To ifv => akaftasev
2020-11-06 11:05 ifv Status resolved => assigned
2020-11-06 11:50 git Note Added: 0096581
2020-11-06 11:51 akaftasev Assigned To akaftasev => ifv
2020-11-06 11:51 akaftasev Status assigned => resolved
2020-11-06 12:04 git Note Added: 0096585
2020-11-06 15:35 ifv File Added: GeomliteTest_SurfaceCommands.cxx
2020-11-06 16:01 ifv Note Added: 0096597
2020-11-06 16:01 ifv Assigned To ifv => akaftasev
2020-11-06 16:01 ifv Status resolved => assigned
2020-11-09 12:17 git Note Added: 0096616
2020-11-09 12:48 git Note Added: 0096617
2020-11-09 12:50 akaftasev Note Added: 0096618
2020-11-09 12:50 akaftasev Assigned To akaftasev => ifv
2020-11-09 12:50 akaftasev Status assigned => resolved
2020-11-09 17:27 ifv Note Added: 0096627
2020-11-09 17:27 ifv Assigned To ifv => akaftasev
2020-11-09 17:27 ifv Status resolved => assigned
2020-11-09 17:42 ifv File Deleted: GeomliteTest_SurfaceCommands.cxx
2020-11-09 19:47 msv Note Added: 0096629
2020-11-09 21:05 ifv Note Added: 0096630
2020-11-10 09:19 ifv Note Edited: 0096627
2020-11-10 09:26 ifv Note Edited: 0096630
2020-11-10 12:35 git Note Added: 0096637
2020-11-10 16:56 git Note Added: 0096642
2020-11-10 16:57 akaftasev Assigned To akaftasev => ifv
2020-11-10 16:57 akaftasev Status assigned => resolved
2020-11-10 16:57 akaftasev Steps to Reproduce Updated
2020-11-10 17:20 ifv Note Added: 0096644
2020-11-10 17:20 ifv Assigned To ifv => akaftasev
2020-11-10 17:20 ifv Status resolved => assigned
2020-11-10 17:27 git Note Added: 0096646
2020-11-10 17:28 akaftasev Assigned To akaftasev => ifv
2020-11-10 17:28 akaftasev Status assigned => resolved
2020-11-10 18:21 ifv Note Added: 0096650
2020-11-10 18:21 ifv Assigned To ifv => bugmaster
2020-11-10 18:21 ifv Status resolved => reviewed
2020-11-11 10:14 bugmaster Target Version => 7.6.0
2020-11-12 11:17 git Note Added: 0096691
2020-11-12 11:28 kgv Note Added: 0096694
2020-11-12 11:28 kgv Assigned To bugmaster => akaftasev
2020-11-12 11:28 kgv Status reviewed => assigned
2020-11-12 13:06 git Note Added: 0096701
2020-11-12 13:07 akaftasev Assigned To akaftasev => kgv
2020-11-12 13:07 akaftasev Status assigned => resolved
2020-11-12 13:56 kgv Note Added: 0096703
2020-11-12 13:57 kgv Assigned To kgv => akaftasev
2020-11-12 13:57 kgv Status resolved => assigned
2020-11-12 13:57 kgv Note Edited: 0096703
2020-11-12 13:58 kgv Note Edited: 0096703
2020-11-12 14:30 git Note Added: 0096706
2020-11-12 14:31 akaftasev Assigned To akaftasev => kgv
2020-11-12 14:31 akaftasev Status assigned => resolved
2020-11-12 15:50 git Note Added: 0096713
2020-11-12 15:54 git Note Added: 0096714
2020-11-12 15:55 kgv Note Added: 0096715
2020-11-12 15:55 kgv Assigned To kgv => bugmaster
2020-11-12 15:55 kgv Status resolved => reviewed
2020-11-21 12:39 bugmaster Changeset attached => occt master c5b42a1a
2020-11-21 12:39 bugmaster Status reviewed => verified
2020-11-21 12:39 bugmaster Resolution open => fixed
2020-11-21 12:43 bugmaster Note Added: 0096935
2020-11-21 12:48 bugmaster Test case number => bugs/moddata_3/bug30342_1,bug30342_2
2020-11-21 13:27 git Note Added: 0096954
2020-11-21 13:27 git Note Added: 0096955
2020-11-21 13:28 git Note Added: 0096963