VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
DtScriptInterface Class Reference

This class is a two-way interface between the script language and its parent controller. More...

Inheritance diagram for DtScriptInterface:
Inheritance graph
[legend]

Classes

class  DtScriptFunctionReference
 Abstract object used to hold a reference to a function defined in the script langauge, to be used later to invoke that function. More...
struct  PostSetDataCallbackLessThan
 Comparison operator for DtPostSetDataCallbackSet. More...

Public Types

typedef boost::shared_ptr
< DtScriptFunctionReference
DtScriptFunctionReferencePtr
 Shared ptr to DtScriptFunctionReference.
typedef std::pair< std::string,
DtScriptFunctionReferencePtr
DtPostCallbackEntry
 Matches a set data request type with a DtScriptFunctionReferencePtr.
typedef std::set
< DtPostCallbackEntry,
PostSetDataCallbackLessThan
DtPostSetDataCallbackSet
typedef std::vector
< DtSimMessage * > 
DtSetDataMessageVector
typedef std::map
< DtPostCallbackEntry, bool
DtPostCallbackEntryPendingChanges

Public Member Functions

virtual ~DtScriptInterface ()
virtual bool invokeInit ()=0
virtual void invokeSuspend ()=0
virtual bool invokeResume ()=0
virtual void invokeTick ()=0
 This will be called by the parent to invoke the script tick.
virtual bool loadScript (bool reload=false)=0
 This will be called by the parent to let the interface know when to load the script.
virtual void invokeCheckInit ()=0
virtual bool invokeCheck ()=0
virtual void invokeShutdown ()=0
virtual void invokeDisable ()=0
 Only called for reactive tasks which can be enabled but not active.
virtual DtString type () const =0
 Script engine type.
virtual void setTaskId (int taskId)
virtual int taskId () const
virtual void setScriptId (const DtString &scriptId)
virtual const DtStringscriptId () const
virtual void setSystemName (const DtString &system)
virtual const DtStringsystemName () const
virtual void setScriptPath (const DtFilename &scriptPath)
virtual const DtFilename & scriptPath () const
virtual void setEntity (DtVrfObject *entity)
virtual DtVrfObjectentity () const
virtual void init ()
 Derived class inits may do things, so init should always be called.
virtual void setTaskVariables (const DtRwVariableBindings &variables)
virtual const
DtRwVariableBindings
taskVariables () const
virtual bool updateTaskVariables ()
virtual DtReaderWritersaveState ()=0
 Called when the scenario is saved.
virtual bool loadState (const DtReaderWriter *savedState)=0
 Called when the scenario is loaded.
virtual void processClearForReuse ()
 This function should be overridden by the inheritor to clear out any task specific variables.
virtual void setTaskStarting (bool v)
virtual bool taskStarting () const
virtual void setController (DtScriptTaskControllerInterface *controller)
virtual
DtScriptTaskControllerInterface
controller ()
virtual void processEntityDestroyed ()
 Can be overridden to perform some processing when the entity is destroyed.
virtual void invokePostSetDataCallback (DtScriptFunctionReferencePtr functionReference, DtSetDataRequestMessage *setDatRequest)=0
 Implement to invoke the function referenced by functionReference.
virtual double getTerrainAltitude (const double lat, const double lon, bool &dataAvailable, std::string &surface) const
 Gets the terrain height at the given location.
virtual double getTerrainAltitudeBelow (const DtLocation3D &point, bool &available, std::string &surfaceString) const
 Same as getTerrainAltitude, but gets the terrain below the input point, not the highest terrain at the xy of the input point.
virtual double getGroundAltitude (const double lat, const double lon, bool &isWater, bool &dataAvailable)
 Gets the height of the ground at the given location.
virtual void chordIntersectionDebug (const DtLocation3D &startLoc, const DtLocation3D &endLoc)
 Script function for debugging chord-terrain intersections.
virtual bool doesChordHitTerrain (const DtLocation3D &pt1, const DtLocation3D &pt2, bool &dataAvailable) const
 Determines if the chord formed by (point1, point2) intersects the terrain.
bool chordIntersectsTerrain (const DtLocation3D &pt1, const DtLocation3D &pt2, bool &dataAvailable, DtLocation3D &intersection) const
 Like chordIntersectsTerrain() Returns boolean if terrain is blocked.
virtual DtLocation3D findClosestPointToRoad (const DtLocation3D &point, double searchRadius, bool &dataAvailable, bool &success, DtLocation3D &endA, DtLocation3D &endB, double &offsetToOutsideLane) const
virtual std::list< std::string > getDynamicTerrainFeatureChangeTypes (const DtLocation3D &location, double radius, bool &dataVailable)
 Returns a list of the dynamic terrain feature change types in the specified area.
virtual std::list< DtLocation3DgetDynamicTerrainFeatureLocationsForChangeType (const std::string &changeType, const DtLocation3D &location, double radius, bool &dataVailable)
 Returns a list of the locations of dynamic terrain features with the given change type in the specified area.
virtual std::list< std::string > getDynamicTerrainFeatureValuesForChangeType (const std::string &changeType, const DtLocation3D &location, double radius, bool &dataVailable)
 Returns a list of the possible values for the given change type for dynamic terrain features in the specified area.
virtual void changeDynamicTerrain (const std::string &changeType, const std::string &changeValue, const DtLocation3D &location, double radius)
 Causes the given change at the specified area of the terrain.
bool forcesHostile (std::string force1, std::string force2)
virtual double gaussian ()
 Returns a number drawn from a standard Gaussian distribution.
virtual void setTaskResuming (bool v)
 Flag indicating if the task is resuming from a suspended state.
virtual bool taskResuming () const
virtual void setIsBackgroundProces (bool isBgProc)
 Flag indicating if this task is a background process.
virtual bool isBackgroundProcess () const
virtual void setIsSet (bool isSet)
 Flag indicating if this a set process.
virtual bool isSet () const

Protected Member Functions

 DtScriptInterface ()
 Call the DtScriptInterfaceHandler::createScriptInterface() function to create one.
 DtScriptInterface (const DtScriptInterface &other)
DtScriptInterfaceoperator= (const DtScriptInterface &other)
virtual void scriptTaskComplete (bool success)
 This function is meant to be called by the script itself or the script object to tell the parent that the script task is complete.
virtual void scriptTaskError ()
virtual bool scriptText (DtString &text)
 Returns the script text as a string and a bool on whether the text is valid or not.
virtual bool scriptPath (DtString &path)
 Returns the path to this script.
virtual const DtReaderWritergetTaskParam (const DtString &paramName)
virtual bool getParamMetaDataType (const DtString &paramName, DtString &typeName)

Protected Attributes

int myTaskId
DtString myScriptId
DtString mySystemName
DtFilename myScriptPath
DtScriptTaskControllerInterfacemyControllerInterface
DtVrfObjectmyEntity
DtRwVariableBindings myTaskVariables
bool myTaskStarting
 Indicates that a new task is starting, and should be initialized on the next tick.
bool myTaskResuming
bool myIsBackgroundProcess
bool myIsSet
DtPostSetDataCallbackSet mySetDataCallbacks
 Callbacks registered from the scripting language.
DtSetDataMessageVector mySetDataMessages
 Stores copies of set data request messages that callbacks have been registered for.
DtPostCallbackEntryPendingChanges myPendingSetDataCallbackEntries
 If a post set data callback is added or removed while invoking callbacks add to this map instead of inserting or removing immediately.
DtSetDataMessageVector myPendingSetDataMessages
 If a set data request is executed while invoking callbacks, add it to this vector instead of mySetDataMessages.
bool myExecutingSetDataCallbacks
 Set to true when invoking post set data callbacks.
double scriptGetExerciseTime ()
 Methods that are available for any script to use.
int scriptGetApplicationId ()
double scriptGetSimulationTime ()
double scriptGetTimeMultiplier ()
double scriptGetTimeOfDay ()
double scriptGetDateAndTimeOfDay ()
double scriptGetWindSpeed ()
 Returns wind speed in meters/second.
double scriptGetWindDirection ()
 Returns wind direction in radians.
DtScriptVrfObject scriptGetVrfObjectByName (const std::string name)
DtScriptVrfObject scriptGetVrfObjectByUUID (const std::string name)
void printError (const std::string message)
void printErrorToChannel (const std::string channel, const std::string message)
void printErrorTranslatableStream (const DtTranslatableStream &message)
void printWarn (const std::string message)
void printWarnToChannel (const std::string channel, const std::string message)
void printWarnTranslatableStream (const DtTranslatableStream &message)
void printInfo (const std::string message)
void printInfoToChannel (const std::string channel, const std::string message)
void printInfoTranslatableStream (const DtTranslatableStream &message)
void printVerbose (const std::string message)
void printVerboseToChannel (const std::string channel, const std::string message)
void printVerboseTranslatableStream (const DtTranslatableStream &message)
void printDebug (const std::string message)
void printDebugToChannel (const std::string channel, const std::string message)
void printDebugTranslatableStream (const DtTranslatableStream &message)
bool entityTypeMatches (const std::string &, const std::string &)
void setTickPeriod (double)
 Tick management. Will store information in PSR of controller only.
void setTickWhilePaused (bool)
 Enables or disables ticking when simulation is paused.
void setRespondToNewSensorContacts (bool)
 Set tick on new sensor contact.
virtual void addPostSetDataCallback (const std::string &setDataType, DtScriptFunctionReferencePtr functionReference)
 Adds a callback to be invoked after the specified type of set data request is executed.
virtual void removePostSetDataCallback (const std::string &setDataType, DtScriptFunctionReferencePtr functionReference)
 Remove a callback invoked after the specified type of set data request is executed.
virtual void clearPostSetDataCallbacks ()
 Clear all post-set data request callbacks.
virtual void processPostSetData (DtSimMessage *msg)
static void postSetDataCallback (DtSimMessage *msg, void *usr)
 Callback registered to the set data manager.
virtual void processPostTick ()
static void postTickCallback (void *usr)
 Invokes any post-set data request callbacks for set data requests executed this tick.

Detailed Description

This class is a two-way interface between the script language and its parent controller.

There are functions that either the parent controller will call on the script interface (such as tick() ) and there will be functions the script interface will call on the parent controller to inform the parent of status updates and for data access.

Member Typedef Documentation

Shared ptr to DtScriptFunctionReference.

Matches a set data request type with a DtScriptFunctionReferencePtr.

Constructor & Destructor Documentation

DtScriptInterface::DtScriptInterface ( )
protected

Call the DtScriptInterfaceHandler::createScriptInterface() function to create one.

DtScriptInterface::DtScriptInterface ( const DtScriptInterface other)
protected
virtual DtScriptInterface::~DtScriptInterface ( )
virtual

Member Function Documentation

DtScriptInterface& DtScriptInterface::operator= ( const DtScriptInterface other)
protected
virtual bool DtScriptInterface::invokeInit ( )
pure virtual

Implemented in DtLuaScriptInterfaceImpl.

virtual void DtScriptInterface::invokeSuspend ( )
pure virtual

Implemented in DtLuaScriptInterfaceImpl.

virtual bool DtScriptInterface::invokeResume ( )
pure virtual

Implemented in DtLuaScriptInterfaceImpl.

virtual void DtScriptInterface::invokeTick ( )
pure virtual

This will be called by the parent to invoke the script tick.

Implemented in DtLuaScriptInterfaceImpl.

virtual bool DtScriptInterface::loadScript ( bool  reload = false)
pure virtual

This will be called by the parent to let the interface know when to load the script.

Implemented in DtLuaScriptInterfaceImpl.

virtual void DtScriptInterface::invokeCheckInit ( )
pure virtual

