DI-Guy API, DIS Constants and Enumerations

Generated from diguy_dis_constants.h

DI-Guy API Version 12.5.1

This file was automatically generated from diguy_dis_constants.h. Do not edit this file directly; the changes will be lost.
Contents: Alphabetical Index

This file contains constants defined by the DIS networking standard. They should be compatible with other DIS networking applications that follow the DIS standard.

enumeration

enum
{
	DIGUY_DIS_LIFEFORM_UNUSED                 = 0,
	DIGUY_DIS_LIFEFORM_UPRIGHT_STANDING_STILL = 1,
	DIGUY_DIS_LIFEFORM_UPRIGHT_WALKING        = 2,
	DIGUY_DIS_LIFEFORM_UPRIGHT_RUNNING        = 3,
	DIGUY_DIS_LIFEFORM_KNEELING               = 4,
	DIGUY_DIS_LIFEFORM_PRONE                  = 5,
	DIGUY_DIS_LIFEFORM_CRAWLING               = 6,
	DIGUY_DIS_LIFEFORM_SWIMMING               = 7,
	DIGUY_DIS_LIFEFORM_PARACHUTING            = 8,
	DIGUY_DIS_LIFEFORM_JUMPING                = 9,

	DIGUY_DIS_LIFEFORM_SITTING                = 10,
	DIGUY_DIS_LIFEFORM_SQUATTING              = 11,
	DIGUY_DIS_LIFEFORM_CROUCHING              = 12,
	DIGUY_DIS_LIFEFORM_WADING                 = 13
};
Description:

Lifeform state values from an Entity State PDU.

Note that the values for sitting, squatting, crouching, and wading don't appear to be part of the official DIS standard, but are included for compatibility with MaK Technologies, Inc. VR-Link.

enumeration

enum
{
	DIGUY_DIS_PRIMARY_WEAPON_NOT_PRESENT        = 0,
	DIGUY_DIS_PRIMARY_WEAPON_STOWED             = 1,
	DIGUY_DIS_PRIMARY_WEAPON_DEPLOYED           = 2,
	DIGUY_DIS_PRIMARY_WEAPON_IN_FIRING_POSITION = 3
};
Description:

Primary weapon position values from an Entity State PDU.

enumeration

enum
{
	DIGUY_DIS_SECONDARY_WEAPON_NOT_PRESENT        = 0,
	DIGUY_DIS_SECONDARY_WEAPON_STOWED             = 1,
	DIGUY_DIS_SECONDARY_WEAPON_DEPLOYED           = 2,
	DIGUY_DIS_SECONDARY_WEAPON_IN_FIRING_POSITION = 3
};
Description:

Secondary weapon position values from an Entity State PDU.

enumeration

enum
{
	DIGUY_DIS_DAMAGE_NONE      = 0,
	DIGUY_DIS_DAMAGE_SLIGHT    = 1,
	DIGUY_DIS_DAMAGE_MODERATE  = 2,
	DIGUY_DIS_DAMAGE_DESTROYED = 3
};
Description:

Damage appearance values from an Entity State PDU.

enumeration

enum
{
	DIGUY_DIS_SMOKE_NOT_SMOKING                  = 0,
	DIGUY_DIS_SMOKE_SMOKE_PLUME                  = 1,
	DIGUY_DIS_SMOKE_ENGINE_SMOKE                 = 2,
	DIGUY_DIS_SMOKE_ENGINE_SMOKE_AND_SMOKE_PLUME = 3
};
Description:

Smoke appearance values from an Entity State PDU.

enumeration

enum
{
	DIGUY_DIS_TRAILING_EFFECT_NONE   = 0,
	DIGUY_DIS_TRAILING_EFFECT_SMALL  = 1,
	DIGUY_DIS_TRAILING_EFFECT_MEDIUM = 2,
	DIGUY_DIS_TRAILING_EFFECT_LARGE  = 3
};
Description:

Trailing effect values from an Entity State PDU.

enumeration

enum
{
	DIGUY_DIS_FLAMES_NONE    = 0,
	DIGUY_DIS_FLAMES_PRESENT = 1
};
Description:

Flames appearance values from an Entity State PDU.

enumeration

enum
{
	DIGUY_DIS_POWER_PLANT_OFF = 0,
	DIGUY_DIS_POWER_PLANT_ON  = 1
};
Description:

Power plant status values from an Entity State PDU.

enumeration

enum
{
	DIGUY_DIS_MISSILE_TRAIL_OFF = 0,
	DIGUY_DIS_MISSILE_TRAIL_ON  = 1
};
Description:

