Beispiel #1
0
        public void InitAndCreateFederation()
        {
            LogAndRtiInit();

            //Build a Uri using a file path
            FileInfo file    = new FileInfo(Sxta.Rti1516ResourcesNames.HelloWorldObjectModel);
            Uri      fileUri = new Uri("file://" + file.FullName);

            try
            {
                //Create Federation
                rtiAmbassador.CreateFederationExecution(federationName, fileUri);
            }
            catch (Exception exception)
            {
                if (log.IsErrorEnabled)
                {
                    log.Error(exception.Message);
                }
            }

            try
            {
                federateAmbassador = new TestFederate(rtiAmbassador);
                mobileServices     = new MobileFederateServices(new LongValuedLogicalTimeFactory(), new LongValuedLogicalTimeIntervalFactory());
            }
            catch (Exception exception)
            {
                if (log.IsErrorEnabled)
                {
                    log.Error(exception.Message);
                }
            }
        }
Beispiel #2
0
        private void OnJoinFederationHelloWorld(object sender, EventArgs e)
        {
            try
            {
                // Join to federation
                sampleFederateAmbassador = new XrtiFederateAmbassador(rtiAmbassador);
                mobileServices           = new MobileFederateServices(new DoubleValuedLogicalTimeFactory(), new DoubleValuedLogicalTimeIntervalFactory());
                IFederateHandle federateHandle = rtiAmbassador.JoinFederationExecution(peerName, federationName, sampleFederateAmbassador, mobileServices);

                EvokeCallbackMenuItem.Enabled         = true;
                EvokeCallbacksMenuItem.Enabled        = true;
                SetTimeConstrainedMenuItem.Enabled    = true;
                SetTimeRegulatingMenuItem.Enabled     = true;
                TimeAdvanceRequestMinMenuItem.Enabled = true;
                TimeAdvanceRequestMenuItem.Enabled    = true;
                Example1MenuItem.Enabled = true;
                Example2MenuItem.Enabled = true;
                Example3MenuItem.Enabled = true;
            }
            catch (Exception exception)
            {
                if (log.IsErrorEnabled)
                {
                    log.Error(exception.Message);
                }
                MessageBox.Show(exception.Message);
            }
        }
Beispiel #3
0
        public virtual void JoinSimulation(IRTIambassador rtiAmb, string federateType, string federation)
        {
            if (rtiAmb == null)
            {
                throw new System.ArgumentNullException("Rti ambassador could not be null");
            }

            rtiAmbassador = rtiAmb;

            InitLogSystem();

            federationName = federation;

            try
            {
                //Build a Uri using a file path
                FileInfo file    = new FileInfo(this.FomList[0].Uri);
                Uri      fileUri = new Uri("file://" + file.FullName);

                //Create Federation
                rtiAmbassador.CreateFederationExecution(federationName, fileUri);
            }
            catch (Exception exception)
            {
                if (log.IsErrorEnabled)
                {
                    log.Error(exception.Message);
                }
            }

            try
            {
                // PATCH ANGEL: Si está inicializado el federateAmbassador no se crea de nuevo
                if (federateAmbassador == null)
                {
                    federateAmbassador = new XrtiFederateAmbassador(rtiAmbassador);
                }

                if (mobileServices == null)
                {
                    mobileServices = new MobileFederateServices(new LongValuedLogicalTimeFactory(), new LongValuedLogicalTimeIntervalFactory());
                }

                // Join to federation
                IFederateHandle federateHandle = rtiAmbassador.JoinFederationExecution(federateType,
                                                                                       federationName,
                                                                                       federateAmbassador,
                                                                                       mobileServices);
            }
            catch (Exception e)
            {
                if (log.IsErrorEnabled)
                {
                    log.Error("Failed while joining to :" + federateAmbassador + ". Exception :" + e.Message);
                }
            }
        }
Beispiel #4
0
 public BoidsManager(XrtiFederateAmbassador fed)
 {
     federateAmbassador              = fed;
     federateAmbassador.OnNewObject += new FederateAmbassador.NewObjectDiscovered(OnDiscoverNewBoid);
 }