occt: master 4269bd1b

Author Committer Branch Timestamp Parent
apl bugmaster master 2013-09-19 12:58:00 master 788cbaf4
Changeset 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
mod - src/AIS/AIS_InteractiveContext_2.cxx Diff File
mod - src/Graphic3d/FILES Diff File
mod - src/Graphic3d/Graphic3d.cdl Diff File
add - src/Graphic3d/Graphic3d_ClipPlane.cxx Diff File
add - src/Graphic3d/Graphic3d_ClipPlane.hxx Diff File
add - src/Graphic3d/Graphic3d_ClipPlane_Handle.hxx Diff File
rm - src/Graphic3d/Graphic3d_CPlane.hxx Diff File
mod - src/Graphic3d/Graphic3d_CStructure.hxx Diff File
mod - src/Graphic3d/Graphic3d_CView.hxx Diff File
mod - src/Graphic3d/Graphic3d_GraphicDriver.cdl Diff File
mod - src/Graphic3d/Graphic3d_GraphicDriver.cxx Diff File
mod - src/Graphic3d/Graphic3d_MarkerImage.cxx Diff File
add - src/Graphic3d/Graphic3d_SetOfHClipPlane.hxx Diff File
mod - src/Graphic3d/Graphic3d_Structure.cdl Diff File
mod - src/Graphic3d/Graphic3d_Structure.cxx Diff File
mod - src/InterfaceGraphic/InterfaceGraphic_Visual3d.hxx Diff File
mod - src/MeshVS/MeshVS_DummySensitiveEntity.cdl Diff File
mod - src/MeshVS/MeshVS_DummySensitiveEntity.cxx Diff File
mod - src/MeshVS/MeshVS_SensitiveMesh.cdl Diff File
mod - src/MeshVS/MeshVS_SensitiveMesh.cxx Diff File
mod - src/MeshVS/MeshVS_SensitivePolyhedron.cdl Diff File
mod - src/MeshVS/MeshVS_SensitivePolyhedron.cxx Diff File
mod - src/OpenGl/FILES Diff File
mod - src/OpenGl/OpenGl_AspectFace.cxx Diff File
mod - src/OpenGl/OpenGl_AspectFace.hxx Diff File
add - src/OpenGl/OpenGl_CappingAlgo.cxx Diff File
add - src/OpenGl/OpenGl_CappingAlgo.hxx Diff File
add - src/OpenGl/OpenGl_CappingPlaneResource.cxx Diff File
add - src/OpenGl/OpenGl_CappingPlaneResource.hxx Diff File
add - src/OpenGl/OpenGl_ClippingState.cxx Diff File
add - src/OpenGl/OpenGl_ClippingState.hxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_Element.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver_7.cxx Diff File
mod - src/OpenGl/OpenGl_Group.cxx Diff File
mod - src/OpenGl/OpenGl_Group.hxx Diff File
mod - src/OpenGl/OpenGl_Matrix.hxx Diff File
add - src/OpenGl/OpenGl_RenderFilter.hxx Diff File
mod - src/OpenGl/OpenGl_Structure.cxx Diff File
mod - src/OpenGl/OpenGl_Structure.hxx Diff File
mod - src/OpenGl/OpenGl_View.cxx Diff File
mod - src/OpenGl/OpenGl_View.hxx Diff File
mod - src/OpenGl/OpenGl_View_2.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.hxx Diff File
mod - src/PrsMgr/PrsMgr_PresentableObject.cdl Diff File
mod - src/PrsMgr/PrsMgr_PresentableObject.cxx Diff File
mod - src/PrsMgr/PrsMgr_PresentableObject.lxx Diff File
mod - src/QABugs/QABugs_3.cxx Diff File
mod - src/Select3D/Select3D_Projector.cdl Diff File
mod - src/Select3D/Select3D_Projector.cxx Diff File
mod - src/Select3D/Select3D_Projector.lxx Diff File
mod - src/Select3D/Select3D_SensitiveBox.cdl Diff File
mod - src/Select3D/Select3D_SensitiveBox.cxx Diff File
mod - src/Select3D/Select3D_SensitiveCircle.cdl Diff File
mod - src/Select3D/Select3D_SensitiveCircle.cxx Diff File
mod - src/Select3D/Select3D_SensitiveCurve.cdl Diff File
mod - src/Select3D/Select3D_SensitiveCurve.cxx Diff File
mod - src/Select3D/Select3D_SensitiveEntity.cdl Diff File
mod - src/Select3D/Select3D_SensitiveEntity.cxx Diff File
mod - src/Select3D/Select3D_SensitiveFace.cdl Diff File
mod - src/Select3D/Select3D_SensitiveFace.cxx Diff File
mod - src/Select3D/Select3D_SensitiveGroup.cdl Diff File
mod - src/Select3D/Select3D_SensitiveGroup.cxx Diff File
mod - src/Select3D/Select3D_SensitivePoint.cdl Diff File
mod - src/Select3D/Select3D_SensitivePoint.cxx Diff File
mod - src/Select3D/Select3D_SensitivePoly.cxx Diff File
mod - src/Select3D/Select3D_SensitiveSegment.cdl Diff File
mod - src/Select3D/Select3D_SensitiveSegment.cxx Diff File
mod - src/Select3D/Select3D_SensitiveTriangle.cdl Diff File
mod - src/Select3D/Select3D_SensitiveTriangle.cxx Diff File
mod - src/Select3D/Select3D_SensitiveTriangulation.cdl Diff File
mod - src/Select3D/Select3D_SensitiveTriangulation.cxx Diff File
mod - src/Select3D/Select3D_SensitiveWire.cdl Diff File
mod - src/Select3D/Select3D_SensitiveWire.cxx Diff File
add - src/SelectBasics/FILES Diff File
mod - src/SelectBasics/SelectBasics.cdl Diff File
add - src/SelectBasics/SelectBasics_PickArgs.hxx Diff File
mod - src/SelectBasics/SelectBasics_SensitiveEntity.cdl Diff File
mod - src/SelectBasics/SelectBasics_SensitiveEntity.cxx Diff File
mod - src/SelectMgr/FILES Diff File
mod - src/SelectMgr/SelectMgr.cdl Diff File
mod - src/SelectMgr/SelectMgr_ViewerSelector.cdl Diff File
mod - src/SelectMgr/SelectMgr_ViewerSelector.cxx Diff File
mod - src/StdSelect/StdSelect_ViewerSelector3d.cdl Diff File
mod - src/StdSelect/StdSelect_ViewerSelector3d.cxx Diff File
mod - src/V3d/FILES Diff File
mod - src/V3d/V3d.cdl Diff File
rm - src/V3d/V3d_Plane.cdl Diff File
add - src/V3d/V3d_Plane.hxx Diff File
mod - src/V3d/V3d_View.cdl Diff File
mod - src/V3d/V3d_View.cxx Diff File
mod - src/V3d/V3d_Viewer.cdl Diff File
mod - src/V3d/V3d_Viewer.cxx Diff File
mod - src/V3d/V3d_Viewer_1.cxx Diff File
mod - src/V3d/V3d_View_2.cxx Diff File
mod - src/ViewerTest/ViewerTest.cdl Diff File
mod - src/ViewerTest/ViewerTest_ObjectCommands.cxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
mod - src/Visual3d/Visual3d.cdl Diff File
rm - src/Visual3d/Visual3d_ClipPlane.cdl Diff File
rm - src/Visual3d/Visual3d_ClipPlane.cxx Diff File
mod - src/Visual3d/Visual3d_ContextView.cdl Diff File
mod - src/Visual3d/Visual3d_ContextView.cxx Diff File
mod - src/Visual3d/Visual3d_View.cdl Diff File
mod - src/Visual3d/Visual3d_View.cxx Diff File
mod - tests/bugs/vis/bug22906 Diff File