VR-Forces 4.0.4 Class Documentation
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
makVrv::DtOsgObserverObject Class Reference

This abstract base class defines the interface for OS-specific keyboard and mouse event listeners. More...

Inheritance diagram for makVrv::DtOsgObserverObject:
Inheritance graph
[legend]

List of all members.

Classes

class  MotionState
 This form is used for doing level ('flying carpet') style movements. More...

Public Types

enum  TerrainResult { TerrainResultNoData = 0, TerrainResultNewCenter, TerrainResultComplete }

Public Member Functions

 DtOsgObserverObject (DtDe &de, DtUniqueID id, const std::string &name="")
 CTOR.
virtual ~DtOsgObserverObject ()
 DTOR.
virtual void tick (double simTime)
 Update the observer object, calculates position of by sim Time.
virtual void tickAttachment ()
virtual void setModelSet (int modelSet)
 Set the model set for this observer.
virtual double altitude () const
 Get the observer's altitude.
virtual void setNameAndRegister (const std::string &name)
 Set the observer object name Set the observer object name, and register this observer object with the observer object manager.
virtual void getCameraPositionAndOrientation (osg::Vec3d &position, osg::Quat &rotation) const
virtual void rotateLevelYawLeft (double rads)
 yaw left (level observer coordinates) yaw left movement (rotate left about the level observer-Z axis)
virtual void rotateLevelYawRight (double rads)
 yaw right (level observer coordinates) yaw right movement (rotate right about the level observer-Z axis) axis)
virtual void startLookLeft ()
 Camera Control.
virtual void stopLookLeft ()
 Camera Control.
virtual void lookLeft (double rads)
 Camera Control.
virtual void startLookRight ()
 rotate camera right (observer coordinates) Look right, wrt the observer
virtual void stopLookRight ()
 rotate camera right (observer coordinates) Look right, wrt the observer
virtual void lookRight (double rads)
 rotate camera right (observer coordinates) Look right, wrt the observer
virtual void startLookUp ()
 rotate camera up (observer coordinates) Look up, wrt the observer
virtual void stopLookUp ()
 rotate camera up (observer coordinates) Look up, wrt the observer
virtual void lookUp (double rads)
 rotate camera up (observer coordinates) Look up, wrt the observer
virtual void startLookDown ()
 rotate camera down (observer coordinates) Look down, wrt the observer
virtual void stopLookDown ()
 rotate camera down (observer coordinates) Look down, wrt the observer
virtual void lookDown (double rads)
 rotate camera down (observer coordinates) Look down, wrt the observer
virtual void startLookTiltRight ()
 roll the camera right (observer coordinates) Roll look right, wrt the observer
virtual void stopLookTiltRight ()
 roll the camera right (observer coordinates) Roll look right, wrt the observer
virtual void lookTiltRight (double rads)
 roll the camera right (observer coordinates) Roll look right, wrt the observer
virtual void startLookTiltLeft ()
 roll the camera left (observer coordinates) Roll look left, wrt the observer
virtual void stopLookTiltLeft ()
 roll the camera left (observer coordinates) Roll look left, wrt the observer
virtual void lookTiltLeft (double rads)
 roll the camera left (observer coordinates) Roll look left, wrt the observer
virtual void setLocation (double x, double y, double z)
 jump to x, y, z
virtual void setAttachedLocation (double x, double y, double z)
 jump to x, y, z in attached entity coords.
virtual void setOrientation (double psi, double theta, double phi)
 turn to psi, theta, phi
virtual void setOrientation (double x, double y, double z, double w)
 turn to quat(x,y,z,w)
virtual void setAttachedOrientation (double psi, double theta, double phi)
 turn to psi, theta, phi in attached entity coords
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.
virtual void jumpTo (double x, double y, double z)
 jump to x, y, z and then the observer is 'backed off' the location
virtual void jumpTo (DtUniqueID elementID)
 jump to object specfied by ID
virtual void orientTo (double x, double y, double z)
virtual void dragTerrain (double lastX, double lastY, double lastZ, double currX, double currY, double currZ)
 drag the database point 'last' to the point 'curr'
virtual void dragTerrain2 (double myStartDragX, double myStartDragY, double myStartDragZ, int deltaMouseX, int deltaMouseY)
virtual void dragGravityUp (double windowUnits)
virtual void dragGravityDown (double windowUnits)
virtual void dragGravityLeft (double windowUnits)
virtual void dragGravityRight (double windowUnits)
virtual void scrollObserverForward (int wheelUnits)
virtual void scrollObserverBack (int wheelUnits)
virtual void scrollLevelObserverForward (int wheelUnits)
virtual void scrollLevelObserverBack (int wheelUnits)
virtual void startIncreasingViewResolution ()
 Zoom handling. Works in 2D view mode only.
virtual void stopIncreasingViewResolution ()
 Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)
virtual void increaseViewResolution ()
 Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)
virtual void startDecreasingViewResolution ()
 Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)
virtual void stopDecreasingViewResolution ()
 Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)
virtual void decreaseViewResolution ()
 Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)
virtual void setViewResolution (double resolution)
 Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)
virtual double viewResolution () const
 Zoom factor. Used to scale terrain and objects.
virtual void setViewMagnification (double mag)
 Set the observer's current view magnification.
virtual double viewMagnification () const
 Get the observer's current view magnification.
virtual void setOrbitSpeed (double speed)
 Speed mutators.
virtual void setLinearSpeed (double speed)
 Set the speed used for forward/backleft/right/up/down movement (observer and camera)
virtual void setRotationSpeed (double speed)
 Set the speed used for rotation (observer and camera)
virtual void setMinLinearSpeed (double minSpeed)
 Set the minimum linear speed (used for speed scaling)
virtual void setLinearScaledSpeedGain (double gain)
 Set the linear gain as a % of max gain (precision)
virtual void gotoTerrainCenter (DtUniqueID terrainPatch, bool retry)
 Go to the terrain patch's center Go to the center of the specified terrain path, offset by the scene offsets specified in the observer's configuration.
virtual void resetAttachment ()
 reset orientation and position offsets
virtual void resetOrientation ()
 Reset observer and camera orientation Set observer orientation to North and level, and set the camera aligned with the observer.
virtual void resetCamera ()
 set camera to face the same direction as the observer
virtual void level ()
 Make the observer level Set the observer's pitch and roll angles normal to the gravity vector.
virtual void stopAll ()
 Stop all current motion.
virtual void attachToObjects (const std::vector< DtUniqueID > &elementIds)
virtual void setSecondaryAttachment (const std::vector< DtUniqueID > &elementIds)
virtual void attachToPart (int partId)
virtual void detach ()
virtual void setAttachType (DtObserverObject::AttachType type)
virtual void setHideModelOnAttach (bool hide)
virtual void scaleCurrentAttachments (bool scaled)
virtual void setOrientToTargetConstraint (bool orient)
virtual void setOrbiting (bool orbit)
virtual void setOrientCameraToTargetConstraint (bool orient)
virtual void setConstrainToTerrain (bool trueFalse)
 constrain by terrain
virtual void setConstrainToCenter (bool trueFalse)
virtual void suppressConstrainToTerrain (bool trueFalse)
 if constrain to terrain is on, suppress or end suppress if constrain to terrain is not on, do nothing
virtual void setSpeedScaling (bool trueFalse)
 scale speed based on distance from object of interest
virtual void setSpeedScaledSpeed (double speed)
 Used for reset when there is no terrain.
virtual void getLocation (double &x, double &y, double &z) const
virtual void getOrientation (double &psi, double &theta, double &phi) const
virtual void getOrientation (double &x, double &y, double &z, double &w) const
virtual double fixed2DAltitude ()
 For 2D display mode, calculates the altitude to use to set camera position Note that if the terrain is global, this is the distance from 0,0,0, so the earth radius needs to be subtracted from it.
virtual double heightAboveTerrainFromCurrentZoom ()
 calculate an (approximate) height above terrain that will correspond, when in 3D, to the same perceived HAT when in 2D
virtual double topographicHeading () const
 Get the observer's topographic heading, regardless of coordinate system currently in use.
virtual void getLinearVelocity (double &x, double &y, double &z) const
 Get the observer's linear velocity.
virtual void getRotationalVelocity (double &x, double &y, double &z) const
 Get the observer's rotational velocity.
virtual void setModeSetting (int setting, bool value)
 Override base class; since a mode setting may require attention during tick, this calls down to DtObserverObject::setModeSetting() and then sets myChanged to true.
virtual void startMoveObserverRight ()
 Observer Control.
virtual void stopMoveObserverRight ()
 Observer Control.
virtual void moveObserverRight (double meters)
 Observer Control.
