VR-Forces 4.7 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 | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtLuaScriptInterfaceImpl Class Reference
Inheritance diagram for DtLuaScriptInterfaceImpl:
Inheritance graph
[legend]

Classes

class  DtLuaScriptFunctionReference
 Override of DtScriptInterface::DtScriptFunctionReference that holds a function reference by function name, represented as a string. More...
struct  LuaExtension

Public Member Functions

virtual ~DtLuaScriptInterfaceImpl ()
virtual void init ()
 Derived class inits may do things, so init should always be called.
virtual DtString type () const
 Script engine type.
virtual bool invokeInit ()
virtual void invokeSuspend ()
virtual bool invokeResume ()
virtual void invokeTick ()
 This will be called by the parent to invoke the script tick.
virtual bool invokeCheck ()
virtual void invokeCheckInit ()
virtual void invokeShutdown ()
virtual void invokeDisable ()
 Only called for reactive tasks which can be enabled but not active.
virtual bool loadScript (bool reload)
 This will be called by the parent to let the interface know when to load the script.
virtual void setLuaState (lua_State *L)
virtual lua_State * getLuaState ()
virtual std::string dumpLuaStack () const
virtual int luaStackSize () const
virtual void collectGarbage ()
virtual DtReaderWritersaveState ()
 Called when the scenario is saved.
virtual bool loadState (const DtReaderWriter *loadState)
 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 bool initializeVRFLuaExtensions (lua_State *L)
virtual bool importTaskParams (lua_State *L)
virtual bool importSetParams (lua_State *L)
 Same as importTaskParameters, except puts in lua block "setParameters".
virtual luabind::object createLuaTableFromRegistry (lua_State *L, const DtReaderWriterRegistry &rwRegistry, bool requireMetadata=true)
 Converts a readerWriter registry into a lua table.
void luaEndTask (bool success)
 Admin functions called from Lua.
void luaEndSet ()
void luaSendReportWithoutRecipients (const ::std::string reportType, luabind::object const &parameters)
 Send a DtSimReport subclass to the network (e.g. DtSpotReport)
void luaSendReport (const ::std::string reportType, luabind::object const &reciptients, luabind::object const &parameters)
int luaSendTask (DtScriptVrfObject &object, const ::std::string taskName, luabind::object const &parameters)
 Send task to another entity.
int luaSendTaskActAsSubtask (DtScriptVrfObject &object, const ::std::string taskName, luabind::object const &parameters, bool actAsSubtask)
int luaSendRadioTask (DtScriptVrfObject &object, const ::std::string taskName, luabind::object const &parameters)
int luaSendRadioTaskActAsSubtask (DtScriptVrfObject &object, const ::std::string taskName, luabind::object const &parameters, bool actAsSubtask)
int luaSendTaskActAsSubtaskWithRadio (DtScriptVrfObject &object, const ::std::string taskName, luabind::object const &parameters, bool actAsSubtask, bool sendWithRadio)
void luaStopAllTasks ()
 Stops all tasks started by this task.
void luaSendSetDataToSelf (const ::std::string setName, luabind::object const &parameters)
 Send a set-data message to self.
void luaSendSetData (DtScriptVrfObject &object, const ::std::string setName, luabind::object const &parameters)
 Send a set-data message to another entity.
void luaSendRadioSetData (DtScriptVrfObject &object, const ::std::string setName, luabind::object const &parameters)
void sendSetDataWithRadio (DtScriptVrfObject &object, const ::std::string setName, luabind::object const &parameters, bool useRadio)
bool luaIsTaskAvailable (const ::std::string taskName)
bool luaIsSetAvailable (const ::std::string setName)
luabind::object luaGetReactionStatus ()
 Provide current reaction status to lua scripts.
luabind::object luaGetOrbatList ()
 Returns a table of all ORBAT items and their information.
std::string luaGetScriptId ()
 Provide the current script ID to lua scripts.
std::string luaGetSystemName ()
 Provide the current system name to lua scripts.
luabind::object luaGetObjectsNear (const DtLocation3D &loc, double distance)
luabind::object luaGetObjectsNearWithFilter (const DtLocation3D &loc, double distance, luabind::object const &parameters)
luabind::object luaGetScriptAttribute (const std::string &attributeName, bool &error)
luabind::object luaGetVrfObjects ()
 Returns a list of all scripted objects.
boost::shared_ptr< DtLuaAsyncJobgenerateRandomPoints (const luabind::object &parameters)
 Generates random points on the terrain using NavData.
boost::shared_ptr< DtLuaAsyncJobfindNearbyPointOfInterest (const int type)
 Find a nearby point in the NavData with the given type.
boost::shared_ptr< DtLuaAsyncJobfindCoverPoint (const DtLocation3D &startLocation, const DtLocation3D &threatLocation, double threatRadius, double distanceFromThreat, double range, unsigned numberOfPoints)
 Find nearby points of cover from the given threat location.
boost::shared_ptr< DtLuaAsyncJobfindPathToLocation (const DtLocation3D &startLocation, const DtLocation3D &destinationLocation, bool useAbstractGraphs, const DtLocation3D &avoidLocation, double avoidanceRadius)
 Find the best path to the given location.
DtTranslatableStream translateStringFromScript (const std::string &format)
 Returns a translatable object that can be used to send translated messages.
boost::shared_ptr< DtLuaAsyncJobluaNavigateThroughFeatures (const luabind::object &parameters)
 Returns an async job object which will produce a path (set of points) from the input points.
boost::shared_ptr< DtLuaAsyncJobgetEmbarkationSlots (DtScriptVrfObject &object)
 Queries embarkation slot information for the specified entity.
boost::shared_ptr< DtLuaAsyncJobreserveEmbarkationSlot (DtScriptVrfObject &object, int slotNumber)
 Reserves an embarkation slot on the specified entity.
void luaSendMessage (const DtScriptVrfObject &receiver, const std::string &message)
void luaSendRadioMessage (const DtScriptVrfObject &receiver, const std::string &message)
void luaDeleteObject (std::string const &receiver)
void luaDeleteScriptObject (const DtScriptVrfObject &receiver)
virtual void processTextReport (const DtVrfObjectMessage *m)
void luaSendInfluence (const DtScriptVrfObject &target, const std::string &influenceName, luabind::object const &influenceParams)
virtual void processInfluence (DtInfluenceInteractionExtension *m)
virtual void processEntityDestroyed ()
 Performs processing that should occur when the entity is destroyed.
void luaCreateSelectionGroup (const std::string &name, luabind::object const &parameters)
 Creates a new selection group containing the specified sim objects.
bool luaUpdateTaskVisualization (const std::string &visualizationName, const std::string &visualizationType, luabind::object const &parameters)
 Updates (creating if necessary) a new task visualization.
void luaDeleteTaskVisualization (const std::string &visualizationName)
 Deletes an existing task visualization.
void luaRequire (lua_State *L, const std::string &filename)
 Loads an runs a Lua library.
