<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">I want to suggest an new field „pointerEvent“ for X3DLayerNode and X3DShapeNode.<div><br></div><div>X3DLayerNode + X3DShapeNode  {</div><div>  SFBool [in,out] pointerEvents TRUE</div><div>  ...</div><div>}</div><div><br></div><div>CSS has a similar property "<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font: var(--type-heading-h1); letter-spacing: var(--heading-letter-spacing);">pointer-events", see </span><a href="https://www.w3schools.com/cssref/css3_pr_pointer-events.php">https://www.w3schools.com/cssref/css3_pr_pointer-events.php</a>.</div><div><br></div><div>The default value is TRUE which defines the actual behavior. But new, when the field becomes FALSE, the shape or the whole layer becomes ‚invisible‘ for pointing device sensor nodes, ie. it cannot be clicked, but rather click through the object.</div><div><br></div><div>Examples would be a HUD layer with only display objects, which don’t need to be clicked. Or a transparent water surface, with object below the surface. Setting Surface.pointerEvents to FALSE would enable to click through the surface and touch the objects under the water.</div><div><br></div><div>I initially thought that the X3DLayerNode.pickable (was isPickable) field would do the job, but guess its rather related to Picking component and same as in PickableGroup. Same with X3DOM Shape.isPickable <a href="https://doc.x3dom.org/author/Shape/Shape.html">https://doc.x3dom.org/author/Shape/Shape.html</a>, but don’t know.</div><div><br></div><div>I'm not attached to the name „<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">pointerEvents</span>", but it seems quite appropriate.</div><div><br></div><div>An alternative approach would be to define a new node „TouchGroup“, which could be in PointingDeviceSensor component.</div><div><br></div><div>TouchGroup : X3DGroupingNode {</div><div>  <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">SFBool [in,out] pointerEvents TRUE</span></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">  ...</span></div><div>}</div><div><br></div><div>But after some thinking I think that a field in shape and layer is better, because having to much groups makes the code not better.</div><div><br></div><div>Best regards,</div><div>Holger</div><div><br></div></div></div></div></body></html>