Implemented in DtLuaScriptInterfaceImpl.

virtual bool DtScriptInterface::invokeCheck ( )
pure virtual

Implemented in DtLuaScriptInterfaceImpl.

virtual void DtScriptInterface::invokeShutdown ( )
pure virtual

Implemented in DtLuaScriptInterfaceImpl.

virtual void DtScriptInterface::invokeDisable ( )
pure virtual

Only called for reactive tasks which can be enabled but not active.

When the task is completely disabled, this should be invoked.

Implemented in DtLuaScriptInterfaceImpl.

virtual DtString DtScriptInterface::type ( ) const
pure virtual

Script engine type.

Implemented in DtLuaScriptInterfaceImpl.

virtual void DtScriptInterface::setTaskId ( int  taskId)
inlinevirtual
virtual int DtScriptInterface::taskId ( ) const
inlinevirtual
virtual void DtScriptInterface::setScriptId ( const DtString scriptId)
inlinevirtual
virtual const DtString& DtScriptInterface::scriptId ( ) const
inlinevirtual
virtual void DtScriptInterface::setSystemName ( const DtString system)
inlinevirtual
virtual const DtString& DtScriptInterface::systemName ( ) const
inlinevirtual
virtual void DtScriptInterface::setScriptPath ( const DtFilename &  scriptPath)
inlinevirtual
virtual const DtFilename& DtScriptInterface::scriptPath ( ) const
inlinevirtual
virtual void DtScriptInterface::setEntity ( DtVrfObject entity)
inlinevirtual
virtual DtVrfObject* DtScriptInterface::entity ( ) const
inlinevirtual
virtual void DtScriptInterface::init ( void  )
inlinevirtual

Derived class inits may do things, so init should always be called.

Reimplemented in DtLuaScriptInterfaceImpl.

virtual void DtScriptInterface::setTaskVariables ( const DtRwVariableBindings variables)
inlinevirtual
virtual const DtRwVariableBindings& DtScriptInterface::taskVariables ( ) const
inlinevirtual
virtual bool DtScriptInterface::updateTaskVariables ( )
virtual
virtual DtReaderWriter* DtScriptInterface::saveState ( )
pure virtual

Called when the scenario is saved.

The stateState pointer may not be valid, in which case something went wrong with saving

Implemented in DtLuaScriptInterfaceImpl.

virtual bool DtScriptInterface::loadState ( const DtReaderWriter savedState)
pure virtual

Called when the scenario is loaded.

The load state pointer may not be valid, which does not indicate that the scenario loaded incorrectly, but that the data for this particular script interface was either corrupt or did not exist.

Implemented in DtLuaScriptInterfaceImpl.

virtual void DtScriptInterface::processClearForReuse ( )
virtual

This function should be overridden by the inheritor to clear out any task specific variables.

This version should probably be called last if you override it rather than first to take care of things before these things get cleared. Note: This function should only be used when a script interface is being reused between different controllers/vrfObjects (to keep from having to delete and recreate the script interface).

Reimplemented in DtLuaScriptInterfaceImpl.

virtual void DtScriptInterface::setTaskStarting ( bool  v)
virtual
virtual bool DtScriptInterface::taskStarting ( ) const
virtual
virtual void DtScriptInterface::setTaskResuming ( bool  v)
virtual

Flag indicating if the task is resuming from a suspended state.

virtual bool DtScriptInterface::taskResuming ( ) const
virtual
virtual void DtScriptInterface::setIsBackgroundProces ( bool  isBgProc)
virtual

Flag indicating if this task is a background process.

virtual bool DtScriptInterface::isBackgroundProcess ( ) const
virtual
virtual void DtScriptInterface::setIsSet ( bool  isSet)
virtual

Flag indicating if this a set process.

virtual bool DtScriptInterface::isSet ( ) const
virtual
virtual void DtScriptInterface::setController ( DtScriptTaskControllerInterface controller)
inlinevirtual
virtual DtScriptTaskControllerInterface* DtScriptInterface::controller ( )
inlinevirtual
virtual void DtScriptInterface::processEntityDestroyed ( )
inlinevirtual