bool luaIntersectSegments2D (const DtLocation3D &p1, const DtLocation3D &p2, const DtLocation3D &p3, const DtLocation3D &p4, DtLocation3D &intersectPoint)
virtual void addPostSetDataCallback (const std::string &setDataType, const std::string &functionName)
 Adds a callback to be invoked after the specified type of set data request is executed. (
virtual void removePostSetDataCallback (const std::string &setDataType, const std::string &functionName)
 Remove a callback invoked after the specified type of set data request is executed. (
virtual void invokePostSetDataCallback (DtScriptFunctionReferencePtr functionReference, DtSetDataRequestMessage *setDatRequest)
 Invokes a post set data callback for a lua script.
virtual luabind::object luaGetParamPropertyFromType (const std::string typeString, std::string const &paramName)
 Returns an object containing the value of the requested parameter property.
virtual void putObjectsFromTableIntoGlobalTable (lua_State *state, luabind::object &table)
 Old state load into/from global table.
virtual void putObjectsFromGlobalTableIntoTable (lua_State *state, luabind::object &table)
virtual void luaPlayScenarioEvent (DtScriptVrfObject eventName)
 Global functions that have Lua-specific dependencies.
virtual void luaStopScenarioEvent (DtScriptVrfObject eventName)
virtual void luaStopScenarioEventWithRewind (DtScriptVrfObject eventName, bool rewind)
virtual bool luaIsScenarioEventPlaying (DtScriptVrfObject eventName)
virtual void luaSetScenarioEventEnabled (DtScriptVrfObject eventName, bool)
virtual bool luaIsScenarioEventEnabled (DtScriptVrfObject eventName)
virtual int luaSendEmbeddedEntityTask (std::string eeName, std::string taskName, luabind::object const &parms)
 Task/set forwarding for embedded entities.
virtual int luaSendEmbeddedEntityTaskActAsSubtask (std::string eeName, std::string taskName, luabind::object const &parms, bool actAsSubtask)
virtual int luaSendEmbeddedEntitySet (std::string eeName, std::string setName, luabind::object const &parms)
 Send a set-data message to an Embedded Entity, implicitly deploying it if necessary.
int luaStartSubtask (const std::string taskName, luabind::object const &parameters)
 Subtasking related functions called from Lua.
void luaStopSubtask (int subtaskId)
void luaStopAllSubtasks ()
 Stops all subtasks that were started by this task.
bool luaIsSubtaskRunning (int subtaskId)
bool luaIsSubtaskComplete (int subtaskId)
bool luaIsSubtaskCanceled (int subtaskId)
bool luaSubtaskResult (int subtaskId)
void luaCleanupInactiveSubtaskStatus ()
 Clears out the subtask entries for any subtasks started by this task which are either complete or canceled.
luabind::object luaGetDesignatorsNearWithFilter (const DtLocation3D &loc, double distance, const luabind::object &params)
 Routes for accessing laser designators.
luabind::object luaGetDesignatorsNear (const DtLocation3D &loc, double distance)
DtLuaFeatureSet luaGetFeaturesWithinArea (luabind::object const &points, luabind::object const &attributes)
 Routines to query and return feature sets.
DtLuaFeatureSet luaGetFeaturesWithinAreaNoAttributes (luabind::object const &points)
 Returns a feature set which contains all features within the specified geometry regardless of attributes.
DtLuaFeatureSet luaGetFeaturesWithinRange (const DtLocation3D &, double range, luabind::object const &attributes)
 Returns a feature set which contains all features within the specified point and box size containing the specified attributes.
DtLuaFeatureSet luaGetFeaturesWithinRangeNoAttributes (const DtLocation3D &, double range)
 Same as luaGetFeaturesWithinRange except returns all features regardless of attributes.
DtLuaFeatureSet luaGetFeaturesType (const std::string &type)
 Returns all features which match a specific feature query.
DtLuaFeatureSet luaGetFeatures ()
 Returns all features.
DtLuaFeatureGeometry luaMakePointGeometry (const DtLocation3D &)
 Routines to generate feature geometries.
DtLuaFeatureGeometry luaMakePathGeometry (const std::vector< DtLocation3D > &)
 Generate a path (linear) geometry.
DtLuaFeatureGeometry luaMakeAreaGeometry (const std::vector< DtLocation3D > &)
 Generate an areal geometry.
virtual void luaSetCloudLayerType (DtScriptVrfObject &object, int value)
 Cloud layer accessors/mutators. See code or lua documentation for more specifics.
virtual void luaSetCloudLayerAltitude (DtScriptVrfObject &object, double value)
virtual void luaSetCloudLayerThickness (DtScriptVrfObject &object, double value)
virtual void luaSetCloudCornerRadius (DtScriptVrfObject &object, double value)
virtual void luaSetCloudLayerDensity (DtScriptVrfObject &object, double value)
virtual void luaSetCloudLayerBox (DtScriptVrfObject &object, const DtLocation3D &location, double width, double length)
virtual DtScriptVrfObject luaGetCloudLayer (const DtLocation3D &location)
virtual std::vector
< DtScriptVrfObject
luaGetCloudLayers ()
virtual int luaGetCloudLayerType (DtScriptVrfObject &object)
virtual double luaGetCloudLayerAltitude (DtScriptVrfObject &object)
virtual double luaGetCloudLayerThickness (DtScriptVrfObject &object)
virtual double luaGetCloudCornerRadius (DtScriptVrfObject &object)
virtual double luaGetCloudLayerDensity (DtScriptVrfObject &object)
virtual void luaGetCloudLayerBox (DtScriptVrfObject &object, DtLocation3D &center, double *width, double *length)
virtual void luaSetPrecipitationIntensity (DtScriptVrfObject &object, double intensity)
virtual void luaSetPrecipitationType (DtScriptVrfObject &object, int type)
virtual void luaSetCloudCover (DtScriptVrfObject &object, int state)
virtual void luaSetVisibilityDistance (DtScriptVrfObject &object, double distance)
virtual void luaSetWindDirection (DtScriptVrfObject &object, double)
virtual void luaSetWindSpeed (DtScriptVrfObject &object, double)
virtual void luaSetUnderwaterVisibility (DtScriptVrfObject &object, double visibility)
virtual void luaSetSurfaceTransparency (DtScriptVrfObject &object, double transparency)
virtual void luaSetSwellState (DtScriptVrfObject &object, unsigned int state)
virtual void luaSetSwellStateDirection (DtScriptVrfObject &object, double direction)
virtual void luaSetSeaState (DtScriptVrfObject &object, unsigned int state)
virtual void luaSetSeaStateDirection (DtScriptVrfObject &object, double direction)
virtual void luaSetWindDrivenSeaStateEnabled (DtScriptVrfObject &object, bool enabled)
virtual void luaSetChoppiness (DtScriptVrfObject &object, double choppiness)
virtual void luaSetSurgeDepth (DtScriptVrfObject &object, double depth)
virtual void luaSetFogHeight (DtScriptVrfObject &object, double depth)
virtual void luaSetFogColor (DtScriptVrfObject &object, double red, double green, double blue)
virtual void luaSetPriority (DtScriptVrfObject &object, int)
virtual bool isWeatherObject (DtScriptVrfObject &) const
virtual bool isCloudLayer (DtScriptVrfObject &) const
virtual double luaGetAirTemperature (DtScriptVrfObject &object)
virtual unsigned int luaGetPrecipitation (DtScriptVrfObject &object, double *)
virtual double luaGetPrecipitationIntensity (DtScriptVrfObject &object)
virtual unsigned int luaGetPrecipitationType (DtScriptVrfObject &object)
virtual int luaGetCloudCover (DtScriptVrfObject &object)
virtual double luaGetVisibilityDistance (DtScriptVrfObject &object)
virtual double luaGetWindDirection (DtScriptVrfObject &object)
virtual double luaGetWindSpeed (DtScriptVrfObject &object)
virtual double luaGetUnderwaterVisibility (DtScriptVrfObject &object)
virtual double luaGetSurfaceTransparency (DtScriptVrfObject &object)
virtual unsigned int luaGetSwellState (DtScriptVrfObject &object)
virtual double luaGetSwellStateDirection (DtScriptVrfObject &object)
virtual unsigned int luaGetSeaState (DtScriptVrfObject &object)
virtual double luaGetSeaStateDirection (DtScriptVrfObject &object)
virtual bool luaGetWindDrivenSeaStateEnabled (DtScriptVrfObject &object)
virtual double luaGetChoppiness (DtScriptVrfObject &object)
virtual double luaGetSurgeDepth (DtScriptVrfObject &object)
virtual double luaGetFogHeight (DtScriptVrfObject &object)
virtual double luaGetFogHeightByLocation (const DtLocation3D &object)
virtual void luaGetFogColor (DtScriptVrfObject &object, double *red, double *green, double *blue)
virtual void luaGetFogColorByLocation (const DtLocation3D &object, double *red, double *green, double *blue)
virtual int luaGetPriority (DtScriptVrfObject &object)
virtual double luaGetIllumination (DtScriptVrfObject &object)
virtual double luaGetExpectedIllumination (DtScriptVrfObject &object, double dateAndTimeOfDay)
virtual double luaGetAirTemperatureByLocation (const DtLocation3D &object)
virtual unsigned int luaGetPrecipitationByLocation (const DtLocation3D &location, double *)
virtual double luaGetPrecipitationIntensityByLocation (const DtLocation3D &object)
virtual unsigned int luaGetPrecipitationTypeByLocation (const DtLocation3D &object)
virtual int luaGetCloudCoverByLocation (const DtLocation3D &object)
virtual double luaGetVisibilityDistanceByLocation (const DtLocation3D &object)
virtual double luaGetWindDirectionByLocation (const DtLocation3D &object)
virtual double luaGetWindSpeedByLocation (const DtLocation3D &object)
virtual double luaGetUnderwaterVisibilityByLocation (const DtLocation3D &object)
virtual double luaGetSurfaceTransparencyByLocation (const DtLocation3D &object)
virtual unsigned int luaGetSwellStateByLocation (const DtLocation3D &object)
virtual double luaGetSwellStateDirectionByLocation (const DtLocation3D &object)
virtual unsigned int luaGetSeaStateByLocation (const DtLocation3D &object)
virtual double luaGetSeaStateDirectionByLocation (const DtLocation3D &object)
virtual bool luaGetWindDrivenSeaStateEnabledByLocation (const DtLocation3D &object)
virtual double luaGetChoppinessByLocation (const DtLocation3D &object)
virtual double luaGetSurgeDepthByLocation (const DtLocation3D &object)
virtual int luaGetPriorityByLocation (const DtLocation3D &object)
virtual double luaGetIlluminationByLocation (const DtLocation3D &object)
virtual double luaGetExpectedIlluminationByLocation (const DtLocation3D &object, double dateAndTimeOfDay)
virtual double luaRunDurationTime ()
virtual void luaRunForDuration (double)
virtual void luaStopSimulationDurationTimer ()
virtual void luaSetCheckpointMode (bool)
virtual void initializeCheckpointStateTable (lua_State *L)
virtual int luaAskUserQuestion (const DtTranslatableStream &title, const DtTranslatableStream &message, luabind::object const &options, int displayFlags)
virtual int luaAskUserQuestionST (const std::string &title, const DtTranslatableStream &message, luabind::object const &options, int displayFlags)
virtual int luaAskUserQuestionTS (const DtTranslatableStream &title, const std::string &message, luabind::object const &options, int displayFlags)
virtual int luaAskUserQuestionSS (const std::string &title, const std::string &message, luabind::object const &options, int displayFlags)
virtual int luaStatusOfUserQuestion (int questionId)
 Returns the status of the user question: -1 - Not yet answered 0+ - Answered and the option the user selected.
virtual void luaCancelUserQuestion (int questionId)
 Cancels the question asked of the user.
DtScriptVrfObject luaCreateEntity (luabind::object const &parameters)
 Create an entity.
DtScriptVrfObject luaCreateFromOrbat (std::string orbatItem, const DtLocation3D &loc)
 Create an object from the ORBAT.
DtScriptVrfObject luaGetGlobalWeather ()
 Returns the current global weather object. This can be used for changing global weather.
DtScriptVrfObject luaCreateTacticalGraphic (luabind::object const &parameters)
 Create a tactical graphic. Must specify name or type.
DtScriptVrfObject luaCreateObstacle (luabind::object const &parameters)
 Create an obstacle.
DtScriptVrfObject luaCreateRoute (luabind::object const &parameters)
 Create a route.
DtScriptVrfObject luaCreateArea (luabind::object const &parameters)
 Create an area.
DtScriptVrfObject luaCreateWaypoint (luabind::object const &parameters)
 Create a waypoint.
DtScriptVrfObject luaCreatePhaseLine (luabind::object const &parameters)
 Creates a phase line.
unsigned luaBitwiseOr (unsigned val1, unsigned val2)
unsigned luaBitwiseAnd (unsigned val1, unsigned val2)
unsigned luaBitwiseXor (unsigned val1, unsigned val2)
unsigned luaBitwiseNot (unsigned val)
unsigned luaBitwiseLeftShift (unsigned val, unsigned shift)
unsigned luaBitwiseRightShift (unsigned val, unsigned shift)
- Public Member Functions inherited from DtScriptInterface
virtual ~DtScriptInterface ()
virtual void setTaskId (int taskId)
virtual int taskId () const
virtual void setScriptId (const DtString &scriptId)
virtual const
DtGenericMessageType
scriptId () 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 setTaskVariables (const DtRwVariableBindings &variables)
virtual const
DtRwVariableBindings
taskVariables () const
virtual bool updateTaskVariables ()
virtual void setTaskStarting (bool v)
virtual bool taskStarting () const
virtual void setController (DtScriptTaskControllerInterface *controller)
virtual
DtScriptTaskControllerInterface
controller ()
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)
std::list< std::string > entityTypesForEquipment (const std::string &equipmentType)
 Looks in the vrfParameterDb for types that have a Primary-Equipment parameter property matching the given equipment type, and returns them in a list.
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
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 DtSetMessageType &setDataType, DtScriptFunctionReferencePtr functionReference)
 Adds a callback to be invoked after the specified type of set data request is executed.
