Moka kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CPlane Class Reference

#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 CVertexgetNormal () 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)
 

Detailed Description

Classe définissant un plan.

Definition at line 39 of file plane.hh.

Constructor & Destructor Documentation

INLINE CPlane::CPlane ( )

Construction d'une nouvelle instance de la classe initialisée avec un plan non défini.

Returns
Une nouvelle instance de la classe

Definition at line 26 of file plane.icc.

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.

Parameters
AaCoefficient 'a' de l'équation du plan
AbCoefficient 'b' de l'équation du plan
AcCoefficient 'c' de l'équation du plan
AdCoefficient 'd' de l'équation du plan
Returns
Une nouvelle instance de la classe

Definition at line 32 of file plane.icc.

INLINE CPlane::CPlane ( const CVertex APoint1,
const CVertex APoint2,
const CVertex APoint3 
)

Construction d'une nouvelle instance de la classe initialisée avec un plan passant par les 3 sommets passés en paramètre.

Parameters
APoint1Un point par lequel passe le plan
APoint2Un point par lequel passe le plan
APoint3Un point par lequel passe le plan
Returns
Une nouvelle instance de la classe

Definition at line 38 of file plane.icc.

INLINE CPlane::CPlane ( const CVertex ANormal,
const CVertex APoint 
)

Construction d'une nouvelle instance de la classe initialisée avec un plan ayant pour normale ANormal et qui passe par APoint.

Parameters
ANormalLe vecteur normale au plan
APointUn point par lequel passe le plan
Returns
Une nouvelle instance de la classe

Definition at line 46 of file plane.icc.

INLINE CPlane::~CPlane ( )
virtual

Destruction de l'instance.

Definition at line 52 of file plane.icc.

Member Function Documentation

INLINE TCoordinate CPlane::getA ( ) const

Cette méthode permet de récupérer le coefficient "a" de l'équation du plan.

Returns
le coefficient "a"

Definition at line 99 of file plane.icc.

INLINE TCoordinate CPlane::getB ( ) const

Cette méthode permet de récupérer le coefficient "b" de l'équation du plan.

Returns
le coefficient "b"

Definition at line 105 of file plane.icc.

INLINE TProjection CPlane::getBestProjection ( ) const

Cette méthode permet de donner le plan de projection le mieux adapté pour la projcetion de points appartenant au plan.

Returns
Le plan de projection le mieux adapté

Definition at line 181 of file plane.icc.

INLINE TCoordinate CPlane::getC ( ) const

Cette méthode permet de récupérer le coefficient "c" de l'équation du plan.

Returns
le coefficient "c"

Definition at line 111 of file plane.icc.

INLINE TCoordinate CPlane::getD ( ) const

Cette méthode permet de récupérer le coefficient "d" de l'équation du plan.

Returns
le coefficient "d"

Definition at line 117 of file plane.icc.

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.

Parameters
APointUn point d'un droite
ADirectionLe vecteur directeur de la droite
AInterParamLe paramètre sur la droite du point d'intersection entre la droite et le plan
Returns
vrai s'il y a une intersection, faux sinon

Definition at line 148 of file plane.icc.

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.

Parameters
APointUn point d'un droite
ADirectionLe vecteur directeur de la droite
AInterLe point d'intersection entre la droite et le plan
Returns
vrai s'il y a une intersection, faux sinon

Definition at line 164 of file plane.icc.

INLINE const CVertex & CPlane::getNormal ( ) const

Cette méthode permet de récupérer la normale au plan.

Returns
La normale au plan

Definition at line 87 of file plane.icc.

INLINE TCoordinate CPlane::getNormalNorm ( ) const

Cette méthode permet de récupérer la norme de la normale au plan.

Returns
La normale au plan

Definition at line 93 of file plane.icc.

INLINE bool CPlane::isPointOnPlane ( const CVertex APoint) const

Cette méthode permet de tester l'appartenance d'un point au plan.

Parameters
APointUn point
Returns
vrai si le point appartient au plan, faux sinon

Definition at line 130 of file plane.icc.

INLINE TCoordinate CPlane::pointDistance ( const CVertex APoint) const

Cette méthode permet de calculer la distance relative entre un point et le plan courant

Parameters
APointUn point
Returns
la distance relative entre APoint et le plan courant

Definition at line 139 of file plane.icc.

INLINE CVertex CPlane::projectPoint ( const CVertex APoint) const

Cette méthode permet de récupérer la projection orthogonale d'un point sur le plan.

Parameters
APointUn point de coordonnées (x, y, z)
Returns
L'image de APoint par projection orthogonale sur le plan

Definition at line 198 of file plane.icc.

INLINE CVertex CPlane::projectPoint ( const CVertex APoint,
TProjection  AProj 
) const

Cette méthode permet de projeter un point du plan sur un plan de projection parallèle aux axes du repère.

Parameters
APointUn point de coordonnées (x, y, z)
AProjUn plan de projection
Returns
L'image de APoint par projection sur le plan AProj

Definition at line 208 of file plane.icc.

INLINE void CPlane::reverseOrientation ( )

Cette méthode permet d'inverser l'orientation du plan en multipliant tous les coefficients par -1.

Definition at line 123 of file plane.icc.

INLINE void CPlane::setPlane ( TCoordinate  Aa,
TCoordinate  Ab,
TCoordinate  Ac,
TCoordinate  Ad 
)

Affecte au plan l'équation Aa * x + Ab * y + Ac * z + Ad = 0.

Parameters
AaCoefficient 'a' de l'équation du plan
AbCoefficient 'b' de l'équation du plan
AcCoefficient 'c' de l'équation du plan
AdCoefficient 'd' de l'équation du plan

Definition at line 57 of file plane.icc.

INLINE void CPlane::setPlane ( const CVertex APoint1,
const CVertex APoint2,
const CVertex APoint3 
)

Modifie le plan pour qu'il passe par les 3 points passé en paramètre.

Parameters
APoint1Un point par lequel passe le plan
APoint2Un point par lequel passe le plan
APoint3Un point par lequel passe le plan

Definition at line 65 of file plane.icc.

INLINE void CPlane::setPlane ( const CVertex ANormal,
const CVertex APoint 
)

Modifie le plan pour qu'il ait comme normale ANormal et qu'il passe par le point APoint.

Parameters
ANormalLe vecteur normale au plan
APointUn point par lequel passe le plan

Definition at line 77 of file plane.icc.

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.

Parameters
APointUn point de coordonnées (x, y)
AProjUn plan de projection dans lequel se trouve APoint
Returns
Le point du plan dont l'image est APoint par projection sur AProj

Definition at line 223 of file plane.icc.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  AStream,
const CPlane APlane 
)
friend

Affichage du plan APlane sur AStream.


The documentation for this class was generated from the following files: