Aracılığıyla paylaş


Nesne sınırları

Nesne sınırları, bir varlığın ve alt öğelerinin kapsadığını birimi temsil eder. Azure Uzaktan İşleme'de nesne sınırları her zaman eksenle hizalanmış sınırlayıcı kutular (AABB) olarak verilir. Nesne sınırları yerel alanda veya dünya uzayındaolabilir. Her iki durumda da, bunlar her zaman eksene hizalanır, yani kapsamlar ve hacim yerel ve dünya uzay gösterimi arasında farklılık gösterebilir.

Nesne sınırlarını sorgulama

Bir ağın yerel eksene hizalanmış sınırlayıcı kutusu doğrudan mesh kaynağından sorgulanabilir. Bu sınırlar, varlığın dönüşümü kullanılarak varlığın yerel alanına veya dünya alanına dönüştürülebilir. Daha fazla bilgi için bkz . Tireler.

Nesne hiyerarşisinin tamamının sınırlarını bu şekilde hesaplamak mümkündür. Bu yaklaşım hiyerarşide dolaşmayı, her ağ için sınırları sorgulamayı ve bunları el ile birleştirmeyi gerektirir. Bu işlem hem yorucu hem de verimsizdir.

Bir varlığı çağırmak veya QueryWorldBoundsAsync varlık üzerinde çağırmak QueryLocalBoundsAsync daha iyi bir yoldur. Bu yaklaşım, hesaplamayı sunucuya yükler ve en az gecikmeyle döndürür.

public async void GetBounds(Entity entity)
{
    try
    {
        Task<Bounds> boundsQuery = entity.QueryWorldBoundsAsync();
        Bounds result = await boundsQuery;
    
        Double3 aabbMin = result.Min;
        Double3 aabbMax = result.Max;
        // ...
    }
    catch (RRException ex)
    {
    }
}
void GetBounds(ApiHandle<Entity> entity)
{
    entity->QueryWorldBoundsAsync(
        // completion callback:
        [](Status status, Bounds bounds)
        {
           if (status == Status::OK)
            {
                Double3 aabbMin = bounds.Min;
                Double3 aabbMax = bounds.Max;
                // ...
            }
        }
    );
}

API belgeleri

Sonraki adımlar