virtual void startMoveObserverForward ()
 move forward (body coordinates) Observer forward movement (along the positive body Y-axis)
virtual void stopMoveObserverForward ()
 Observer Control.
virtual void moveObserverForward (double meters)
 Observer Control.
virtual void startMoveObserverUp ()
 move up (body coordinates) Observer up movement (along the positive body Z-axis)
virtual void stopMoveObserverUp ()
 move up (body coordinates) Observer up movement (along the positive body Z-axis)
virtual void moveObserverUp (double meters)
 move up (body coordinates) Observer up movement (along the positive body Z-axis)
virtual void startMoveObserverLeft ()
 move left (body coordinates) Observer left movement (along the negative body X-axis)
virtual void stopMoveObserverLeft ()
 move left (body coordinates) Observer left movement (along the negative body X-axis)
virtual void moveObserverLeft (double meters)
 move left (body coordinates) Observer left movement (along the negative body X-axis)
virtual void startMoveObserverBack ()
 move back (body coordinates) Observer back movement (along the negative body Y-axis)
virtual void stopMoveObserverBack ()
 move back (body coordinates) Observer back movement (along the negative body Y-axis)
virtual void moveObserverBack (double meters)
 move back (body coordinates) Observer back movement (along the negative body Y-axis)
virtual void startMoveObserverDown ()
 move down (body coordinates) Observer down movement (along the negative body Z-axis)
virtual void stopMoveObserverDown ()
 move down (body coordinates) Observer down movement (along the negative body Z-axis)
virtual void moveObserverDown (double meters)
 move down (body coordinates) Observer down movement (along the negative body Z-axis)
virtual void startMoveLevelObserverRight ()
 move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)
virtual void stopMoveLevelObserverRight ()
 move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)
virtual void moveLevelObserverRight (double meters)
 move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)
virtual void startMoveLevelObserverForward ()
 move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)
virtual void stopMoveLevelObserverForward ()
 move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)
virtual void moveLevelObserverForward (double meters)
 move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)
virtual void startMoveLevelObserverUp ()
 move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)
virtual void stopMoveLevelObserverUp ()
 move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)
virtual void moveLevelObserverUp (double meters)
 move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)
virtual void startMoveLevelObserverLeft ()
 move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)
virtual void stopMoveLevelObserverLeft ()
 move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)
virtual void moveLevelObserverLeft (double meters)
 move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)
virtual void startMoveLevelObserverBack ()
 move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)
virtual void stopMoveLevelObserverBack ()
 move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)
virtual void moveLevelObserverBack (double meters)
 move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)
virtual void startMoveLevelObserverDown ()
 move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)
virtual void stopMoveLevelObserverDown ()
 move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)
virtual void moveLevelObserverDown (double meters)
 move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)
virtual void startMoveAttachedRight ()
 move right (body coordinates) Attached right movement (along the positive body X-axis)
virtual void stopMoveAttachedRight ()
 move right (body coordinates) Attached right movement (along the positive body X-axis)
virtual void moveAttachedRight (double meters)
 move right (body coordinates) Attached right movement (along the positive body X-axis)
virtual void startMoveAttachedForward ()
 move forward (body coordinates) Attached forward movement (along the positive body Y-axis)
virtual void stopMoveAttachedForward ()
 move right (body coordinates) Attached right movement (along the positive body X-axis)
virtual void moveAttachedForward (double meters)
 move right (body coordinates) Attached right movement (along the positive body X-axis)
virtual void startMoveAttachedUp ()
 move up (body coordinates) Attached up movement (along the positive body Z-axis)
virtual void stopMoveAttachedUp ()
 move up (body coordinates) Attached up movement (along the positive body Z-axis)
virtual void moveAttachedUp (double meters)
 move up (body coordinates) Attached up movement (along the positive body Z-axis)
virtual void startMoveAttachedLeft ()
 move left (body coordinates) Attached left movement (along the negative body X-axis)
virtual void stopMoveAttachedLeft ()
 move left (body coordinates) Attached left movement (along the negative body X-axis)
virtual void moveAttachedLeft (double meters)
 move left (body coordinates) Attached left movement (along the negative body X-axis)
virtual void startMoveAttachedBack ()
 move back (body coordinates) Attached back movement (along the negative body Y-axis)
virtual void stopMoveAttachedBack ()
 move back (body coordinates) Attached back movement (along the negative body Y-axis)
virtual void moveAttachedBack (double meters)
 move back (body coordinates) Attached back movement (along the negative body Y-axis)
virtual void startMoveAttachedDown ()
 move down (body coordinates) Attached down movement (along the negative body Z-axis)
virtual void stopMoveAttachedDown ()
 move down (body coordinates) Attached down movement (along the negative body Z-axis)
virtual void moveAttachedDown (double meters)
 move down (body coordinates) Attached down movement (along the negative body Z-axis)
virtual void startMoveLevelAttachedRight ()
 move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)
virtual void stopMoveLevelAttachedRight ()
 move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)
virtual void moveLevelAttachedRight (double meters)
 move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)
virtual void startMoveLevelAttachedForward ()
 move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)
virtual void stopMoveLevelAttachedForward ()
 move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)
virtual void moveLevelAttachedForward (double meters)
 move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)
virtual void startMoveLevelAttachedUp ()
 move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)
virtual void stopMoveLevelAttachedUp ()
 move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)
virtual void moveLevelAttachedUp (double meters)
 move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)
virtual void startMoveLevelAttachedLeft ()
 move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)
virtual void stopMoveLevelAttachedLeft ()
 move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)
virtual void moveLevelAttachedLeft (double meters)
 move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)
virtual void startMoveLevelAttachedBack ()
 move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)
virtual void stopMoveLevelAttachedBack ()
 move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)
virtual void moveLevelAttachedBack (double meters)
 move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)
virtual void startMoveLevelAttachedDown ()
 move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)
virtual void stopMoveLevelAttachedDown ()
 move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)
virtual void moveLevelAttachedDown (double meters)
 move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)
virtual void startMoveAttachedContextRight ()
 move right ('attached' coordinates) attached right movement (depends on attach mode)
virtual void stopMoveAttachedContextRight ()
 move right ('attached' coordinates) attached right movement (depends on attach mode)
virtual void moveAttachedContextRight (double meters)
 move right ('attached' coordinates) attached right movement (depends on attach mode)
virtual void startMoveAttachedContextForward ()
 move forward ('attached' coordinates) attached forward movement (depends on attach mode)
virtual void stopMoveAttachedContextForward ()
 move forward ('attached' coordinates) attached forward movement (depends on attach mode)
virtual void moveAttachedContextForward (double meters)
 move forward ('attached' coordinates) attached forward movement (depends on attach mode)
virtual void startMoveAttachedContextUp ()
 move up ('attached' coordinates) attached up movement (depends on attach mode)
virtual void stopMoveAttachedContextUp ()
 move up ('attached' coordinates) attached up movement (depends on attach mode)
virtual void moveAttachedContextUp (double meters)
 move up ('attached' coordinates) attached up movement (depends on attach mode)
virtual void startMoveAttachedContextLeft ()
 move left ('attached' coordinates) attached left movement (depends on attach mode)
virtual void stopMoveAttachedContextLeft ()
 move left ('attached' coordinates) attached left movement (depends on attach mode)
virtual void moveAttachedContextLeft (double meters)
 move left ('attached' coordinates) attached left movement (depends on attach mode)
virtual void startMoveAttachedContextBack ()
 move back ('attached' coordinates) attached back movement (depends on attach mode)
virtual void stopMoveAttachedContextBack ()
 move back ('attached' coordinates) attached back movement (depends on attach mode)
virtual void moveAttachedContextBack (double meters)
 move back ('attached' coordinates) attached back movement (depends on attach mode)
virtual void startMoveAttachedContextDown ()
 move down (depends on attach mode)
virtual void stopMoveAttachedContextDown ()
 move down (depends on attach mode)
virtual void moveAttachedContextDown (double meters)
 move down (depends on attach mode)
virtual void startYawLeft ()
 yaw left (observer coordinates) yaw left movement (rotate left about the observer-Z axis)
virtual void stopYawLeft ()
 yaw left (observer coordinates) yaw left movement (rotate left about the observer-Z axis)
virtual void startYawRight ()
 yaw right (observer coordinates) yaw right movement (rotate right about the observer-Z axis) axis)
virtual void stopYawRight ()
 yaw right (observer coordinates) yaw right movement (rotate right about the observer-Z axis) axis)
virtual void startPitchUp ()
 pitch up (observer coordinates) pitch up movement (rotate up around the current observer X-axis)
virtual void stopPitchUp ()
 pitch up (observer coordinates) pitch up movement (rotate up around the current observer X-axis)
