8fc265c399
- aggiornamento prototipi - aggiunta costante generale PREC_SCALE_COEFF.
66 lines
2.4 KiB
C
66 lines
2.4 KiB
C
//----------------------------------------------------------------------------
|
|
// EgalTech 2013-2025
|
|
//----------------------------------------------------------------------------
|
|
// File : EGkGeoConst.h Data : 22.11.25 Versione : 2.7k4
|
|
// Contenuto : Costanti generali per calcoli geometrici.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 04.01.12 DS Creazione modulo.
|
|
// 23.11.19 DS Aggiunta costante EPS_TRIA_H.
|
|
// 22.11.25 DS Aggiunta costante PREC_SCALE_COEFF.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
|
|
//----------------- Costanti generali ----------------------------------------
|
|
// unità di lunghezza di riferimento : millimetro
|
|
const double ONEMM = 1.0 ;
|
|
const double ONEINCH = 25.4 ;
|
|
|
|
// epsilon per lunghezze, versori e parametri
|
|
const double EPS_SMALL = 1e-3 ;
|
|
const double EPS_TRIA_H = 1e-6 ;
|
|
const double EPS_ZERO = 1e-8 ;
|
|
const double EPS_PARAM = 1e-8 ;
|
|
const double SPAN_PARAM = 1.0 ; // intervallo di curva o superficie semplici
|
|
const double SQ_EPS_SMALL = EPS_SMALL * EPS_SMALL ;
|
|
const double SQ_EPS_TRIA_H = EPS_TRIA_H * EPS_TRIA_H ;
|
|
const double SQ_EPS_ZERO = EPS_ZERO * EPS_ZERO ;
|
|
|
|
// infinito per lunghezze
|
|
const double INFINITO = 1e10 ;
|
|
const double SQ_INFINITO = INFINITO * INFINITO ;
|
|
|
|
// coefficiente componente di vettore largamente predominante
|
|
const double KV_BIG = 1e5 ;
|
|
|
|
// conversione da gradi a radianti e viceversa
|
|
const double PIGRECO = 3.14159265358979323846 ;
|
|
const double DEGTORAD = PIGRECO / 180. ;
|
|
const double RADTODEG = 180. / PIGRECO ;
|
|
|
|
// epsilon per gli angoli (in gradi)
|
|
const double EPS_ANG_SMALL = 1e-3 ;
|
|
const double EPS_ANG_ZERO = 1e-7 ;
|
|
const double SIN_EPS_ANG_SMALL = EPS_ANG_SMALL * DEGTORAD ;
|
|
const double SIN_EPS_ANG_ZERO = EPS_ANG_ZERO * DEGTORAD ;
|
|
const double COS_ORTO_ANG_SMALL = SIN_EPS_ANG_SMALL ;
|
|
const double COS_ORTO_ANG_ZERO = SIN_EPS_ANG_ZERO ;
|
|
|
|
// angoli notevoli (in gradi)
|
|
const double ANG_RIGHT = 90 ;
|
|
const double ANG_STRAIGHT = 180 ;
|
|
const double ANG_FULL = 360 ;
|
|
|
|
// altre costanti
|
|
const double SQRT2 = 1.41421356237309504880 ;
|
|
const double SQRT1_2 = 1 / SQRT2 ;
|
|
const double SQRT3 = 1.73205080756887729353 ;
|
|
const double SQRT1_3 = 1 / SQRT3 ;
|
|
|
|
// coefficiente di scalatura per aumentare precisione dei calcoli
|
|
const double PREC_SCALE_COEFF = 1024 ;
|