virtual void removePostSetDataCallback (const DtSetMessageType &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)
virtual void processPostTick ()

Static Public Member Functions

static DtScriptInterfacecreator ()
static void addLuaScriptInterfaceExtension (DtLuaScriptInterfaceExtension::CreatorFcn extension, void *usr)
 Add a new extension creator function.
static void addLuaScriptInterfaceExtension (DtLuaScriptInterfaceExtension::CreatorFcn extension, const DtVrfObject *onlyForEntity, void *usr)
 Add a new extension creator function.
static void removeLuaScriptInterfaceExtension (DtLuaScriptInterfaceExtension::CreatorFcn extension, void *usr)
 Remove an extension.
static void removeLuaScriptInterfaceExtension (DtLuaScriptInterfaceExtension::CreatorFcn extension, const DtVrfObject *onlyForEntity, void *usr)
 Removes only for particular entity if registered for that entity.
static void addKeyToIgnore (const std::string &)
 When serializing ignore any key found in this list. Uses instance of luaObjectSerializer.
static void removeKeyToIgnore (const std::string &)
 Removes a key to ignore during serialization Uses instance of luaObjectSerializer.
static void textReportCallback (const DtVrfObjectMessage *m, void *usr)
static void addReaderWriterToLuaTableFunction (const DtString &, ReaderWriterToLuaTableFcn)
 Adds a new process function for a reader/writer type.
static void influenceCallback (DtInfluenceInteractionExtension *m, void *usr)
- Static Public Member Functions inherited from DtScriptInterface
static void postSetDataCallback (DtSimMessage *msg, void *usr)
 Callback registered to the set data manager.
static void postTickCallback (void *usr)
 Invokes any post-set data request callbacks for set data requests executed this tick.
- Static Public Member Functions inherited from DtObjectDebugger< DtLuaScriptInterfaceImpl >
static DtObjectCounter::CounterType ObjectCount ()
static const DtObjectContainer * ObjectContainer ()

Protected Types

typedef std::vector
< DtLuaScriptInterfaceExtension * > 
LocalInterfaceExtensions
typedef std::vector< LuaExtensionGlobalInterfaceExtensions
typedef std::map< DtString,
ReaderWriterToLuaTableFcn
ReaderWriterToLuaTableMap

Protected Member Functions

 DtLuaScriptInterfaceImpl ()
 DtLuaScriptInterfaceImpl (const DtLuaScriptInterfaceImpl &other)
DtLuaScriptInterfaceImploperator= (const DtLuaScriptInterfaceImpl &other)
virtual bool callLuaNoArgFunction (const std::string &functionName, bool *functionExists=0)
 If the function does not exist will return true if functionExists is suppled, else returns false.
virtual void updateFuncCallCount ()
- Protected Member Functions inherited from DtScriptInterface
 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 Member Functions inherited from DtObjectDebugger< DtLuaScriptInterfaceImpl >
 DtObjectDebugger ()
 DtObjectDebugger (const DtObjectDebugger &)
 ~DtObjectDebugger ()

Protected Attributes

lua_State * myLState
unsigned myFuncCallCount
bool myLuaScriptWarningShown
LocalInterfaceExtensions myInterfaceExtensions
luabind::object * myCheckpointStateTable
- Protected Attributes inherited from DtScriptInterface
int myTaskId
DtGenericMessageType 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.

Static Protected Attributes

static GlobalInterfaceExtensions theLuaInterfaceExtensions
static ReaderWriterToLuaTableMap theReaderWriterToLuaTableMap

Additional Inherited Members

- Public Types inherited from DtScriptInterface
typedef boost::shared_ptr
< DtScriptFunctionReference
DtScriptFunctionReferencePtr
 Shared ptr to DtScriptFunctionReference.
typedef std::pair
< DtGenericMessageType,
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

Member Typedef Documentation

Constructor & Destructor Documentation

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

Member Function Documentation

DtLuaScriptInterfaceImpl& DtLuaScriptInterfaceImpl::operator= ( const DtLuaScriptInterfaceImpl other)
protected
static DtScriptInterface* DtLuaScriptInterfaceImpl::creator ( )
static
virtual void DtLuaScriptInterfaceImpl::init ( )
virtual

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

Reimplemented from DtScriptInterface.

virtual DtString DtLuaScriptInterfaceImpl::type ( ) const
virtual

Script engine type.

Implements DtScriptInterface.

virtual bool DtLuaScriptInterfaceImpl::invokeInit ( )
virtual

Implements DtScriptInterface.

virtual void DtLuaScriptInterfaceImpl::invokeSuspend ( )
virtual

Implements DtScriptInterface.

virtual bool DtLuaScriptInterfaceImpl::invokeResume ( )
virtual

Implements DtScriptInterface.

virtual void DtLuaScriptInterfaceImpl::invokeTick ( )
virtual

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

Implements DtScriptInterface.

virtual bool DtLuaScriptInterfaceImpl::invokeCheck ( )
virtual

Implements DtScriptInterface.

virtual void DtLuaScriptInterfaceImpl::invokeCheckInit ( )
virtual

Implements DtScriptInterface.

virtual void DtLuaScriptInterfaceImpl::invokeShutdown ( )
virtual

Implements DtScriptInterface.

virtual void DtLuaScriptInterfaceImpl::invokeDisable ( )
virtual

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

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

Implements DtScriptInterface.

virtual bool DtLuaScriptInterfaceImpl::loadScript ( bool  reload)
virtual

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

Implements DtScriptInterface.

virtual void DtLuaScriptInterfaceImpl::setLuaState ( lua_State *  L)
virtual
virtual lua_State* DtLuaScriptInterfaceImpl::getLuaState ( )
virtual
virtual std::string DtLuaScriptInterfaceImpl::dumpLuaStack ( ) const
virtual
virtual int DtLuaScriptInterfaceImpl::luaStackSize ( ) const
virtual
virtual void DtLuaScriptInterfaceImpl::collectGarbage ( )
virtual
virtual DtReaderWriter* DtLuaScriptInterfaceImpl::saveState ( )
virtual

Called when the scenario is saved.

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

Implements DtScriptInterface.

virtual bool DtLuaScriptInterfaceImpl::loadState ( const DtReaderWriter savedState)
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.

Implements DtScriptInterface.

virtual void DtLuaScriptInterfaceImpl::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 from DtScriptInterface.

static void DtLuaScriptInterfaceImpl::addLuaScriptInterfaceExtension ( DtLuaScriptInterfaceExtension::CreatorFcn  extension,
void *  usr 
)
static

Add a new extension creator function.

This creator will be called every time a new lua environment is created. Will be applied to all entities

Parameters
usrA pointer that will be passed to the creator function when called.
static void DtLuaScriptInterfaceImpl::addLuaScriptInterfaceExtension ( DtLuaScriptInterfaceExtension::CreatorFcn  extension,
const DtVrfObject onlyForEntity,
void *  usr 
)
static

Add a new extension creator function.

This creator will be called every time a new lua environment is created.

Parameters
onlyForEntityOnly invoke the creator if the entity being tasked is the entity this is registered for
usrA pointer that will be passed to the creator function when called.
static void DtLuaScriptInterfaceImpl::removeLuaScriptInterfaceExtension ( DtLuaScriptInterfaceExtension::CreatorFcn  extension,
void *  usr 
)
static

Remove an extension.

