VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
makVrv::DtObserver Class Reference

A facade for a DtObserverObject. More...

Public Types

typedef std::vector< DtElementIDElementList

Public Member Functions

 DtObserver (DtDe &de, DtAgentManagerInterface &sceneInterface, const DtObserverConfiguration &config)
 CTOR.
virtual ~DtObserver ()
 DTOR.
DtDede ()
 Get the observer's DtDe.
DtObserverObjectAgent & agent ()
 Get the observer object agent.
const DtObserverObjectAgent & agent () const
 Get the terrain patch object agent.
bool getRecord (makArchives::DtObserverStateRecord &recOut) const
 Returns true if recOut was filled with all the state of this object.
void setFromRecord (const makArchives::DtObserverStateRecord &rec)
 Fill out this object's state from the record.
bool getRecord (makArchives::DtObserverSettingsRecord &recOut) const
 Returns true if recOut was filled with all the setting of this object.
void setFromRecord (const makArchives::DtObserverSettingsRecord &rec)
 Fill out this object's settings from the record.
makArchives::DtObserverStateRecord getCachedObserverStateRecord () const
 Get the original copy of the observer state record cached at creation time from myCachedObserverStateRecord.
bool hasInitialLocation () const
 True if a setFromRecord results in a location set that should not be overriden by a subsequent reset (used in initialization only)
const std::string & name () const
 Get the configuration name.
void setName (const std::string &name)
double viewResolution () const
 Get the observer's resolution (2D).In meters per pixel.
void setViewResolution (double resolution)
 Set the observer's resolution (2D). In meters per pixel.
double viewMagnification () const
 Get this observer's view magnification.
void setViewMagnification (double magnficationFactor)
 Set this observer's view magnification.
DtObserverConfigurationconfiguration ()
const DtObserverConfigurationconfiguration () const
bool inUse (const std::string &channelKeyToIgnore="") const
 Returns true in this observer is found in any channel configuration.
void setAttachType (DtObserverObject::AttachType type)
DtObserverObject::AttachType attachType () const
void setOrientToTargetConstraint (bool orient)
bool orientToTargetConstraint () const
DtElementID lastSingleAttached () const
 Last single id this observer attached to.
bool haveLastSingleAttached () const
 Has this observer ever attached to a single entity?
virtual void toggleFlashlight ()
 Toggle the observer-attached flashlight on or off.
virtual DtCameraShakecameraShake ()
 Get the camera shake is on this observer.
virtual bool setCameraShake (const std::string &shakeType)
 Tell the observer what kind of camera shake to set.
virtual void setCameraShakeRotation (const DtQuat &rotQuat) const
 Provide a rotational offset to the camera for camera shake.
virtual void synchronize ()
int observerMode () const
 Visual mode for this observer.
void setObserverMode (int observerMode)
 Visual mode for this observer.
void attachToNextElement ()
 Tell the observer to attach to the next allowable object.
void attachToPreviousElement ()
 Tell the observer to attach to the previous allowable object.
bool isAttached (DtElementID) const
 Returns true if the element is attached as either a primary or secondary element.
bool isPrimaryAttached (DtElementID) const
 Returns true if the object is attached as a primary object.
bool isSecondaryAttached (DtElementID) const
 Returns true if the object is attached as a secondary object.
void setPrimaryAttachment (const ElementList &element)
 Attach to the following elements.
void setSecondaryAttachment (const ElementList &objects)
 Set secondary attachment to the following elements.
void setPartAttachment (int partId)
 Set the part number of the primary attachment.
int partAttachment () const
 Get the part ID that the observer is attached to.
void detach ()
 Detach from all elements.
bool attached () const
 Check if the observer is attached to elements.
bool tracking () const
 Check if the observer is attached to elements.
const ElementListprimaryAttachments () const
 Get the primary attachments.
const ElementListsecondaryAttachments () const
 Get the secondary attachments.
void setHideModelOnAttach (bool hide)
 Tell the observer to attach to the next allowable object.
bool hideModelOnAttach () const
 Tell the observer to attach to the next allowable object.
void setAttachmentHas3DCockpit (bool cockpit)
 The GL Studio driver uses this to tell the observer that it's going to render a 3D cockpit so the observer can take that into account when determining znear.
bool attachmentHas3DCockpit () const
 Tell the observer to attach to the next allowable object.
void reset ()
 If attached, call resetAttachment, else gotoTerrain center with first terrain patch in terrain patch list.
void setAllowReset (bool b)
 Sets whether or not resetting the observer is allowed.
bool allowReset () const
 Get if reset is allowed.
void setAllowAttach (bool b)
 Sets whether or not attachment is allowed.
bool allowAttach () const
 Get if attach is allowed.
void setAllowDetach (bool b)
 Sets whether or not detachment is allowed.
