XdkWrl: GeoOrigin Class Reference

Home | Hierarchy | Members | Alphabetical | Related Pages

# GeoOrigin Class Reference
[Standard Node Types]

`#include <geoorigin.h>`

Inherits Node.

List of all members.

## Public Member Functions
| GeoOrigin (const char *name="")
virtual | ~GeoOrigin ()
virtual unsigned int | nbFields () const
virtual FieldHandle | field (const std::string &n)
virtual FieldHandle | field (unsigned int i)
virtual bool | isSetToDefaultValue (unsigned int i) const
virtual unsigned int | nbEventsIn () const
virtual EventInHandle | eventIn (const std::string &n)
virtual EventInHandle | eventIn (unsigned int i)
virtual unsigned int | nbEventsOut () const
virtual EventOutHandle | eventOut (const std::string &n)
virtual EventOutHandle | eventOut (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.
MFString | geoSystem
SFString | geoCoords
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.
SFBool | rotateYUp
Events In
EventIn< MFString > | set_geoSystem
EventIn< SFString > | set_geoCoords
Events Out
EventOut< MFString > | geoSystem_changed
EventOut< SFString > | geoCoords_changed

## Detailed Description

Here is the documentation for this node type, from the ISO standard.

## 6.28 GeoOrigin

The GeoOrigin node defines an absolute geospatial location and an implicit local coordinate frame against which geometry is referenced. This node is used to translate from geospatial coordinates into a local Cartesian coordinate system which can be managed by the VRML browser.

The geoSystem field is used to define the spatial reference frame and is described in 4.15.3, Encoding a spatial reference frame.

The geoCoords field is used to specify the origin of the local coordinate frame and should be provided in a format consistent with that specified for the particular geoSystem (see 4.15.4, Encoding geospatial coordinates.

The rotateYUp field is used to specify whether all coordinates of any nodes that use this GeoOrigin should be rotated such that the up direction is aligned with the VRML Y axis. The default behaviour is to not perform this operation, which means that the local up direction will depend upon the location of the GeoOrigin with respect to the planet surface. The principal reason for performing the rotation is to ensure that standard VRML navigation modes such as FLY and WALK, which assume that +Y is up, will function correctly. Note that specifying rotateYUp to be TRUE may incur an extra computational overhead in order to perform the rotation for each point.

Since multiple local coordinate systems cannot be defined in a single scene, it is recommended that only one GeoOrigin node be defined within a single VRML world. Then all subsequent geoOrigin fields can USE this GeoOrigin node.

## Constructor & Destructor Documentation

GeoOrigin | ( | const char * | name = `""` | ) |

Construct a node with all its fields set to default value, which is equivalent to the code below:

      geoCoords = string("");
      rotateYUp = false;

~GeoOrigin | ( |  | ) | `[virtual]`

Virtual destructor, does nothing

## Member Function Documentation

unsigned int nbFields | ( |  | ) | const`[inline, virtual]`

Returns the number of fields (exposed or not) for this node type.

Implements Node.

wrl::Node::FieldHandle field | ( | const std::string & | n | ) | `[virtual]`

Return a handle on the field named `n` of the node or a "unknown" typed handle if there is no such field. Valid names are:

- geoSystem
- geoCoords
- rotateYUp

Implements Node.

wrl::Node::FieldHandle field | ( | unsigned int | n | ) | `[virtual]`

Return a handle on the `i` th field of the node or a "unknown" typed handle if there is no such node. Here is how `i` is related to fields:

- 0 : geoSystem
- 1 : geoCoords
- 2 : rotateYUp This function is useful, with nbFields() if you want to traverse all fields of a Node.

Implements Node.

bool isSetToDefaultValue | ( | unsigned int | i | ) | const`[virtual]`

Implements Node.

unsigned int nbEventsIn | ( |  | ) | const`[inline, virtual]`

Returns the number of events in for this node type.

Implements Node.

wrl::Node::EventInHandle eventIn | ( | const std::string & | n | ) | `[virtual]`

Return a handle on the event in named `n` of the node or a "unknown" typed handle if there is no such event. Valid names are:

- set_geoSystem
- set_geoCoords

Implements Node.

wrl::Node::EventInHandle eventIn | ( | unsigned int | n | ) | `[virtual]`

Return a handle on the `i` th event in of the node or a "unknown" typed handle if there is no such node. emarks This class has no eventIn. This function is useful, with nbEventsIn() if you want to traverse all events in of a Node.

Implements Node.

unsigned int nbEventsOut | ( |  | ) | const`[inline, virtual]`

Returns the number of events out for this node type.

Implements Node.

wrl::Node::EventOutHandle eventOut | ( | const std::string & | n | ) | `[virtual]`

Return a handle on the event out named `n` of the node or a "unknown" typed handle if there is no such event. Valid names are:

- geoSystem_changed
- geoCoords_changed

Implements Node.

wrl::Node::EventOutHandle eventOut | ( | unsigned int | n | ) | `[virtual]`

Return a handle on the `i` th event out of the node or a "unknown" typed handle if there is no such node. Here is how `i` is related to fields:

- 0 : geoSystem_changed
- 1 : geoCoords_changed This function is useful, with nbEventsOut() if you want to traverse all events in of a Node.

Implements Node.

const char * typeName | ( |  | ) | const`[inline, virtual]`

Returns `"GeoOrigin"`. Useful for printing.

Implements Node.

wrl::Node * duplicate | ( |  | ) | const`[virtual]`

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.

virtual Node* duplicate | ( | std::map< const Node *, Node * > & |  | ) | const`[virtual]`

Implements Node.

## Member Data Documentation

MFString geoSystem

See Detailed Description for meaning of this field. Default value is set to

SFString geoCoords

See Detailed Description for meaning of this field. Default value is set to

           geoCoords = string("");

SFBool rotateYUp

See Detailed Description for meaning of this field. Default value is set to

           rotateYUp = false;

EventIn<MFString> set_geoSystem

Set event associated to exposedField geoSystem

EventIn<SFString> set_geoCoords

Set event associated to exposedField geoCoords

EventOut<MFString> geoSystem_changed

Changed event associated to exposedField geoSystem

EventOut<SFString> geoCoords_changed

Changed event associated to exposedField geoCoords

Generated on 5 Jan 2007 with version 1.5.1. |