VR-Forces 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 | 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. 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 values.

Related Examples

Minimal set of items a scripted task (or set) must implement to be considered a scripted task/set

Inheritance diagram for DtScriptedTask:
Inheritance graph
[legend]

Classes

struct  identity
 
class  ScriptedTaskFormatter
 

Public Member Functions

 DtScriptedTask ()
 
virtual ~DtScriptedTask ()
 
virtual bool init ()=0
 
virtual const DtStringscriptId () const =0
 
virtual void setScriptId (const DtString &)=0
 
virtual DtRwVariableBindingsvariables ()=0
 
virtual const
DtRwVariableBindings
variables () const =0
 
virtual DtRwVariableBindingsvariableDataTypes ()=0
 
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)
 
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 &)
 
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)
 
template<typename RWValue , typename AssignType >
void setValue (const DtString &variableName, AssignType value, const char *type)
 
template<typename T >
boost::optional< T > getValue (const DtString &variableName) const
 
virtual const DtReaderWritergetValueRW (const DtString &name) const
 
virtual DtReaderWritergetValueRW (const DtString &name)
 
virtual int netRepSize () const =0
 
virtual bool setFromNet (const char *contentBuffer, unsigned contentSize)=0
 
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 >)
 
void setValue (const DtString &variableName, std::map< DtString, DtString > value, const char *type, identity< DtRwStringAttributeList >, identity< std::map< DtString, DtString > >)
 

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

Network transfer.

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

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

Network transfer.

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

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

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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)