bool allowDetach () const
 Get if detach is allowed.
void centerOnTerrain ()
 rest and recenter.
void centerOnTerrain (const DtUniqueID &terrainPatch)
 reset and recenter to specified terrain patch
void suppressConstrainToTerrain (bool trueFalse)
 if constrain to terrain is on, suppress or end suppress if constrain to terrain is not on, do nothing
void setConstrainToCenter (bool trueFalse)
 constrain to point to center of earth (0.0.0)
void toggleConstrainToCenter ()
 If attached, call resetAttachment, else gotoTerrain center with first terrain patch in terrain patch list.
bool constrainToCenter () const
 If attached, call resetAttachment, else gotoTerrain center with first terrain patch in terrain patch list.
void getLocation (double &x, double &y, double &z) const
 Get the observer's position from the remote object.
DtVector location () const
 Get the observer's position from the remote object.
void setLocation (double x, double y, double z)
 Go to this position (database coordinates)
void getOrientation (double &psi, double &theta, double &phi) const
 Get the observer's orientation from the local observer object.
void getTopographicOrientation (double &psi, double &theta, double &phi) const
 Get the observer's orientation from the local observer object in topo.
void setOrientation (double psi, double theta, double phi)
 Go to this orientation.
void setTopographicOrientation (double psi, double theta, double phi)
 Go to this topographic orientation.
void getOrientation (double &x, double &y, double &z, double &w) const
 Get the observer's orientation from the local observer object.
void setOrientation (double x, double y, double z, double w)
 Go to this orientation.
void moveUnit (const DtVector &direction)
 Move the observer one arbitrary unit in some direction Direction is in observer coordinates.
void rotateUnit (const DtTaitBryan &rotation)
 Rotate the observer one arbitrary unit Rotation is in observer coordinates.
void getLinearVelocity (double &x, double &y, double &z) const
 Get the observer's linear velocity from the remote object.
void getRotationalVelocity (double &x, double &y, double &z) const
 Get the observer's rotational velocity from the remote object.
bool observerObjectMoving () const
 Check to see if the observer object is moving.
double observerAltitude () const
 Get the observer's current altitude.
void setAttachedLocation (double x, double y, double z)
 Go to this position relative to the attached object (if attached, otherwise ignored - also ignored in track attach mode)
void setAttachedOrientation (double psi, double theta, double phi)
 Go to this orientation relative to the attached object (if attached, otherwise ignored - also ignored in track attach mode)
void setLocalModelScalingEnabled (bool enabled)
 Sets whether local model scaling is enabled for attached entities in space attach mode.
void setLocalModelScalingAmount (float amount)
 Sets the amount of local model scaling to apply to attached entities when in space attach mode.
void setOrbitSpeedGain (int gain, bool forwardToObserverModeManager=true)
 Set the orbit speed gain.
int orbitSpeedGain () const
 Get the orbit speed gain.
int orbitSpeedGainFromSpeed (double speed) const
 Calculate the gain for a given speed.
void setRotationSpeedGain (int gain, bool forwardToObserverModeManager=true)
 Set the orbit speed gain.
int rotationSpeedGain () const
 Set the orbit speed gain.
void setLinearSpeedGain (int gain)
 Set scaled or unscaled gain based on current speed scaling state.
int linearSpeedGain () const
 Set the orbit speed gain.
void setLinearScaledSpeedGain (int gain, bool forwardToObserverModeManager=true)
 Set the orbit speed gain.
int linearScaledSpeedGain () const
 Set the orbit speed gain.
void setLinearUnscaledSpeedGain (int gain, bool forwardToObserverModeManager=true)
 Set the orbit speed gain.
int linearUnscaledSpeedGain () const
 Set the orbit speed gain.
void setGainPrecision (int amt, bool forwardToObserverModeManager=true)
 Set the orbit speed gain.
int gainPrecision () const
 Set the orbit speed gain.
void setModelScaleFactor (double modelScaleFactor, bool forwardToObserverModeManager=true)
 Set the orbit speed gain.
double modelScaleFactor () const
 Set the orbit speed gain.
void setModelScaleType (DtObserverObject::ScaleType modelScaleType, bool forwardToObserverModeManager=true)
 Set the orbit speed gain.
DtObserverObject::ScaleType modelScaleType () const
 Set the orbit speed gain.
void setSpeedScalingMode (DtObserverObject::SpeedScalingMode mode, bool forwardToObserverModeManager=true)
 Set the orbit speed gain.
DtObserverObject::SpeedScalingMode speedScalingMode () const
 Set the orbit speed gain.
void setSpeedScalingAslModeOffset (double offset, bool forwardToObserverModeManager=true)
 Set the orbit speed gain.
double speedScalingAslModeOffset () const
 Set the orbit speed gain.
