[x3d-public] X3D DTD - proposed changes for LinePickSensor

Don Brutzman brutzman at nps.edu
Wed Mar 1 11:06:21 PST 2017


1. We received excellent technical feedback that X3D DTD for LinePickSensor does not include Shape.  Email excerpt follows, copied for continuity in the mail archives.

> *From:*Jan Danek [_mailto:Danek at humusoft.cz_]
> *Sent:*Tuesday, January 31, 2017 9:14 AM
> *To:*Brutzman, Donald (Don) (CIV) < _brutzman at nps.edu_ <mailto:brutzman at nps.edu> >
> *Cc:[...]
> *Subject:*X3D DTD - proposed changes
>
> Dear Don,
>
> As I told you some time ago, we work on implementation of X3D Picking component in our Simulink 3D Animation viewer.
>
> Working on it we noticed a mistake in the v 3.3 DTD. Please see attached DTDs. In the original file, there was "Shape" missing in the pickTarget section for the LinePickSensor, line 3222.

For Web3D members, the issue is being tracked as Mantis issue 1141

	http://www.web3d.org/member-only/mantis/view.php?id=1141

There are 4 *PickSensor nodes that pertain:  LinePickSensor|PointPickSensor|PrimitivePickSensor|VolumePickSensor.

	38 Picking component
	http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/picking.html

	38.4.1 LinePickSensor
	38.4.3 PointPickSensor
	38.4.4 PrimitivePickSensor
	38.4.5 VolumePickSensor

Typical node signature:

LinePickSensor : X3DPickSensorNode {
   SFBool   [in,out] enabled                 TRUE
   SFNode   [in,out] metadata                NULL      [X3DMetadataObject]
   MFString [in,out] objectType              "ALL"     ["ALL","NONE","TERRAIN",...]
   SFNode   [in,out] pickingGeometry         NULL      [IndexedLineSet|LineSet]
   MFNode   [in,out] pickTarget              []        [X3DGroupingNode|X3DShapeNode|Inline]
   SFBool   [out]    isActive
   MFNode   [out]    pickedGeometry
   MFVec3f  [out]    pickedNormal
   MFVec3f  [out]    pickedPoint
   MFVec3f  [out]    pickedTextureCoordinate
   SFString []       intersectionType        "BOUNDS"  ["GEOMETRY"|"BOUNDS"|...]
   SFString []       sortOrder               "CLOSEST" ["ANY"|"CLOSEST"|"ALL"|"ALL_SORTED"]
}

The line of interest is for pickTarget field:

   MFNode   [in,out] pickTarget              []        [X3DGroupingNode|X3DShapeNode|Inline]

Some support for Shape exists already in the DTD.  Proposed fix is to make it all consistent, such as

<!ELEMENT LinePickSensor (IS?, (%MetadataNodes;)?, (IndexedLineSet | LineSet | %WildcardNodes;)?, (%GroupingNodes; | %ShapeNodes; | Inline | %WildcardNodes;)* )>

This fix has been applied and will be part of next release.


2. The X3D Examples open-source online archives do not have any LinePickSensor test scenes, nor tests of any other picking nodes.  This is a problematic gap.

Does anyone have examples, or able to work on examples, that you are willing to contribute?


3. Jan reports that Humutech is "also are under impression that we are the first ones trying actually to implement this Picking Component (we didn't find anything on the Net)."

Do any of the other players implement the PickSensors?  The following page may be a bit out of date, but has some clues:

=================================
Player support for X3D components
http://www.web3d.org/wiki/index.php/Player_support_for_X3D_components

Players 	BS Contact	FreeWRL	H3DViewer 	InstantPlayer 	OctagaVS Player
Picking sensor 	no 		yes 	no 		no 		no

OpenVRML	SwirlX3D	view3dscene 	Xj3D 	Heilan 	Pivoron 	Flux 	Vivaty
no 		no 		none	 	yes 	no 	 ? 		yes 	yes
=================================

4.  DOCTYPE DTD changes to follow for X3D v3.0-3.3 and experimental v4.0.  Continued testing, reporting and improvement welcome.

Thanks to Web3D Consortium infrastructure support and all efforts by X3D Working Group and our X3D community.

Looking forward to having fun with X3D pick sensors!

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list