---
name: "SoScXMLNavigationTarget"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoScXMLNavigationTarget"
---

# SoScXMLNavigationTarget(3)

base class for navigation system SCXML event target services

## NAME

SoScXMLNavigationTarget - base class for navigation system SCXML event target services

## SYNOPSIS

\#include \<Inventor/navigation/SoScXMLNavigationTarget.h\>

Inherits **ScXMLEventTarget**.

Inherited by **SoScXMLDollyTarget**, **SoScXMLFlightControlTarget**, **SoScXMLMiscTarget**, **SoScXMLMotionTarget**, **SoScXMLPanTarget**, **SoScXMLRotateTarget**, **SoScXMLSeekTarget**, **SoScXMLSpinTarget**, and **SoScXMLZoomTarget**.

### Classes

class **Data**\

### Public Member Functions

virtual **SoType** **getTypeId** (void) const =0\
 Returns the type identification of an object derived from a class inheriting **SoBase**. This is used for runtime type checking and *downward"*casting.

Public Member Functions inherited from **ScXMLEventTarget** virtual void **setEventTargetType** (const char \*targettype)\
 const char \* **getEventTargetType** (void) const\
 virtual void **setEventTargetName** (const char \*targetname)\
 const char \* **getEventTargetName** (void) const\
 virtual const **ScXMLEvent** \* **getCurrentEvent** (void) const\
 virtual void **queueEvent** (const **ScXMLEvent** \*event)\
 virtual void **queueEvent** (const **SbName** &eventid)\
 virtual SbBool **processEventQueue** (void)\
 virtual SbBool **sendExternalEvent** (const **ScXMLSendElt** \*sendelt)\
 virtual SbBool **sendInternalEvent** (const **ScXMLEventElt** \*sendelt)\
 virtual void **queueInternalEvent** (const **ScXMLEvent** \*event)\
 virtual void **queueInternalEvent** (const **SbName** &eventid)\

Public Member Functions inherited from **ScXMLObject** SbBool **isOfType** (**SoType** type) const\
 Returns TRUE if the type of this object is either of the same type or inherited from *type*.

### Static Public Member Functions

static **SoType** **getClassTypeId** (void)\
 static void **initClass** (void)\
 static void **cleanClass** (void)\

Static Public Member Functions inherited from **ScXMLEventTarget** static **SoType** **getClassTypeId** (void)\
 static void **initClass** (void)\
 static void **cleanClass** (void)\

Static Public Member Functions inherited from **ScXMLObject** static **SoType** **getClassTypeId** (void)\
 This static method returns the **SoType** object associated with objects of this class.     static void **initClass** (void)\
 Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.     static void **cleanClass** (void)\
 Does the opposite of initClass, deallocates any class specific resources and resets the class to an uninitialized state with respect to the Coin type system.

### Protected Types

typedef **Data** \* **NewDataFunc**(void)\

### Protected Member Functions

**Data** \* **getSessionData** (**SbName** sessionid, NewDataFunc \*constructor)\
 void **freeSessionData** (**SbName** sessionid)\

Protected Member Functions inherited from **ScXMLEventTarget** virtual void **setCurrentEvent** (const **ScXMLEvent** \*event)\
 virtual const **ScXMLEvent** \* **getNextEvent** (void)\
 virtual const **ScXMLEvent** \* **getNextInternalEvent** (void)\
 virtual const **ScXMLEvent** \* **getNextExternalEvent** (void)\
 virtual SbBool **processOneEvent** (const **ScXMLEvent** \*event)\

### Static Protected Member Functions

static **SbName** **getSessionId** (const **ScXMLEvent** \*event)\
 static **ScXMLStateMachine** \* **getStateMachine** (const **ScXMLEvent** \*event, **SbName** sessionid)\
 static **SoScXMLStateMachine** \* **getSoStateMachine** (const **ScXMLEvent** \*event, **SbName** sessionid)\
 static **SoCamera** \* **getActiveCamera** (const **ScXMLEvent** \*event, **SbName** sessionid)\
 static SbBool **getEventDouble** (const **ScXMLEvent** \*event, const char \*label, double &dbl\_out, SbBool required=TRUE)\
 static SbBool **getEventString** (const **ScXMLEvent** \*event, const char \*label, **SbString** &str\_out, SbBool required=TRUE)\
 static SbBool **getEventSbBool** (const **ScXMLEvent** \*event, const char \*label, SbBool &bool\_out, SbBool required=TRUE)\
 static SbBool **getEventSbVec2f** (const **ScXMLEvent** \*event, const char \*label, **SbVec2f** &vec\_out, SbBool required=TRUE)\
 static SbBool **getEventSbVec3f** (const **ScXMLEvent** \*event, const char \*label, **SbVec3f** &vec\_out, SbBool required=TRUE)\
 static SbBool **getEventSbRotation** (const **ScXMLEvent** \*event, const char \*label, **SbRotation** &rot\_out, SbBool required=TRUE)\

Static Protected Member Functions inherited from **ScXMLEventTarget** static void **registerEventTarget** (**ScXMLEventTarget** \*target, const char \*sessionid=NULL)\
 static void **unregisterEventTarget** (**ScXMLEventTarget** \*target, const char \*sessionid=NULL)\
 static **ScXMLEventTarget** \* **getEventTarget** (const char \*targettype, const char \*targetname, const char \*sessionid=NULL)\