This enumeration lists missile trail status values from an Entity State PDU.

enumeration

enum
{
	DIGUY_DIS_FOCUS_TARGET = 10240
};
Description:

This enumeration lists the Articulated part info for DI-Guy's gazing.

enumeration

enum diguyCustomPDUType
{
	DIGUY_CUSTOM_PDU_ID_ESCAPE_RESERVED = 0,
	DIGUY_CUSTOM_PDU_ID_SET_CHAR_TYPE,
	DIGUY_CUSTOM_PDU_ID_SET_CHAR_APPEARANCE,
	DIGUY_CUSTOM_PDU_ID_SET_CHAR_ACTION,
	DIGUY_CUSTOM_PDU_ID_SET_CHAR_VISIBLE,
	DIGUY_CUSTOM_PDU_ID_SET_CHAR_PAUSED,                  // (no longer used)
	DIGUY_CUSTOM_PDU_ID_SET_SCENARIO_FRAME = 6,
	DIGUY_CUSTOM_PDU_ID_SET_SCENARIO_PLAYBACK_MODE,
	DIGUY_CUSTOM_PDU_ID_LOAD_SCENARIO_CAMERA,
	DIGUY_CUSTOM_PDU_ID_RESET,
	DIGUY_CUSTOM_PDU_ID_HAIL,                             // 10
	DIGUY_CUSTOM_PDU_ID_LOAD_SCENARIO_FILE,
	DIGUY_CUSTOM_PDU_ID_SET_CAMERA_DETAILS,
	DIGUY_CUSTOM_PDU_ID_XC_LOAD_SCENARIO = 13, // 13
	DIGUY_CUSTOM_PDU_ID_XC_LOAD_SCENARIO_COMPLETE,
	DIGUY_CUSTOM_PDU_ID_XC_MERGE_SCENARIO,
	DIGUY_CUSTOM_PDU_ID_XC_MERGE_SCENARIO_COMPLETE,
	DIGUY_CUSTOM_PDU_ID_XC_SET_TIN_TOD,
	DIGUY_CUSTOM_PDU_ID_XC_TIME_NOW,
	DIGUY_CUSTOM_PDU_ID_XC_CONTROL,
	DIGUY_CUSTOM_PDU_ID_XC_TRIGGER_SCRIPT,                // 20
	DIGUY_CUSTOM_PDU_ID_XC_EVAL_SCRIPT,
	DIGUY_CUSTOM_PDU_ID_XC_SET_FF_SPEED,
	DIGUY_CUSTOM_PDU_ID_XC_TRIGGER_SIGNAL,
	DIGUY_CUSTOM_PDU_ID_XC_RESET_SCENARIO,
	DIGUY_CUSTOM_PDU_ID_XC_ENTER_SLAVE_MODE,
	DIGUY_CUSTOM_PDU_ID_XC_EXIT_SLAVE_MODE,
	DIGUY_CUSTOM_PDU_ID_VARIABLE_STATE,
	DIGUY_CUSTOM_PDU_ID_SAVE_SCENARIO,
	DIGUY_CUSTOM_PDU_ID_SAVE_SCENARIO_COMPLETE,
	DIGUY_CUSTOM_PDU_ID_AI_SEND_MESSAGE_TO_CHARACTER,     // 30
	DIGUY_CUSTOM_PDU_ID_AI_SEND_MESSAGE_TO_GROUP,
	DIGUY_CUSTOM_PDU_ID_AI_BROADCAST_MESSAGE,
	DIGUY_CUSTOM_PDU_ID_AI_BROADCAST_MESSAGE_TO_GROUP,
	DIGUY_CUSTOM_PDU_ID_BEGIN_APPEARANCE_EFFECT,
	DIGUY_CUSTOM_PDU_ID_END_APPEARANCE_EFFECT,
	DIGUY_CUSTOM_PDU_ID_STOP_APPEARANCE_EFFECT,
	DIGUY_CUSTOM_PDU_ID_SET_SCENE_OBJECT_BIT,
	DIGUY_CUSTOM_PDU_ID_BROADCAST_EXERCISE_DATETIME,
	DIGUY_CUSTOM_PDU_ID_REQUEST_EXERCISE_DATETIME_BROADCAST,  // unused
	DIGUY_CUSTOM_PDU_ID_SET_SHAPE_VARIATION,              // 40
	DIGUY_CUSTOM_PDU_ID_EXECUTE_GESTURE,
	DIGUY_CUSTOM_PDU_ID_CHARACTER_SCALE,
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED0,                 
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED1,
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED2,
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED3,
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED4,
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED5,
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED6,
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED7,
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED8,
	DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED9,
	DIGUY_CUSTOM_PDU_ID_COUNT                             // 51
} ;
\enum diguyCustomPDUType

