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

#include <vertex.hh>

Inheritance diagram for CVertex:
CAttributeVertex

Public Member Functions

 CVertex ()
 
 CVertex (TCoordinate Ax, TCoordinate Ay, TCoordinate Az)
 
 CVertex (TCoordinate ATab[3])
 
 CVertex (const CVertex &AVertex)
 
 ~CVertex ()
 
TCoordinate getX () const
 
TCoordinate getY () const
 
TCoordinate getZ () const
 
TCoordinate getCoord (int ADim) const
 
void setX (TCoordinate ANewX)
 
void setY (TCoordinate ANewY)
 
void setZ (TCoordinate ANewZ)
 
void setCoord (int ADim, TCoordinate ANewCoord)
 
void setXYZ (TCoordinate ANewX, TCoordinate ANewY, TCoordinate ANewZ)
 
CVertexoperator= (const CVertex &AVertex)
 
bool operator== (const CVertex &AVertex) const
 
bool operator!= (const CVertex &AVertex) const
 
CVertexoperator+= (const CVertex &)
 
CVertexoperator-= (const CVertex &)
 
CVertexoperator*= (TCoordinate)
 
CVertexoperator/= (TCoordinate)
 
CVertex operator* (TCoordinate) const
 
CVertex operator/ (TCoordinate) const
 
CVertex operator+ (const CVertex &) const
 
CVertex operator- (const CVertex &) const
 
CVertex operator+ () const
 
CVertex operator- () const
 
CVertex operator* (const CVertex &AVector) const
 
TCoordinate dot (const CVertex &AVector) const
 
TCoordinate norm () const
 
TCoordinate normalize ()
 
CVertex normalized () const
 
TCoordinate sqrNorm () const
 
bool isNull () const
 
CVertex multiply (const CVertex &AVector) const
 
CVertex divide (const CVertex &AVector) const
 

Detailed Description

Définit la classe CVertex qui représente un sommet 3D. Les instances de cette classe peuvent aussi être utilisées comme des vecteurs 3D.

Conventions:

alpha.b signifie produit scalaire entre alpha et b résultat: ax*bx + ay*by + az*bz alpha*b signifie produit vectoriel entre alpha et b résultat: { ay*bz-az*by, az*bx-ax*bz, ax*by-ay*bx }

Author
MOKA TEAM

Definition at line 47 of file vertex.hh.

Constructor & Destructor Documentation

INLINE CVertex::CVertex ( )

Constructeur par défaut Construction d'une nouvelle instance de la classe, initialisée au sommet origine (0,0,0).

Returns
Une nouvelle instance de la classe

Definition at line 29 of file vertex.icc.

INLINE CVertex::CVertex ( TCoordinate  Ax,
TCoordinate  Ay,
TCoordinate  Az 
)

Constructeur avec initialisation Construction d'une nouvelle instance de la classe, initialisée au sommet de coordonnées (Ax,Ay,Az).

Parameters
AxLa première coordonnée du sommet
AyLa deuxième coordonnée du sommet
AzLa troisième coordonnée du sommet
Returns
Une nouvelle instance de la classe

Definition at line 35 of file vertex.icc.

INLINE CVertex::CVertex ( TCoordinate  ATab[3])

Constructeur avec initialisation Construction d'une nouvelle instance de la classe, initialisée au sommet de coordonnées (ATab[0],ATab[1],ATab[2]).

Parameters
ATabUn tableau des 3 coordonnées du sommet
Returns
Une nouvelle instance de la classe

Definition at line 41 of file vertex.icc.

INLINE CVertex::CVertex ( const CVertex AVertex)

Constructeur par copie Construction d'une nouvelle instance de la classe, en copiant le sommet passé en paramètre.

Parameters
AVertexle sommet à copier
Returns
Une nouvelle instance de la classe

Definition at line 47 of file vertex.icc.

CVertex::~CVertex ( )

Destructeur

Definition at line 29 of file vertex.cc.

Member Function Documentation

INLINE CVertex CVertex::divide ( const CVertex AVector) const

Calcule la division composante par composante de *this et AVector.

