orthoAPI.cpp 1.0 KB

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