Moka kernel
|
#include <plane.hh>
Public Member Functions | |
Constructeurs et destructeur | |
CPlane () | |
CPlane (TCoordinate Aa, TCoordinate Ab, TCoordinate Ac, TCoordinate Ad) | |
CPlane (const CVertex &APoint1, const CVertex &APoint2, const CVertex &APoint3) | |
CPlane (const CVertex &ANormal, const CVertex &APoint) | |
virtual | ~CPlane () |
Destruction de l'instance. | |
Méthodes publiques | |
void | setPlane (TCoordinate Aa, TCoordinate Ab, TCoordinate Ac, TCoordinate Ad) |
void | setPlane (const CVertex &APoint1, const CVertex &APoint2, const CVertex &APoint3) |
void | setPlane (const CVertex &ANormal, const CVertex &APoint) |
const CVertex & | getNormal () const |
TCoordinate | getNormalNorm () const |
TCoordinate | getA () const |
TCoordinate | getB () const |
TCoordinate | getC () const |
TCoordinate | getD () const |
void | reverseOrientation () |
bool | isPointOnPlane (const CVertex &APoint) const |
TCoordinate | pointDistance (const CVertex &APoint) const |
bool | getLineIntersection (const CVertex &APoint, const CVertex &ADirection, TCoordinate *AInterParam) const |
bool | getLineIntersection (const CVertex &APoint, const CVertex &ADirection, CVertex *AInter) const |
TProjection | getBestProjection () const |
CVertex | projectPoint (const CVertex &APoint) const |
CVertex | projectPoint (const CVertex &APoint, TProjection AProj) const |
CVertex | unprojectPoint (const CVertex &APoint, TProjection AProj) const |
Friends | |
std::ostream & | operator<< (std::ostream &AStream, const CPlane &APlane) |
INLINE CPlane::CPlane | ( | ) |
INLINE CPlane::CPlane | ( | TCoordinate | Aa, |
TCoordinate | Ab, | ||
TCoordinate | Ac, | ||
TCoordinate | Ad | ||
) |
Construction d'une nouvelle instance de la classe initialisée avec un plan ayant pour équation Aa * x + Ab * y + Ac * z + Ad = 0.
Aa | Coefficient 'a' de l'équation du plan |
Ab | Coefficient 'b' de l'équation du plan |
Ac | Coefficient 'c' de l'équation du plan |
Ad | Coefficient 'd' de l'équation du plan |
Construction d'une nouvelle instance de la classe initialisée avec un plan passant par les 3 sommets passés en paramètre.
APoint1 | Un point par lequel passe le plan |
APoint2 | Un point par lequel passe le plan |
APoint3 | Un point par lequel passe le plan |
|
virtual |
INLINE TCoordinate CPlane::getA | ( | ) | const |
INLINE TCoordinate CPlane::getB | ( | ) | const |
INLINE TProjection CPlane::getBestProjection | ( | ) | const |
INLINE TCoordinate CPlane::getC | ( | ) | const |
INLINE TCoordinate CPlane::getD | ( | ) | const |
INLINE bool CPlane::getLineIntersection | ( | const CVertex & | APoint, |
const CVertex & | ADirection, | ||
TCoordinate * | AInterParam | ||
) | const |
Cette méthode permet de calculer l'intersection entre une droite et le plan. Si une intersection a été trouvée, elle donne le paramètre du point d'intersection sur la droite par l'intermédiaire de AInterParam.
APoint | Un point d'un droite |
ADirection | Le vecteur directeur de la droite |
AInterParam | Le paramètre sur la droite du point d'intersection entre la droite et le plan |
INLINE bool CPlane::getLineIntersection | ( | const CVertex & | APoint, |
const CVertex & | ADirection, | ||
CVertex * | AInter | ||
) | const |
Cette méthode permet de calculer l'intersection entre une droite et le plan. Si une intersection a été trouvée, elle donne le point d'intersection par l'intermédiaire de AInter.
APoint | Un point d'un droite |
ADirection | Le vecteur directeur de la droite |
AInter | Le point d'intersection entre la droite et le plan |
INLINE TCoordinate CPlane::getNormalNorm | ( | ) | const |
INLINE TCoordinate CPlane::pointDistance | ( | const CVertex & | APoint | ) | const |
INLINE CVertex CPlane::projectPoint | ( | const CVertex & | APoint, |
TProjection | AProj | ||
) | const |
INLINE void CPlane::reverseOrientation | ( | ) |
INLINE void CPlane::setPlane | ( | TCoordinate | Aa, |
TCoordinate | Ab, | ||
TCoordinate | Ac, | ||
TCoordinate | Ad | ||
) |
INLINE CVertex CPlane::unprojectPoint | ( | const CVertex & | APoint, |
TProjection | AProj | ||
) | const |
Cette méthode permet de récupérer le point d'origine du point projeté par la méthode projectPoint.
APoint | Un point de coordonnées (x, y) |
AProj | Un plan de projection dans lequel se trouve APoint |
|
friend |
Affichage du plan APlane sur AStream.