VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
3.7 - Control Objects

Table of Contents

All control objects (also called tactical graphics in the VR-Forces front-end) are DtVrfObjects.

Control objects allow you to identify locations on the terrain map that simulation objects need to interact with in some way. You might want to create control objects to represent things such as minefields, tank ditches, buildings, bridges, and so on. VR-Forces provides the following types of control objects:

Control objects and their uses are described fully in VR-Forces Users Guide.

3.7.1 Creating Control Objects

Control objects are created using the standard factory system, so you can add your own types. Like simulation objects, they can have parameters, and have entries in the object parameter database. Control objects are readable and writable, and are saved to the order of battle file and object map file when you save a scenario.

All control objects have a:

3.7.2 Control Object Geometry

A control object’s geometry is maintained in its state repository’s object geometry member, DtVrfObjectGeometry. The object geometry maintains the control object’s list of vertices and a rectangular bounding volume. For control objects such as a waypoint, this may be a single vertex, while a route or area may contain many vertices.

3.7.3 Control Object Parameters

Each type of DtVrfObject has an entry in the object parameter database. Like all other objects, a control object has an object type. Since a control object must be represented in the back-end that is simulating it and communicated to remote VR-Forces applications, each control object has a local and remote state repository, and a local and remote network interface.

A typical entry is as follows:

(phase-line-parameters
(parameter-type "vrf-object-param")
(object-type 1 (17 -1 -1 1 -1 -1 -1))
(bounding-volume
(local-bvol 0.000000 0.000000 0.000000)
(offset 0.000000 0.000000 0.00000)
)
(local-objects
(state-repository "vrf-overlay-object-state-repository")
(net-interface "local-environmental-net-interface")
)
(remote-objects
(state-repository "vrf-overlay-object-state-repository")
(net-interface "vrf-remote-environmental-net-interface")
)
)

A control object has the object super-type 1, which means it is an individual object. The kind value is one of the following:

Kind Values for Control Objects
Object type Class Kind
Point DtPointObjectKind 16
Line DtLinearObjectKind 17
Area DtArealObjectKind 18
Circle DtCircleObjectKind 19
Text DtTextObjectKind 20

Enumerations for object type fields are defined in objTypeEnums.h.

3.7.4 Identifying Control Objects

Control objects have an object name, a string that uniquely identifies the object. The choice of name is arbitrary, but it must be unique within the simulation exercise. The object name is the identifier saved with the object in the order of battle and object map files, and is the means by which control objects are identified in plans.

Control objects are expressed on the network as environmental process PDUs (the term PDU is used loosely to represent DIS PDUs or HLA messages.) At the VR-Forces level, control objects are configured to instantiate network interfaces that implement the sending and receiving of environment process PDUs over the network.

Control objects also have a force type, stored in its state-repository (DtVrfObjectStateRepository). By default, the force type is DtForceTypeOther.

[<< Object Operations and Blocking Terrain Calls] [Home] [Top of Page] [The Object Parameter Database API >>]


Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)