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

A DtLosResponder processes CIGI LOS Segment Request and LOS Vector Request messages and packages them up into an instance of this class, and either immediately signals the DtCigiIntersectionHandler of a request or adds a periodic request to its queue. More...

Public Types

enum  RequestType { SegmentRequest, VectorRequest }
 The type of LOS request an instance represents. More...
enum  ResponseType { Basic, Extended }
 The kind of response the LOS request wants. More...
enum  ResponseCS { Geodetic, Entity }
 The coordinate system that intersections should be reported in. More...

Public Member Functions

virtual ~DtCigiLosRequest ()
 DTOR.
DtCigiLosRequestoperator= (const DtCigiLosRequest &rhs)
 Assignment operator.
virtual unsigned int lastFrameSent () const
 Get/Set the last frame number that an LOS check was executed.
virtual void setLastFrameSent (unsigned int frame)
virtual unsigned int losId () const
 Get/Set the los id used by the host to request this los check.
virtual void setLosId (unsigned int id)
virtual unsigned int hostFrameNumber () const
 Get/Set the hostFrameNumber for this request.
virtual void setHostFrameNumber (unsigned int frameNum)
virtual RequestType requestType () const
 Get/Set whether the request came via a segment request or a vector request.
virtual void setRequestType (RequestType reqType)
virtual ResponseType responseType () const
 Get/Set the response type requested (currently either basic or extended data)
virtual void setResponseType (ResponseType respType)
virtual ResponseCS responseCS () const
 Get/Set the coordinate system requested for entity intersections (only extended data responses include this).
virtual void setResponseCS (ResponseCS coordSys)
virtual DtUniqueID sourceEntity () const
 Get/Set the scene object ID of the entity specified as the start point for the LOS request (or 0) if not set.
virtual void setSourceEntity (DtUniqueID source)
virtual const DtVectorsourcePoint () const
 Get/Set the source point of the intersection.
virtual void setSourcePoint (const DtVector &source)
virtual DtUniqueID destEntity () const
 Get/Set the destination entity (set to 0 by default, which indicates none specified).
virtual void setDestEntity (DtUniqueID destEnt)
virtual const DtVectordestPoint () const
 Get/Set the destination endpoint of the intersection.
virtual void setDestPoint (const DtVector &destPnt)
virtual unsigned int updatePeriod () const
 Get/Set the intersection requests update period.
virtual void setUpdatePeriod (unsigned int frames)

Protected Member Functions

 DtCigiLosRequest ()
 (Protected) CTOR. Can only be constructed through DtCigiLosRequestCreator

Protected Attributes

unsigned int myLosId
unsigned int myHostFrameNumber
RequestType myRequestType
ResponseType myResponseType
ResponseCS myResponseCS
unsigned int myUpdatePeriod
unsigned int myLastFrameSent
DtUniqueID mySourceEntity
DtVector mySourcePoint
DtUniqueID myDestEntity
DtVector myDestPoint

Private Member Functions

 DtCigiLosRequest (const DtCigiLosRequest &orig)
 (Unimplemented) Copy CTOR

Friends

class DtCigiLosRequestCreator
 Friended so that the creator can call the (protected) CTOR.

Detailed Description

A DtLosResponder processes CIGI LOS Segment Request and LOS Vector Request messages and packages them up into an instance of this class, and either immediately signals the DtCigiIntersectionHandler of a request or adds a periodic request to its queue.

Member Enumeration Documentation

The type of LOS request an instance represents.

Enumerator:
SegmentRequest 
VectorRequest 

The kind of response the LOS request wants.

Enumerator:
Basic 
Extended 

The coordinate system that intersections should be reported in.

'Entity' is the coordinate system of an entity that's been intersected. Intersections with the terrain are always reported in 'Geodetic'.

Enumerator:
Geodetic 
Entity 

Constructor & Destructor Documentation

virtual makVrv::DtCigiLosRequest::~DtCigiLosRequest ( )
virtual

DTOR.

makVrv::DtCigiLosRequest::DtCigiLosRequest ( )
protected

(Protected) CTOR. Can only be constructed through DtCigiLosRequestCreator

makVrv::DtCigiLosRequest::DtCigiLosRequest ( const DtCigiLosRequest orig)
private

(Unimplemented) Copy CTOR

Member Function Documentation

DtCigiLosRequest& makVrv::DtCigiLosRequest::operator= ( const DtCigiLosRequest rhs)

Assignment operator.

virtual unsigned int makVrv::DtCigiLosRequest::losId ( ) const
virtual

Get/Set the los id used by the host to request this los check.

virtual void makVrv::DtCigiLosRequest::setLosId ( unsigned int  id)
virtual
virtual unsigned int makVrv::DtCigiLosRequest::hostFrameNumber ( ) const
virtual

Get/Set the hostFrameNumber for this request.

If the request is periodic, this will be updated for each request

