![]() |
WebLVC 1.7d API Documentation
|
WebLVC includes solution and project files in the example directories of the Windows version and makefiles in the example directories for the Linux version.
Please examine these files for a full picture of the build process.
WebLVC has the following libraries:
WebLVC brokers require third party libraries.
VR-Link - The non-HLA components use vl, vlutil, xml, and matrix. The libHlaBroker library uses vlHLA13 or vlHLA1516. The libDisBroker library uses vlDIS.
Boost. Boost header files are included with WebLVC. They are in include/boost.
If you want to rebuild GUI components of the Portal or the brokers supplied with WebLVC, you need Qt. Qt is available as a free download under the LGPL version 2.1 license at www.qtsoftware.com. This version should be satisfactory for most WebLVC customers. If you need a Qt commercial license, you must purchase the license from Qt Software.
You do not need Qt to build new brokers or build the Portal without its GUI. You can purchase a Qt license from Trolltech: www.qtsoftware.com. Please see WebLVC Release Notes for the required version of Qt.
TENA users must install TENA middleware and any libraries required by their LROM. HLA users must install an RTI. DDS users must install OpenSplice.
There are no special pre-processor flags required to build a broker. WebLVC includes release and debug versions of Windows libraries. Debug versions use the naming convention library_named.lib. The table lists the libraries required to build brokers for Windows and Linux.
| Libraries Required to Build Brokers | |
|---|---|
| Windows Libraries | Linux Libraries |
| vl{protocol}.lib | libvl{protocol} |
| vl.lib | libvl |
| vlutil.lib | libvlutil |
| matrix.lib | libmatrix |
| mtl.lib | libmtl |
| lib{protocol}Broker.lib | lib{protocol}Broker |
| libBroker.lib | libBroker |
| libPortal.lib | libPortal |
| libwidgets.lib | libwidgets |
| QtCore4.lib | libQtCore |
| QtGui4.lib | libQtGui |
| libxml2.lib | libxml2 |
| libboost_date_time_{compiler}.lib | libboost_date_time_{compiler} |
On Windows, the simpleBroker example requires the library vl5.
To build a broker on Linux, be sure that your WebLVC installation path does not contain spaces.
The table lists the libraries you need to rebuild the HLA broker.
| Libraries Required to Build the HLA Broker | |
|---|---|
| Windows Libraries | Linux Libraries |
| vlHLA13.lib, vlHLA1516.lib, or vlHLA1516e.lib | libvlHLA13, libvlHLA1516, or libvlHLA1516e |
| vl.lib | libvl |
| vlutil.lib | libvlutil |
| matrix.lib | libmatrix |
| mtl.lib | libmtl |
| libRprHla13Broker.lib, libRprHla1516Broker.lib, or libRprHla1516eBroker.lib | libRprHla13Broker, libRprHla1516Broker, or libRprHla1516eBroker |
| libBroker.lib | libBroker |
| libPortal.lib | libPortal |
| libwidgets.lib | libwidgets |
| QtCore4.lib | libQtCore |
| QtGui4.lib | libQtGui |
| libxml2.lib | libxml2 |
| libboost_date_time_{compiler}.lib | libboost_date_time_{compiler} |
To rebuild the HLA broker on Windows, you must have the following RTI libraries (included with your RTI):
For the HLA broker several VR-Link compiler flags are required. Please consult the VR-Link documentation for instructions about how to build a VR-Link HLA federate.
To build the DIS broker, you must specify several VR-Link compiler flags. Please consult the VR-Link documentation for instructions about how to build a VR-Link application for DIS.
| Libraries Required to Build the DIS Broker | |
|---|---|
| Windows Libraries | Linux Libraries |
| vlDIS.lib | libvlDIS |
| vl.lib | libvl |
| vlutil.lib | libvlutil |
| matrix.lib | libmatrix |
| mtl.lib | libmtl |
| libDisBroker.lib | libDisBroker |
| libBroker.lib | libBroker |
| libPortal.lib | libPortal |
| libwidgets.lib | libwidgets |
| QtCore4.lib | libQtCore |
| QtGui4.lib | libQtGui |
| libxml2.lib | libxml2 |
| libboost_date_time_{compiler}.lib | libboost_date_time_{compiler} |
The DDS broker needs to link against the VR-Link vlDIS library in order to use the DIS state repository to store entity and interaction attributes. No additional compiler flags are necessary for this, as the source automatically defines the necessary flags.
Comment out the following lines:
The commented lines should look like this:
| Libraries Required to Build the DDS Broker | |
|---|---|
| Windows Libraries | Linux Libraries |
| libvlOpenSplice.lib | libvlOpenSplice |
| vlDIS.lib | libvlDIS |
| vl.lib | libvl |
| vlutil.lib | libvlutil |
| matrix.lib | libmatrix |
| mtl.lib | libmtl |
| libDdsBroker.lib | libDdsBroker |
| libBroker.lib | libBroker |
| libPortal.lib | libPortal |
| libwidgets.lib | libwidgets |
| QtCore4.lib | libQtCore |
| QtGui4.lib | libQtGui |
| libxml2.lib | libxml2 |
| libboost_date_time_{compiler}.lib | libboost_date_time_{compiler} |
WebLVC includes release and debug versions of the following LROM Mappers: coLromMapper and makLromMapper. You can use VR-Link to build custom LROM Mappers.
The LROM mapper files have several dynamic library dependencies that are not supplied with either VR-Link or WebLVC. You can get these libraries the following ways from the TENA SDA web site:
If you build a TENA broker, you must set the VR-Link compiler flag DtTENA. This library has the dynamic library dependencies listed in this section. The libraries are available from the indicated sources.
The TENA broker also needs to link against the VR-Link vlDIS library in order to use the DIS state repository to store entity and interaction attributes. Please consult the VR-Link documentation for instructions about how to build a VR-Link application for DIS for these flags.
Libraries required for each platform are essentially the same. The libraries supplied with TENA Middleware and the MAK Object Model use the following naming convention:
Library_name-os-[d-]version.extension
where:
The following libraries are supplied with the TENA Middleware:
The following libraries are supplied with the MAK Object Model:
The following MAK libraries are provided with WebLVC. On Windows, debug libraries have a "d" before the extension, for example, vlTenad.lib.
| Libraries Required to Build the TENA Broker | |
|---|---|
| Windows Libraries | Linux Libraries |
| libvlTena.lib | libvlTena |
| vlDIS.lib | libvlDIS |
| vl.lib | libvl |
| vlutil.lib | libvlutil |
| matrix.lib | libmatrix |
| mtl.lib | libmtl |
| libTenaBroker.lib | libTenaBroker |
| libBroker.lib | libBroker |
| libPortal.lib | libPortal |
| libwidgets.lib | libwidgets |
| QtCore4.lib | libQtCore |
| QtGui4.lib | libQtGui |
| libxml2.lib | libxml2 |
| libboost_date_time_{compiler}.lib | libboost_date_time_{compiler} |