MantisBT - Open CASCADE
View Issue Details
0028954Open CASCADE[OCCT] OCCT:Visualizationpublic2017-07-27 17:132019-10-31 16:27
aba 
bugmaster 
normalfeature 
closedfixed 
 
[OCCT] 7.4.0[OCCT] 7.4.0 
v3d/viewcube/default, v3d/viewcube/style, v3d/viewcube/view
0028954: Visualization - implement interactive object AIS_ViewCube for camera manipulations
It is supposed to created interactive object for manipulation of view camera.
It should contain:
- trihedron (three main ares)
- parts for applying main views: front, top, left and so on.
- parts for simple rotation of camera around main axes.
- additional parts for applying intermediate orientations of camera

It is also supposed to apply animation to camera orientation changing.
No tags attached.
parent of 0030854closed bugmaster Open CASCADE Visualization, AIS_ViewCube - pack triangulations into common array(s) 
parent of 0030923closed apn Open CASCADE Visualization, AIS_ViewCube - avoid mixing non-zoomable text and trihedron-persistence 
parent of 0030939closed bugmaster Open CASCADE Draw Harness, ViewerTest - AIS_ViewCube animation does not work on Linux and macOS 
parent of 0031085new nds Open CASCADE Visualization - possibility to use BRep text in AIS_ViewCube 
related to 0030850closed bugmaster Open CASCADE Visualization, OpenGl_Text - text within trihedron persistence jitters when camera is far from origin 
Not all the children of this issue are yet resolved or closed.
png navigation_cube.png (23,297) 2018-10-23 14:08
https://tracker.dev.opencascade.org/
png view_cube_styles.png (23,339) 2019-07-09 19:51
https://tracker.dev.opencascade.org/
png cadass_viewcube2.png (38,214) 2019-07-10 22:50
https://tracker.dev.opencascade.org/
Issue History
2017-07-27 17:13abaNew Issue
2017-07-27 17:13abaAssigned To => aba
2017-07-27 17:32kgvSeverityminor => feature
2017-07-27 17:32kgvProduct Version7.1.0 =>
2017-09-08 15:35gitNote Added: 0070368
2018-10-23 14:08kgvFile Added: navigation_cube.png
2019-07-03 12:38gitNote Added: 0085402
2019-07-03 15:00gitNote Added: 0085404
2019-07-03 17:34gitNote Added: 0085406
2019-07-03 17:45gitNote Added: 0085407
2019-07-03 17:58gitNote Added: 0085408
2019-07-03 18:11gitNote Added: 0085410
2019-07-03 18:15gitNote Added: 0085411
2019-07-03 18:26gitNote Added: 0085412
2019-07-04 17:58gitNote Added: 0085433
2019-07-04 17:59gitNote Added: 0085434
2019-07-05 10:02aslFile Added: FastMesh_v2.docx
2019-07-05 10:03aslFile Deleted: FastMesh_v2.docx
2019-07-08 22:50gitNote Added: 0085501
2019-07-08 22:53gitNote Added: 0085502
2019-07-08 23:08gitNote Added: 0085503
2019-07-08 23:52gitNote Added: 0085504
2019-07-09 14:25gitNote Added: 0085506
2019-07-09 15:30gitNote Added: 0085510
2019-07-09 15:47gitNote Added: 0085511
2019-07-09 16:04gitNote Added: 0085512
2019-07-09 16:07gitNote Added: 0085513
2019-07-09 16:53gitNote Added: 0085521
2019-07-09 17:20gitNote Added: 0085522
2019-07-09 17:26gitNote Added: 0085523
2019-07-09 18:43gitNote Added: 0085532
2019-07-09 18:44kgvSummaryVisualization - implement interactive object for camera manipulations => Visualization - implement interactive object AIS_ViewCube for camera manipulations
2019-07-09 19:39gitNote Added: 0085534
2019-07-09 19:40gitNote Added: 0085535
2019-07-09 19:47gitNote Added: 0085537
2019-07-09 19:51gitNote Added: 0085538
2019-07-09 19:51kgvFile Added: view_cube_styles.png
2019-07-09 19:52kgvAssigned Toaba => kgv
2019-07-09 19:52kgvStatusnew => assigned
2019-07-10 08:02gitNote Added: 0085541
2019-07-10 08:04gitNote Added: 0085542
2019-07-10 09:39gitNote Added: 0085543
2019-07-10 09:41gitNote Added: 0085544
2019-07-10 10:16gitNote Added: 0085545
2019-07-10 18:04gitNote Added: 0085561
2019-07-10 19:55gitNote Added: 0085567
2019-07-10 20:10gitNote Added: 0085568
2019-07-10 20:53kgvNote Added: 0085569
2019-07-10 20:53kgvAssigned Tokgv => osa
2019-07-10 20:53kgvStatusassigned => resolved
2019-07-10 21:06kgvFile Added: cadass_viewcube.png
2019-07-10 21:20gitNote Added: 0085571
2019-07-10 21:22gitNote Added: 0085572
2019-07-10 22:28gitNote Added: 0085575
2019-07-10 22:49kgvFile Deleted: cadass_viewcube.png
2019-07-10 22:50kgvFile Added: cadass_viewcube2.png
2019-07-10 22:56gitNote Added: 0085576
2019-07-15 10:29gitNote Added: 0085626
2019-07-16 16:16osaNote Added: 0085671
2019-07-16 16:16osaAssigned Toosa => kgv
2019-07-16 16:16osaStatusresolved => assigned
2019-07-16 19:27gitNote Added: 0085679
2019-07-16 19:28kgvNote Added: 0085680
2019-07-16 19:28kgvAssigned Tokgv => osa
2019-07-16 19:28kgvStatusassigned => resolved
2019-07-17 17:35osaNote Added: 0085712
2019-07-17 17:35osaAssigned Toosa => bugmaster
2019-07-17 17:35osaStatusresolved => reviewed
2019-07-17 18:41bugmasterTest case number => v3d/viewcube/default, v3d/viewcube/style, v3d/viewcube/view
2019-07-17 18:42bugmasterNote Added: 0085718
2019-07-17 18:42bugmasterStatusreviewed => tested
2019-07-17 23:38kgvRelationship addedrelated to 0030850
2019-07-18 10:17bugmasterNote Added: 0085734
2019-07-18 10:17bugmasterAssigned Tobugmaster => kgv
2019-07-18 10:17bugmasterStatustested => assigned
2019-07-18 11:05gitNote Added: 0085738
2019-07-18 11:06gitNote Added: 0085739
2019-07-18 11:07kgvNote Added: 0085740
2019-07-18 11:07kgvAssigned Tokgv => bugmaster
2019-07-18 11:07kgvStatusassigned => resolved
2019-07-18 11:07kgvStatusresolved => reviewed
2019-07-18 13:37gitNote Added: 0085761
2019-07-18 13:37kgvNote Added: 0085762
2019-07-19 14:42bugmasterStatusreviewed => tested
2019-07-20 11:42bugmasterChangeset attached => occt master 2108d9a2
2019-07-20 11:42bugmasterStatustested => verified
2019-07-20 11:42bugmasterResolutionopen => fixed
2019-07-20 11:55gitNote Added: 0085828
2019-07-20 11:55gitNote Added: 0085829
2019-07-20 11:55gitNote Added: 0085830
2019-07-20 11:55gitNote Added: 0085831
2019-07-20 11:55gitNote Added: 0085832
2019-07-20 11:55gitNote Added: 0085833
2019-07-26 10:00kgvRelationship addedparent of 0030854
2019-08-27 14:34kgvRelationship addedparent of 0030923
2019-09-04 09:39kgvRelationship addedparent of 0030939
2019-10-19 12:41kgvRelationship addedparent of 0031085
2019-10-31 16:27kgvRelationship addedparent of 0031117

