VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Static Protected Attributes | Private Member Functions
DtScriptedTask Class Referenceabstract

The DtScriptedTaskTask will encapsulate the variables defined by a scripted task in the variable bindings object. More...

Inheritance diagram for DtScriptedTask:
Inheritance graph
[legend]

Classes

struct  identity
 
class  ScriptedTaskFormatter
 

Public Member Functions

 DtScriptedTask ()
 
virtual ~DtScriptedTask ()
 
virtual bool init ()=0
 Initializer. More...
 
virtual const DtStringscriptId () const =0
 Script id. More...
 
virtual void setScriptId (const DtString &)=0
 
virtual DtRwVariableBindingsvariables ()=0
 Access to variables. More...
 
virtual const
DtRwVariableBindings
variables () const =0
 
virtual DtRwVariableBindingsvariableDataTypes ()=0
 Access to the data types that represent the variables. More...
 
virtual const
DtRwVariableBindings
variableDataTypes () const =0
 
virtual DtString allVariablesStringRep (const DtString &scriptName="") const =0
 
virtual void setValue (const DtString &variableName, bool, const char *type=DtScriptedTaskCheckBoxVariable)
 {@ Convenience methods that will allow for the adding and retrieving values that are valid for this scripted task More...
 
virtual void setValue (const DtString &variableName, int, const char *type=DtScriptedTaskIntegerVariable)
 
virtual void setValue (const DtString &variableName, double, const char *type=DtScriptedTaskDoubleVariable)
 
virtual void setValue (const DtString &variableName, const std::string &, const char *type=DtScriptedTaskStringVariable)
 
virtual void setValue (const DtString &variableName, const DtString &, const char *type=DtScriptedTaskStringVariable)
 
virtual void setValue (const DtString &variableName, const char *, const char *type=DtScriptedTaskStringVariable)
 
virtual void setValue (const DtString &variableName, const DtUUID &, const char *type=DtScriptedTaskSimulationObjectVariable)
 
virtual void setValue (const DtString &variableName, const DtVector &, const char *type=DtScriptedTaskLocationVariable)
 
virtual void setValue (const DtString &variableName, const DtEntityType &, const char *type=DtScriptedTaskEntityTypeVariable)
 
virtual void setValue (const DtString &variableName, const DtTaitBryan &, const char *type=DtScriptedTaskOrientationVariable)
 
virtual void setValue (const DtString &variableName, const DtRwOffsetVectorList &)
 
virtual void setValue (const DtString &variableName, const DtRwVectorList &)
 
virtual void setValue (const DtString &variableName, const std::vector< DtUUID > &)
 
virtual void setValue (const DtString &variableName, const std::vector< DtVector > &)
 
virtual void setValue (const DtString &variableName, const std::map< DtString, int > &)
 
virtual void setValue (const DtString &variableName, const std::map< DtString, double > &)
 
virtual void setValue (const DtString &variableName, const std::map< DtString, DtString > &)
 
virtual void setLocation (const DtString &variableName, const DtVector &)
 Since there are multiple types that take a vector, overload with different types that will be set. More...
 
virtual void setLocationWithoutAltitude (const DtString &variableName, const DtVector &)
 
virtual void setOffset (const DtString &variableName, const DtRwOffsetVector &)
 
virtual void setTime (const DtString &variableName, double)
 
virtual void setDateTime (const DtString &variableName, double)
 
virtual void setRange (const DtString &variableName, double)
 
virtual void setAltitude (const DtString &variableName, double)
 
virtual void setHeading (const DtString &variableName, double)
 
virtual void setPitch (const DtString &variableName, double)
 
virtual void setValue (const DtString &variableName, const DtReaderWriter &, const char *scriptedTaskType)
 The reader/writer value will be cloned and added to the variables with the given variable name and the scripted task variable type (see vrfScriptedTaskConstants.h) More...
 
template<typename RWValue , typename AssignType >
void setValue (const DtString &variableName, AssignType value, const char *type)
 General template assignment that will create a new instance of a reader/writer and assign a value to it. More...
 
template<typename T >
boost::optional< T > getValue (const DtString &variableName) const
 
virtual const DtReaderWritergetValueRW (const DtString &name) const
 Returns the base reader/writer value. More...
 
virtual DtReaderWritergetValueRW (const DtString &name)
 
virtual int netRepSize () const =0
 Returns the size of the full network representation (control object name included) padded to an 8-byte boundary. More...
 
virtual bool setFromNet (const char *contentBuffer, unsigned contentSize)=0
 Fills in the task from the network buffer. More...
 
virtual charsetToNet (char *)=0
 

Static Public Member Functions

static void setScriptedTaskFormatter (ScriptedTaskFormatter *)
 
static ScriptedTaskFormatterscriptedTaskFormatter ()
 

Static Protected Attributes

static ScriptedTaskFormattertheScriptedTaskFormatter
 

Private Member Functions

template<typename RWValue , typename AssignType >
void setValue (const DtString &variableName, AssignType value, const char *type, identity< RWValue >, identity< AssignType >)
 Linux does not allow specialization of member functions within the same class, so to overcome this setValue calls a private version of the function with arguments set to the template types in order to specialize the function. More...
 
void setValue (const DtString &variableName, std::map< DtString, DtString > value, const char *type, identity< DtRwStringAttributeList >, identity< std::map< DtString, DtString > >)
 

Detailed Description

The DtScriptedTaskTask will encapsulate the variables defined by a scripted task in the variable bindings object.

The variable bindings will contain the variable name, the type of object and the variables value. This class will also contain the script id of the script that should be run with these valuesMinimal set of items a scripted task (or set) must implement to be considered a scripted task/set

Constructor & Destructor Documentation

DtScriptedTask::DtScriptedTask ( )
inline
virtual DtScriptedTask::~DtScriptedTask ( )
inlinevirtual

Member Function Documentation

virtual bool DtScriptedTask::init ( )
pure virtual
virtual const DtString& DtScriptedTask::scriptId ( ) const
pure virtual
virtual void DtScriptedTask::setScriptId ( const DtString )
pure virtual
virtual DtRwVariableBindings& DtScriptedTask::variables ( )
pure virtual
virtual const DtRwVariableBindings& DtScriptedTask::variables ( ) const
pure virtual
virtual DtRwVariableBindings& DtScriptedTask::variableDataTypes ( )
pure virtual

Access to the data types that represent the variables.

This is the internal scripted task data type separate from the rw type

Implemented in DtScriptedTaskTemplate< T >, DtScriptedTaskTemplate< DtSimTask >, and DtScriptedTaskTemplate< DtSetDataRequest >.

virtual const DtRwVariableBindings& DtScriptedTask::variableDataTypes ( ) const
pure virtual
virtual int DtScriptedTask::netRepSize ( ) const
pure virtual

Returns the size of the full network representation (control object name included) padded to an 8-byte boundary.

Network transfer

Implemented in DtScriptedTaskTemplate< T >, DtScriptedTaskTemplate< DtSimTask >, and DtScriptedTaskTemplate< DtSetDataRequest >.

virtual bool DtScriptedTask::setFromNet ( const char contentBuffer,
unsigned  contentSize 
)
pure virtual
virtual char* DtScriptedTask::setToNet ( char )
pure virtual
static void DtScriptedTask::setScriptedTaskFormatter ( ScriptedTaskFormatter )
static
static ScriptedTaskFormatter* DtScriptedTask::scriptedTaskFormatter ( )
static
virtual DtString DtScriptedTask::allVariablesStringRep ( const DtString scriptName = "") const
pure virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
bool  ,
const char type = DtScriptedTaskCheckBoxVariable 
)
virtual