Description:

This enumeration lists the message IDs for DI-Guy's custom pdus, not all are usuable outside of diguyscenario

DIGUY_CUSTOM_PDU_ID_SET_CHAR_TYPE

DIGUY_CUSTOM_PDU_ID_SET_CHAR_APPEARANCE

DIGUY_CUSTOM_PDU_ID_SET_CHAR_ACTION

DIGUY_CUSTOM_PDU_ID_SET_CHAR_VISIBLE

DIGUY_CUSTOM_PDU_ID_SET_SCENARIO_FRAME

DIGUY_CUSTOM_PDU_ID_SET_SCENARIO_PLAYBACK_MODE

DIGUY_CUSTOM_PDU_ID_LOAD_SCENARIO_CAMERA

DIGUY_CUSTOM_PDU_ID_RESET

DIGUY_CUSTOM_PDU_ID_HAIL

DIGUY_CUSTOM_PDU_ID_LOAD_SCENARIO_FILE

DIGUY_CUSTOM_PDU_ID_SET_CAMERA_DETAILS

DIGUY_CUSTOM_PDU_ID_XC_LOAD_SCENARIO

- NetU16 => Target_site - NetU16 => Target_host - String => Filename - String => Reference name

DIGUY_CUSTOM_PDU_ID_XC_LOAD_SCENARIO_COMPLETE

DIGUY_CUSTOM_PDU_ID_XC_MERGE_SCENARIO

- NetU16 => Target_site - NetU16 => Target_host - NetFlt32 => Time of Day - NetFlt32[3] => Refx, Refy, Refz - NetFlt32[3] => x, y, z - NetFlt32[3] => w,r,p - String => Filename - String => Reference name

DIGUY_CUSTOM_PDU_ID_XC_MERGE_SCENARIO_COMPLETE

DIGUY_CUSTOM_PDU_ID_XC_SET_TIN_TOD

- NetU16 => Target_site - NetU16 => Target_host - NetFlt32 => Time of Day

DIGUY_CUSTOM_PDU_ID_XC_TIME_NOW

- NetFlt32 => seconds since midnight - NetFlt32 => seconds to smooth

DIGUY_CUSTOM_PDU_ID_XC_CONTROL

- NetU16 => Target_site - NetU16 => Target_host - String => Command ("RUN", "STOP", "RESET", "FF", "REWIND")

DIGUY_CUSTOM_PDU_ID_XC_TRIGGER_SCRIPT

- NetU16 => Target_site - NetU16 => Target_host - String Script name

DIGUY_CUSTOM_PDU_ID_XC_EVAL_SCRIPT

- NetU16 => Target_site - NetU16 => Target_host - String => Script text

DIGUY_CUSTOM_PDU_ID_XC_SET_FF_SPEED

- NetU16 => Target_site - NetU16 => Target_host - NetFlt32 => Speed multiple

DIGUY_CUSTOM_PDU_ID_XC_TRIGGER_SIGNAL

- NetU16 => Target_site - NetU16 => Target_host - String => Signal to trigger

DIGUY_CUSTOM_PDU_ID_XC_RESET_SCENARIO

- NetU16 => Target_site - NetU16 => Target_host

DIGUY_CUSTOM_PDU_ID_XC_ENTER_SLAVE_MODE

- NetU16 => Target_site - NetU16 => Target_host

DIGUY_CUSTOM_PDU_ID_XC_EXIT_SLAVE_MODE

- NetU16 => Target_site - NetU16 => Target_host

DIGUY_CUSTOM_PDU_ID_VARIABLE_STATE

- NetU16 => Target_site - NetU16 => Target_host - String => variable - String => value

DIGUY_CUSTOM_PDU_ID_SAVE_SCENARIO

- NetU16 => Target_site - NetU16 => Target_host - NetU16 => use_user_name - String => file name

DIGUY_CUSTOM_PDU_ID_SAVE_SCENARIO_COMPLETE

- String => file name

DIGUY_CUSTOM_PDU_ID_AI_SEND_MESSAGE_TO_CHARACTER

- NetU16 => Target_site - NetU16 => Target_host - NetU16 => target AI network number - String => sender - String => message_type - String => message - String => message_params

