diguyExerciseInterface

Generated from diguyExerciseInterface.h

DI-Guy API Version 12.5.1

This file was automatically generated from diguyExerciseInterface.h. Do not edit this file directly; the changes will be lost.
Includes: diguyExerciseInterface.h | diguy_constants.h | declspec_diguy.h

Contents:

Alphabetical Index

Link against: libdiguy

class diguyExerciseInterface

class BDI_DECLSPEC_diguy diguyExerciseInterface
{
public:
    void send_pdu_xc_set_tin_tod(unsigned short site,
        unsigned short host,
        float ttod);
    void send_pdu_xc_load_scenario(unsigned short site,
        unsigned short host,
        const char* filename,
        const char* refname);
    void send_pdu_xc_save_scenario(unsigned short site,
        unsigned short host,
        const char* filename,
        const int use_user_name);
    void send_pdu_xc_reset_scenario(unsigned short site,
        unsigned short host);
    void send_pdu_xc_merge_scenario(unsigned short site,
        unsigned short host,
        float ttod,
        float refx, float refy, float refz,
        float tx, float ty, float tz,
        float rz, float rx, float ry,
        const char* filename,
        const char* suffix);
    void send_pdu_xc_trigger_script(unsigned short site,
        unsigned short host,
        const char* script_name);
    void send_pdu_xc_control(unsigned short site,
        unsigned short host,
        const char* command);
    void send_pdu_xc_time_now(float tod, float smooth_period);
    void send_pdu_xc_eval_script(unsigned short site,
        unsigned short host,
        const char* text);
    void send_pdu_xc_enter_slave_mode(unsigned short site, unsigned short host);
    void send_pdu_xc_exit_slave_mode(unsigned short site, unsigned short host);
    int send_message_to_character(diguyCharacter* character,
        const char* sender_name,
        const char* message_type,
        const char* message,
        const char* message_params = NULL);
    int send_message_to_group(const char* group_name,
        const char* sender_name,
        const char* message_type,
        const char* message,
        const char* message_params = NULL);
    int broadcast_message(diguyCharacter* sender,
        float radius,
        const char* message_type,
        const char* message,
        const char* message_params = NULL);
    int broadcast_message_to_group(diguyCharacter* sender,
        const char* group_name,
        float radius,
        const char* message_type,
        const char* message,
        const char* message_params = NULL);
    const char* get_net_id(diguyCharacter* character);
    int convert_mgrs_to_local(const char* MGRS_str, float* x, float* y, float* z);
    const char* convert_local_to_mgrs(float x, float y, float z);
    float convert_local_to_lat(float x, float y, float z);
    float convert_local_to_long(float x, float y, float z);
    const char* convert_local_to_lat_long_string(float x, float y, float z);
    int convert_lat_long_to_local(float lat, float lon, float* x, float* y, float* z);
Exercise Control Functions

function diguyExerciseInterface::send_pdu_xc_set_tin_tod

Prototype:

void send_pdu_xc_set_tin_tod(unsigned short site,
    unsigned short host,
    float ttod);
Description:

This function sends an xc_set_tin_tod PDU. This PDU tells a remote DI-Guy application the simulated time of day at which its scenario is supposed to begin. Doing this provides a conceptual link between scenario time, which nominally starts at zero, and wall-clock time. This makes it possible for a scenario to be run under different simulated lighting conditions.

The remote DI-Guy application essentially does a diguyScenario::set_tin_time_of_day() call.

Arguments:

sitedestination host id (65535 for all sites)
hostdestination host id (65535 for all hosts)
ttodtin time of day (seconds after midnight)
Callable From:

function diguyExerciseInterface::send_pdu_xc_load_scenario

Prototype:

void send_pdu_xc_load_scenario(unsigned short site,
    unsigned short host,
    const char* filename,
    const char* refname);
Description:

This function sends an xc_load_scenario PDU. This PDU tells a remote DI-Guy application to load a particular scenario file.

The remote DI-Guy application essentially does a diguyScenario::load() call.

Arguments:

site destination host id (65535 for all sites)
host destination host id (65535 for all hosts)
filenamescenario to load
refname scenario reference name
Callable From:

function diguyExerciseInterface::send_pdu_xc_save_scenario

Prototype:

void send_pdu_xc_save_scenario(unsigned short site,
    unsigned short host,
    const char* filename,
    const int use_user_name);
Description:

This function sends an xc_save_scenario PDU. This PDU tells a remote DI-Guy application to save a particular scenario file.

The remote DI-Guy application essentially does a diguyScenario::save_as() call.

Arguments:

site destination host id (65535 for all sites)
host destination host id (65535 for all hosts)
filenamescenario to load
use_user_name user name to uniquely identify the file
Callable From:

function diguyExerciseInterface::send_pdu_xc_reset_scenario

Prototype:

void send_pdu_xc_reset_scenario(unsigned short site,
    unsigned short host);
Description:

This function sends an xc_reset_scenario PDU. This PDU tells a remote DI-Guy application to reset the current scenario file.

The remote DI-Guy application essentially does a diguyScenario::reset() call.

Arguments:

site destination host id (65535 for all sites)
host destination host id (65535 for all hosts)
Callable From:

function diguyExerciseInterface::send_pdu_xc_merge_scenario

Prototype:

void send_pdu_xc_merge_scenario(unsigned short site,
    unsigned short host,
    float ttod,
    float refx, float refy, float refz,
    float tx, float ty, float tz,
    float rz, float rx, float ry,
    const char* filename,
    const char* suffix);
Description:

This function sends an xc_merge_scenario PDU. This PDU tells a remote DI-Guy application to merge a particular scenario file.

The remote DI-Guy application essentially does a diguyScenario::merge() call.

Arguments:

site destination host id (65535 for all sites)
host destination host id (65535 for all hosts)
ttod tin time of day for the merged scenario (seconds after midnight)
refx, refy, refztransformation reference point in merged scenario (point around which translation and rotation will occur)
tx, ty, tz translation of reference point in merged scenario
rz, rx, ry rotation of reference point in merged scenario
filename filename of scenario to merge
collision_suffixsuffix to be used in event of name conflicts
Callable From:

function diguyExerciseInterface::send_pdu_xc_trigger_script

Prototype:

void send_pdu_xc_trigger_script(unsigned short site,
    unsigned short host,
    const char* script_name);
Description:

This function sends an xc_trigger_script PDU. This PDU tells a remote DI-Guy application to trigger the named script.

The remote DI-Guy application essentially does a diguyScenario::trigger_script() call.

Arguments:

site destination host id (65535 for all sites)
host destination host id (65535 for all hosts)
script_namename of the script to be triggered
Callable From:

function diguyExerciseInterface::send_pdu_xc_control

Prototype:

void send_pdu_xc_control(unsigned short site,
    unsigned short host,
    const char* command);
Description:

This function sends an xc_control PDU. This PDU tells a remote DI-Guy application to PLAY, STOP, RESET, etc.

Arguments:

site destination host id (65535 for all sites)
host destination host id (65535 for all hosts)
commandcommand string. Valid values are "RESET", "RUN", "STOP", "FF", "REWIND"
Callable From:

function diguyExerciseInterface::send_pdu_xc_time_now

Prototype:

void send_pdu_xc_time_now(float tod, float smooth_period);
Description:

This function sends an xc_time_now PDU. This PDU tells all remote DI-Guy applications what the simulated time of day is right now. There is no way to target this message at particular DI-Guy hosts. It is received and processed by all DI-Guy applications in the DIS exercise.

Arguments:

tod time of day: number of seconds since midnight, where 0.0 <= tod < 86400.0
smooth_periodhow many real seconds should be taken to get into sync
Scenarios can proceed from one day to the next, up to a length of 24 hours. When midnight comes, tod should be specified AS ZERO, and should increase from there. Values less than zero or greater than or equal to 86400.0 will NOT be sent over the network. In the case nothing will be sent.

Callable From:

function diguyExerciseInterface::send_pdu_xc_eval_script

Prototype:

void send_pdu_xc_eval_script(unsigned short site,
    unsigned short host,
    const char* text);
Description:

This function sends an xc_eval_script PDU. This PDU tells a remote DI-Guy application to evaluate a literal piece of script text.

Arguments:

site destination host id (65535 for all sites)
host destination host id (65535 for all hosts)
text text of the script to be executed
Callable From:

function diguyExerciseInterface::send_pdu_xc_enter_slave_mode

Prototype:

void send_pdu_xc_enter_slave_mode(unsigned short site, unsigned short host);
Description:

This function sends an xc_enter_slave PDU. This PDU tells a remote DI-Guy application to start slaving it's camera to incoming camera/time packets.

Arguments:

site destination host id (65535 for all sites)
host destination host id (65535 for all hosts)
Callable From:

function diguyExerciseInterface::send_pdu_xc_exit_slave_mode

Prototype:

void send_pdu_xc_exit_slave_mode(unsigned short site, unsigned short host);
Description:

This function sends an xc_exit_slave PDU. This PDU tells a remote DI-Guy application to stop slaving it's camera to incoming camera/time packets.

Arguments:

site destination host id (65535 for all sites)
host destination host id (65535 for all hosts)
Callable From:

AI Messaging Functions

function diguyExerciseInterface::send_message_to_character

Prototype:

int send_message_to_character(diguyCharacter* character,
    const char* sender_name,
    const char* message_type,
    const char* message,
    const char* message_params = NULL);
Description:

This function sends a custom AI message PDU. This PDU is mapped into a diguyCharacter::agent_accept_message() function call on the receiving side.

Arguments:

character pointer to the remote diguyCharacter
sender_name who is sending the message
message_type type of message is being sent
message message string
message_paramsoptional parameter string
Use diguyExerciseInterface::get_net_id() to get the name of the character that the remote machine will see the sender as.

Callable From:

function diguyExerciseInterface::send_message_to_group

Prototype:

int send_message_to_group(const char* group_name,
    const char* sender_name,
    const char* message_type,
    const char* message,
    const char* message_params = NULL);
Description:

This function sends a custom AI message PDU. This PDU is mapped into a diguyCharacterGroup::send_message_to_all_members() on all clients.

Arguments:

group_name name of the diguyCharacterGroup to target
sender_name who is sending the message
message_type what type of message is being sent
message the message string
message_paramsoptional parameter string
Use diguyExerciseInterface::get_net_id() to get the name of the character that the remote machine will see the sender as.

Callable From:

function diguyExerciseInterface::broadcast_message

Prototype:

int broadcast_message(diguyCharacter* sender,
    float radius,
    const char* message_type,
    const char* message,
    const char* message_params = NULL);
Description:

This function sends a custom AI message PDU. This PDU is mapped into a diguyCharacter::agent_broadcast_message() on all clients.

Arguments:

sender pointer to the diguyCharacter that is broadcasting the message
radius how far to broadcast the message
message_type what type of message is being sent
message the message string
message_paramsoptional parameter string
Callable From:

function diguyExerciseInterface::broadcast_message_to_group

Prototype:

int broadcast_message_to_group(diguyCharacter* sender,
    const char* group_name,
    float radius,
    const char* message_type,
    const char* message,
    const char* message_params = NULL);
Description:

This function sends a custom AI message PDU. This PDU is mapped into a diguyCharacter::agent_broadcast_message_to_group() on all clients.

Arguments:

sender pointer to the diguyCharacter that is broadcasting the message
group_name the group that receive the message
radius how far to broadcast the message
message_type what type of message is being sent
message the message string
message_paramsoptional parameter string
Callable From:

function diguyExerciseInterface::get_net_id

Prototype:

const char* get_net_id(diguyCharacter* character);
Returns:

"sitenum_hostnum_idnum" as a string

Useful for knowing the name that this entity will have on remote machines. This string should be copied.

Experimental Conversion Functions

function diguyExerciseInterface::convert_mgrs_to_local

Prototype:

int convert_mgrs_to_local(const char* MGRS_str, float* x, float* y, float* z);

function diguyExerciseInterface::convert_local_to_mgrs

Prototype:

const char* convert_local_to_mgrs(float x, float y, float z);

function diguyExerciseInterface::convert_local_to_lat

Prototype:

float convert_local_to_lat(float x, float y, float z);

function diguyExerciseInterface::convert_local_to_long

Prototype:

float convert_local_to_long(float x, float y, float z);

function diguyExerciseInterface::convert_local_to_lat_long_string

Prototype:

const char* convert_local_to_lat_long_string(float x, float y, float z);

function diguyExerciseInterface::convert_lat_long_to_local

Prototype:

int convert_lat_long_to_local(float lat, float lon, float* x, float* y, float* z);

Alphabetical Index




Copyright (C) 1992-2012 Boston Dynamics

ALL RIGHTS RESERVED.

These coded instructions, statements, and computer programs contain unpublished proprietary information of Boston Dynamics and are protected by Copyright Laws of the United States. They may not be used, duplicated, or disclosed in any form, in whole or in part, without the prior written consent from Boston Dynamics.

RESTRICTED RIGHTS LEGEND

Use, duplication, or disclosure by the government is subject to restrictions as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Sofware clause at DFARS 252.227-7013 and/or in similar or successor clauses in the FAR, or the DOD or NASA FAR Supplement, or to subparagraphs (c)(1) and (c)(2) of the Commercial Computer Software--Restricted Rights at 48 CFR 52.227-19, as applicable. Unpublished-rights reserved under the Copyright Laws of the United States.

Contractor/Manufacturer is:

Boston Dynamics/78 Fourth Avenue/Waltham MA 02451.