Extensible 3D (X3D)
Part 1: Architecture and base components

DIS Component Extension (Custom)

--- X3D separator bar ---

cube Introduction

1.1 Name

The name of this component is "xj3d_DIS". This name shall be used when referring to this component in the COMPONENT statement (see 7.2.5.4 Component statement). It is an extension to the current DIS component

1.2 Overview

This clause describes the DIS component of this part of ISO/IEC 19775. This includes how to describe additional clipping planes of for objects to provide sectioned views of the object. Table 1 provides links to the major topics in this clause.

Table 1 — Topics

cube 2 Concepts

No new concepts need to be introduced.

2.1 Overview

cube 28.3 Node reference

28.3.2 DISEntityManager

DISEntityManager : X3DChildNode {
  SFString   [in,out] address                                    "localhost"
  SFInt32    [in,out] applicationID                              1         [0,65535]
  MFNode     [in,out] mapping                                    []        [DISEntityTypeMapping]
  SFNode     [in,out] metadata                                   NULL      [X3DMetadataObject]
  SFInt32    [in,out] port                                       0         [0,65535]
  SFInt32    [in,out] siteID                                     0         [0,65535]
  MFNode     [out]    addedEntities
  MFNode     [out]    removedEntities
}

A DISEntityManager node notifies content when new entities arrive or current entities leave.

The mapping field provides a mechanism for automatically creating an X3D model for a new entity arriving. If a new entity matches one of the nodes then an instance of the provide URL will be created and added as a child to the EspduTransform specified in the addedEntities. See the DISEntityMapping node for details on matching DIS parameters to URLS.

The addedEntities field contains any new entities added last frame. These will be EspduTransform nodes.

The removedEntities field contains any entities removed last frame, either from a timeout or from an explicit removeEntityPdu. This will contain a reference to the EspduTransform node.

28.3.3 DISEntityTypeMapping

DISEntityTypeMapping : X3DInfoNode {
  SFInt32    []       kind                            0         [0,255]
  SFInt32    []       domain                          0         [0,255]
  SFInt32    []       country                         0         [0,65535]
  SFInt32    []       category                        0         [0,255]
  SFInt32    []       subcategory                     0         [0,255]
  SFInt32    []       specific                        0         [0,255]
  SFInt32    []       extra                           0         [0,255]
  MFString   [in,out] url                             []
}

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.

The fields are checked in the following order: kind, domain, country, category, subcategory, specific, extra.

Given an entity whose entity type record was: kind=1, domain=2, country=3, category=4, subcategory=5, specifc=6,extra=7. If the mapping field of the DISEntityManager contained these nodes:

   DISEntityMapping {
      domain 1
      kind 2
      country 3
      url ["model-a.x3d"]
   }
   DISEntityMapping {
      domain 1
      kind 2
      country 3
      category 4
      url ["model-b.x3d"]
   }
An entity using the second node with a url of "model-b.x3d" would be used as its the most specific mapping.

cube 28.4 Support levels

The DIS component provides one level of support as specified in Table 28.2.

Table 28.2 — DIS component support levels

Level Prerequisites Nodes/Features Support

1

Core 1
Time 1
Grouping 3
Networking 3
Rendering 1
Shape 1
Geometry3D 1
Interpolator 1
Point device sensor 1
Navigation 1
   
    EspduTransform All fields fully supported
    ReceiverPDU All fields fully supported
    SignalPDU All fields fully supported
    TransmitterPDU All fields fully supported

2

Core 1
Time 1
Grouping 3
Networking 3
Rendering 1
Shape 1
Geometry3D 1
Interpolator 1
Point device sensor 1
Navigation 1
   
    DISEntityManager All fields fully supported
    DISEntityTypeMapping All fields fully supported
--- X3D separator bar ---
[ Xj3D Homepage | Xj3D @ Web3d | Screenshots | Dev docs | Dev Releases | Contributors | Getting Started ]
Last updated: $Date: 2005-05-25 21:58:08 $