void setOrbitSpeed (double speed)
 Set the orbit speed gain.
double orbitSpeed () const
 Set the orbit speed gain.
void setRotationSpeed (double speed)
 Set the orbit speed gain.
double rotationSpeed () const
 Set the orbit speed gain.
void setLinearSpeed (double speed)
 Set the orbit speed gain.
double linearSpeed () const
 Set the orbit speed gain.
virtual void setSensor (const std::string &sensorName)
 Set the sensor to use on channels rendering with this observer.
virtual std::string findSensor ()
 Get the name of the current sensor; returns "" if there is none.
virtual void disableSensor ()
 Disables the current sensor.
virtual void slot_sensorRemoved (DtSensor *sensor)
 Called when a sensor is removed or deleted from the sensor manager.

Public Attributes

boost::signal< void(const
std::string &, DtUniqueID)> 
signal_objectAttached
 Boost signal called when observer attaches to an object.
boost::signal< void(const
std::string &)> 
signal_objectsDetached
 Boost signal called when observer detaches from all.
boost::signal< void(DtObserver
*, int)> 
signal_observerModeChanged
 Boost signal called when observer's mode changed.
boost::signal< void(DtObserver
*, int)> 
signal_linearScaledSpeedGainChanged
 Boost signal called when the scaled linear speed gain is changed.
boost::signal< void(DtObserver
*, int)> 
signal_linearUnscaledSpeedGainChanged
 Boost signal called when the unscaled linear speed gain is changed.
boost::signal< void(DtObserver
*, int)> 
signal_rotationSpeedGainChanged
 Boost signal called when the rotation speed gain is changed.
boost::signal< void(DtObserver
*, int)> 
signal_orbitSpeedGainChanged
 Boost signal called when the orbit speed gain is changed.
boost::signal< void(DtObserver
*, int)> 
signal_gainPrecisionChanged
 Boost signal called when the gain precision is changed.
boost::signal< void(DtObserver
*, double)> 
signal_modelScaleFactorChanged
 Boost signal called when the model scale factor is changed.
boost::signal< void(DtObserver
*, DtObserverObject::ScaleType)> 
signal_modelScaleTypeChanged
 Boost signal called when the model scale type is changed.
boost::signal< void(DtObserver
*, double)> 
signal_viewMagnificationChanged
 Boost signal called when the observer's view magnification is changed.
boost::signal< void(DtObserver
*, DtObserverObject::SpeedScalingMode
scalingMode)> 
signal_speedScalingModeChanged
 Signal emitted when an observer's speed scaling mode changes.
boost::signal< void(DtObserver
*, double offset)> 
signal_speedScalingAslModeOffsetChanged
 Signal emitted when an observer's speed scaling ASL mode offset changes.
boost::signal< void(DtSensor *)> signal_sensorChanged
 Called when the observer changes which sensor it's using.
boost::signal< void()> signal_terrainChanged
 Called when the observer sees a change in terrain which might require updates to observer settings.

Protected Member Functions

void slot_terrainCleared ()
 reset observer
void slot_oceanLayerAdded (const DtOceanLayer &)
void slot_oceanLayerToBeDeleted (const DtOceanLayer &)
void updateGlobalTerrainFlag (bool flag)
double calcLinearSpeed () const
double calcRotationSpeed () const
double calcOrbitSpeed () const
void getObserverOffsetVector (double &x, double &y, double &z) const
void setObserverOffsetVector (double x, double y, double z)
void getObserverRotationOffset (double &x, double &y, double &z, double &w) const
void setObserverRotationOffset (double x, double y, double z, double w)
void getDisplayNamesFromUniqueIds (const std::vector< DtUniqueID > &idsIn, std::set< std::string > &displayNamesOut) const
bool getUniqueIdsFromDisplayNames (const std::set< std::string > &displayNamesIn, std::vector< DtUniqueID > &idsOut) const
makArchives::DtObserverSettingsRecord::AttachType convertObserverAttachType (DtObserverObject::AttachType type) const
DtObserverObject::AttachType convertObserverSettingsAttachType (makArchives::DtObserverSettingsRecord::AttachType type) const
void connectToElementDataSignals ()
void disconnectFromElementDataSignals ()
void setModeSpecificObserverObjectData ()
virtual void slot_onElementsAdded (const DtElementData::ElementList &elements)
 Called by signal whenever elements are added.
virtual void slot_onElementAttributesChanged (const DtElementData::EntryAttributesList &attributes)
 Called by signal whenever element attributes change.