virtual void rotatePitchUp (double rads)
 pitch up (observer coordinates) pitch up movement (rotate up around the current observer X-axis)
virtual void startPitchDown ()
 pitch down (observer coordinates) pitch down movement (rotate down around the current observer X-axis)
virtual void stopPitchDown ()
 pitch down (observer coordinates) pitch down movement (rotate down around the current observer X-axis)
virtual void rotatePitchDown (double rads)
 pitch down (observer coordinates) pitch down movement (rotate down around the current observer X-axis)
virtual void startRollLeft ()
 roll left (observer coordinates) roll left movement (rotate left around the current observer Y-axis)
virtual void stopRollLeft ()
 roll left (observer coordinates) roll left movement (rotate left around the current observer Y-axis)
virtual void startRollRight ()
 roll right (observer coordinates) roll right movement (rotate right around the current observer Y-axis)
virtual void stopRollRight ()
 roll right (observer coordinates) roll right movement (rotate right around the current observer Y-axis)
virtual void startLevelYawLeft ()
 yaw left (level observer coordinates) yaw left movement (rotate left about the level observer-Z axis)
virtual void stopLevelYawLeft ()
 yaw left (level observer coordinates) yaw left movement (rotate left about the level observer-Z axis)
virtual void startLevelYawRight ()
 yaw right (level observer coordinates) yaw right movement (rotate right about the level observer-Z axis) axis)
virtual void stopLevelYawRight ()
 yaw right (level observer coordinates) yaw right movement (rotate right about the level observer-Z axis) axis)
virtual void startLevelPitchUp ()
 pitch up (level observer coordinates) pitch up movement (rotate up around the current level observer X-axis)
virtual void stopLevelPitchUp ()
 pitch up (level observer coordinates) pitch up movement (rotate up around the current level observer X-axis)
virtual void startLevelPitchDown ()
 pitch down (level observer coordinates) pitch down movement (rotate down around the current level observer X-axis)
virtual void stopLevelPitchDown ()
 pitch down (level observer coordinates) pitch down movement (rotate down around the current level observer X-axis)
virtual void startLevelRollLeft ()
 roll left (level observer coordinates) roll left movement (rotate left around the current level observer Y-axis)
virtual void stopLevelRollLeft ()
 roll left (level observer coordinates) roll left movement (rotate left around the current level observer Y-axis)
virtual void startLevelRollRight ()
 roll right (level observer coordinates) roll right movement (rotate right around the current level observer Y-axis)
virtual void stopLevelRollRight ()
 roll right (level observer coordinates) roll right movement (rotate right around the current level observer Y-axis)
virtual void startOrbitingLeft ()
 orbit around current target left (observer coordinates) Orbit left, wrt the current target
virtual void stopOrbitingLeft ()
 orbit around current target left (observer coordinates) Orbit left, wrt the current target
virtual void orbitLeft (double rads)
 orbit around current target left (observer coordinates) Orbit left, wrt the current target
virtual void startOrbitingRight ()
 orbit around current target right (observer coordinates) Orbit right, wrt the current target
virtual void stopOrbitingRight ()
 orbit around current target right (observer coordinates) Orbit right, wrt the current target
virtual void orbitRight (double rads)
 orbit around current target right (observer coordinates) Orbit right, wrt the current target
virtual void startOrbitingUp ()
 orbit around current target up (observer coordinates) Orbit up, wrt the current target
virtual void stopOrbitingUp ()
 orbit around current target up (observer coordinates) Orbit up, wrt the current target
virtual void orbitUp (double rads)
 orbit around current target up (observer coordinates) Orbit up, wrt the current target
virtual void startOrbitingDown ()
 orbit around current target down (observer coordinates) Orbit down, wrt the current target
virtual void stopOrbitingDown ()
 orbit around current target down (observer coordinates) Orbit down, wrt the current target
virtual void orbitDown (double rads)
 orbit around current target down (observer coordinates) Orbit down, wrt the current target

Protected Types

typedef boost::unordered_map
< DtElementID, bool
ElementVisibilityMap

Protected Member Functions

virtual double altitudeFromCurrentZoom ()
 calculate an (approximate) altitude that will correspond, when in 3D, to the same perceived altitude when in 2D
virtual void calcObserverWorldVectors ()
virtual const osg::Vec3d & observerWorldUp () const
virtual const osg::Vec3d & observerWorldNorth () const
virtual const osg::Vec3d & observerWorldEast () const
virtual const osg::Vec3d & attachedWorldUp () const
virtual osg::Vec3d & observerUp ()
virtual osg::Vec3d & observerFront ()
virtual osg::Vec3d & observerRight ()
virtual osg::Vec3d & attachedUp ()
virtual osg::Vec3d & attachedFront ()
virtual osg::Vec3d & attachedRight ()
virtual osg::Vec3d & attachedOffsetUp ()
virtual osg::Vec3d & attachedOffsetFront ()
virtual osg::Vec3d & attachedOffsetRight ()
virtual osg::Vec3d & levelAttachedUp ()
 for follow mode
virtual osg::Vec3d & levelAttachedFront ()
virtual osg::Vec3d & levelAttachedRight ()
virtual osg::Vec3d & levelObserverMimicUp ()
 for level observer in mimic mode
virtual osg::Vec3d & levelObserverMimicFront ()
virtual osg::Vec3d & levelObserverMimicRight ()
virtual osg::Vec3d & cameraUp ()
virtual osg::Vec3d & cameraFront ()
virtual osg::Vec3d & cameraRight ()
virtual osg::Vec3d & levelObserverUp ()
virtual osg::Vec3d & levelObserverFront ()
virtual osg::Vec3d & levelObserverRight ()
virtual void advanceOrbitLeft (double rads)
virtual void advanceOrbitRight (double rads)
virtual void advanceOrbitUp (double rads)
virtual void advanceOrbitDown (double rads)
virtual void makeLevelObserverMatrix ()
virtual void calculateLevelAttachedRotation ()
 for follow mode
virtual void makeLevelObserverMimicMatrix ()
 for mimic mode
virtual osg::Vec3d calcWorldPositionChange ()
 processes observer and gravity advance and position vectors to create a single composite move.
virtual osg::Vec3d calcMimicPositionChange ()
virtual osg::Vec3d calcFollowPositionChange ()
virtual osg::Vec3d calcSpaceFollowPositionChange ()
virtual osg::Vec3d calcTetherPositionChange ()
virtual osg::Vec3d calcTetherTrackPositionChange ()
virtual osg::Vec3d calcTrackPositionChange ()
virtual osg::Quat calcTetherTrackRotation ()
virtual osg::Quat calcWorldOrientationChange ()
virtual osg::Quat calcTetherOrientationChange ()
virtual osg::Quat calcMimicOrientationChange ()
virtual osg::Quat calcFollowOrientationChange ()
virtual void setCurrentAttachmentsVisibility (bool visible)
virtual void orientTo (const osg::Vec3d &target)
 Set the current observer orientation to face the target This sets pitch and heading roll is 0 when unattached or in tether or track mode.
virtual void orientCameraTo (const osg::Vec3d &target)
 Set the current camera orientation to face the target.
virtual TerrainResult getTerrainCenter (const DtUniqueID &patchID, osg::Vec3d &center)
virtual DtCoordinateConvertercoordinateConverter ()
virtual const
DtCoordinateConverter
coordinateConverter () const
virtual void initializeAttachment ()
virtual void getScalingIntersection ()
virtual void getViewIntersection ()
virtual double linearSpeed ()
 Takes speed scaling into account.
virtual double speedScalingGain () const
 Returns the gain used to scale speed scaling.
virtual void calcTerrainConstraint (osg::Vec3d prev)
virtual bool updateAttachPositionAndOrientation ()
 if attached to a single object, that objects position; otherwise, the centroid of all the attached objects' positions if attached to a single object, that objects orientation; otherwise, the current observer's orientation Returns false if at least one attached entity can't be found
virtual bool getSecondaryAttachPosition (osg::Vec3d &position)
virtual void getObserverOffsetVector (double &x, double &y, double &z) const
virtual void setObserverOffsetVector (double x, double y, double z)
virtual void getAttachedRotationOffset (double &x, double &y, double &z, double &w) const
virtual void setAttachedRotationOffset (double x, double y, double z, double w)
virtual void getBoundingVolume (DtSceneObject &sceneObject, osg::Vec3 &bvolExtents, osg::Vec3d &bvolCenter)
virtual void getBoundingVolume (DtTerrainPatchObject &patchObject, osg::Vec3 &bvolExtents, osg::Vec3d &bvolCenter)
virtual void setLocation (const osg::Vec3d &location, bool suppress=true)
virtual bool isMoving () const
 Only called by master; indicates linear motion other than that caused by the movement of something we're attached to.