{@ Convenience methods that will allow for the adding and retrieving values that are valid for this scripted task

virtual void DtScriptedTask::setValue ( const DtString variableName,
int  ,
const char type = DtScriptedTaskIntegerVariable 
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
double  ,
const char type = DtScriptedTaskDoubleVariable 
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const std::string &  ,
const char type = DtScriptedTaskStringVariable 
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const DtString ,
const char type = DtScriptedTaskStringVariable 
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const char ,
const char type = DtScriptedTaskStringVariable 
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const DtUUID ,
const char type = DtScriptedTaskSimulationObjectVariable 
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const DtVector ,
const char type = DtScriptedTaskLocationVariable 
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const DtEntityType &  ,
const char type = DtScriptedTaskEntityTypeVariable 
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const DtTaitBryan &  ,
const char type = DtScriptedTaskOrientationVariable 
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const DtRwOffsetVectorList  
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const DtRwVectorList  
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const std::vector< DtUUID > &   
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const std::vector< DtVector > &   
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const std::map< DtString, int > &   
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const std::map< DtString, double > &   
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const std::map< DtString, DtString > &   
)
virtual
virtual void DtScriptedTask::setLocation ( const DtString variableName,
const DtVector  
)
virtual

Since there are multiple types that take a vector, overload with different types that will be set.

virtual void DtScriptedTask::setLocationWithoutAltitude ( const DtString variableName,
const DtVector  
)
virtual
virtual void DtScriptedTask::setOffset ( const DtString variableName,
const DtRwOffsetVector  
)
virtual
virtual void DtScriptedTask::setTime ( const DtString variableName,
double   
)
virtual
virtual void DtScriptedTask::setDateTime ( const DtString variableName,
double   
)
virtual
virtual void DtScriptedTask::setRange ( const DtString variableName,
double   
)
virtual
virtual void DtScriptedTask::setAltitude ( const DtString variableName,
double   
)
virtual
virtual void DtScriptedTask::setHeading ( const DtString variableName,
double   
)
virtual
virtual void DtScriptedTask::setPitch ( const DtString variableName,
double   
)
virtual
virtual void DtScriptedTask::setValue ( const DtString variableName,
const DtReaderWriter ,
const char scriptedTaskType 
)
virtual

The reader/writer value will be cloned and added to the variables with the given variable name and the scripted task variable type (see vrfScriptedTaskConstants.h)

template<typename RWValue , typename AssignType >
void DtScriptedTask::setValue ( const DtString variableName,
AssignType  value,
const char type 
)
inline

General template assignment that will create a new instance of a reader/writer and assign a value to it.

template<typename RWValue , typename AssignType >
void DtScriptedTask::setValue ( const DtString variableName,
AssignType  value,
const char type,
identity< RWValue >  ,
identity< AssignType >   
)
inlineprivate

Linux does not allow specialization of member functions within the same class, so to overcome this setValue calls a private version of the function with arguments set to the template types in order to specialize the function.

See: https://stackoverflow.com/questions/3052579/explicit-specialization-in-non-namespace-scope

void DtScriptedTask::setValue ( const DtString variableName,
std::map< DtString, DtString value,
const char type,
identity< DtRwStringAttributeList ,
identity< std::map< DtString, DtString > >   
)
inlineprivate
template<typename T >
boost::optional<T> DtScriptedTask::getValue ( const DtString variableName) const
inline
virtual const DtReaderWriter* DtScriptedTask::getValueRW ( const DtString name) const
virtual

Returns the base reader/writer value.

virtual DtReaderWriter* DtScriptedTask::getValueRW ( const DtString name)
virtual

Member Data Documentation

ScriptedTaskFormatter* DtScriptedTask::theScriptedTaskFormatter
staticprotected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)