void slot_observerModeModelSetChanged (int observerMode)
void slot_observerModeSensorChanged (int observerMode)
void slot_observerModeIs2DChanged (int observerMode)
void slot_observerModeKeyMapChanged (int observerMode)
void slot_observerModeGainPrecisionChanged (int observerMode)
void slot_observerModeOrbitSpeedGainChanged (int observerMode)
void slot_observerModeRotationSpeedGainChanged (int observerMode)
void slot_observerModeLinearScaledSpeedGainChanged (int observerMode)
void slot_observerModeLinearUnscaledSpeedGainChanged (int observerMode)
void slot_observerModeModelScaleFactorChanged (int observerMode)
void slot_observerModeModelScaleTypeChanged (int observerMode)
void slot_observerModeSpeedScalingModeChanged (int observerMode)
void slot_observerModeSpeedScalingAslModeOffsetChanged (int observerMode)
void slot_observerModeSettingChanged (int observerMode, int settingKey)
void slot_observerModeAdded (int observerMode)
void attachTo (bool afterTrue)
 Protected implementation of attach to.

Protected Attributes

DtDemyDe
DtSignalConnectionManager myConnections
DtObserverObjectAgent * myObserverObjectAgent
DtObserverConfigurationmyConfiguration
makArchives::DtObserverStateRecord myCachedObserverStateRecord
 This is used as a work-around to cache attachments for entities which have not yet been created.
int myObserverMode
bool myHideModelOnAttach
bool myAttachmentHas3DCockpit
DtObserverObject::AttachType myAttachType
std::vector< DtUniqueIDmyCurrentAttachments
std::vector< DtUniqueIDmySecondaryAttachments
DtUniqueID myLastSingleAttached
unsigned int myPartId
bool myOrientToTargetConstraint
bool myConstrainToCenter
bool myConnectedToElementDataSignals
bool myAllowReset
bool myAllowAttach
bool myAllowDetach
bool myHasInitialLocation
bool myFlashlightEnabled
double myViewMagnification
DtSensormySensor
DtCameraShakemyCameraShake

Static Protected Attributes

static const double theMoveStepSize

Detailed Description

A facade for a DtObserverObject.

Member Typedef Documentation

Constructor & Destructor Documentation

makVrv::DtObserver::DtObserver ( DtDe de,
DtAgentManagerInterface sceneInterface,
const DtObserverConfiguration config 
)

CTOR.

virtual makVrv::DtObserver::~DtObserver ( )
virtual

DTOR.

Member Function Documentation

DtDe& makVrv::DtObserver::de ( )
inline

Get the observer's DtDe.

DtObserverObjectAgent& makVrv::DtObserver::agent ( )

Get the observer object agent.

const DtObserverObjectAgent& makVrv::DtObserver::agent ( ) const

Get the terrain patch object agent.

bool makVrv::DtObserver::getRecord ( makArchives::DtObserverStateRecord recOut) const

Returns true if recOut was filled with all the state of this object.

void makVrv::DtObserver::setFromRecord ( const makArchives::DtObserverStateRecord rec)

Fill out this object's state from the record.

bool makVrv::DtObserver::getRecord ( makArchives::DtObserverSettingsRecord recOut) const

Returns true if recOut was filled with all the setting of this object.

void makVrv::DtObserver::setFromRecord ( const makArchives::DtObserverSettingsRecord rec)

Fill out this object's settings from the record.

makArchives::DtObserverStateRecord makVrv::DtObserver::getCachedObserverStateRecord ( ) const

Get the original copy of the observer state record cached at creation time from myCachedObserverStateRecord.

Note that myCachedObserverStateRecord is temporary and this function will be removed in a future release.

bool makVrv::DtObserver::hasInitialLocation ( ) const

True if a setFromRecord results in a location set that should not be overriden by a subsequent reset (used in initialization only)

const std::string& makVrv::DtObserver::name ( ) const

Get the configuration name.

void makVrv::DtObserver::setName ( const std::string &  name)
int makVrv::DtObserver::observerMode ( ) const

Visual mode for this observer.

The integer key corresponding to a named mode can be looked up by accessing the DtObserverMode by calling DtObserverModeManager::getObserverModeByName and then calling DtObserverMode::intKey on it.

void makVrv::DtObserver::setObserverMode ( int  observerMode)

Visual mode for this observer.

The integer key corresponding to a named mode can be looked up by accessing the DtObserverMode by calling DtObserverModeManager::getObserverModeByName and then calling DtObserverMode::intKey on it.

double makVrv::DtObserver::viewResolution ( ) const

Get the observer's resolution (2D).In meters per pixel.

void makVrv::DtObserver::setViewResolution ( double  resolution)

Set the observer's resolution (2D). In meters per pixel.

double makVrv::DtObserver::viewMagnification ( ) const

Get this observer's view magnification.

void makVrv::DtObserver::setViewMagnification ( double  magnficationFactor)

Set this observer's view magnification.

