[X3D-Public] X3D Tooltips: Particle System nodes, plus accessType and type information

Don Brutzman brutzman at nps.edu
Fri Sep 7 13:02:49 PDT 2012


I've finished some additional tooltip improvements, adding Particle System nodes.
Double-checking is appreciated, this review provoked some of the recent X3D spec comments.

	http://www.web3d.org/x3d/content/X3dTooltips.html

The X3D Tooltips are also available in Chinese, French, German,
Italian, Portuguese and Spanish.  These are all kept up to date
and are refreshed with each build.  However no changes have
been performed since X3D version 3.1.  If anyone wants to
upgrade one of these translations, I'm happy to help get you
started.  All of this work is under version control and nightly
build checks, easily diff-able to determine what changes might
be needed.

Have also added guidance information regarding accessType and
field type definitions.  Most of this simply documents how
field validation occurs in the X3D Schema and Doctype checks.
Links and prose follow.

Tooltip clarification questions & improvements are always welcome.
Usage reports are also helpful. Enjoy!

============================================================

http://www.web3d.org/x3d/content/X3dTooltips.html#accessType

accessType Definitions

accessType determines whether a field corresponds to event input, event output, or persistent state information. Events are strictly typed values with a corresponding timestamp. ROUTE connections must match accessType between source field and target field.

    initializeOnly: can be initialized, but cannot send or receive events. This is usually the case for fields that are too computationally expensive to change at run time.
    initializeOnly: can be initialized, and can also send or receive events. This is usually the case for fields that are too computationally expensive to change at run time.
    inputOnly: cannot be initialized or included in a scene file, but can receive input event values via a ROUTE.
    outputOnly: cannot be initialized or included in a scene file, but can send output event values via a ROUTE.

X3D accessType design keeps 3D graphics rendering fast and interactive, also helping to keep X3D players small and lightweight.

============================================================

http://www.web3d.org/x3d/content/X3dTooltips.html#type

type Definitions

Data types classify the possible values for a variable. X3D is a strongly typed language, meaning that data types must match for a scene to be correct. Each field in each node (i.e. each XML attribute) has a strictly defined data type. Multiple data types are provided for boolean, integer, floating-point and string values.

    Each of the base types are either single-value or multiple-value. Examples: SFFloat (single-value), SFVec2f (2-tuple), SFVec3f (3-tuple), SFOrientation (4-tuple for axis-angle values).
    Arrays are also provided for all base types. Nomenclature: SF = Single Field (single value of base type), MF = Multiple Field (array of base-types).
    The X3D Schema is able to validate numeric type information and array tuple sizes in X3D scenes for initializeOnly and inputOutput field initializations that appear within an X3D file.
    ROUTEs pass events, which are strictly typed values with a corresponding timestamp. ROUTE connections must match type between source field and target field. Since they are transient, event values themselves cannot appear within an X3D file.
    For MF multiple-field arrays, commas between values are normally treated as whitespace. However, X3D Schema validation will not accept commas that appear within vector values, only between values. MFColor examples: color="0.25 0.5 0.75, 1 1 0" is valid while color="0.25, 0.5, 0.75, 1, 1, 0" is invalid. This is an authoring assist to help authors troubleshoot errors in long arrays of values.
    Failure to match data types correctly is an error! Types must match during scene validation, scene loading, and at run time. This is A Good Thing since it allows authors to find problems when they exist, rather than simply hoping (perhaps mistakenly) that everything will work for end users.

Some Extensible Markup Language (XML) data types are also included in these tooltips.

    CDATA is an XML term for Character Data. The base type for all XML attributes consists of CDATA characters. CDATA is used throughout the X3D DOCTYPE definitions, which can only check for the presence of legal strings and thus are not able to validate numeric type information. Strictly speaking, a few CDATA attributes (such as those for the meta element and other elements appearing inside the head element) are not fields of X3D nodes and thus do not have corresponding X3D data types.
    NMTOKEN is an XML term for Name Token. NMTOKEN is also a CDATA string but must also match naming requirements for legal characters with no embedded spaces.
    ID is a NMTOKEN that is unique within the scene, corresponding to the DEF label in X3D.
    IDREF is a reference to one of these unique scene IDs, corresponding to the USE label in X3D.

