SoScXMLDollyTarget Class Reference
Navigation Classes

SCXML event target service for zoom behaviour. More...

`#include <Inventor/scxml/SoScXMLDollyTarget.h>`

Inheritance diagram for SoScXMLDollyTarget:

## Public Member Functions

virtual SoType | getTypeId (void) const
| 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 * | createInstance (void)
static void | initClass (void)
static void | cleanClass (void)
static SoScXMLDollyTarget * | constructSingleton (void)
static void | destructSingleton (void)
static SoScXMLDollyTarget * | singleton (void)
static const SbName & | BEGIN (void)
static const SbName & | UPDATE (void)
static const SbName & | END (void)
static const SbName & | JUMP (void)
static const SbName & | STEP_IN (void)
static const SbName & | STEP_OUT (void)
static void | dolly (SoCamera *camera, float diff)
static void | jump (SoCamera *camera, float focaldistance)
static void | step (SoCamera *camera, SbBool exponential, float diff, float min=0.0f, float max=0.0f)
Static Public Member Functions inherited from SoScXMLNavigationTarget
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 Member Functions

| SoScXMLDollyTarget (void)
virtual SbBool | processOneEvent (const ScXMLEvent *event)
Protected Member Functions inherited from SoScXMLNavigationTarget
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)

## Additional Inherited Members

Protected Types inherited from SoScXMLNavigationTarget
typedef Data * | NewDataFunc(void)
Static Protected Member Functions inherited from SoScXMLNavigationTarget
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)
Protected Attributes inherited from ScXMLEventTarget
char * | targetname
char * | targettype
const ScXMLEvent * | currentevent
SbBool | isprocessingqueue

## Detailed Description

SCXML event target service for zoom behaviour.

Events:

x-coin-navigation.Dolly.*

BEGIN _sessionid {string} mouseposition {SbVec2f} [absminfocaldistance] {float} [absmaxfocaldistance] {float} [setfocaldistance] {float} [motiontype] {string:exponential,linear}

UPDATE _sessionid {string} mouseposition {SbVec2f}

END _sessionid {string} mouseposition {SbVec2f}

JUMP _sessionid {string} focaldistance {float}

STEP_IN _sessionid [count=1] {float} [absminfocaldistance] {float} [motiontype] {string:exponential,linear}

STEP_OUT _sessionid [count=1] {float} [absmaxfocaldistance] {float} [motiontype] {string:exponential,linear}

Since
  Coin 3.1

## Constructor & Destructor Documentation

## SoScXMLDollyTarget()

SoScXMLDollyTarget::SoScXMLDollyTarget | ( | void |  | ) |

protected

The constructor registers the singleton with the proper name and target type.

## Member Function Documentation

## getTypeId()

SoType SoScXMLDollyTarget::getTypeId | ( | void |  | ) | const

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 SoScXMLNavigationTarget.

## BEGIN()

const SbName & SoScXMLDollyTarget::BEGIN | ( | void |  | ) |

static

Returns the full name for the dolly BEGIN SCXML event.

## UPDATE()

const SbName & SoScXMLDollyTarget::UPDATE | ( | void |  | ) |

static

Returns the full name for the dolly UPDATE SCXML event.

## END()

const SbName & SoScXMLDollyTarget::END | ( | void |  | ) |

static

Returns the full name for the dolly END SCXML event.

## JUMP()

const SbName & SoScXMLDollyTarget::JUMP | ( | void |  | ) |

static

Returns the full name for the dolly JUMP SCXML event.

## STEP_IN()

const SbName & SoScXMLDollyTarget::STEP_IN | ( | void |  | ) |

static

Returns the full name for the dolly STEP_IN SCXML event.

## STEP_OUT()

const SbName & SoScXMLDollyTarget::STEP_OUT | ( | void |  | ) |

static

Returns the full name for the dolly STEP_OUT SCXML event.

## jump()

void SoScXMLDollyTarget::jump | ( | SoCamera * | camera,
|  | float | focaldistance )

static

Jumps the camera to focaldistance distance from the current focal point of the camera. This function only changes the SoCamera::position field.

This function is more or less useless to use on an SoOrthographicCamera.

## step()

void SoScXMLDollyTarget::step | ( | SoCamera * | camera,
|  | SbBool | exponential,
|  | float | diff,
|  | float | mindistance = 0.0f,
|  | float | maxdistance = 0.0f )

static

Steps the camera relative to its orientation and focal point by diff.

If exponential is FALSE, then the diff value is treated as an absolute distance value.

If mindistance and/or maxdistance is anything but 0.0, they are checked against the focal distance, and the focal distance will be clamped inside the range. Both are not needed, if only one is specified, only that part of the range will be used to limit the dollying.

If exponential is TRUE...FIXME

## processOneEvent()

SbBool SoScXMLDollyTarget::processOneEvent | ( | const ScXMLEvent * | event | ) |

protected virtual

Dispatches incoming SCXML events to the corresponding functionality.

Reimplemented from ScXMLEventTarget.

The documentation for this class was generated from the following files:

- SoScXMLDollyTarget.h
- SoScXMLDollyTarget.cpp