virtual bool isRotating () const
virtual double computeNearClipDistance (DtSceneObject *sceneObject)
virtual float computeLocalModelScalingAmount (DtSceneObject *sceneObject)
virtual void calcScaledSpeed ()
virtual bool getTerrainOrPropIntersection (const osg::Vec3d &startPos, const osg::Vec3d &endPos, osg::Vec3d &result) const
virtual DtSceneObjectfindSceneObjectFromElement (const DtElementID &id)
 Find a scene object by it's unique element id.
virtual DtTerrainPatchObjectfindTerrainPatchObjectFromElement (const DtElementID &id)
 Find a terrain patch object by it's unique element id (only used by freeView).
virtual void getPositionAndOrientation (DtSceneObject &sceneObject, osg::Vec3d &position, osg::Vec3d &orientToPosition, osg::Quat &orientation)
virtual void getPositionAndOrientation (DtTerrainPatchObject &patchObject, osg::Vec3d &position, osg::Vec3d &orientToPosition, osg::Quat &orientation)
virtual void getPositionFromSceneObject (DtSceneObject &sceneObject, osg::Vec3d &position) const
 Get the Position from a scene object.
virtual bool getPartPositionOriFromSceneObject (DtSceneObject &sceneObject, int partId, osg::Vec3d &position, osg::Quat &ori) const
 Get the Part position from a scene object.
virtual void force2D ()
 After all items are calculated in tick, call this routine to effect the position or rotation given the visual display mode.
virtual void dimensionChanged (bool is2D)
 Called when visual mode is set, will effect position or rotation due to mode change.
virtual void setIs2D (bool is2D)
 Set if the observer is using 2D nav mode.
virtual double calculate3DAltitude () const
 Calculate the altitude.
virtual void calculateAltitude ()
 Sets myAltitude using fixed2DAltitude() or calculate3DAltitude() depending on mode.
virtual double zoomFromCurrentAltitude ()
 calculate an (approximate) zoom that will correspond, when in 2D, to the same perceived altitude when in 3D
virtual double zoomFromAltitude (double altitude)
 calculate an (approximate) zoom that will correspond, when in 2D, to the specified 3D altitude
virtual double zoomFromHeightAboveTerrain (double hat)
 calculate an (approximate) zoom that will correspond, when in 2D, to the specified height above terrain
virtual double calcEarthRadiusAtLocalCoord (const osg::Vec3d &local) const
virtual void synchronizeLocation (double x, double y, double z)
virtual void synchronizeOrientation (double x, double y, double z, double w)

Static Protected Member Functions

static void matrixdToTaitBryan (const osg::Matrixd &mat, DtTaitBryan &tb, bool isWorld2D=false)
 isWorld2D when in plan view mode, geocentric, looking at a globe size terrain
static double clampUnity (double x)

Protected Attributes

std::vector< DtUniqueIDmyCurrentAttachments
std::vector< DtUniqueIDmySecondaryAttachments
int myPartAttachment
bool myChanged
double myLastTickTime
osg::Vec3d myObserverPositionVector
 --- Observer
osg::Vec3d myLastSpeedPositionVector
osg::Vec3d myMasterPositionVector
bool mySyncPending
bool mySyncSuppressed
osg::Vec3d myObserverLinearVelocityVector
osg::Vec3d myObserverRotationalVelocityVector
bool myLocalModelScalingEnabled
float myLocalModelScalingAmount
osg::Vec3d myObserverOffsetVector
 Current offset from an attachment, when attached.
osg::Vec3d mySavedObserverOffsetVector
 Used for switching between track mode and other attached modes.
osg::Vec3d myObserverPosition
 Change in observer position this frame.
osg::Vec3d myLevelObserverPosition
 Gravity change in observer position this frame.
osg::Vec3d myAttachedPosition
osg::Vec3d myLevelAttachedPosition
osg::Vec3d myDragMove
 Change in world position due to drag.
osg::Vec3d myOrientToPosition
osg::Vec3d myOrbitAdvance
double myCurrentObserverDistance
 largest of the distances currently in play in a given frame.
osg::Quat myAttachedRotationOffset
 My Attached rotation offset.
osg::Quat myObserverRotation
 This is our ENU observer orientation as a quaternion.
osg::Quat myMasterRotation
osg::Quat mySavedObserverRotation
 This is used for switching between track mode and other attach modes.
osg::Quat myPreviousAttachedObserverRotation
 This is here so we can be in tether attach mode, detach, then attach to another entity and have a reasonable orientation wrt the observer offset vector that will be used.
osg::Quat myAttachedRotation
osg::Quat myLevelAttachedRotation
osg::Matrixd myLevelObserverMimicRotationMatrix
osg::Matrixd myLevelObserverRotationMatrix
osg::Vec3d my2DTo3DCachedObserverOffsetVector
osg::Quat my2DTo3DCachedRotation
double myCurrentRadius
 This variable is true when the bounding radius is too big The reset view will be from far away trying to see the whole terrain like the globe.
bool myConstrainToCenter
MotionState myObserverState
MotionState myLevelObserverState
MotionState myAttachedObserverState
MotionState myLevelAttachedObserverState
MotionState myRotatingState
MotionState myRotatingLevelState
MotionState myAbsoluteRotatingState
MotionState myAbsoluteLevelRotatingState
bool myOrbitingLeft
bool myOrbitingRight
bool myOrbitingUp
bool myOrbitingDown
double myOrbitSpeed
double myLinearSpeed
double myRotationSpeed
double myMaxLinearSpeed
 Need just these, for terrain scaling.
double myMinLinearSpeed
double myLinearScaledSpeedGain
double mySpeedScaleSpeed
double mySceneCenterOffsetX
double mySceneCenterOffsetY
double mySceneCenterOffsetZ
bool myLookingRight
 ---- Camera
bool myLookingLeft
bool myLookingUp
bool myLookingDown
bool myLookingTiltRight
bool myLookingTiltLeft
osg::Quat myFinalCameraRotation
 This is the combined camera/observer orientation; this is what the DtOsgChannel uses to orient itself.
osg::Vec3d myFinalCameraPositionVector
 This is the combined camera/observer orientation; this is what the DtOsgChannel uses to orient itself.
osg::Vec3d myCameraOffset
 This is the camera offset wrt to observer.
osg::Quat myCameraRotation
 This is the camera (wrt the observer) as a quaternion.
osg::Vec3d myObserverWorldUp
osg::Vec3d myObserverWorldNorth
osg::Vec3d myObserverWorldEast
osg::Vec3d myAttachedWorldUp
osg::Vec3d myAttachedWorldNorth
osg::Vec3d myAttachedWorldEast
osg::Vec3d myObserverUp
osg::Vec3d myObserverFront
osg::Vec3d myObserverRight
osg::Vec3d myLevelObserverUp
osg::Vec3d myLevelObserverFront
osg::Vec3d myLevelObserverRight
osg::Vec3d myAttachedUp
osg::Vec3d myAttachedFront
osg::Vec3d myAttachedRight
osg::Vec3d myLevelAttachedUp
osg::Vec3d myLevelAttachedFront
osg::Vec3d myLevelAttachedRight
osg::Vec3d myLevelObserverMimicUp
osg::Vec3d myLevelObserverMimicFront
osg::Vec3d myLevelObserverMimicRight
osg::Vec3d myAttachedOffsetUp
osg::Vec3d myAttachedOffsetFront
osg::Vec3d myAttachedOffsetRight
osg::Vec3d myCameraUp
osg::Vec3d myCameraFront
osg::Vec3d myCameraRight
DtObserverObject::AttachType myAttachType
DtObserverObject::AttachType my3DAttachType
bool myHideModelOnAttach
bool mySpeedScaling
double mySpeedScalingTimer
bool myConstrainToTerrain
bool myInternalSuppressConstrainToTerrain
 suppress when jumping...
bool myExternalSuppressConstrainToTerrain
 suppress when told to
int myOrientToTargetConstraint
 This is an int rather than a bool because we increment/decrement it, much like a reference pointer.
bool myOrientCameraToTargetConstraint
bool myOrientToOnReset
bool myOrbiting
bool myForceOrientReset
bool myHaveTerrainPivot
bool myHaveViewIntersect
osg::Vec3d myViewIntersect
bool myHaveDownIntersect
bool myHaveDownIntersectEver
osg::Vec3d myDownIntersect
osg::Vec3d myAttachPosition
double myLastAttachedBvolDiameter
osg::Vec3d myPreviousPositionVector
 for backing out if we hit a constraint