Parameters
AVectorUn vecteur quelconque
Returns
(X/X' Y/Y' Z/Z')

Definition at line 215 of file vertex.icc.

INLINE TCoordinate CVertex::dot ( const CVertex AVector) const

Produit scalaire

Definition at line 227 of file vertex.icc.

INLINE TCoordinate CVertex::getCoord ( int  ADim) const

Accès en lecture à une composante du sommet.

Parameters
ADimUne dimension (0, 1 ou 2)

Definition at line 71 of file vertex.icc.

INLINE TCoordinate CVertex::getX ( ) const

Accès en lecture à la première composante du sommet.

Definition at line 53 of file vertex.icc.

INLINE TCoordinate CVertex::getY ( ) const

Accès en lecture à la deuxième composante du sommet.

Definition at line 59 of file vertex.icc.

INLINE TCoordinate CVertex::getZ ( ) const

Accès en lecture à la troisième composante du sommet.

Definition at line 65 of file vertex.icc.

INLINE bool CVertex::isNull ( ) const

Teste si le sommet est l'origine en utilisant la fonction isZero de la bibliothèque "math".

Definition at line 236 of file vertex.icc.

INLINE CVertex CVertex::multiply ( const CVertex AVector) const

Calcule le produit composante par composante de *this et AVertex.

Parameters
AVectorUn vecteur quelconque
Returns
(X.X' Y.Y' Z.Z')

Definition at line 207 of file vertex.icc.

INLINE TCoordinate CVertex::norm ( ) const

Distance euclidienne du sommet à l'origine.

Definition at line 245 of file vertex.icc.

INLINE TCoordinate CVertex::normalize ( )

Normalisation d'un vecteur.

Definition at line 251 of file vertex.icc.

INLINE CVertex CVertex::normalized ( ) const

Normalisation d'un vecteur.

Definition at line 259 of file vertex.icc.

INLINE bool CVertex::operator!= ( const CVertex AVertex) const

Definition at line 127 of file vertex.icc.

INLINE CVertex CVertex::operator* ( TCoordinate  ACoef) const

Definition at line 146 of file vertex.icc.

INLINE CVertex CVertex::operator* ( const CVertex AVector) const

Produit vectoriel

Definition at line 199 of file vertex.icc.

INLINE CVertex & CVertex::operator*= ( TCoordinate  ACoef)

Definition at line 159 of file vertex.icc.

INLINE CVertex CVertex::operator+ ( const CVertex AVector) const

Definition at line 171 of file vertex.icc.

INLINE CVertex CVertex::operator+ ( ) const

Definition at line 187 of file vertex.icc.

INLINE CVertex & CVertex::operator+= ( const CVertex AVector)

Definition at line 133 of file vertex.icc.

INLINE CVertex CVertex::operator- ( const CVertex AVector) const

Definition at line 179 of file vertex.icc.

INLINE CVertex CVertex::operator- ( ) const

Definition at line 193 of file vertex.icc.

INLINE CVertex & CVertex::operator-= ( const CVertex AVector)

Definition at line 140 of file vertex.icc.

INLINE CVertex CVertex::operator/ ( TCoordinate  ACoef) const

Definition at line 152 of file vertex.icc.

INLINE CVertex & CVertex::operator/= ( TCoordinate  ACoef)

Definition at line 165 of file vertex.icc.

INLINE CVertex & CVertex::operator= ( const CVertex AVertex)

Definition at line 111 of file vertex.icc.

INLINE bool CVertex::operator== ( const CVertex AVertex) const

Definition at line 118 of file vertex.icc.

INLINE void CVertex::setCoord ( int  ADim,
TCoordinate  ANewCoord 
)

Change la valeur de la composante ADim du sommet.

Parameters
ADimUne dimension (0, 1 ou 2)
ANewCoordUne valeur quelconque

Definition at line 96 of file vertex.icc.

INLINE void CVertex::setX ( TCoordinate  ANewX)

Positionne la première composante du sommet à la valeur ANewX.

Parameters
ANewXUne valeur quelconque

Definition at line 78 of file vertex.icc.

INLINE void CVertex::setXYZ ( TCoordinate  ANewX,
TCoordinate  ANewY,
TCoordinate  ANewZ 
)

Affecte les trois composantes du sommet.

Parameters
ANewXUne valeur quelconque
ANewYUne valeur quelconque
ANewZUne valeur quelconque

Definition at line 103 of file vertex.icc.

INLINE void CVertex::setY ( TCoordinate  ANewY)

Positionne la deuxième composante du sommet à la valeur ANewY.

Parameters
ANewYUne valeur quelconque

Definition at line 84 of file vertex.icc.

INLINE void CVertex::setZ ( TCoordinate  ANewZ)

Positionne la troisième composante du sommet à la valeur ANewZ.

Parameters
ANewZUne valeur quelconque

Definition at line 90 of file vertex.icc.

INLINE TCoordinate CVertex::sqrNorm ( ) const

Distance euclidienne au carré du sommet à l'origine.

Definition at line 267 of file vertex.icc.


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