diguyCharacter::agent_accept_message(sender,
message_type,
message,
message_params);
DIGUY_CUSTOM_PDU_ID_AI_SEND_MESSAGE_TO_GROUP

- String => group_name - String => sender - String => message_type - String => message - String => message_params

diguyCharacterGroup::send_message_to_all_members(sender,
message_type,
message,
message_params);
DIGUY_CUSTOM_PDU_ID_AI_BROADCAST_MESSAGE

- String => sender - NetFlt32 => radius - String => message_type - String => message - String => message_params

diguyCharacter::agent_broadcast_message(sender,
radius,
message_type,
message,
message_params);
Where character is the sender of message.

DIGUY_CUSTOM_PDU_ID_AI_BROADCAST_MESSAGE_TO_GROUP

- String => sender - String => group_name - NetFlt32 => radius - String => message_type - String => message - String => message_params

diguyCharacter::agent_broadcast_message_to_group(group_name,
radius,
message_type,
message,
message_params);
Where character is the sender of message.

DIGUY_CUSTOM_PDU_ID_BEGIN_APPEARANCE_EFFECT

- String => appearance effect - bool => flag if theres extended data

- NetFlt32 => override scale - NetFlt32[3] => override_offset x, y, z - NetFlt32 => override duration

diguyCharacter::begin_appearance_effect(app_name, link_name, override_scale, 
            override_offset_x, override_offset_y, override_offset_z,
            override_duration,
or

diguyCharacter::begin_appearance_effect(app_name);
DIGUY_CUSTOM_PDU_ID_END_APPEARANCE_EFFECT ( Gradual Stop )

- String => link_name

diguyCharacter::end_appearance_effect(appearance_effect_name,link_name)
DIGUY_CUSTOM_PDU_ID_STOP_APPEARANCE_EFFECT ( Instant Stop )

- String => link_name

diguyCharacter::stop_appearance_effect(appearance_effect_name, link_name)
DIGUY_CUSTOM_PDU_ID_SET_SCENE_OBJECT_BIT

diguyCharacter::set_is_scene_object(value)
DIGUY_CUSTOM_PDU_ID_BROADCAST_EXERCISE_DATETIME

internal use only

- NetU16 => Target_site - NetU16 => Target_host - NetU16[7] => year, month, day, hour, minute, second, msec

bdiScenario::set_network_datetime(network_datetime);

DIGUY_CUSTOM_PDU_ID_REQUEST_EXERCISE_DATETIME_BROADCAST

Unused

DIGUY_CUSTOM_PDU_ID_SET_SHAPE_VARIATION

int offset = 0;
short link_index = 0;
while(pdu->pullShort(link_index, offset) == 0)
{
    short shape_index = 0;
    pdu->pullShort(shape_index, offset);
    bdiLink * link = character->get_link_at_index(link_index);
    if(link)
    {
        bdiShape * shape = link->get_shape(shape_index);
        if(!shape->get_unique_ramp_data())
        {
            const unsigned char * data_blob = NULL;
            int bytes_read;
            if(pdu->pullUnsignedData(data_blob, offset, bytes_read) == 0)
            {
                unsigned char * data_blob_copy = new unsigned char [shape->get_unique_ramp_data_size()*4 ];
                int q;
                for(q = 0; q < bytes_read/3; q++)
                {
                    data_blob_copy[q*4] = data_blob[q*3];
                    data_blob_copy[q*4+1] = data_blob[q*3+1];
                    data_blob_copy[q*4+2] = data_blob[q*3+2];
                    data_blob_copy[q*4+3] = 255;;
                }
                // fill the rest of the buffer
                for( ; q < shape->get_unique_ramp_data_size(); q++)
                {
                    data_blob_copy[q*4] = 128;
                    data_blob_copy[q*4+1] = 128;
                    data_blob_copy[q*4+2] = 128;
                    data_blob_copy[q*4+3] = 255;;
                }
                shape->set_unique_ramp_data(data_blob_copy);
            }
        }
    }
}
DIGUY_CUSTOM_PDU_ID_EXECUTE_GESTURE

- String => gesture_name - Long => reps - NetFlt32 => overall_duration - NetFlt32 => channel_A_weight

diguyCharacter::execute_gesture(gesture_name,reps, overall_duration, channel_A_weight);

DIGUY_CUSTOM_PDU_ID_CHARACTER_SCALE

- NetFlt32[3] => scale x,y,z

DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED0

DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED9


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.