VR-Link API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtGenericVariableRecord Class Reference

A generic variable record that has a variable sized buffer Because the format of the contents is not known, the buffer is always padded to the required 8-byte boundary (i.e., there might be additional trailing bytes added to the variable data from what is expected. More...

+ Inheritance diagram for DtGenericVariableRecord:
+ Collaboration diagram for DtGenericVariableRecord:

Public Member Functions

 DtGenericVariableRecord (unsigned int recordType, unsigned int dataLength=0, void *dataPtr=0)
 Construct a record of the given type with optional data length (not including header or padding) and data.
 DtGenericVariableRecord (const DtGenericVariableRecord &orig)
 Copy Constructor.
 DtGenericVariableRecord (void *ptr, unsigned int size)
 Net Constructor Memory must exist for life of the variable record.
virtual ~DtGenericVariableRecord ()
 Destructor.
virtual DtGenericVariableRecordoperator= (const DtGenericVariableRecord &record)
 Assignment Operator.
virtual DtStandardVariableRecordoperator= (const DtStandardVariableRecord &other)
 Assignment operator.
virtual bool operator== (const DtGenericVariableRecord &record)
 Equals Operator.
virtual bool operator== (const DtStandardVariableRecord &record)
 Equals Operator.
virtual unsigned int dataSize () const
 Get the variable data size (will include size of padding bytes if any)
virtual void writeRecord (void *addr) const
virtual void setFromNet (const void *netRecord, unsigned int length, DtStandardVariableRetCode *retCode=NULL)
 Sets the record from an address and length.
virtual const char * netRep () const
 The net record including the header.
virtual void printDataToStream (std::ostream &stream) const
 Prints the data to the specified stream.
virtual unsigned int unpaddedNetsize () const
 This is the network size of the record without padding.
virtual DtStandardVariableRecordclone () const
 Clone.
virtual unsigned int recordType () const
 Get/Set Record Type.
virtual void setRecordType (unsigned int recordType)
 Get/Set Record Type.
virtual unsigned int recordLength () const
 Get/Set Record Length.
virtual void setRecordLength (unsigned int length)
 Must include size of record header and padding to 8 bytes.
virtual const char * variableData () const
 Get/Set the variable data part of record.
virtual char * variableData ()
 Get/Set the variable data part of record.
virtual void setVariableData (const std::vector< char > &data)
 Get/Set the variable data part of record.
virtual void setVariableData (const char *data, unsigned size)
 Get/Set the variable data part of record.
- Public Member Functions inherited from DtStandardVariableRecord
 DtStandardVariableRecord ()
 Constructor.
virtual ~DtStandardVariableRecord ()
 Destructor.
virtual void printData () const
 Prints the data to DtInfo.
virtual unsigned int netSize ()
 Returns the size of the network representation (including padding bytes)
virtual void setOriginatingSimulationAddress (const DtSimulationAddress &)
virtual const DtSimulationAddressoriginatingSimulationAddress () const

Static Public Member Functions

static DtStandardVariableRecordcreate (void *addr, unsigned int length)
 Creator of an unknown record for registering in a factory.

Protected Member Functions

virtual void resizeForDataOfSize (int size)
 Resize the buffer for the given data size.

Protected Attributes

std::vector< char > myRecordBuffer
DtNetGenericVariableRecordmyRecordPtr
DtU8myVariableDataPtr
unsigned int myNetSize
 Greater than 0 only when record is wrapping around a network buffer.
- Protected Attributes inherited from DtStandardVariableRecord
DtSimulationAddress myOriginatingSimulationAddress

Detailed Description

A generic variable record that has a variable sized buffer Because the format of the contents is not known, the buffer is always padded to the required 8-byte boundary (i.e., there might be additional trailing bytes added to the variable data from what is expected.

Constructor & Destructor Documentation

DtGenericVariableRecord::DtGenericVariableRecord ( unsigned int  recordType,
unsigned int  dataLength = 0,
void *  dataPtr = 0 
)

Construct a record of the given type with optional data length (not including header or padding) and data.

DtGenericVariableRecord::DtGenericVariableRecord ( const DtGenericVariableRecord orig)

Copy Constructor.

DtGenericVariableRecord::DtGenericVariableRecord ( void *  ptr,
unsigned int  size 
)

Net Constructor Memory must exist for life of the variable record.

virtual DtGenericVariableRecord::~DtGenericVariableRecord ( )
virtual

Destructor.

Member Function Documentation

virtual DtStandardVariableRecord* DtGenericVariableRecord::clone ( ) const
virtual
static DtStandardVariableRecord* DtGenericVariableRecord::create ( void *  addr,
unsigned int  length 
)
static

Creator of an unknown record for registering in a factory.

Reimplemented in DtDiGuyAppearanceRecord, DtDiGuyShapeVariationsRecord, DtDiGuyScaleRecord, and DtDiGuyTypeRecord.

virtual unsigned int DtGenericVariableRecord::dataSize ( ) const
virtual

Get the variable data size (will include size of padding bytes if any)

virtual const char* DtGenericVariableRecord::netRep ( ) const
virtual

The net record including the header.

virtual DtGenericVariableRecord& DtGenericVariableRecord::operator= ( const DtGenericVariableRecord record)
virtual

Assignment Operator.

virtual DtStandardVariableRecord& DtGenericVariableRecord::operator= ( const DtStandardVariableRecord other)
virtual
virtual bool DtGenericVariableRecord::operator== ( const DtGenericVariableRecord record)
virtual

Equals Operator.

virtual bool DtGenericVariableRecord::operator== ( const DtStandardVariableRecord record)
virtual
virtual void DtGenericVariableRecord::printDataToStream ( std::ostream &  stream) const
virtual

Prints the data to the specified stream.

Implements DtStandardVariableRecord.

Reimplemented in DtDiGuyAppearanceRecord, DtDiGuyShapeVariationsRecord, DtDiGuyScaleRecord, and DtDiGuyTypeRecord.

virtual unsigned int DtGenericVariableRecord::recordLength ( ) const
virtual

Get/Set Record Length.

Implements DtStandardVariableRecord.

virtual unsigned int DtGenericVariableRecord::recordType ( ) const
virtual

Get/Set Record Type.

Implements DtStandardVariableRecord.

virtual void DtGenericVariableRecord::resizeForDataOfSize ( int  size)
protectedvirtual

Resize the buffer for the given data size.

virtual void DtGenericVariableRecord::setFromNet ( const void *  netRecord,
unsigned int  length,
DtStandardVariableRetCode retCode = NULL 
)
virtual

Sets the record from an address and length.

Return code will be Valid if all goes well. Memory for netRecord must exist for life of this variable record or until setFromNet or assignment is performed

Implements DtStandardVariableRecord.

Reimplemented in DtDiGuyAppearanceRecord, DtDiGuyShapeVariationsRecord, DtDiGuyScaleRecord, and DtDiGuyTypeRecord.

virtual void DtGenericVariableRecord::setRecordLength ( unsigned int  length)
virtual

Must include size of record header and padding to 8 bytes.

Implements DtStandardVariableRecord.

virtual void DtGenericVariableRecord::setRecordType ( unsigned int  recordType)
virtual

Get/Set Record Type.

Implements DtStandardVariableRecord.

virtual void DtGenericVariableRecord::setVariableData ( const std::vector< char > &  data)
virtual

Get/Set the variable data part of record.

Returned buffer will include padding bytes if any

virtual void DtGenericVariableRecord::setVariableData ( const char *  data,
unsigned  size 
)
virtual

Get/Set the variable data part of record.

Returned buffer will include padding bytes if any

virtual unsigned int DtGenericVariableRecord::unpaddedNetsize ( ) const
virtual

This is the network size of the record without padding.

Implements DtStandardVariableRecord.

Reimplemented in DtDiGuyAppearanceRecord, DtDiGuyShapeVariationsRecord, DtDiGuyScaleRecord, and DtDiGuyTypeRecord.

virtual const char* DtGenericVariableRecord::variableData ( ) const
virtual

Get/Set the variable data part of record.

Returned buffer will include padding bytes if any

virtual char* DtGenericVariableRecord::variableData ( )
virtual

Get/Set the variable data part of record.

Returned buffer will include padding bytes if any

virtual void DtGenericVariableRecord::writeRecord ( void *  addr) const
virtual

Member Data Documentation

unsigned int DtGenericVariableRecord::myNetSize
protected

Greater than 0 only when record is wrapping around a network buffer.

std::vector<char> DtGenericVariableRecord::myRecordBuffer
protected
DtNetGenericVariableRecord* DtGenericVariableRecord::myRecordPtr
protected
DtU8* DtGenericVariableRecord::myVariableDataPtr
protected

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

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)