static void DtLuaScriptInterfaceImpl::removeLuaScriptInterfaceExtension ( DtLuaScriptInterfaceExtension::CreatorFcn  extension,
const DtVrfObject onlyForEntity,
void *  usr 
)
static

Removes only for particular entity if registered for that entity.

If there is one registered for all entities and none registered for this entity then no action is taken

virtual bool DtLuaScriptInterfaceImpl::initializeVRFLuaExtensions ( lua_State *  L)
virtual
virtual bool DtLuaScriptInterfaceImpl::importTaskParams ( lua_State *  L)
virtual
virtual bool DtLuaScriptInterfaceImpl::importSetParams ( lua_State *  L)
virtual

Same as importTaskParameters, except puts in lua block "setParameters".

virtual luabind::object DtLuaScriptInterfaceImpl::createLuaTableFromRegistry ( lua_State *  L,
const DtReaderWriterRegistry rwRegistry,
bool  requireMetadata = true 
)
virtual

Converts a readerWriter registry into a lua table.

static void DtLuaScriptInterfaceImpl::addKeyToIgnore ( const std::string &  )
static

When serializing ignore any key found in this list. Uses instance of luaObjectSerializer.

static void DtLuaScriptInterfaceImpl::removeKeyToIgnore ( const std::string &  )
static

Removes a key to ignore during serialization Uses instance of luaObjectSerializer.

void DtLuaScriptInterfaceImpl::luaEndTask ( bool  success)

Admin functions called from Lua.

void DtLuaScriptInterfaceImpl::luaEndSet ( )
virtual void DtLuaScriptInterfaceImpl::luaPlayScenarioEvent ( DtScriptVrfObject  eventName)
virtual

Global functions that have Lua-specific dependencies.

Scenario event commands

virtual void DtLuaScriptInterfaceImpl::luaStopScenarioEvent ( DtScriptVrfObject  eventName)
virtual
virtual void DtLuaScriptInterfaceImpl::luaStopScenarioEventWithRewind ( DtScriptVrfObject  eventName,
bool  rewind 
)
virtual
virtual bool DtLuaScriptInterfaceImpl::luaIsScenarioEventPlaying ( DtScriptVrfObject  eventName)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetScenarioEventEnabled ( DtScriptVrfObject  eventName,
bool   
)
virtual
virtual bool DtLuaScriptInterfaceImpl::luaIsScenarioEventEnabled ( DtScriptVrfObject  eventName)
virtual
virtual int DtLuaScriptInterfaceImpl::luaSendEmbeddedEntityTask ( std::string  eeName,
std::string  taskName,
luabind::object const &  parms 
)
virtual

Task/set forwarding for embedded entities.

Send a task to an Embedded Entity, implicitly deploying it if necessary.

virtual int DtLuaScriptInterfaceImpl::luaSendEmbeddedEntityTaskActAsSubtask ( std::string  eeName,
std::string  taskName,
luabind::object const &  parms,
bool  actAsSubtask 
)
virtual
virtual int DtLuaScriptInterfaceImpl::luaSendEmbeddedEntitySet ( std::string  eeName,
std::string  setName,
luabind::object const &  parms 
)
virtual

Send a set-data message to an Embedded Entity, implicitly deploying it if necessary.

int DtLuaScriptInterfaceImpl::luaStartSubtask ( const std::string  taskName,
luabind::object const &  parameters 
)

Subtasking related functions called from Lua.

Starts a subtask and returns the subtask ID. ID of -1 indicates it failed to start.

void DtLuaScriptInterfaceImpl::luaStopSubtask ( int  subtaskId)
void DtLuaScriptInterfaceImpl::luaStopAllSubtasks ( )

Stops all subtasks that were started by this task.

bool DtLuaScriptInterfaceImpl::luaIsSubtaskRunning ( int  subtaskId)
Returns
True if this subtask has been started, and has not yet completed.
bool DtLuaScriptInterfaceImpl::luaIsSubtaskComplete ( int  subtaskId)
Returns
True if this subtask has completed running. (not canceled and not complete)
bool DtLuaScriptInterfaceImpl::luaIsSubtaskCanceled ( int  subtaskId)
Returns
True if this subtask has been canceled.
bool DtLuaScriptInterfaceImpl::luaSubtaskResult ( int  subtaskId)
Returns
True if this subtask has completed, and the completion result was success.
void DtLuaScriptInterfaceImpl::luaCleanupInactiveSubtaskStatus ( )

Clears out the subtask entries for any subtasks started by this task which are either complete or canceled.

This is not typically necessary to call, unless the task creates an unbounded number of subtasks without completing itself.

void DtLuaScriptInterfaceImpl::luaSendReportWithoutRecipients ( const ::std::string  reportType,
luabind::object const &  parameters 
)

Send a DtSimReport subclass to the network (e.g. DtSpotReport)

void DtLuaScriptInterfaceImpl::luaSendReport ( const ::std::string  reportType,
luabind::object const &  reciptients,
luabind::object const &  parameters 
)
int DtLuaScriptInterfaceImpl::luaSendTask ( DtScriptVrfObject object,
const ::std::string  taskName,
luabind::object const &  parameters 
)

Send task to another entity.

int DtLuaScriptInterfaceImpl::luaSendTaskActAsSubtask ( DtScriptVrfObject object,
const ::std::string  taskName,
luabind::object const &  parameters,
bool  actAsSubtask 
)
int DtLuaScriptInterfaceImpl::luaSendRadioTask ( DtScriptVrfObject object,
const ::std::string  taskName,
luabind::object const &  parameters 
)
int DtLuaScriptInterfaceImpl::luaSendRadioTaskActAsSubtask ( DtScriptVrfObject object,
const ::std::string  taskName,
luabind::object const &  parameters,
bool  actAsSubtask 
)
int DtLuaScriptInterfaceImpl::luaSendTaskActAsSubtaskWithRadio ( DtScriptVrfObject object,
const ::std::string  taskName,
luabind::object const &  parameters,
bool  actAsSubtask,
bool  sendWithRadio 
)
void DtLuaScriptInterfaceImpl::luaStopAllTasks ( )

Stops all tasks started by this task.

void DtLuaScriptInterfaceImpl::luaSendSetDataToSelf ( const ::std::string  setName,
luabind::object const &  parameters 
)

Send a set-data message to self.

void DtLuaScriptInterfaceImpl::luaSendSetData ( DtScriptVrfObject object,
const ::std::string  setName,
luabind::object const &  parameters 
)

Send a set-data message to another entity.

void DtLuaScriptInterfaceImpl::luaSendRadioSetData ( DtScriptVrfObject object,
const ::std::string  setName,
luabind::object const &  parameters 
)
void DtLuaScriptInterfaceImpl::sendSetDataWithRadio ( DtScriptVrfObject object,
const ::std::string  setName,
luabind::object const &  parameters,
bool  useRadio 
)
bool DtLuaScriptInterfaceImpl::luaIsTaskAvailable ( const ::std::string  taskName)
bool DtLuaScriptInterfaceImpl::luaIsSetAvailable ( const ::std::string  setName)
luabind::object DtLuaScriptInterfaceImpl::luaGetReactionStatus ( )

