View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0029254 | Community | OCCT:Visualization | public | 2017-10-23 12:59 | 2023-08-01 15:09 |
Reporter | BenjaminBihler | Assigned To | |||
Priority | normal | Severity | minor | ||
Status | new | Resolution | open | ||
Platform | Windows | OS | VC++ 2015 | ||
Product Version | 7.2.0 | ||||
Target Version | Unscheduled | ||||
Summary | 0029254: [Regression to OCCT 7.1.0] Programmatically highlighting AIS_Trihedron is not possible anymore | ||||
Description | When an AIS_Trihedron is highlighted programmatically, its colour does not change to the chosen color. For other AIS objects highlighting works as expected. | ||||
Steps To Reproduce | Insert the following lines into samples\qt\Tutorial\src\DocumentTut.cxx after "emit selectionChanged();" and before "fitAll();": Handle(AIS_Trihedron) trihedron = new AIS_Trihedron(new Geom_Axis2Placement(gp_Ax2())); getContext()->Display(trihedron, Standard_False); getContext()->HilightWithColor(trihedron, getContext()->HighlightStyle(), Standard_True); getContext()->HilightWithColor(AISBottle, getContext()->HighlightStyle(), Standard_True); The following includes have to be added: #include <AIS_Trihedron.hxx> #include <Geom_Axis2Placement.hxx> When drawing the bottle, the bottle is correctly highlighted but not the trihedron. This behaviour has changed since OCCT 7.1.0. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
This is a limitation of custom highlighting API, existed long time before AIS_Trihedron modification (AIS_Trihedron::IsAutoHilight() and AIS_Trihedron::HilightSelected() are now overridden)://! Method which draws selected owners ( for fast presentation draw ) virtual void HilightSelected (const Handle(PrsMgr_PresentationManager3d)& PM, const SelectMgr_SequenceOfOwner& Seq); To overcome this limitation, related API methods (e.g. SelectMgr_SelectableObject::HilightSelected()) should be modified to receive style Prs3d_Drawer as in case of Auto Hilight is turned on - see also current implementation of AIS_InteractiveContext::highlightGlobal() which just ignores passed style because HilightSelected() does not receive it: if (!aGlobOwner->IsAutoHilight()) { SelectMgr_SequenceOfOwner aSeq; for (AIS_NListOfEntityOwner::Iterator aSelIter (mySelection->Objects()); aSelIter.More(); aSelIter.Next()) { if (aSelIter.Value()->IsSameSelectable (theObj)) { aSeq.Append (aSelIter.Value()); } } theObj->HilightSelected (myMainPM, aSeq); ///!<< } else { aGlobOwner->HilightWithColor (myMainPM, theStyle, aHiMode); ///!<< } |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-10-23 12:59 | BenjaminBihler | New Issue | |
2017-10-23 12:59 | BenjaminBihler | Assigned To | => kgv |
2017-10-23 13:01 | kgv | Relationship added | related to 0027958 |
2017-10-23 17:08 | kgv | Relationship added | related to 0027818 |
2017-10-23 17:16 | kgv | Note Added: 0071719 | |
2017-10-23 17:17 | kgv | Note Edited: 0071719 | |
2017-10-23 17:17 | kgv | Note Edited: 0071719 | |
2019-09-04 17:50 | kgv | Target Version | 7.4.0 => 7.5.0 |
2020-08-28 14:25 | kgv | Target Version | 7.5.0 => 7.6.0 |
2021-08-24 14:13 | kgv | Target Version | 7.6.0 => 7.7.0 |
2022-08-17 11:59 | kgv | Target Version | 7.7.0 => 7.8.0 |
2022-10-19 15:47 |
|
Assigned To | kgv => vpozdyayev |
2023-08-01 15:09 | dpasukhi | Target Version | 7.8.0 => Unscheduled |