Can be overridden to perform some processing when the entity is destroyed.

Reimplemented in DtLuaScriptInterfaceImpl.

double DtScriptInterface::scriptGetExerciseTime ( )

Methods that are available for any script to use.

int DtScriptInterface::scriptGetApplicationId ( )
double DtScriptInterface::scriptGetSimulationTime ( )
double DtScriptInterface::scriptGetTimeMultiplier ( )
double DtScriptInterface::scriptGetTimeOfDay ( )
double DtScriptInterface::scriptGetDateAndTimeOfDay ( )
double DtScriptInterface::scriptGetWindSpeed ( )

Returns wind speed in meters/second.

double DtScriptInterface::scriptGetWindDirection ( )

Returns wind direction in radians.

DtScriptVrfObject DtScriptInterface::scriptGetVrfObjectByName ( const std::string  name)
DtScriptVrfObject DtScriptInterface::scriptGetVrfObjectByUUID ( const std::string  name)
void DtScriptInterface::printError ( const std::string  message)
void DtScriptInterface::printErrorToChannel ( const std::string  channel,
const std::string  message 
)
void DtScriptInterface::printErrorTranslatableStream ( const DtTranslatableStream message)
void DtScriptInterface::printWarn ( const std::string  message)
void DtScriptInterface::printWarnToChannel ( const std::string  channel,
const std::string  message 
)
void DtScriptInterface::printWarnTranslatableStream ( const DtTranslatableStream message)
void DtScriptInterface::printInfo ( const std::string  message)
void DtScriptInterface::printInfoToChannel ( const std::string  channel,
const std::string  message 
)
void DtScriptInterface::printInfoTranslatableStream ( const DtTranslatableStream message)
void DtScriptInterface::printVerbose ( const std::string  message)
void DtScriptInterface::printVerboseToChannel ( const std::string  channel,
const std::string  message 
)
void DtScriptInterface::printVerboseTranslatableStream ( const DtTranslatableStream message)
void DtScriptInterface::printDebug ( const std::string  message)
void DtScriptInterface::printDebugToChannel ( const std::string  channel,
const std::string  message 
)
void DtScriptInterface::printDebugTranslatableStream ( const DtTranslatableStream message)
bool DtScriptInterface::entityTypeMatches ( const std::string &  ,
const std::string &   
)
void DtScriptInterface::setTickPeriod ( double  )

Tick management. Will store information in PSR of controller only.

void DtScriptInterface::setTickWhilePaused ( bool  )

Enables or disables ticking when simulation is paused.

void DtScriptInterface::setRespondToNewSensorContacts ( bool  )

Set tick on new sensor contact.

Will cause a script to set its next tick time to current sim time when new sensor information is available - either a new sensor contact or a contact reaching a higher CID level.

virtual void DtScriptInterface::addPostSetDataCallback ( const std::string &  setDataType,
DtScriptFunctionReferencePtr  functionReference 
)
virtual

Adds a callback to be invoked after the specified type of set data request is executed.

virtual void DtScriptInterface::removePostSetDataCallback ( const std::string &  setDataType,
DtScriptFunctionReferencePtr  functionReference 
)
virtual

Remove a callback invoked after the specified type of set data request is executed.

virtual void DtScriptInterface::clearPostSetDataCallbacks ( )
virtual

Clear all post-set data request callbacks.

This will remove set data request callbacks that would be invoked this tick.

static void DtScriptInterface::postSetDataCallback ( DtSimMessage msg,
void *  usr 
)
static

Callback registered to the set data manager.

This callback will clone the DtSimMessage and add a post tick entry to the sim manager to invoke any lua callback functions registered for the specific set data request type.

virtual void DtScriptInterface::processPostSetData ( DtSimMessage msg)
virtual
static void DtScriptInterface::postTickCallback ( void *  usr)
static