DtObserverConfiguration& makVrv::DtObserver::configuration ( )
const DtObserverConfiguration& makVrv::DtObserver::configuration ( ) const
bool makVrv::DtObserver::inUse ( const std::string &  channelKeyToIgnore = "") const

Returns true in this observer is found in any channel configuration.

void makVrv::DtObserver::attachToNextElement ( )

Tell the observer to attach to the next allowable object.

void makVrv::DtObserver::attachToPreviousElement ( )

Tell the observer to attach to the previous allowable object.

bool makVrv::DtObserver::isAttached ( DtElementID  ) const

Returns true if the element is attached as either a primary or secondary element.

bool makVrv::DtObserver::isPrimaryAttached ( DtElementID  ) const

Returns true if the object is attached as a primary object.

bool makVrv::DtObserver::isSecondaryAttached ( DtElementID  ) const

Returns true if the object is attached as a secondary object.

void makVrv::DtObserver::setPrimaryAttachment ( const ElementList element)

Attach to the following elements.

If there are more than 1 element, the and the attach mode does not support multiple attachments the mode will change to AttachTypeTether

void makVrv::DtObserver::setSecondaryAttachment ( const ElementList objects)

Set secondary attachment to the following elements.

Secondary attachment is used by certain attach modes to allow tracking a secondary attachment (aka the observer orientation) while attached to a a primary attachment (aka the observer position)

void makVrv::DtObserver::setPartAttachment ( int  partId)

Set the part number of the primary attachment.

Setting the partID to 0 attaches to the primary object rather than the part.

int makVrv::DtObserver::partAttachment ( ) const

Get the part ID that the observer is attached to.

void makVrv::DtObserver::detach ( )

Detach from all elements.

bool makVrv::DtObserver::attached ( ) const

Check if the observer is attached to elements.

bool makVrv::DtObserver::tracking ( ) const

Check if the observer is attached to elements.

const ElementList& makVrv::DtObserver::primaryAttachments ( ) const

Get the primary attachments.

const ElementList& makVrv::DtObserver::secondaryAttachments ( ) const

Get the secondary attachments.

void makVrv::DtObserver::setHideModelOnAttach ( bool  hide)

Tell the observer to attach to the next allowable object.

bool makVrv::DtObserver::hideModelOnAttach ( ) const

Tell the observer to attach to the next allowable object.

void makVrv::DtObserver::setAttachmentHas3DCockpit ( bool  cockpit)

The GL Studio driver uses this to tell the observer that it's going to render a 3D cockpit so the observer can take that into account when determining znear.

bool makVrv::DtObserver::attachmentHas3DCockpit ( ) const

Tell the observer to attach to the next allowable object.

void makVrv::DtObserver::setAttachType ( DtObserverObject::AttachType  type)
DtObserverObject::AttachType makVrv::DtObserver::attachType ( ) const
void makVrv::DtObserver::setOrientToTargetConstraint ( bool  orient)
bool makVrv::DtObserver::orientToTargetConstraint ( ) const
DtElementID makVrv::DtObserver::lastSingleAttached ( ) const

Last single id this observer attached to.

Only valid if haveLastSingleAttached() (below) is true

bool makVrv::DtObserver::haveLastSingleAttached ( ) const

Has this observer ever attached to a single entity?

void makVrv::DtObserver::reset ( )

If attached, call resetAttachment, else gotoTerrain center with first terrain patch in terrain patch list.

void makVrv::DtObserver::setAllowReset ( bool  b)

Sets whether or not resetting the observer is allowed.

Set to false in order to ignore resets and zeroing of terrain

bool makVrv::DtObserver::allowReset ( ) const

Get if reset is allowed.

void makVrv::DtObserver::setAllowAttach ( bool  b)

Sets whether or not attachment is allowed.

bool makVrv::DtObserver::allowAttach ( ) const

Get if attach is allowed.

void makVrv::DtObserver::setAllowDetach ( bool  b)

Sets whether or not detachment is allowed.

bool makVrv::DtObserver::allowDetach ( ) const

Get if detach is allowed.

void makVrv::DtObserver::centerOnTerrain ( )

rest and recenter.

void makVrv::DtObserver::centerOnTerrain ( const DtUniqueID terrainPatch)

reset and recenter to specified terrain patch

void makVrv::DtObserver::suppressConstrainToTerrain ( bool  trueFalse)

if constrain to terrain is on, suppress or end suppress if constrain to terrain is not on, do nothing

void makVrv::DtObserver::setConstrainToCenter ( bool  trueFalse)

constrain to point to center of earth (0.0.0)

void makVrv::DtObserver::toggleConstrainToCenter ( )

If attached, call resetAttachment, else gotoTerrain center with first terrain patch in terrain patch list.

bool makVrv::DtObserver::constrainToCenter ( ) const

