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

Class which will keep track of Intervisibility between an origin and an end point. More...

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

Classes

struct  IntersectionInformation

Public Member Functions

 DtAttachableIntervisibilityUpdater (DtDe &de, DtElementID id)
 CTOR.
virtual ~DtAttachableIntervisibilityUpdater ()
 DTOR.
virtual void setFixedDistance (bool)
 If true, sets the end point to be a fixed distance (given the current distance) from the start point, if the start points moves and the end point is not attached.
- Public Member Functions inherited from makVrv::DtLineModelUpdater
 DtLineModelUpdater (DtDe &de, DtElementID id)
 CTOR.
virtual ~DtLineModelUpdater ()
 DTOR.
virtual void setStartPoint (const DtVector &position)
 Sets the origin of the line (absolute)
virtual void attachStartPoint (DtElementID id)
 Sets the origin of the line to be attached to an element.
virtual void setStartPointOffset (const DtVector &offset)
 Sets the offset of the start attach point.
virtual void setEndPoint (const DtVector &position)
 Sets the end of the Intervisibility line (absolute)
virtual void attachEndPoint (DtElementID id)
 Sets the end of the line to be attached to an element.
virtual void setEndPointOffset (const DtVector &offset)
 Sets the offset of the end attach point.
virtual DtVector calculateStartPoint ()
 Accessor for the origin of the line.
virtual DtVector calculateEndPoint ()
 Accessor for the end point of the line.
virtual void setSceneObject (DtSceneObject *sceneObject)
 Override to set model set to use for intersections.
