A glimpse of city

generalUtils.js

Panoramica

Questo script JavaScript rappresenta una raccolta di funzioni e gestori di eventi progettati per migliorare l'interattività e la funzionalità dell'interfaccia grafica. Come anticipa il titolo, questo file contiene funzioni ad uso generico (come gestione di eventi generati dai bottoni oppure funzioni per la visualizzazione di modali di caricamento) e di funzioni che vengono utilizzate in molteplici file (e.g. degToRad)

Funzioni

degToRad(deg)

Descrizione: Questa funzione converte un angolo espresso in gradi in un angolo equivalente espresso in radianti.

Funzionamento: La funzione riceve un valore angolare in gradi e lo converte in radianti moltiplicandolo per π/180.

Parametri:

  • deg (number): L'angolo in gradi da convertire.

Ritorna:

  • number: L'angolo convertito in radianti.

radToDeg(r)

Descrizione: Questa funzione converte un angolo espresso in radianti in un angolo equivalente espresso in gradi.

Funzionamento: La funzione riceve un valore angolare in radianti e lo converte in gradi moltiplicandolo per 180/π.

Parametri:

  • r (number): L'angolo in radianti da convertire.

Ritorna:

  • number: L'angolo convertito in gradi.

getWebGLContext()

Descrizione: Questa funzione tenta di ottenere il contesto di rendering WebGL da un elemento <canvas> presente nella pagina.

Funzionamento: La funzione seleziona il primo elemento <canvas> nella pagina e tenta di ottenere il contesto di rendering WebGL tramite il metodo getContext('webgl'). Se non riesce a ottenere il contesto (ad esempio, se WebGL non è supportato dal browser), ritorna null.

Ritorna:

  • WebGLRenderingContext|null: Il contesto WebGL ottenuto o null se il contesto non può essere creato.

showLoadingModal()

Descrizione: Questa funzione mostra la modale di caricamento, rendendola visibile e semi-trasparente.

Funzionamento: La funzione seleziona l'elemento della modale tramite il suo ID (loadingModal), rimuove la classe che la rende invisibile (opacity-0) e aggiunge la classe che la rende semi-trasparente (opacity-75). Infine, imposta la visibilità della modale su visible.

hideLoadingModal()

Descrizione: Questa funzione nasconde la modale di caricamento, rendendola invisibile e completamente trasparente.

Funzionamento: La funzione seleziona l'elemento della modale tramite il suo ID (loadingModal), rimuove la classe che la rende semi-trasparente (opacity-75) e aggiunge la classe che la rende invisibile (opacity-0). Infine, imposta la visibilità della modale su hidden.

Gestione eventi

#loadingModal.addEventListener('click', hideLoadingModal)

Descrizione: Questo gestore di eventi è associato all'elemento modale di caricamento e si attiva al clic sull'elemento.

Funzionamento: Quando la modale di caricamento viene cliccata, viene invocata la funzione hideLoadingModal per nascondere la modale.

Evento: click

Associato a: loadingModal (Elemento modale di caricamento)

#openModalButton.addEventListener('click', showLoadingModal)

Descrizione: Questo gestore di eventi è associato al pulsante che apre la modale di caricamento.

Funzionamento: Quando il pulsante viene cliccato, viene invocata la funzione showLoadingModal per mostrare la modale di caricamento.

Evento: click

Associato a: openModalButton (Pulsante per aprire la modale)

Note

Questa sezione raccoglie informazioni aggiuntive e approfondimenti sullo sviluppo delle funzionalità contenute in questo file. La funzione getWebGLContext è progettata per essere flessibile e compatibile con diversi ambienti di rendering. È importante notare che il supporto per WebGL può variare tra i browser, pertanto la funzione gestisce il caso in cui WebGL non sia disponibile, restituendo null.