If attached, call resetAttachment, else gotoTerrain center with first terrain patch in terrain patch list.

void makVrv::DtObserver::getLocation ( double &  x,
double &  y,
double &  z 
) const

Get the observer's position from the remote object.

DtVector makVrv::DtObserver::location ( ) const

Get the observer's position from the remote object.

void makVrv::DtObserver::setLocation ( double  x,
double  y,
double  z 
)

Go to this position (database coordinates)

void makVrv::DtObserver::getOrientation ( double &  psi,
double &  theta,
double &  phi 
) const

Get the observer's orientation from the local observer object.

void makVrv::DtObserver::getTopographicOrientation ( double &  psi,
double &  theta,
double &  phi 
) const

Get the observer's orientation from the local observer object in topo.

void makVrv::DtObserver::setOrientation ( double  psi,
double  theta,
double  phi 
)

Go to this orientation.

void makVrv::DtObserver::setTopographicOrientation ( double  psi,
double  theta,
double  phi 
)

Go to this topographic orientation.

void makVrv::DtObserver::getOrientation ( double &  x,
double &  y,
double &  z,
double &  w 
) const

Get the observer's orientation from the local observer object.

void makVrv::DtObserver::setOrientation ( double  x,
double  y,
double  z,
double  w 
)

Go to this orientation.

void makVrv::DtObserver::moveUnit ( const DtVector direction)

Move the observer one arbitrary unit in some direction Direction is in observer coordinates.

void makVrv::DtObserver::rotateUnit ( const DtTaitBryan &  rotation)

Rotate the observer one arbitrary unit Rotation is in observer coordinates.

void makVrv::DtObserver::getLinearVelocity ( double &  x,
double &  y,
double &  z 
) const

Get the observer's linear velocity from the remote object.

void makVrv::DtObserver::getRotationalVelocity ( double &  x,
double &  y,
double &  z 
) const

Get the observer's rotational velocity from the remote object.

bool makVrv::DtObserver::observerObjectMoving ( ) const

Check to see if the observer object is moving.

double makVrv::DtObserver::observerAltitude ( ) const

Get the observer's current altitude.

void makVrv::DtObserver::setAttachedLocation ( double  x,
double  y,
double  z 
)

Go to this position relative to the attached object (if attached, otherwise ignored - also ignored in track attach mode)

void makVrv::DtObserver::setAttachedOrientation ( double  psi,
double  theta,
double  phi 
)

Go to this orientation relative to the attached object (if attached, otherwise ignored - also ignored in track attach mode)

void makVrv::DtObserver::setLocalModelScalingEnabled ( bool  enabled)

Sets whether local model scaling is enabled for attached entities in space attach mode.

void makVrv::DtObserver::setLocalModelScalingAmount ( float  amount)

Sets the amount of local model scaling to apply to attached entities when in space attach mode.

void makVrv::DtObserver::setOrbitSpeedGain ( int  gain,
bool  forwardToObserverModeManager = true 
)

Set the orbit speed gain.

int makVrv::DtObserver::orbitSpeedGain ( ) const

Get the orbit speed gain.

int makVrv::DtObserver::orbitSpeedGainFromSpeed ( double  speed) const

Calculate the gain for a given speed.

void makVrv::DtObserver::setRotationSpeedGain ( int  gain,
bool  forwardToObserverModeManager = true 
)

Set the orbit speed gain.

int makVrv::DtObserver::rotationSpeedGain ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setLinearSpeedGain ( int  gain)

Set scaled or unscaled gain based on current speed scaling state.

int makVrv::DtObserver::linearSpeedGain ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setLinearScaledSpeedGain ( int  gain,
bool  forwardToObserverModeManager = true 
)

Set the orbit speed gain.

int makVrv::DtObserver::linearScaledSpeedGain ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setLinearUnscaledSpeedGain ( int  gain,
bool  forwardToObserverModeManager = true 
)

Set the orbit speed gain.

int makVrv::DtObserver::linearUnscaledSpeedGain ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setGainPrecision ( int  amt,
bool  forwardToObserverModeManager = true 
)

Set the orbit speed gain.

int makVrv::DtObserver::gainPrecision ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setModelScaleFactor ( double  modelScaleFactor,
bool  forwardToObserverModeManager = true 
)

Set the orbit speed gain.

double makVrv::DtObserver::modelScaleFactor ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setModelScaleType ( DtObserverObject::ScaleType  modelScaleType,
bool  forwardToObserverModeManager = true 
)

Set the orbit speed gain.

DtObserverObject::ScaleType makVrv::DtObserver::modelScaleType ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setSpeedScalingMode ( DtObserverObject::SpeedScalingMode  mode,
bool  forwardToObserverModeManager = true 
)

Set the orbit speed gain.

