HLA Programming
main
main
  • Introduction
  • Connecting to an RTI
  • Federation Management
    • Create/Join/Resign/Destroy
    • Save/Restore
    • Synchronization Points
  • Declaration Management
    • Handles
    • Publish/Subscribe
  • Object Management
    • Data Encoding
    • Object Classes and Attributes
    • Interaction Classes and Parameters
  • Time Management
  • Data Distribution Management
  • Ownership Management
  • Supporting Services
  • Appendix
    • C++ Federate Overview
      • main
      • Federate
      • Federate Ambassador
    • Java Federate Overview
      • main
      • Federate
      • Federate Ambassador
Powered by GitBook
On this page
  • Pseudocode
  • C++
  • Java

Was this helpful?

Connecting to an RTI

The first task is to connect to a Runtime Infrastructure (RTI). This requires the creation of an RTI Ambassador and the actual connection.

Pseudocode

  1. Create an RTI Ambassador

  2. Create a Federate Ambassador

  3. Use the RTI Ambassador to 'connect' to the RTI

  4. Your code

  5. Use the RTI Ambassador to 'disconnect' from the RTI

C++

#include "RTI/RTI1516.h"

int main(int argc, char **argv) {
    // 1. Create an RTI Ambassador
    auto rtiAmbassadorFactory = new rti1516e::RTIambassadorFactory();
    auto rtiAmbassador = rtiAmbassdorFactory.createRTIambassador();

    // 2. Create a Federate Ambassador
    rti1516e::NullFederateAmbassador fedAmbassador;

    // 3. Connect to an RTI
    rtiAmbassador->connect(
        fedAmbassador,
        rti1516e::HLA_EVOKED
    );

    // 4. Your code

    // 5. Disconnect from the RTI
    rtiAmbassador->disconnect();

    return 0;
}

Java

import hla.rti1516e.RtiFactoryFactory;
import hla.rti1516e.RtiFactory;
import hla.rti1516e.RTIambassador;
import hla.rti1516e.FederateAmbassador;
import hla.rti1516e.NullFederateAmbassador;
import hla.rti1516e.CallbackModel;

public class SimulationApplication {
    public static void main(String[] args) {
        // 1. Create an RTI Ambassador
        RtiFactory rtiFactory = RtiFactoryFactory.getRtiFactory();
        RTIambassador rtiAmbassador = rtiFactory.getRtiAmbassador();

        // 2. Create a Federate Ambassador
        FederateAmbassador fedAmbassador =
            new NullFederateAmbassador();

        // 3. Connect to an RTI
        rtiAmbassador.connect(
            fedAmbassador,
            CallbackModel.HLA_EVOKED,
            ""
        );

        // 4. Your code

        // 5. Disconnect from the RTI
        rtiAmbassador.disconnect();
    }
}
PreviousIntroductionNextFederation Management

Last updated 2 years ago

Was this helpful?