Extensible 3D (X3D)
Part 1: Architecture and base components
DIS Component Extension (Custom)
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
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.
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.
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.
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 |
|
[
Xj3D Homepage |
Xj3D @ Web3d |
Screenshots |
Dev docs |
Dev Releases |
Contributors |
Getting Started
]
Last updated: $Date: 2005/05/25 21:58:08 $ |