openvrml Namespace Reference

The OpenVRML Runtime Library. More...

Namespaces

 gl
 OpenGL geometry renderer.
 
 node_impl_util
 Utility classes to facilitate node implementations.
 

Classes

class  axis_aligned_bounding_box
 An axis-aligned bounding box. More...
 
class  bad_media_type
 Thrown when an unexpected media type is received. More...
 
class  bad_url
 Thrown when there is a problem resolving a URI. More...
 
class  bounding_sphere
 A bounding sphere. More...
 
class  bounding_volume
 A bounding volume. More...
 
class  browser
 Encapsulates a VRML browser. More...
 
class  browser_event
 A browser-wide event. More...
 
class  browser_listener
 This class should be inherited by classes that want to listen for browser_events. More...
 
struct  color
 A POD-struct comprising a color. More...
 
struct  color_rgba
 A POD-struct comprising a color with an alpha channel. More...
 
struct  color_rgba_parser
 The implementation of the openvrml::color_rgba_p functor parser. More...
 
class  event_emitter
 Abstract base class of event emitters. More...
 
class  event_listener
 Abstract base class of event listeners. More...
 
class  exposedfield
 Class template to simplify implementation of exposedFields. More...
 
class  field_value
 Abstract base class for the VRML field types. More...
 
class  field_value_emitter
 Concrete event emitter template. More...
 
class  field_value_listener
 Concrete event listener template. More...
 
struct  FieldValueConcept
 Concept checking class to validate that a template parameter is a model of the Field Value concept. More...
 
class  frustum
 A view frustum. More...
 
class  image
 Pixmap data. More...
 
class  invalid_url
 Thrown when parsing a URI fails. More...
 
class  invalid_vrml
 Exception thrown when the parser fails due to errors in the VRML input. More...
 
struct  mat4f
 A POD-struct comprising a 4x4 matrix. More...
 
class  mfbool
 A bool array node field value. More...
 
class  mfcolor
 A color array node field value. More...
 
class  mfcolorrgba
 A color_rgba array node field value. More...
 
class  mfdouble
 A double array node field value. More...
 
class  mffloat
 A float array node field value. More...
 
class  mfimage
 A image array node field value. More...
 
class  mfint32
 An integer array node field value. More...
 
class  mfnode
 A node reference array node field value. More...
 
class  mfrotation
 A rotation array node field value. More...
 
class  mfstring
 A string array node field value. More...
 
class  mftime
 A double array node field value. More...
 
class  mfvec2d
 A 2-component vector array node field value. More...
 
class  mfvec2f
 A 2-component vector array node field value. More...
 
class  mfvec3d
 A 3-component vector array node field value. More...
 
class  mfvec3f
 A 3-component vector array node field value. More...
 
class  no_alternative_url
 Exception thrown when no URI in an alternative URI list can be resolved. More...
 
class  node_event_listener
 Base class for event listeners of nodes. More...
 
class  node_field_value_listener
 Base class for field_value_listeners that are members of nodes. More...
 
class  node_metatype_registry
 Registry for node_metatypes. More...
 
struct  null_vrml97_parse_actions
 No-op semantic actions for vrml97_grammar. More...
 
struct  null_x3d_vrml_parse_actions
 No-op semantic actions for x3d_vrml_grammar. More...
 
struct  quatf
 A POD-struct comprising a quaternion. More...
 
class  rendering_context
 Information needed during a render traversal. More...
 
class  resource_fetcher
 An abstract factory for resource_istreams. More...
 
class  resource_istream
 An abstract input stream for network resources. More...
 
struct  rotation
 A POD-struct comprising a rotation. More...
 
class  scene
 A scene in the VRML world. More...
 
class  scope
 The scope class keeps track of defined nodes and prototypes. More...
 
class  script
 Abstract class implemented by scripting language bindings. More...
 
class  script_factory
 An abstract factory for scripts. More...
 
class  script_factory_registry
 Registry of script_factories. More...
 
class  script_node
 Represents a VRML Script node. More...
 
class  script_node_metatype
 Class object for script_nodes. More...
 
class  sfbool
 A boolean node field value. More...
 
class  sfcolor
 A color node field value. More...
 
class  sfcolorrgba
 A color_rgba node field value. More...
 
class  sfdouble
 A single precision doubleing point node field value. More...
 
class  sffloat
 A single precision floating point node field value. More...
 
class  sfimage
 A pixmap. More...
 
class  sfint32
 A 32-bit integer node field value. More...
 
class  sfnode
 A node field value to hold a single node reference. More...
 
class  sfrotation
 A rotation node field value. More...
 
class  sfstring
 A string node field value. More...
 
class  sftime
 A double precision floating point node field value. More...
 
class  sfvec2d
 A 2-component vector node field value. More...
 
class  sfvec2f
 A 2-component vector node field value. More...
 
class  sfvec3d
 A 3-component vector node field value. More...
 
class  sfvec3f
 A 3-component vector node field value. More...
 
class  stream_listener
 An interface to simplify asynchronously reading a resource_istream. More...
 
class  unreachable_url
 Thrown when a URI cannot be reached. More...
 
class  unsupported_interface
 Exception to indicate that a node interface is not supported. More...
 
struct  vec2d
 Two-component double-precision vector. More...
 
struct  vec2d_parser
 The implementation of the openvrml::vec2d_p functor parser. More...
 
struct  vec2f
 A POD-struct comprising a two-component single-precision vector. More...
 
struct  vec3d
 A POD-struct comprising a three-component double-precision vector. More...
 
struct  vec3d_parser
 The implementation of the openvrml::vec3d_p functor parser. More...
 
struct  vec3f
 Three-component single-precision vector. More...
 
class  viewer
 Map the scene graph to the underlying graphics library. More...
 
class  viewer_in_use
 Exception thrown when attempting to associate a viewer with a browser when the viewer is already associated with a browser. More...
 
struct  vrml97_grammar
 A Spirit grammar for parsing VRML97. More...
 
struct  vrml97_parse_error_handler
 A Spirit error handler that emits error and warning messages to a std::ostream. More...
 
struct  vrml97_skip_grammar
 A Spirit grammar appropriate for use as a skip parser for VRML97 and VRML-encoded X3D. More...
 
struct  vrml97_space_parser
 A Spirit space parser appropriate for use with VRML97 and VRML-encoded X3D. More...
 
struct  x3d_vrml_grammar
 A Spirit grammar for parsing Classic VRML X3D. More...
 
struct  x3d_vrml_parse_error_handler
 A Spirit error handler that emits error and warning messages to a std::ostream. More...
 

Typedefs

typedef boost::int32_t int32
 32-bit signed integer. More...
 
typedef void(* register_node_metatypes_func) (node_metatype_registry &)
 The signature of the node module entry point. More...
 
typedef field_value_listener< sfboolsfbool_listener
 sfbool event listener. More...
 
typedef field_value_listener< sfcolorsfcolor_listener
 sfcolor event listener. More...
 
typedef field_value_listener< sfcolorrgbasfcolorrgba_listener
 sfcolorrgba event listener. More...
 
typedef field_value_listener< sffloatsffloat_listener
 sffloat event listener. More...
 
typedef field_value_listener< sfdoublesfdouble_listener
 sfdouble event listener. More...
 
typedef field_value_listener< sfimagesfimage_listener
 sfimage event listener. More...
 
typedef field_value_listener< sfint32sfint32_listener
 sfint32 event listener. More...
 
typedef field_value_listener< sfnodesfnode_listener
 sfnode event listener. More...
 
typedef field_value_listener< sfrotationsfrotation_listener
 sfrotation event listener. More...
 
typedef field_value_listener< sfstringsfstring_listener
 sfstring event listener. More...
 
typedef field_value_listener< sftimesftime_listener
 sftime event listener. More...
 
typedef field_value_listener< sfvec2fsfvec2f_listener
 sfvec2f event listener. More...
 
typedef field_value_listener< sfvec2dsfvec2d_listener
 sfvec2d event listener. More...
 
