Thread overview
Leica Geosystems'da D kodu
Nov 10, 2022
Erdem
Nov 10, 2022
Erdem
Nov 10, 2022
Ali Çehreli
November 10, 2022

Once biraz problemden bahsedeyim ,

Bizim surface log dedigimiz bir data var asagidaki resimden belki anlasabilir.

https://i.postimg.cc/7LcbVc02/Screenshot-from-2022-11-10-14-28-49.png

Goruldugu gibi 9 tane "tile" dedigimiz buyuk kareler var. Ve her bir "tile" icinde raster dedigimiz kucuk "grid" ler.

Ben ekranda operatorun ne kadar zoom oranina gore bu kocaman 4 boyutlu datanin icinde(tileX,tileY,gridX, gridY) kucuk bir parca almaya calisicagim.

Ekran kordinatlarini kamera transformasyonlari ile dunya kordinatlarina cevirip bu data icinde kucuk bir yuzey ariyorum.

Ama bu yuzeyin bir kismi bir tile'da iken oteki kismi baska bir tile'da olabilir.

C++'da yapmaya calistim ama IQ'um yetmedi. Unit testlere ihtiyacim vardi. C++ proje yeniden baslatip QT unit testlerine kasmak istemedim. C++ kodunu D'ye cevirip D de gorevi tamamladim :).

Simdi D'yi C++ cevirmem gerekecek ama arkadaslarima hava atiyorum.

Kod surdan gozukebilir unittestler benim aciklamamdan daha iyi anlatir durumu.

Erdemdemdemdemdemdemdemdem

November 10, 2022

Kodu paylasmayi unutmusum

https://github.com/kerdemdemir/TileRasterIndexer/blob/main/app.d

November 10, 2022
On 11/10/22 05:40, Erdem wrote:

> D de gorevi tamamladim :).

En önemli kıstaslardan birisi de o olmalı: Dil mi programcı için çalışsın, programcı mı dil için çalışsın?

Bir şey söylemek gerekiyorsa diye: 'isEast' gibi 'bool' parametreler eninde sonunda kafa karıştırıyor. Burada StepEast ve StepWest diye iki işlev yazmak bile kolaylık sağlayabilir. Veya Direction diye bir enum tanımlayıp Step(direction) diye çağrılabilir.

Ama sanki onlar kullanıcı işlevleri değil zaten; kullanıcı için önemli olan Next.

Ali