mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-03 14:10:33 +03:00
0024070: OpenGL capped object-level clipping planes
Graphical clipping: - Use "Graphic3d_ClipPlane" to defined clipping for PrsMgr_PresentableObject (local clipping), for V3d_View (global clipping). Get rid of old implementations: - Remove Visual3d_ClipPlane. - Port V3d_Plane to Graphic3d_ClipPlane core. Selection Sensitives: - Port "Matches" method to add full set of arguments (SelectBasics_PickArgs), including min-max depth coming from selector. - Get rid of transient data for pair Matches -> ComputeDepth. - Extend SelectMgr_ViewerSelector::LoadResult to work with local clipping, add virtual callbacks to compute globa/local depth clipping for picking. Capping rendering algorithm: - Recursive rendering algorithm for OpenGl_Groups. - Introduced Rendering filter for groups. Clipping plane management in TKOpenGl: - Added OpenGl_ClippingState to OpenGl_Context. DRAWEXE commands: - Ported "vclipplane" command for new approach. - Added "vsettexturemode" command for changing texture details in views (enable / disable textures). Correct DownCast syntax (compilation error) Fix new compiler warnings tests/bugs/vis/bug22906 migrated to the new vclipplane syntax
This commit is contained in:
@@ -37,6 +37,7 @@
|
||||
|
||||
#include <Graphic3d_CView.hxx>
|
||||
#include <Graphic3d_CGraduatedTrihedron.hxx>
|
||||
#include <Graphic3d_SetOfHClipPlane.hxx>
|
||||
#include <Visual3d_TypeOfSurfaceDetail.hxx>
|
||||
|
||||
#include <OpenGl_telem_view.hxx>
|
||||
@@ -72,12 +73,6 @@ struct OPENGL_EXTRA_REP
|
||||
Tfloat scaleFactors[3];
|
||||
};
|
||||
|
||||
struct OPENGL_CLIP_REP
|
||||
{
|
||||
Standard_Real equation[4];
|
||||
DEFINE_STANDARD_ALLOC
|
||||
};
|
||||
|
||||
struct OPENGL_ZCLIP
|
||||
{
|
||||
struct {
|
||||
@@ -117,7 +112,7 @@ class OpenGl_View : public MMgt_TShared
|
||||
void SetBackfacing (const Standard_Integer AMode);
|
||||
void SetLights (const CALL_DEF_VIEWCONTEXT &AContext);
|
||||
void SetAntiAliasing (const Standard_Boolean AMode) { myAntiAliasing = AMode; }
|
||||
void SetClippingPlanes (const CALL_DEF_VIEWCONTEXT &AContext);
|
||||
void SetClipPlanes (const Graphic3d_SetOfHClipPlane &thePlanes) { myClipPlanes = thePlanes; }
|
||||
void SetVisualisation (const CALL_DEF_VIEWCONTEXT &AContext);
|
||||
|
||||
void SetClipLimit (const Graphic3d_CView& theCView);
|
||||
@@ -222,11 +217,11 @@ public:
|
||||
//Tint active_status;
|
||||
|
||||
OPENGL_ZCLIP myZClip;
|
||||
NCollection_List<OPENGL_CLIP_REP> myClippingPlanes;
|
||||
|
||||
OPENGL_EXTRA_REP myExtra;
|
||||
//}
|
||||
|
||||
Graphic3d_SetOfHClipPlane myClipPlanes;
|
||||
|
||||
OPENGL_FOG myFog;
|
||||
OpenGl_Trihedron* myTrihedron;
|
||||
OpenGl_GraduatedTrihedron* myGraduatedTrihedron;
|
||||
|
Reference in New Issue
Block a user