typedef field_value_listener< sfvec3fsfvec3f_listener
 sfvec3f event listener. More...
 
typedef field_value_listener< sfvec3dsfvec3d_listener
 sfvec3d event listener. More...
 
typedef field_value_listener< mfboolmfbool_listener
 mfbool event listener. More...
 
typedef field_value_listener< mfcolormfcolor_listener
 mfcolor event listener. More...
 
typedef field_value_listener< mfcolorrgbamfcolorrgba_listener
 mfcolorrgba event listener. More...
 
typedef field_value_listener< mffloatmffloat_listener
 mffloat event listener. More...
 
typedef field_value_listener< mfdoublemfdouble_listener
 mfdouble event listener. More...
 
typedef field_value_listener< mfimagemfimage_listener
 mfimage event listener. More...
 
typedef field_value_listener< mfint32mfint32_listener
 mfint32 event listener. More...
 
typedef field_value_listener< mfnodemfnode_listener
 mfnode event listener. More...
 
typedef field_value_listener< mfrotationmfrotation_listener
 mfrotation event listener. More...
 
typedef field_value_listener< mfstringmfstring_listener
 mfstring event listener. More...
 
typedef field_value_listener< mftimemftime_listener
 mftime event listener. More...
 
typedef field_value_listener< mfvec2fmfvec2f_listener
 mfvec2f event listener. More...
 
typedef field_value_listener< mfvec2dmfvec2d_listener
 mfvec2d event listener. More...
 
typedef field_value_listener< mfvec3fmfvec3f_listener
 mfvec3f event listener. More...
 
typedef field_value_listener< mfvec3dmfvec3d_listener
 mfvec3d event listener. More...
 
typedef field_value_emitter< sfboolsfbool_emitter
 sfbool event emitter. More...
 
typedef field_value_emitter< sfcolorsfcolor_emitter
 sfcolor event emitter. More...
 
typedef field_value_emitter< sfcolorrgbasfcolorrgba_emitter
 sfcolorrgba event emitter. More...
 
typedef field_value_emitter< sffloatsffloat_emitter
 sffloat event emitter. More...
 
typedef field_value_emitter< sfdoublesfdouble_emitter
 sfdouble event emitter. More...
 
typedef field_value_emitter< sfimagesfimage_emitter
 sfimage event emitter. More...
 
typedef field_value_emitter< sfint32sfint32_emitter
 sfint32 event emitter. More...
 
typedef field_value_emitter< sfnodesfnode_emitter
 sfnode event emitter. More...
 
typedef field_value_emitter< sfrotationsfrotation_emitter
 sfrotation event emitter. More...
 
typedef field_value_emitter< sfstringsfstring_emitter
 sfstring event emitter. More...
 
typedef field_value_emitter< sftimesftime_emitter
 sftime event emitter. More...
 
typedef field_value_emitter< sfvec2fsfvec2f_emitter
 sfvec2f event emitter. More...
 
typedef field_value_emitter< sfvec2dsfvec2d_emitter
 sfvec2d event emitter. More...
 
typedef field_value_emitter< sfvec3fsfvec3f_emitter
 sfvec3f event emitter. More...
 
typedef field_value_emitter< sfvec3dsfvec3d_emitter
 sfvec3d event emitter. More...
 
typedef field_value_emitter< mfboolmfbool_emitter
 mfbool event emitter. More...
 
typedef field_value_emitter< mfcolormfcolor_emitter
 mfcolor event emitter. More...
 
typedef field_value_emitter< mfcolorrgbamfcolorrgba_emitter
 mfcolorrgba event emitter. More...
 
typedef field_value_emitter< mffloatmffloat_emitter
 mffloat event emitter. More...
 
typedef field_value_emitter< mfdoublemfdouble_emitter
 mfdouble event emitter. More...
 
typedef field_value_emitter< mfint32mfint32_emitter
 mfint32 event emitter. More...
 
typedef field_value_emitter< mfimagemfimage_emitter
 mfimage event emitter. More...
 
typedef field_value_emitter< mfnodemfnode_emitter
 mfnode event emitter. More...
 
typedef field_value_emitter< mfrotationmfrotation_emitter
 mfrotation event emitter. More...
 
typedef field_value_emitter< mfstringmfstring_emitter
 mfstring event emitter. More...
 
typedef field_value_emitter< mftimemftime_emitter
 mftime event emitter. More...
 
typedef field_value_emitter< mfvec2fmfvec2f_emitter
 mfvec2f event emitter. More...
 
typedef field_value_emitter< mfvec2dmfvec2d_emitter
 mfvec2d event emitter. More...
 
typedef field_value_emitter< mfvec3fmfvec3f_emitter
 mfvec3f event emitter. More...
 
typedef field_value_emitter< mfvec3dmfvec3d_emitter
 mfvec3d event emitter. More...
 

Enumerations

Functions

const color make_color () throw ()
 Create a zero-initialized color. More...
 
const color make_color (const float(&rgb)[3]) throw ()
 Create a color. More...
 
const color make_color (float r, float g, float b) throw ()
 Create a color. More...
 
bool operator== (const color &lhs, const color &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const color &lhs, const color &rhs) throw ()
 Compare for inequality. More...
 
std::istream & operator>> (std::istream &in, color &c)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const color &c)
 Stream output. More...
 
const color_rgba make_color_rgba () throw ()
 Create a zero-initialized color_rgba. More...
 
const color_rgba make_color_rgba (const float(&rgba)[4]) throw ()
 Create a color_rgba. More...
 
const color_rgba make_color_rgba (float r, float g, float b, float a) throw ()
 Create a color_rgba. More...
 
bool operator== (const color_rgba &lhs, const color_rgba &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const color_rgba &lhs, const color_rgba &rhs) throw ()
 Compare for inequality. More...
 
std::istream & operator>> (std::istream &in, color_rgba &c)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const color_rgba &c)
 Stream output. More...
 
const vec2f make_vec2f () throw ()
 Create a vec2f. More...
 
const vec2f make_vec2f (const float(&vec)[2]) throw ()
 Create a vec2f from an array. More...
 
const vec2f make_vec2f (float x, float y) throw ()
 Create a vec2f from x and y components. More...
 
const vec2f operator* (const vec2f &lhs, float rhs) throw ()
 Multiply a vector by a scalar. More...
 
const vec2f operator* (float lhs, const vec2f &rhs) throw ()
 Multiply a vector by a scalar. More...
 
const vec2f operator/ (const vec2f &lhs, float rhs) throw ()
 Divide a vector by a scalar. More...
 
const vec2f operator+ (const vec2f &lhs, const vec2f &rhs) throw ()
 Add two vectors. More...
 
const vec2f operator- (const vec2f &lhs, const vec2f &rhs) throw ()
 Subtract two vectors. More...
 
bool operator== (const vec2f &lhs, const vec2f &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const vec2f &lhs, const vec2f &rhs) throw ()
 Compare for inequality. More...
 
std::istream & operator>> (std::istream &in, vec2f &v)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const vec2f &v)
 Stream output. More...
 
const vec2d make_vec2d () throw ()
 Create a vec2d. More...
 
const vec2d make_vec2d (const double(&vec)[2]) throw ()
 Create a vec2d from an array. More...
 
const vec2d make_vec2d (double x, double y) throw ()
 Create a vec2d from x and y components. More...
 
const vec2d operator* (const vec2d &lhs, double rhs) throw ()
 Multiply a vector by a scalar. More...
 
const vec2d operator* (double lhs, const vec2d &rhs) throw ()
 Multiply a vector by a scalar. More...
 
const vec2d operator/ (const vec2d &lhs, double rhs) throw ()
 Divide a vector by a scalar. More...
 
const vec2d operator+ (const vec2d &lhs, const vec2d &rhs) throw ()
 Add two vectors. More...
 
const vec2d operator- (const vec2d &lhs, const vec2d &rhs) throw ()
 Subtract two vectors. More...
 
bool operator== (const vec2d &lhs, const vec2d &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const vec2d &lhs, const vec2d &rhs) throw ()
 Compare for inequality. More...
 
