Giriş
Açıklaması şöyle.
1. changeAttributeTransportationType()
2. changeInteractionTransportationType ()
3. deleteObjectInstance()
4. localDeleteObjectInstance()
5. registerObjectInstance()
6. requestAttributeValueUpdate()
7. sendInteraction()
8. updateAttributeValues()
changeAttributeTransportationType metodu
Örnek ver
changeInteractionTransportationType metodu
Örnek ver
deleteObjectInstance - ObjectInstanceHandle
Belirtilen nesneyi siler. Eğer nesne HLA tarafından bilinmiyorsa
localDeleteObjectInstance - ObjectInstanceHandle
deleteObjectInstance() ile farkını bilmiyorum
registerObjectInstance metodu - ObjectClassHandle
Eğer yanlış bir ObjectClassHandle verilirse hla.rti1516e.exceptions.ObjectClassNotPublished exception fırlatılır.
Object instance silmek için deleteObjectInstance() çağrısı yapılır. Nesneye abone olan karşı federedeki FederateAmbassador sınıfının discoverObjectInstance() metodu tetiklenir.
requestAttributeValueUpdate metodu - ObjectInstanceHandle + AttributeHandleSet
AttributeHandleValueMap yerine AttributeHandleSet kullanılıyor.
sendInteraction metodu - InteractionClassHandle
Interaction gönderir
Örnek
Hiç parametresi olmayan interaction göndermek için şöyle yaparız.
Önce bir InteractionClassHandle yaratırız.
updateAttributeValues metodu - ObjectInstanceHandle + AttributeHandleValueMap + byte [] + LogicalTime
Belirtilen nesenin alanlarını günceller. Nesneye abone olan karşı federedeki FederateAmbassador sınıfının reflectAttributeValues() metodu tetiklenir.
HLA thread'i içinde çalılır. Bu metod içinde genellikle bir başka thread'e Command gönderilir. Yani Command Örüntüsü kullanılır.
Bazı projelerde güncellenen alan hemen işleme koyuluyor. Bazı projelerde ise güncelleme işlemi bir sonraki frame'de uygulanmak üzere saklanıyor. Bu önemli bir karar.
1. Hemen İşleme Yöntemi
- Elimizde hareket eden bir araba olsun. Hesaplama yapan katılımcı arabayı hareket ettirir.
- Haritayı gösteren katılımcı hemen bu değişikliği gösterir.
2. Bir Sonraki Frame Yöntemi
- Elimizde hareket eden bir araba olsun. Hesaplama yapan katılımcı arabayı hareket ettirir.
Açıklaması şöyle.
Registering and discovering object instances, updating and reflecting attributes, sending and receiving interactionsBu alan ile ilgili metodlar şöyle
1. changeAttributeTransportationType()
2. changeInteractionTransportationType ()
3. deleteObjectInstance()
4. localDeleteObjectInstance()
5. registerObjectInstance()
6. requestAttributeValueUpdate()
7. sendInteraction()
8. updateAttributeValues()
changeAttributeTransportationType metodu
Örnek ver
changeInteractionTransportationType metodu
Örnek ver
deleteObjectInstance - ObjectInstanceHandle
Belirtilen nesneyi siler. Eğer nesne HLA tarafından bilinmiyorsa
RTIException("Unknown object id ...")
şeklinde bir exception fırlatılır. Sanırım sadece kendi yarattığımız nesneleri silebiliyoruz.localDeleteObjectInstance - ObjectInstanceHandle
deleteObjectInstance() ile farkını bilmiyorum
registerObjectInstance metodu - ObjectClassHandle
Eğer yanlış bir ObjectClassHandle verilirse hla.rti1516e.exceptions.ObjectClassNotPublished exception fırlatılır.
Object instance silmek için deleteObjectInstance() çağrısı yapılır. Nesneye abone olan karşı federedeki FederateAmbassador sınıfının discoverObjectInstance() metodu tetiklenir.
requestAttributeValueUpdate metodu - ObjectInstanceHandle + AttributeHandleSet
AttributeHandleValueMap yerine AttributeHandleSet kullanılıyor.
sendInteraction metodu - InteractionClassHandle
Interaction gönderir
Örnek
Hiç parametresi olmayan interaction göndermek için şöyle yaparız.
Önce bir InteractionClassHandle yaratırız.
InteractionClassHandle icHandle = rti.getInteractionClassHandle ("HLAinteractionRoot.HLAmanager.SimulationStarts");Daha sonra parametreler için bir ParameterHandleValueMapFactory yaratırız.
ParameterHandleValueMapFactory pf = rti.getParameterHandleValueMapFactory();Daha sonra şöyle yaparız.
ParameterHandleValuemap map = pf.create (0);
rti.sendInteraction(icHandle,map,null);
updateAttributeValues metodu - ObjectInstanceHandle + AttributeHandleValueMap + byte [] + LogicalTime
Belirtilen nesenin alanlarını günceller. Nesneye abone olan karşı federedeki FederateAmbassador sınıfının reflectAttributeValues() metodu tetiklenir.
Bazı projelerde güncellenen alan hemen işleme koyuluyor. Bazı projelerde ise güncelleme işlemi bir sonraki frame'de uygulanmak üzere saklanıyor. Bu önemli bir karar.
1. Hemen İşleme Yöntemi
- Elimizde hareket eden bir araba olsun. Hesaplama yapan katılımcı arabayı hareket ettirir.
- Haritayı gösteren katılımcı hemen bu değişikliği gösterir.
2. Bir Sonraki Frame Yöntemi
- Elimizde hareket eden bir araba olsun. Hesaplama yapan katılımcı arabayı hareket ettirir.
x - x + 10- Haritayı gösteren katılımcı bir sonraki frame'de bu değişikliği gösterir.
Hiç yorum yok:
Yorum Gönder