VR-Forces 4.0.4 Class Documentation
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]

List of all members.

Classes

struct  IntersectionInformation

Public Member Functions

 DtAttachableIntervisibilityUpdater (DtDe &de, DtElementID id, bool doNotAddToMgr=false)
 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.

Protected Member Functions

virtual void update (double)
 Sees if intervisibility 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 ()
 push the results to the scene object. Called by update()
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 two points (for an angle), returns a fixed distance from the start point.
virtual double calculateHeading (const DtVector &start, const DtVector &end) const
 Calculates topographic heading from start to end point.

Protected Attributes

IntersectionInformation myIntersectionInformation
bool myFixDistance
double myFixedDistance
double myFixedHeading

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

CTOR.

DTOR.


Member Function Documentation

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 ( double  ) [protected, virtual]

Sees if intervisibility needs to be recalculated, and, if so recalculates and sets all associated lines.

Reimplemented from makVrv::DtLineModelUpdater.

Reimplemented in makVrv::DtAttachableEntityFanUpdater.

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

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

push the results to the scene object. Called by update()

Implements makVrv::DtLineModelUpdater.

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

virtual double makVrv::DtAttachableIntervisibilityUpdater::calculateDistance ( const DtVector start,
const DtVector end,
DtVector circleOrigin = 0 
) const [protected, virtual]

Calculates distance based on topo coordinates in 3 dimensions.

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 [protected, virtual]

Given two points (for an angle), returns a fixed distance from the start point.

virtual double makVrv::DtAttachableIntervisibilityUpdater::calculateHeading ( const DtVector start,
const DtVector end 
) const [protected, virtual]

Calculates topographic heading from start to end point.


Member Data Documentation


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)