Appendix A: Node Reference |
This section lists all the VRML nodes and their fields. Each definition contains:
- the node's name (e.g. Sphere)
- each field name (e.g. radius)
- default value for each field (e.g. 1)
- the field type (e.g. field)
- field value type (e.g. SFFloat)
- the range of acceptable values (e.g. (0,) indicates that the value must be greater than zero but less than infinity, square brackets indicate an inclusive boundary, e.g. [0,1] means 0 <= value <= 1)
EventIn and eventOut fields cannot be set when writing a VRML node, so are shown in a light type. The symbols on the left of each node name, indicate the type and properties of that node.
Grouping node that has a field containing children nodes. Child node. Typical functions: light source sensor
interpolator (for key-frame animation)
time dependent node (activate and deactivate at specific times)
bindable node (only one node of each type can be bound at a time)
Property node, used in particular fields of child nodes.
node appears in the geometry field of the Shape node
node used within one of the fields of the Appearance node
geometric property node, used within geometry nodes.
Anchor { addChildren # eventIn MFNode removeChildren # eventIn MFNode children [] # exposedField MFNode description "" # exposedField SFString parameter [] # exposedField MFString url [] # exposedField MFString bboxCenter 0 0 0 # field SFVec3f (-,) bboxSize -1 -1 -1 # field SFVec3f (0,) or -1,-1,-1 } | |
Appearance { material NULL # exposedField SFNode texture NULL # exposedField SFNode textureTransform NULL # exposedField SFNode } | |
AudioClip { description "" # exposedField SFString loop FALSE # exposedField SFBool pitch 1.0 # exposedField SFFloat (0,) startTime 0 # exposedField SFTime (-,) stopTime 0 # exposedField SFTime (-,) url [] # exposedField MFString duration_changed # eventOut SFTime isActive # eventOut SFBool } | |
Background { set_bind # eventIn SFBool groundAngle [] # exposedField MFFloat [0,/2] groundColor [] # exposedfield MFColor [0,1] backUrl [] # exposedField MFString bottomUrl [] # exposedField MFString frontUrl [] # exposedField MFString leftUrl [] # exposedField MFString rightUrl [] # exposedField MFString topUrl [] # exposedField MFString skyAngle [] # exposedField MFFloat [0,] skyColor [ 0 0 0 ] # exposedField MFColor [0,1] isBound # eventOut SFBool } | |
Billboard { addChildren # eventIn MFNode removeChildren # eventIn MFNode axisOfRotation 0 1 0 # exposedField SFVec3f (-,) children [] # exposedField MFNode bboxCenter 0 0 0 # field SFVec3f (-,) bboxSize -1 -1 -1 # field SFVec3f (0,) or -1,-1,-1 } | |
Box { size 2 2 2 # field SFVec3f (0,) } | |
Collision { addChildren # eventIn MFNode removeChildren # eventIn MFNode children [] # exposedField MFNode collide TRUE # exposedField SFBool bboxCenter 0 0 0 # field SFVec3f (-,) bboxSize -1 -1 -1 # field SFVec3f (0,) or -1,-1,-1 proxy NULL # field SFNode collideTime # eventOut SFTime } | |
Color { color [] # exposedField MFColor [0,1] } | |
ColorInterpolator { set_fraction # eventIn SFFloat (-,) key [] # exposedField MFFloat (-,) keyValue [] # exposedField MFColor [0,1] value_changed # eventOut SFColor } | |
Cone { bottomRadius 1 # field SFFloat (0,) height 2 # field SFFloat (0,) side TRUE # field SFBool bottom TRUE # field SFBool } | |
Coordinate { point [] # exposedField MFVec3f (-,) } | |
CoordinateInterpolator { set_fraction # eventIn SFFloat (-,) key [] # exposedField MFFloat (-,) keyValue [] # exposedField MFVec3f (-,) value_changed # eventOut MFVec3f } | |
Cylinder { bottom TRUE # field SFBool height 2 # field SFFloat (0,) radius 1 # field SFFloat (0,) side TRUE # field SFBool top TRUE # field SFBool } | |
CylinderSensor { autoOffset TRUE # exposedField SFBool diskAngle 0.262 # exposedField SFFloat (0,/2) enabled TRUE # exposedField SFBool maxAngle -1 # exposedField SFFloat [-2,2] minAngle 0 # exposedField SFFloat [-2,2] offset 0 # exposedField SFFloat (-,) isActive # eventOut SFBool rotation_changed # eventOut SFRotation trackPoint_changed # eventOut SFVec3f } | |
DirectionalLight { ambientIntensity 0 # exposedField SFFloat [0,1] color 1 1 1 # exposedField SFColor [0,1] direction 0 0 -1 # exposedField SFVec3f (-,) intensity 1 # exposedField SFFloat [0,1] on TRUE # exposedField SFBool } | |
ElevationGrid { set_height # eventIn MFFloat color NULL # exposedField SFNode normal NULL # exposedField SFNode texCoord NULL # exposedField SFNode height [] # field MFFloat (-,) ccw TRUE # field SFBool colorPerVertex TRUE # field SFBool creaseAngle 0 # field SFFloat [0,] normalPerVertex TRUE # field SFBool solid TRUE # field SFBool xDimension 0 # field SFInt32 [0,) xSpacing 1.0 # field SFFloat (0,) zDimension 0 # field SFInt32 [0,) zSpacing 1.0 # field SFFloat (0,) } | |
Extrusion { set_crossSection # eventIn MFVec2f set_orientation # eventIn MFRotation set_scale # eventIn MFVec2f set_spine # eventIn MFVec3f beginCap TRUE # field SFBool ccw TRUE # field SFBool convex TRUE # field SFBool creaseAngle 0 # field SFFloat [0,) crossSection [ 1 1, 1 -1, -1 -1, -1 1, 1 1 ] # field MFVec2f (-,) endCap TRUE # field SFBool orientation 0 0 1 0 # field MFRotation [-1,1],(-,) scale 1 1 # field MFVec2f (0,) solid TRUE # field SFBool spine [ 0 0 0, 0 1 0 ] # field MFVec3f (-,) } | |
Fog { color 1 1 1 # exposedField SFColor [0,1] fogType "LINEAR" # exposedField SFString visibilityRange 0 # exposedField SFFloat [0,) set_bind # eventIn SFBool isBound # eventOut SFBool } | |
FontStyle { family ["SERIF"] # field MFString horizontal TRUE # field SFBool justify "BEGIN" # field MFString language "" # field SFString leftToRight TRUE # field SFBool size 1.0 # field SFFloat (0,) spacing 1.0 # field SFFloat [0,) style "PLAIN" # field SFString topToBottom TRUE # field SFBool } | |
Group { addChildren # eventIn MFNode removeChildren # eventIn MFNode children [] # exposedField MFNode bboxCenter 0 0 0 # field SFVec3f (-,) bboxSize -1 -1 -1 # field SFVec3f (0,) or -1,-1,-1 } | |
ImageTexture { url [] # exposedField MFString repeatS TRUE # field SFBool repeatT TRUE # field SFBool } | |
IndexedFaceSet { set_colorIndex # eventIn MFInt32 set_coordIndex # eventIn MFInt32 set_normalIndex # eventIn MFInt32 set_texCoordIndex # eventIn MFInt32 color NULL # exposedField SFNode coord NULL # exposedField SFNode normal NULL # exposedField SFNode texCoord NULL # exposedField SFNode ccw TRUE # field SFBool colorIndex [] # field MFInt32 [-1,) colorPerVertex TRUE # field SFBool convex TRUE # field SFBool coordIndex [] # field MFInt32 [-1,) creaseAngle 0 # field SFFloat [0,) normalIndex [] # field MFInt32 [-1,) normalPerVertex TRUE # field SFBool solid TRUE # field SFBool texCoordIndex [] # field MFInt32 [-1,) } | |
IndexedLineSet { set_colorIndex # eventIn MFInt32 set_coordIndex # eventIn MFInt32 color NULL # exposedField SFNode coord NULL # exposedField SFNode colorIndex [] # field MFInt32 [-1,) colorPerVertex TRUE # field SFBool coordIndex [] # field MFInt32 [-1,) } | |
Inline { url [] # exposedField MFString bboxCenter 0 0 0 # field SFVec3f (-,) bboxSize -1 -1 -1 # field SFVec3f (0,) or -1,-1,-1 } | |
LOD { level [] # exposedField MFNode center 0 0 0 # field SFVec3f (-,) range [] # field MFFloat (0,) } | |
Material { ambientIntensity 0.2 # exposedField SFFloat [0,1] diffuseColor 0.8 0.8 0.8 # exposedField SFColor [0,1] emissiveColor 0 0 0 # exposedField SFColor [0,1] shininess 0.2 # exposedField SFFloat [0,1] specularColor 0 0 0 # exposedField SFColor [0,1] transparency 0 # exposedField SFFloat [0,1] } | |
MovieTexture { loop FALSE # exposedField SFBool speed 1.0 # exposedField SFFloat (-,) startTime 0 # exposedField SFTime (-,) stopTime 0 # exposedField SFTime (-,) url [] # exposedField MFString repeatS TRUE # field SFBool repeatT TRUE # field SFBool duration_changed # eventOut SFTime isActive # eventOut SFBool } | |
NavigationInfo { set_bind # eventIn SFBool avatarSize [0.25, 1.6, 0.75] # exposedField MFFloat [0,) headlight TRUE # exposedField SFBool speed 1.0 # exposedField SFFloat [0,) type ["WALK", "ANY"] # exposedField MFString visibilityLimit 0.0 # exposedField SFFloat [0,) isBound # eventOut SFBool } | |
Normal { vector [] # exposedField MFVec3f (-,) } | |
NormalInterpolator { set_fraction # eventIn SFFloat (-,) key [] # exposedField MFFloat (-,) keyValue [] # exposedField MFVec3f (-,) value_changed # eventOut MFVec3f } | |
OrientationInterpolator { set_fraction # eventIn SFFloat (-,) key [] # exposedField MFFloat (-,) keyValue [] # exposedField MFRotation [-1,1],(-,) value_changed # eventOut SFRotation } | |
PixelTexture { image 0 0 0 # exposedField SFImage repeatS TRUE # field SFBool repeatT TRUE # field SFBool } | |
PlaneSensor { autoOffset TRUE # exposedField SFBool enabled TRUE # exposedField SFBool maxPosition -1 -1 # exposedField SFVec2f (-,) minPosition 0 0 # exposedField SFVec2f (-,) offset 0 0 0 # exposedField SFVec3f (-,) isActive # eventOut SFBool trackPoint_changed # eventOut SFVec3f translation_changed # eventOut SFVec3f } | |
PointLight { ambientIntensity 0 # exposedField SFFloat [0,1] attenuation 1 0 0 # exposedField SFVec3f [0,) color 1 1 1 # exposedField SFColor [0,1] intensity 1 # exposedField SFFloat [0,1] location 0 0 0 # exposedField SFVec3f (-,) on TRUE # exposedField SFBool radius 100 # exposedField SFFloat [0,) } | |
PointSet { color NULL # exposedField SFNode coord NULL # exposedField SFNode } | |
PositionInterpolator { set_fraction # eventIn SFFloat (-,) key [] # exposedField MFFloat (-,) keyValue [] # exposedField MFVec3f (-,) value_changed # eventOut SFVec3f } | |
ProximitySensor { center 0 0 0 # exposedField SFVec3f (-,) size 0 0 0 # exposedField SFVec3f [0,) enabled TRUE # exposedField SFBool isActive # eventOut SFBool position_changed # eventOut SFVec3f orientation_changed # eventOut SFRotation enterTime # eventOut SFTime exitTime # eventOut SFTime } | |
ScalarInterpolator { set_fraction # eventIn SFFloat (-,) key [] # exposedField MFFloat (-,) keyValue [] # exposedField MFFloat (-,) value_changed # eventOut SFFloat } | |
Script { url [] # exposedField MFString directOutput FALSE # field SFBool mustEvaluate FALSE # field SFBool # And any number of: eventName # eventIn eventType fieldName initialValue # field fieldType eventName # eventOut eventType } | |
Shape { appearance NULL # exposedField SFNode geometry NULL # exposedField SFNode } | |
Sound { direction 0 0 1 # exposedField SFVec3f (-,) intensity 1 # exposedField SFFloat [0,1] location 0 0 0 # exposedField SFVec3f (-,) maxBack 10 # exposedField SFFloat [0,) maxFront 10 # exposedField SFFloat [0,) minBack 1 # exposedField SFFloat [0,) minFront 1 # exposedField SFFloat [0,) priority 0 # exposedField SFFloat [0,1] source NULL # exposedField SFNode spatialize TRUE # field SFBool } | |
Sphere { radius 1 # field SFFloat (0,) } | |
SphereSensor { autoOffset TRUE # exposedField SFBool enabled TRUE # exposedField SFBool offset 0 1 0 0 # exposedField SFRotation [-1,1],(-,) isActive # eventOut SFBool rotation_changed # eventOut SFRotation trackPoint_changed # eventOut SFVec3f } | |
SpotLight { ambientIntensity 0 # exposedField SFFloat [0,1] attenuation 1 0 0 # exposedField SFVec3f [0,) beamWidth 1.570796 # exposedField SFFloat (0,/2] color 1 1 1 # exposedField SFColor [0,1] cutOffAngle 0.785398 # exposedField SFFloat (0,/2] direction 0 0 -1 # exposedField SFVec3f (-,) intensity 1 # exposedField SFFloat [0,1] location 0 0 0 # exposedField SFVec3f (-,) on TRUE # exposedField SFBool radius 100 # exposedField SFFloat [0,) } | |
Switch { choice [] # exposedField MFNode whichChoice -1 # exposedField SFInt32 [-1,) } | |
Text { string [] # exposedField MFString fontStyle NULL # exposedField SFNode length [] # exposedField MFFloat [0,) maxExtent 0.0 # exposedField SFFloat [0,) } | |
TextureCoordinate { point [] # exposedField MFVec2f (-,) } | |
TextureTransform { center 0 0 # exposedField SFVec2f (-,) rotation 0 # exposedField SFFloat (-,) scale 1 1 # exposedField SFVec2f (-,) translation 0 0 # exposedField SFVec2f (-,) } | |
TimeSensor { cycleInterval 1 # exposedField SFTime (0,) enabled TRUE # exposedField SFBool loop FALSE # exposedField SFBool startTime 0 # exposedField SFTime (-,) stopTime 0 # exposedField SFTime (-,) cycleTime # eventOut SFTime fraction_changed # eventOut SFFloat isActive # eventOut SFBool time # eventOut SFTime } | |
TouchSensor { enabled TRUE # exposedField SFBool hitNormal_changed # eventOut SFVec3f hitPoint_changed # eventOut SFVec3f hitTexCoord_changed # eventOut SFVec2f isActive # eventOut SFBool isOver # eventOut SFBool touchTime # eventOut SFTime } | |
Transform { addChildren # eventIn MFNode removeChildren # eventIn MFNode center 0 0 0 # exposedField SFVec3f (-,) children [] # exposedField MFNode rotation 0 0 1 0 # exposedField SFRotation [-1,1],(-,) scale 1 1 1 # exposedField SFVec3f (0,) scaleOrientation 0 0 1 0 # exposedField SFRotation [-1,1],(-,) translation 0 0 0 # exposedField SFVec3f (-,) bboxCenter 0 0 0 # field SFVec3f (-,) bboxSize -1 -1 -1 # field SFVec3f (0,) or -1,-1,-1 } | |
Viewpoint { set_bind # eventIn SFBool fieldOfView 0.785398 # exposedField SFFloat (0,) jump TRUE # exposedField SFBool orientation 0 0 1 0 # exposedField SFRotation [-1,1],(-,) position 0 0 10 # exposedField SFVec3f (-,) description "" # field SFString bindTime # eventOut SFTime isBound # eventOut SFBool } | |
VisibilitySensor { center 0 0 0 # exposedField SFVec3f (-,) enabled TRUE # exposedField SFBool size 0 0 0 # exposedField SFVec3f [0,) enterTime # eventOut SFTime exitTime # eventOut SFTime isActive # eventOut SFBool } | |
WorldInfo { info [] # field MFString title "" # field SFString } |
Graphics Multimedia Virtual Environments Visualisation Contents