Notes
(0070368)
git   
2017-09-08 15:35   
Branch CR28954 has been created by aba.

SHA-1: 755150be0c5a2bcbf21d3726a6dd7a34fb1dcc5d


Detailed log of new commits:

Author: aba
Date: Fri Sep 8 15:35:05 2017 +0300

    0028954: Visualization - implement interactive object for camera manipulations
(0085402)
git   
2019-07-03 12:38   
Branch CR28954_1 has been created by kgv.

SHA-1: a18d11ceff35359283cd0046cb8afb558ad53c6f


Detailed log of new commits:

Author: kgv
Date: Wed Jul 3 12:37:36 2019 +0300

    0028954: Visualization - implement interactive object for camera manipulations
    
    Added new class AIS_ViewCube implementing interactive cube displaying orientation of the main axes of the model space in the viewer.
    Each side, edge, or corner of the cube corresponds to particular orientation of the camera, and the class provides methods to move the camera to corresponding position (with animation if needed).
    
    DRAW command vviewcube is added to use the cube in DRAW.
(0085404)
git   
2019-07-03 15:00   
Branch CR28954_1 has been updated forcibly by kgv.

SHA-1: 4e1f5e2ed572dc463ce022e3886b0ceccd16c559
(0085406)
git   
2019-07-03 17:34   
Branch CR28954_1 has been updated forcibly by kgv.