- Public Member Functions inherited from makVrv::DtAttachableUpdater
 DtAttachableUpdater (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtAttachableUpdater ()
 DTOR.
virtual bool needsUpdate (DtTime tNow)
 Does this updater need to update?
virtual void addAttachedPoint (const DtVector &position, int targetVertexIndex)
 Add a (vertex) attach point.
virtual void addAttachedPoint (DtUniqueID uniqueID, int targetVertexIndex)
 Add a (object) attach point.
virtual void addAttachedPoint (DtUniqueID uniqueID, int vtx1, int vtx2, double proportion, int targetVertexIndex)
 Add a (linear) attach point.
virtual const AttachedPointattachedPoint (int targetVertexIndex) const
 Returns the attached point at the given vertex.
virtual void setPositionOffset (const DtVector &offset)
 positionally offset the attach points by this amount.
virtual void setWorldPositionOffset (const DtVector &offset)
 positionally offset the specific attach point by this amount in world (database) coordinates.
virtual void setPositionOffset (const DtVector &offset, int vtx)
 positionally offset the specific attach point by this amount.
virtual void setOrientationOffset (const DtTaitBryan &offset)
 rotationally offset the attach points by this amount.
virtual void setWorldOrientationOffset (const DtTaitBryan &offset)
 rotationally offset the attach points by this amount in world (database) coordinates
virtual void setAttachedPointMode (unsigned int mode, int vtx)
 Set whether an attached point updates position, orientation, or both.
virtual void doAttachment (DtTime tNow)
 Find the actual position and orientation based on the attach points and offsets.
DtTime lastUpdateTime () const
- Public Member Functions inherited from makVrv::DtTickable
virtual ~DtTickable ()
 Virtual DTOR.
virtual void setUpdatePeriod (unsigned int period)
 Specify how often (in # of frames) this tickable should call update.
virtual unsigned int updatePeriod () const

Protected Member Functions

virtual void update (DtTime tNow)
 Sees if inter-visibility needs to be recalculated, and, if so recalculates and sets all associated lines.
virtual bool doIntersection ()
 Does intersection if points have changed. Returns true if something has changed.
virtual void updateSceneObject (DtTime tNow)
virtual double calculateDistance (const DtVector &start, const DtVector &end, DtVector *circleOrigin=0) const
 Calculates distance based on topo coordinates in 3 dimensions.
virtual void calculateFixedDistance ()
 Calculates the distance from the start to end point and assigns to myFixedDistance member.
virtual DtVector fixedDistanceFrom (const DtVector &start, const DtVector &end, double heading, double distance) const
 Given a heading and distance, returns a fixed distance from the start point with altitude clamped at the new ground location.
virtual double calculateHeading (const DtVector &start, const DtVector &end) const
 Calculates topographic heading from start to end point.
virtual DtVector clamp (const DtVector &pt) const
 Returns the ground clamped position.
- Protected Member Functions inherited from makVrv::DtLineModelUpdater
virtual void cleanup (PointInformation &pointInfo)
 Cleans up (resets) information for given point.
virtual DtVector offsetPoint (DtVector point, const DtVector &offset, const DtTaitBryan &ori=DtTaitBryan()) const
 Offsets the given point and returns new position Applies the given offset to the input point at the given orientation.
virtual DtVector getAttachedPosition (PointInformation &pointInfo)
 Gets the attached position of the given point Attempts to get and return the attached position of the given point, and returns pointInfo.position if obtaining the attached scene object or updater failed.
virtual void getSceneInformation (const PointInformation &info, DtUniqueID &sceneId)
 Gets the id of the attached element to use for positioning.
virtual void slot_attachedSceneObjectToBeDeleted (DtUniqueID, PointInformation *)
 Called when scene object that this item is attached to is to be deleted.
virtual void slot_attachedUpdaterToBeDeleted (DtUniqueID, PointInformation *)
 Called when updater of attached scene object is to be deleted.
- Protected Member Functions inherited from makVrv::DtAttachableUpdater
virtual bool pointLocationAndOrientation (AttachedPoint *point, double simTime, DtVector &location, DtTaitBryan &orientation)
virtual void removeAttachedPoint (int vtx, DtVector *positionOffset=0)
 Returns current position offset in supplied pointer.
virtual void slot_sceneObjectToBeDeleted (const DtUniqueID &id)
virtual void slot_attachedSceneObjectToBeDeleted (const DtUniqueID &)
virtual void slot_attachedUpdaterToBeDeleted (const DtUniqueID &id)
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 CTOR.
 DtTickable ()
 Unimplemented default CTOR.
virtual void slot_managerAboutToBeDeleted ()

Protected Attributes

IntersectionInformation myIntersectionInformation
bool myFixDistance
double myFixedDistance
double myFixedHeading
- Protected Attributes inherited from makVrv::DtLineModelUpdater
PointInformation myStartPoint
PointInformation myEndPoint
- Protected Attributes inherited from makVrv::DtAttachableUpdater
DtDemyDe
 The display engine.
DtUniqueID myUniqueId
 This distributed object's unique identifier.
DtSceneObjectmySceneObject
 A pointer to the current scene object being updated.
DtTime myLastUpdateTime
 The last time stamp when the update()
AttachedPointsVector myAttachedPoints
DtVector myPositionOffset
DtTaitBryan myOrientationOffset
DtVector myWorldPositionOffset
DtTaitBryan myWorldOrientationOffset
DtUniqueID mySceneObjectId
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 Pointer to manager for removal during destruction.
DtSignalConnectionManager myConnections
unsigned int myFrameCounter
unsigned int myFrameToUpdate
unsigned int myUpdatePeriod

Additional Inherited Members

- Public Types inherited from makVrv::DtAttachableUpdater
enum  AttachedPointType {
  AttachedPointTypeVertex, AttachedPointTypeObject, AttachedPointTypeProportional, AttachedPointTypeDeprecatedObject,
  AttachedPointTypeInvalidObject
}
 Types of attachments. More...
enum  AttachedPointMode { AttachedPointModePositionAndOrientation, AttachedPointModePositionOnly, AttachedPointModeOrientationOnly }
- Protected Types inherited from makVrv::DtAttachableUpdater
typedef std::vector
< AttachedPoint * > 
AttachedPointsVector

Detailed Description

Class which will keep track of Intervisibility between an origin and an end point.

Will update all scene objects attached to it with the Intervisibility information.

Constructor & Destructor Documentation

makVrv::DtAttachableIntervisibilityUpdater::DtAttachableIntervisibilityUpdater ( DtDe de,
DtElementID  id 
)

CTOR.

virtual makVrv::DtAttachableIntervisibilityUpdater::~DtAttachableIntervisibilityUpdater ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtAttachableIntervisibilityUpdater::setFixedDistance ( bool  )
virtual

If true, sets the end point to be a fixed distance (given the current distance) from the start point, if the start points moves and the end point is not attached.

Default is false

virtual void makVrv::DtAttachableIntervisibilityUpdater::update ( DtTime  tNow)
protectedvirtual

Sees if inter-visibility needs to be recalculated, and, if so recalculates and sets all associated lines.

Reimplemented from makVrv::DtLineModelUpdater.

Reimplemented in makVrv::DtAttachableEntityFanUpdater.

virtual bool makVrv::DtAttachableIntervisibilityUpdater::doIntersection ( )
protectedvirtual

Does intersection if points have changed. Returns true if something has changed.

Reimplemented in makVrv::DtAttachableEntityFanUpdater, and makVrv::DtAttachableFanUpdater.

virtual void makVrv::DtAttachableIntervisibilityUpdater::updateSceneObject ( DtTime  tNow)
protectedvirtual
virtual double makVrv::DtAttachableIntervisibilityUpdater::calculateDistance ( const DtVector start,
const DtVector end,
DtVector circleOrigin = 0 
) const
protectedvirtual

Calculates distance based on topo coordinates in 3 dimensions.

virtual void makVrv::DtAttachableIntervisibilityUpdater::calculateFixedDistance ( )
protectedvirtual

Calculates the distance from the start to end point and assigns to myFixedDistance member.

virtual DtVector makVrv::DtAttachableIntervisibilityUpdater::fixedDistanceFrom ( const DtVector start,
const DtVector end,
double  heading,
double  distance 
) const
protectedvirtual

Given a heading and distance, returns a fixed distance from the start point with altitude clamped at the new ground location.

Returned in local database coordinates

virtual double makVrv::DtAttachableIntervisibilityUpdater::calculateHeading ( const DtVector start,
const DtVector end 
) const
protectedvirtual

Calculates topographic heading from start to end point.

virtual DtVector makVrv::DtAttachableIntervisibilityUpdater::clamp ( const DtVector pt) const
protectedvirtual

Returns the ground clamped position.

Member Data Documentation

IntersectionInformation makVrv::DtAttachableIntervisibilityUpdater::myIntersectionInformation
protected
bool makVrv::DtAttachableIntervisibilityUpdater::myFixDistance
protected
double makVrv::DtAttachableIntervisibilityUpdater::myFixedDistance
protected
double makVrv::DtAttachableIntervisibilityUpdater::myFixedHeading
protected

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

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)