std::istream & operator>> (std::istream &in, vec2d &v)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const vec2d &v)
 Stream output. More...
 
const vec3f make_vec3f () throw ()
 Create a vec3f. More...
 
const vec3f make_vec3f (const float(&vec)[3]) throw ()
 Create a vec3f from an array. More...
 
const vec3f make_vec3f (float x, float y, float z) throw ()
 Create a vec3f from x, y, and z components. More...
 
const vec3f operator* (const vec3f &lhs, const vec3f &rhs) throw ()
 Cross multiply two vectors. More...
 
const vec3f operator* (const vec3f &lhs, float rhs) throw ()
 Multiply a vector by a scalar. More...
 
const vec3f operator* (float lhs, const vec3f &rhs) throw ()
 Multiply a vector by a scalar. More...
 
const vec3f operator* (const vec3f &lhs, const mat4f &mat) throw ()
 Multiply a vector by a matrix. More...
 
const vec3f operator* (const mat4f &mat, const vec3f &vec) throw ()
 Multiply a matrix by a vector. More...
 
const vec3f operator/ (const vec3f &lhs, float rhs) throw ()
 Divide a vector by a scalar. More...
 
const vec3f operator+ (const vec3f &lhs, const vec3f &rhs) throw ()
 Add two vectors. More...
 
const vec3f operator- (const vec3f &lhs, const vec3f &rhs) throw ()
 Subtract two vectors. More...
 
bool operator== (const vec3f &lhs, const vec3f &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const vec3f &lhs, const vec3f &rhs) throw ()
 Compare for inequality. More...
 
std::istream & operator>> (std::istream &in, vec3f &v)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const vec3f &v)
 Stream output. More...
 
const vec3d make_vec3d () throw ()
 Create a vec3d. More...
 
const vec3d make_vec3d (const double(&vec)[3]) throw ()
 Create a vec3d from an array. More...
 
const vec3d make_vec3d (double x, double y, double z) throw ()
 Create a vec3d from x, y, and z components. More...
 
const vec3d operator* (const vec3d &lhs, const vec3d &rhs) throw ()
 Cross multiply two vectors. More...
 
const vec3d operator* (const vec3d &lhs, double rhs) throw ()
 Multiply a vector by a scalar. More...
 
const vec3d operator* (double lhs, const vec3d &rhs) throw ()
 Multiply a vector by a scalar. More...
 
const vec3d operator* (const vec3d &lhs, const mat4f &mat) throw ()
 Multiply a vector by a matrix. More...
 
const vec3d operator* (const mat4f &mat, const vec3d &vec) throw ()
 Multiply a matrix by a vector. More...
 
const vec3d operator/ (const vec3d &lhs, double rhs) throw ()
 Divide a vector by a scalar. More...
 
const vec3d operator+ (const vec3d &lhs, const vec3d &rhs) throw ()
 Add two vectors. More...
 
const vec3d operator- (const vec3d &lhs, const vec3d &rhs) throw ()
 Subtract two vectors. More...
 
bool operator== (const vec3d &lhs, const vec3d &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const vec3d &lhs, const vec3d &rhs) throw ()
 Compare for inequality. More...
 
std::istream & operator>> (std::istream &in, vec3d &v)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const vec3d &v)
 Stream output. More...
 
const rotation make_rotation () throw ()
 Create a default rotation. More...
 
const rotation make_rotation (const float(&rot)[4]) throw ()
 Create a rotation from an array. More...
 
const rotation make_rotation (float x, float y, float z, float angle) throw ()
 Create a rotation from x, y, z, and angle components. More...
 
const rotation make_rotation (const vec3f &axis, float angle) throw ()
 Create a rotation from an axis vector and an angle. More...
 
const rotation make_rotation (const vec3f &from_vec, const vec3f &to_vec) throw ()
 Create a rotation equal to the rotation between two different vectors. More...
 
const rotation make_rotation (const quatf &quat) throw ()
 Create a rotation from a quaternion. More...
 
const rotation operator* (const rotation &lhs, const rotation &rhs) throw ()
 Multiply rotations. More...
 
bool operator== (const rotation &lhs, const rotation &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const rotation &lhs, const rotation &rhs) throw ()
 Compare for inequality. More...
 
std::istream & operator>> (std::istream &in, rotation &rot)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const rotation &r)
 Stream output. More...
 
const mat4f make_mat4f () throw ()
 Create an identity matrix. More...
 
const mat4f make_mat4f (float f11, float f12, float f13, float f14, float f21, float f22, float f23, float f24, float f31, float f32, float f33, float f34, float f41, float f42, float f43, float f44) throw ()
 Create a mat4f with given 16 elements in row-major order. More...
 
const mat4f make_mat4f (const float mat[16]) throw ()
 Create a matrix from an array of 16 values. More...
 
const mat4f make_mat4f (const float(&mat)[4][4]) throw ()
 Create a matrix from a 4x4 array. More...
 
const mat4f make_rotation_mat4f (const rotation &rot) throw ()
 Create a rotation matrix. More...
 
const mat4f make_rotation_mat4f (const quatf &quat) throw ()
 Create a rotation matrix. More...
 
const mat4f make_scale_mat4f (float s) throw ()
 Create a uniform scale matrix. More...
 
const mat4f make_scale_mat4f (const vec3f &s) throw ()
 Create a scale matrix. More...
 
const mat4f make_translation_mat4f (const vec3f &t) throw ()
 Create a translation matrix. More...
 
const mat4f make_transformation_mat4f (const vec3f &t, const rotation &r, const vec3f &s, const rotation &sr, const vec3f &c) throw ()
 Create a transformation matrix from a translation, a rotation, a scale, a scaleOrientation, and a center. More...
 
bool operator== (const mat4f &lhs, const mat4f &rhs) throw ()
 Equality comparison operator. More...
 
bool operator!= (const mat4f &lhs, const mat4f &rhs) throw ()
 Inequality comparison operator. More...
 
const mat4f operator* (const mat4f &lhs, const mat4f &rhs) throw ()
 Multiply two matrices. More...
 
const mat4f operator* (const mat4f &mat, float scalar) throw ()
 Multiply a matrix by a scalar value. More...
 
const mat4f operator* (float scalar, const mat4f &mat) throw ()
 Multiply a scalar value by matrix. More...
 
std::istream & operator>> (std::istream &in, mat4f &mat)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const mat4f &mat)
 Stream output. More...
 
const quatf make_quatf () throw ()
 Create a default quatf. More...
 
const quatf make_quatf (float x, float y, float z, float w) throw ()
 Create a quatf from four values. More...
 
const quatf make_quatf (const float(&quat)[4]) throw ()
 Create a quatf from an array of four values. More...
 
const quatf make_quatf (const rotation &rot) throw ()
 Create a quatf from a rotation. More...
 
const quatf make_quatf (const mat4f &mat) throw ()
 Create a quatf from a rotation matrix. More...
 
const quatf operator* (const quatf &lhs, const quatf &rhs) throw ()
 Multiply two quaternions. More...
 
const quatf operator* (const quatf &quat, const float scalar) throw ()
 Multiply a quaternion by a scalar. More...
 
const quatf operator* (const float scalar, const quatf &quat) throw ()
 Multiply a scalar by a quaternion. More...
 
const quatf operator/ (const quatf &quat, const float scalar) throw ()
 Divide a quaternion by a scalar. More...
 
const quatf operator+ (const quatf &lhs, const quatf &rhs) throw ()
 Add two quaternions. More...
 
const quatf operator- (const quatf &lhs, const quatf &rhs) throw ()
 Take the difference between two quaternions. More...
 
bool operator== (const quatf &lhs, const quatf &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const quatf &lhs, const quatf &rhs) throw ()
 Compare for inequality. More...
 
std::istream & operator>> (std::istream &in, quatf &q)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const quatf &quat)
 Stream output. More...
 
bool operator== (const image &lhs, const image &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const image &lhs, const image &rhs) throw ()
 Compare for inequality. More...
 
std::istream & operator>> (std::istream &in, image &img)
 Stream input. More...
 
std::ostream & operator<< (std::ostream &out, const image &img)
 Stream output. More...
 
std::auto_ptr< node_type_decls > profile (const std::string &profile_id) throw ( std::invalid_argument , std::bad_alloc )
 Get a node_type_decls map corresponding to a particular profile. More...
 
void add_component (node_type_decls &node_types, const std::string &component_id, size_t level) throw ( std::invalid_argument , std::bad_alloc )
 Add the nodes corresponding to a component level to a node_type_decls map. More...
 
std::ostream & operator<< (std::ostream &out, const field_value &value)
 Stream output. More...
 
std::ostream & operator<< (std::ostream &out, field_value::type_id type_id)
 Stream output. More...
 
std::istream & operator>> (std::istream &in, field_value::type_id &type_id)
 Stream input. More...
 
bool operator== (const sfbool &lhs, const sfbool &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfbool &lhs, const sfbool &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfcolor &lhs, const sfcolor &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfcolor &lhs, const sfcolor &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfcolorrgba &lhs, const sfcolorrgba &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfcolorrgba &lhs, const sfcolorrgba &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sffloat &lhs, const sffloat &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sffloat &lhs, const sffloat &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfdouble &lhs, const sfdouble &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfdouble &lhs, const sfdouble &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfimage &lhs, const sfimage &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfimage &lhs, const sfimage &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfint32 &lhs, const sfint32 &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfint32 &lhs, const sfint32 &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfnode &lhs, const sfnode &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfnode &lhs, const sfnode &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfrotation &lhs, const sfrotation &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfrotation &lhs, const sfrotation &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfstring &lhs, const sfstring &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfstring &lhs, const sfstring &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sftime &lhs, const sftime &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sftime &lhs, const sftime &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfvec2f &lhs, const sfvec2f &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfvec2f &lhs, const sfvec2f &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfvec2d &lhs, const sfvec2d &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfvec2d &lhs, const sfvec2d &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfvec3f &lhs, const sfvec3f &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfvec3f &lhs, const sfvec3f &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const sfvec3d &lhs, const sfvec3d &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const sfvec3d &lhs, const sfvec3d &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfbool &lhs, const mfbool &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfbool &lhs, const mfbool &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfcolor &lhs, const mfcolor &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfcolor &lhs, const mfcolor &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfcolorrgba &lhs, const mfcolorrgba &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfcolorrgba &lhs, const mfcolorrgba &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mffloat &lhs, const mffloat &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mffloat &lhs, const mffloat &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfdouble &lhs, const mfdouble &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfdouble &lhs, const mfdouble &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfimage &lhs, const mfimage &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfimage &lhs, const mfimage &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfint32 &lhs, const mfint32 &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfint32 &lhs, const mfint32 &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfnode &lhs, const mfnode &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfnode &lhs, const mfnode &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfrotation &lhs, const mfrotation &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfrotation &lhs, const mfrotation &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfstring &lhs, const mfstring &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfstring &lhs, const mfstring &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mftime &lhs, const mftime &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mftime &lhs, const mftime &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfvec2f &lhs, const mfvec2f &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfvec2f &lhs, const mfvec2f &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfvec2d &lhs, const mfvec2d &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfvec2d &lhs, const mfvec2d &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfvec3f &lhs, const mfvec3f &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfvec3f &lhs, const mfvec3f &rhs) throw ()
 Compare for inequality. More...
 
bool operator== (const mfvec3d &lhs, const mfvec3d &rhs) throw ()
 Compare for equality. More...
 
bool operator!= (const mfvec3d &lhs, const mfvec3d &rhs) throw ()
 Compare for inequality. More...
 
const std::string path (const scope &s) throw ( std::bad_alloc )
 
const char * vrml97_parse_error_msg (const vrml_parse_error error)
 Get the error message associated with a vrml_parse_error. More...
 
const char * x3d_vrml_parse_error_msg (const vrml_parse_error error)
 Get the error messages associated with a vrml_parse_error. More...
 

Variables

const char vrml_media_type [11] = "model/vrml"
 VRML MIME media type. More...
 
const char x_vrml_media_type [15] = "x-world/x-vrml"
 Experimental VRML MIME media type. More...
 
const char x3d_vrml_media_type [15] = "model/x3d-vrml"
 X3D VRML MIME media type. More...
 
const vrml97_space_parser vrml97_space_p = vrml97_space_parser()
 A Spirit space parser appropriate for use with VRML97 and VRML-encoded X3D. More...
 
const vrml_parse_error profile_expected = vrml_parse_error_end
 The PROFILE keyword was expected. More...
 
const vrml_parse_error unrecognized_profile_id
 The profile identifier was not recognized as a supported profile. More...
 
const vrml_parse_error unrecognized_component_id_or_level
 The component identifier was unrecognized or the component level is unsupported. More...
 
const vrml_parse_error colon_expected
 A “:” was expected. More...
 
const vrml_parse_error bool_or_lbracket_expected
 A boolean value (i.e., TRUE or FALSE) or “[” was expected. More...
 
const vrml_parse_error bool_or_rbracket_expected
 A boolean value (i.e., TRUE or FALSE) or “]” was expected. More...
 
const vrml_parse_error color_rgba_expected
 An RGBA color value was expected. More...
 
const vrml_parse_error color_rgba_or_lbracket_expected
 An RGBA color value or “[” was expected. More...
 
const vrml_parse_error color_rgba_or_rbracket_expected
 An RGBA color value or “]” was expected. More...
 
const vrml_parse_error eventin_deprecated
 The eventIn keyword is deprecated. More...
 
const vrml_parse_error eventout_deprecated
 The eventOut keyword is deprecated. More...
 
const vrml_parse_error exposedfield_deprecated
 The exposedField keyword is deprecated. More...
 
const vrml_parse_error field_deprecated
 The field keyword is deprecated. More...
 
const boost::spirit::classic::functor_parser< color_rgba_parsercolor_rgba_p
 A Spirit parser for RGBA color values. More...
 
const boost::spirit::classic::functor_parser< vec2d_parservec2d_p
 A Spirit parser for double-precision 2-component vector values. More...
 
const boost::spirit::classic::functor_parser< vec3d_parservec3d_p
 A Spirit parser for double-precision 3-component vector values. More...
 

Detailed Description

The OpenVRML Runtime Library.

Typedef Documentation

32-bit signed integer.

void(* openvrml::register_node_metatypes_func)(openvrml::node_metatype_registry &)

The signature of the node module entry point.

A node module should have a function with this signature named openvrml_register_node_metatypes.

sfbool event listener.

sfcolor event listener.

sfcolorrgba event listener.

sffloat event listener.

sfdouble event listener.

sfimage event listener.

sfnode event listener.

sfrotation event listener.

sfstring event listener.

sftime event listener.

mfbool event listener.

mfcolor event listener.

mfcolorrgba event listener.

mffloat event listener.

mfdouble event listener.

mfimage event listener.

mfnode event listener.

mfrotation event listener.

mfstring event listener.

mftime event listener.

sfbool event emitter.

sfcolor event emitter.

sfcolorrgba event emitter.

sffloat event emitter.

sfdouble event emitter.

sfimage event emitter.

sfnode event emitter.

sfrotation event emitter.

sfstring event emitter.

sftime event emitter.

mfbool event emitter.

mfcolor event emitter.

mfcolorrgba event emitter.

mffloat event emitter.

mfdouble event emitter.

mfimage event emitter.

mfnode event emitter.

mfrotation event emitter.

mfstring event emitter.

mftime event emitter.

Enumeration Type Documentation

Identifiers used to designate parse error conditions.

Enumerator
dot_expected 

A “.” was expected.

lbrace_expected 

A “{” was expected.

lbracket_expected 

A “[” was expected.

id_expected 

An identifier was expected.

to_expected 

The TO keyword was expected.

is_expected 

The IS keyword was expected.

interface_type_or_rbracket_expected 

An interface type or “]” was expected.

field_type_expected 

A field type was expected.

bool_expected 

A keyword TRUE or FALSE was expected.

color_expected 

A color value was expected.

color_or_lbracket_expected 

A color value or “[” was expected.

color_or_rbracket_expected 

A color value or “]” was expected.

float_expected 

A floating-point value was expected.

float_or_lbracket_expected 

A floating-point value or “[” was expected.

float_or_rbracket_expected 

A floating-point value or “]” was expected.

int32_expected 

A integer value was expected.

int32_or_lbracket_expected 

A integer value or “[” was expected.

int32_or_rbracket_expected 

A integer value or “]” was expected.

rotation_expected 

A rotation value was expected.

rotation_or_lbracket_expected 

A rotation value or “[” was expected.

rotation_or_rbracket_expected 

A rotation value or “]” was expected.

string_expected 

A string value was expected.

string_or_lbracket_expected 

A string value or “[” was expected.

string_or_rbracket_expected 

A string value or “]” was expected.

vec2_expected 

A 2-component vector value was expected.

vec2_or_lbracket_expected 

A 2-component vector value or “[” was expected.

vec2_or_rbracket_expected 

A 2-component vector value or “]” was expected.

vec3_expected 

A 3-component vector value was expected.

vec3_or_lbracket_expected 

A 3-component vector value or “[” was expected.

vec3_or_rbracket_expected 

A 3-component vector value or “]” was expected.

node_expected 

A node was expected.

node_or_lbracket_expected 

A node or “[” was expected.

node_or_rbracket_expected 

A node or “]” was expected.

interface_collision 

An interface conflicts with one that was previously declared.

unknown_node_type_id 

Encountered an unknown node type identifier.

Function Documentation

const openvrml::color make_color ( )
throw (
)

Create a zero-initialized color.

Returns
a zero-initialized color.
const openvrml::color make_color ( const float(&)  rgb[3])
throw (
)

Create a color.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]rgban array comprising red, green, and blue components.
Returns
a color.
const openvrml::color make_color ( float  r,
float  g,
float  b 
)
throw (
)

Create a color.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]rred component.
[in]ggreen component.
[in]bblue component.
Returns
a color.
bool operator== ( const color lhs,
const color rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const color lhs,
const color rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
std::istream & operator>> ( std::istream &  in,
color c 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

If any of the color components is outside the the range [0.0, 1.0], the failbit will be set on in and c will be left in an arbitrary state.

Parameters
[in,out]ininput stream.
[out]ca color.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const color c 
)

Stream output.

Parameters
[in,out]outoutput stream.
[in]ca color.
Returns
out.
Examples:
pretty_print.cpp.
const openvrml::color_rgba make_color_rgba ( )
throw (
)

Create a zero-initialized color_rgba.

Returns
a zero-initialized color_rgba.
const openvrml::color_rgba make_color_rgba ( const float(&)  rgba[4])
throw (
)

Create a color_rgba.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]rgbaan array comprising red, green, blue, and alpha components.
Returns
a color_rgba.
const openvrml::color_rgba make_color_rgba ( float  r,
float  g,
float  b,
float  a 
)
throw (
)