Provide current reaction status to lua scripts.

luabind::object DtLuaScriptInterfaceImpl::luaGetOrbatList ( )

Returns a table of all ORBAT items and their information.

Each table entry will be another table entry with the following values: markingText - The marking text of the ORBAT item entityType - Entity type of the ORBAT type uuid - uuid of the ORBAT item parentUUID - parentUUUID of the ORBAT item (or blank) force - force of the ORBAT item created - true if created

std::string DtLuaScriptInterfaceImpl::luaGetScriptId ( )

Provide the current script ID to lua scripts.

std::string DtLuaScriptInterfaceImpl::luaGetSystemName ( )

Provide the current system name to lua scripts.

luabind::object DtLuaScriptInterfaceImpl::luaGetObjectsNear ( const DtLocation3D loc,
double  distance 
)
luabind::object DtLuaScriptInterfaceImpl::luaGetObjectsNearWithFilter ( const DtLocation3D loc,
double  distance,
luabind::object const &  parameters 
)
luabind::object DtLuaScriptInterfaceImpl::luaGetScriptAttribute ( const std::string &  attributeName,
bool error 
)
luabind::object DtLuaScriptInterfaceImpl::luaGetVrfObjects ( )

Returns a list of all scripted objects.

luabind::object DtLuaScriptInterfaceImpl::luaGetDesignatorsNearWithFilter ( const DtLocation3D loc,
double  distance,
const luabind::object &  params 
)

Routes for accessing laser designators.

luabind::object DtLuaScriptInterfaceImpl::luaGetDesignatorsNear ( const DtLocation3D loc,
double  distance 
)
DtLuaFeatureSet DtLuaScriptInterfaceImpl::luaGetFeaturesWithinArea ( luabind::object const &  points,
luabind::object const &  attributes 
)

Routines to query and return feature sets.

Returns a feature set which contains all features within the specified geometry containing the specified attributes.

DtLuaFeatureSet DtLuaScriptInterfaceImpl::luaGetFeaturesWithinAreaNoAttributes ( luabind::object const &  points)

Returns a feature set which contains all features within the specified geometry regardless of attributes.

DtLuaFeatureSet DtLuaScriptInterfaceImpl::luaGetFeaturesWithinRange ( const DtLocation3D ,
double  range,
luabind::object const &  attributes 
)

Returns a feature set which contains all features within the specified point and box size containing the specified attributes.

The range is in meters. The range will create a bounding box with the point supplied at the center

DtLuaFeatureSet DtLuaScriptInterfaceImpl::luaGetFeaturesWithinRangeNoAttributes ( const DtLocation3D ,
double  range 
)

Same as luaGetFeaturesWithinRange except returns all features regardless of attributes.

DtLuaFeatureSet DtLuaScriptInterfaceImpl::luaGetFeaturesType ( const std::string &  type)

Returns all features which match a specific feature query.

DtLuaFeatureSet DtLuaScriptInterfaceImpl::luaGetFeatures ( )

Returns all features.

DtLuaFeatureGeometry DtLuaScriptInterfaceImpl::luaMakePointGeometry ( const DtLocation3D )

Routines to generate feature geometries.

Generate a point geometry.

DtLuaFeatureGeometry DtLuaScriptInterfaceImpl::luaMakePathGeometry ( const std::vector< DtLocation3D > &  )

Generate a path (linear) geometry.

DtLuaFeatureGeometry DtLuaScriptInterfaceImpl::luaMakeAreaGeometry ( const std::vector< DtLocation3D > &  )

Generate an areal geometry.

boost::shared_ptr<DtLuaAsyncJob> DtLuaScriptInterfaceImpl::generateRandomPoints ( const luabind::object &  parameters)

Generates random points on the terrain using NavData.

boost::shared_ptr<DtLuaAsyncJob> DtLuaScriptInterfaceImpl::findNearbyPointOfInterest ( const int  type)

Find a nearby point in the NavData with the given type.

boost::shared_ptr<DtLuaAsyncJob> DtLuaScriptInterfaceImpl::findCoverPoint ( const DtLocation3D startLocation,
const DtLocation3D threatLocation,
double  threatRadius,
double  distanceFromThreat,
double  range,
unsigned  numberOfPoints 
)

Find nearby points of cover from the given threat location.

boost::shared_ptr<DtLuaAsyncJob> DtLuaScriptInterfaceImpl::findPathToLocation ( const DtLocation3D startLocation,
const DtLocation3D destinationLocation,
bool  useAbstractGraphs,
const DtLocation3D avoidLocation,
double  avoidanceRadius 
)

Find the best path to the given location.

DtTranslatableStream DtLuaScriptInterfaceImpl::translateStringFromScript ( const std::string &  format)

Returns a translatable object that can be used to send translated messages.

boost::shared_ptr<DtLuaAsyncJob> DtLuaScriptInterfaceImpl::luaNavigateThroughFeatures ( const luabind::object &  parameters)

Returns an async job object which will produce a path (set of points) from the input points.

The output path object will be altered as to move around the features.

boost::shared_ptr<DtLuaAsyncJob> DtLuaScriptInterfaceImpl::getEmbarkationSlots ( DtScriptVrfObject object)

Queries embarkation slot information for the specified entity.

boost::shared_ptr<DtLuaAsyncJob> DtLuaScriptInterfaceImpl::reserveEmbarkationSlot ( DtScriptVrfObject object,
int  slotNumber 
)

Reserves an embarkation slot on the specified entity.

void DtLuaScriptInterfaceImpl::luaSendMessage ( const DtScriptVrfObject receiver,
const std::string &  message 
)
void DtLuaScriptInterfaceImpl::luaSendRadioMessage ( const DtScriptVrfObject receiver,
const std::string &  message 
)
void DtLuaScriptInterfaceImpl::luaDeleteObject ( std::string const &  receiver)
void DtLuaScriptInterfaceImpl::luaDeleteScriptObject ( const DtScriptVrfObject receiver)
static void DtLuaScriptInterfaceImpl::textReportCallback ( const DtVrfObjectMessage m,
void *  usr 
)
static
virtual void DtLuaScriptInterfaceImpl::processTextReport ( const DtVrfObjectMessage m)
virtual
void DtLuaScriptInterfaceImpl::luaSendInfluence ( const DtScriptVrfObject target,
const std::string &  influenceName,
luabind::object const &  influenceParams 
)
static void DtLuaScriptInterfaceImpl::addReaderWriterToLuaTableFunction ( const DtString ,
ReaderWriterToLuaTableFcn   
)
static

Adds a new process function for a reader/writer type.

static void DtLuaScriptInterfaceImpl::influenceCallback ( DtInfluenceInteractionExtension m,
void *  usr 
)
static
virtual void DtLuaScriptInterfaceImpl::processInfluence ( DtInfluenceInteractionExtension m)
virtual
virtual void DtLuaScriptInterfaceImpl::processEntityDestroyed ( )
virtual

Performs processing that should occur when the entity is destroyed.

Reimplemented from DtScriptInterface.

virtual void DtLuaScriptInterfaceImpl::luaSetCloudLayerType ( DtScriptVrfObject object,
int  value 
)
virtual