DtObserverObject::SpeedScalingMode makVrv::DtObserver::speedScalingMode ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setSpeedScalingAslModeOffset ( double  offset,
bool  forwardToObserverModeManager = true 
)

Set the orbit speed gain.

double makVrv::DtObserver::speedScalingAslModeOffset ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setOrbitSpeed ( double  speed)

Set the orbit speed gain.

double makVrv::DtObserver::orbitSpeed ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setRotationSpeed ( double  speed)

Set the orbit speed gain.

double makVrv::DtObserver::rotationSpeed ( ) const

Set the orbit speed gain.

void makVrv::DtObserver::setLinearSpeed ( double  speed)

Set the orbit speed gain.

double makVrv::DtObserver::linearSpeed ( ) const

Set the orbit speed gain.

virtual void makVrv::DtObserver::toggleFlashlight ( )
virtual

Toggle the observer-attached flashlight on or off.

virtual DtCameraShake* makVrv::DtObserver::cameraShake ( )
virtual

Get the camera shake is on this observer.

virtual bool makVrv::DtObserver::setCameraShake ( const std::string &  shakeType)
virtual

Tell the observer what kind of camera shake to set.

virtual void makVrv::DtObserver::setCameraShakeRotation ( const DtQuat rotQuat) const
virtual

Provide a rotational offset to the camera for camera shake.

virtual void makVrv::DtObserver::setSensor ( const std::string &  sensorName)
virtual

Set the sensor to use on channels rendering with this observer.

virtual std::string makVrv::DtObserver::findSensor ( )
virtual

Get the name of the current sensor; returns "" if there is none.

virtual void makVrv::DtObserver::disableSensor ( )
virtual

Disables the current sensor.

virtual void makVrv::DtObserver::slot_sensorRemoved ( DtSensor sensor)
virtual

Called when a sensor is removed or deleted from the sensor manager.

virtual void makVrv::DtObserver::synchronize ( )
virtual
void makVrv::DtObserver::slot_terrainCleared ( )
protected

reset observer

void makVrv::DtObserver::slot_oceanLayerAdded ( const DtOceanLayer )
protected
void makVrv::DtObserver::slot_oceanLayerToBeDeleted ( const DtOceanLayer )
protected
void makVrv::DtObserver::updateGlobalTerrainFlag ( bool  flag)
protected
double makVrv::DtObserver::calcLinearSpeed ( ) const
protected
double makVrv::DtObserver::calcRotationSpeed ( ) const
protected
double makVrv::DtObserver::calcOrbitSpeed ( ) const
protected
void makVrv::DtObserver::getObserverOffsetVector ( double &  x,
double &  y,
double &  z 
) const
protected
void makVrv::DtObserver::setObserverOffsetVector ( double  x,
double  y,
double  z 
)
protected
void makVrv::DtObserver::getObserverRotationOffset ( double &  x,
double &  y,
double &  z,
double &  w 
) const
protected
void makVrv::DtObserver::setObserverRotationOffset ( double  x,
double  y,
double  z,
double  w 
)
protected
void makVrv::DtObserver::getDisplayNamesFromUniqueIds ( const std::vector< DtUniqueID > &  idsIn,
std::set< std::string > &  displayNamesOut 
) const
protected
bool makVrv::DtObserver::getUniqueIdsFromDisplayNames ( const std::set< std::string > &  displayNamesIn,
std::vector< DtUniqueID > &  idsOut 
) const
protected
makArchives::DtObserverSettingsRecord::AttachType makVrv::DtObserver::convertObserverAttachType ( DtObserverObject::AttachType  type) const
protected
DtObserverObject::AttachType makVrv::DtObserver::convertObserverSettingsAttachType ( makArchives::DtObserverSettingsRecord::AttachType  type) const
protected
void makVrv::DtObserver::connectToElementDataSignals ( )
protected
void makVrv::DtObserver::disconnectFromElementDataSignals ( )
protected
void makVrv::DtObserver::setModeSpecificObserverObjectData ( )
protected
virtual void makVrv::DtObserver::slot_onElementsAdded ( const DtElementData::ElementList elements)
protectedvirtual

Called by signal whenever elements are added.

virtual void makVrv::DtObserver::slot_onElementAttributesChanged ( const DtElementData::EntryAttributesList attributes)
protectedvirtual

Called by signal whenever element attributes change.

void makVrv::DtObserver::slot_observerModeModelSetChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeSensorChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeIs2DChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeKeyMapChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeGainPrecisionChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeOrbitSpeedGainChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeRotationSpeedGainChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeLinearScaledSpeedGainChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeLinearUnscaledSpeedGainChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeModelScaleFactorChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeModelScaleTypeChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeSpeedScalingModeChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeSpeedScalingAslModeOffsetChanged ( int  observerMode)
protected
void makVrv::DtObserver::slot_observerModeSettingChanged ( int  observerMode,
int  settingKey 
)
protected
void makVrv::DtObserver::slot_observerModeAdded ( int  observerMode)
protected
void makVrv::DtObserver::attachTo ( bool  afterTrue)
protected