SHA-1: e8b4006bd3330a2c72660d6081ef01a26e34a8e3
(0085407)
git   
2019-07-03 17:45   
Branch CR28954_1 has been updated forcibly by kgv.

SHA-1: 1c9cd31a59979a0342649ad97fc0285771d0d49b
(0085408)
git   
2019-07-03 17:58   
Branch CR28954_1 has been updated forcibly by kgv.

SHA-1: 49dbadfeaf4180475656ff00cfffbf85a637ff08
(0085410)
git   
2019-07-03 18:11   
Branch CR28954_1 has been updated forcibly by kgv.

SHA-1: f9a3201a73531ca2e3f37f536988ef9261c62108
(0085411)
git   
2019-07-03 18:15   
Branch CR28954_1 has been updated forcibly by kgv.

SHA-1: fab6ee71e16af180f685c19cfd770a3073390744
(0085412)
git   
2019-07-03 18:26   
Branch CR28954_1 has been updated forcibly by kgv.

SHA-1: 790e737ebd7237772ab00166bf02e8b62a90a0ee
(0085433)
git   
2019-07-04 17:58   
Branch CR28954_2 has been created by kgv.

SHA-1: d5422d51aa4643c9a62aece83f63e4fd05e69e22


Detailed log of new commits:

Author: kgv
Date: Wed Jul 3 12:37:36 2019 +0300

    0028954: Visualization - implement interactive object for camera manipulations
    
    Added new class AIS_ViewCube implementing interactive cube
    displaying orientation of the main axes of the model space in the viewer.
    Each side, edge, or corner of the cube corresponds to particular orientation of the camera,
    and the class provides methods to move the camera to corresponding position (with animation if needed).
    
    New command vviewcube has been added.
(0085434)
git   
2019-07-04 17:59   
Branch CR28954_2 has been updated forcibly by kgv.

SHA-1: b9d56df5f37bb38394667bc99400c2dec99ce623
(0085501)
git   
2019-07-08 22:50   
Branch CR28954_3 has been created by kgv.

SHA-1: beae40ba666ddae69d15bbde3f885b54ac71c31b


Detailed log of new commits:

Author: aba
Date: Wed Jul 3 12:37:36 2019 +0300

    0028954: Visualization - implement interactive object for camera manipulations
    
    Added new class AIS_ViewCube implementing interactive cube
    displaying orientation of the main axes of the model space in the viewer.
    Each side, edge, or corner of the cube corresponds to particular orientation of the camera,
    and the class provides methods to move the camera to corresponding position (with animation if needed).
    
    New command vviewcube has been added.
(0085502)
git   
2019-07-08 22:53   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: dd3cbeebfd92984d622d5201d116c49fde888c8b
(0085503)
git   
2019-07-08 23:08   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 3941959788a134b65a6e6b0c97c6ad39fdb730c4
(0085504)
git   
2019-07-08 23:52   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: db9feba0ac593f603985f34341f7c1e1ca7e9719
(0085506)
git   
2019-07-09 14:25   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 0d980548855d6e453af286880a67c94f9c0bbc62
(0085510)
git   
2019-07-09 15:30   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 52760177958fab7b2057bec8a65c75045a09e678
(0085511)
git   
2019-07-09 15:47   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 6b121099faea0170f866931b81045bece60bc24c
(0085512)
git   
2019-07-09 16:04   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 732f2fdb8d19dac6529d056ad8ee986094b99c23
(0085513)
git   
2019-07-09 16:07   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 14f706f4cdb4c5efe40047327ab18e52e1220b07
(0085521)
git   
2019-07-09 16:53   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 824ec7d9e84e6a008b488414eefcaeed7cc1f6e9
(0085522)
git   
2019-07-09 17:20   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: d1ae47c7ebc48eb6146aab690799e9d268b4f7c1
(0085523)
git   
2019-07-09 17:26   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 440ab2abfe5709c8cfbf1bcc9160189f4cf0524b
(0085532)
git   
2019-07-09 18:43   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 0cc2c800994705c23922eca44ec37950c248dbcf
(0085534)
git   
2019-07-09 19:39   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 6016077577a3d0c743286593a2bf091f5a440240
(0085535)
git   
2019-07-09 19:40   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: ac806ab2491af801921d17b87d416dc5d737c7c3
(0085537)
git   
2019-07-09 19:47   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 707a2f79789389b9ff39965b1f6665f6392eeba8
(0085538)
git   
2019-07-09 19:51   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 390edec498938e309c34c8860020125f2206f80a
(0085541)
git   
2019-07-10 08:02   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 74c455fddfc16d7873e924a2367cd71ee2d2e85f
(0085542)
git   
2019-07-10 08:04   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: abbfcf656330511784e1856a8a0c2ec1bf7d1793
(0085543)
git   
2019-07-10 09:39   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 328f4e4ef0b7fc8ac6a11cbbf1533df60192a20d
(0085544)
git   
2019-07-10 09:41   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: fdb14f18e73643c52cc4102240dd782b62df307c
(0085545)
git   
2019-07-10 10:16   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: f3d4661861259c540cd79f2861db3986db0dfdb3
(0085561)
git   
2019-07-10 18:04   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: c3e717dd61bab072d0bddb782326f6b87fa30fe1
(0085567)
git   
2019-07-10 19:55   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: f0177c2cd26f5cdcb01fcf2c1aa1d6a2b39a1163
(0085568)
git   
2019-07-10 20:10   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 00d639a2e1d1b775f5242dd8fd89e6c95bc61c8d
(0085569)
kgv   
2019-07-10 20:53   
Patch is ready for review.

