19 #ifndef PERSPECTIVE_TYPES_H 20 #define PERSPECTIVE_TYPES_H 175 #define P3D_LANG_DEFAUT Perspective3D::i18n::lang_p3d_t::P3D_LANG_EN 348 return (i==0) ? x : ((i==1) ? y : -1);
351 inline static size_t numDim() {
return 2; }
369 inline explicit PPixel() : r(0), v(0), b(0), alpha(255) { }
373 inline PPixel(
const PPixel &p) : r(p.r), v(p.v), b(p.b), alpha(p.alpha) { }
375 inline bool Nulle()
const {
return (!r && !v && !b); }
393 inline puint32 RVBi()
const {
return (( (static_cast<puint32>(r)) << 16 ) | ( (static_cast<puint32>(v)) << 8 ) | ( (static_cast<puint32>(b)) & 0xff )); }
394 inline void defIRVB(
puint32 i) { r = (i >> 16) & 0xff; v = (i >> 8) & 0xff; b = (i) & 0xff; alpha = (i >> 24); }
397 void toHSV(
pfloat hsv[])
const;
400 void fromHSV(
const pfloat hsv[]);
428 inline bool Nul()
const {
return !x && !y; }
431 {
return (x == p.
x) && (y == p.
y); }
434 {
return (x != p.
x) || (y != p.
y); }
480 inline bool Actif()
const {
return actif; }
513 ParametresPerspective(
pfloat tolerance=0.001,
pint arrondi_dessin=3,
pint divisionscercles=24,
vues2D_t projections=
vues2D_t::VUEFACE|
vues2D_t::VUECOTE|
vues2D_t::VUEHAUT,
infos3d_t informations=
infos3d_t::INUL,
pint tailletexte3d=8,
bool filaire_uniquement=
false,
bool multithreading=
false,
params_gen3d_t parametres3d=
params_gen3d_t::PGEN3DNUL,
puint taille_surfaces=256,
normevues_t norme_vues=
normevues_t::NORME_VUES_ISO,
puint id_ral=9010,
const pint8 *licence=
nullptr,
puint64 salage_licence=0) :
514 Tolerance(tolerance), Arrondi_dessin(arrondi_dessin), Divisionscercles(divisionscercles), Projections(projections), Informations(informations), Tailletexte3d(tailletexte3d), TailleDiagoUniforme(0), Filaire_uniquement(filaire_uniquement), MultiThreading(multithreading), Parametres3d(parametres3d), Taille_surfaces(taille_surfaces), Norme_vues(norme_vues), Id_ral(id_ral), Licence(licence), SalageLicence(salage_licence)
536 #ifdef SUPPORT_VISION2D 584 #endif // SUPPORT_VISION2D 593 friend class PImagePriv;
602 explicit PImage(
const char *n);
607 explicit PImage(
const std::string &n);
624 bool ExportPNG(
const char *n)
const;
629 bool ExportJPEG(
const char *n)
const;
649 puint Taille()
const;
654 puint NombrePixels()
const;
669 inline bool Valide()
const {
return valide; }
788 defCache(cache_); defCouleur(c);
791 inline Pligne2D(
const Pligne2D &l) :
PEnt2D(l.Id(), l.Vue(), l.Cache(), l.CouleurConst()), p1(l.p1), p2(l.p2), point(l.point) { ; }
795 defId(l.
Id()); defVue(l.
Vue());
811 inline bool Point()
const {
return point; }
816 return p1.Distance2(p2);
821 return p1.Distance(p2);
843 Prect2D(
bool init_cadre_englobage=
true);
871 bool ContientPoint(
const Ppoint2D &p)
const;
874 bool CollisionRects(
const Prect2D &r)
const;
877 bool CollisionRects2(
const Prect2D &r)
const;
880 bool CollisionRectsX(
const Prect2D &r,
const pfloat tolerance)
const;
883 bool ContientBordRect(
const Prect2D &r)
const;
886 bool ContientTotalementRect(
const Prect2D &r)
const;
893 void InitEnglobage();
895 void EnglobePoint(
const Ppoint2D &p);
911 EnglobePoint(r.
Pmin());
912 EnglobePoint(r.
Pmax());
922 inline bool ValideEnglobage()
const {
return (pmin.X() < pmax.X() && pmin.Y() < pmax.Y()); }
945 centre(e.centre), lg(e.lg), ht(e.ht), angle1(e.angle1), angle2(e.angle2), rotation(e.rotation), ferme(e.ferme) { ; }
951 centre=centre_; lg=lg_; ht=ht_; angle1=angle1_; angle2=angle2_; rotation=rotation_; defCache(cache_);
962 inline bool Ferme()
const {
return ferme; }
1024 puint DefTexte(
const char *s);
1028 inline const char *
Texte()
const {
return texte; }
1049 friend class PGroupeEnts2DPriv;
1063 bool Valide()
const;
1068 pint CompteurEntites()
const;
1076 return *listelignes;
1085 return *listeellipses;
1094 return *listetextes;
1103 return *listepoints;
1123 friend class PScene2DPriv;
1133 bool ImportDXF(
const std::string &fichier,
bool ignore_non_imprimable=
false,
bool nouveau_groupe=
false);
1135 #ifdef SUPPORT_VISION2D 1140 #endif // SUPPORT_VISION2D 1145 bool ExportDXF(
const std::string &fichier)
const;
1151 pint Avancement()
const;
1161 bool ValideScene()
const;
1193 bool LiberationImport();
1208 bool SupprimeDernierGroupe();
1213 bool RestaureDernierGroupe();
1218 pint CompteurEntites()
const;
1256 if (etat != Courbe())
1380 inline pfloat lg2()
const {
return (X()*X()) + (Y()*Y()) + (Z()*Z()); }
1493 inline bool Nul()
const {
return id==
IDNUL && CoordNul(); }
1497 return (i==0) ? x : ((i==1) ? y : ((i==2) ? z : -1));
1517 inline Ppoint3D_min(
pfloat x_,
pfloat y_,
pfloat z_,
const PCouleur &cl,
pident id_=
IDNUL):
PEnt23D(cl, id_,
proprietes_3d_t::
PROPRIETE_3D_NUL), vec(x_, y_, z_, id_) { ; }
1558 return vec == v.
vec;;
1566 return (vec < v.
vec);
1619 inline bool CoordNul()
const {
return vec.CoordNul(); }
1621 inline bool Nul()
const {
return id==
IDNUL && CoordNul(); }
1682 defPosition(position);
1689 void lookAt(
const Pvec3 &origine_abs,
const Pvec3 &destination_abs,
const Pvec3 &up);
1691 void lookAt(
const Pvec3 &origine_abs,
const Pvec3 &destination_abs);
1698 data_m[0] = m[0]; data_m[1] = m[1]; data_m[2] = m[2]; data_m[3] = m[3];
1699 data_m[4] = m[4]; data_m[5] = m[5]; data_m[6] = m[6]; data_m[7] = m[7];
1700 data_m[8] = m[8]; data_m[9] = m[9]; data_m[10]= m[10]; data_m[11]= m[11];
1701 data_m[12]= m[12]; data_m[13]= m[13]; data_m[14]= m[14]; data_m[15]= m[15];
1711 const puint idt = index * 4;
1712 data_m[idt] = m1; data_m[idt + 1] = m2; data_m[idt + 2] = m3; data_m[idt + 3] = m4;
1718 defColonne(0, axe.
X(), axe.
Y(), axe.
Z(), 0);
1723 defColonne(1, axe.
X(), axe.
Y(), axe.
Z(), 0);
1728 defColonne(2, axe.
X(), axe.
Y(), axe.
Z(), 0);
1733 defColonne(3, position.
X(), position.
Y(), position.
Z(), 1);
1741 data_m[0] = data_m[5] = data_m[10] = data_m[15] = 1.0;
1742 data_m[1] = data_m[2] = data_m[3] = data_m[4] = data_m[6] = data_m[7] = data_m[8] = data_m[9] = data_m[11] = data_m[12] = data_m[13] = data_m[14] = 0.0;
1758 return data_m[i < 16 ? i : 16];
1766 return data_m[i < 16 ? i : 16];
1793 connexion_lignes(0), id_connexion_courbe(
IDNUL) { ; }
1796 connexion_lignes(0), id_connexion_courbe(
IDNUL) { ; }
1799 connexion_lignes(p.connexion_lignes), id_connexion_courbe(p.id_connexion_courbe)
1807 connexion_lignes(0), id_connexion_courbe(
IDNUL)
1809 defCourbe(ellipse_);
1851 p1p(l.p1p), p2p(l.p2p), norml(l.norml), jointure_trou(l.jointure_trou)
1857 p1p(p1_), p2p(p2_), norml(
Pvec3()), jointure_trou(false)
1859 defId(id_); defCourbe(ellipse_);
1886 p1p.defCourbe(e); p2p.defCourbe(e);
1901 inline bool Nulle()
const {
return (p1p == p2p); }
1908 return ( ((p1p == l.
p1p) && (p2p == l.
p2p)) || ((p1p == l.
p2p) && (p2p == l.
p1p)) );
1917 {
return ( (p1p < l.
p1p) && (p1p < l.
p2p) ); }
1918 return ( (p2p < l.
p1p) && (p2p < l.
p2p) );
1945 inline bool Actif()
const {
return actif; }
1976 friend class PSegment3DPriv;
2015 friend class PSommet3DPriv;
2047 friend class Ptriangle3DPriv;
2118 void ReinitEnglobage();
2123 bool ValideEnglobage()
const;
2128 void EnglobeSommet(
const Pvec3 &p);
2135 EnglobeSommet(p.
Vec3());
2141 bool ContientSommet(
const Pvec3 &p)
const;
2148 return ContientSommet(p.
Vec3());
2159 bool Collision(
const PCube3D &c)
const;
2164 bool Collision2(
const PCube3D &c)
const;
2169 void Decalage(
const Pvec3 &d);
2197 pfloat LDiagonale()
const;
2211 friend class PTexte3DPriv;
2228 bool CollisionTextes(
const PTexte3D &txt)
const;
2249 friend class PSurface3DPriv;
2257 bool ValideAllocaction()
const;
2267 puint NTriangles()
const;
2268 puint NSommets()
const;
2270 void defTrianglesActif(
bool etat);
2297 friend class PSolide3DPriv;
2308 if (i < solide.size()) {
return solide[i]; }
2326 friend class Pmaillage3DPriv;
2354 bool ImportSTL(
const char *chemin,
puint id_couleur_ral=9010,
bool fusion_triangles=
false,
bool *interrupteur=
nullptr,
pulong *avancement=
nullptr,
pfloat *echelle_tmp=
nullptr);
2391 bool GenereArbresRecherche();
2415 void *arbre_sommets;
2416 void *arbre_filaire;
2417 void *arbre_surfaces;
2425 friend class PScene3DPriv;
2452 bool ImportSTL(
const char *chemin,
puint id_couleur_ral,
bool fusion_triangles=
false,
bool *interrupteur=
nullptr,
pulong *avancement=
nullptr);
2467 void Verrouille()
const;
2472 void DeVerrouille()
const;
2477 bool GenereArbresRecherche();
2483 bool Export(
const char *nom_fichier)
const;
2499 bool ExportSTL(
const char *nom_fichier,
bool separe_solides=
false)
const;
2507 bool ExportAMF(
const char *nom_fichier,
bool compression=
true)
const;
2514 bool Export3DS(
const char *nom_fichier)
const;
2522 bool ExportCollada(
const char *nom_fichier,
bool export_couleur_solides=
false)
const;
2529 bool ExportPLY(
const char *nom_fichier)
const;
2537 bool ExportOBJ(
const char *nom_fichier,
bool groupe_solides=
false)
const;
2544 bool ExportX3D(
const char *nom_fichier)
const;
2654 pfloat echelle_developpe;
2665 #endif // PERSPECTIVE_TYPES_H
Pvec3 & operator/=(const pfloat s)
Definition: perspective_types.h:1301
const Ppoint2D & P3() const
Definition: perspective_types.h:861
void defIdConnexionCourbe(pident id)
Definition: perspective_types.h:1827
pfloat ToleranceAngles
Definition: perspective_types.h:548
pint NombreSurfaces() const
Definition: perspective_types.h:2304
std::vector< Pellipse2D > PStdVectEllipses2D
PStdVectEllipses2D Vecteur d'ellipses 2D.
Definition: perspective_types.h:999
std::vector< PSommet3D > PStdVectSommets3D
PStdVectSommets3D Vecteur de sommets.
Definition: perspective_types.h:2040
pint Arrondi_dessin
Definition: perspective_types.h:520
pfloat Angle1() const
Definition: perspective_types.h:968
void EnglobeSommet(const Ppoint3D_min &p)
EnglobeSommet Adapte le delta du cube pour inclure le sommet donné en argument.
Definition: perspective_types.h:2133
Point 3D (base).
Definition: perspective_types.h:1509
bool Nul() const
Definition: perspective_types.h:1493
bool courbe
Definition: perspective_types.h:2002
pfloat DimZ() const
DimZ Renvoi la taille de la scène en Z.
Definition: perspective_types.h:2629
pfloat ToleranceCoords1
Definition: perspective_types.h:546
pfloat at(pint i) const
Definition: perspective_types.h:1623
const Ppoint2D & Pmax() const
Definition: perspective_types.h:852
void defP1(const Ppoint3D &p)
Definition: perspective_types.h:1878
pint32 pident
Identifiants des entitées.
Definition: perspective_types.h:151
Pvec3(const Pvec3 &p1, const Pvec3 &p2)
Definition: perspective_types.h:1289
pfloat Z() const
Renvoi la coordonée Z.
Definition: perspective_types.h:1592
pfloat Longueur() const
Definition: perspective_types.h:819
Pvec3 & Vec3NonConst()
Definition: perspective_types.h:1543
PMat4x4_data(const pfloat *m)
Constructeur (copie depuis un tampon de nombres flottants).
Definition: perspective_types.h:1659
pfloat magnitude() const
magnitude Distance à l'origine.
Definition: perspective_types.h:1365
void RetireAttribut(puint16 attr)
Definition: perspective_types.h:734
const Pvec3 & Origine() const
Definition: perspective_types.h:2230
void defCoords(const Ppoint3D_min &p)
Assigne les coordonnées.
Definition: perspective_types.h:1607
Ppoint3D_min(const Pvec3 &v)
Definition: perspective_types.h:1514
void normalise()
Normalise le vecteur.
pfloat Echelle() const
Echelle Renvoi l'echelle à appliquer sur le solide pour le rendre normé à 1.
Definition: perspective_types.h:2634
Ppoint2D & operator*=(const pfloat s)
Definition: perspective_types.h:267
std::vector< int > PStdVectInts
PStdVectInts Vecteur d'entiers.
Definition: perspective_types.h:146
pident Id() const
Definition: perspective_types.h:703
bool operator!=(const Ppoint3D_min &v) const
operator != Comparaison entre deux points avec l'Epsilon fixe.
Definition: perspective_types.h:1551
Pvec3 & operator*=(const Pvec3 &v)
Definition: perspective_types.h:1302
Ppoint3D_min(const Ppoint3D_min &p)
Definition: perspective_types.h:1521
const pint8 * Licence
Definition: perspective_types.h:558
const PStdVectSurfaces3D & Surfaces() const
SurfacesConst Renvoi les surfaces du modèle.
Definition: perspective_types.h:2384
bool MultiThreading
Definition: perspective_types.h:527
void defV(Poctet_t vert)
Definition: perspective_types.h:387
Pvec3 operator/(const pfloat s) const
Definition: perspective_types.h:1310
PEnt2D(pident i)
Definition: perspective_types.h:753
void defP1(const Ppoint2D &p)
Definition: perspective_types.h:803
bool actif
Definition: perspective_types.h:491
PEnt23D(pident id_, proprietes_3d_t props)
Definition: perspective_types.h:1238
pfloat DeltaCourbesMax
Definition: perspective_types.h:553
const Pvec3 & V1Const() const
Definition: perspective_types.h:1873
void defNormL(const Pvec3 &n)
Definition: perspective_types.h:1896
void def(const pfloat *m)
Assignation du tampon de la matrice.
Definition: perspective_types.h:1696
PPointPixel()
Definition: perspective_types.h:419
pfloat Angle2() const
Definition: perspective_types.h:971
PPixel()
Definition: perspective_types.h:369
Pvec3 P1() const
Recupère les sommets du cube selon leur id:
Definition: perspective_types.h:2180
Pligne2D()
Definition: perspective_types.h:783
Représente un pixel.
Definition: perspective_types.h:366
Espace de nom de l'API 3D.
Definition: perspective_api.h:101
pfloat X() const
Renvoi la coordonée X.
Definition: perspective_types.h:1572
pfloat ToleranceNorms
Definition: perspective_types.h:554
bool operator==(const PCouleur &c) const
Definition: perspective_types.h:478
std::vector< Pligne2D > PStdVectLignes2D
PStdVectLignes2D Vecteur de lignes 2D.
Definition: perspective_types.h:834
const pfloat * data() const
Renvoi le pointeur vers le tampon de la matrice.
Definition: perspective_types.h:1748
PCouleur Inverse() const
Definition: perspective_types.h:482
bool CoordNul() const
Definition: perspective_types.h:1492
pfloat lg
Definition: perspective_types.h:988
void defFerme(bool f)
Definition: perspective_types.h:963
std::vector< PTexte3D > PStdVectTexte3D
PStdVectTexte3D Vecteur de textes 3D.
Definition: perspective_types.h:2242
void defCoords(pfloat x_=COORD0, pfloat y_=COORD0, pfloat z_=COORD0)
Assigne les coordonnées.
Definition: perspective_types.h:1460
Pvec3 P7() const
Definition: perspective_types.h:2187
Ppoint3D_min()
Definition: perspective_types.h:1512
pfloat Longueur() const
Definition: perspective_types.h:1899
Pvec3 & operator*=(const pfloat s)
Definition: perspective_types.h:1300
Ppoint2D operator/(const Ppoint2D &v) const
Definition: perspective_types.h:279
std::vector< PGroupeEnts2D * > PStdVectGroupeEnts2D
PStdVectGroupeEnts2D Vecteur de groupe d'entités 2D.
Definition: perspective_types.h:1116
pfloat X() const
Definition: perspective_types.h:260
pident IdConnexionCourbe() const
Definition: perspective_types.h:1826
Pellipse2D(const Pellipse2D &e)
Definition: perspective_types.h:944
int8_t pint8
Definition: perspective_sys.h:628
bool ContourSegments
Definition: perspective_types.h:543
axesOrthos3D_t
Definition: perspective_types.h:107
void defRotation(pfloat r)
Definition: perspective_types.h:966
Pvec3 & operator/=(const Pvec3 &v)
Definition: perspective_types.h:1303
proprietes_2d_t proprietes
Definition: perspective_types.h:773
const PStdVectSegments3D & Projections() const
Projections Renvoi le modèle des projections.
Definition: perspective_types.h:2554
static size_t numDim()
Definition: perspective_types.h:1628
PCouleur(const PPixel &p)
Definition: perspective_types.h:470
Pvec3 P5() const
Definition: perspective_types.h:2185
const PStdVectSegments3D & ContourConst() const
Definition: perspective_types.h:2264
Scène 2D.
Definition: perspective_types.h:1121
void defRVBA(Poctet_t rouge, Poctet_t vert, Poctet_t bleu, Poctet_t opacite)
Definition: perspective_types.h:390
void defP2(const Ppoint3D &p)
Definition: perspective_types.h:1879
pint Divisionscercles
Definition: perspective_types.h:521
Pvec3 P2() const
Definition: perspective_types.h:2181
void RetireAttributId(puint16 id)
Definition: perspective_types.h:738
pfloat taille
Definition: perspective_types.h:1035
pfloat DeltaCourbesMin
Definition: perspective_types.h:552
void defNulle()
Definition: perspective_types.h:376
#define POSITIFD
Definition: perspective_def.h:82
resultat_vision2d_t
Definition: perspective_types.h:563
const PStdVectPoints2D & ListePoints() const
Liste dee points.
Definition: perspective_types.h:1101
void defR(Poctet_t rouge)
Definition: perspective_types.h:386
Scène3D, contient l'ensemble des éléments générés.
Definition: perspective_types.h:2423
bool ValideAttribut(puint16 attr) const
Definition: perspective_types.h:735
Ppoint2D operator-(const pfloat s) const
Definition: perspective_types.h:275
void defNorm(const Pvec3 &n)
Definition: perspective_types.h:1964
const PStdVectEllipses2D & ListeEllipses() const
Liste des ellipses (ou toutes entitées courbe).
Definition: perspective_types.h:1083
Pvec3 P4() const
Definition: perspective_types.h:2183
vues2D_t vue
Definition: perspective_types.h:772
bool operator==(const PPixel &c) const
Definition: perspective_types.h:378
puint Id_ral
Definition: perspective_types.h:531
Pvec3()
Definition: perspective_types.h:1286
Ppoint2D & operator-=(const Ppoint2D &v)
Definition: perspective_types.h:272
puint8 Poctet_t
Definition: perspective_types.h:247
Ppoint2D norme(const Ppoint2D &v2) const
Renvoi le vecteur normal du point courant vers le point v2.
Definition: perspective_types.h:291
pfloat DimX() const
DimX Renvoi la taille de la scène en X.
Definition: perspective_types.h:2619
Pvec3 operator+(const Pvec3 &v) const
Definition: perspective_types.h:1313
void defY(pfloat y_)
Definition: perspective_types.h:258
Type de base pour toutes les entités graphiques Perspective3D.
Definition: perspective_types.h:722
void defP1(pfloat x, pfloat y)
Definition: perspective_types.h:804
Pvec3 norm
Definition: perspective_types.h:1968
pfloat Y() const
Definition: perspective_types.h:261
#define DLL_API
Attribut de classe ou méthode exportée par l'API (GCC, Clang ou MSVC). Donc importé côté client...
Definition: perspective_sys.h:524
Ppoint3D(const Pvec3 &p)
Definition: perspective_types.h:1792
void defAttributs(puint16 att)
Definition: perspective_types.h:731
void defY(pfloat y_)
Assigne la coordonée Y.
Definition: perspective_types.h:1445
pfloat DeltaAnglesCourbesMax
Definition: perspective_types.h:556
Définition d'un texte 2D.
Definition: perspective_types.h:1004
bool Actif() const
Definition: perspective_types.h:480
Type de base pour les entitées 2D->3D.
Definition: perspective_types.h:1235
const PStdVectTexte3D & Textes3D() const
Textes3D Renvoi la liste des textes 3D.
Definition: perspective_types.h:2574
PCouleur()
Definition: perspective_types.h:469
Pvec3 operator/(const Pvec3 &v) const
Definition: perspective_types.h:1312
void defActif(bool a=true)
Definition: perspective_types.h:481
pint x
Definition: perspective_types.h:442
pfloat angle2
Definition: perspective_types.h:991
Type de base pour les entitées strictement 3D (version étendue avec vecteur normal).
Definition: perspective_types.h:1955
Définition ellipse, arc ou cercle 2D.
Definition: perspective_types.h:939
void defPosition(const Ppoint2D &p)
Definition: perspective_types.h:1014
Définition d'un sommet (destiné à l'affichage 3D).
Definition: perspective_types.h:2013
Définition d'un texte 3D divisé en vertices.
Definition: perspective_types.h:2209
void defTailleTexte(pfloat t)
Definition: perspective_types.h:1019
Ppoint2D operator*(const Ppoint2D &v) const
Definition: perspective_types.h:278
Lignes 3D.
Definition: perspective_types.h:1845
bool ConnexionTrou() const
Definition: perspective_types.h:1889
void defPoint(bool p)
Definition: perspective_types.h:812
params_gen3d_t Parametres3d
Definition: perspective_types.h:528
3 coordonnées (base pour les points et vecteurs 3D).
Definition: perspective_types.h:1283
void defAngle1(pfloat a)
Definition: perspective_types.h:969
Définition d'une ligne 2D.
Definition: perspective_types.h:780
PPointPixel(pint x_, pint y_)
Definition: perspective_types.h:418
PEnt3DExt(const PCouleur &c, pident i, const Pvec3 &n, bool a)
Definition: perspective_types.h:1959
bool IdNul() const
Definition: perspective_types.h:713
bool actif
Definition: perspective_types.h:1949
Pvec3 origine
Definition: perspective_types.h:2234
bool operator<(const Ppoint3D_min &v) const
operator < Comparaison entre deux points avec l'Epsilon dynamique.
Definition: perspective_types.h:1564
void defCourbe(bool e)
Definition: perspective_types.h:1883
const PStdVectSolide3D & Solides() const
Solides Renvoi la liste des solides.
Definition: perspective_types.h:2569
bool CadreEnglobe
Definition: perspective_types.h:927
Ppoint2D Centre() const
Definition: perspective_types.h:869
std::vector< Pvec3 > PStdVectPoint3D_min
PStdVectPoint3D_min Vecteur de points 3D (version légère).
Definition: perspective_types.h:1784
bool operator==(const Pvec3 &v) const
operator == Comparaison entre deux points avec l'Epsilon dynamique.
Definition: perspective_types.h:1324
pfloat Distance(const Ppoint3D_min &p) const
Distance Distance par rapport à un autre point.
Definition: perspective_types.h:1617
PCube3D cube_texte
Definition: perspective_types.h:2235
PSegment3D()
Definition: perspective_types.h:1979
bool jointure_trou
Definition: perspective_types.h:1925
static puint size()
Renvoi le nombre d'éléments dans la matrice.
Definition: perspective_types.h:1772
Ppoint2D pmin
Definition: perspective_types.h:928
pfloat at(puint i) const
Definition: perspective_types.h:346
Définition d'un triangle à base de vertices (destiné à l'affichage 3D).
Definition: perspective_types.h:2045
#define PENUM_DECL_OPS(NOM)
Definition: perspective_def.h:331
pfloat Distance(const Pvec3 &p) const
Distance Distance par rapport à un autre point.
Definition: perspective_types.h:1375
void defAlpha(Poctet_t a)
Definition: perspective_types.h:391
pfloat Lg() const
Definition: perspective_types.h:974
Pvec3 & operator-=(const pfloat s)
Definition: perspective_types.h:1299
Ppoint3D_min(const Ppoint3D_min &p1, const Ppoint3D_min &p2)
Definition: perspective_types.h:1519
pfloat ht
Definition: perspective_types.h:989
puint SeuilActivation
Definition: perspective_types.h:542
void defCoords(pfloat x_=COORD0, pfloat y_=COORD0, pfloat z_=COORD0)
Assigne les coordonnées.
Definition: perspective_types.h:1602
Pvec3 v1
Definition: perspective_types.h:2034
PCouleur & Couleur()
Definition: perspective_types.h:1243
#define CompareED(a, b)
Definition: perspective_def.h:324
puint Hauteur() const
Renvoi la hauteur de l'image.
Definition: perspective_types.h:639
const Pvec3 & PMin() const
Definition: perspective_types.h:2192
pushort bpp
Definition: perspective_types.h:684
const Ppoint2D & CentreConst() const
Definition: perspective_types.h:981
void defZ(pfloat z_)
Assigne la coordonée Z.
Definition: perspective_types.h:1597
Poctet_t Alpha() const
Definition: perspective_types.h:384
void defPositionY(pfloat y)
Definition: perspective_types.h:1016
Ppoint2D operator-(const Ppoint2D &v) const
Definition: perspective_types.h:281
uint16_t puint16
Definition: perspective_sys.h:631
Ppoint2D & operator+=(const pfloat s)
Definition: perspective_types.h:265
const char * nom
Definition: perspective_types.h:460
pfloat ToleranceCourbure
Definition: perspective_types.h:550
static size_t numDim()
Definition: perspective_types.h:1500
pulong TempsGeneration() const
TempsGeneration Renvoi le tremps de génération (en millisecondes).
Definition: perspective_types.h:2614
Ppoint2D P2() const
Definition: perspective_types.h:860
pint y
Definition: perspective_types.h:442
pident IdSurface(puint i) const
Definition: perspective_types.h:2306
void defConnexionTrou(bool c)
Definition: perspective_types.h:1890
Ppoint2D operator+(const Ppoint2D &v) const
Definition: perspective_types.h:280
const PStdVectTextes2D & ListeTextes() const
Liste des textes.
Definition: perspective_types.h:1092
bool ValideEnglobage() const
Definition: perspective_types.h:922
pfloat rotation
Definition: perspective_types.h:1036
pfloat X() const
Renvoi la coordonée X.
Definition: perspective_types.h:1430
pfloat rotation
Definition: perspective_types.h:992
puint64 SalageLicence
Definition: perspective_types.h:533
bool Nulle() const
Definition: perspective_types.h:1901
signed int pint
Types entiers.
Definition: perspective_sys.h:611
pint Y() const
Definition: perspective_types.h:422
Pvec3 Centre() const
Definition: perspective_types.h:2190
void defActif(bool a)
Definition: perspective_types.h:1946
puint longueur_txt
Definition: perspective_types.h:1033
Ppoint2D operator*(const pfloat s) const
Definition: perspective_types.h:276
ParametresPerspective Paramètres de la bibliothèque Perspective.
Definition: perspective_types.h:511
Ppoint3D_min & operator=(const Ppoint3D_min &p)
Definition: perspective_types.h:1523
PStdVectGroupeEnts2D * contenu_scene
Definition: perspective_types.h:1221
const pint8 * Licence
Definition: perspective_types.h:532
void defId(pident i)
Assignation de l'id d'une entité.
Definition: perspective_types.h:708
Représente les coordonnés un pixel.
Definition: perspective_types.h:415
Pvec3(pfloat x_, pfloat y_, pfloat z_)
Definition: perspective_types.h:1287
void ReinitAttributs()
Definition: perspective_types.h:730
Pellipse2D()
Definition: perspective_types.h:942
void defHt(pfloat h)
Definition: perspective_types.h:978
normevues_t
Definition: perspective_types.h:154
puint32 RVBi() const
Definition: perspective_types.h:393
bool ferme
Definition: perspective_types.h:993
bool operator!=(const PPointPixel &p) const
Definition: perspective_types.h:433
pushort TaillePixels() const
Renvoi la taille de chaque pixel en octets (typiquement 3 pour RVB ou 4 pour RVBA).
Definition: perspective_types.h:634
vues2D_t
Definition: perspective_types.h:89
const Pvec3 & Norm() const
Definition: perspective_types.h:1961
PStdVectSegments3D vertices
Definition: perspective_types.h:2236
pfloat TailleTexte() const
Definition: perspective_types.h:1018
const Pvec3 & V3() const
V3 Accès au premier sommet du triangle.
Definition: perspective_types.h:2071
pfloat y
Definition: perspective_types.h:1503
pfloat lg2() const
lg2 Longueur du vecteur au carré à l'origine.
Definition: perspective_types.h:1380
bool Nul() const
Definition: perspective_types.h:1621
Pvec3 v3
Definition: perspective_types.h:2076
proprietes_2d_t Proprietes() const
Definition: perspective_types.h:769
const Pvec3 & V1() const
V1 Accès au premier sommet du segment.
Definition: perspective_types.h:1992
const Pvec3 & V2() const
V2 Accès au premier sommet du triangle.
Definition: perspective_types.h:2066
void defX(pfloat x_)
Assigne la coordonée X.
Definition: perspective_types.h:1435
const Ppoint2D & Position() const
Definition: perspective_types.h:1013
unsigned long long pulong
Definition: perspective_sys.h:616
PStdVectTriangles3D & Developpe() const
Developpe Renvoi le modèle des développés (cas particulier, en principe pour afficher uniquement de l...
Definition: perspective_types.h:2559
pfloat Rotation() const
Definition: perspective_types.h:965
Pvec3 P3() const
Definition: perspective_types.h:2182
const PStdSolide3D & Surfaces() const
Definition: perspective_types.h:2302
Pvec3 v2
Definition: perspective_types.h:2001
Pligne3D()
Definition: perspective_types.h:1848
PPixel CouleurTrace
Definition: perspective_types.h:544
pfloat ToleranceJointures
Definition: perspective_types.h:549
std::vector< PSurface3D > PStdVectSurfaces3D
PStdVectSurfaces3D Vecteur de surfaces.
Definition: perspective_types.h:2285
bool operator<(const Pvec3 &v) const
operator < Comparaison entre deux points avec l'Epsilon dynamique.
Definition: perspective_types.h:1332
bool Filaire_uniquement
Definition: perspective_types.h:526
void defId(pident id_)
Definition: perspective_types.h:1820
void defIRVB(puint32 i)
Definition: perspective_types.h:394
void defAxeX(const Pvec3 &axe)
Definition: perspective_types.h:1716
pfloat & refY()
Definition: perspective_types.h:263
#define IDNUL
Definition: perspective_def.h:237
pident id
Definition: perspective_types.h:716
void defCourbe(bool etat)
Definition: perspective_types.h:1254
PCouleur(const PCouleur_RAL &ral, bool actif_=true)
Definition: perspective_types.h:472
PGroupeEnts2D Défini un groupe d'entités 2D.
Definition: perspective_types.h:1047
void defId(pident id_)
Definition: perspective_types.h:1532
const Pvec3 & Centre() const
Definition: perspective_types.h:2272
Pligne2D(const Pligne2D &l)
Definition: perspective_types.h:791
puint NbSurfaces() const
NbSurfaces Renvoi le nombre de surfaces dans la scène.
Definition: perspective_types.h:2642
void defPmax(const Ppoint2D &p)
Definition: perspective_types.h:849
uint64_t puint64
Definition: perspective_sys.h:635
PEnt2D()
Definition: perspective_types.h:752
bool JointureTrou() const
Definition: perspective_types.h:1892
void defXY(pfloat x_, pfloat y_)
Definition: perspective_types.h:259
PEnt3DExt()
Definition: perspective_types.h:1958
pfloat TailleGrille
Definition: perspective_types.h:557
void defCouleur(const PCouleur &c)
Definition: perspective_types.h:766
const pfloat & at(puint i) const
Accès à un élément de la matrice (const).
Definition: perspective_types.h:1756
Poctet_t alpha
Definition: perspective_types.h:404
bool Courbe() const
Definition: perspective_types.h:1984
bool Cache() const
Definition: perspective_types.h:761
void defAxeZ(const Pvec3 &axe)
Definition: perspective_types.h:1726
void defXY(pint x_, pint y_)
Definition: perspective_types.h:426
void AjoutAttributId(puint16 id)
Definition: perspective_types.h:737
Pvec3 & operator-=(const Pvec3 &v)
Definition: perspective_types.h:1305
Couleur du nuancier RAL classique.
Definition: perspective_types.h:453
Pvec3 P6() const
Definition: perspective_types.h:2186
Poctet_t V() const
Definition: perspective_types.h:381
Définition d'un maillage 3D.
Definition: perspective_types.h:2324
Ppoint2D & operator/=(const Ppoint2D &v)
Definition: perspective_types.h:270
Ptriangle3D()
Definition: perspective_types.h:2050
std::vector< Ppoint3D > PStdVectPoint3D
PStdVectPoint3D Vecteur pour les points 3D (version lourde).
Definition: perspective_types.h:1840
pfloat lg() const
lg Longueur du vecteur à l'origine.
Definition: perspective_types.h:1385
bool dealloc
Definition: perspective_types.h:689
pfloat Distance2(const Ppoint2D &p) const
Distance2 Distance au carré entre deux points.
Definition: perspective_types.h:328
Pvec3 v1
Definition: perspective_types.h:2000
const PStdVectSegments3D & Filaire() const
FilaireConst Renvoi les vertices du modèle filaire.
Definition: perspective_types.h:2374
Ppoint2D position
Definition: perspective_types.h:1034
Définition d'un point 3D (version lourde, avec quelques propriétés additionnelles).
Definition: perspective_types.h:1789
Couleurs 32 bits.
Definition: perspective_types.h:466
void defRotation(pfloat r)
Definition: perspective_types.h:1022
bool Trou() const
Definition: perspective_types.h:1262
int32_t pint32
Definition: perspective_sys.h:632
void defX(pint x_)
Definition: perspective_types.h:424
proprietes_2d_t
Definition: perspective_types.h:239
void defX(pfloat x_)
Assigne la coordonée X.
Definition: perspective_types.h:1577
puint16 & AttributsRef()
Definition: perspective_types.h:729
void defP2(pfloat x, pfloat y)
Definition: perspective_types.h:809
ParametresPerspective(pfloat tolerance=0.001, pint arrondi_dessin=3, pint divisionscercles=24, vues2D_t projections=vues2D_t::VUEFACE|vues2D_t::VUECOTE|vues2D_t::VUEHAUT, infos3d_t informations=infos3d_t::INUL, pint tailletexte3d=8, bool filaire_uniquement=false, bool multithreading=false, params_gen3d_t parametres3d=params_gen3d_t::PGEN3DNUL, puint taille_surfaces=256, normevues_t norme_vues=normevues_t::NORME_VUES_ISO, puint id_ral=9010, const pint8 *licence=nullptr, puint64 salage_licence=0)
Definition: perspective_types.h:513
proprietes_3d_t Proprietes() const
Definition: perspective_types.h:1247
std::vector< PPointPixel > PStdVectPointsPixels
PStdVectPoints2D Vecteur de points de pixels.
Definition: perspective_types.h:448
Définition d'un point 2D et de ses opérations.
Definition: perspective_types.h:252
Poctet_t R() const
Definition: perspective_types.h:380
pfloat Z() const
Renvoi la coordonée Z.
Definition: perspective_types.h:1450
const Pvec3 & Centre() const
Centre Renvoi le centre de la scène.
Definition: perspective_types.h:2609
Pligne3D & operator=(const Pligne3D &l)
Definition: perspective_types.h:1862
Poctet_t const * tampon_oct
Definition: perspective_types.h:687
const PStdVectTriangles3D & Divers() const
Divers Renvoi le modèle divers.
Definition: perspective_types.h:2564
bool operator==(const Pligne3D &l) const
operator == Comparaison entre deux lignes avec l'Epsilon dynamique.
Definition: perspective_types.h:1906
PEntite(pident id_, puint16 attr)
Definition: perspective_types.h:726
double pfloat
Definition: perspective_def.h:62
Ppoint2D Point2D() const
Definition: perspective_types.h:436
#define nullptr
Definition: perspective_sys.h:375
void defJointureTrou(bool c)
Definition: perspective_types.h:1893
Ppoint3D & P1()
Definition: perspective_types.h:1876
pfloat Y() const
Renvoi la coordonée Y.
Definition: perspective_types.h:1582
const Ppoint2D & P1() const
Definition: perspective_types.h:859
bool Point() const
Definition: perspective_types.h:811
params_export_dxf_t
Definition: perspective_types.h:127
Pvec3 operator-(const Pvec3 &v) const
Definition: perspective_types.h:1314
Pvec3 & NormNonConst()
Definition: perspective_types.h:1962
const Pvec3 & V2() const
V2 Accès au premier sommet du segment.
Definition: perspective_types.h:1997
Pligne2D(const Ppoint2D &p1_, const Ppoint2D &p2_, pident id_=IDNUL, bool cache_=false, bool point_=false, const PCouleur &c=PCouleur())
Definition: perspective_types.h:785
pint Tailletexte3d
Definition: perspective_types.h:524
puint16 Attributs() const
Definition: perspective_types.h:728
Definition: perspective_def.h:301
Ppoint3D(const Ppoint3D_min &p)
Definition: perspective_types.h:1795
void defColonne(puint index, pfloat m1, pfloat m2, pfloat m3, pfloat m4)
Assigne une colonne dans la matrice d'après son index (0 < 4).
Definition: perspective_types.h:1707
Définition d'un cube 3D orthogonal aux axes X, Y et Z.
Definition: perspective_types.h:2097
void defTrou(bool etat)
Definition: perspective_types.h:1267
Ppoint3D(pfloat x_, pfloat y_, pfloat z_, pident id_=IDNUL, bool ellipse_=false)
Definition: perspective_types.h:1806
Ppoint3D_min(pfloat x_, pfloat y_, pfloat z_, const PCouleur &cl, pident id_=IDNUL)
Definition: perspective_types.h:1517
vues2D_t Vue() const
Definition: perspective_types.h:758
Pvec3 norml
Definition: perspective_types.h:1924
pint X() const
Definition: perspective_types.h:421
std::vector< pident > PStdSolide3D
PStdSolide3D contient un ensemble de surfaces (d'après leur ids)
Definition: perspective_types.h:2290
unsigned short pushort
Definition: perspective_sys.h:614
pfloat Longueur2() const
Definition: perspective_types.h:814
Classe d'image 32 bits (RBVA). Peut gérer un tableau dynamique ou englober un tableau statique suivan...
Definition: perspective_types.h:591
void defPoints(const Ppoint3D &p1, const Ppoint3D &p2)
Definition: perspective_types.h:1881
Ppoint2D p2
Definition: perspective_types.h:827
pfloat & refX()
Definition: perspective_types.h:262
void AjoutAttribut(puint16 attr)
Definition: perspective_types.h:733
void EnglobeLigne(const Pligne2D &l)
Definition: perspective_types.h:901
pfloat at(pint i) const
Definition: perspective_types.h:1495
PPixel(const PPixel &p)
Definition: perspective_types.h:373
Macros préprocesseur de l'API.
const Pvec3 & V2Const() const
Definition: perspective_types.h:1874
Matrice 4x4 basique. Aucun opérateur n'est défini, elle n'est utilisée que pour le transfert des donn...
Definition: perspective_types.h:1644
void defAxeY(const Pvec3 &axe)
Definition: perspective_types.h:1721
Ppoint2D & operator/=(const pfloat s)
Definition: perspective_types.h:268
pfloat angle1
Definition: perspective_types.h:990
Ppoint2D & operator*=(const Ppoint2D &v)
Definition: perspective_types.h:269
const Pvec3 & V1() const
V1 Accès au Sommet.
Definition: perspective_types.h:2031
Pvec3 operator*(const Pvec3 &v) const
Definition: perspective_types.h:1311
Ppoint2D(pfloat x_=COORD0, pfloat y_=COORD0)
Definition: perspective_types.h:255
Défini un solide (d'après un ensemble d'identifiants de surfaces 3D).
Definition: perspective_types.h:2295
const PCouleur & CouleurConst() const
Definition: perspective_types.h:1242
PStdVectGroupeEnts2D * corbeille_scene
Definition: perspective_types.h:1222
ParametresPerspective Paramètres de la bibliothèque Vision.
Definition: perspective_types.h:540
void defX(pfloat x_)
Definition: perspective_types.h:257
char * texte
Definition: perspective_types.h:1032
PCouleur couleur
Definition: perspective_types.h:774
Pvec3 operator*(const pfloat s) const
Definition: perspective_types.h:1309
std::vector< Ptriangle3D > PStdVectTriangles3D
PStdVectTriangles3D Vecteur de triangles.
Definition: perspective_types.h:2082
proprietes_3d_t proprietes
Definition: perspective_types.h:1276
Pvec3(const Pvec3 &p)
Definition: perspective_types.h:1294
#define POW2(X)
Definition: perspective_def.h:197
void defCoords(const Pvec3 &p)
Assigne les coordonnées.
Definition: perspective_types.h:1465
const Pmaillage3D & Maillage() const
Maillage Renvoi le modèle à afficher.
Definition: perspective_types.h:2549
pfloat EchelleDeveloppe() const
Definition: perspective_types.h:2637
PPixel(Poctet_t r_, Poctet_t v_, Poctet_t b_, Poctet_t a=255)
Definition: perspective_types.h:370
Poctet_t b
Definition: perspective_types.h:459
bool ValideAttributId(puint16 id) const
Definition: perspective_types.h:739
void defY(pint y_)
Definition: perspective_types.h:425
pushort id
Definition: perspective_types.h:456
void defRVB(Poctet_t rouge, Poctet_t vert, Poctet_t bleu)
Definition: perspective_types.h:389
bool Nul() const
Definition: perspective_types.h:428
void defB(Poctet_t bleu)
Definition: perspective_types.h:388
const Ppoint2D & Pmin() const
Definition: perspective_types.h:851
Ppoint3D_min(pfloat x_, pfloat y_, pfloat z_, pident id_=IDNUL)
Definition: perspective_types.h:1516
bool ContientSommet(const Ppoint3D_min &p) const
ContientSommet Contrôle si le sommet donné en argument est à l'intérieur du cube. ...
Definition: perspective_types.h:2146
const PStdVectSommets3D & Sommets() const
SommetsConst Renvoi les sommets du modèle.
Definition: perspective_types.h:2379
PCouleur(Poctet_t gris, bool actif_=true)
Definition: perspective_types.h:474
Poctet_t r
Definition: perspective_types.h:457
unsigned int puint
Definition: perspective_sys.h:612
Poctet_t v
Definition: perspective_types.h:458
void defAngle2(pfloat a)
Definition: perspective_types.h:972
Pvec3 v1
Definition: perspective_types.h:2074
pfloat y
Definition: perspective_types.h:355
std::vector< PSolide3D > PStdVectSolide3D
PStdVectSolide3D Vecteur de solides.
Definition: perspective_types.h:2319
void defZ(pfloat z_)
Assigne la coordonée Z.
Definition: perspective_types.h:1455
PMat4x4_data()
Constructeur (identité)
Definition: perspective_types.h:1650
resultat_gen3d_t
Definition: perspective_types.h:29
bool Valide() const
Contrôle si l'image a été considérée comme valide après génération ou chargement. ...
Definition: perspective_types.h:669
pfloat x
Definition: perspective_types.h:354
bool div
Definition: perspective_types.h:492
proprietes_3d_t
Definition: perspective_types.h:230
void defPosition(const Pvec3 &position)
Definition: perspective_types.h:1731
void defVue(vues2D_t v)
Definition: perspective_types.h:759
PEnt23D(const PCouleur &c, pident id_, proprietes_3d_t props)
Definition: perspective_types.h:1239
bool operator!=(const Pvec3 &v) const
operator != Comparaison entre deux points avec l'Epsilon fixe.
Definition: perspective_types.h:1319
Rectangle 2D, principalement pour faire des boites englobantes.
Definition: perspective_types.h:839
PPixel Pixel() const
Definition: perspective_types.h:484
puint64 SalageLicence
Definition: perspective_types.h:559
pfloat Ht() const
Definition: perspective_types.h:977
Pligne3D(const Ppoint3D &p1_, const Ppoint3D &p2_, pident id_=IDNUL, bool ellipse_=false)
Definition: perspective_types.h:1856
Ppoint2D centre
Definition: perspective_types.h:987
puint largeur
Definition: perspective_types.h:685
PMat4x4_data(const PMat4x4_data &copie)
Constructeur (copie).
Definition: perspective_types.h:1668
Ppoint2D centre(const Ppoint2D &p) const
centre Renvoi le centre entre deux sommets.
Definition: perspective_types.h:333
pfloat Rayon() const
Definition: perspective_types.h:2273
PEnt3D()
Definition: perspective_types.h:1942
puint16 attributs
Definition: perspective_types.h:742
Pligne2D & operator=(const Pligne2D &l)
Definition: perspective_types.h:793
void defProprietes(proprietes_2d_t props)
Definition: perspective_types.h:768
Ppoint3D(const Ppoint3D &p)
Definition: perspective_types.h:1798
bool operator!=(const Ppoint2D &v) const
operator != Comparaison entre deux points avec l'Epsilon fixe.
Definition: perspective_types.h:317
pfloat & at(puint i)
Accès à un élément de la matrice.
Definition: perspective_types.h:1764
bool Nulle() const
Definition: perspective_types.h:375
bool operator==(const Ppoint3D_min &v) const
operator == Comparaison entre deux points avec l'Epsilon dynamique.
Definition: perspective_types.h:1556
pfloat EpsilonCoords
Definition: perspective_types.h:545
pfloat Rotation() const
Definition: perspective_types.h:1021
Ppoint2D & operator-=(const pfloat s)
Definition: perspective_types.h:266
pfloat Distance2(const Ppoint3D_min &p) const
Distance2 Distance au carré par rapport à un autre point.
Definition: perspective_types.h:1612
PSommet3D()
Definition: perspective_types.h:2018
void identite()
Assigne à la matrice l'identité.
Definition: perspective_types.h:1739
puint connexion_lignes
Definition: perspective_types.h:1833
PStdVectTextes2D * listetextes
Definition: perspective_types.h:1109
bool operator<(const Ppoint2D &v) const
operator < Comparaison entre deux points avec l'Epsilon dynamique.
Definition: perspective_types.h:301
Ppoint2D p1
Definition: perspective_types.h:827
void defCentre(const Ppoint2D &c)
Definition: perspective_types.h:982
Ppoint2D & operator+=(const Ppoint2D &v)
Definition: perspective_types.h:271
PStdVectPixels * pixels
Definition: perspective_types.h:686
std::vector< Pligne3D > PStdVectLigne3D
PStdVectLigne3D Vecteur de lignes 3D.
Definition: perspective_types.h:1931
pfloat Hauteur() const
Definition: perspective_types.h:865
void EnglobeRect(const Prect2D &r)
Definition: perspective_types.h:908
infos3d_t Informations
Definition: perspective_types.h:523
infos3d_t
Definition: perspective_types.h:179
const PCouleur & CouleurConst() const
Definition: perspective_types.h:765
Détection de la plateforme.
const Ppoint3D & P1Const() const
Definition: perspective_types.h:1870
void defY(pfloat y_)
Assigne la coordonée Y.
Definition: perspective_types.h:1587
params_gen3d_t
Definition: perspective_types.h:203
pfloat Longueur2() const
Definition: perspective_types.h:1898
void defNorm(pfloat x, pfloat y, pfloat z)
Definition: perspective_types.h:1965
void defCouleur(const PCouleur &c)
Definition: perspective_types.h:1244
PEnt23D()
Definition: perspective_types.h:1240
Pellipse2D(const Ppoint2D ¢re_, pfloat lg_, pfloat ht_, pfloat angle1_, pfloat angle2_, pfloat rotation_=0., pident id_=IDNUL, bool cache_=false)
Definition: perspective_types.h:947
Pvec3(pfloat x_, pfloat y_, pfloat z_, pident id_)
Definition: perspective_types.h:1288
void defCache(bool c)
Definition: perspective_types.h:762
vues2D_t Projections
Definition: perspective_types.h:522
Pellipse2D & operator=(const Pellipse2D &e)
Definition: perspective_types.h:955
Pvec3 & operator+=(const pfloat s)
Definition: perspective_types.h:1298
PBaseId(pident id_)
Definition: perspective_types.h:698
void defPositionX(pfloat x)
Definition: perspective_types.h:1015
bool point
Definition: perspective_types.h:828
const PStdVectLignes2D & ListeLignes() const
Liste des segments.
Definition: perspective_types.h:1074
#define RCARREF
Definition: perspective_def.h:73
pfloat ToleranceJointuresCentreCourbes
Definition: perspective_types.h:551
#define COORD0
Definition: perspective_def.h:240
const char * Texte() const
Definition: perspective_types.h:1028
pfloat Distance2(const Pvec3 &p) const
Distance2 Distance au carré par rapport à un autre point.
Definition: perspective_types.h:1370
PStdVectPoints2D * listepoints
Definition: perspective_types.h:1110
Pvec3 vec
Definition: perspective_types.h:1631
pfloat ToleranceCoords2
Definition: perspective_types.h:547
pfloat DeltaAnglesCourbesMin
Definition: perspective_types.h:555
bool Actif() const
Definition: perspective_types.h:1945
pfloat dot(const Pvec3 &v) const
dot Produit scalaire.
Definition: perspective_types.h:1360
lang_p3d_t
Definition: perspective_types.h:167
bool CoordNul() const
Definition: perspective_types.h:1619
Ppoint2D operator+(const pfloat s) const
Definition: perspective_types.h:274
Défini une surface 3D à partir d'un ensemble de sous-lignes représentant son contour.
Definition: perspective_types.h:2247
Ppoint2D P4() const
Definition: perspective_types.h:862
modeperspective_t
Definition: perspective_types.h:75
Ppoint2D & P1()
Definition: perspective_types.h:801
Ppoint3D p1p
Definition: perspective_types.h:1922
puint Taille_surfaces
Definition: perspective_types.h:529
std::vector< PPixel > PStdVectPixels
PStdVectPoints2D Vecteur de pixels.
Definition: perspective_types.h:410
bool operator==(const PPointPixel &p) const
Definition: perspective_types.h:430
Pvec3 cross(const Pvec3 &v) const
cross Produit vectoriel.
Definition: perspective_types.h:1355
puint CouleurRAL() const
Couleur Renvoi la couleur de préférence pour afficher la scène.
Definition: perspective_types.h:2604
void defProprietes(proprietes_3d_t props)
Definition: perspective_types.h:1246
Pvec3 centre(const Pvec3 &v) const
centre Renvoi le centre entre deux sommets.
Definition: perspective_types.h:1350
puint ConnexionLignes() const
Definition: perspective_types.h:1829
puint Largeur() const
Renvoi la largeur de l'image.
Definition: perspective_types.h:644
Poctet_t B() const
Definition: perspective_types.h:382
Ppoint2D & P2()
Definition: perspective_types.h:806
Type de base pour les entitées 2D.
Definition: perspective_types.h:749
bool operator==(const Ppoint2D &v) const
operator == Comparaison entre deux points avec l'Epsilon fixe.
Definition: perspective_types.h:322
std::vector< Ppoint2D > PStdVectPoints2D
PStdVectPoints2D Vecteur de points 2D.
Definition: perspective_types.h:361
pfloat z
Definition: perspective_types.h:1503
pfloat Aire() const
Definition: perspective_types.h:924
puint LongueurTexte() const
Definition: perspective_types.h:1029
pfloat Tolerance
Definition: perspective_types.h:519
std::vector< PSegment3D > PStdVectSegments3D
PStdVectSegments3D Vecteur de segments.
Definition: perspective_types.h:2008
Ppoint2D operator/(const pfloat s) const
Definition: perspective_types.h:277
void defLg(pfloat l)
Definition: perspective_types.h:975
Type de base pour les entitées strictement 3D.
Definition: perspective_types.h:1939
PSurface3D()
Definition: perspective_types.h:2252
uint32_t puint32
Definition: perspective_sys.h:633
const Ppoint3D & P2Const() const
Definition: perspective_types.h:1871
Définition d'un segment de droite à base de vertices (destiné à l'affichage 3D).
Definition: perspective_types.h:1974
const Pvec3 & V1() const
V1 Accès au premier sommet du triangle.
Definition: perspective_types.h:2061
Ppoint3D & P2()
Definition: perspective_types.h:1877
PEntite(pident id_)
Definition: perspective_types.h:725
PCouleur couleur
Definition: perspective_types.h:1277
pfloat x
Definition: perspective_types.h:1503
Type de base pour gérer les ids des entités graphiques.
Definition: perspective_types.h:695
Pvec3 operator+(const pfloat s) const
Definition: perspective_types.h:1307
const Ppoint2D & P2Const() const
Definition: perspective_types.h:807
bool Courbe() const
Definition: perspective_types.h:1249
Pvec3 P8() const
Definition: perspective_types.h:2188
normevues_t Norme_vues
Definition: perspective_types.h:530
std::vector< Prect2D > PStdVectRect2D
PStdVectRect2D Vecteur des rectangles 2D.
Definition: perspective_types.h:934
Pvec3 v_min
Definition: perspective_types.h:2203
const PStdVectTriangles3D & TrianglesConst() const
Definition: perspective_types.h:2265
PStdVectEllipses2D * listeellipses
Definition: perspective_types.h:1108
PMat4x4_data(const Pvec3 &axe_x, const Pvec3 &axe_y, const Pvec3 &axe_z, const Pvec3 &position)
Constructeur par définition des colonnes.
Definition: perspective_types.h:1677
const Pvec3 & NormL() const
Definition: perspective_types.h:1895
Pvec3 operator-(const pfloat s) const
Definition: perspective_types.h:1308
Ppoint3D & operator=(const Ppoint3D &p)
Definition: perspective_types.h:1812
bool valide
Definition: perspective_types.h:688
PCouleur & Couleur()
Definition: perspective_types.h:764
pfloat Distance(const Ppoint2D &p) const
Distance Distance entre deux points.
Definition: perspective_types.h:339
const Pvec3 & PMax() const
Definition: perspective_types.h:2193
bool operator<(const Pligne3D &l) const
operator < Comparaison entre deux lignes avec l'Epsilon dynamique.
Definition: perspective_types.h:1914
Ppoint3D p2p
Definition: perspective_types.h:1923
puint TailleDiagoUniforme
Definition: perspective_types.h:525
PPixel(puint32 v)
Definition: perspective_types.h:371
pfloat Y() const
Renvoi la coordonée Y.
Definition: perspective_types.h:1440
Ppoint2D & Centre()
Definition: perspective_types.h:980
Pligne3D(const Pligne3D &l)
Definition: perspective_types.h:1850
Pvec3 & operator+=(const Pvec3 &v)
Definition: perspective_types.h:1304
PStdVectLignes2D * listelignes
Definition: perspective_types.h:1107
PCouleur(Poctet_t rouge, Poctet_t vert, Poctet_t bleu, bool actif_=true)
Definition: perspective_types.h:473
Poctet_t v
Definition: perspective_types.h:403
pfloat dot(const Ppoint2D &v) const
dot Produit scalaire.
Definition: perspective_types.h:344
static size_t numDim()
Definition: perspective_types.h:351
PEnt3D(const PCouleur &c, pident i, bool a)
Definition: perspective_types.h:1943
Pvec3 v2
Definition: perspective_types.h:2075
pfloat Largeur() const
Definition: perspective_types.h:864
std::vector< PTexte2D > PStdVectTextes2D
PStdVectTextes2D Vecteur de textes 2D.
Definition: perspective_types.h:1042
bool Ferme() const
Definition: perspective_types.h:962
void IncConnexionLignes()
Definition: perspective_types.h:1830
void defP2(const Ppoint2D &p)
Definition: perspective_types.h:808
PEnt2D(pident i, vues2D_t v, bool c, const PCouleur &cl)
Definition: perspective_types.h:755
#define CompareE(a, b)
Definition: perspective_def.h:321
Ppoint3D()
Definition: perspective_types.h:1804
void defPmin(const Ppoint2D &p)
Definition: perspective_types.h:848
const Pvec3 & Vec3() const
Definition: perspective_types.h:1538
uint8_t puint8
Definition: perspective_sys.h:629
const PStdVectSegments3D & Vertices() const
Definition: perspective_types.h:2220
pfloat Diago() const
Definition: perspective_types.h:867
const Ppoint2D & P1Const() const
Definition: perspective_types.h:802
pfloat DimY() const
DimY Renvoi la taille de la scène en Y (en principe l'utilisateur n'a pas à y toucher, Perspective s'en chargera).
Definition: perspective_types.h:2624
pident id_connexion_courbe
Definition: perspective_types.h:1834