virtual void makVrv::DtCigiLosRequest::setHostFrameNumber ( unsigned int  frameNum)
virtual
virtual RequestType makVrv::DtCigiLosRequest::requestType ( ) const
virtual

Get/Set whether the request came via a segment request or a vector request.

For extended data responses, this can matter

virtual void makVrv::DtCigiLosRequest::setRequestType ( RequestType  reqType)
virtual
virtual ResponseType makVrv::DtCigiLosRequest::responseType ( ) const
virtual

Get/Set the response type requested (currently either basic or extended data)

virtual void makVrv::DtCigiLosRequest::setResponseType ( ResponseType  respType)
virtual
virtual ResponseCS makVrv::DtCigiLosRequest::responseCS ( ) const
virtual

Get/Set the coordinate system requested for entity intersections (only extended data responses include this).

The intersections will be returned in either geodetic coordinates or the coordinate system of the entity that was intersected

virtual void makVrv::DtCigiLosRequest::setResponseCS ( ResponseCS  coordSys)
virtual
virtual DtUniqueID makVrv::DtCigiLosRequest::sourceEntity ( ) const
virtual

Get/Set the scene object ID of the entity specified as the start point for the LOS request (or 0) if not set.

virtual void makVrv::DtCigiLosRequest::setSourceEntity ( DtUniqueID  source)
virtual
virtual const DtVector& makVrv::DtCigiLosRequest::sourcePoint ( ) const
virtual

Get/Set the source point of the intersection.

There are multiple options here.

  1. The request was a segment request that specified an entity as the start point: then this is an <x,y,z> offset from that entity also specified in the request
  2. The request was a segment request that specified a geodetic start point: then this is that point in database coordinates
  3. The request was a vector request that specified an entity as the start point: then this is an <x,y,z> offset that incorporates both the specified offset plus the minimum length along the vector, both specified in the request, in entity coordinates. So adding this value to the entity's database position gives the position that the intersection will start at
  4. The request was a vector request that specified a geodetic start point: then this is that point, in database coordinates, plus the offset specified by the minimum length parameter in the request.
virtual void makVrv::DtCigiLosRequest::setSourcePoint ( const DtVector source)
virtual
virtual DtUniqueID makVrv::DtCigiLosRequest::destEntity ( ) const
virtual

Get/Set the destination entity (set to 0 by default, which indicates none specified).

virtual void makVrv::DtCigiLosRequest::setDestEntity ( DtUniqueID  destEnt)
virtual
virtual const DtVector& makVrv::DtCigiLosRequest::destPoint ( ) const
virtual

Get/Set the destination endpoint of the intersection.

There are multiple options here.

  1. The request was a segment request that specified an entity as the end point: then this is an <x,y,z> offset from that entity also specified in the request
  2. The request was a segment request that specified a geodetic end point: then this is that point in database coordinates
  3. The request was a vector request: this is the endpoint of that vector based on the maximum length specified.
virtual void makVrv::DtCigiLosRequest::setDestPoint ( const DtVector destPnt)
virtual
virtual unsigned int makVrv::DtCigiLosRequest::updatePeriod ( ) const
virtual

Get/Set the intersection requests update period.

If non-zero, this request will be placed on a list to be executed every 'update period' frames. This value will be used by the DtLosResponder (in conjunction with the lastFrameSent) to determine when another LOS check should be executed

virtual void makVrv::DtCigiLosRequest::setUpdatePeriod ( unsigned int  frames)
virtual
virtual unsigned int makVrv::DtCigiLosRequest::lastFrameSent ( ) const
virtual

Get/Set the last frame number that an LOS check was executed.

Used by the DtLosResponder (in conjuntion with the updatePeriod) to determine when another LOS check should be executed

virtual void makVrv::DtCigiLosRequest::setLastFrameSent ( unsigned int  frame)
virtual

Friends And Related Function Documentation

friend class DtCigiLosRequestCreator
friend

Friended so that the creator can call the (protected) CTOR.

Member Data Documentation

unsigned int makVrv::DtCigiLosRequest::myLosId
protected
unsigned int makVrv::DtCigiLosRequest::myHostFrameNumber
protected
RequestType makVrv::DtCigiLosRequest::myRequestType
protected
ResponseType makVrv::DtCigiLosRequest::myResponseType
protected
ResponseCS makVrv::DtCigiLosRequest::myResponseCS
protected
unsigned int makVrv::DtCigiLosRequest::myUpdatePeriod
protected
unsigned int makVrv::DtCigiLosRequest::myLastFrameSent
protected
DtUniqueID makVrv::DtCigiLosRequest::mySourceEntity
protected
DtVector makVrv::DtCigiLosRequest::mySourcePoint
protected
DtUniqueID makVrv::DtCigiLosRequest::myDestEntity
protected
DtVector makVrv::DtCigiLosRequest::myDestPoint
protected

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

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)