Coin Logo Coin3D is Free Software,
published under the BSD 3-clause license.
https://bitbucket.org/Coin3D/
http://www.kongsberg.com/kogt/
SoScXMLDollyTarget Class Reference

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

#include <Inventor/scxml/SoScXMLDollyTarget.h>

Inheritance diagram for SoScXMLDollyTarget:
SoScXMLNavigationTarget ScXMLEventTarget ScXMLObject

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 run-time type checking and "downward" casting. More...
 
- 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 ScXMLEventgetCurrentEvent (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. More...
 

Static Public Member Functions

static SoType getClassTypeId (void)
 
static void * createInstance (void)
 
static void initClass (void)
 
static void cleanClass (void)
 
static SoScXMLDollyTargetconstructSingleton (void)
 
static void destructSingleton (void)
 
static SoScXMLDollyTargetsingleton (void)
 
static const SbNameBEGIN (void)
 
static const SbNameUPDATE (void)
 
static const SbNameEND (void)
 
static const SbNameJUMP (void)
 
static const SbNameSTEP_IN (void)
 
static const SbNameSTEP_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. More...
 
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. More...
 
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 typesystem.
 

Protected Member Functions

 SoScXMLDollyTarget (void)
 
virtual SbBool processOneEvent (const ScXMLEvent *event)
 
- Protected Member Functions inherited from SoScXMLNavigationTarget
DatagetSessionData (SbName sessionid, NewDataFunc *constructor)
 
void freeSessionData (SbName sessionid)
 
- Protected Member Functions inherited from ScXMLEventTarget
virtual void setCurrentEvent (const ScXMLEvent *event)
 
virtual const ScXMLEventgetNextEvent (void)
 
virtual const ScXMLEventgetNextInternalEvent (void)
 
virtual const ScXMLEventgetNextExternalEvent (void)
 

Additional Inherited Members

- Protected Types inherited from SoScXMLNavigationTarget
typedef DataNewDataFunc(void)
 
- Static Protected Member Functions inherited from SoScXMLNavigationTarget
static SbName getSessionId (const ScXMLEvent *event)
 
static ScXMLStateMachinegetStateMachine (const ScXMLEvent *event, SbName sessionid)
 
static SoScXMLStateMachinegetSoStateMachine (const ScXMLEvent *event, SbName sessionid)
 
static SoCameragetActiveCamera (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 ScXMLEventTargetgetEventTarget (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 ScXMLEventcurrentevent
 
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
2008-02-14

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 run-time 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 focaldistance, and the focaldistance 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)
protectedvirtual

Dispatches incoming SCXML events to the corresponding functionality.

Reimplemented from ScXMLEventTarget.


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