Cloud layer accessors/mutators. See code or lua documentation for more specifics.

virtual void DtLuaScriptInterfaceImpl::luaSetCloudLayerAltitude ( DtScriptVrfObject object,
double  value 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetCloudLayerThickness ( DtScriptVrfObject object,
double  value 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetCloudCornerRadius ( DtScriptVrfObject object,
double  value 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetCloudLayerDensity ( DtScriptVrfObject object,
double  value 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetCloudLayerBox ( DtScriptVrfObject object,
const DtLocation3D location,
double  width,
double  length 
)
virtual
virtual DtScriptVrfObject DtLuaScriptInterfaceImpl::luaGetCloudLayer ( const DtLocation3D location)
virtual
virtual std::vector<DtScriptVrfObject> DtLuaScriptInterfaceImpl::luaGetCloudLayers ( )
virtual
virtual int DtLuaScriptInterfaceImpl::luaGetCloudLayerType ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetCloudLayerAltitude ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetCloudLayerThickness ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetCloudCornerRadius ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetCloudLayerDensity ( DtScriptVrfObject object)
virtual
virtual void DtLuaScriptInterfaceImpl::luaGetCloudLayerBox ( DtScriptVrfObject object,
DtLocation3D center,
double width,
double length 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetPrecipitationIntensity ( DtScriptVrfObject object,
double  intensity 
)
virtual

Weather related accessors. See code or lua documentation for more specifics

virtual void DtLuaScriptInterfaceImpl::luaSetPrecipitationType ( DtScriptVrfObject object,
int  type 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetCloudCover ( DtScriptVrfObject object,
int  state 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetVisibilityDistance ( DtScriptVrfObject object,
double  distance 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetWindDirection ( DtScriptVrfObject object,
double   
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetWindSpeed ( DtScriptVrfObject object,
double   
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetUnderwaterVisibility ( DtScriptVrfObject object,
double  visibility 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetSurfaceTransparency ( DtScriptVrfObject object,
double  transparency 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetSwellState ( DtScriptVrfObject object,
unsigned int  state 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetSwellStateDirection ( DtScriptVrfObject object,
double  direction 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetSeaState ( DtScriptVrfObject object,
unsigned int  state 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetSeaStateDirection ( DtScriptVrfObject object,
double  direction 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetWindDrivenSeaStateEnabled ( DtScriptVrfObject object,
bool  enabled 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetChoppiness ( DtScriptVrfObject object,
double  choppiness 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetSurgeDepth ( DtScriptVrfObject object,
double  depth 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetFogHeight ( DtScriptVrfObject object,
double  depth 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetFogColor ( DtScriptVrfObject object,
double  red,
double  green,
double  blue 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetPriority ( DtScriptVrfObject object,
int   
)
virtual
virtual bool DtLuaScriptInterfaceImpl::isWeatherObject ( DtScriptVrfObject ) const
virtual
virtual bool DtLuaScriptInterfaceImpl::isCloudLayer ( DtScriptVrfObject ) const
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetAirTemperature ( DtScriptVrfObject object)
virtual
virtual unsigned int DtLuaScriptInterfaceImpl::luaGetPrecipitation ( DtScriptVrfObject object,
double  
)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetPrecipitationIntensity ( DtScriptVrfObject object)
virtual
virtual unsigned int DtLuaScriptInterfaceImpl::luaGetPrecipitationType ( DtScriptVrfObject object)
virtual
virtual int DtLuaScriptInterfaceImpl::luaGetCloudCover ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetVisibilityDistance ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetWindDirection ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetWindSpeed ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetUnderwaterVisibility ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetSurfaceTransparency ( DtScriptVrfObject object)
virtual
virtual unsigned int DtLuaScriptInterfaceImpl::luaGetSwellState ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetSwellStateDirection ( DtScriptVrfObject object)
virtual
virtual unsigned int DtLuaScriptInterfaceImpl::luaGetSeaState ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetSeaStateDirection ( DtScriptVrfObject object)
virtual
virtual bool DtLuaScriptInterfaceImpl::luaGetWindDrivenSeaStateEnabled ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetChoppiness ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetSurgeDepth ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetFogHeight ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetFogHeightByLocation ( const DtLocation3D object)
virtual
virtual void DtLuaScriptInterfaceImpl::luaGetFogColor ( DtScriptVrfObject object,
double red,
double green,
double blue 
)
virtual
virtual void DtLuaScriptInterfaceImpl::luaGetFogColorByLocation ( const DtLocation3D object,
double red,
double green,
double blue 
)
virtual
virtual int DtLuaScriptInterfaceImpl::luaGetPriority ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetIllumination ( DtScriptVrfObject object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetExpectedIllumination ( DtScriptVrfObject object,
double  dateAndTimeOfDay 
)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetAirTemperatureByLocation ( const DtLocation3D object)
virtual
virtual unsigned int DtLuaScriptInterfaceImpl::luaGetPrecipitationByLocation ( const DtLocation3D location,
double  
)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetPrecipitationIntensityByLocation ( const DtLocation3D object)
virtual
virtual unsigned int DtLuaScriptInterfaceImpl::luaGetPrecipitationTypeByLocation ( const DtLocation3D object)
virtual
virtual int DtLuaScriptInterfaceImpl::luaGetCloudCoverByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetVisibilityDistanceByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetWindDirectionByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetWindSpeedByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetUnderwaterVisibilityByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetSurfaceTransparencyByLocation ( const DtLocation3D object)
virtual
virtual unsigned int DtLuaScriptInterfaceImpl::luaGetSwellStateByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetSwellStateDirectionByLocation ( const DtLocation3D object)
virtual
virtual unsigned int DtLuaScriptInterfaceImpl::luaGetSeaStateByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetSeaStateDirectionByLocation ( const DtLocation3D object)
virtual
virtual bool DtLuaScriptInterfaceImpl::luaGetWindDrivenSeaStateEnabledByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetChoppinessByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetSurgeDepthByLocation ( const DtLocation3D object)
virtual
virtual int DtLuaScriptInterfaceImpl::luaGetPriorityByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetIlluminationByLocation ( const DtLocation3D object)
virtual
virtual double DtLuaScriptInterfaceImpl::luaGetExpectedIlluminationByLocation ( const DtLocation3D object,
double  dateAndTimeOfDay 
)
virtual
virtual double DtLuaScriptInterfaceImpl::luaRunDurationTime ( )
virtual

Calls to effect how long the simulation will run

virtual void DtLuaScriptInterfaceImpl::luaRunForDuration ( double  )
virtual
virtual void DtLuaScriptInterfaceImpl::luaStopSimulationDurationTimer ( )
virtual
virtual void DtLuaScriptInterfaceImpl::luaSetCheckpointMode ( bool  )
virtual

Routines for changing checkpoint state and initializing checkpoint state

virtual void DtLuaScriptInterfaceImpl::initializeCheckpointStateTable ( lua_State *  L)
virtual
virtual int DtLuaScriptInterfaceImpl::luaAskUserQuestion ( const DtTranslatableStream title,
const DtTranslatableStream message,
luabind::object const &  options,
int  displayFlags 
)
virtual

Commands that are used to manage user response questions asked from lua scripts Ask the user a question. The method returns the question id that is used in subsequent question methods. The user, when the question is answered, will only return a single response Display flags are: 0 - Buttons 1 - Radio buttons 2 - Combo box

virtual int DtLuaScriptInterfaceImpl::luaAskUserQuestionST ( const std::string &  title,
const DtTranslatableStream message,
luabind::object const &  options,
int  displayFlags 
)
virtual
virtual int DtLuaScriptInterfaceImpl::luaAskUserQuestionTS ( const DtTranslatableStream title,
const std::string &  message,
luabind::object const &  options,
int  displayFlags 
)
virtual
virtual int DtLuaScriptInterfaceImpl::luaAskUserQuestionSS ( const std::string &  title,
const std::string &  message,
luabind::object const &  options,
int  displayFlags 
)
virtual
virtual int DtLuaScriptInterfaceImpl::luaStatusOfUserQuestion ( int  questionId)
virtual

Returns the status of the user question: -1 - Not yet answered 0+ - Answered and the option the user selected.

virtual void DtLuaScriptInterfaceImpl::luaCancelUserQuestion ( int  questionId)
virtual

Cancels the question asked of the user.

DtScriptVrfObject DtLuaScriptInterfaceImpl::luaCreateEntity ( luabind::object const &  parameters)

Create an entity.

Series of create commands that will use base DtCreateObjectBuilder to create the object and return the created object

DtScriptVrfObject DtLuaScriptInterfaceImpl::luaCreateFromOrbat ( std::string  orbatItem,
const DtLocation3D loc 
)

Create an object from the ORBAT.

DtScriptVrfObject DtLuaScriptInterfaceImpl::luaGetGlobalWeather ( )

Returns the current global weather object. This can be used for changing global weather.

DtScriptVrfObject DtLuaScriptInterfaceImpl::luaCreateTacticalGraphic ( luabind::object const &  parameters)

Create a tactical graphic. Must specify name or type.

DtScriptVrfObject DtLuaScriptInterfaceImpl::luaCreateObstacle ( luabind::object const &  parameters)

Create an obstacle.

DtScriptVrfObject DtLuaScriptInterfaceImpl::luaCreateRoute ( luabind::object const &  parameters)

Create a route.

DtScriptVrfObject DtLuaScriptInterfaceImpl::luaCreateArea ( luabind::object const &  parameters)

Create an area.

DtScriptVrfObject DtLuaScriptInterfaceImpl::luaCreateWaypoint ( luabind::object const &  parameters)

Create a waypoint.

DtScriptVrfObject DtLuaScriptInterfaceImpl::luaCreatePhaseLine ( luabind::object const &  parameters)

Creates a phase line.

void DtLuaScriptInterfaceImpl::luaCreateSelectionGroup ( const std::string &  name,
luabind::object const &  parameters 
)

Creates a new selection group containing the specified sim objects.

bool DtLuaScriptInterfaceImpl::luaUpdateTaskVisualization ( const std::string &  visualizationName,
const std::string &  visualizationType,
luabind::object const &  parameters 
)

Updates (creating if necessary) a new task visualization.

void DtLuaScriptInterfaceImpl::luaDeleteTaskVisualization ( const std::string &  visualizationName)

Deletes an existing task visualization.

void DtLuaScriptInterfaceImpl::luaRequire ( lua_State *  L,
const std::string &  filename 
)

Loads an runs a Lua library.

unsigned DtLuaScriptInterfaceImpl::luaBitwiseOr ( unsigned  val1,
unsigned  val2 
)

Series of bitwise operations

unsigned DtLuaScriptInterfaceImpl::luaBitwiseAnd ( unsigned  val1,
unsigned  val2 
)
unsigned DtLuaScriptInterfaceImpl::luaBitwiseXor ( unsigned  val1,
unsigned  val2 
)
unsigned DtLuaScriptInterfaceImpl::luaBitwiseNot ( unsigned  val)
unsigned DtLuaScriptInterfaceImpl::luaBitwiseLeftShift ( unsigned  val,
unsigned  shift 
)
unsigned DtLuaScriptInterfaceImpl::luaBitwiseRightShift ( unsigned  val,
unsigned  shift 
)
bool DtLuaScriptInterfaceImpl::luaIntersectSegments2D ( const DtLocation3D p1,
const DtLocation3D p2,
const DtLocation3D p3,
const DtLocation3D p4,
DtLocation3D intersectPoint 
)
virtual void DtLuaScriptInterfaceImpl::addPostSetDataCallback ( const std::string &  setDataType,
const std::string &  functionName 
)
virtual

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

( const std::string& setDataType, DtScriptFunctionReferencePtr functionReference)

virtual void DtLuaScriptInterfaceImpl::removePostSetDataCallback ( const std::string &  setDataType,
const std::string &  functionName 
)
virtual

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

( const std::string& setDataType, DtScriptFunctionReferencePtr functionReference)

virtual void DtLuaScriptInterfaceImpl::invokePostSetDataCallback ( DtScriptFunctionReferencePtr  functionReference,
DtSetDataRequestMessage setDatRequest 
)
virtual

Invokes a post set data callback for a lua script.

functionReference must be a shared_ptr to a DtLuaScriptFunctionRefernce.

Implements DtScriptInterface.

virtual luabind::object DtLuaScriptInterfaceImpl::luaGetParamPropertyFromType ( const std::string  typeString,
std::string const &  paramName 
)
virtual

Returns an object containing the value of the requested parameter property.

May be a table containing a number of fields that make up the property, or a single value. This function looks up the entry in the parameter database for the given type, not the current values in the given entity. If the property could not be found, the returned table will be empty.

virtual void DtLuaScriptInterfaceImpl::putObjectsFromTableIntoGlobalTable ( lua_State *  state,
luabind::object &  table 
)
virtual

Old state load into/from global table.

virtual void DtLuaScriptInterfaceImpl::putObjectsFromGlobalTableIntoTable ( lua_State *  state,
luabind::object &  table 
)
virtual
virtual bool DtLuaScriptInterfaceImpl::callLuaNoArgFunction ( const std::string &  functionName,
bool functionExists = 0 
)
protectedvirtual

If the function does not exist will return true if functionExists is suppled, else returns false.

In the case of functionExists being supplied, check the return value of that to see if a true return from this method is still invalid due to a function not existing

virtual void DtLuaScriptInterfaceImpl::updateFuncCallCount ( )
protectedvirtual

Member Data Documentation

lua_State* DtLuaScriptInterfaceImpl::myLState
protected
unsigned DtLuaScriptInterfaceImpl::myFuncCallCount
protected
bool DtLuaScriptInterfaceImpl::myLuaScriptWarningShown
protected
LocalInterfaceExtensions DtLuaScriptInterfaceImpl::myInterfaceExtensions
protected
GlobalInterfaceExtensions DtLuaScriptInterfaceImpl::theLuaInterfaceExtensions
staticprotected
luabind::object* DtLuaScriptInterfaceImpl::myCheckpointStateTable
protected
ReaderWriterToLuaTableMap DtLuaScriptInterfaceImpl::theReaderWriterToLuaTableMap
staticprotected

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

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)