VR-Forces 5.0.1 Developer's Guide
 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.

Public Types

enum  RequestType { SegmentRequest, VectorRequest }
 
enum  ResponseType { Basic, Extended }
 
enum  ResponseCS { Geodetic, Entity }
 

Public Member Functions

virtual ~DtCigiLosRequest ()
 
DtCigiLosRequestoperator= (const DtCigiLosRequest &rhs)
 
virtual unsigned int lastFrameSent () const
 
virtual void setLastFrameSent (unsigned int frame)
 
virtual float minimumRange () const
 
virtual void setMinimumRange (float dist)
 
virtual float maximumRange () const
 
virtual void setMaximumRange (float dist)
 
virtual unsigned int losId () const
 
virtual void setLosId (unsigned int id)
 
virtual unsigned int hostFrameNumber () const
 
virtual void setHostFrameNumber (unsigned int frameNum)
 
virtual RequestType requestType () const
 
virtual void setRequestType (RequestType reqType)
 
virtual ResponseType responseType () const
 
virtual void setResponseType (ResponseType respType)
 
virtual ResponseCS responseCS () const
 
virtual void setResponseCS (ResponseCS coordSys)
 
virtual DtUniqueID sourceEntity () const
 
virtual void setSourceEntity (DtUniqueID source)
 
virtual const DtVectorsourcePoint () const
 
virtual void setSourcePoint (const DtVector &source)
 
virtual DtUniqueID destEntity () const
 
virtual void setDestEntity (DtUniqueID destEnt)
 
virtual const DtVectordestPoint () const
 
virtual void setDestPoint (const DtVector &destPnt)
 
virtual unsigned int updatePeriod () const
 
virtual void setUpdatePeriod (unsigned int frames)
 

Protected Member Functions

 DtCigiLosRequest ()
 

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
 
float myMinRange
 
float myMaxRange
 

Private Member Functions

 DtCigiLosRequest (const DtCigiLosRequest &orig)
 

Friends

class DtCigiLosRequestCreator
 

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

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

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

Get/Set the hostFrameNumber for this request. If the request is periodic, this will be updated for each request.

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

Get/Set whether the request came via a segment request or a vector request. For extended data responses, this can matter.

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

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

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

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 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

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

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

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 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

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

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

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 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

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 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
virtual float makVrv::DtCigiLosRequest::minimumRange ( ) const
virtual

Get/Set the minimum ranges for the LOS request Only used for Vector Requests.

virtual void makVrv::DtCigiLosRequest::setMinimumRange ( float  dist)
virtual
virtual float makVrv::DtCigiLosRequest::maximumRange ( ) const
virtual

Get/Set the maximum ranges for the LOS request Only used for Vector Requests.

virtual void makVrv::DtCigiLosRequest::setMaximumRange ( float  dist)
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
float makVrv::DtCigiLosRequest::myMinRange
protected
float makVrv::DtCigiLosRequest::myMaxRange
protected

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)