Home | Develop | Download | Contact
Point2D.hpp
1/*
2 * Point2D.hpp
3 *
4 * Copyright 2018 Fernando Pujaico Rivera <fernando.pujaico.rivera@gmail.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19 * MA 02110-1301, USA.
20 *
21 */
22
32#ifndef __PDS_POINT2D_HPP__
33#define __PDS_POINT2D_HPP__
34
35#include <string>
36#include <vector>
37
38
47namespace Pds{
48
49class Vector;
50
59{
60
61public:
62
63 double X;
64 double Y;
65
66public:
67
77 Point2D(void);
78
85 Point2D(double X,double Y);
86
92 Point2D(const std::initializer_list<double> list);
93
99 Point2D(const std::initializer_list<int> list);
100
109
110
112
117public:
118
144
155 bool Copy(const Pds::Point2D &B);
156
162 void MakeEmpty(void);
167public:
178 void Print(std::string str="");
179
185 void PrintStylized(std::string str="");
186
191public:
204 double CrossProduct(const Pds::Point2D &B) const;
205
213 double Dot(const Pds::Point2D &B) const;
214
221 double SumSquare(void) const;
222
229 double Norm(void) const;
230
238 double NormDiff(const Pds::Point2D &B) const;
239
246 double RMS(void) const;
247
254 double MeanSquare(void) const;
255
263 double MSE(const Pds::Point2D &B) const;
264
272 double RMSE(const Pds::Point2D &B) const;
273
278public:
288 std::vector<double> ToStdVector(void) const;
289
295
300public:
314
323
331 Pds::Point2D operator+(double b) const;
332
340 Pds::Point2D Add(double b) const;
341
350
359
367 Pds::Point2D operator-(double b) const;
368
376 Pds::Point2D Sub(double b) const;
377
385 Pds::Point2D operator*(double b) const;
386
394 Pds::Point2D Mul(double b) const;
395
396
404 Pds::Point2D operator/(double b) const;
405
413 Pds::Point2D Div(double b) const;
414
418}; // Class Point2D
419
420} // namespace Pds
421
422
438 std::ostream& operator<<(std::ostream &out,const Pds::Point2D &z);
439
451
463
484#endif
485
La clase tipo Pds::Point2D . Esta clase genera un objeto con dos parametros X y Y....
Definition: Point2D.hpp:59
double X
Definition: Point2D.hpp:63
double Y
Definition: Point2D.hpp:64
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:80
double CrossProduct(const Pds::Point2D &B) const
Calcula el modulo del producto vectorial entre dos Pds::Point2D.
void Print(std::string str="")
Muestra en pantalla el contenido de Pds::Point2D, elementos separados por tabulador.
Pds::Point2D operator+(const Pds::Point2D &B) const
Calcula valor de la suma de un par de Pds::Point2D.
Pds::Point2D Div(double b) const
Calcula valor de la divición con un par de Pds::Point2D.
Point2D(const Pds::Point2D &B)
Crea un objeto de tipo Pds::Point2D copiando datos desde otra.
double RMSE(const Pds::Point2D &B) const
Calcula valor de la raiz del error quadrático medio de un par de Pds::Point2D.
double Norm(void) const
Calcula valor de la norma de un Pds::Point2D.
Pds::Point2D Add(const Pds::Point2D &B) const
Calcula valor de la suma de un par de Pds::Point2D.
Pds::Point2D Mul(double b) const
Calcula valor de la multiplicación con un par de Pds::Point2D.
double MSE(const Pds::Point2D &B) const
Calcula valor del error quadrático medio de un par de Pds::Point2D.
Pds::Point2D operator+(double b) const
Calcula valor de la suma de un par de Pds::Point2D.
Pds::Point2D & operator=(const Pds::Point2D &B)
Copia en si mismo (A), un Shape B. Este operador es similar al método Copy().
Pds::Point2D operator/(double b) const
Calcula valor de la divición con un par de Pds::Point2D.
Pds::Point2D operator-(const Pds::Point2D &B) const
Calcula valor de la resta de un par de Pds::Point2D.
std::ostream & operator<<(std::ostream &out, const Pds::Point2D &z)
Retorna el contenido del objeto por la salida estándar.
void MakeEmpty(void)
Cera los datos internos.
double SumSquare(void) const
Calcula valor de la suma quadrática de un Pds::Point2D.
void PrintStylized(std::string str="")
Muestra en pantalla el contenido de Pds::Point2D, en el formato [Nli,Ncol].
Pds::Point2D operator+(double b, const Pds::Point2D &A)
Retorna la suma con un escalar.
Pds::Point2D Sub(double b) const
Calcula valor de la resta de un par de Pds::Point2D.
Pds::Point2D operator-(double b, const Pds::Point2D &A)
Retorna la resta con un escalar.
bool Copy(const Pds::Point2D &B)
Copia en si mismo (A), el contenido de un Shape B. Este método es similar a usar el operador = .
Point2D(const std::initializer_list< int > list)
Crea un objeto de tipo Pds::Point2D.
Point2D(double X, double Y)
Crea un objeto de tipo Pds::Point2D.
double NormDiff(const Pds::Point2D &B) const
Calcula valor de la norma de un Pds::Point2D.
double Dot(const Pds::Point2D &B) const
Calcula el producto punto entre dos Pds::Point2D.
Pds::Point2D Add(double b) const
Calcula valor de la suma de un par de Pds::Point2D.
Point2D(void)
Crea un objeto de tipo Pds::Point2D.
double MeanSquare(void) const
Calcula valor quadrático medio de un Pds::Point2D.
Pds::Vector ToVector(void) const
Retorna un Pds::Vector con los elelentos del punto, {X,Y}.
Pds::Point2D Sub(const Pds::Point2D &B) const
Calcula valor de la resta de un par de Pds::Point2D.
std::vector< double > ToStdVector(void) const
Retorna un std::vector con los elelentos del punto, {X,Y}.
Pds::Point2D operator*(double b, const Pds::Point2D &A)
Retorna la multiplicación con un escalar.
Point2D(const std::initializer_list< double > list)
Crea un objeto de tipo Pds::Point2D.
Pds::Point2D operator-(double b) const
Calcula valor de la resta de un par de Pds::Point2D.
Pds::Point2D operator*(double b) const
Calcula valor de la multiplicación con un par de Pds::Point2D.
double RMS(void) const
Calcula valor raiz quadrático medio de un Pds::Point2D.
Nombre de espacio para Pds (Procesamiento Digital de Senales)
Definition: AbstractRV.hpp:42

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed