XML Schema for the Extensible 3D (X3D) Graphics Specification tagset X3DBoundedObject indicates that bounding box values can be provided (or computed) for this node and any children. Bounding box values approximate the volume of a containing box in the current coordinate system. Bounding box values can optionally be provided to (or calculated by) 3D browsers. Bounding box values are hints that can improve performance by allowing browsers to inexpensively cull geometry, thus avoiding the computational cost of trying to drawing shapes when they are outside of the current view. BoundingBoxSize dimensions are non-negative values. Default value (-1 -1 -1) indicates that no bounding box size has been computed. SFBool is a logical type with possible values (true|false) to match the XML boolean type. Hint: X3D SFBool values are lower case (true|false) in order to maintain compatibility with other XML documents. MFBool is an array of Boolean values. Type MFBool was previously undefined in the VRML 97 Specification, but nevertheless needed for event utilities and scripting. Example use: MFBool is useful for defining a series of behavior states using a BooleanSequencer prototype. Array values are optionally separated by commas. SFDouble is a double-precision floating-point type. Array values are optionally separated by commas. See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations Of Single-Precision for rationale. MFDouble is an array of Double values, i.e. a double-precision floating-point array type. See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations Of Single-Precision for rationale. SFDouble/MFDouble are analagous to SFDouble/MFDouble. Array values are optionally separated by commas. SFFloat is a single-precision floating-point type. MFFloat is an array of SFFloat values, i.e. a single-precision floating-point array type. Array values are optionally separated by commas. The SFImage field specifies a single uncompressed 2-dimensional pixel image. SFImage fields contain three integers representing the width, height and number of components in the image, followed by width×height hexadecimal or integer values representing the pixels in the image. MFImage is an array of SFImage values. An SFInt32 field specifies one 32-bit signed integer. An MFInt32 field defines an array of 32-bit signed integers. Array values are optionally separated by commas. SFRotation is an axis-angle 4-tuple, indicating X-Y-Z direction plus angle orientation about that axis. The first three values specify a normalized rotation axis vector about which the rotation takes place. (Thus the first three values must be within the range [-1..+1] in order to represent a normalized unit vector. Problem: scientific notation allows leading digit.) The fourth value specifies the amount of right-handed rotation about that axis in radians. MFRotation is an array of SFRotation values. Array values are optionally separated by commas. SFString defines a single string encoded with the UTF-8 universal character set. MFString is an array of SFString values, each "quoted" and separated by whitespace. Array values are optionally separated by commas. The SFTime field specifies a single time value. Time values are specified as a double-precision floating point number. Typically, SFTime fields represent the number of seconds since Jan 1, 1970, 00:00:00 GMT. MFTime is an array of SFTime values. Array values are optionally separated by commas. SFVec2f is a 2-tuple pair of SFFloat values. Hint: SFVec2f can be used to specify a 2D single-precision coordinate. MFVec2f is an array of SFVec2f values. Array values are optionally separated by commas. SFVec2d is a 2-tuple pair of SFDouble values. Array values are optionally separated by commas. Hint: SFVec2d can be used to specify a 2D double-precision coordinate. MFVec2d is an array of SFVec2d values. Array values are optionally separated by commas. SFVec3f is a 3-tuple triplet of SFFloat values. Hint: SFVec3f can be used to specify a 3D coordinate or a 3D scale value. MFVec3f is an array of SFVec3f values. Array values are optionally separated by commas. SFVec3d is a 3-tuple triplet of SFDouble values. See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations Of Single-Precision. Hint: SFVec3d can be used to specify a georeferenced 3D coordinate. MFVec3d is an array of SFVec3d values. Array values are optionally separated by commas. See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations Of Single-Precision. Hint: MFVec3d can be used to specify a list of georeferenced 3D coordinates. SFVec4f is a 4-tuple set of single-precision floating-point values, specifying a 3D homogeneous vector. MFVec4f is zero or more SFVec4f values. SFVec4d is a 4-tuple set of double-precision floating-point values, specifying a 3D homogeneous vector. MFVec4d is zero or more SFVec4d values. SFMatrix3f specifies a 3x3 matrix of single-precision floating point numbers, organized in row-major fashion. MFMatrix3f specifies zero or more 3x3 matrices of single-precision floating point numbers, organized in row-major fashion. SFMatrix3d specifies a 3x3 matrix of double-precision floating point numbers, organized in row-major fashion. MFMatrix3d specifies zero or more 3x3 matrices of double-precision floating point numbers, organized in row-major fashion. SFMatrix4f specifies a 4x4 matrix of single-precision floating point numbers, organized in row-major fashion. MFMatrix4f specifies zero or more 4x4 matrices of single-precision floating point numbers, organized in row-major fashion. SFMatrix4d specifies a 4x4 matrix of double-precision floating point numbers, organized in row-major fashion. MFMatrix4d specifies zero or more 4x4 matrices of double-precision floating point numbers, organized in row-major fashion. accessTypeNames are allowed enumeration values for accessType. Prior names in VRML 97 were eventIn, eventOut, field, exposedField respectively. ArcClose2dTypeValues are allowed enumeration values for ArcClose2D closureType. profileName enumeration constants are used to identify the profile for each scene-graph node, and also used by X3D tag to identify the profile of a contained Scene. Core component is provided as the basis for custom componentization. CADGeometry component is provided for Computer-Aided Design (CAD) nodes.. fieldTypeName contains the names of all X3DField types. fontStyleValues are allowed enumeration values for FontStyle node type attribute. fogTypeValues are allowed enumeration values for Fog node fogType attribute. shaderPartTypeValues are allowed enumeration values for ShaderPart node type attribute. metaDirectionValues are allowed enumeration values for meta tag direction attribute. right-to-left left-to-right networkModeValues are allowed enumeration values for DIS field networkMode. profileName enumeration constants are used to identify the profile for each scene-graph node, and also used by X3D tag to identify the profile of a contained Scene. Core Profile includes no nodes and is provided as the basis for custom componentization. Interchange Profile equals the minimum subset of nodes needed to author lightweight compelling content. CADInterchange Profile adds support for CADGeometry component nodes to Interchange Profile. Interactive Profile adds interaction nodes (Anchor, KeySensor) to the minimum subset of nodes needed to author lightweight compelling content. Immersive Profile equals all of the nodes in the VRML 97 Specification, plus various X3D node additions including KeySensor, StringSensor and Scene. The Full Profile corresponds to all Immersive X3D nodes plus all approved/implemented extensions. Full may get renamed Integrated. textureBoundaryModeValues are allowed enumeration values for TextureProperties boundaryMode* fields. textureMagnificationModeValues are allowed enumeration values for TextureProperties field magnificationFilter. textureMinificationModeValues are allowed enumeration values for TextureProperties field minificationFilter. textureCompressionModeValues are allowed enumeration values for TextureProperties field textureCompression. x3dVersion enumeration constants are used to identify the allowed versions for an X3D scene graph. X3D v3.0 approved by ISO in 2004. X3D v3.1 Amendment 1 approved by ISO in 2005. Backwards compatibility maintained with v3.0. X3D v3.2 Amendment 2 approved by ISO in 2007. Backwards compatibility maintained with v3.0 and v3.1. Table of fields having accessType initializeOnly. Table of fields having accessType inputOnly. These are not otherwise listed in element definitions since they cannot be specified in an .x3d file. Table of fields having accessType outputOnly. These are not otherwise listed in element definitions since they cannot be specified in an .x3d file. Table of fields having accessType inputOutput. Nodes of this type can be used as child nodes for Appearance. Bindable nodes implement the binding stack, so that only one of each node type is active at a given time. X3DBoundedObject indicates that bounding box values can be provided (or computed) for this node and any children. Bounding box values approximate the volume of a containing box in the current coordinate system. Bounding box values can optionally be provided to (or calculated by) 3D browsers. Bounding box values are hints that can improve performance by allowing browsers to inexpensively cull geometry, thus avoiding the computational cost of trying to drawing shapes when they are outside of the current view. A node that implements X3DChildNode is one of the legal children for a X3DGroupingNode parent. Composed geometry nodes produce renderable geometry, can contain Color Coordinate Normal TextureCoordinate, and are contained by a Shape node. X3DField is equivalent to SF (Single Field) simple non-Node types in the VRML 97 Specification. Geometry nodes produce renderable geometry and are contained by a Shape node. Grouping nodes can contain other nodes as children, thus making up the backbone of a scene graph. X3DHumanoidNode enables extensibility for the Humanoid node. Interpolator nodes are designed for linear keyframed animation. Interpolators are driven by an input key ranging [0..1] and produce corresponding piecewise-linear output functions. Light nodes provide illumination for rendering geometry in the scene. containerField='value' for contained payload metadata inside MetadataSet element. watchList All instantiable nodes implement X3DNode, which corresponds to SFNode in the VRML 97 specification. The X3DProductStructureChildNode abstract node type marks nodes that are valid product structure children for the CADInterchange component. Nodes implementing X3DSoundSourceNode are allowed children of Sound node textureProperties textureProperties X3DUrlObject indicates that a node has content loaded from a URL and can be tracked via a LoadSensor. SceneGraphStructureNodeType is a marker interface that identifies nonrenderable nodes relating to scene graph structure. SceneGraphStructureNodeType extends from Base rather than X3DNode since DEF/USE not appropriate for declarations. This complexType will likely not be needed, since integrating ProtoInstance into the content models solves the wildcard and extensibility problems. Child-node content model corresponding to X3DAppearanceChildNode. Appearance can contain FillProperties, LineProperties, Material, any Texture node and any TextureTransform node, in any order. No more than one instance of these nodes is allowed. Appearance may also contain multiple shaders (ComposedShader, PackagedShader, ProgramShader). Child-node content model corresponding to X3DAppearanceChildNode. Appearance can contain FillProperties, LineProperties, Material, TwoSidedMaterial, any Texture node and any TextureTransform node, in any order. No more than one instance of these nodes is allowed. Appearance may also contain multiple shaders (ComposedShader, PackagedShader, ProgramShader). fillProperties lineProperties material material shaders shaders shaders texture texture texture texture texture texture texture texture texture texture textureTransform textureTransform ChildContentModel is the child-node content model corresponding to X3DChildNode, combining all profiles. ChildContentModel can contain most nodes, other Grouping nodes, Prototype declarations and ProtoInstances in any order and any combination. When the assigned profile is less than Full, the precise palette of legal nodes depends on assigned profile and components. children Child-node content model corresponding to X3DChildNode for Core profile. ChildContentModelCore enables the first child of any node to be MetadataDouble, MetadataFloat, MetadataInteger, MetadataSet or MetadataString. Child-node content model corresponding to X3DChildNode for Interchange profile. Child-node content model corresponding to X3DChildNode for Interactive profile. Child-node content model corresponding to X3DChildNode for Immersive profile. Child-node content model corresponding to X3DChildNode for Full profile. Child-node content model corresponding to X3DChildNode for DIS component. Child-node content model corresponding to X3DChildNode for GeoSpatial component. Child-node content model corresponding to X3DChildNode for HumanoidAnimation component. Child-node content model corresponding to X3DChildNode for Nurbs component. Child-node content model corresponding to ProtoInstance in Immersive profile. Child-node content model corresponding to SceneGraphStructure elements, which are not specific X3D nodes. ColorCoordinateContentModel is the child-node content model corresponding to IndexedLineSet, LineSet and PointSet. ColorCoordinateContentModel can contain any-order Coordinate node with Color (or ColorRGBA) node. No more than one instance of any single node type is allowed.