Note that some functionality has been removed from the final patch - can be extended in scope of dedicated issue.
(0085571)
git   
2019-07-10 21:20   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 4c2ca3f74bd97d385a996c5a163a9e93e7de4305
(0085572)
git   
2019-07-10 21:22   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 1eff2457a634a11332f41730122674b12e45ab4d
(0085575)
git   
2019-07-10 22:28   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 02be5a1ddd42c4a0070be72429f8f76bae0a734f
(0085576)
git   
2019-07-10 22:56   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: ba0170ab741c86ebeab234cc3b31b9750994a03a
(0085626)
git   
2019-07-15 10:29   
Branch CR28954_3 has been updated forcibly by kgv.

SHA-1: 491bdca6da2da265288ee54ae9a23dcd93d9d4ed
(0085671)
osa   
2019-07-16 16:16   
Please remove unused myArrowAspect and all associated methods.

And override SetMaterial() for AIS_ViewCube.

(0085679)
git   
2019-07-16 19:27   
Branch CR28954_4 has been created by kgv.

SHA-1: 50536044249694481b14b7590cdd559078fa83f0


Detailed log of new commits:

Author: aba
Date: Wed Jul 3 12:37:36 2019 +0300

    0028954: Visualization - implement interactive object for camera manipulations
    
    Added new class AIS_ViewCube implementing interactive cube
    displaying orientation of the main axes of the model space in the viewer.
    Each side, edge, or corner of the cube corresponds to particular orientation of the camera,
    and the class provides methods to move the camera to corresponding position (with animation if needed).
    
    AIS_InteractiveContext::LastActiveView(), added new property returning the last View processed by MoveTo() event.
    AIS_InteractiveContext::BoundingBoxOfSelection(), added method returning bounding box of selected objects.
    SelectMgr_EntityOwner::HandleMouseClick(), added new callback for handling
    mouse clicks by owner itself without automatic highlighting and clearing previous selection.
    Called by AIS_InteractiveContext::Select() method.
    
    AIS_ViewController::ViewAnimation() has been extened with camera animation propery,
    which can be bound to AIS_ViewCube for smooth embedding into event loop.
    
    Prs3d_ToolDisk has been extended with parameters specifying angle range.
    Graphic3d_MaterialAspect now initializes all coefficients to 1.0
    when Graphic3d_NOM_UserDefined is passed to class constructor.
    AIS_AnimationCamera::update() now sets the end camera position if animation duration is 0.
    Prs3d_DatumAspect, added missing setters.
    
    New command vviewcube has been added.
