VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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. Will update all scene objects attached to it with the Intervisibility information.

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

Classes

struct  IntersectionInformation
 

Public Member Functions

 DtAttachableIntervisibilityUpdater (DtDe &de, DtElementID id)
 
virtual ~DtAttachableIntervisibilityUpdater ()
 
virtual void setFixedDistance (bool)
 
- Public Member Functions inherited from makVrv::DtLineModelUpdater
 DtLineModelUpdater (DtDe &de, DtElementID id)
 
virtual ~DtLineModelUpdater ()
 
virtual void setStartPoint (const DtVector &position)
 
virtual void attachStartPoint (DtElementID id)
 
virtual void setStartPointOffset (const DtVector &offset)
 
virtual void setEndPoint (const DtVector &position)
 
virtual void attachEndPoint (DtElementID id)
 
virtual void setEndPointOffset (const DtVector &offset)
 
virtual DtVector calculateStartPoint ()
 
virtual DtVector calculateEndPoint ()
 
virtual void setSceneObject (DtSceneObject *sceneObject)
 
- Public Member Functions inherited from makVrv::DtAttachableUpdater
 DtAttachableUpdater (DtDe &de, DtUniqueID id)
 
virtual ~DtAttachableUpdater ()
 
virtual bool needsUpdate (DtTime tNow)
 
virtual void addAttachedPoint (const DtVector &position, int targetVertexIndex)
 
virtual void addAttachedPoint (DtUniqueID uniqueID, int targetVertexIndex)
 
virtual void addAttachedPoint (DtUniqueID uniqueID, int vtx1, int vtx2, double proportion, int targetVertexIndex)
 
virtual const AttachedPointattachedPoint (int targetVertexIndex) const
 
virtual void setPositionOffset (const DtVector &offset)
 
virtual void setWorldPositionOffset (const DtVector &offset)
 
virtual void setPositionOffset (const DtVector &offset, int vtx)
 
virtual void setOrientationOffset (const DtTaitBryan &offset)
 
virtual void setWorldOrientationOffset (const DtTaitBryan &offset)
 
virtual void setAttachedPointMode (unsigned int mode, int vtx)
 
virtual void doAttachment (DtTime tNow)
 
DtTime lastUpdateTime () const
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool updateIfNeeded (DtTime tNow)
 
virtual ~DtTickable ()
 
virtual void setIsThreadSafe (bool safe)
 
virtual bool isThreadSafe () const
 
virtual void setTickableListState (TickableListState safeList)
 
virtual TickableListState tickableListState () const
 
virtual void setUpdatePeriod (unsigned int period)
 
virtual unsigned int updatePeriod () const
 
virtual bool lodSystemEnabled () const
 

Protected Member Functions

virtual void update (DtTime tNow)
 
virtual bool doIntersection (const DtTime tNow)
 
virtual void updateSceneObject (DtTime tNow)
 
virtual double calculateDistance (const DtVector &start, const DtVector &end, DtVector *circleOrigin=0) const
 
virtual void calculateFixedDistance ()
 
virtual DtVector fixedDistanceFrom (const DtVector &start, const DtVector &end, double heading, double distance) const
 
virtual double calculateHeading (const DtVector &start, const DtVector &end) const
 
virtual DtVector clamp (const DtVector &pt) const
 
virtual void slot_coordinateSystemChanged ()
 
- Protected Member Functions inherited from makVrv::DtLineModelUpdater
virtual void cleanup (PointInformation &pointInfo)
 
virtual DtVector offsetPoint (const DtVector &point, const DtVector &offset, const DtTaitBryan &rootOri=DtTaitBryan()) const
 
virtual DtVector getAttachedPosition (PointInformation &pointInfo)
 
virtual DtTaitBryan getAttachedOrientation (PointInformation &pointInfo)
 
virtual void getSceneInformation (const PointInformation &info, DtUniqueID &sceneId)
 
virtual void slot_attachedSceneObjectToBeDeleted (DtUniqueID, PointInformation *)
 
virtual void slot_attachedUpdaterToBeDeleted (DtUniqueID, PointInformation *)
 
- 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)
 
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)
 
 DtTickable ()
 
virtual void slot_managerAboutToBeDeleted ()
 

Protected Attributes

IntersectionInformation myIntersectionInformation
 
bool myFixDistance
 
double myFixedDistance
 
double myFixedHeading
 
DtIntersectorsContainermyIntersectors = nullptr
 
DtCachedIntersectorsContainermyCachedIntersectorsContainer = nullptr
 
DtSignalConnectionManager myConnections
 
DtCoordinateSystemmyCoordinateSystem = nullptr
 
const DtObserverModeManagermyObserverModeManager
 
- Protected Attributes inherited from makVrv::DtLineModelUpdater
PointInformation myStartPoint
 
PointInformation myEndPoint
 
- Protected Attributes inherited from makVrv::DtAttachableUpdater
DtDemyDe
 
DtUniqueID myUniqueId
 
DtSceneObjectmySceneObject
 
boost::signalslib::connection mySceneObjectConnection
 
boost::signalslib::connection mySceneObjectUpdaterConnection
 
DtTime myLastUpdateTime
 
AttachedPointsVector myAttachedPoints
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
DtVector myWorldPositionOffset
 
DtTaitBryan myWorldOrientationOffset
 
DtUniqueID mySceneObjectId
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 
DtSignalConnectionManager myConnections
 
unsigned int myFrameCounter
 
unsigned int myFrameToUpdate
 
unsigned int myUpdatePeriod
 
DtTime myLastUpdateTime
 
bool myIsThreadSafe
 
TickableListState myTickableListState
 

Additional Inherited Members

- Public Types inherited from makVrv::DtAttachableUpdater
enum  AttachedPointType {
  AttachedPointTypeVertex, AttachedPointTypeObject, AttachedPointTypeProportional, AttachedPointTypeDeprecatedObject,
  AttachedPointTypeInvalidObject
}
 
enum  AttachedPointMode { AttachedPointModePositionAndOrientation, AttachedPointModePositionOnly, AttachedPointModeOrientationOnly }
 
- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 
- Protected Types inherited from makVrv::DtAttachableUpdater
typedef std::vector
< AttachedPoint * > 
AttachedPointsVector
 

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, and makVrf::DtVrfAttachableEntityFanUpdater.

virtual bool makVrv::DtAttachableIntervisibilityUpdater::doIntersection ( const DtTime  tNow)
protectedvirtual
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.

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

slot for when the coordinate system changes

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

Member Data Documentation

IntersectionInformation makVrv::DtAttachableIntervisibilityUpdater::myIntersectionInformation
protected
bool makVrv::DtAttachableIntervisibilityUpdater::myFixDistance
protected
double makVrv::DtAttachableIntervisibilityUpdater::myFixedDistance
protected
double makVrv::DtAttachableIntervisibilityUpdater::myFixedHeading
protected
DtIntersectorsContainer* makVrv::DtAttachableIntervisibilityUpdater::myIntersectors = nullptr
protected
DtCachedIntersectorsContainer* makVrv::DtAttachableIntervisibilityUpdater::myCachedIntersectorsContainer = nullptr
protected
DtSignalConnectionManager makVrv::DtAttachableIntervisibilityUpdater::myConnections
protected
DtCoordinateSystem* makVrv::DtAttachableIntervisibilityUpdater::myCoordinateSystem = nullptr
protected
const DtObserverModeManager& makVrv::DtAttachableIntervisibilityUpdater::myObserverModeManager
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)