Protected implementation of attach to.

Member Data Documentation

boost::signal<void(const std::string&, DtUniqueID)> makVrv::DtObserver::signal_objectAttached

Boost signal called when observer attaches to an object.

boost::signal<void(const std::string&)> makVrv::DtObserver::signal_objectsDetached

Boost signal called when observer detaches from all.

boost::signal<void(DtObserver*, int)> makVrv::DtObserver::signal_observerModeChanged

Boost signal called when observer's mode changed.

boost::signal<void(DtObserver*, int)> makVrv::DtObserver::signal_linearScaledSpeedGainChanged

Boost signal called when the scaled linear speed gain is changed.

boost::signal<void(DtObserver*, int)> makVrv::DtObserver::signal_linearUnscaledSpeedGainChanged

Boost signal called when the unscaled linear speed gain is changed.

boost::signal<void(DtObserver*, int)> makVrv::DtObserver::signal_rotationSpeedGainChanged

Boost signal called when the rotation speed gain is changed.

boost::signal<void(DtObserver*, int)> makVrv::DtObserver::signal_orbitSpeedGainChanged

Boost signal called when the orbit speed gain is changed.

boost::signal<void(DtObserver*, int)> makVrv::DtObserver::signal_gainPrecisionChanged

Boost signal called when the gain precision is changed.

boost::signal<void(DtObserver*, double)> makVrv::DtObserver::signal_modelScaleFactorChanged

Boost signal called when the model scale factor is changed.

boost::signal<void(DtObserver*, DtObserverObject::ScaleType)> makVrv::DtObserver::signal_modelScaleTypeChanged

Boost signal called when the model scale type is changed.

boost::signal<void(DtObserver*, double)> makVrv::DtObserver::signal_viewMagnificationChanged

Boost signal called when the observer's view magnification is changed.

boost::signal<void (DtObserver*, DtObserverObject::SpeedScalingMode scalingMode)> makVrv::DtObserver::signal_speedScalingModeChanged

Signal emitted when an observer's speed scaling mode changes.

boost::signal<void (DtObserver*, double offset)> makVrv::DtObserver::signal_speedScalingAslModeOffsetChanged

Signal emitted when an observer's speed scaling ASL mode offset changes.

boost::signal<void (DtSensor*)> makVrv::DtObserver::signal_sensorChanged

Called when the observer changes which sensor it's using.

Passes 0 when its sensor is disabled

boost::signal<void ()> makVrv::DtObserver::signal_terrainChanged

Called when the observer sees a change in terrain which might require updates to observer settings.

const double makVrv::DtObserver::theMoveStepSize
staticprotected
DtDe& makVrv::DtObserver::myDe
protected
DtSignalConnectionManager makVrv::DtObserver::myConnections
protected
DtObserverObjectAgent* makVrv::DtObserver::myObserverObjectAgent
protected
DtObserverConfiguration* makVrv::DtObserver::myConfiguration
protected
makArchives::DtObserverStateRecord makVrv::DtObserver::myCachedObserverStateRecord
protected

This is used as a work-around to cache attachments for entities which have not yet been created.

It will eventually be removed and therefore should not be used.

int makVrv::DtObserver::myObserverMode
protected
bool makVrv::DtObserver::myHideModelOnAttach
protected
bool makVrv::DtObserver::myAttachmentHas3DCockpit
protected
DtObserverObject::AttachType makVrv::DtObserver::myAttachType
protected
std::vector<DtUniqueID> makVrv::DtObserver::myCurrentAttachments
protected
std::vector<DtUniqueID> makVrv::DtObserver::mySecondaryAttachments
protected
DtUniqueID makVrv::DtObserver::myLastSingleAttached
protected
unsigned int makVrv::DtObserver::myPartId
protected
bool makVrv::DtObserver::myOrientToTargetConstraint
protected
bool makVrv::DtObserver::myConstrainToCenter
protected
bool makVrv::DtObserver::myConnectedToElementDataSignals
protected
bool makVrv::DtObserver::myAllowReset
protected
bool makVrv::DtObserver::myAllowAttach
protected
bool makVrv::DtObserver::myAllowDetach
protected
bool makVrv::DtObserver::myHasInitialLocation
protected
bool makVrv::DtObserver::myFlashlightEnabled
protected
double makVrv::DtObserver::myViewMagnification
protected
DtSensor* makVrv::DtObserver::mySensor
protected
DtCameraShake* makVrv::DtObserver::myCameraShake
protected

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

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)