MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030342Community[OCCT] OCCT:Modeling Datapublic2018-11-06 11:512020-11-21 13:28
Reporteradrien_schvalberg_technodigit 
Assigned Tobugmaster 
PrioritynormalSeveritymajor 
StatusverifiedResolutionfixed 
PlatformWindowsOSVC++ 2015OS Version64 bit
Product Version[OCCT] 7.3.0 
Target Version[OCCT] 7.6.0*Fixed in Version 
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
Attached Files

- Relationships

-  Notes
(0096471)
git (administrator)
2020-11-02 17:23

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
(0096505)
git (administrator)
2020-11-03 16:34

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

(0096528)
ifv (developer)
2020-11-05 11:30

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
(0096535)
git (administrator)
2020-11-05 12:21

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

(0096577)
ifv (developer)
2020-11-06 11:05

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.
(0096581)
git (administrator)
2020-11-06 11:50

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
(0096585)
git (administrator)
2020-11-06 12:04

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 87483bc465fc3eec1f2a56e2ca9d72e47e1dca58
(0096597)
ifv (developer)
2020-11-06 16:01

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
(0096616)
git (administrator)
2020-11-09 12:17

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 065b2be2045fa8f00cd0c7689849328ecb607e7e
(0096617)
git (administrator)
2020-11-09 12:48

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: fef2b56b67508378e134c2ca418a387fd5714128
(0096618)
akaftasev (developer)
2020-11-09 12:50

Fix problem above by deleting class fields myIsUSense and myIsVSense and add one more test
(0096627)
ifv (developer)
2020-11-09 17:27
edited on: 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.

(0096629)
msv (developer)
2020-11-09 19:47

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.
(0096630)
ifv (developer)
2020-11-09 21:05
edited on: 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.

(0096637)
git (administrator)
2020-11-10 12:35

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 580d1b5b01665ffbd1e46542a1f785b09e8bf101
(0096642)
git (administrator)
2020-11-10 16:56

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 6cd4d8802f8c84435904f6fc8d52ca0cd62ec9ab
(0096644)
ifv (developer)
2020-11-10 17:20

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
~~~~~
.....
(0096646)
git (administrator)
2020-11-10 17:27

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 80c5f1c5fcd351b790fb3e59ae1df6ed5c201f0e
(0096650)
ifv (developer)
2020-11-10 18:21

Seems to be valid
(0096691)
git (administrator)
2020-11-12 11:17

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

(0096694)
kgv (developer)
2020-11-12 11:28

   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)?
(0096701)
git (administrator)
2020-11-12 13:06

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

(0096703)
kgv (developer)
2020-11-12 13:56
edited on: 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...

(0096706)
git (administrator)
2020-11-12 14:30

Branch CR30342_1 has been updated forcibly by akaftasev.

SHA-1: 9199ffbdeec21111e8ad3b3a62cc6690ec4e1049
(0096713)
git (administrator)
2020-11-12 15:50

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.
(0096714)
git (administrator)
2020-11-12 15:54

Branch CR30342_2 has been updated forcibly by kgv.

SHA-1: 04f5379e5c85e41a30324568eba447ad7a27cf4a
(0096715)
kgv (developer)
2020-11-12 15:55

Dear bugmaster,

please take an updated patch from OCCT branch CR30342_2.
(0096935)
bugmaster (administrator)
2020-11-21 12:43

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
(0096954)
git (administrator)
2020-11-21 13:27

Branch CR30342_2 has been deleted by inv.

SHA-1: 04f5379e5c85e41a30324568eba447ad7a27cf4a
(0096955)
git (administrator)
2020-11-21 13:27

Branch CR30342_1 has been deleted by inv.

SHA-1: 9199ffbdeec21111e8ad3b3a62cc6690ec4e1049
(0096963)
git (administrator)
2020-11-21 13:28

Branch CR30342 has been deleted by inv.

SHA-1: c00cca50ed323f547d73c5ec832b45ffe488116f

- Related Changesets
occt: master c5b42a1a
Timestamp: 2020-11-02 14:23:14
Author: 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.
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 View Revisions
2020-11-10 09:26 ifv Note Edited: 0096630 View Revisions
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 View Revisions
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 View Revisions
2020-11-12 13:58 kgv Note Edited: 0096703 View Revisions
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


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker