Home | Hierarchy | Members | Alphabetical | Related Pages |
#include <geoviewpoint.h>
Inherits Node.
Inheritance diagram for GeoViewpoint:
Public Member Functions | |
GeoViewpoint (const char *name="") | |
virtual | ~GeoViewpoint () |
virtual unsigned int | nbFields () const |
virtual FieldHandle | field (const std::string &n) |
virtual FieldHandle | field (const unsigned int i) |
virtual bool | isSetToDefaultValue (const unsigned int i) const |
virtual unsigned int | nbEventsIn () const |
virtual EventInHandle | eventIn (const std::string &n) |
virtual EventInHandle | eventIn (const unsigned int i) |
virtual unsigned int | nbEventsOut () const |
virtual EventOutHandle | eventOut (const std::string &n) |
virtual EventOutHandle | eventOut (const unsigned int i) |
const char * | typeName () const |
virtual Node * | duplicate () const |
virtual Node * | duplicate (std::map< const Node *, Node * > &) const |
Public Attributes | |
Exposed Fields | |
A field that is capable of receiving events via an eventIn to change its value(s), and generating events via an eventOut when its value(s) change. | |
SFFloat | fieldOfView |
SFBool | headlight |
SFBool | jump |
MFString | navType |
Fields | |
A property or attribute of a node. Each node type has a fixed set of fields. Fields may contain various kinds of data and one or many values. Each field has a default value. | |
SFString | description |
SFNode | geoOrigin |
MFString | geoSystem |
SFRotation | orientation |
SFString | position |
SFFloat | speedFactor |
Events In | |
EventIn< SFBool > | set_bind |
EventIn< SFString > | set_orientation |
EventIn< SFString > | set_position |
EventIn< SFFloat > | set_fieldOfView |
EventIn< SFBool > | set_headlight |
EventIn< SFBool > | set_jump |
EventIn< MFString > | set_navType |
Events Out | |
EventOut< SFTime > | bindTime |
EventOut< SFBool > | isBound |
EventOut< SFFloat > | fieldOfView_changed |
EventOut< SFBool > | headlight_changed |
EventOut< SFBool > | jump_changed |
EventOut< MFString > | navType_changed |
The GeoViewpoint node allows the specification of a viewpoint in terms of a geospatial coordinate.
This node can be used wherever a Viewpoint node can be used and also can combine GeoViewpoint and Viewpoint nodes in the same scene. The fieldOfView, jump, description, set_bind, bindTime, and isBound fields and events have the same behaviour as the standard Viewpoint node. Note that when a GeoViewpoint node is bound, it overrides the currently bound Viewpoint and NavigationInfo nodes in the scene.
The geoOrigin field is used to specify a local coordinate frame for extended precision as described in 4.15.5 Dealing with high-precision coordinates.
The geoSystem field is used to define the spatial reference frame and is described in 4.15.3, Encoding a spatial reference frame.
The position string is used to define the actual coordinate that locates the viewpoint. It should be provided in a format consistent with that specified for the particular geoSystem (see 4.15.4, Encoding geospatial coordinates). There is also a set_position eventIn which can be routed from the geovalue_changed eventOut of a GeoPositionInterpolator node in order to animate the position of the GeoViewpoint.
The orientation string defines a relative orientation from the local orientation frame that is defined by the position field. By default, the orientation of the viewpoint will always be aligned such that the +Y axis is the up vector for the local area (the normal to the tangent plane on the ellipsoid), -Z points towards the north pole, and +X is east. Therefore, if a GeoViewpoint that always looks straight down is to be created, no matter where on the planet the viewer may be looking, an orientation value of [ 1 0 0 -1.57 ] should be specifed. The set_orientation eventIn can be wired to the value_changed eventOut of a standard OrientationInterpolator in order to animate the orientation of the GeoViewpoint.
The navType field is used to specify the navigation type that is to be bound when this GeoViewpoint node is bound. The acceptable values for this field are the same as those for the type field of the NavigationInfo field node, e.g. "EXAMINE", "WALK", "FLY", or "ANY".
The headlight field is used to specify whether the browser shall turn on a headlight when this viewpoint is bound. A headlight is a directional light that always points in the direction that the user is looking.
The GeoViewpoint node may be implemented as if there is an embedded NavigationInfo node that is bound and unbound with the GeoViewpoint node. As such, a VRML browser shall internally set the speed, avatarSize, and visibilityLimit fields of such a NavigationInfo node to an appropriate value for the viewpoint's elevation. The VRML browser shall also continually update the speed field as the user moves in order to support elevation scaled velocity (see 4.15.6, Geospatial navigation issues). It is recommended that the speed of user interaction be defined as ( elev / 10.0 ) m/s, where elev is the elevation of the viewer above the WGS84 ellipsoid in units of metres. It is also recommended that the same scale factor be applied to the avatarSize vector and visibilityLimit value so that both the near and far clipping planes are updated.
The speedFactor field of the GeoViewpoint node is used as a multiplier to the elevation-based velocity that the node sets internally, i.e. this is a relative value and not an absolute speed as in the case for the NavigationInfo field of the same name.
|
Construct a node with all its fields set to default value, which is equivalent to the code below: fieldOfView = 0.785398; headlight = true; jump = true; description = string(""); orientation.setAxisAndAngle(0,0,1,0); position = string("0 0 100000"); speedFactor = 1; |
|
Virtual destructor, does nothing |
|
Implements Node. |
|
Returns a deep copy of this node, that is a fully independant node with all children (if any) also copied. This is mainly useful for instanciating protos. Implements Node. |
|
Return a handle on the
This function is useful, with nbEventsIn() if you want to traverse all events in of a Node. Implements Node. |
|
Return a handle on the event in named
Implements Node. |
|
Return a handle on the
Implements Node. |
|
Return a handle on the event out named
Implements Node. |
|
Return a handle on the
Implements Node. |
|
Return a handle on the field named
Implements Node. |
|
Implements Node. |
|
Returns the number of events in for this node type. Implements Node. |
|
Returns the number of events out for this node type. Implements Node. |
|
Returns the number of fields (exposed or not) for this node type. Implements Node. |
|
Returns Implements Node. |
|
See Detailed Description for meaning of this event. |
|
See Detailed Description for meaning of this field. Default value is set to description = string(""); |
|
See Detailed Description for meaning of this field. Default value is set to fieldOfView = 0.785398; |
|
Changed event associated to exposedField fieldOfView |
|
See Detailed Description for meaning of this field. Default value is set to SFNode default value |
|
See Detailed Description for meaning of this field. Default value is set to |
|
See Detailed Description for meaning of this field. Default value is set to headlight = true; |
|
Changed event associated to exposedField headlight |
|
See Detailed Description for meaning of this event. |
|
See Detailed Description for meaning of this field. Default value is set to jump = true; |
|
Changed event associated to exposedField jump |
|
See Detailed Description for meaning of this field. Default value is set to |
|
Changed event associated to exposedField navType |
|
See Detailed Description for meaning of this field. Default value is set to orientation.setAxisAndAngle(0,0,1,0); |
|
See Detailed Description for meaning of this field. Default value is set to position = string("0 0 100000"); |
|
See Detailed Description for meaning of this event. |
|
Set event associated to exposedField fieldOfView |
|
Set event associated to exposedField headlight |
|
Set event associated to exposedField jump |
|
Set event associated to exposedField navType |
|
See Detailed Description for meaning of this event. |
|
See Detailed Description for meaning of this event. |
|
See Detailed Description for meaning of this field. Default value is set to speedFactor = 1; |
Generated on 24 Feb 2005 with version 1.3.9.1. |