View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0030737 | Open CASCADE | OCCT:Visualization | public | 2019-05-23 19:53 | 2021-12-17 18:41 |
Reporter | nds | Assigned To | bugmaster | ||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.6.0 | Fixed in Version | 7.6.0 | ||
Summary | 0030737: Visualization - implementing new selection schemes in context | ||||
Description | It is proposed to be able to arrange selection behavior of context by additional parameters. Some applications would like to have another result after using OCCT selection methods of AIS_InteractiveContext, for example: Select - work as switcher (select not selected object, deselect object if it was selected), ShifSelect - always have added picked objects in the current selection. The current behavior: Select - clears all selected objects and set selected all picked objects, ShiftSelect - deselect selected objects and select objects that were not selected Also, it would be great if it is possible to change current selection scheme of context in a custom application or, even, implement own scheme. | ||||
Tags | No tags attached. | ||||
Test case number | Not required | ||||
|
Branch CR30737 has been created by nds. SHA-1: a39cf654dc6932266c7506742ec70bdbd4f5e5a4 Detailed log of new commits: Author: nds Date: Thu May 23 19:58:59 2019 +0300 0030737: Visualization - implementing new selection schemes in context |
|
Branch CR30737 has been updated by nds. SHA-1: ed1636ad760ab752801557d78ce9ae74e78dd05b Detailed log of new commits: Author: nds Date: Fri May 24 09:31:04 2019 +0300 0030737: Visualization - implementing new selection schemes in context |
|
Dear Kirill, what is your opinion about proposed parameters in integration? |
|
+ AIS_SelectionScheme SelectionScheme (const AIS_SelectionType theType) const + { return mySelectionSchemes.Find (theType); } + Is it really useful storing an active selection scheme within AIS_InteractiveContext? I would expect it being a parameters of Select() method, so that ShiftSelect() will redirect to Select() with XOR scheme. |
|
Branch CR30737 has been updated by nds. SHA-1: af73c57320c6775b87bcf5823a61eeff266ec40a Detailed log of new commits: Author: nds Date: Mon May 27 11:35:02 2019 +0300 0030737: Visualization - implementing new selection schemes in context #provide selection scheme by parameter |
|
Branch CR30737_1 has been created by nds. SHA-1: f4b4cd1facd4d2449712df28fd3c2b5f37e0776b Detailed log of new commits: Author: nds Date: Tue Jun 4 22:42:34 2019 +0300 0030737: Visualization - implementing new selection schemes in context |
|
Branch CR30737_1 has been updated by nds. SHA-1: 91f31b0a042c20e6db2cb038eeeeb7f3200dba52 Detailed log of new commits: Author: nds Date: Tue Jun 4 22:55:04 2019 +0300 0030725: Visualization - remove Display calling from SetSelected methods of context #minor compilation correction |
|
Branch CR30737_2 has been created by nds. SHA-1: 6202e5c34d996321cc424059a1e496c440437d1d Detailed log of new commits: Author: nds Date: Tue Jun 4 23:32:19 2019 +0300 0030725: Visualization - remove Display calling from SetSelected methods of context |
|
Branch CR30737_3 has been created by nds. SHA-1: 951d93f193cdc00724586df1903ad39fc487cecd Detailed log of new commits: Author: nds Date: Tue Aug 20 15:16:34 2019 +0300 0030737: Visualization - implementing new selection schemes in context |
|
Branch CR30737_4 has been created by nds. SHA-1: cab8402295d7849517132679b269e626b56b0932 Detailed log of new commits: Author: nds Date: Tue Aug 20 15:16:34 2019 +0300 0030737: Visualization - implementing new selection schemes in context (cherry picked from commit 951d93f193cdc00724586df1903ad39fc487cecd) |
|
Branch CR30737_5 has been created by nds. SHA-1: 246cdc4da230a68dd93b52e8d0ee2758a2645d20 Detailed log of new commits: Author: nds Date: Tue Aug 20 15:16:34 2019 +0300 0030737: Visualization - implementing new selection schemes in context (cherry picked from commit 8ac88685123f50caef2b53010da626b4682d9bd4) (cherry picked from commit 86ba800ae833ecaa0f4e76a08b6b4821ca3d19cc) |
|
Branch CR30737_6 has been created by nds. SHA-1: df71d84b0713df731c1582e8ec72d319fc40628d Detailed log of new commits: Author: nds Date: Tue Aug 20 15:16:34 2019 +0300 0030737: Visualization - implementing new selection schemes in context (cherry picked from commit 8ac88685123f50caef2b53010da626b4682d9bd4) (cherry picked from commit 86ba800ae833ecaa0f4e76a08b6b4821ca3d19cc) (cherry picked from commit ab4135ad2f3846c9d81706e84eae105329a97131) |
|
Branch CR30737_7 has been created by nds. SHA-1: c440c19910ee972c3f3ab10eb7a2587d6753d8af Detailed log of new commits: Author: nds Date: Sat Sep 5 10:01:10 2020 +0300 using Select with defined selection scheme in needed places. Author: nds Date: Tue Aug 20 15:16:34 2019 +0300 0030737: Visualization - implementing new selection schemes in context (cherry picked from commit 8ac88685123f50caef2b53010da626b4682d9bd4) |
|
Branch CR30737_8 has been created by nds. SHA-1: 12d0eabea571958af16d1c19db258c0a644e040e Detailed log of new commits: Author: nds Date: Sat Sep 5 10:08:53 2020 +0300 0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. |
|
Branch CR30737_8 has been updated forcibly by nds. SHA-1: 5bc14e8d743a7421ecdf6465964de85853c8b5af |
|
Branch CR30737_9 has been created by nds. SHA-1: ba2f1cbfe50c7835c9544a6ba579db7427f4bd81 Detailed log of new commits: Author: nds Date: Sat Sep 5 10:08:53 2020 +0300 0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. |
|
Dear Kirill, could you please give your remarks about this issue. I have some doubts about: - making the previous Selected/ShiftSelected as deprecated now; - is it worth to perform UpdateCurrentViewer in new Select methods by additional parameter as did for previous Select methods. (Please, note, that OCCT products also have patch due to declaring previous Select methods as deprecated) Thank you in advance, Natalia |
|
Natailia,+{ + AIS_SelectionScheme_Empty = 0x0000, // do nothing + AIS_SelectionScheme_Clear = 0x0001, // clears current selection + AIS_SelectionScheme_Add = 0x0002, // add detected object to current selection + AIS_SelectionScheme_Switch = 0x0004, // switch selection state in values selected/deselected + AIS_SelectionScheme_PickedIfEmpty = 0x0008, // if after switch, result selection is empty, select picked objects + AIS_SelectionScheme_ClearAndSwitch = AIS_SelectionScheme_Clear | AIS_SelectionScheme_Switch, + AIS_SelectionScheme_ClearAndAdd = AIS_SelectionScheme_Clear | AIS_SelectionScheme_Add, + AIS_SelectionScheme_ClearAndSwitchAndPicked = AIS_SelectionScheme_ClearAndSwitch | AIS_SelectionScheme_PickedIfEmpty, + AIS_SelectionScheme_Custom // reserved item for custom selection scheme New enumeration looks confusing. The following selection schemes are commonly used in applications that I've seen: - Replace Clears previous selection and sets new one. - Add Adds new picking result to the list of already selected entities. - Remove Removes new picking result from the list of previously selected entities. - XOR Previously selected entities within new picking results are unselected, while other added to selection. Current OCCT methods: - Select() implements "Replace" strategy. - ShiftSelect() implements "XOR" strategy. Add and Remove should be added. The following synthetic strategies could be added to complete list, although they have dubious usability (application may just disable selection events): - Clear Always clears previously selected results. - Locked Preserves selection results without change. Although one may see that strategy "Replace" applies clearing in advance, it doesn't look reasonable defining strategy as a bitmask, as each selection strategy looks clearly distinguishable. AIS_SelectionScheme_Custom (defined not as a bitmask, by the way) makes an impression, that application might extend strategy list, but it is unclear how such strategy could be handled by OCCT. I have some difficulties understanding the list of options within proposed enum and how it correlates/extends my list. Maybe some animated images or [from]->[to] 2-states images illustrating each scheme added to this bug and to documentation would help understanding the behavior and usability. |
|
+ Standard_EXPORT AIS_StatusOfPick Select (const Standard_Integer theXPMin, + const Standard_Integer theYPMin, + const Standard_Integer theXPMax, + const Standard_Integer theYPMax, + const Handle(V3d_View)& theView, + const AIS_SelectionScheme theSelScheme); While introducing an API replacement for Select() methods, I propose the following additional changes: - Get rid of confusing overloads - define unique names SelectRectangle(), SelectPolygon(), SelectDetected(). - Pass rectangle coordinates via Graphic3d_Vec2i min/max pair. + //! Sets list of owner selected/deselected using selection scheme + //! It is possible that selection of other objects is changed relatively selection scheme . + //! \param theOwner owners to change selection state + //! \param theSelScheme selection scheme + Standard_EXPORT AIS_StatusOfPick Select (const AIS_NListOfEntityOwner& theOwners, + const AIS_SelectionScheme theSelScheme); @param for consistency with other methods in class. theOwner -> theOwners misprint. Redundant spaces before dot. +//function : SelectOwners +//purpose : . Redundant trailing spaces. |
|
+AIS_StatusOfPick AIS_InteractiveContext::Select (const Standard_Boolean) +{ + return Select (AIS_SelectionScheme_ClearAndAdd); Ignoring theToUpdate flag will cause regressions in applications using deprecated methods. Please handle this flag. |
|
Branch CR30737_9 has been updated by nds. SHA-1: 66c1bb1daeab5803f8b97e0288f36cdd28fec5df Detailed log of new commits: Author: nds Date: Wed Sep 9 22:46:17 2020 +0300 remarks correction |
|
+ AIS_NListOfEntityOwner aPickedOwners; + for (Standard_Integer aPickIter = 1; aPickIter <= myMainSel->NbPicked(); ++aPickIter) { - HilightSelected (toUpdateViewer); + aPickedOwners.Append (myMainSel->Picked (aPickIter)); The size of picked owners is always known in advance. It might be performance-wise to use structures like std::vector or NCollection_Array1 instead of AIS_NListOfEntityOwner. + AIS_NListOfEntityOwner aPrevSelected = Objects(); ... + if (thePreviousSelected.Contains (theOwner)) // was selected, should not be now Wouldn't it be simpler using existing myResultMap for handling such schemes? - if (!myLastPicked->IsSelected() - || myLastPicked->IsForcedHilight() - || NbSelected() > 1) - { - SetSelected (myLastPicked, Standard_False); Could you please also verify that IsForcedHilight() behaves in the same way on selection after simplifying the code? |
|
Branch CR30737_9 has been updated forcibly by nds. SHA-1: 20406c4164098c46751cfd549c194a35d79ba2e8 |
|
Dear Kirill, lots of remarks are corrected, please check CR30739_10. Jenkins job is: http://jenkins-test-12.nnov.opencascade.com/view/CR30737-CR30737-nds/ Not corrected remarks: 1. AIS_NListOfEntityOwner stays due to AIS_Selection uses it inside own container/manipulating. Let's report a new issue to introduce AIS_NArrayOfEntityOwner or put it into SelectMgr package and porting AIS_Selection on it? 2. if (thePreviousSelected.Contains (theOwner)) - using myResultMap. The matter is that this container sometimes is cleared before using XOR. So we use cached container of objects. 3. The last remark about checking IsForcedHilight(). Could you please suggest how it might be checked? Thank you for help, Natalia |
|
Branch CR30737_10 has been created by nds. SHA-1: 58210fdc17864ed117b8b4f34cc6f2c0af15bce9 No new revisions were added by this update. |
|
Branch CR30737_10 has been updated by nds. SHA-1: cf43d74d8f3011879946631e80f945f596ec749f Detailed log of new commits: Author: nds Date: Fri Sep 11 06:32:28 2020 +0300 remarks correction |
|
Branch CR30737_11 has been created by nds. SHA-1: 3e67a8cfbf2789a1869068a001681d0957c06b43 Detailed log of new commits: Author: nds Date: Fri Sep 11 06:36:40 2020 +0300 0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR) |
|
--- a/dox/dev_guides/upgrade/upgrade.md +++ b/dox/dev_guides/upgrade/upgrade.md @@ -1241,7 +1241,7 @@ The following AIS_InteractiveContext methods have been changed: - SetHLRDeviationAngle, SetHLRAngleAndDeviation, SetSelectedAspect, MoveTo, Select, ShiftSelect, SetSelected, + SetHLRDeviationAngle, SetHLRAngleAndDeviation, SetSelectedAspect, MoveTo, Select, SetSelected, This is unrelated, please revert. + //! XPMin, YPMin, XPMax, and YPMax in the view. + //! The objects detected are passed to the main viewer, which is then updated. + Standard_EXPORT AIS_StatusOfPick SelectRectangle (const Graphic3d_Vec2i& thePntMin, + const Graphic3d_Vec2i& thePntMax, Please update description. +AIS_StatusOfPick AIS_InteractiveContext::SelectRectangle (const Graphic3d_Vec2i& thePntMin, ... + if (myLastPicked->HandleMouseClick (aMousePos, Aspect_VKeyMouse_LeftButton, Aspect_VKeyFlags_NONE, false)) I don't think this should be added to SelectRectangle() method. + AIS_SelectionScheme_ReplaceExtra, //!< replace with one difference: if result of replace is an empty, + //!< and current selection contains detected element, it will be selected "//!" for second line. + const AIS_SelectionScheme theSelScheme); I propose putting "theSelScheme = AIS_SelectionScheme_Replace" to new SelectX() methods. My comment related to AIS_Selection::myResultMap for efficient presence / not presence checks instead of redundant copies and tests in slow List::Contains() remains the same. |
|
selection_schemes_user_guide.png (66,784 bytes) |
|
Branch CR30737_12 has been created by nds. SHA-1: a516227511f3452f9f55b79c961265b0bf210793 No new revisions were added by this update. |
|
Branch CR30737_12 has been updated by nds. SHA-1: 408448b03db7d3bbe247b2cbb88b7a5d962a8ea8 Detailed log of new commits: Author: nds Date: Fri Sep 11 17:15:29 2020 +0300 0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR) |
|
Branch CR30737_13 has been created by nds. SHA-1: a98e8407c1a0c2983ec72cf2716ba6a988c39fab Detailed log of new commits: Author: nds Date: Fri Sep 11 17:25:30 2020 +0300 0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR) |
|
Dear Kirill, remarks are corrected. Please, review. Jenkins job: jenkins-test-12.nnov.opencascade.com/view/CR30737_13-CR30737_13-nds OCCT: CR30737_13, Products: CR30737_13 Best regards, Natalia |
|
I propose propagating selection scheme to Owner object interface and replace AIS_Selection::Select() method to unify the logic. This will allow implementing Selection Schemes by objects implementing single-owner for multiple elements logic like AIS_PointCloudOwner (points selection) and MeshVS_MeshOwner (nodes / mesh elements selection). Please also try playing with these special objects as they implement tricky IsForcedHilight() conception and patch introducing selection schemes / unifying selection logic might easily break existing logic for them. /// TODO handle mess with IsForcedHilight() bool SelectMgr_EntityOwner::Select (const AIS_SelectionScheme theSelScheme, const Standard_Boolean theIsDetected) { switch (theSelScheme) { case AIS_SelectionScheme_UNKNOWN: { return myIsSelected; } case AIS_SelectionScheme_Replace: { return theIsDetected; } case AIS_SelectionScheme_Add: { return myIsSelected || theIsDetected; } case AIS_SelectionScheme_Remove: { return myIsSelected && !theIsDetected; } case AIS_SelectionScheme_XOR: { if (theIsDetected) { return !myIsSelected; } return myIsSelected; } case AIS_SelectionScheme_Clear: { return false; } } return false; } ... AIS_SelectStatus AIS_Selection::Select (const Handle(SelectMgr_EntityOwner)& theOwner, const Handle(SelectMgr_Filter)& theFilter, const AIS_SelectionScheme theSelScheme, const Standard_Boolean theIsDetected) { if (theOwner.IsNull() || !theOwner->HasSelectable()) { return AIS_SS_NotDone; } const bool isDetected = theIsDetected && (theFilter.IsNull() || theFilter->IsOk (theOwner)); const bool wasSelected = theOwner->IsSelected(); const bool toSelect = theOwner->Select (theSelScheme, theIsDetected); if (toSelect && !wasSelected) { AIS_NListOfEntityOwner::Iterator aListIter; myresult.Append (theOwner, aListIter); myResultMap.Bind (theOwner, aListIter); theOwner->SetSelected (true); return AIS_SS_Added; } if (!(!toSelect && wasSelected)) { return AIS_SS_NotDone; } AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find (theOwner); if (myIterator == aListIter) { if (myIterator.More()) { myIterator.Next(); } else { myIterator = AIS_NListOfEntityOwner::Iterator(); } } //if (theOwner->IsForcedHilight()) {return AIS_SS_Added;} /// TODO handle IsForcedHilight somehow myresult.Remove (aListIter); myResultMap.UnBind (theObject); theOwner->SetSelected (false); // update list iterator for next object in myresult list if any if (aListIter.More()) { const Handle(SelectMgr_EntityOwner)& aNextObject = aListIter.Value(); if (myResultMap.IsBound (aNextObject)) { myResultMap (aNextObject) = aListIter; } else { myResultMap.Bind (aNextObject, aListIter); } } return AIS_SS_Removed; } void AIS_Selection::SelectOwners (const AIS_NListOfEntityOwner& thePickedOwners, const AIS_SelectionScheme theSelScheme, const Handle(SelectMgr_Filter)& theFilter) { if (theSelScheme == AIS_SelectionScheme_Replace || theSelScheme == AIS_SelectionScheme_Clear) { Clear(); } for (AIS_NListOfEntityOwner::Iterator aPickedIter (thePickedOwners); aPickedIter.More(); aPickedIter.Next()) { const Handle(SelectMgr_EntityOwner)& anOwner = aPickedIter.Value(); Select (anOwner, theFilter, theSelScheme, true); } } |
|
Branch CR30737_14 has been created by nds. SHA-1: f689f9977e8af2d97b18798f4e9606119cd8efac Detailed log of new commits: Author: nds Date: Fri Sep 11 17:25:30 2020 +0300 0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR) |
|
Branch CR30737_14 has been updated forcibly by nds. SHA-1: bbd9e2f9cd00ff5338972ce66f375a10e9f0159b |
|
Dear Kirill, remarks are corrected, excepting improvement for owner. The issue #31777 is reported for it. ForcedUpdate is checked on tests/v3d/point_cloud/* cases. The highlight/selection behavior are the same as before this patch. Jenkins job is: http://jenkins-test-12.nnov.opencascade.com/view/CR30737_14-CR30737_14-nds/ Could you please review the patch once again. Thank you for your help |
|
Branch CR30737_14 has been updated by kgv. SHA-1: bc72227a852a01d9abe2be9188f1801d4f29bff7 Detailed log of new commits: Author: kgv Date: Fri Sep 18 14:24:21 2020 +0300 # remarks |
|
Please replace JPEG images with SVG. No other remarks. |
|
Please also fix image-diff regressions: - v3d/dimensions/offset - selection changed. - pointcloud/reader/gen_land - dynamic highlighting cursor has lost from screenshots. |
|
Branch CR30737_14 has been updated by nds. SHA-1: 78ec1fae563c7948a5e1a443e00f0db6337563b0 Detailed log of new commits: Author: nds Date: Fri Sep 18 21:29:49 2020 +0300 test correction (pointcloud/reader/gen_land) Author: nds Date: Fri Sep 18 15:33:47 2020 +0300 remarks correction |
|
Branch CR30737_15 has been created by nds. SHA-1: 8b392af6ba0dd45465de2ac640db37095f99dc3c Detailed log of new commits: Author: nds Date: Fri Sep 18 21:36:05 2020 +0300 0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR) |
|
Branch CR30737_16 has been created by nds. SHA-1: c79998d2ac08360340984e5d6d249855e2d27dcf Detailed log of new commits: Author: nds Date: Fri Sep 18 21:36:05 2020 +0300 0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR) (cherry picked from commit 8b392af6ba0dd45465de2ac640db37095f99dc3c) |
|
Branch CR30737_16 has been updated forcibly by nds. SHA-1: 918e714f81844e725e061534a0f7adefe469d5f3 |
|
Dear Kirill, Already checked branch is cherry picked on the current origin/master. Could you please once again. Jenkins job is: http://jenkins-test-12.nnov.opencascade.com/view/CR30737_16-CR30737_16-nds/ Remark about auto highlight of the context. The first idea of this patch was to move the code: 'if (myAutoHilight) {UnhilightSelected}' into 'Select' of interactive context. But, some cases (see pointcloud/reader/gen_land) are failed, so we need to avoid this general approach or give an additional parameter into common Select or other. Now, the previous implementation of calling this method stays: it's called in each 'Select*' according to its logic. This difference might be found at '78ec1fae563c7948a5e1a443e00f0db6337563b0' (the last commit of the CR30737_14 branch). |
|
Branch CR30737_16 has been updated forcibly by nds. SHA-1: 1d7ea06477026f571d7f2035f5378a49762704c0 |
|
The latest version of the patch show tremendous number of uncommented image-deviations in v3d group testing selection. |
|
Branch CR30737_16 has been updated by osa. SHA-1: b8bf491b99a8522a9ff3059d78165d15c16b6e83 Detailed log of new commits: Author: osa Date: Thu Nov 26 11:45:38 2020 +0300 Add additional selection scheme modifier theToAllowSelOverlap flag to ::SelectOwners() method |
|
Branch CR30737_16 has been updated forcibly by osa. SHA-1: 3cfaa37765d4daa9032d796abc9b45e3c480c5af |
|
Branch CR30737_16 has been updated forcibly by kgv. SHA-1: 13f79ef445be51d8f0d21efc941bc587600109aa |
|
Branch CR30737_16 has been updated by kgv. SHA-1: cc774e65e337105257e6ac7447ad95b12aea15dd Detailed log of new commits: Author: age Date: Tue Dec 1 16:18:30 2020 +0300 # Replaced AIS_NListOfEntityOwner with AIS_NArray1OfEntityOwner # Fixed bug with incorrect highlighting in xor mode (select several times the same objects) |
|
Branch CR30737_16 has been updated by kgv. SHA-1: 3f6fdf7156b500e783a8b73f60b48f416331f9a8 Detailed log of new commits: Author: kgv Date: Tue Dec 1 18:29:34 2020 +0300 # AIS_InteractiveContext::Select() now performs selective unhighlighting before new highlighting |
|
Branch CR30737_17 has been created by kgv. SHA-1: 11487b88dd146357d81329e54e2e45c0edf83b60 Detailed log of new commits: Author: nds Date: Fri Sep 18 21:36:05 2020 +0300 0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR) |
|
Branch CR30737_16 has been updated by kgv. SHA-1: e5607421fdb4038f4d986e7fb195b5b9de33a33e Detailed log of new commits: Author: kgv Date: Tue Dec 1 21:21:20 2020 +0300 # AIS_InteractiveContext::Select() - fix unselection |
|
Branch CR30737_17 has been updated forcibly by kgv. SHA-1: 6555c4c27972e9a7fbf6405b7c38fc3dfad5e9f4 |
|
Branch CR30737_17 has been updated forcibly by kgv. SHA-1: 7d3e7671313b48112c7633d519079a994f4b3b9b |
|
Updated patch is ready for review - OCCT: branch CR30737_17; - OCC Products: branch CR30737_16. http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30737_17-CR30737_16-KGV/ |
|
Branch CR30737_17 has been updated forcibly by kgv. SHA-1: c88efca1bb6b9acf210ce8c4d8e7ea033262eaac |
|
The patch was reviewed |
|
Combination - OCCT branch : IR-2020-12-04 master SHA - 1e08a76f1e872a1f38931a6c3e8cf71396fc1209 a206de37fbfa0bf71bd534ae47192bbec23b8522 Products branch : IR-2020-12-04 SHA - cb56638fb6b31df41b28133f69a1dc202dcb56aa 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: 18090.67999999998 / 18052.040000000085 [+0.21%] Products Total CPU difference: 12342.950000000128 / 12326.850000000131 [+0.13%] Windows-64-VC14: OCCT Total CPU difference: 19751.5 / 19705.828125 [+0.23%] Products Total CPU difference: 13772.515625 / 13793.796875 [-0.15%] Image differences : No differences that require special attention Memory differences : No differences that require special attention |
|
Branch CR30737_17 has been deleted by inv. SHA-1: c88efca1bb6b9acf210ce8c4d8e7ea033262eaac |
|
Branch CR30737_16 has been deleted by inv. SHA-1: e5607421fdb4038f4d986e7fb195b5b9de33a33e |
|
Branch CR30737_15 has been deleted by inv. SHA-1: 8b392af6ba0dd45465de2ac640db37095f99dc3c |
|
Branch CR30737_14 has been deleted by inv. SHA-1: 78ec1fae563c7948a5e1a443e00f0db6337563b0 |
|
Branch CR30737_13 has been deleted by inv. SHA-1: a98e8407c1a0c2983ec72cf2716ba6a988c39fab |
|
Branch CR30737_12 has been deleted by inv. SHA-1: 408448b03db7d3bbe247b2cbb88b7a5d962a8ea8 |
|
Branch CR30737_11 has been deleted by inv. SHA-1: 3e67a8cfbf2789a1869068a001681d0957c06b43 |
|
Branch CR30737_10 has been deleted by inv. SHA-1: cf43d74d8f3011879946631e80f945f596ec749f |
|
Branch CR30737_9 has been deleted by inv. SHA-1: 20406c4164098c46751cfd549c194a35d79ba2e8 |
|
Branch CR30737_8 has been deleted by inv. SHA-1: 5bc14e8d743a7421ecdf6465964de85853c8b5af |
|
Branch CR30737_7 has been deleted by inv. SHA-1: c440c19910ee972c3f3ab10eb7a2587d6753d8af |
|
Branch CR30737_6 has been deleted by inv. SHA-1: df71d84b0713df731c1582e8ec72d319fc40628d |
|
Branch CR30737_5 has been deleted by inv. SHA-1: 246cdc4da230a68dd93b52e8d0ee2758a2645d20 |
|
Branch CR30737_4 has been deleted by inv. SHA-1: cab8402295d7849517132679b269e626b56b0932 |
|
Branch CR30737_3 has been deleted by inv. SHA-1: 951d93f193cdc00724586df1903ad39fc487cecd |
|
Branch CR30737_2 has been deleted by inv. SHA-1: 6202e5c34d996321cc424059a1e496c440437d1d |
|
Branch CR30737_1 has been deleted by inv. SHA-1: 91f31b0a042c20e6db2cb038eeeeb7f3200dba52 |
|
Branch CR30737 has been deleted by inv. SHA-1: af73c57320c6775b87bcf5823a61eeff266ec40a |
occt-products: master bd903bf8 2020-09-11 17:28:19 Committer: bugmaster Details Diff |
0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR) |
Affected Issues 0030737 |
|
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - samples/mfc/ColDet/src/SampleCollisionDetectionDoc.cpp | Diff File | ||
mod - samples/mfc/CR/src/SampleCanonicalRecognitionView3D.cpp | Diff File | ||
mod - samples/mfc/modeler/src/MiniModelerDoc.cpp | Diff File | ||
mod - samples/mfc/ocaf/src/OCAFSampleView.cpp | Diff File | ||
mod - samples/mfc/OMF/src/MeshFWView3D.cpp | Diff File | ||
mod - samples/mfc/shapehealer/Kernel/Kernel_View3D.cxx | Diff File | ||
mod - samples/mfc/xde/src/XDESampleView3D.cpp | Diff File | ||
mod - samples/opencl/ray_tracing/src/View.cxx | Diff File | ||
mod - samples/qt/XDE/src/XDESampleView3D.cpp | Diff File | ||
mod - training/exercises/OCAF_Solution/qt/src/GUIFramework/GUIFramework_View.cxx | Diff File | ||
mod - training/exercises/ShapeHealing_Solution/mfc/ShapeHealingView3D.cpp | Diff File | ||
mod - training/exercises/Visualization/mfc/ExerciseDoc.cpp | Diff File | ||
mod - training/exercises/Visualization_Solution/qt/src/Exercise/Exercise_Steps.cxx | Diff File | ||
mod - training/exercises/Visualization_Solution/qt/src/GUIFramework/GUIFramework_View.cxx | Diff File | ||
occt: master 75cf8250 2020-09-18 18:36:05 Committer: bugmaster Details Diff |
0030737: Visualization - implementing new selection schemes in context AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter. Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR) |
Affected Issues 0030737 |
|
add - dox/user_guides/visualization/images/visualization_selection_scheme_add.svg | Diff File | ||
add - dox/user_guides/visualization/images/visualization_selection_scheme_clear.svg | Diff File | ||
add - dox/user_guides/visualization/images/visualization_selection_scheme_remove.svg | Diff File | ||
add - dox/user_guides/visualization/images/visualization_selection_scheme_replace.svg | Diff File | ||
add - dox/user_guides/visualization/images/visualization_selection_scheme_XOR.svg | Diff File | ||
mod - dox/user_guides/visualization/visualization.md | Diff File | ||
mod - samples/CSharp/OCCTProxy/OCCTProxy.cpp | Diff File | ||
mod - samples/CSharp/OCCTProxy_D3D/OCCTProxyD3D.cpp | Diff File | ||
mod - samples/mfc/standard/01_Geometry/src/GeometryDoc.cpp | Diff File | ||
mod - samples/mfc/standard/02_Modeling/src/ModelingDoc.cpp | Diff File | ||
mod - samples/mfc/standard/04_Viewer3d/src/Viewer3dDoc.cpp | Diff File | ||
mod - samples/mfc/standard/08_HLR/src/HLRView3D.cpp | Diff File | ||
mod - samples/mfc/standard/Common/OCC_3dBaseDoc.cpp | Diff File | ||
mod - src/AIS/AIS_InteractiveContext.hxx | Diff File | ||
mod - src/AIS/AIS_InteractiveContext_1.cxx | Diff File | ||
add - src/AIS/AIS_NArray1OfEntityOwner.hxx | Diff File | ||
mod - src/AIS/AIS_Selection.cxx | Diff File | ||
mod - src/AIS/AIS_Selection.hxx | Diff File | ||
add - src/AIS/AIS_SelectionScheme.hxx | Diff File | ||
mod - src/AIS/AIS_ViewController.cxx | Diff File | ||
mod - src/AIS/FILES | Diff File | ||
mod - src/QABugs/QABugs_16.cxx | Diff File | ||
mod - src/QABugs/QABugs_19.cxx | Diff File | ||
mod - src/ViewerTest/ViewerTest_EventManager.hxx | Diff File | ||
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-05-23 19:53 | nds | New Issue | |
2019-05-23 19:53 | nds | Assigned To | => kgv |
2019-05-23 19:54 | nds | Assigned To | kgv => nds |
2019-05-23 19:59 | git | Note Added: 0084586 | |
2019-05-24 09:31 | git | Note Added: 0084590 | |
2019-05-24 13:38 | nds | Note Added: 0084603 | |
2019-05-24 13:38 | nds | Assigned To | nds => kgv |
2019-05-24 14:32 | kgv | Note Added: 0084604 | |
2019-05-27 11:35 | git | Note Added: 0084656 | |
2019-06-04 22:43 | git | Note Added: 0084832 | |
2019-06-04 22:55 | git | Note Added: 0084833 | |
2019-06-04 23:32 | git | Note Added: 0084836 | |
2019-07-17 07:10 | nds | Assigned To | kgv => nds |
2019-07-17 07:10 | nds | Target Version | 7.4.0 => 7.5.0 |
2019-08-20 15:19 | git | Note Added: 0086369 | |
2020-02-13 00:21 | git | Note Added: 0090502 | |
2020-06-05 20:51 | git | Note Added: 0092495 | |
2020-06-25 04:46 | git | Note Added: 0092708 | |
2020-09-05 09:58 | git | Note Added: 0094043 | |
2020-09-05 10:06 | git | Note Added: 0094044 | |
2020-09-08 13:13 | git | Note Added: 0094245 | |
2020-09-08 13:17 | git | Note Added: 0094246 | |
2020-09-08 18:05 | nds | Note Added: 0094262 | |
2020-09-08 18:05 | nds | Assigned To | nds => kgv |
2020-09-08 18:05 | nds | Status | new => resolved |
2020-09-08 18:06 | nds | Note Edited: 0094262 | |
2020-09-09 21:35 | kgv | Note Added: 0094323 | |
2020-09-09 21:35 | kgv | Note Edited: 0094323 | |
2020-09-09 21:54 | kgv | Note Added: 0094324 | |
2020-09-09 21:54 | kgv | Assigned To | kgv => nds |
2020-09-09 21:54 | kgv | Status | resolved => assigned |
2020-09-09 22:01 | kgv | Note Added: 0094325 | |
2020-09-09 22:44 | git | Note Added: 0094330 | |
2020-09-09 22:50 | kgv | Note Added: 0094331 | |
2020-09-10 18:14 | git | Note Added: 0094402 | |
2020-09-10 19:38 | nds | Note Added: 0094414 | |
2020-09-10 19:38 | nds | Assigned To | nds => kgv |
2020-09-10 19:38 | nds | Status | assigned => resolved |
2020-09-10 19:46 | git | Note Added: 0094417 | |
2020-09-11 06:29 | git | Note Added: 0094430 | |
2020-09-11 06:33 | git | Note Added: 0094431 | |
2020-09-11 06:36 | nds | File Added: selection_schemes_user_guides.png | |
2020-09-11 10:58 | kgv | Note Added: 0094442 | |
2020-09-11 10:58 | kgv | Assigned To | kgv => nds |
2020-09-11 10:58 | kgv | Status | resolved => assigned |
2020-09-11 17:02 | nds | File Deleted: selection_schemes_user_guides.png | |
2020-09-11 17:02 | nds | File Added: selection_schemes_user_guide.png | |
2020-09-11 17:04 | nds | File Deleted: selection_schemes_user_guide.png | |
2020-09-11 17:04 | nds | File Added: selection_schemes_user_guide.png | |
2020-09-11 17:10 | git | Note Added: 0094484 | |
2020-09-11 17:12 | git | Note Added: 0094486 | |
2020-09-11 17:22 | git | Note Added: 0094488 | |
2020-09-11 17:54 | nds | Note Added: 0094500 | |
2020-09-11 17:54 | nds | Assigned To | nds => kgv |
2020-09-11 17:54 | nds | Status | assigned => resolved |
2020-09-14 12:16 | kgv | Note Added: 0094708 | |
2020-09-14 12:17 | kgv | Assigned To | kgv => nds |
2020-09-14 12:17 | kgv | Status | resolved => assigned |
2020-09-18 08:14 | git | Note Added: 0095002 | |
2020-09-18 11:24 | git | Note Added: 0095018 | |
2020-09-18 13:22 | nds | Note Added: 0095022 | |
2020-09-18 13:22 | nds | Assigned To | nds => kgv |
2020-09-18 13:22 | nds | Status | assigned => resolved |
2020-09-18 13:25 | nds | Note Edited: 0095022 | |
2020-09-18 14:21 | git | Note Added: 0095027 | |
2020-09-18 14:23 | kgv | Note Added: 0095028 | |
2020-09-18 14:23 | kgv | Assigned To | kgv => nds |
2020-09-18 14:23 | kgv | Status | resolved => assigned |
2020-09-18 14:41 | kgv | Relationship added | parent of 0031779 |
2020-09-18 14:59 | kgv | Note Added: 0095033 | |
2020-09-18 21:28 | git | Note Added: 0095052 | |
2020-09-18 21:33 | git | Note Added: 0095053 | |
2020-09-21 10:04 | nds | Target Version | 7.5.0 => 7.6.0 |
2020-11-09 06:55 | git | Note Added: 0096608 | |
2020-11-25 04:06 | git | Note Added: 0097046 | |
2020-11-25 08:21 | nds | Note Added: 0097050 | |
2020-11-25 08:21 | nds | Assigned To | nds => kgv |
2020-11-25 08:21 | nds | Status | assigned => resolved |
2020-11-25 11:43 | git | Note Added: 0097057 | |
2020-11-25 11:45 | kgv | Note Added: 0097059 | |
2020-11-25 11:45 | kgv | Assigned To | kgv => nds |
2020-11-25 11:45 | kgv | Status | resolved => assigned |
2020-11-26 11:45 | git | Note Added: 0097089 | |
2020-11-26 11:56 | git | Note Added: 0097091 | |
2020-12-01 09:14 | nds | Assigned To | nds => age |
2020-12-01 16:03 | git | Note Added: 0097215 | |
2020-12-01 16:18 | git | Note Added: 0097216 | |
2020-12-01 18:29 | git | Note Added: 0097220 | |
2020-12-01 18:32 | git | Note Added: 0097221 | |
2020-12-01 21:21 | git | Note Added: 0097223 | |
2020-12-01 21:22 | git | Note Added: 0097224 | |
2020-12-01 22:55 | git | Note Added: 0097225 | |
2020-12-01 22:57 | kgv | Note Added: 0097226 | |
2020-12-01 22:57 | kgv | Assigned To | age => osa |
2020-12-01 22:57 | kgv | Status | assigned => resolved |
2020-12-03 10:27 | git | Note Added: 0097260 | |
2020-12-03 12:56 |
|
Note Added: 0097269 | |
2020-12-03 12:56 |
|
Assigned To | osa => bugmaster |
2020-12-03 12:56 |
|
Status | resolved => reviewed |
2020-12-05 11:57 | bugmaster | Note Added: 0097349 | |
2020-12-05 11:57 | bugmaster | Status | reviewed => tested |
2020-12-05 12:10 | bugmaster | Test case number | => Not required |
2020-12-05 12:15 | bugmaster | Changeset attached | => occt master 75cf8250 |
2020-12-05 12:15 | bugmaster | Status | tested => verified |
2020-12-05 12:15 | bugmaster | Resolution | open => fixed |
2020-12-05 13:01 | git | Note Added: 0097357 | |
2020-12-05 13:01 | git | Note Added: 0097360 | |
2020-12-05 13:01 | git | Note Added: 0097370 | |
2020-12-05 13:02 | git | Note Added: 0097371 | |
2020-12-05 13:02 | git | Note Added: 0097372 | |
2020-12-05 13:02 | git | Note Added: 0097373 | |
2020-12-05 13:02 | git | Note Added: 0097374 | |
2020-12-05 13:02 | git | Note Added: 0097375 | |
2020-12-05 13:02 | git | Note Added: 0097376 | |
2020-12-05 13:02 | git | Note Added: 0097377 | |
2020-12-05 13:02 | git | Note Added: 0097378 | |
2020-12-05 13:02 | git | Note Added: 0097379 | |
2020-12-05 13:02 | git | Note Added: 0097380 | |
2020-12-05 13:02 | git | Note Added: 0097381 | |
2020-12-05 13:02 | git | Note Added: 0097382 | |
2020-12-05 13:02 | git | Note Added: 0097383 | |
2020-12-05 13:02 | git | Note Added: 0097384 | |
2020-12-05 13:02 | git | Note Added: 0097385 | |
2021-03-12 18:56 | nds | Relationship added | parent of 0032205 |
2021-12-17 18:41 | bugmaster | Changeset attached | => occt-products master bd903bf8 |