Create a color_rgba.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]rred component.
[in]ggreen component.
[in]bblue component.
[in]aalpha component.
Returns
a color_rgba.
bool operator== ( const color_rgba lhs,
const color_rgba rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const color_rgba lhs,
const color_rgba rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs dot not have the same value; false otherwise.
std::istream & operator>> ( std::istream &  in,
color_rgba c 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

If any of the color components is outside the the range [0.0, 1.0], the failbit will be set on in and c will be left in an arbitrary state.

Parameters
[in,out]ininput stream.
[out]ca color_rgba.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const color_rgba c 
)

Stream output.

Parameters
[in,out]outoutput stream.
[in]ca color_rgba.
Returns
out.
const openvrml::vec2f make_vec2f ( )
throw (
)

Create a vec2f.

Returns
a zero-initialized vec2f.
const openvrml::vec2f make_vec2f ( const float(&)  vec[2])
throw (
)

Create a vec2f from an array.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Precondition
Elements of vec are valid numeric values (i.e., not NaN).
Parameters
[in]vecan array comprising the vector components.
Returns
a vec2f with the values in vec.
const openvrml::vec2f make_vec2f ( float  x,
float  y 
)
throw (
)

Create a vec2f from x and y components.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Precondition
x and y are valid numeric values (i.e., not NaN).
Parameters
[in]xx component.
[in]yy component.
Returns
a vec2f with the values x and y.
const openvrml::vec2f operator* ( const vec2f lhs,
float  rhs 
)
throw (
)

Multiply a vector by a scalar.

Parameters
[in]lhsleft-hand operand (the vector).
[in]rhsright-hand operand (the scalar).
Returns
the result vector.
const openvrml::vec2f operator* ( float  lhs,
const vec2f rhs 
)
throw (
)

Multiply a vector by a scalar.

Parameters
[in]lhsleft-hand operand (the scalar).
[in]rhsright-hand operand (the vector).
Returns
the result vector.
const openvrml::vec2f operator/ ( const vec2f lhs,
float  rhs 
)
throw (
)

Divide a vector by a scalar.

Precondition
rhs is nonzero.
Parameters
[in]lhsleft-hand operand (the vector).
[in]rhsright-hand operand (the scalar).
Returns
the result vector.
const openvrml::vec2f operator+ ( const vec2f lhs,
const vec2f rhs 
)
throw (
)

Add two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
const openvrml::vec2f operator- ( const vec2f lhs,
const vec2f rhs 
)
throw (
)

Subtract two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
bool operator== ( const vec2f lhs,
const vec2f rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const vec2f lhs,
const vec2f rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs dot not have the same value; false otherwise.
std::istream & operator>> ( std::istream &  in,
vec2f v 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

Parameters
[in,out]ininput stream.
[out]va vec2f.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const vec2f v 
)

Stream output.

Parameters
[in,out]outoutput stream.
[in]va 2-component vector.
Returns
out.
const openvrml::vec2d make_vec2d ( )
throw (
)

Create a vec2d.

Returns
a zero-initialized vec2d.
const openvrml::vec2d make_vec2d ( const double(&)  vec[2])
throw (
)

Create a vec2d from an array.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Precondition
Elements of vec are valid numeric values (i.e., not NaN).
Parameters
[in]vecan array comprising the vector components.
Returns
a vec2d with the values in vec.
const openvrml::vec2d make_vec2d ( double  x,
double  y 
)
throw (
)

Create a vec2d from x and y components.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Precondition
x and y are valid numeric values (i.e., not NaN).
Parameters
[in]xx component.
[in]yy component.
Returns
a vec2d with the values x and y.
const openvrml::vec2d operator* ( const vec2d lhs,
double  rhs 
)
throw (
)

Multiply a vector by a scalar.

Parameters
[in]lhsleft-hand operand (the vector).
[in]rhsright-hand operand (the scalar).
Returns
the result vector.
const openvrml::vec2d operator* ( double  lhs,
const vec2d rhs 
)
throw (
)

Multiply a vector by a scalar.

Parameters
[in]lhsleft-hand operand (the scalar).
[in]rhsright-hand operand (the vector).
Returns
the result vector.
const openvrml::vec2d operator/ ( const vec2d lhs,
double  rhs 
)
throw (
)

Divide a vector by a scalar.

Precondition
rhs is nonzero.
Parameters
[in]lhsleft-hand operand (the vector).
[in]rhsright-hand operand (the scalar).
Returns
the result vector.
const openvrml::vec2d operator+ ( const vec2d lhs,
const vec2d rhs 
)
throw (
)

Add two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
const openvrml::vec2d operator- ( const vec2d lhs,
const vec2d rhs 
)
throw (
)

Subtract two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
bool operator== ( const vec2d lhs,
const vec2d rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const vec2d lhs,
const vec2d rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs dot not have the same value; false otherwise.
std::istream & operator>> ( std::istream &  in,
vec2d v 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

Parameters
[in,out]ininput stream.
[out]va vec2d.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const vec2d v 
)

Stream output.

Parameters
[in,out]outoutput stream.
[in]va 2-component vector.
Returns
out.
const openvrml::vec3f make_vec3f ( )
throw (
)

Create a vec3f.

Returns
a zero-initialized vec3f.
const openvrml::vec3f make_vec3f ( const float(&)  vec[3])
throw (
)

Create a vec3f from an array.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Precondition
Elements of vec are valid numeric values (i.e., not NaN).
Parameters
[in]vecan array comprising the vector components.
Returns
a vec3f with the values in vec.
const openvrml::vec3f make_vec3f ( float  x,
float  y,
float  z 
)
throw (
)

Create a vec3f from x, y, and z components.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Precondition
x, y and z are valid numeric values (i.e., not NaN).
Parameters
[in]xx component.
[in]yy component.
[in]zz component.
Returns
a vec3f with the values x, y, and z.
const openvrml::vec3f operator* ( const vec3f lhs,
const vec3f rhs 
)
throw (
)

Cross multiply two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
const openvrml::vec3f operator* ( const vec3f lhs,
float  rhs 
)
throw (
)

Multiply a vector by a scalar.

Parameters
[in]lhsleft-hand operand (the vector).
[in]rhsright-hand operand (the scalar).
Returns
the result vector.
const openvrml::vec3f operator* ( float  lhs,
const vec3f rhs 
)
throw (
)

Multiply a vector by a scalar.

Parameters
[in]lhsleft-hand operand (the scalar).
[in]rhsright-hand operand (the vector).
Returns
the result vector.
const openvrml::vec3f operator* ( const vec3f vec,
const mat4f mat 
)
throw (
)

Multiply a vector by a matrix.

Parameters
[in]veca vector.
[in]mata matrix.
Returns
the result vector.
const openvrml::vec3f operator* ( const mat4f mat,
const vec3f vec 
)
throw (
)

Multiply a matrix by a vector.

Parameters
[in]mata matrix.
[in]veca 3-component vector.
Returns
the result vector.
const openvrml::vec3f operator/ ( const vec3f lhs,
float  rhs 
)
throw (
)

Divide a vector by a scalar.

Precondition
rhs is nonzero.
Parameters
[in]lhsleft-hand operand (the vector).
[in]rhsright-hand operand (the scalar).
Returns
the result vector.
const openvrml::vec3f operator+ ( const vec3f lhs,
const vec3f rhs 
)
throw (
)

Add two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
const openvrml::vec3f operator- ( const vec3f lhs,
const vec3f rhs 
)
throw (
)

Subtract two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
bool operator== ( const vec3f lhs,
const vec3f rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const vec3f lhs,
const vec3f rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs dot not have the same value; false otherwise.
std::istream & operator>> ( std::istream &  in,
vec3f v 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

Parameters
[in,out]ininput stream.
[out]va vec3f.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const vec3f v 
)

Stream output.

Parameters
[in,out]outoutput stream.
[in]va 3-component vector.
Returns
out.
const openvrml::vec3d make_vec3d ( )
throw (
)

Create a vec3d.

Returns
a zero-initialized vec3d.
const openvrml::vec3d make_vec3d ( const double(&)  vec[3])
throw (
)

Create a vec3d from an array.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Precondition
Elements of vec are valid numeric values (i.e., not NaN).
Parameters
[in]vecan array comprising the vector components.
Returns
a vec3d with the values in vec.
const openvrml::vec3d make_vec3d ( double  x,
double  y,
double  z 
)
throw (
)

Create a vec3d from x, y, and z components.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Precondition
x, y and z are valid numeric values (i.e., not NaN).
Parameters
[in]xx component.
[in]yy component.
[in]zz component.
Returns
a vec3d with the values x, y, and z.
const openvrml::vec3d operator* ( const vec3d lhs,
const vec3d rhs 
)
throw (
)

Cross multiply two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
const openvrml::vec3d operator* ( const vec3d lhs,
double  rhs 
)
throw (
)

Multiply a vector by a scalar.

Parameters
[in]lhsleft-hand operand (the vector).
[in]rhsright-hand operand (the scalar).
Returns
the result vector.
const openvrml::vec3d operator* ( double  lhs,
const vec3d rhs 
)
throw (
)

Multiply a vector by a scalar.

Parameters
[in]lhsleft-hand operand (the scalar).
[in]rhsright-hand operand (the vector).
Returns
the result vector.
const openvrml::vec3d operator* ( const vec3d vec,
const mat4f mat 
)
throw (
)

Multiply a vector by a matrix.

Parameters
[in]veca vector.
[in]mata matrix.
Returns
the result vector.
const openvrml::vec3d operator* ( const mat4f mat,
const vec3d vec 
)
throw (
)

Multiply a matrix by a vector.

Parameters
[in]mata matrix.
[in]veca 3-component vector.
Returns
the result vector.
const openvrml::vec3d operator/ ( const vec3d lhs,
double  rhs 
)
throw (
)

Divide a vector by a scalar.

Precondition
rhs is nonzero.
Parameters
[in]lhsleft-hand operand (the vector).
[in]rhsright-hand operand (the scalar).
Returns
the result vector.
const openvrml::vec3d operator+ ( const vec3d lhs,
const vec3d rhs 
)
throw (
)

Add two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
const openvrml::vec3d operator- ( const vec3d lhs,
const vec3d rhs 
)
throw (
)

Subtract two vectors.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result vector.
bool operator== ( const vec3d lhs,
const vec3d rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const vec3d lhs,
const vec3d rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs dot not have the same value; false otherwise.
std::istream & operator>> ( std::istream &  in,
vec3d v 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

Parameters
[in,out]ininput stream.
[out]va vec3d.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const vec3d v 
)

Stream output.

Parameters
[in,out]outoutput stream.
[in]va 3-component vector.
Returns
out.
const openvrml::rotation make_rotation ( )
throw (
)

Create a default rotation.

Returns
a default rotation.
const openvrml::rotation make_rotation ( const float(&)  rot[4])
throw (
)

Create a rotation from an array.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]rotan array comprising the rotation components.
Precondition
The vector represented by the first three components of rot is normalized.
Returns
a rotation initialized to the values in rot.
const openvrml::rotation make_rotation ( float  x,
float  y,
float  z,
float  angle 
)
throw (
)

Create a rotation from x, y, z, and angle components.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]xx-component of the rotation axis.
[in]yy-component of the rotation axis.
[in]zz-component of the rotation axis.
[in]anglerotation angle.
Precondition
The vector represented by x, y, and z is normalized.
Returns
a rotation initialized to [ x, y, z, angle ].
const openvrml::rotation make_rotation ( const vec3f axis,
float  angle 
)
throw (
)

Create a rotation from an axis vector and an angle.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]axisrotation axis.
[in]anglerotation angle.
Precondition
axis is a normalized vector.
Returns
a rotation initialized using axis and angle.
const openvrml::rotation make_rotation ( const vec3f from_vec,
const vec3f to_vec 
)
throw (
)

Create a rotation equal to the rotation between two different vectors.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]from_vecthe starting vector.
[in]to_vecthe ending vector.
Returns
a rotation equal to the rotation between from_vec and to_vec.
const openvrml::rotation make_rotation ( const quatf quat)
throw (
)

Create a rotation from a quaternion.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]quata quaternion.
Returns
a rotation corresponding to quat.
const openvrml::rotation operator* ( const rotation lhs,
const rotation rhs 
)
throw (
)

