Perspective3D_api
Documentation Perspective3D
Classes | Espaces de nommage | Macros | Définitions de type | Fonctions | Variables
Référence du fichier perspective_def.h

Macros préprocesseur de l'API. Plus de détails...

#include <string>
#include <new>
#include <cfloat>
#include <cmath>
#include <type_traits>
#include "perspective_sys.h"
Graphe des dépendances par inclusion de perspective_def.h:
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

Classes

class  Perspective3D::PBase
 

Espaces de nommage

 Perspective3D
 Espace de nom de l'API 3D.
 
 Perspective3D::TolerancesP3D
 

Macros

#define PI   3.141592653589793238462643
 
#define PIi   0.3183098861837907
 
#define RAD   57.29577951308232
 
#define DTOR   0.017453292519943295
 
#define DEG_RAD(x)   (x*DTOR)
 
#define RAD_DEG(x)   (x*RAD)
 
#define TYPE_PFLOAT_DOUBLE
 
#define EPSILON_FIXE   0.0001
 
#define EPSILON_FIXE_LARGE   0.001
 
#define MODULOF   fmod
 
#define RCARREF   sqrt
 
#define RCUBIQUE(X)   (pow(X, 1.0/3.0))
 
#define HYPOTF   hypot
 
#define POSITIFD   fabs
 
#define SINF   sin
 
#define ASINF   sinf
 
#define COSF   cos
 
#define ACOSF   acos
 
#define POWF   pow
 
#define TANF   tan
 
#define ATANF   atan
 
#define ATAN2F   atan2
 
#define FLOORF   floor
 
#define CEILF   ceil
 
#define PFLOAT_MAX   DBL_MAX
 
#define PFLOAT_MIN   -DBL_MAX
 
#define pfloatc   const pfloat
 
#define POW2(X)   ((X)*(X))
 
#define PNAN   NAN
 
#define PISNAN(x)   (x!=x)
 
#define PISINF(x)   (fabs(x) > PFLOAT_MAX)
 
#define FPU_ERROR(x)   (PISINF(x) || PISNAN(x))
 
#define IDNUL   pint(-1)
 
#define IDERR   pint(INT32_MAX)
 
#define COORD0   0.
 
#define COORDNUL   PFLOAT_MIN
 
#define COORDNULP   PFLOAT_MAX
 
#define VUE_EXTRUSION   Perspective3D::vues2D_t::VUEHAUT
 
#define VUE_REVOLUTION   Perspective3D::vues2D_t::VUECOTE
 
#define COULEUR_POINTS   125, 180, 220
 
#define COULEUR_POINTS_F   0.488f, 0.703f, 0.859f
 
#define COULEUR_SELECT_POINTS   28, 115, 176
 
#define COULEUR_SELECT_POINTS_F   0.101f, 0.449f, 0.687f
 
#define COULEUR_SELECT_LIGNES   70, 70, 70
 
#define COULEUR_SELECT_LIGNES_F   0.274f, 0.274f, 0.274f
 
#define COULEUR_LIGNES   130, 130, 130 /* Lignes de contour des surfaces. */
 
#define COULEUR_LIGNES_F   0.508f, 0.508f, 0.508f
 
#define COULEUR_ARRETES   120, 120, 120 /* Couleur des arrêtes des polygones (triangles) */
 
#define COULEUR_ARRETES_F   0.469f, 0.469f, 0.469f
 
#define COULEUR_REP_SURFACES   130, 40, 200
 
#define COULEUR_REP_SURFACES_F   0.508f, 0.156f, 0.781f
 
#define CompareX(a, b, c)   (POSITIFD((a-b)) < c) /* Comparaison avec l'espilon donné en argument. */
 
#define CompareE(a, b)   (CompareX(a, b, EPSILON_FIXE)) /* Comparaison avec Epsilon fixe */
 
#define CompareED(a, b)   (CompareX(a, b, EPSILON_FIXE_LARGE)) /* Comparaison avec Epsilon fixe élargi */
 
#define CompareN(a, b)   (CompareX(a, b, TolerancesP3D::ToleranceCoords)) /* Comparaison approximative générale (défini par l'utilisateur) */
 
#define PENUM_DECL_OPS(NOM)
 
#define PENUM_CAST_INT(VAL)   static_cast<puint>(VAL)
 

Définitions de type

typedef double pfloat
 

Fonctions

void Perspective3D::TolerancesP3D::Init (pfloat t_xyz)
 

Variables

PSYS_TLS pfloat Perspective3D::TolerancesP3D::EpsilonCoords
 
PSYS_TLS pfloat Perspective3D::TolerancesP3D::ToleranceCoordsLarge
 
PSYS_TLS pfloat Perspective3D::TolerancesP3D::EpsilonAngles
 
PSYS_TLS pfloat Perspective3D::TolerancesP3D::EpsilonVecteurs
 
PSYS_TLS pfloat Perspective3D::TolerancesP3D::ToleranceCoords
 
PSYS_TLS pfloat Perspective3D::TolerancesP3D::ToleranceCoords_X
 
PSYS_TLS pfloat Perspective3D::TolerancesP3D::ToleranceCoords_Y
 
PSYS_TLS pfloat Perspective3D::TolerancesP3D::ToleranceCoords_Z
 

Description détaillée

Macros préprocesseur de l'API.

Auteur
Florian Joncour
Date
2013-2018

Ces conditions peuvent toutefois être modifiées avec l'accord de l'auteur.

Documentation des macros

◆ ACOSF

#define ACOSF   acos

◆ ASINF

#define ASINF   sinf

◆ ATAN2F

#define ATAN2F   atan2

◆ ATANF

#define ATANF   atan

◆ CEILF

#define CEILF   ceil

◆ CompareE

#define CompareE (   a,
 
)    (CompareX(a, b, EPSILON_FIXE)) /* Comparaison avec Epsilon fixe */

◆ CompareED

#define CompareED (   a,
 
)    (CompareX(a, b, EPSILON_FIXE_LARGE)) /* Comparaison avec Epsilon fixe élargi */

◆ CompareN

#define CompareN (   a,
 
)    (CompareX(a, b, TolerancesP3D::ToleranceCoords)) /* Comparaison approximative générale (défini par l'utilisateur) */

◆ CompareX

#define CompareX (   a,
  b,
 
)    (POSITIFD((a-b)) < c) /* Comparaison avec l'espilon donné en argument. */

◆ COORD0

#define COORD0   0.

◆ COORDNUL

#define COORDNUL   PFLOAT_MIN

◆ COORDNULP

#define COORDNULP   PFLOAT_MAX

◆ COSF

#define COSF   cos

◆ COULEUR_ARRETES

#define COULEUR_ARRETES   120, 120, 120 /* Couleur des arrêtes des polygones (triangles) */

◆ COULEUR_ARRETES_F

#define COULEUR_ARRETES_F   0.469f, 0.469f, 0.469f

◆ COULEUR_LIGNES

#define COULEUR_LIGNES   130, 130, 130 /* Lignes de contour des surfaces. */

◆ COULEUR_LIGNES_F

#define COULEUR_LIGNES_F   0.508f, 0.508f, 0.508f

◆ COULEUR_POINTS

#define COULEUR_POINTS   125, 180, 220

◆ COULEUR_POINTS_F

#define COULEUR_POINTS_F   0.488f, 0.703f, 0.859f

◆ COULEUR_REP_SURFACES

#define COULEUR_REP_SURFACES   130, 40, 200

◆ COULEUR_REP_SURFACES_F

#define COULEUR_REP_SURFACES_F   0.508f, 0.156f, 0.781f

◆ COULEUR_SELECT_LIGNES

#define COULEUR_SELECT_LIGNES   70, 70, 70

◆ COULEUR_SELECT_LIGNES_F

#define COULEUR_SELECT_LIGNES_F   0.274f, 0.274f, 0.274f

◆ COULEUR_SELECT_POINTS

#define COULEUR_SELECT_POINTS   28, 115, 176

◆ COULEUR_SELECT_POINTS_F

#define COULEUR_SELECT_POINTS_F   0.101f, 0.449f, 0.687f

◆ DEG_RAD

#define DEG_RAD (   x)    (x*DTOR)

