orthoAPI.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. 
  2. #include "orthoAPI.h"
  3. namespace dsr {
  4. int ortho_roundToTile(int miniCoordinate) {
  5. return roundDown(miniCoordinate + (ortho_miniUnitsPerTile / 2), ortho_miniUnitsPerTile);
  6. }
  7. IVector3D ortho_roundToTile(const IVector3D& miniPosition) {
  8. return IVector3D(ortho_roundToTile(miniPosition.x), miniPosition.y, ortho_roundToTile(miniPosition.z));
  9. }
  10. float ortho_miniToFloatingTile(int miniCoordinate) {
  11. return (float)miniCoordinate * ortho_tilesPerMiniUnit;
  12. }
  13. FVector3D ortho_miniToFloatingTile(const IVector3D& miniPosition) {
  14. return FVector3D(
  15. ortho_miniToFloatingTile(miniPosition.x),
  16. ortho_miniToFloatingTile(miniPosition.y),
  17. ortho_miniToFloatingTile(miniPosition.z)
  18. );
  19. }
  20. int ortho_floatingTileToMini(float tileCoordinate) {
  21. return (int)round((double)tileCoordinate * (double)ortho_miniUnitsPerTile);
  22. }
  23. IVector3D ortho_floatingTileToMini(const FVector3D& tilePosition) {
  24. return IVector3D(
  25. ortho_floatingTileToMini(tilePosition.x),
  26. ortho_floatingTileToMini(tilePosition.y),
  27. ortho_floatingTileToMini(tilePosition.z)
  28. );
  29. }
  30. }