Multiply rotations.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the product of lhs and rhs.
bool operator== ( const rotation lhs,
const rotation rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs is equal to rhs; false otherwise.
bool operator!= ( const rotation lhs,
const rotation rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs is not equal to rhs; false otherwise.
std::istream & operator>> ( std::istream &  in,
rotation rot 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

If the axis components of the rotation do not represent a normalized vector, the failbit will be set on in and rot will not be modified.

Parameters
[in,out]ininput stream.
[out]rota rotation.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const rotation r 
)

Stream output.

Parameters
[in,out]outoutput stream.
[in]ra rotation.
Returns
out.
const openvrml::mat4f make_mat4f ( )
throw (
)

Create an identity matrix.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns
an identity matrix.
const openvrml::mat4f make_mat4f ( float  f11,
float  f12,
float  f13,
float  f14,
float  f21,
float  f22,
float  f23,
float  f24,
float  f31,
float  f32,
float  f33,
float  f34,
float  f41,
float  f42,
float  f43,
float  f44 
)
throw (
)

Create a mat4f with given 16 elements in row-major order.

\[ \left[ \begin{array}{cccc} f_{11} & f_{12} & f_{13} & f_{14} \\ f_{21} & f_{22} & f_{23} & f_{24} \\ f_{31} & f_{32} & f_{33} & f_{34} \\ f_{41} & f_{42} & f_{43} & f_{44} \\ \end{array} \right] \]

Parameters
[in]f11
[in]f12
[in]f13
[in]f14
[in]f21
[in]f22
[in]f23
[in]f24
[in]f31
[in]f32
[in]f33
[in]f34
[in]f41
[in]f42
[in]f43
[in]f44
Returns
a mat4f with given 16 elements in row-major order.
const openvrml::mat4f make_mat4f ( const float  mat[16])
throw (
)

Create a matrix from an array of 16 values.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Precondition
mat points to a sequence of at least 16 float values.
Parameters
[in]mata pointer to a sequence of 16 float values in row-major order.
Returns
a mat4f containing the values in mat.
const openvrml::mat4f make_mat4f ( const float(&)  mat[4][4])
throw (
)

Create a matrix from a 4x4 array.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]mata 4x4 array of elements in row-major order.
Returns
a mat4f containing the values in mat.
const openvrml::mat4f make_rotation_mat4f ( const rotation rot)
throw (
)

Create a rotation matrix.

Parameters
[in]rota rotation.
Returns
a matrix representation of rot.
const openvrml::mat4f make_rotation_mat4f ( const quatf quat)
throw (
)

Create a rotation matrix.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]quata quaternion.
Returns
a matrix representation of quat.
const openvrml::mat4f make_scale_mat4f ( float  s)
throw (
)

Create a uniform scale matrix.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]sscale factor.
Returns
a uniform scale matrix.
const openvrml::mat4f make_scale_mat4f ( const vec3f s)
throw (
)

Create a scale matrix.

Parameters
[in]sa vector.
Returns
a scale matrix.
const openvrml::mat4f make_translation_mat4f ( const vec3f t)
throw (
)

Create a translation matrix.

Parameters
[in]ttranslation vector.
Returns
a translation matrix.
const openvrml::mat4f make_transformation_mat4f ( const vec3f t,
const rotation r,
const vec3f s,
const rotation sr,
const vec3f c 
)
throw (
)

Create a transformation matrix from a translation, a rotation, a scale, a scaleOrientation, and a center.

Parameters
[in]tthe translation.
[in]rthe rotation.
[in]sthe scale.
[in]srthe scale orientation.
[in]cthe center.
Returns
a transformation matrix.
bool operator== ( const mat4f lhs,
const mat4f rhs 
)
throw (
)

Equality comparison operator.

All componenents must match exactly.

Parameters
[in]lhsa matrix.
[in]rhsa matrix.
Returns
true if lhs and rhs are equivalent; false otherwise.
bool operator!= ( const mat4f lhs,
const mat4f rhs 
)
throw (
)

Inequality comparison operator.

Parameters
[in]lhsa matrix.
[in]rhsa matrix.
Returns
true if lhs and rhs are not equivalent; false otherwise.
const openvrml::mat4f operator* ( const mat4f lhs,
const mat4f rhs 
)
throw (
)

Multiply two matrices.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the result matrix.
const openvrml::mat4f operator* ( const mat4f mat,
float  scalar 
)
throw (
)

Multiply a matrix by a scalar value.

Parameters
[in]matmatrix.
[in]scalarscalar.
Returns
the result matrix.
const openvrml::mat4f operator* ( float  scalar,
const mat4f mat 
)
throw (
)

Multiply a scalar value by matrix.

Parameters
[in]scalarscalar.
[in]matmatrix.
Returns
the result matrix.
std::istream & operator>> ( std::istream &  in,
mat4f m 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

Optionally, brackets may be used in the input to group the rows; i.e., the following syntaxes are accepted:

  • f11, ... f14 ], ... [ f41, ... f44 ]
  • f11, f12, ... f44
Parameters
[in,out]ininput stream.
[out]ma matrix.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const mat4f mat 
)

Stream output.

Parameters
[in,out]outan output stream.
[in]mata matrix.
Returns
out.
const openvrml::quatf make_quatf ( )
throw (
)

Create a default quatf.

Returns
a quatf with the value [0.0, 0.0, 0.0, 1.0].
const openvrml::quatf make_quatf ( float  x,
float  y,
float  z,
float  w 
)
throw (
)

Create a quatf from four values.

Parameters
[in]xthe x vector component.
[in]ythe y vector component.
[in]zthe z vector component.
[in]wthe scalar value w.
Returns
a quatf with the value [x, y, z, w].
const openvrml::quatf make_quatf ( const float(&)  quat[4])
throw (
)

Create a quatf from an array of four values.

Parameters
[in]quatthe first three values in the array are used for the x, y, and z vector components, respectively. The fourth value in the array is used for the scalar part of the quaternion.
Returns
a quatf with the values in quat.
const openvrml::quatf make_quatf ( const rotation rot)
throw (
)

Create a quatf from a rotation.

Parameters
[in]rota rotation.
Returns
a quatf corresponding to the rotation applied by rot.
const openvrml::quatf make_quatf ( const mat4f mat)
throw (
)

Create a quatf from a rotation matrix.

Parameters
[in]mata rotation matrix.
Returns
a quatf corresponding to the rotation applied by mat.
const openvrml::quatf operator* ( const quatf lhs,
const quatf rhs 
)
throw (
)

Multiply two quaternions.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the product of lhs and rhs.
const openvrml::quatf operator* ( const quatf quat,
const float  scalar 
)
throw (
)

Multiply a quaternion by a scalar.

Parameters
[in]quatquaternion.
[in]scalarscalar.
Returns
the product of quat and scalar.
const openvrml::quatf operator* ( const float  scalar,
const quatf quat 
)
throw (
)

Multiply a scalar by a quaternion.

Parameters
[in]scalarscalar.
[in]quatquaternion.
Returns
the product of scalar and quat.
const openvrml::quatf operator/ ( const quatf quat,
const float  scalar 
)
throw (
)

Divide a quaternion by a scalar.

Parameters
[in]quatquaternion.
[in]scalarscalar.
Returns
the result of dividing quat by scalar.
const openvrml::quatf operator+ ( const quatf lhs,
const quatf rhs 
)
throw (
)

Add two quaternions.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the sum of lhs and rhs.
const openvrml::quatf operator- ( const quatf lhs,
const quatf rhs 
)
throw (
)