osg::Vec3d myPreviousOffsetVector
double myAltitude
bool myViewResolutionIncreasingState
 note, this is only calculated if myConstrainToCenter is true
bool myViewResolutionDecreasingState
double myViewResolution
double myViewMagnification
 Only used in 3D.
double myLastViewMagnification
ElementVisibilityMap myPendingVisibilityState
bool myGotoTerrainCenterPending
double myNextGotoTerrainCenterTime
double myStartGotoTerrainCenterTime
DtUniqueID myPendingTerrainPatchId
osg::Vec3d myPreviousTerrainCenter
double myCurvatureAdjustment

Static Protected Attributes

static const double theZoomAltitudeConstant
static const double theObserverBoundingSphere
static const double theSpeedScaleUpdatePeriod
static const double theMaxTerrainRetryTime
static const double theCenterConstrainHeight
static const double theMinViewResolution
static const double theMaxViewResolution

Private Member Functions

 DtOsgObserverObject (const DtOsgObserverObject &)
 Unimplemented copy constructor.
DtOsgObserverObjectoperator= (const DtOsgObserverObject &)
 Unimplemented assignment constructor.

Detailed Description

This abstract base class defines the interface for OS-specific keyboard and mouse event listeners.


Member Typedef Documentation

typedef boost::unordered_map<DtElementID, bool> makVrv::DtOsgObserverObject::ElementVisibilityMap [protected]

Member Enumeration Documentation

Enumerator:
TerrainResultNoData 
TerrainResultNewCenter 
TerrainResultComplete 

Constructor & Destructor Documentation

makVrv::DtOsgObserverObject::DtOsgObserverObject ( DtDe de,
DtUniqueID  id,
const std::string &  name = "" 
)

CTOR.

DTOR.

Unimplemented copy constructor.


Member Function Documentation

virtual void makVrv::DtOsgObserverObject::tick ( double  simTime) [virtual]

Update the observer object, calculates position of by sim Time.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::tickAttachment ( ) [virtual]
virtual void makVrv::DtOsgObserverObject::setModelSet ( int  modelSet) [virtual]

Set the model set for this observer.

Override from base class to make adjustments on model set changes

Reimplemented from makVrv::DtObserverObject.

virtual double makVrv::DtOsgObserverObject::altitude ( ) const [virtual]

Get the observer's altitude.

Implements makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setNameAndRegister ( const std::string &  name) [virtual]

Set the observer object name Set the observer object name, and register this observer object with the observer object manager.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::getCameraPositionAndOrientation ( osg::Vec3d &  position,
osg::Quat &  rotation 
) const [virtual]

Observer Control.

move right (body coordinates) Observer right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

Observer Control.

move right (body coordinates) Observer right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveObserverRight ( double  meters) [virtual]

Observer Control.

move right (body coordinates) Observer right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

move forward (body coordinates) Observer forward movement (along the positive body Y-axis)

Reimplemented from makVrv::DtObserverObject.

Observer Control.

move right (body coordinates) Observer right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveObserverForward ( double  meters) [virtual]

Observer Control.

move right (body coordinates) Observer right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

move up (body coordinates) Observer up movement (along the positive body Z-axis)

Reimplemented from makVrv::DtObserverObject.