Field-type names 	Description 		Example values
SFBool  	Single-field boolean value 	true or false (XML syntax in .x3d files), TRUE or FALSE (ClassicVRML syntax in .wrl or .x3dv files)
MFBool  	Multiple-field boolean array 	true false false true (XML syntax in .x3d files), [ TRUE FALSE FALSE TRUE ] (ClassicVRML syntax in .wrl or .x3dv files)
SFColor 	Single-field color value, red-green-blue 	0 0.5 1.0
MFColor 	Multiple-field color array, red-green-blue 	1 0 0, 0 1 0, 0 0 1
SFColorRGBA 	Single-field color value, red-green-blue alpha (opacity) 	0 0.5 1.0 0.75
MFColorRGBA 	Multiple-field color array, red-green-blue alpha (opacity) 	1 0 0 0.25, 0 1 0 0.5, 0 0 1 0.75 (red green blue, with varying opacity)
SFInt32 	Single-field 32-bit integer value 	0
MFInt32 	Multiple-field 32-bit integer array 	1 2 3 4 5
SFFloat 	Single-field single-precision floating-point value 	1.0
MFFloat 	Multiple-field single-precision floating-point array 	−1 2.0 3.14159
SFDouble 	Single-field double-precision floating-point value 	2.7128
MFDouble 	Multiple-field double-precision array 	−1 2.0 3.14159
SFImage 	Single-field image value 	Contains special pixel-encoding values, see X3D Specification for details
MFImage 	Multiple-field image value 	Contains special pixel-encoding values, see X3D Specification for details
SFRotation 	Single-field rotation value using 3-tuple axis, radian angle form 	0 1 0 1.57
MFRotation 	Multiple-field rotation array 	0 1 0 0, 0 1 0 1.57, 0 1 0 3.14
SFString 	Single-field string value 	“Hello world!”
MFString 	Multiple-field string array 	“EXAMINE” “FLY” “WALK” “ANY”
SFTime  	Single-field time value 	0
MFTime  	Multiple-field time array 	−1 0 1 567890
SFNode  	SFNode Single-field node. Default value is NULL. 	<Shape/> or Shape
MFNode  	Multiple-field node array. Default value is an empty list. 	<Shape/> <Group/> <Transform/>
SFVec2f 	Single-field 2-tuple single-precision float vector 	0.5 0.5
MFVec2f 	Multiple-field array of 2-tuple single-precision float vectors 	0 0, 0 1, 1 1, 1 0
SFVec2d 	Single-field 2-tuple double-precision float vector 	0.5 0.5
MFVec2d 	Multiple-field array of 2-tuple double-precision float vectors 	0 0, 0 1, 1 1, 1 0
SFVec3f 	Single-field 3-tuple single-precision float vector 	0.0 0.0 0.0
MFVec3f 	Multiple-field array of 3-tuple single-precision float vectors 	0 0 0, 0 0 1, 0 1 1, 0 1 0, 1 0 0, 1 0 1, 1 1 1, 1 1 0
SFVec3d 	Single-field 3-tuple double-precision float vector 	0.0 0.0 0.0
MFVec3d 	Multiple-field array of 3-tuple double-precision float vectors 	0 0 0, 0 0 1, 0 1 1, 0 1 0, 1 0 0, 1 0 1, 1 1 1, 1 1 0
SFVec4f 	Single-field 4-tuple single-precision float vector 	1.0 2.0 3.0 4.0
MFVec4f 	Multiple-field array of 4-tuple single-precision float vectors 	1 1 1 1, 2 2 2 2, 3 3 3 3, 4 4 4 4
SFVec4d 	Single-field 4-tuple double-precision float vector 	1.0 2.0 3.0 4.0
MFVec4d 	Multiple-field array of 4-tuple double-precision float vectors 	1 1 1 1, 2 2 2 2, 3 3 3 3, 4 4 4 4
SFMatrix3f 	v3×3 matrix of single-precision floating point numbers 	1 0 0 0 1 0 0 0 1 (identity matrix, default value)
MFMatrix3f 	Zero or more 3×3 matrices of single-precision floating point numbers 	1 0 0 0 1 0 0 0 1, 1 0 0 0 1 0 0 0 1 (default value is empty list)
SFMatrix3d 	Single 3×3 matrix of double-precision floating point numbers 	1 0 0 0 1 0 0 0 1 (identity matrix, default value)
MFMatrix3d 	Zero or more 3×3 matrices of double-precision floating point numbers 	1 0 0 0 1 0 0 0 1, 1 0 0 0 1 0 0 0 1 (default value is empty list)
SFMatrix4f 	Single 4×4 matrix of single-precision floating point numbers 	1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 (identity matrix, default value)
MFMatrix4f 	Zero or more 4×4 matrices of single-precision floating point numbers 	1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1, 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 (default value is empty list)
SFMatrix4d 	Single 4×4 matrix of double-precision floating point numbers 	1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 (identity matrix, default value)
MFMatrix4d 	Zero or more 4×4 matrices of double-precision floating point numbers 	1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1, 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 (default value is empty list)

Table adapted from Chapter 1 Technical Overview, Table 1.4 X3D Field Types, X3D for Web Authors,
Don Brutzman and Leonard Daly, Morgan Kaufman Publishers, 2007. Used with permission.
http://x3dgraphics.com/chapters/Chapter01-Technical_Introduction.pdf

============================================================

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