Take the difference between two quaternions.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
the difference between lhs and rhs.
bool operator== ( const quatf lhs,
const quatf rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs are equal; false otherwise.
bool operator!= ( const quatf lhs,
const quatf rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs are not equal; false otherwise.
std::istream & openvrml::operator>> ( std::istream &  in,
quatf q 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

Parameters
[in,out]ininput stream.
[out]qa quatf.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const quatf quat 
)

Stream output.

Parameters
[in,out]outan output stream.
[in]quata quaternion.
Returns
out.
bool operator== ( const image lhs,
const image rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs are equal; false otherwise.
bool operator!= ( const image lhs,
const image rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs are not equal; false otherwise.
std::istream & operator>> ( std::istream &  in,
image img 
)

Stream input.

Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.

Parameters
[in,out]ininput stream.
[out]imgan image.
Returns
in.
std::ostream & operator<< ( std::ostream &  out,
const image img 
)

Stream output.

Parameters
[in,out]outoutput stream.
[in]imgan image.
std::auto_ptr< openvrml::node_type_decls > openvrml::profile ( const std::string &  profile_id)
throw ( std::invalid_argument ,
std::bad_alloc
)

Get a node_type_decls map corresponding to a particular profile.

Parameters
[in]profile_ida profile identifier.
Returns
a node_type_decls map corresponding to profile_id.
Exceptions
std::invalid_argumentif profile_id does not correspond to a known profile.
std::bad_allocif memory allocation fails.
void openvrml::add_component ( node_type_decls &  node_types,
const std::string &  component_id,
size_t  level 
)
throw ( std::invalid_argument ,
std::bad_alloc
)

Add the nodes corresponding to a component level to a node_type_decls map.

Parameters
[in,out]node_typesa node_type_decls map.
[in]component_ida component identifier.
[in]levela component level.
Exceptions
std::invalid_argumentif component_id is not a recognized component identifier; or if level does not correspond to a supported level of component_id.
std::bad_allocif memory allocation fails.
std::ostream & operator<< ( std::ostream &  out,
const field_value value 
)

Stream output.

Parameters
[in,out]outan output stream.
[in]valuea field value.
Returns
out.
std::ostream & operator<< ( std::ostream &  out,
field_value::type_id  type_id 
)

Stream output.

If type is field_value::invalid_type, failbit is set on out.

Parameters
[in,out]outoutput stream.
[in]type_idfield_value type identifier.
Returns
out.
std::istream & operator>> ( std::istream &  in,
field_value::type_id type_id 
)

Stream input.

Parameters
[in,out]ininput stream.
[out]type_idfield_value type identifier.
Returns
in.
bool operator== ( const sfbool lhs,
const sfbool rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfbool lhs,
const sfbool rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfcolor lhs,
const sfcolor rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfcolor lhs,
const sfcolor rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfcolorrgba lhs,
const sfcolorrgba rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfcolorrgba lhs,
const sfcolorrgba rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sffloat lhs,
const sffloat rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sffloat lhs,
const sffloat rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfdouble lhs,
const sfdouble rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfdouble lhs,
const sfdouble rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfimage lhs,
const sfimage rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfimage lhs,
const sfimage rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfint32 lhs,
const sfint32 rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfint32 lhs,
const sfint32 rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfnode lhs,
const sfnode rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfnode lhs,
const sfnode rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfrotation lhs,
const sfrotation rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfrotation lhs,
const sfrotation rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfstring lhs,
const sfstring rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfstring lhs,
const sfstring rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sftime lhs,
const sftime rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sftime lhs,
const sftime rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfvec2f lhs,
const sfvec2f rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfvec2f lhs,
const sfvec2f rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfvec2d lhs,
const sfvec2d rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfvec2d lhs,
const sfvec2d rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfvec3f lhs,
const sfvec3f rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfvec3f lhs,
const sfvec3f rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const sfvec3d lhs,
const sfvec3d rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const sfvec3d lhs,
const sfvec3d rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfbool lhs,
const mfbool rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfbool lhs,
const mfbool rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfcolor lhs,
const mfcolor rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfcolor lhs,
const mfcolor rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfcolorrgba lhs,
const mfcolorrgba rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfcolorrgba lhs,
const mfcolorrgba rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mffloat lhs,
const mffloat rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mffloat lhs,
const mffloat rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfdouble lhs,
const mfdouble rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfdouble lhs,
const mfdouble rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfimage lhs,
const mfimage rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfimage lhs,
const mfimage rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfint32 lhs,
const mfint32 rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfint32 lhs,
const mfint32 rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfnode lhs,
const mfnode rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfnode lhs,
const mfnode rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfrotation lhs,
const mfrotation rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfrotation lhs,
const mfrotation rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfstring lhs,
const mfstring rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfstring lhs,
const mfstring rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mftime lhs,
const mftime rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mftime lhs,
const mftime rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfvec2f lhs,
const mfvec2f rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfvec2f lhs,
const mfvec2f rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfvec2d lhs,
const mfvec2d rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfvec2d lhs,
const mfvec2d rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfvec3f lhs,
const mfvec3f rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfvec3f lhs,
const mfvec3f rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
bool operator== ( const mfvec3d lhs,
const mfvec3d rhs 
)
throw (
)

Compare for equality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfvec3d lhs,
const mfvec3d rhs 
)
throw (
)

Compare for inequality.

Parameters
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns
true if lhs and rhs do not have the same value; false otherwise.
const std::string path ( const scope s)
throw (std::bad_alloc
)
Parameters
[in]sa scope.
Returns
the full “path” to the scope.
Examples:
sdl_viewer.cpp.
const char * openvrml::vrml97_parse_error_msg ( const vrml_parse_error  error)
inline

Get the error message associated with a vrml_parse_error.

Parameters
[in]errorerror identifier.
Returns
the error message associated with error.
const char * openvrml::x3d_vrml_parse_error_msg ( const vrml_parse_error  error)
inline

Get the error messages associated with a vrml_parse_error.

Parameters
[in]errorerror identifier.
Returns
the error messages associated with error.

Variable Documentation

const char openvrml::vrml_media_type = "model/vrml"

VRML MIME media type.

Examples:
sdl_viewer.cpp.
const char openvrml::x_vrml_media_type = "x-world/x-vrml"

Experimental VRML MIME media type.

const char openvrml::x3d_vrml_media_type = "model/x3d-vrml"

X3D VRML MIME media type.

Examples:
sdl_viewer.cpp.
const openvrml::vrml97_space_parser openvrml::vrml97_space_p = vrml97_space_parser()

A Spirit space parser appropriate for use with VRML97 and VRML-encoded X3D.

const openvrml::vrml_parse_error openvrml::profile_expected = vrml_parse_error_end

The PROFILE keyword was expected.

const openvrml::vrml_parse_error openvrml::unrecognized_profile_id
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 1)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

The profile identifier was not recognized as a supported profile.

const openvrml::vrml_parse_error openvrml::unrecognized_component_id_or_level
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 2)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

The component identifier was unrecognized or the component level is unsupported.

const openvrml::vrml_parse_error openvrml::colon_expected
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 3)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

A “:” was expected.

const openvrml::vrml_parse_error openvrml::bool_or_lbracket_expected
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 4)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

A boolean value (i.e., TRUE or FALSE) or “[” was expected.

const openvrml::vrml_parse_error openvrml::bool_or_rbracket_expected
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 5)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

A boolean value (i.e., TRUE or FALSE) or “]” was expected.

const openvrml::vrml_parse_error openvrml::color_rgba_expected
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 6)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

An RGBA color value was expected.

const openvrml::vrml_parse_error openvrml::color_rgba_or_lbracket_expected
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 7)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

An RGBA color value or “[” was expected.

const openvrml::vrml_parse_error openvrml::color_rgba_or_rbracket_expected
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 8)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

An RGBA color value or “]” was expected.

const openvrml::vrml_parse_error openvrml::eventin_deprecated
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 9)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

The eventIn keyword is deprecated.

const openvrml::vrml_parse_error openvrml::eventout_deprecated
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 10)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

The eventOut keyword is deprecated.

const openvrml::vrml_parse_error openvrml::exposedfield_deprecated
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 11)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

The exposedField keyword is deprecated.

const openvrml::vrml_parse_error openvrml::field_deprecated
Initial value:
=
vrml_parse_error(vrml_parse_error_end + 12)
vrml_parse_error
Identifiers used to designate parse error conditions.
Definition: vrml97_grammar.h:84

The field keyword is deprecated.

const boost::spirit::functor_parser< openvrml::color_rgba_parser > openvrml::color_rgba_p

A Spirit parser for RGBA color values.

const boost::spirit::functor_parser< openvrml::vec2d_parser > openvrml::vec2d_p

A Spirit parser for double-precision 2-component vector values.

const boost::spirit::functor_parser< openvrml::vec3d_parser > openvrml::vec3d_p

A Spirit parser for double-precision 3-component vector values.