#VRML V2.0 utf8
# X3D-to-VRML-97 XSL translation autogenerated by X3dToVrml97.xslt
# https://www.web3d.org/x3d/content/X3dToVrml97.xslt
# Generated using XSLT processor: Saxonica
# [X3D] VRML V3.0 utf8
# PROFILE Immersive
# [X3D] version=3.0
# [X3D] noNamespaceSchemaLocation=https://www.web3d.org/specifications/x3d-3.0.xsd
# [head]
# COMPONENT DIS:1
# META "title" "DISEntityPrototypes.x3d"
# META "description" "Prototype definitions for DISEntityManager and DISEntityTypeMapping."
# META "creator" "Alan Hudson"
# META "translator" "Don Brutzman"
# META "created" "26 April 2005"
# META "modified" "20 October 2019"
# META "modified" "20 October 2019"
# META "warning" "under development."
# META "reference" "http://www.xj3d.org/extensions/DIS.html"
# META "reference" "http://www.yumetech.com"
# META "identifier" "https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/DISEntityPrototypes.x3d"
# META "generator" "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"
# META "license" "../license.html"
EXTERNPROTO MetadataSet [
# [appinfo] MetadataSet contains a set of nodes in the value field.
exposedField SFString name
exposedField MFNode value
exposedField SFString reference
exposedField SFNode metadata # [appinfo] Metadata node only
][
# "MetadataPrototypes.wrl#MetadataSet"
"https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.wrl#MetadataSet"
# "MetadataPrototypes.x3d#MetadataSet"
"https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataSet"
]
EXTERNPROTO EspduTransform [
# [appinfo] EspduTransformTrace provides 3D trace values for a corresponding EspduTransorm, usually as a child so that it stays local to an entity's position. EspduTransformTrace compatibly adds billboarded text-trace capabilities for run-time debugging inside a scene.
# experimental
eventOut SFString # SFVec3d
geoCoords_changed # [appinfo] Double precision output for 64-bit Espdu translation, usable by GeoLocation nodes.
# Standard Transform fields
eventIn MFNode addChildren # [appinfo] Adding a node to the children field will add that node to the EspduTransform's set of children. Warning: adding any node to the EspduTransform's children field that is already in that child list is illegal. Warning: adding any node to the EspduTransform's children that is an ancestor of that grouping is illegal.
eventIn MFNode removeChildren # [appinfo] The removeChildren event removes nodes from the EspduTransform's children field. Any nodes in the removeChildren event that are not in the EspduTransform's children list are ignored.
exposedField MFNode children # [appinfo] Children nodes within translation and rotation coordinate system of EspduTransform. Hint: XML encoding can include child node(s) directly.
exposedField SFVec3f translation # [appinfo] Position of children relative to local coordinate system, usually read from (or written to) remote, networked EspduTransform nodes.
exposedField SFRotation rotation # [appinfo] Orientation of children relative to local coordinate system, usually read from (or written to) remote, networked EspduTransform nodes.
exposedField SFVec3f center # [appinfo] Translation offset from origin of local coordinate system.
exposedField SFVec3f scale # [appinfo] Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
exposedField SFRotation scaleOrientation # [appinfo] Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
field SFVec3f bboxCenter # [appinfo] Bounding box center: position offset from origin of local coordinate system.
field SFVec3f bboxSize # [appinfo] Bounding box size: automatically calculated, can be specified as an optimization or constraint.
# Entity identity
exposedField SFString marking # [appinfo] 0..11 character label for entity.
exposedField SFInt32 siteID # [appinfo] [0,65535] EntityID: unique ID for that site.
exposedField SFInt32 applicationID # [appinfo] [0,65535] EntityID: application ID, unique ID for application at that site.
exposedField SFInt32 entityID # [appinfo] [0,65535] EntityID: unique ID for entity within that application.
# Networking configuration parameters
exposedField SFString address # [appinfo] multicast address, or else "localhost" listens to local defaultBridge
exposedField SFInt32 port # [appinfo] [0,65535] multicast port, or else listen to local defaultBridge
exposedField SFString multicastRelayHost # [appinfo] Host name of multicast relay server to provide alternative connectivity if local native multicast traffic not heard.
exposedField SFInt32 multicastRelayPort # [appinfo] Connection port on multicast relay server.
exposedField SFString networkMode # [appinfo] networkMode:
standAlone (ignore network but still respond to local events)
networkReader (listen to network as ghost entity)
networkWriter (output to network as master entity at writeInterval)
eventOut SFBool isStandAlone # [appinfo] Whether networkMode standAlone (ignore network but still respond to local events) is true/false
eventOut SFBool isMaster # [appinfo] Whether networkMode 'networkWriter' (output to network as master entity at writeInterval) is true/false
eventOut SFBool isRemote # [appinfo] Whether networkMode 'networkReader' (listen to network as ghost entity) is true/false
exposedField SFTime readInterval # [appinfo] seconds between read updates
exposedField SFTime writeInterval # [appinfo] seconds between write updates
eventOut SFBool isActive # [appinfo] Indicates if the node has received a DIS message (isActive=true) or not (isActive=false). Since DIS entities can be considered inactive after some period of time (typically five seconds) either event may be received by listening nodes.
eventOut SFTime timestamp # [appinfo] DIS timestamp in VRML units
field SFBool rtpHeaderExpected # [appinfo] whether RTP header is expected to be prepended to DIS packet
eventOut SFBool isRtpHeaderHeard # [appinfo] whether RTP header was found prepended to DIS packet
# Further identification
exposedField SFInt32 forceID # [appinfo] [0,255]
exposedField SFInt32 entityKind # [appinfo] [0,255]
exposedField SFInt32 entityDomain # [appinfo] [0,255]
exposedField SFInt32 entityCountry # [appinfo] [0,65535]
exposedField SFInt32 entityCategory # [appinfo] [0,255]
exposedField SFInt32 entitySubCategory # [appinfo] [0,255]
exposedField SFInt32 entitySpecific # [appinfo] [0,255]
exposedField SFInt32 entityExtra # [appinfo] [0,255]
exposedField SFVec3f linearVelocity
exposedField SFVec3f linearAcceleration
exposedField SFInt32 deadReckoning # [appinfo] Dead reckoning algorithm being used to project position/orientation with velocities/accelerations.
# Collision PDU events
eventOut SFBool isCollided
eventOut SFTime collideTime
eventOut SFInt32 eventApplicationID # [appinfo] [0,65535]
eventOut SFInt32 eventSiteID # [appinfo] [0,65535]
eventOut SFInt32 eventEntityID # [appinfo] [0,65535]
eventOut SFInt32 collisionType # [appinfo] [0,255]
eventOut SFInt32 eventNumber # [appinfo] [0,65535]
# Fire, Detonate PDU events
exposedField SFBool fired1
exposedField SFBool fired2
eventOut SFTime firedTime
exposedField SFVec3f munitionStartPoint
exposedField SFVec3f munitionEndPoint
exposedField SFInt32 munitionApplicationID # [appinfo] [0,65535]
exposedField SFInt32 munitionSiteID # [appinfo] [0,65535]
exposedField SFInt32 munitionEntityID # [appinfo] [0,65535]
exposedField SFInt32 fireMissionIndex # [appinfo] [0,65535]
exposedField SFInt32 warhead # [appinfo] [0,65535]
exposedField SFInt32 fuse # [appinfo] [0,65535]
exposedField SFInt32 munitionQuantity # [appinfo] [0,65535]
exposedField SFInt32 firingRate # [appinfo] [0,65535]
exposedField SFFloat firingRange
eventOut SFBool isDetonated
eventOut SFTime detonateTime
eventOut SFVec3f detonationLocation
eventOut SFVec3f detonationRelativeLocation
eventOut SFInt32 detonationResult
# Articulation parameters are extra blocks of information, appended one by one to end of regular Espdu.
exposedField SFInt32 articulationParameterCount # [appinfo] range [0,78]. Indicates the number of appended parameters that are being used to describe articulation of various segments of the entity model.
exposedField MFInt32 articulationParameterDesignatorArray # [appinfo] range [0,255]. The Parameter Type Designator entries in the articulationParameterDesignatorArray indicate if the the parameter record is for an articulated or attached part. It is represented by an 8-bit enumeration.
exposedField MFInt32 articulationParameterChangeIndicatorArray # [appinfo] range [0,255]. The Change Indicator entries in the articulationChangeIndicatorArray indicate the change of any parameter for the associated articulated part. This is specified by an 8-bit unsigned integer. The value is initially set to zero for each exercise and is sequentially incremented by one for each change in the articulation parameters. The proper indicator is updated automatically by an X3D DIS implementation upon receipt of a set_articulationParameterValue event.
exposedField MFInt32 articulationParameterIdPartAttachedToArray # [appinfo] range [0,65535]. The ID - Part Attached To entries in the articulationParameterIdPartAttachedToArray identify the articulated part to which this articulation parameter is attached. The value is specified by a 16-bit unsigned integer, and is set to zero if the articulated part is attached directly to the entity.
exposedField MFInt32 articulationParameterTypeArray # [appinfo] range [0,255]. The Parameter Type entries in the articulationParameterTypeArray are specified by 32-bit enumeration values.
exposedField MFFloat articulationParameterArray # [appinfo] The Parameter Value entries in the articulationParameterArray are specified by a 64-bit field. The definition of the 64 bits is determined based on the type of parameter indicated above.
eventIn SFFloat set_articulationParameterValue0
eventIn SFFloat set_articulationParameterValue1
eventIn SFFloat set_articulationParameterValue2
eventIn SFFloat set_articulationParameterValue3
eventIn SFFloat set_articulationParameterValue4
eventIn SFFloat set_articulationParameterValue5
eventIn SFFloat set_articulationParameterValue6
eventIn SFFloat set_articulationParameterValue7
eventOut SFFloat articulationParameterValue0_changed
eventOut SFFloat articulationParameterValue1_changed
eventOut SFFloat articulationParameterValue2_changed
eventOut SFFloat articulationParameterValue3_changed
eventOut SFFloat articulationParameterValue4_changed
eventOut SFFloat articulationParameterValue5_changed
eventOut SFFloat articulationParameterValue6_changed
eventOut SFFloat articulationParameterValue7_changed
][
# "EspduTransformPrototypes.wrl#EspduTransform"
"https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/EspduTransformPrototypes.wrl#EspduTransform"
# "EspduTransformPrototypes.x3d#EspduTransform"
"https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/EspduTransformPrototypes.x3d#EspduTransform"
]
EXTERNPROTO TransmitterPdu [
# set whichGeometry to -1 for no geometry, 0 for text trace, 1 for default geometry
exposedField SFInt32 whichGeometry
field SFVec3f bboxCenter # [appinfo] Bounding box center: position offset from origin of local coordinate system.
field SFVec3f bboxSize # [appinfo] Bounding box size: automatically calculated, can be specified as an optimization or constraint.
# Initialization fields
exposedField SFString networkMode # [appinfo] networkMode:
standAlone (ignore network but still respond to local events)
networkReader (listen to network as ghost entity)
networkWriter (output to network as master entity at writeInterval)
eventOut SFBool isStandAlone # [appinfo] Whether networkMode standAlone (ignore network but still respond to local events) is true/false
eventOut SFBool isMaster # [appinfo] Whether networkMode 'networkWriter' (output to network as master entity at writeInterval) is true/false
eventOut SFBool isRemote # [appinfo] Whether networkMode 'networkReader' (listen to network as ghost entity) is true/false
field SFTime readInterval
field SFTime writeInterval
field SFInt32 siteID
field SFInt32 applicationID
field SFInt32 entityID
field SFString address
field SFInt32 port
field SFString multicastRelayHost
field SFInt32 multicastRelayPort
field SFBool rtpHeaderExpected # [appinfo] whether RTP header is expected to be prepended to DIS packet
eventOut SFBool isRtpHeaderHeard # [appinfo] whether RTP header was found prepended to DIS packet
field SFBool trace
# Generic events
eventOut SFBool active
eventOut SFTime timestamp
# RadioCommunicationsFamily events
eventOut SFInt32 radioID
# TransmitterPdu fields
eventOut SFVec3f antennaLocation
eventOut SFInt32 antennaPatternLength
eventOut SFInt32 antennaPatternType
eventOut SFInt32 cryptoKeyID
eventOut SFInt32 cryptoSytem
eventOut SFInt32 frequency
eventOut SFInt32 inputSource
eventOut SFInt32 lengthOfModulationParameters
eventOut SFInt32 modulationTypeDetail
eventOut SFInt32 modulationTypeMajor
eventOut SFInt32 modulationTypeSpreadSpectrum
eventOut SFInt32 modulationTypeSystem
eventOut SFInt32 power
eventOut SFInt32 radioEntityTypeCategory
eventOut SFInt32 radioEntityTypeCountry
eventOut SFInt32 radioEntityTypeDomain
eventOut SFInt32 radioEntityTypeKind
eventOut SFInt32 radioEntityTypeNomenclature
eventOut SFInt32 radioEntityTypeNomenclatureVersion
eventOut SFVec3f relativeAntennaLocation
eventOut SFInt32 transmitFrequencyBandwidth
eventOut SFInt32 transmitState
][
# "RadioCommunicationsPrototypes.wrl#TransmitterPdu"
"https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/RadioCommunicationsPrototypes.wrl#TransmitterPdu"
# "RadioCommunicationsPrototypes.x3d#TransmitterPdu"
"https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/RadioCommunicationsPrototypes.x3d#TransmitterPdu"
]
# [Scene] ========== ========== ==========
NavigationInfo { type [ "EXAMINE" "ANY" ] } ### Default X3D NavigationInfo
# ============================================================
WorldInfo {
title "DISEntityPrototypes.x3d"
}
PROTO DISEntityManager [
# [appinfo] A DISEntityManager node notifies content when new entities arrive or current entities leave.
# documentation: http://www.xj3d.org/extensions/DIS.html#DISEntityManager
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
exposedField SFInt32 siteID 0 # [appinfo] [065535]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
exposedField SFInt32 applicationID 1 # [appinfo] [065535]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
exposedField SFInt32 entityID 0 # [appinfo] [065535] field under consideration
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
exposedField SFString address "localhost"
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
exposedField SFInt32 port 0 # [appinfo] [065535]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
exposedField MFNode mapping [ ] # [appinfo] [DISEntityTypeMapping]
# default NULL
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
eventOut MFNode addedEntities # [appinfo] [EspduTransform]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
eventOut MFNode removedEntities # [appinfo] [EspduTransform]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
exposedField SFNode metadata NULL # [appinfo] [X3DMetadataObject]
# default NULL
] {
Group {
}
}
# ============================================================
PROTO DISEntityTypeMapping [
# [appinfo] A DISEntityTypeMapping node provides a mapping from DIS Entity type information to an X3D model. This model is model provides a visual and behavioral representation of the entity for usage in X3D simulations. The mappings are done by selecting the most specific record which fits the entity. A value of 0 is considered a wildcard. All fields after the first zero must be zero as well.
# documentation: http://www.xj3d.org/extensions/DIS.html#DISEntityTypeMapping
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
field SFInt32 kind 0 # [appinfo] [0255]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
field SFInt32 domain 0 # [appinfo] [0255]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
field SFInt32 country 0 # [appinfo] [0255]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
field SFInt32 category 0 # [appinfo] [0255]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
field SFInt32 subcategory 0 # [appinfo] [0255]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
field SFInt32 specific 0 # [appinfo] [0255]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
field SFInt32 extra 0 # [appinfo] [0255]
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
field SFString identifier ""
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
exposedField SFNode metadata NULL # [appinfo] [X3DMetadataObject]
# default NULL
] {
MetadataSet {
name "PlaceholderNode"
}
}
# ============================================================
# Default content
Viewpoint {
description "default viewpoint"
position 0 0 110
}
EspduTransform {
}
TransmitterPdu {
relativeAntennaLocation 0 0 0
transmitFrequencyBandwidth 0.0
}
DEF EntityManager DISEntityManager {
address "224.2.181.145"
port 62040
siteID 0
applicationID 1
mapping [
# n.b. nested prototypes
DISEntityTypeMapping {
kind 1
domain 1
country 225
category 1
subcategory 1
specific 1
identifier "m1a1tank.x3dv"
}
DISEntityTypeMapping {
kind 1
domain 3
country 225
category 4
identifier "dog.x3dv"
}
DISEntityTypeMapping {
kind 1
domain 1
identifier "land.x3dv"
}
DISEntityTypeMapping {
kind 1
domain 1
country 225
identifier "USAland.x3dv"
}
DISEntityTypeMapping {
kind 1
domain 3
specific 1
identifier "surface.x3dv"
}
]
}
DEF EntityHolder Group {
}
ROUTE EntityManager.addedEntities TO EntityHolder.addChildren
ROUTE EntityManager.removedEntities TO EntityHolder.removeChildren