move up (body coordinates) Observer up movement (along the positive body Z-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveObserverUp ( double  meters) [virtual]

move up (body coordinates) Observer up movement (along the positive body Z-axis)

Reimplemented from makVrv::DtObserverObject.

move left (body coordinates) Observer left movement (along the negative body X-axis)

Reimplemented from makVrv::DtObserverObject.

move left (body coordinates) Observer left movement (along the negative body X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveObserverLeft ( double  meters) [virtual]

move left (body coordinates) Observer left movement (along the negative body X-axis)

Reimplemented from makVrv::DtObserverObject.

move back (body coordinates) Observer back movement (along the negative body Y-axis)

Reimplemented from makVrv::DtObserverObject.

move back (body coordinates) Observer back movement (along the negative body Y-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveObserverBack ( double  meters) [virtual]

move back (body coordinates) Observer back movement (along the negative body Y-axis)

Reimplemented from makVrv::DtObserverObject.

move down (body coordinates) Observer down movement (along the negative body Z-axis)

Reimplemented from makVrv::DtObserverObject.

move down (body coordinates) Observer down movement (along the negative body Z-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveObserverDown ( double  meters) [virtual]

move down (body coordinates) Observer down movement (along the negative body Z-axis)

Reimplemented from makVrv::DtObserverObject.

move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelObserverRight ( double  meters) [virtual]

move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelObserverForward ( double  meters) [virtual]

move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelObserverUp ( double  meters) [virtual]

move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelObserverLeft ( double  meters) [virtual]

move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelObserverBack ( double  meters) [virtual]

move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelObserverDown ( double  meters) [virtual]

move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

move right (body coordinates) Attached right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

move right (body coordinates) Attached right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedRight ( double  meters) [virtual]

move right (body coordinates) Attached right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

move forward (body coordinates) Attached forward movement (along the positive body Y-axis)

Reimplemented from makVrv::DtObserverObject.

move right (body coordinates) Attached right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedForward ( double  meters) [virtual]

move right (body coordinates) Attached right movement (along the positive body X-axis)

Reimplemented from makVrv::DtObserverObject.

move up (body coordinates) Attached up movement (along the positive body Z-axis)

Reimplemented from makVrv::DtObserverObject.

move up (body coordinates) Attached up movement (along the positive body Z-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedUp ( double  meters) [virtual]

move up (body coordinates) Attached up movement (along the positive body Z-axis)

Reimplemented from makVrv::DtObserverObject.

move left (body coordinates) Attached left movement (along the negative body X-axis)

Reimplemented from makVrv::DtObserverObject.

move left (body coordinates) Attached left movement (along the negative body X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedLeft ( double  meters) [virtual]

move left (body coordinates) Attached left movement (along the negative body X-axis)

Reimplemented from makVrv::DtObserverObject.

move back (body coordinates) Attached back movement (along the negative body Y-axis)

Reimplemented from makVrv::DtObserverObject.

move back (body coordinates) Attached back movement (along the negative body Y-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedBack ( double  meters) [virtual]

move back (body coordinates) Attached back movement (along the negative body Y-axis)

Reimplemented from makVrv::DtObserverObject.

move down (body coordinates) Attached down movement (along the negative body Z-axis)

Reimplemented from makVrv::DtObserverObject.

move down (body coordinates) Attached down movement (along the negative body Z-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedDown ( double  meters) [virtual]

move down (body coordinates) Attached down movement (along the negative body Z-axis)

Reimplemented from makVrv::DtObserverObject.

move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelAttachedRight ( double  meters) [virtual]

move right ('gravity' coordinates) gravity right movement (to the right of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelAttachedForward ( double  meters) [virtual]

move forward ('gravity' coordinates) gravity forward movement (in the direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelAttachedUp ( double  meters) [virtual]

move up ('gravity' coordinates) gravity up movement (in the opposite direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelAttachedLeft ( double  meters) [virtual]

move left ('gravity' coordinates) gravity left movement (to the left of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelAttachedBack ( double  meters) [virtual]

move back ('gravity' coordinates) gravity back movement (in the opposite direction of the current heading vector, projected onto the plane normal to gravity)

Reimplemented from makVrv::DtObserverObject.

move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveLevelAttachedDown ( double  meters) [virtual]

move down ('gravity' coordinates) gravity down movement (in the direction of the gravity vector)

Reimplemented from makVrv::DtObserverObject.

move right ('attached' coordinates) attached right movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move right ('attached' coordinates) attached right movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedContextRight ( double  meters) [virtual]

move right ('attached' coordinates) attached right movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move forward ('attached' coordinates) attached forward movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move forward ('attached' coordinates) attached forward movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedContextForward ( double  meters) [virtual]

move forward ('attached' coordinates) attached forward movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move up ('attached' coordinates) attached up movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move up ('attached' coordinates) attached up movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedContextUp ( double  meters) [virtual]

move up ('attached' coordinates) attached up movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move left ('attached' coordinates) attached left movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move left ('attached' coordinates) attached left movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedContextLeft ( double  meters) [virtual]

move left ('attached' coordinates) attached left movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move back ('attached' coordinates) attached back movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move back ('attached' coordinates) attached back movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedContextBack ( double  meters) [virtual]

move back ('attached' coordinates) attached back movement (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move down (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

move down (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::moveAttachedContextDown ( double  meters) [virtual]

move down (depends on attach mode)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startYawLeft ( ) [virtual]

yaw left (observer coordinates) yaw left movement (rotate left about the observer-Z axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopYawLeft ( ) [virtual]

yaw left (observer coordinates) yaw left movement (rotate left about the observer-Z axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startYawRight ( ) [virtual]

yaw right (observer coordinates) yaw right movement (rotate right about the observer-Z axis) axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopYawRight ( ) [virtual]

yaw right (observer coordinates) yaw right movement (rotate right about the observer-Z axis) axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startPitchUp ( ) [virtual]

pitch up (observer coordinates) pitch up movement (rotate up around the current observer X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopPitchUp ( ) [virtual]

pitch up (observer coordinates) pitch up movement (rotate up around the current observer X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::rotatePitchUp ( double  rads) [virtual]

pitch up (observer coordinates) pitch up movement (rotate up around the current observer X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startPitchDown ( ) [virtual]

pitch down (observer coordinates) pitch down movement (rotate down around the current observer X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopPitchDown ( ) [virtual]

pitch down (observer coordinates) pitch down movement (rotate down around the current observer X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::rotatePitchDown ( double  rads) [virtual]

pitch down (observer coordinates) pitch down movement (rotate down around the current observer X-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startRollLeft ( ) [virtual]

roll left (observer coordinates) roll left movement (rotate left around the current observer Y-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopRollLeft ( ) [virtual]

roll left (observer coordinates) roll left movement (rotate left around the current observer Y-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startRollRight ( ) [virtual]

roll right (observer coordinates) roll right movement (rotate right around the current observer Y-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopRollRight ( ) [virtual]

roll right (observer coordinates) roll right movement (rotate right around the current observer Y-axis)

Reimplemented from makVrv::DtObserverObject.

yaw left (level observer coordinates) yaw left movement (rotate left about the level observer-Z axis)

Reimplemented from makVrv::DtObserverObject.

yaw left (level observer coordinates) yaw left movement (rotate left about the level observer-Z axis)

Reimplemented from makVrv::DtObserverObject.

yaw right (level observer coordinates) yaw right movement (rotate right about the level observer-Z axis) axis)

Reimplemented from makVrv::DtObserverObject.

yaw right (level observer coordinates) yaw right movement (rotate right about the level observer-Z axis) axis)

Reimplemented from makVrv::DtObserverObject.

pitch up (level observer coordinates) pitch up movement (rotate up around the current level observer X-axis)

Reimplemented from makVrv::DtObserverObject.

pitch up (level observer coordinates) pitch up movement (rotate up around the current level observer X-axis)

Reimplemented from makVrv::DtObserverObject.

pitch down (level observer coordinates) pitch down movement (rotate down around the current level observer X-axis)

Reimplemented from makVrv::DtObserverObject.

pitch down (level observer coordinates) pitch down movement (rotate down around the current level observer X-axis)

Reimplemented from makVrv::DtObserverObject.

roll left (level observer coordinates) roll left movement (rotate left around the current level observer Y-axis)

Reimplemented from makVrv::DtObserverObject.

roll left (level observer coordinates) roll left movement (rotate left around the current level observer Y-axis)

Reimplemented from makVrv::DtObserverObject.

roll right (level observer coordinates) roll right movement (rotate right around the current level observer Y-axis)

Reimplemented from makVrv::DtObserverObject.

roll right (level observer coordinates) roll right movement (rotate right around the current level observer Y-axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::rotateLevelYawLeft ( double  rads) [virtual]

yaw left (level observer coordinates) yaw left movement (rotate left about the level observer-Z axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::rotateLevelYawRight ( double  rads) [virtual]

yaw right (level observer coordinates) yaw right movement (rotate right about the level observer-Z axis) axis)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startLookLeft ( ) [virtual]

Camera Control.

rotate camera left (observer coordinates) Look left, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopLookLeft ( ) [virtual]

Camera Control.

rotate camera left (observer coordinates) Look left, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::lookLeft ( double  rads) [virtual]

Camera Control.

rotate camera left (observer coordinates) Look left, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startLookRight ( ) [virtual]

rotate camera right (observer coordinates) Look right, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopLookRight ( ) [virtual]

rotate camera right (observer coordinates) Look right, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::lookRight ( double  rads) [virtual]

rotate camera right (observer coordinates) Look right, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startLookUp ( ) [virtual]

rotate camera up (observer coordinates) Look up, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopLookUp ( ) [virtual]

rotate camera up (observer coordinates) Look up, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::lookUp ( double  rads) [virtual]

rotate camera up (observer coordinates) Look up, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::startLookDown ( ) [virtual]

rotate camera down (observer coordinates) Look down, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopLookDown ( ) [virtual]

rotate camera down (observer coordinates) Look down, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::lookDown ( double  rads) [virtual]

rotate camera down (observer coordinates) Look down, wrt the observer

Reimplemented from makVrv::DtObserverObject.

roll the camera right (observer coordinates) Roll look right, wrt the observer

Reimplemented from makVrv::DtObserverObject.

roll the camera right (observer coordinates) Roll look right, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::lookTiltRight ( double  rads) [virtual]

roll the camera right (observer coordinates) Roll look right, wrt the observer

Reimplemented from makVrv::DtObserverObject.

roll the camera left (observer coordinates) Roll look left, wrt the observer

Reimplemented from makVrv::DtObserverObject.

roll the camera left (observer coordinates) Roll look left, wrt the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::lookTiltLeft ( double  rads) [virtual]

roll the camera left (observer coordinates) Roll look left, wrt the observer

Reimplemented from makVrv::DtObserverObject.

orbit around current target left (observer coordinates) Orbit left, wrt the current target

Reimplemented from makVrv::DtObserverObject.

orbit around current target left (observer coordinates) Orbit left, wrt the current target

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::orbitLeft ( double  rads) [virtual]

orbit around current target left (observer coordinates) Orbit left, wrt the current target

Reimplemented from makVrv::DtObserverObject.

orbit around current target right (observer coordinates) Orbit right, wrt the current target

Reimplemented from makVrv::DtObserverObject.

orbit around current target right (observer coordinates) Orbit right, wrt the current target

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::orbitRight ( double  rads) [virtual]

orbit around current target right (observer coordinates) Orbit right, wrt the current target

Reimplemented from makVrv::DtObserverObject.

orbit around current target up (observer coordinates) Orbit up, wrt the current target

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopOrbitingUp ( ) [virtual]

orbit around current target up (observer coordinates) Orbit up, wrt the current target

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::orbitUp ( double  rads) [virtual]

orbit around current target up (observer coordinates) Orbit up, wrt the current target

Reimplemented from makVrv::DtObserverObject.

orbit around current target down (observer coordinates) Orbit down, wrt the current target

Reimplemented from makVrv::DtObserverObject.

orbit around current target down (observer coordinates) Orbit down, wrt the current target

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::orbitDown ( double  rads) [virtual]

orbit around current target down (observer coordinates) Orbit down, wrt the current target

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setLocation ( double  x,
double  y,
double  z 
) [virtual]

jump to x, y, z

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setAttachedLocation ( double  x,
double  y,
double  z 
) [virtual]

jump to x, y, z in attached entity coords.

In space attach mode, the location is interpreted as a direction since the observer is always at a fixed distance in space attach mode.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setOrientation ( double  psi,
double  theta,
double  phi 
) [virtual]

turn to psi, theta, phi

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setOrientation ( double  x,
double  y,
double  z,
double  w 
) [virtual]

turn to quat(x,y,z,w)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setAttachedOrientation ( double  psi,
double  theta,
double  phi 
) [virtual]

turn to psi, theta, phi in attached entity coords

Reimplemented from makVrv::DtObserverObject.

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

Reimplemented from makVrv::DtObserverObject.

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

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::jumpTo ( double  x,
double  y,
double  z 
) [virtual]

jump to x, y, z and then the observer is 'backed off' the location

based on the distance of the jump.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::jumpTo ( DtUniqueID  elementID) [virtual]

jump to object specfied by ID

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::orientTo ( double  x,
double  y,
double  z 
) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::dragTerrain ( double  lastX,
double  lastY,
double  lastZ,
double  currX,
double  currY,
double  currZ 
) [virtual]

drag the database point 'last' to the point 'curr'

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::dragTerrain2 ( double  myStartDragX,
double  myStartDragY,
double  myStartDragZ,
int  deltaMouseX,
int  deltaMouseY 
) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::dragGravityUp ( double  windowUnits) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::dragGravityDown ( double  windowUnits) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::dragGravityLeft ( double  windowUnits) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::dragGravityRight ( double  windowUnits) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::scrollObserverForward ( int  wheelUnits) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::scrollObserverBack ( int  wheelUnits) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::scrollLevelObserverForward ( int  wheelUnits) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::scrollLevelObserverBack ( int  wheelUnits) [virtual]

Reimplemented from makVrv::DtObserverObject.

Zoom handling. Works in 2D view mode only.

Reimplemented from makVrv::DtObserverObject.

Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)

Reimplemented from makVrv::DtObserverObject.

Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)

Reimplemented from makVrv::DtObserverObject.

Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)

Reimplemented from makVrv::DtObserverObject.

Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)

Reimplemented from makVrv::DtObserverObject.

Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setViewResolution ( double  resolution) [virtual]

Sets level of zoom (where 1 is default level, < 1 is zoom out > 1 is zoom in)

Reimplemented from makVrv::DtObserverObject.

virtual double makVrv::DtOsgObserverObject::viewResolution ( ) const [virtual]

Zoom factor. Used to scale terrain and objects.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setViewMagnification ( double  mag) [virtual]

Set the observer's current view magnification.

Implements makVrv::DtObserverObject.

virtual double makVrv::DtOsgObserverObject::viewMagnification ( ) const [virtual]

Get the observer's current view magnification.

virtual void makVrv::DtOsgObserverObject::setOrbitSpeed ( double  speed) [virtual]

Speed mutators.

Set the speed used for left/right orbiting

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setLinearSpeed ( double  speed) [virtual]

Set the speed used for forward/backleft/right/up/down movement (observer and camera)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setRotationSpeed ( double  speed) [virtual]

Set the speed used for rotation (observer and camera)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setMinLinearSpeed ( double  minSpeed) [virtual]

Set the minimum linear speed (used for speed scaling)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setLinearScaledSpeedGain ( double  gain) [virtual]

Set the linear gain as a % of max gain (precision)

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::gotoTerrainCenter ( DtUniqueID  terrainPatch,
bool  retry 
) [virtual]

Go to the terrain patch's center Go to the center of the specified terrain path, offset by the scene offsets specified in the observer's configuration.

The retry flag indicates if the observer should retry this operation if it fails due to unfound terrain.

Reimplemented from makVrv::DtObserverObject.

reset orientation and position offsets

Reimplemented from makVrv::DtObserverObject.

Reset observer and camera orientation Set observer orientation to North and level, and set the camera aligned with the observer.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::resetCamera ( ) [virtual]

set camera to face the same direction as the observer

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::level ( ) [virtual]

Make the observer level Set the observer's pitch and roll angles normal to the gravity vector.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::stopAll ( ) [virtual]

Stop all current motion.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::attachToObjects ( const std::vector< DtUniqueID > &  elementIds) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setSecondaryAttachment ( const std::vector< DtUniqueID > &  elementIds) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::attachToPart ( int  partId) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::detach ( ) [virtual]

Reimplemented from makVrv::DtObserverObject.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setHideModelOnAttach ( bool  hide) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::scaleCurrentAttachments ( bool  scaled) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setOrbiting ( bool  orbit) [virtual]

Reimplemented from makVrv::DtObserverObject.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setConstrainToTerrain ( bool  trueFalse) [virtual]

constrain by terrain

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setConstrainToCenter ( bool  trueFalse) [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::suppressConstrainToTerrain ( bool  trueFalse) [virtual]

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

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setSpeedScaling ( bool  trueFalse) [virtual]

scale speed based on distance from object of interest

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setSpeedScaledSpeed ( double  speed) [virtual]

Used for reset when there is no terrain.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::getLocation ( double &  x,
double &  y,
double &  z 
) const [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::getOrientation ( double &  psi,
double &  theta,
double &  phi 
) const [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::getOrientation ( double &  x,
double &  y,
double &  z,
double &  w 
) const [virtual]

Reimplemented from makVrv::DtObserverObject.

virtual double makVrv::DtOsgObserverObject::fixed2DAltitude ( ) [virtual]

For 2D display mode, calculates the altitude to use to set camera position Note that if the terrain is global, this is the distance from 0,0,0, so the earth radius needs to be subtracted from it.

calculate an (approximate) height above terrain that will correspond, when in 3D, to the same perceived HAT when in 2D

virtual double makVrv::DtOsgObserverObject::topographicHeading ( ) const [virtual]

Get the observer's topographic heading, regardless of coordinate system currently in use.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::getLinearVelocity ( double &  x,
double &  y,
double &  z 
) const [virtual]

Get the observer's linear velocity.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::getRotationalVelocity ( double &  x,
double &  y,
double &  z 
) const [virtual]

Get the observer's rotational velocity.

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setModeSetting ( int  setting,
bool  value 
) [virtual]

Override base class; since a mode setting may require attention during tick, this calls down to DtObserverObject::setModeSetting() and then sets myChanged to true.

Reimplemented from makVrv::DtObserverObject.

DtOsgObserverObject& makVrv::DtOsgObserverObject::operator= ( const DtOsgObserverObject ) [private]

Unimplemented assignment constructor.

virtual double makVrv::DtOsgObserverObject::altitudeFromCurrentZoom ( ) [protected, virtual]

calculate an (approximate) altitude that will correspond, when in 3D, to the same perceived altitude when in 2D

virtual void makVrv::DtOsgObserverObject::calcObserverWorldVectors ( ) [protected, virtual]
virtual const osg::Vec3d& makVrv::DtOsgObserverObject::observerWorldUp ( ) const [protected, virtual]
virtual const osg::Vec3d& makVrv::DtOsgObserverObject::observerWorldNorth ( ) const [protected, virtual]
virtual const osg::Vec3d& makVrv::DtOsgObserverObject::observerWorldEast ( ) const [protected, virtual]
virtual const osg::Vec3d& makVrv::DtOsgObserverObject::attachedWorldUp ( ) const [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::observerUp ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::observerFront ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::observerRight ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::attachedUp ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::attachedFront ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::attachedRight ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::attachedOffsetUp ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::attachedOffsetFront ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::attachedOffsetRight ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::levelAttachedUp ( ) [protected, virtual]

for follow mode

virtual osg::Vec3d& makVrv::DtOsgObserverObject::levelAttachedFront ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::levelAttachedRight ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::levelObserverMimicUp ( ) [protected, virtual]

for level observer in mimic mode

virtual osg::Vec3d& makVrv::DtOsgObserverObject::levelObserverMimicFront ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::levelObserverMimicRight ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::cameraUp ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::cameraFront ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::cameraRight ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::levelObserverUp ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::levelObserverFront ( ) [protected, virtual]
virtual osg::Vec3d& makVrv::DtOsgObserverObject::levelObserverRight ( ) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::advanceOrbitLeft ( double  rads) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::advanceOrbitRight ( double  rads) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::advanceOrbitUp ( double  rads) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::advanceOrbitDown ( double  rads) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::makeLevelObserverMatrix ( ) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::calculateLevelAttachedRotation ( ) [protected, virtual]

for follow mode

virtual void makVrv::DtOsgObserverObject::makeLevelObserverMimicMatrix ( ) [protected, virtual]

for mimic mode

virtual osg::Vec3d makVrv::DtOsgObserverObject::calcWorldPositionChange ( ) [protected, virtual]

processes observer and gravity advance and position vectors to create a single composite move.

Used for Unattached, Tether, and track

virtual osg::Vec3d makVrv::DtOsgObserverObject::calcMimicPositionChange ( ) [protected, virtual]
virtual osg::Vec3d makVrv::DtOsgObserverObject::calcFollowPositionChange ( ) [protected, virtual]
virtual osg::Vec3d makVrv::DtOsgObserverObject::calcSpaceFollowPositionChange ( ) [protected, virtual]
virtual osg::Vec3d makVrv::DtOsgObserverObject::calcTetherPositionChange ( ) [protected, virtual]
virtual osg::Vec3d makVrv::DtOsgObserverObject::calcTetherTrackPositionChange ( ) [protected, virtual]
virtual osg::Vec3d makVrv::DtOsgObserverObject::calcTrackPositionChange ( ) [protected, virtual]
virtual osg::Quat makVrv::DtOsgObserverObject::calcTetherTrackRotation ( ) [protected, virtual]
virtual osg::Quat makVrv::DtOsgObserverObject::calcWorldOrientationChange ( ) [protected, virtual]
virtual osg::Quat makVrv::DtOsgObserverObject::calcTetherOrientationChange ( ) [protected, virtual]
virtual osg::Quat makVrv::DtOsgObserverObject::calcMimicOrientationChange ( ) [protected, virtual]
virtual osg::Quat makVrv::DtOsgObserverObject::calcFollowOrientationChange ( ) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::setCurrentAttachmentsVisibility ( bool  visible) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::orientTo ( const osg::Vec3d &  target) [protected, virtual]

Set the current observer orientation to face the target This sets pitch and heading roll is 0 when unattached or in tether or track mode.

Roll is set via the attached to object's up vector in mimic attach. The math involved won't allow orientation to pass through 90 (or 270) degrees. If it attempts to, it won't change orientation at all and backs out the current position change Calls orientTo with current position as previousPosition. For use by jumpTo (where the constraint shouldn't be hit.

virtual void makVrv::DtOsgObserverObject::orientCameraTo ( const osg::Vec3d &  target) [protected, virtual]

Set the current camera orientation to face the target.

virtual TerrainResult makVrv::DtOsgObserverObject::getTerrainCenter ( const DtUniqueID patchID,
osg::Vec3d &  center 
) [protected, virtual]
virtual const DtCoordinateConverter& makVrv::DtOsgObserverObject::coordinateConverter ( ) const [protected, virtual]
virtual void makVrv::DtOsgObserverObject::initializeAttachment ( ) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::getScalingIntersection ( ) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::getViewIntersection ( ) [protected, virtual]
virtual double makVrv::DtOsgObserverObject::linearSpeed ( ) [protected, virtual]

Takes speed scaling into account.

virtual double makVrv::DtOsgObserverObject::speedScalingGain ( ) const [protected, virtual]

Returns the gain used to scale speed scaling.

virtual void makVrv::DtOsgObserverObject::calcTerrainConstraint ( osg::Vec3d  prev) [protected, virtual]

if attached to a single object, that objects position; otherwise, the centroid of all the attached objects' positions if attached to a single object, that objects orientation; otherwise, the current observer's orientation Returns false if at least one attached entity can't be found

virtual bool makVrv::DtOsgObserverObject::getSecondaryAttachPosition ( osg::Vec3d &  position) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::getObserverOffsetVector ( double &  x,
double &  y,
double &  z 
) const [protected, virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setObserverOffsetVector ( double  x,
double  y,
double  z 
) [protected, virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::getAttachedRotationOffset ( double &  x,
double &  y,
double &  z,
double &  w 
) const [protected, virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::setAttachedRotationOffset ( double  x,
double  y,
double  z,
double  w 
) [protected, virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::getBoundingVolume ( DtSceneObject sceneObject,
osg::Vec3 &  bvolExtents,
osg::Vec3d &  bvolCenter 
) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::getBoundingVolume ( DtTerrainPatchObject patchObject,
osg::Vec3 &  bvolExtents,
osg::Vec3d &  bvolCenter 
) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::setLocation ( const osg::Vec3d &  location,
bool  suppress = true 
) [protected, virtual]
virtual bool makVrv::DtOsgObserverObject::isMoving ( ) const [protected, virtual]

Only called by master; indicates linear motion other than that caused by the movement of something we're attached to.

Reimplemented from makVrv::DtObserverObject.

virtual bool makVrv::DtOsgObserverObject::isRotating ( ) const [protected, virtual]
virtual double makVrv::DtOsgObserverObject::computeNearClipDistance ( DtSceneObject sceneObject) [protected, virtual]
virtual float makVrv::DtOsgObserverObject::computeLocalModelScalingAmount ( DtSceneObject sceneObject) [protected, virtual]
static void makVrv::DtOsgObserverObject::matrixdToTaitBryan ( const osg::Matrixd &  mat,
DtTaitBryan &  tb,
bool  isWorld2D = false 
) [static, protected]

isWorld2D when in plan view mode, geocentric, looking at a globe size terrain

static double makVrv::DtOsgObserverObject::clampUnity ( double  x) [static, protected]
virtual void makVrv::DtOsgObserverObject::calcScaledSpeed ( ) [protected, virtual]
virtual bool makVrv::DtOsgObserverObject::getTerrainOrPropIntersection ( const osg::Vec3d &  startPos,
const osg::Vec3d &  endPos,
osg::Vec3d &  result 
) const [protected, virtual]

Find a scene object by it's unique element id.

Find a terrain patch object by it's unique element id (only used by freeView).

virtual void makVrv::DtOsgObserverObject::getPositionAndOrientation ( DtSceneObject sceneObject,
osg::Vec3d &  position,
osg::Vec3d &  orientToPosition,
osg::Quat &  orientation 
) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::getPositionAndOrientation ( DtTerrainPatchObject patchObject,
osg::Vec3d &  position,
osg::Vec3d &  orientToPosition,
osg::Quat &  orientation 
) [protected, virtual]
virtual void makVrv::DtOsgObserverObject::getPositionFromSceneObject ( DtSceneObject sceneObject,
osg::Vec3d &  position 
) const [protected, virtual]

Get the Position from a scene object.

virtual bool makVrv::DtOsgObserverObject::getPartPositionOriFromSceneObject ( DtSceneObject sceneObject,
int  partId,
osg::Vec3d &  position,
osg::Quat &  ori 
) const [protected, virtual]

Get the Part position from a scene object.

Returns:
whether the part was found or not.
virtual void makVrv::DtOsgObserverObject::force2D ( ) [protected, virtual]

After all items are calculated in tick, call this routine to effect the position or rotation given the visual display mode.

virtual void makVrv::DtOsgObserverObject::dimensionChanged ( bool  is2D) [protected, virtual]

Called when visual mode is set, will effect position or rotation due to mode change.

virtual void makVrv::DtOsgObserverObject::setIs2D ( bool  is2D) [protected, virtual]

Set if the observer is using 2D nav mode.

Reimplemented from makVrv::DtObserverObject.

virtual double makVrv::DtOsgObserverObject::calculate3DAltitude ( ) const [protected, virtual]

Calculate the altitude.

virtual void makVrv::DtOsgObserverObject::calculateAltitude ( ) [protected, virtual]

Sets myAltitude using fixed2DAltitude() or calculate3DAltitude() depending on mode.

virtual double makVrv::DtOsgObserverObject::zoomFromCurrentAltitude ( ) [protected, virtual]

calculate an (approximate) zoom that will correspond, when in 2D, to the same perceived altitude when in 3D

virtual double makVrv::DtOsgObserverObject::zoomFromAltitude ( double  altitude) [protected, virtual]

calculate an (approximate) zoom that will correspond, when in 2D, to the specified 3D altitude

virtual double makVrv::DtOsgObserverObject::zoomFromHeightAboveTerrain ( double  hat) [protected, virtual]

calculate an (approximate) zoom that will correspond, when in 2D, to the specified height above terrain

virtual double makVrv::DtOsgObserverObject::calcEarthRadiusAtLocalCoord ( const osg::Vec3d &  local) const [protected, virtual]
virtual void makVrv::DtOsgObserverObject::synchronizeLocation ( double  x,
double  y,
double  z 
) [protected, virtual]

Reimplemented from makVrv::DtObserverObject.

virtual void makVrv::DtOsgObserverObject::synchronizeOrientation ( double  x,
double  y,
double  z,
double  w 
) [protected, virtual]

Reimplemented from makVrv::DtObserverObject.


Member Data Documentation

const double makVrv::DtOsgObserverObject::theZoomAltitudeConstant [static, protected]
const double makVrv::DtOsgObserverObject::theMaxTerrainRetryTime [static, protected]
const double makVrv::DtOsgObserverObject::theMinViewResolution [static, protected]
const double makVrv::DtOsgObserverObject::theMaxViewResolution [static, protected]

--- Observer

Current ENU position of observer, as an osg::Vec3d

Current offset from an attachment, when attached.

Used for switching between track mode and other attached modes.

Change in observer position this frame.

Gravity change in observer position this frame.

Change in world position due to drag.

largest of the distances currently in play in a given frame.

This is how far we'll advance. go. The other distances (in myObserverAdvance) will determine direction when normalized.

My Attached rotation offset.

This is our ENU observer orientation as a quaternion.

This is used for switching between track mode and other attach modes.

This is here so we can be in tether attach mode, detach, then attach to another entity and have a reasonable orientation wrt the observer offset vector that will be used.

This variable is true when the bounding radius is too big The reset view will be from far away trying to see the whole terrain like the globe.

Need just these, for terrain scaling.

---- Camera

This is the combined camera/observer orientation; this is what the DtOsgChannel uses to orient itself.

This is the combined camera/observer orientation; this is what the DtOsgChannel uses to orient itself.

This is the camera offset wrt to observer.

This is the camera (wrt the observer) as a quaternion.

suppress when jumping...

suppress when told to

This is an int rather than a bool because we increment/decrement it, much like a reference pointer.

When the last thing that needs the constraint decrements it, it will be 0 (false). When one or more functions need the constraint, it will be > 0 (true)

for backing out if we hit a constraint

note, this is only calculated if myConstrainToCenter is true

Currently for 2D only, these variables will be ignored if projecting in 3D mode

Only used in 3D.


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)