CPlane Class Reference

#include <plane.hh>

Collaboration diagram for CPlane:

Collaboration graph
[legend]

List of all members.

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

Private Attributes

Attributs privés
CVertex FNormal
TCoordinate FNormalNorm
TCoordinate FD

Friends

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


Detailed Description

Classe définissant un plan.

Definition at line 40 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:
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
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:
APoint1 Un point par lequel passe le plan
APoint2 Un point par lequel passe le plan
APoint3 Un 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:
ANormal Le vecteur normale au plan
APoint Un 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,
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:
APoint Un point d'un droite
ADirection Le vecteur directeur de la droite
AInter Le 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 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:
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
Returns:
vrai s'il y a une intersection, faux sinon

Definition at line 148 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:
APoint Un 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:
APoint Un 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,
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:
APoint Un point de coordonnées (x, y, z)
AProj Un plan de projection
Returns:
L'image de APoint par projection sur le plan AProj

Definition at line 208 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:
APoint Un 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 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 ( 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:
ANormal Le vecteur normale au plan
APoint Un point par lequel passe le plan

Definition at line 77 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:
APoint1 Un point par lequel passe le plan
APoint2 Un point par lequel passe le plan
APoint3 Un point par lequel passe le plan

Definition at line 65 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:
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

Definition at line 57 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:
APoint Un point de coordonnées (x, y)
AProj Un 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.


Member Data Documentation

Coefficient D de l'équation du plan qui est Ax + By + Cz + D = 0.

Definition at line 284 of file plane.hh.

Normale au plan. Correspond aux coefficients A, B, C dans l'équation du plan qui est Ax + By + Cz + D = 0

Definition at line 278 of file plane.hh.

Norme de la normale au plan.

Definition at line 281 of file plane.hh.


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

Generated on Tue Jul 7 15:20:27 2009 for Moka gmapkernel by  doxygen 1.5.8