View Issue Details

IDProjectCategoryView StatusLast Update
0022357Open CASCADEOCCT:Visualizationpublic2015-12-10 11:11
Reporterkgv Assigned Tobugmaster  
Status closedResolutionfixed 
Fixed in Version6.5.1 
Summary0022357: Hidden face selection
DescriptionCurrent clipping planes mechanism affects only visualization part and not
selection. This cause the problem that invisible objects or object(s) parts are
selectable. An due to depth selection test topmost invisibly sensitivities are
selectable in preferred order.

This behaviour should be improved.
Currently supposed to fix picking by point and not rectangular / polyline selection.
Additional information
and documentation updates
Documentation remark, added by KGV 2011-03-31 12:00:09:

New features:
ViewerTest. Added new vclipplane DRAWEXE command to manipulate the section
custom clipping planes.
Usage example:
# append the plane
vcliplane 0 0 0 0 0 1
# disable 1th clipping plane
vcliplane 1 off
# append 2nd plane
vcliplane 0 0 0 0 1 0
# show the second plane
vcliplane 2 show
# enable the first plane
vcliplane 1 on
# list all existing planes
# remove all planes
vcliplane rem
Fixed picking by point with custom clipping planes defined.

Previously the hidden objects (behind the clipping) were selectable. This makes
selection of visible objects impossible or too complicated.

Now depth clipping implemented for picking by point functionality and hidden
objects (part of the objects) should not be selectable.
Fixed one BUG occurred sometimes. The highlighting may froze for some objects
that should be unhighlighted according to the current cursor position. Mostly
noticeable with clipping planes.
Modified entities:
Select3D_Projector class now inherits Standard_Transient. This means that it
should be used as Handle in most cases and existing methods in OCCT with
argument Select3D_Projector was changed to Handle(Select3D_Projector). This
changing was intended to avoid unsafe memory usage when deleted projector may be
used in sensitivity entities and other places.

Added new methods ::DepthMin(), ::DepthMax(), ::DepthMinMax() to control allowed
depth interval. These methods are now used in Select3D_SensitiveEntity and
inheritors within ::Matches() method (for picking in one point).

Updated to operate with Handle(Select3D_Projector). Some other classes
automatically updated without CDL changing.

Changed V3d_Plane constructor. Now constructor doesn't require the V3d_Viewer
argument. Notice that within this changes plane doesn't append itself to
V3d_Viewer defined planes list!

V3d_Viewer class. ::AddPlane() and ::DelPlane() methods now in public section.
Now application may control the defined planes list if needed.
TagsNo tags attached.
Test case number

Attached Files

  • kgv-OCC22357-v1.tar.gz (173,372 bytes)
  • kgv-OCC22357-v2.tar.gz (174,763 bytes)
  • kgv-OCC22357-v3.tar.gz (187,789 bytes)
  • kgv-OCC22357-v4.tar.gz (187,867 bytes)
  • Errors.txt (52,704 bytes)
  • kgv-OCC22357-v5.tar.gz (217,435 bytes)


related to 0026973 closedbugmaster Community Visualization - selection of entities hidden by clipping planes is broken 


2011-03-30 18:01


kgv-OCC22357-v1.tar.gz (173,372 bytes)

2011-03-31 13:21


kgv-OCC22357-v2.tar.gz (174,763 bytes)

2011-03-31 13:21


kgv-OCC22357-v3.tar.gz (187,789 bytes)

2011-03-31 15:54


kgv-OCC22357-v4.tar.gz (187,867 bytes)

2011-04-04 11:39


Errors.txt (52,704 bytes)

2011-04-04 12:16


kgv-OCC22357-v5.tar.gz (217,435 bytes)

Related Changesets

occt: master 4952a30a

2011-04-28 15:57:34


Details Diff
OCC22357 Hidden face selection Affected Issues
mod - src/AIS/AIS_InteractiveContext_2.cxx Diff File
mod - src/AIS/AIS_LocalContext.cxx Diff File
mod - src/MeshVS/MeshVS_SensitiveFace.cxx Diff File
mod - src/MeshVS/MeshVS_SensitiveMesh.cxx Diff File
mod - src/MeshVS/MeshVS_SensitivePolyhedron.cxx Diff File
mod - src/MeshVS/MeshVS_SensitiveSegment.cxx Diff File
mod - src/OpenGl/OpenGl_togl_begin_immediat_mode.cxx Diff File
mod - src/Poly/Poly.cdl Diff File
mod - src/Poly/Poly.cxx Diff File
mod - src/QABUC/QABUC.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.cxx 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.cxx Diff File
mod - src/Select3D/Select3D_SensitiveGroup.cxx Diff File
mod - src/Select3D/Select3D_SensitivePoint.cxx Diff File
mod - src/Select3D/Select3D_SensitivePoly.cxx Diff File
mod - src/Select3D/Select3D_SensitiveSegment.cxx Diff File
mod - src/Select3D/Select3D_SensitiveTriangulation.cxx Diff File
mod - src/Select3D/Select3D_SensitiveWire.cxx Diff File
mod - src/StdSelect/StdSelect.cxx Diff File
mod - src/StdSelect/StdSelect_ViewerSelector3d.cxx Diff File
mod - src/StdSelect/StdSelect_ViewerSelector3d.lxx Diff File
mod - src/V3d/V3d_Plane.cdl Diff File
mod - src/V3d/V3d_Plane.cxx Diff File
mod - src/V3d/V3d_Viewer.cdl Diff File
mod - src/ViewerTest/ViewerTest.cxx Diff File
mod - src/ViewerTest/ViewerTest_ObjectCommands.cxx Diff File

Issue History

Date Modified Username Field Change
2011-03-30 18:34 bugmaster Assigned To bugmaster => kgv
2011-03-30 18:34 bugmaster Status new => assigned
2011-03-31 13:43 bugmaster Status assigned => resolved
2011-04-04 11:40 mkv Status resolved => assigned
2011-04-12 15:59 bugmaster Status assigned => resolved
2011-04-12 16:05 mkv Status resolved => tested
2011-04-28 19:57 bugmaster Status tested => verified
2011-08-02 11:24 bugmaster Category OCCT:VIZ => OCCT:Visualization
2011-12-28 17:40 atp Description Updated
2011-12-28 17:40 atp Additional Information Updated
2012-03-29 17:26 bugmaster Changeset attached => occt master 4952a30a
2015-12-10 11:11 kgv Relationship added related to 0026973