Titania X3D Editor

Bring Colours to Your Life.

Titania v4.6.10

Bring Colours to Your Life.

X3D Reference



PrimitivePickSensor tests picking intersections using one of the basic primitive shapes specified in the pickingGeometry field [Cone|Cylinder|Sphere|Box] against the pickTarget geometry.

The PrimitivePickSensor node belongs to the Picking component and its container field is children. It is available since X3D version 3.2 or later.



SFNode [in, out] metadata NULL [X3DMetadataObject]

Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.

SFBool [in, out] enabled TRUE

Enables/disables node operation.

SFBool [out] isActive

IsActive indicates when the intersecting object is picked by the picking geometry. Output event isActive=true gets sent once a picked item is found. Output event isActive=false gets sent once no picked item is found.

MFString [in, out] objectType "ALL" ["ALL","NONE","TERRAIN",...]

The objectType field specifies a set of labels used in the picking process. Each string specified is treated as an independent label that needs to be matched against the same type in one of the pick sensor instances.


Authors may define any value for objectType. MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".

SFNode [in, out] pickingGeometry NULL [Cone|Cylinder|Sphere|Box]

PickingGeometry specifies the exact geometry coordinates that are used to perform the intersection testing of the picking operation.

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

PickTarget specifies the list of nodes against which picking operations are performed. All nodes declared in this field and their descendents are evaluated for intersections.

MFNode [out] pickedGeometry

Output event containing the node or nodes that have been found to intersect with the picking geometry from the last time this node performed a picking operation, given in the local coordinate system.

SFString [ ] intersectionType "BOUNDS" ["GEOMETRY"|"BOUNDS"|...]

IntersectionType specifies precision of the collision computation.


IntersectionType constants may be extended by the browser to provide additional options.


Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.

SFString [ ] sortOrder "CLOSEST" ["ANY"|"CLOSEST"|"ALL"|"ALL_SORTED"]

The sortOrder field determines the order provided for picked output events.


Browser implementations may define additional values and algorithms beyond these four required values.


Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.



  • A Cylinder without end caps is still treated as an enclosed Cylinder.


  • Sorting is defined based on the primitive type as follows. For Cone, the closest picked primitive is defined to be that closest to the vertex point. For Cylinder, Box, and Sphere, the closest picked primitive is defined to be that closest to the center.
  • Picking is performed between rendered frames of the event model. An author sets up the picking request in one frame by placing a LinePickSensor in the desired location. At the start of the next frame, any picking intersections are reported by the pick sensor.
  • Picking notification is performed at the start of the frame for all enabled pick sensors once all other sensors are processed.
  • Box, Cone, Cylinder or Sphere can be used for pickingGeometry node.


  • Boolean fields used to control visibility of primitive pickingGeometry subsections are ignored when evaluating picking intersections.
  • Order of contained nodes is significant, single pickingGeometry node must precede pickTarget node array.


screenshot PrimitivePickSensor

XML Encoding

Classic Encoding

JSON Encoding

Browser Compatibility

Titania X_ITE
yes yes

External Links

Cookies and other Technologies

By clicking »Accept« or continuing to use the site, you agree to the use of CREATE3000 and third-party cookies and other similar technologies to enhance your browsing experience, analyze and measure your engagement with our content, and provide more relevant ads on CREATE3000 websites and others. Learn more about cookies. You can withdraw your consent at any time.

create3000.de is going to be shut down next year, but we have a new clean and slick web site for you, go to new X_ITE web site, consider updating your X_ITE URL's, or go to new Titania web site or continue reading.