TXSLib : Class TCurve
La classe TCurve représente une liste de couples de points X et Y de la classe TXYData représentant les coordonnées X et Y des points d'une courbe. Elle est utilisée par les classes :
- TGraph
- TXYGraph
- TYGraph
Pour une présentation et des exemples d'utilisations détaillés se reporter à la rubrique Tracés de courbes.
Fonctions publiques
| TCurve(QObject *parent = 0) | |
| ~TCurve() | |
| TCurve(const TCurve& Curve) | |
| TCurve& | operator=(const TCurve& Curve) |
| void | Append(const double * const pYData, const uint& uSize) |
| void | Append(const double * const pXData, const double * const pYData, const uint& uSize) |
| void | Append(const TXYData * const pData, const uint& uSize) |
| TXYData* | At(const int& Pos) |
| void | Clear() |
| int | FindClosestXPosition(const double& Value) |
| int | FindClosestYPosition(const double& Value) |
| TXYData* | First() |
| bool | GetMinMax(double* pdXMinimum, double* pdXMaximum, double* pdYMinimum, double* pdYMaximum, int* pdXMinimumPosition = NULL, int* pdXMaximumPosition = NULL, int* pdYMinimumPosition = NULL, int* pdYMaximumPosition = NULL) |
| bool | GetXMax(double* pdXMaximum, int* pdXMaximumPosition = NULL) |
| bool | GetXMin(double* pdXMinimum, int* pdXMinimumPosition = NULL) |
| bool | GetXMinMax(double* pdXMaximum, double* pdXMinimum, int* pdXMaximumPosition = NULL, int* pdXMinimumPosition = NULL) |
| bool | GetYMax(double* pdYMaximum, int* pdYMaximumPosition = NULL) |
| bool | GetYMin(double* pdYMinimum, int* pdYMinimumPosition = NULL) |
| bool | GetYMinMax(double* pdYMaximum, double* pdYMinimum, int* pdYMaximumPosition = NULL, int* pdYMinimumPosition = NULL) |
| bool | IsEmpty() |
| TXYData* | Last() |
| void | Set(const double * const pYData, const uint& uSize) |
| void | Set(const double * const pXData, const double * const pYData, const uint& uSize) |
| void | Set(const TXYData * const pData, const uint& uSize) |
| bool | SetAxes(const TXS::Axis& eXAxis, const TXS::Axis& eYAxis) |
| int | Size() |
| void | Slide(const double * const pYData, const uint& uSize) |
| void | Slide(const double * const pXData, const double * const pYData, const uint& uSize) |
| void | Slide(const TXYData * const pData, const uint& uSize) |
Fonctions publiques statiques
| TCurve* | CreateWaveForm(TCurve* pCurve, const TXS::Waveform& eShape, const double& dGain, const double& dOffset, const double& dPhase, const unsigned int& nCycles, const unsigned int& nCycleLengh) |
| double* | CreateWaveForm(double* pWaveform, unsigned int* pnSize, const TXS::Waveform& eShape, const double& dGain, const double& dOffset, const double& dPhase, const unsigned int& nCycles, const unsigned int& nCycleLengh) |
Propriétés
| Propriétés | Type | Ecriture | Lecture |
| HasConnectedPoints | bool | SetHasConnectedPoints | HasConnectedPoints |
| Color | QColor | SetColor | GetColor |
| Font | QFont | SetFont | GetFont |
| Name | QString | SetName | GetName |
| Style | TXS::LineStyle | SetStyle | GetStyle |
| Symbol | TXS::Symbol | SetSymbol | GetSymbol |
| SymbolSize | int | SetSymbolSize | GetSymbolSize |
| SymbolVisible | bool | SetSymbolVisible | IsSymbolVisible |
| Thickness | int | SetThickness | GetThickness |
| Visible | bool | SetIsVisible | IsVisible |
| XAxis | TXS::Axis | SetXAxis | GetXAxis |
| YAxis | TXS::Axis | SetYAxis | GetYAxis |
Description : Contructeur par défaut. Instancie un objet de la classe TCurve. La liste de points TXYData de la courbe est vide.
Paramètre : parent - type QObject* - Objet parent. Paramètre pouvant être laissé vide.
Description : Destructeur de la classe. Efface tous les points TXYData de la liste de points.
Description : Contructeur par copie. Instancie un objet de la classe TCurve. La liste de points TXYData est copiée à partir de celle de l'objet passé en paramètre.
Paramètre : Curve - type TCurve& - Objet TCurve à copier
Description : Opérateur d'assignation. Retourne un objet de la classe TCurve dont la liste de points TXYData est copiée à partir de celle de l'objet passé en paramètre.
Paramètre : Curve - type TCurve& - Objet TCurve source
valeur de retour : Référence vers un objet TCurve assigné à partir de l'objet passé en paramètre
Description : Ajoute à la liste de points TXYData de la courbe des points ou la valeur X est incrémentée de 1 en 1 à partir du dernier point existant avant l'ajout. Les coordonnées Y sont celles issues du tableau pYData passé comme paramètre. Le paramètre uSize spécifie le nombre de points à ajouter. Le tableau pYData doit au moins contenir uSize valeurs.
Paramètre : pYData - type double* - Tableau des coordonnées Y
Paramètre : uSize - type uint& - Nombre de points à ajouter
Description : Ajoute des points à la liste de points TXYData de la courbe. Les coordonnées X sont celles issues du tableau pXData passé comme paramètre. Les coordonnées Y sont celles issues du tableau pYData passé comme paramètre. Le paramètre uSize spécifie le nombre de points à ajouter. Les tableaux pXData et pYData doivent au moins contenir uSize valeurs.
Paramètre : pXData - type double* - Tableau des coordonnées X
Paramètre : pYData - type double* - Tableau des coordonnées Y
Paramètre : uSize - type uint& - Nombre de points à ajouter
Description : Ajoute des points à la liste de points TXYData de la courbe des points. Les coordonnées X et Y sont celles issues du tableau pData passé comme paramètre. Le paramètre uSize spécifie le nombre de points à ajouter. Le tableau pData doit au moins contenir uSize valeurs.
Paramètre : pData - type TXYData* - Tableau des coordonnées X et Y
Paramètre : uSize - type uint& - Nombre de points à ajouter
Description : Retourne le point de coordonnées X et Y du type TXYData situé à la position Pos de la courbe. Si le point à la position Pos n'exisste pas la valeur retourrnée est un pointeur nul.
Paramètre : Pos - type int - Position dans la courbe des coordonnées à retourner
Valeur de retour : Pointeur vers l'objet de coordonnées de type TXYData.
Description : Efface tous les points de la courbe.
Description : Retourne l'indice du point de la courbe dont la coodonnée X est la plus proche de celle passé en paramètre. La valeur retournée est égale à -1 si le point ne peut être localisé.
Paramètre : Value - type double& - Valeur en X à localiser
Valeur de retour : Indice du point de la courbe le plus proche du critère de recherche.
Description : Retourne l'indice du point de la courbe dont la coodonnée Y est la plus proche de celle passé en paramètre. La valeur retournée est égale à -1 si le point ne peut être localisé.
Paramètre : Value - type double& - Valeur en Y à localiser
Valeur de retour : Indice du point de la courbe le plus proche du critère de recherche.
Description : Retourne le premier point de coordonnées X et Y du type TXYData de la courbe. Si la courbe est vide, la valeur retournée est un pointeur nul.
Valeur de retour : Pointeur vers le premier objet de coordonnées de type TXYData de la courbe.
Description : Retourne les coordonnées X et Y minimales et maximales de la courbe ainsi que leurs positions dans la courbe.
Paramètre de sortie : pdXMinimum : Type double* : En sortie de la fonction, pointe vers la valeur X minimale de la courbe.
Paramètre de sortie : pdXMaximum : Type double* : En sortie de la fonction, pointe vers la valeur X maximale de la courbe.
Paramètre de sortie : pdYMinimum : Type double* : En sortie de la fonction, pointe vers la valeur Y minimale de la courbe.
Paramètre de sortie : pdYMaximum : Type double* : En sortie de la fonction, pointe vers la valeur Y minimale de la courbe.
Paramètre de sortie : pdXMinimumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur X minimale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Paramètre de sortie : pdXMaximumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur X maximale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Paramètre de sortie : pdYMinimumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur Y minimale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Paramètre de sortie : pdYMaximumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur Y maximale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Valeur de retour : Booléen indiquant le succès ou l'echec de la recherche.
Description : Retourne la coordonnée X maximale de la courbe ainsi que sa position dans la courbe.
Paramètre de sortie : pdXMaximum : Type double* : En sortie de la fonction, pointe vers la valeur X maximale de la courbe.
Paramètre de sortie : pdXMaximumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur X maximale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Valeur de retour : Booléen indiquant le succès ou l'echec de la recherche.
Description : Retourne la coordonnée X minimale de la courbe ainsi que sa position dans la courbe.
Paramètre de sortie : pdXMinimum : Type double* : En sortie de la fonction, pointe vers la valeur X minimale de la courbe.
Paramètre de sortie : pdXMinimumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur X minimale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Valeur de retour : Booléen indiquant le succès ou l'echec de la recherche.
Description : Retourne les coordonnées X minimales et maximales de la courbe ainsi que leurs positions dans la courbe.
Paramètre de sortie : pdXMinimum : Type double* : En sortie de la fonction, pointe vers la valeur X minimale de la courbe.
Paramètre de sortie : pdXMaximum : Type double* : En sortie de la fonction, pointe vers la valeur X maximale de la courbe.
Paramètre de sortie : pdXMinimumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur X minimale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Paramètre de sortie : pdXMaximumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur X maximale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Valeur de retour : Booléen indiquant le succès ou l'echec de la recherche.
Description : Retourne la coordonnée Y maximale de la courbe ainsi que sa position dans la courbe.
Paramètre de sortie : pdYMaximum : Type double* : En sortie de la fonction, pointe vers la valeur Y maximale de la courbe.
Paramètre de sortie : pdYMaximumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur Y maximale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Valeur de retour : Booléen indiquant le succès ou l'echec de la recherche.
Description : Retourne la coordonnée Y minimale de la courbe ainsi que sa position dans la courbe.
Paramètre de sortie : pdYMinimum : Type double* : En sortie de la fonction, pointe vers la valeur Y minimale de la courbe.
Paramètre de sortie : pdYMinimumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur Y minimale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Valeur de retour : Booléen indiquant le succès ou l'echec de la recherche.
Description : Retourne les coordonnées Y minimales et maximales de la courbe ainsi que leurs positions dans la courbe.
Paramètre de sortie : pdYMinimum : Type double* : En sortie de la fonction, pointe vers la valeur Y minimale de la courbe.
Paramètre de sortie : pdYMaximum : Type double* : En sortie de la fonction, pointe vers la valeur Y maximale de la courbe.
Paramètre de sortie : pdYMinimumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur Y minimale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Paramètre de sortie : pdYMaximumPosition : Type int* : En sortie de la fonction, pointe vers la position de la valeur Y maximale de la courbe. Ce paramètre est mis à jour si le pointeur passé en entrée de la fonction est différent de NULL.
Valeur de retour : Booléen indiquant le succès ou l'echec de la recherche.
Description : Retourne un booléen indiquant si la courbe est vide ou non.
Valeur de retour : true si la courbe est vide.
Description : Retourne le dernier point de coordonnées X et Y du type TXYData de la courbe. Si la courbe est vide, la valeur retournée est un pointeur nul.
Valeur de retour : Pointeur vers le dernier objet de coordonnées de type TXYData de la courbe.
Description : Initialise la liste de points TXYData de la courbe des points ou la valeur X est incrémentée de 1 en 1 à partir 0. Les coordonnées Y sont celles issues du tableau pYData passé comme paramètre. Le paramètre uSize spécifie le nombre de points dans la courbe. Le tableau pYData doit au moins contenir uSize valeurs.
Paramètre : pYData - type double* - Tableau des coordonnées Y
Paramètre : uSize - type uint& - Nombre de points à ajouter
Description : Initialise la liste de points TXYData de la courbe. Les coordonnées X sont celles issues du tableau pXData passé comme paramètre. Les coordonnées Y sont celles issues du tableau pYData passé comme paramètre. Le paramètre uSize spécifie le nombre de points à ajouter. Les tableaux pXData et pYData doivent au moins contenir uSize valeurs.
Paramètre : pXData - type double* - Tableau des coordonnées X
Paramètre : pYData - type double* - Tableau des coordonnées Y
Paramètre : uSize - type uint& - Nombre de points à ajouter
Description : Initialise la liste de points TXYData de la courbe des points. Les coordonnées X et Y sont celles issues du tableau pData passé comme paramètre. Le paramètre uSize spécifie le nombre de points à ajouter. Le tableau pData doit au moins contenir uSize valeurs.
Paramètre : pData - type TXYData* - Tableau des coordonnées X et Y
Paramètre : uSize - type uint& - Nombre de points à ajouter
Description : Assigne les valeurs aux propriétés XAxis et YAxis
Paramètre : eXAxis - type TXS::Axis - Axe X
Paramètre : eYAxis - type TXS::Axis - Axe Y
Valeur de retour : Booléen indiquant le succès ou l'echec des assignations.
Description : Retourne le nombre de points dans la courbe.
Valeur de retour : Nombre de points de la courbe.
Description : Ajoute à la liste de points TXYData de la courbe des points ou la valeur X est incrémentée de 1 en 1 à partir du dernier point existant avant l'ajout. Les coordonnées Y sont celles issues du tableau pYData passé comme paramètre. Le paramètre uSize spécifie le nombre de points à ajouter. Le tableau pYData doit au moins contenir uSize valeurs. La fonction supprime également en tête de la courbe le même nombre de points que ceux ajoutés en fin de courbe.
Paramètre : pYData - type double* - Tableau des coordonnées Y
Paramètre : uSize - type uint& - Nombre de points à ajouter
Description : Ajoute des points à la liste de points TXYData de la courbe. Les coordonnées X sont celles issues du tableau pXData passé comme paramètre. Les coordonnées Y sont celles issues du tableau pYData passé comme paramètre. Le paramètre uSize spécifie le nombre de points à ajouter. Les tableaux pXData et pYData doivent au moins contenir uSize valeurs. La fonction supprime également en tête de la courbe le même nombre de points que ceux ajoutés en fin de courbe.
Paramètre : pXData - type double* - Tableau des coordonnées X
Paramètre : pYData - type double* - Tableau des coordonnées Y
Paramètre : uSize - type uint& - Nombre de points à ajouter
Description : Ajoute des points à la liste de points TXYData de la courbe des points. Les coordonnées X et Y sont celles issues du tableau pData passé comme paramètre. Le paramètre uSize spécifie le nombre de points à ajouter. Le tableau pData doit au moins contenir uSize valeurs. La fonction supprime également en tête de la courbe le même nombre de points que ceux ajoutés en fin de courbe.
Paramètre : pData - type TXYData* - Tableau des coordonnées X et Y
Paramètre : uSize - type uint& - Nombre de points à ajouter
Description : Cette méthode statique crée un signal selon les sépcifications des valeurs passées en paramètre. Les paramètres dGain, dOffset, dPhase, nCycles et nCycleLenght ont une signification différente et adaptée selon la valeur passée pour le paramètre eShape :
- Si eShape = TXS::Waveform_Ramp : Les paramètres dPhase et nCycles sont ignorés. La rampe créée aura une valeur démarrant à dOffset et terminant à dOffset + dGain. Elle aura une longueur de nCycleLenght.
- Si eShape = TXS::Waveform_Noise : Les paramètres dPhase et nCycles sont ignorés. le bruit généré aura une amplitude de dGain avec un offset continu de dOffset. Le signal créé aura une valeur démarrant à dOffset et erminant à dOffset + dGain. Elle aura une lingueur de nCycleLenght.
- Pour toutes les autres valeurs de eShape : Les signaux générés sont des signaux réccurents (alternances successives). Tous les paramètres sont utilisés. La longueur du signal généré
est de nCycles alternances multiplé par la longueur de chaque cycle spécifié par le paramètre nCycleLenght.
Paramètre : pCurve - type TCurve* - Pointeur vers l'objet TCurve qui recevra le signal. La fonction alloue de la mémoire pour cet objet. Il est donc inutile de le dimensionner avant l'appel de la fonction. Si c'est le cas, il sera détruit avant d'être réalloué pour le signal créé.
Paramètre : eShape - type TXS::Waveform - Forme du signal.
Paramètre : dGain - type double& - Amplitude du signal
Paramètre : dOffset - type double& - Offset du signal (Composante continue)
Paramètre : dPhase - type double& - Phase à l'origine exprimée en degrés (°). Doit être compris entre 0 et 360.
Paramètre : nCycles - type unsigned int& - Nombre de cycles.
Paramètre : nCycleLenght - type unsigned int& - Nombre de points par cycles.
Valeur de retour : Pointeur vers l'objet TCurve passé en paramètre et modifié de manière à contenir le signal créé par la fonction.
Description : Cette méthode statique crée un signal selon les sépcifications des valeurs passées en paramètre. Les paramètres dGain, dOffset, dPhase, nCycles et nCycleLenght ont une signification différente et adaptée selon la valeur passée pour le paramètre eShape :
- Si eShape = TXS::Waveform_Ramp : Les paramètres dPhase et nCycles sont ignorés. La rampe créée aura une valeur démarrant à dOffset et erminant à dOffset + dGain. Elle aura une lingueur de nCycleLenght.
- Si eShape = TXS::Waveform_Noise : Les paramètres dPhase et nCycles sont ignorés. le bruit généré aura une amplitude de dGain avec un offset continu de dOffset. Le signal créé aura une valeur démarrant à dOffset et erminant à dOffset + dGain. Elle aura une lingueur de nCycleLenght.
- Pour toutes les autres valeurs de eShape : Les signaux générés sont des signaux réccurents (alternances successives). Tous les paramètres sont utilisés. La longueur du signal généré
est de nCycles alternances multiplé par la longueur de chaque cycle spécifié par le paramètre nCycleLenght.
Paramètre : pWaveform - type double* - Pointeur vers unb tableau de double qui recevra le signal. La fonction alloue de la mémoire pour cet objet. Il est donc inutile de le dimensionner avant l'appel de la fonction. Si c'est le cas, il sera détruit avant d'être réalloué pour le signal créé.
Paramètre : eShape - type TXS::Waveform - Forme du signal.
Paramètre : dGain - type double& - Amplitude du signal
Paramètre : dOffset - type double& - Offset du signal (Composante continue)
Paramètre : dPhase - type double& - Phase à l'origine exprimée en degrés (°). Doit être compris entre 0 et 360.
Paramètre : nCycles - type unsigned int& - Nombre de cycles.
Paramètre : nCycleLenght - type unsigned int& - Nombre de points par cycles.
Valeur de retour : Pointeur vers l'objet pWaveform passé en paramètre et modifié de manière à contenir le signal créé par la fonction.
Description : Cette propriété définie si les points constituant la courbe doivent être reliés ou non.
Type : bool
Valeur par défaut : true
Ecriture : SetHasConnectedPoints(const bool& Tf)
Lecture : bool HasConnectedPoints();
Description : Cette propriété définie la couleur de la courbe
Type : QColor
Valeur par défaut : QColor(255,255,0,255) : Jaune
Ecriture : SetColor(const QColor& Color)
Lecture : QColor GetColor();
Description : Cette propriété définie la police de caractères de la courbe.
Type : QFont
Valeur par défaut : Police de caractères par defaut de l'application
Ecriture : SetFont(const QFont& Font)
Lecture : QFont GetFont();
Description : Cette propriété définie le nom de la courbe.
Type : QString
Valeur par défaut : Non nommée
Ecriture : SetName(const QString& Name)
Lecture : QString GetName();
Description : Cette propriété définie le style de ligne de la courbe.
Type : TXS::LineStyle
Valeur par défaut : TXS::SolidLine
Ecriture : SetStyle(const TXS::LineStyle& Style)
Lecture : TXS::LineStyle GetStyle();
Description : Cette propriété définie le symbole de chaque point de la courbe.
Type : TXS::Symbol
Valeur par défaut : TXS::Symbol_Cross
Ecriture : SetSymbol(const TXS::Symbol& Symbol)
Lecture : TXS::Symbol GetSymbol();
Description : Cette propriété définie la taille en pixels du symbole de chaque point de la courbe.
Type : int
Valeur par défaut : 6
Ecriture : SetSymbolSize(const int& Size)
Lecture : int GetSymbolSize();
Description : Cette propriété définie si le symbole de chaque point de la courbe est visible ou non.
Type : bool
Valeur par défaut : false
Ecriture : SetSymbolVisible(const bool& Tf)
Lecture : bool GetSymbolVisible();
Description : Cette propriété définie l'épaisseur de la lligne de la courbe.
Type : int
Valeur par défaut : 1
Ecriture : SetThickness(const int& Size)
Lecture : int GetThickness();
Description : Cette propriété définie si la courbe est visible ou non.
Type : bool
Valeur par défaut : true
Ecriture : SetIsVisible(const bool& Tf)
Lecture : bool IsVisible();
Description : Cette propriété définie l'axe X auquel est rattachée la courbe. La fonction SetAxis retourne un booléen indiquant le succès ou l'echec de la fonction. La raison de l'echec est lorsque l'on attribue à cette propriété une axe Y.
Type : TXS::Axis
Valeur par défaut : true
Ecriture : bool SetXAxis(const bool& Tf)
Lecture : bool GetXAxis();
Description : Cette propriété définie l'axe Y auquel est rattachéela courbe. La fonction SetAxis retourne un booléen indiquant le succès ou l'echec de la fonction. La raison de l'echec est lorsque l'on attribue à cette propriété une axe X.
Type : TXS::Axis
Valeur par défaut : true
Ecriture : bool SetYAxis(const bool& Tf)
Lecture : bool GetYAxis();