mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0026272: Visualization - provide a possibility to activate selection modes without opening local context
- picked or selected objects are now highlighted via owners instead of interactive objects; - support methods for owners were added to AIS_InteractiveContext; - dynamically highlighted owners are now displayed in immediate mode; - selection without opening of local context is enabled by default; - added "-local" key to vselmode command to enable selection in local context; - selection filters are now completely supported in AIS_InteractiveContext; - the idea of differencing of selected items onto current (in interactive context) and selected (local selection) was eliminated; - all calls to "current" were replaced by calls to "selected" in terms of future local context removal; - AIS_InteractiveObject::mySelectionMode was removed; - now each selectable object can define own selection mode for "global" selection of the whole object; - whole object selection mode is 0 by default for all standard interactive objects; - immediate structures are now added to topmost and top layer lists; - added support of drawing immediate structures in different layers; - unused code for immediate mode was removed; - vfeedback and vexport commands now produce correct output for raytrace mode.
This commit is contained in:
@@ -194,13 +194,7 @@ public:
|
||||
//! But it works in any case and is especially useful for view dump because the dump image is read from the back buffer.
|
||||
//! @return previous mode.
|
||||
Standard_EXPORT virtual Standard_Boolean SetImmediateModeDrawToFront (const Graphic3d_CView& theCView, const Standard_Boolean theDrawToFrontBuffer) = 0;
|
||||
|
||||
//! Display structure in immediate mode on top of general presentation
|
||||
Standard_EXPORT virtual void DisplayImmediateStructure (const Graphic3d_CView& theCView, const Handle(Graphic3d_Structure)& theStructure) = 0;
|
||||
|
||||
//! Erases immediate structure
|
||||
Standard_EXPORT virtual void EraseImmediateStructure (const Graphic3d_CView& theCView, const Graphic3d_CStructure& theCStructure) = 0;
|
||||
|
||||
//! call_togl_layer2d
|
||||
Standard_EXPORT virtual void Layer (Aspect_CLayer2d& ACLayer) = 0;
|
||||
|
||||
|
@@ -28,7 +28,7 @@ public:
|
||||
//! Empty constructor.
|
||||
Graphic3d_ViewAffinity()
|
||||
{
|
||||
::memset (&myMask, 0xFF, sizeof(myMask));
|
||||
SetVisible (Standard_True);
|
||||
}
|
||||
|
||||
//! Return visibility flag.
|
||||
@@ -38,6 +38,12 @@ public:
|
||||
return (myMask & aBit) != 0;
|
||||
}
|
||||
|
||||
//! Setup visibility flag for all views.
|
||||
void SetVisible (const Standard_Boolean theIsVisible)
|
||||
{
|
||||
::memset (&myMask, theIsVisible ? 0xFF : 0x00, sizeof(myMask));
|
||||
}
|
||||
|
||||
//! Setup visibility flag.
|
||||
void SetVisible (const Standard_Integer theViewId,
|
||||
const bool theIsVisible)
|
||||
|
Reference in New Issue
Block a user