◆ DTOR

#define DTOR   0.017453292519943295

◆ EPSILON_FIXE

#define EPSILON_FIXE   0.0001

◆ EPSILON_FIXE_LARGE

#define EPSILON_FIXE_LARGE   0.001

◆ FLOORF

#define FLOORF   floor

◆ FPU_ERROR

#define FPU_ERROR (   x)    (PISINF(x) || PISNAN(x))

◆ HYPOTF

#define HYPOTF   hypot

◆ IDERR

#define IDERR   pint(INT32_MAX)

◆ IDNUL

#define IDNUL   pint(-1)

◆ MODULOF

#define MODULOF   fmod

◆ PENUM_CAST_INT

#define PENUM_CAST_INT (   VAL)    static_cast<puint>(VAL)

◆ PENUM_DECL_OPS

#define PENUM_DECL_OPS (   NOM)
Valeur :
F_INLINE NOM operator| (NOM c1, NOM c2) { return static_cast<NOM>(static_cast<std::underlying_type<NOM>::type>(c1) | static_cast<std::underlying_type<NOM>::type>(c2)); } \
F_INLINE NOM operator|= (NOM &c1, NOM c2) { c1 = static_cast<NOM>(static_cast<std::underlying_type<NOM>::type>(c1) | static_cast<std::underlying_type<NOM>::type>(c2)); return c1; } \
F_INLINE NOM operator&= (NOM &c1, NOM c2) { c1 = static_cast<NOM>(static_cast<std::underlying_type<NOM>::type>(c1) & static_cast<std::underlying_type<NOM>::type>(c2)); return c1; } \
F_INLINE unsigned int operator& (NOM c1, NOM c2) { return (static_cast<unsigned int>(c1) & static_cast<unsigned int>(c2)); } \
F_INLINE bool operator== (NOM c1, NOM c2) { return (static_cast<std::underlying_type<NOM>::type>(c1) == static_cast<std::underlying_type<NOM>::type>(c2)); } \
F_INLINE NOM operator^ (NOM c1, NOM c2) { return static_cast<NOM>(static_cast<std::underlying_type<NOM>::type>(c1) ^ static_cast<std::underlying_type<NOM>::type>(c2)); } \
F_INLINE NOM operator^= (NOM &c1, NOM c2) { c1 = static_cast<NOM>(static_cast<std::underlying_type<NOM>::type>(c1) ^ static_cast<std::underlying_type<NOM>::type>(c2)); return c1; }
#define F_INLINE
Attribut de fonction force inline (GCC ou Clang)).
Definition: perspective_sys.h:454

◆ PFLOAT_MAX

#define PFLOAT_MAX   DBL_MAX

◆ PFLOAT_MIN

#define PFLOAT_MIN   -DBL_MAX

◆ pfloatc

#define pfloatc   const pfloat

◆ PI

#define PI   3.141592653589793238462643

◆ PIi

#define PIi   0.3183098861837907

◆ PISINF

#define PISINF (   x)    (fabs(x) > PFLOAT_MAX)

◆ PISNAN

#define PISNAN (   x)    (x!=x)

◆ PNAN

#define PNAN   NAN

◆ POSITIFD

#define POSITIFD   fabs

◆ POW2

#define POW2 (   X)    ((X)*(X))

◆ POWF

#define POWF   pow

◆ RAD

#define RAD   57.29577951308232

◆ RAD_DEG

#define RAD_DEG (   x)    (x*RAD)

◆ RCARREF

#define RCARREF   sqrt

◆ RCUBIQUE

#define RCUBIQUE (   X)    (pow(X, 1.0/3.0))

◆ SINF

#define SINF   sin

◆ TANF

#define TANF   tan

◆ TYPE_PFLOAT_DOUBLE

#define TYPE_PFLOAT_DOUBLE

◆ VUE_EXTRUSION

#define VUE_EXTRUSION   Perspective3D::vues2D_t::VUEHAUT

◆ VUE_REVOLUTION

#define VUE_REVOLUTION   Perspective3D::vues2D_t::VUECOTE

Documentation des définitions de type

◆ pfloat

typedef double pfloat