(0085680)
kgv   
2019-07-16 19:28   
Patch has been updated.
(0085712)
osa   
2019-07-17 17:35   
The patch CR28954_4 was reviewed
(0085718)
bugmaster   
2019-07-17 18:42   
Combination -
OCCT branch : CR28954_3
master SHA - ac806ab2491af801921d17b87d416dc5d737c7c3
32ce09545dc9c46a47a51a964a24b1f472e6c2c4
Products branch : master SHA - 6d555d975ac49f5519dfbbf3873dbbc4a0cadff1
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: 16482.27000000008 / 16486.54000000006 [-0.03%]
Products
Total CPU difference: 10528.240000000056 / 10487.700000000032 [+0.39%]
Windows-64-VC14:
OCCT
Total CPU difference: 17875.609375 / 17846.84375 [+0.16%]
Products
Total CPU difference: 12114.453125 / 12107.109375 [+0.06%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0085734)
bugmaster   
2019-07-18 10:17   
Problem of compilation by vc9,vc10,vc11 32/64 bit mode
Errors:
http://jenkins-test-08.nnov.opencascade.com/view/WEEK-29_WEEK-29/view/OCCT%20compile/job/WEEK-29_WEEK-29-OCCT-Windows-64-VC10-opt-compile/3/parsed_console/ [^]
http://jenkins-test-08.nnov.opencascade.com/view/WEEK-29_WEEK-29/view/OCCT%20compile/job/WEEK-29_WEEK-29-OCCT-Windows-64-VC9-opt-compile/3/parsed_console/ [^]

Common information
http://jenkins-test-08.nnov.opencascade.com/view/WEEK-29_WEEK-29/view/OCCT%20compile/ [^]
(0085738)
git   
2019-07-18 11:05   
Branch CR28954_4 has been updated by kgv.

SHA-1: 22d381255e320cf62b6e8dea4420439d5b536272


Detailed log of new commits:

Author: kgv
Date: Thu Jul 18 11:02:39 2019 +0300

    # fix vc10 compilation issues

(0085739)
git   
2019-07-18 11:06   
Branch CR28954_5 has been created by kgv.

SHA-1: d085b7439ebea13b1ddce556e7bd67711aa71f4e


Detailed log of new commits:

Author: aba
Date: Wed Jul 3 12:37:36 2019 +0300

    0028954: Visualization - implement interactive object for camera manipulations
    
    Added new class AIS_ViewCube implementing interactive cube
    displaying orientation of the main axes of the model space in the viewer.
    Each side, edge, or corner of the cube corresponds to particular orientation of the camera,
    and the class provides methods to move the camera to corresponding position (with animation if needed).
    
    AIS_InteractiveContext::LastActiveView(), added new property returning the last View processed by MoveTo() event.
    AIS_InteractiveContext::BoundingBoxOfSelection(), added method returning bounding box of selected objects.
    SelectMgr_EntityOwner::HandleMouseClick(), added new callback for handling
    mouse clicks by owner itself without automatic highlighting and clearing previous selection.
    Called by AIS_InteractiveContext::Select() method.
    
    AIS_ViewController::ViewAnimation() has been extened with camera animation propery,
    which can be bound to AIS_ViewCube for smooth embedding into event loop.
    
    Prs3d_ToolDisk has been extended with parameters specifying angle range.
    Graphic3d_MaterialAspect now initializes all coefficients to 1.0
    when Graphic3d_NOM_UserDefined is passed to class constructor.
    AIS_AnimationCamera::update() now sets the end camera position if animation duration is 0.
    Prs3d_DatumAspect, added missing setters.
    
    New command vviewcube has been added.
(0085740)
kgv   
2019-07-18 11:07   
> Problem of compilation by vc9,vc10,vc11 32/64 bit mode
Please check updated patch.
(0085761)
git   
2019-07-18 13:37   
Branch CR28954_5 has been updated forcibly by kgv.

SHA-1: 5e3e9cfedf9635cad3920e97296ff8cddc9ca1aa
(0085762)
kgv   
2019-07-18 13:37   
Sorry for unused argument warning - should be fixed now.
(0085828)
git   
2019-07-20 11:55   
Branch CR28954 has been deleted by inv.

SHA-1: 755150be0c5a2bcbf21d3726a6dd7a34fb1dcc5d
(0085829)
git   
2019-07-20 11:55   
Branch CR28954_1 has been deleted by inv.

SHA-1: 790e737ebd7237772ab00166bf02e8b62a90a0ee
(0085830)
git   
2019-07-20 11:55   
Branch CR28954_2 has been deleted by inv.

SHA-1: b9d56df5f37bb38394667bc99400c2dec99ce623
(0085831)
git   
2019-07-20 11:55   
Branch CR28954_3 has been deleted by inv.

SHA-1: 491bdca6da2da265288ee54ae9a23dcd93d9d4ed
(0085832)
git   
2019-07-20 11:55   
Branch CR28954_4 has been deleted by inv.

SHA-1: 22d381255e320cf62b6e8dea4420439d5b536272
(0085833)
git   
2019-07-20 11:55   
Branch CR28954_5 has been deleted by inv.

SHA-1: 5e3e9cfedf9635cad3920e97296ff8cddc9ca1aa