mesa-react / backend /app /core /map_sizing.py
Guilherme Silberfarb Costa
alteracoes nos mapas
440f380
Raw
History Blame Contribute Delete
975 Bytes
from __future__ import annotations
import math
from typing import Any
PONTO_RAIO_MIN_PADRAO = 3.0
PONTO_RAIO_MAX_PADRAO = 18.0
PONTO_RAIO_MIN_LIMITE = 1.0
PONTO_RAIO_MAX_LIMITE = 64.0
def _normalizar_numero(value: Any, fallback: float) -> float:
try:
number = float(value)
except (TypeError, ValueError):
return float(fallback)
if not math.isfinite(number):
return float(fallback)
return float(number)
def normalizar_faixa_raio_pontos(
raio_min: Any = None,
raio_max: Any = None,
) -> tuple[float, float]:
min_norm = _normalizar_numero(raio_min, PONTO_RAIO_MIN_PADRAO)
max_norm = _normalizar_numero(raio_max, PONTO_RAIO_MAX_PADRAO)
min_norm = min(max(min_norm, PONTO_RAIO_MIN_LIMITE), PONTO_RAIO_MAX_LIMITE)
max_norm = min(max(max_norm, PONTO_RAIO_MIN_LIMITE), PONTO_RAIO_MAX_LIMITE)
if min_norm > max_norm:
min_norm, max_norm = max_norm, min_norm
return float(min_norm), float(max_norm)