Invokes any post-set data request callbacks for set data requests executed this tick.

Removes itself as a post-tick entry on the DtSimManager, so it is only invoked when there is work to do.

virtual void DtScriptInterface::processPostTick ( )
virtual
virtual void DtScriptInterface::invokePostSetDataCallback ( DtScriptFunctionReferencePtr  functionReference,
DtSetDataRequestMessage setDatRequest 
)
pure virtual

Implement to invoke the function referenced by functionReference.

setDatRequest contains the information to be set. If a script interface implementation will not make use of post-set data request callbacks, this can be a no-op.

Implemented in DtLuaScriptInterfaceImpl.

virtual double DtScriptInterface::getTerrainAltitude ( const double  lat,
const double  lon,
bool dataAvailable,
std::string &  surface 
) const
virtual

Gets the terrain height at the given location.

This function always makes a non-blocking call to the terrain interface (see documentation for DtTerrainInterface), even if dataAvailable is null; if dataAvailable is not null, then it is filled in with the result from the terrainInterface call indicating whether the altitude data is valid.

Note that in the Lua interface, dataAvailable and surface are pure_out_values, meaning that the arguments are not included in the function call, but are provided as additional return values of the function. E.g. use: height, valid, surfaceType = getTerrainAltitude(lat, lon)

virtual double DtScriptInterface::getTerrainAltitudeBelow ( const DtLocation3D point,
bool available,
std::string &  surfaceString 
) const
virtual

Same as getTerrainAltitude, but gets the terrain below the input point, not the highest terrain at the xy of the input point.

virtual double DtScriptInterface::getGroundAltitude ( const double  lat,
const double  lon,
bool isWater,
bool dataAvailable 
)
virtual

Gets the height of the ground at the given location.

If this point on the terrain is ground, then the value will be the same as that returned by getTerrainAltitude. However, if the terrain is water, then this function will return the altitude of the sea floor instead of the altitude of the water surface. This function always makes a non-blocking call to the terrain interface (see documentation for DtTerrainInterface), even if dataAvailable is null; if dataAvailable is not null, then it is filled in with the result from the terrainInterface call indicating whether the altitude data is valid.

Note that in the Lua interface, dataAvailable and surface are pure_out_values, meaning that the arguments are not included in the function call, but are provided as additional return values of the function.

virtual void DtScriptInterface::chordIntersectionDebug ( const DtLocation3D startLoc,
const DtLocation3D endLoc 
)
virtual

Script function for debugging chord-terrain intersections.

virtual bool DtScriptInterface::doesChordHitTerrain ( const DtLocation3D pt1,
const DtLocation3D pt2,
bool dataAvailable 
) const
virtual

Determines if the chord formed by (point1, point2) intersects the terrain.

The ground surface and features are considered. Returns a boolean indicating whether the LOS is blocked, and provides a flag indicating if the result is valid (the terrain data was available). This function always makes a non-blocking call to the terrain interface (see documentation for DtTerrainInterface), even if dataAvailable passed in is null. The intersectionTime parameter is a number in [0,1] indicating where along the line segment the intersection occurred.

bool DtScriptInterface::chordIntersectsTerrain ( const DtLocation3D pt1,
const DtLocation3D pt2,
bool dataAvailable,
DtLocation3D intersection 
) const

Like chordIntersectsTerrain() Returns boolean if terrain is blocked.

On return, if dataAvailable is true, the terrain data was available (paged in). If dataAvailable is false, the terrain wasn't paged in yet and the result is inconclusive. If dataAvailable is true, then intersection will contain the location where terrain obstructs the chord from pt1 to pt2

virtual DtLocation3D DtScriptInterface::findClosestPointToRoad ( const DtLocation3D point,
double  searchRadius,
bool dataAvailable,
bool success,
DtLocation3D endA,
DtLocation3D endB,
double offsetToOutsideLane 
) const
virtual
virtual std::list<std::string> DtScriptInterface::getDynamicTerrainFeatureChangeTypes ( const DtLocation3D location,
double  radius,
bool dataVailable 
)
virtual

