10 Eylül 2018 Pazartesi

HLA RTIambassador Arayüzü

Giriş
Şu satırı dahil ederiz.
import hla.rti1516.RTIambassador;
Bu arayüz RtiFactoryFactory tarafıdan yaratılır.

createFederationExecution metodu - String + URL
Çağrı sırası şöyle. İlk parametre federasyon ismi, ikinci parametre FOM dosyasıdır. Eğer federasyon mevcutsa hla.rti1561e.exceptions.FederationExecutionAlreadyExists fırlatılır.
createFederationExecution() -> joinFederationExecution()
Örnek
Şöyle yaparız.
String federationName = "...";
URL fomURL = "...";
try {
  rtiAmb.createFederationExecution (federationName, fomURL);
}
catch (FederationExecutionAlreadyExists e) {
 ...
}
destroyFederationExecution metodu
Parametre olarak federasyon ismini alır

disableTimeConstrained metodu
RTIambassador Arayüzü - Time Management yazısına taşıdım.

disableTimeRegulation metodu
RTIambassador Arayüzü - Time Management yazısına taşıdım.

enableTimeConstrained metodu
RTIambassador Arayüzü - Time Management yazısına taşıdım.

enableTimeRegulation metodu
RTIambassador Arayüzü - Time Management yazısına taşıdım.

getAttributeHandle metodu - hla.rti1516.ObjectClassHandle + string
RTIambassador Arayüzü - Declaration Management yazısına taşıdım.

getAttributeHandleSetMapFactory metodu
rtiAmb.publishObjectClassAttributes() veya
rtiAmb.subscribeObjectClassAttributes()

metodları ile sınıfın hangi alanlarını yayınlayacağımızı veya okuyacağımızı belirtirken bu factory trafından üretilen handle nesnelerini kullanarak doldurururz.

Örnek
Şöyle yaparız.
AttributeHandleSetFactory factory=  rtiAmb.getAttributeHandleSetFactory ();
Daha sonra şöyle yaparız.
AttributeHandleSet set=  factory.create ();
Elimizde bir attribute olsun.
AttributeHandle positionAttribute  rtiAmb.getAttributeHandle (...);
Bu attribute nesnesini set'e ekleriz.
set.add (positionAttribute);
Bu nesnenin alanlarını bildirmek için şöyle yaparız.
rtiAmb.publishObjectClassAttributes (set);
getAttributeHandleValueMapFactory metodu
rtiAmb.updateAttributeValues() metodu ile Object gönderirken parametreleri bu factory trafından üretilen handle nesnelerini kullanarak doldurururz.
Örnek
Şöyle yaparız.
AttributeHandleValueMapFactory factory=  rtiAmb.getAttributeHandleValueMapFactory ();
getParameterHandleValueMapFactory metodu
Interaction gönderirken parametreleri bu factory trafından üretilen handle nesnelerini kullanarak doldurururz.
Örnek
Şöyle yaparız.
ParameterHandleValueMapFactory factory=  rtiAmb.getParameterHandleValueMapFactory ();
getObjectClassHandle metodu - string
RTIambassador Arayüzü - Declaration Management yazısına taşıdım.

getTimeFactory metodu
Şöyle yaparız.
LogicalTime time =  rtiAmb.getTimeFactory().makeFinal();
joinFederationExecution metodu
İlk parametre federate ismi, ikinci parametre federation ismi, üçüncü parametre FederateAmbassador arayüzü. Bu arayüz RTI'dan callback almak içindir. Dördüncü parametreyi bilmiyorum ama sanırım  hep null.

publishInteractionClass metodu
RTIambassador Arayüzü - Declaration Management yazısına taşıdım.

publishObjectClassAttributes metodu
RTIambassador Arayüzü - Declaration Management yazısına taşıdım.

registerFederationSynchronizationPoint metodu
RTIambassador Arayüzü - Federation Synchronization yazısına taşıdım.

registerObjectInstance metodu
RTIambassador Arayüzü - Declaration Management yazısına taşıdım.

resignFederationExecution  metodu
RTIambassador Arayüzü - Federation Management yazısına taşıdım.

subscribeInteractionClass metodu
RTIambassador Arayüzü - Declaration Management yazısına taşıdım.

subscribeObjectClassAttributes metodu
RTIambassador Arayüzü - Declaration Management yazısına taşıdım.

synchronizationPointAchieved metodu - string
registerFederationSynchronizationPoint() çağrısı ile ismi belirtilen nokta yaratılır. Diğer federelere ismi belirtilen noktaya erişildiği bildirilir. Tüm federeler bu noktaya varınca FederateAmbassador.federationSynchronized() tetiklenir.
Örnek ver

tick metodu
Örnek ver

timeAdvanceRequest metodu
RTIambassador Arayüzü - Time Management yazısına taşıdım.

updateAttributeValues metodu

Hiç yorum yok:

Yorum Gönder