Static Protected Member Functions inherited from **ScXMLObject** static void **registerClassType** (const char \*xmlns, const char \*classname, **SoType** type)\
 static void **registerInvokeClassType** (const char \*xmlns, const char \*targettype, const char \*source, **SoType** type)\

### Additional Inherited Members

Protected Attributes inherited from **ScXMLEventTarget** char \* **targetname**\
 char \* **targettype**\
 const **ScXMLEvent** \* **currentevent**\
 SbBool **isprocessingqueue**\

## Detailed Description

base class for navigation system SCXML event target services

This class contains some common, useful, utility functions for implementing navigation system event targets.

**Since**

Coin 3.1

## Member Function Documentation

### virtual SoType SoScXMLNavigationTarget::getTypeId (void ) const \[pure virtual\]

Returns the type identification of an object derived from a class inheriting **SoBase**. This is used for runtime type checking and "downward" casting.

**See also**

**SoBase::getTypeId() const**

Implements **ScXMLEventTarget**.

Implemented in **SoScXMLDollyTarget**, **SoScXMLFlightControlTarget**, **SoScXMLMiscTarget**, **SoScXMLMotionTarget**, **SoScXMLPanTarget**, **SoScXMLRotateTarget**, **SoScXMLSeekTarget**, **SoScXMLSpinTarget**, and **SoScXMLZoomTarget**.

### SoScXMLNavigationTarget::Data \* SoScXMLNavigationTarget::getSessionData (SbName sessionid, NewDataFunc \* constructor) \[protected\]

Returns the Data\* base handle for the data structure that corresponds to the given *sessionid*. The *constructor* argument is the function responsible for creating the Data-derived object if the session is new (or have been cleaned up earlier).

### void SoScXMLNavigationTarget::freeSessionData (SbName sessionid) \[protected\]

Cleans out the data structure that is mapped to the given *sessionid*.

### SbName SoScXMLNavigationTarget::getSessionId (const ScXMLEvent \* event) \[static\], \[protected\]

Returns the session id that is associated with the *event*. If no session id is found, **SbName::empty()** is returned.

### ScXMLStateMachine \* SoScXMLNavigationTarget::getStateMachine (const ScXMLEvent \* event, SbName sessionid) \[static\], \[protected\]

Returns the state machine that is associated with the given *sessionid*, or NULL if there are no state machines registered for the session id.

### SoScXMLStateMachine \* SoScXMLNavigationTarget::getSoStateMachine (const ScXMLEvent \* event, SbName sessionid) \[static\], \[protected\]

Returns the So- state machine that is associated with the given *sessionid*, or NULL if there are no state machines registered for the session id or if the state machine is not of **SoScXMLStateMachine** type.

### SoCamera \* SoScXMLNavigationTarget::getActiveCamera (const ScXMLEvent \* event, SbName sessionid) \[static\], \[protected\]

Returns the current active camera, or NULL if there is no active camera set. If NULL is returned, error messages have been posted.

### SbBool SoScXMLNavigationTarget::getEventDouble (const ScXMLEvent \* event, const char \* label, double & dbl\_out, SbBool required = TRUE) \[static\], \[protected\]

Returns TRUE if a double was delivered with the event under the label *label*, and FALSE otherwise. If *required* is TRUE, then errors will be given, otherwise this function will remain quiet.

### SbBool SoScXMLNavigationTarget::getEventString (const ScXMLEvent \* event, const char \* label, SbString & str\_out, SbBool required = TRUE) \[static\], \[protected\]

Returns TRUE if a string was delivered with the event under the label *label*, and FALSE otherwise. If *required* is TRUE, then errors will be given, otherwise this function will remain quiet.

### SbBool SoScXMLNavigationTarget::getEventSbBool (const ScXMLEvent \* event, const char \* label, SbBool & bool\_out, SbBool required = TRUE) \[static\], \[protected\]

Returns TRUE if a boolean value was delivered with the event under the label *label*, and FALSE otherwise. If *required* is TRUE, then errors will be given, otherwise this function will remain quiet.

### SbBool SoScXMLNavigationTarget::getEventSbVec2f (const ScXMLEvent \* event, const char \* label, SbVec2f & vec\_out, SbBool required = TRUE) \[static\], \[protected\]

Returns TRUE if an **SbVec2f** was delivered with the event under the label *label*, and FALSE otherwise. If *required* is TRUE, then errors will be given, otherwise this function will remain quiet.

### SbBool SoScXMLNavigationTarget::getEventSbVec3f (const ScXMLEvent \* event, const char \* label, SbVec3f & vec\_out, SbBool required = TRUE) \[static\], \[protected\]

Returns TRUE if an **SbVec3f** was delivered with the event under the label *label*, and FALSE otherwise. If *required* is TRUE, then errors will be given, otherwise this function will remain quiet.

### SbBool SoScXMLNavigationTarget::getEventSbRotation (const ScXMLEvent \* event, const char \* label, SbRotation & rot\_out, SbBool required = TRUE) \[static\], \[protected\]

Returns TRUE if an **SbRotation** was delivered with the event under the label *label*, and FALSE otherwise. If *required* is TRUE, then errors will be given, otherwise this function will remain quiet.

## Author

Generated automatically by Doxygen for Coin from the source code.