Returns a list of the dynamic terrain feature change types in the specified area.

virtual std::list<DtLocation3D> DtScriptInterface::getDynamicTerrainFeatureLocationsForChangeType ( const std::string &  changeType,
const DtLocation3D location,
double  radius,
bool dataVailable 
)
virtual

Returns a list of the locations of dynamic terrain features with the given change type in the specified area.

virtual std::list<std::string> DtScriptInterface::getDynamicTerrainFeatureValuesForChangeType ( const std::string &  changeType,
const DtLocation3D location,
double  radius,
bool dataVailable 
)
virtual

Returns a list of the possible values for the given change type for dynamic terrain features in the specified area.

virtual void DtScriptInterface::changeDynamicTerrain ( const std::string &  changeType,
const std::string &  changeValue,
const DtLocation3D location,
double  radius 
)
virtual

Causes the given change at the specified area of the terrain.

bool DtScriptInterface::forcesHostile ( std::string  force1,
std::string  force2 
)
virtual double DtScriptInterface::gaussian ( )
virtual

Returns a number drawn from a standard Gaussian distribution.

virtual void DtScriptInterface::scriptTaskComplete ( bool  success)
protectedvirtual

This function is meant to be called by the script itself or the script object to tell the parent that the script task is complete.

This call will mark this object for deletion.

virtual void DtScriptInterface::scriptTaskError ( )
protectedvirtual
virtual bool DtScriptInterface::scriptText ( DtString text)
protectedvirtual

Returns the script text as a string and a bool on whether the text is valid or not.

virtual bool DtScriptInterface::scriptPath ( DtString path)
protectedvirtual

Returns the path to this script.

virtual const DtReaderWriter* DtScriptInterface::getTaskParam ( const DtString paramName)
protectedvirtual
virtual bool DtScriptInterface::getParamMetaDataType ( const DtString paramName,
DtString typeName 
)
protectedvirtual

Member Data Documentation

int DtScriptInterface::myTaskId
protected
DtString DtScriptInterface::myScriptId
protected
DtString DtScriptInterface::mySystemName
protected
DtFilename DtScriptInterface::myScriptPath
protected
DtScriptTaskControllerInterface* DtScriptInterface::myControllerInterface
protected
DtVrfObject* DtScriptInterface::myEntity
protected
DtRwVariableBindings DtScriptInterface::myTaskVariables
protected
bool DtScriptInterface::myTaskStarting
protected

Indicates that a new task is starting, and should be initialized on the next tick.

bool DtScriptInterface::myTaskResuming
protected
bool DtScriptInterface::myIsBackgroundProcess
protected
bool DtScriptInterface::myIsSet
protected
DtPostSetDataCallbackSet DtScriptInterface::mySetDataCallbacks
protected

Callbacks registered from the scripting language.

Registration/unregistration is done using vrf:addPostSetDataCallback and vrf:removePostSetDataCallback.

DtSetDataMessageVector DtScriptInterface::mySetDataMessages
protected

Stores copies of set data request messages that callbacks have been registered for.

These are deleted after they are used in processPostTick.

DtPostCallbackEntryPendingChanges DtScriptInterface::myPendingSetDataCallbackEntries
protected

If a post set data callback is added or removed while invoking callbacks add to this map instead of inserting or removing immediately.

The map is DtPostCallbackEntry, bool where true == insert and false == remove.

DtSetDataMessageVector DtScriptInterface::myPendingSetDataMessages
protected

If a set data request is executed while invoking callbacks, add it to this vector instead of mySetDataMessages.

Messages will be moved from this to mySetDataMessages once we're done invoking callbacks. These copied messages will be processed the next time callbacks are invoked by default, the next simulation tick).

bool DtScriptInterface::myExecutingSetDataCallbacks
protected

Set to true when invoking post set data callbacks.


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

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)