Home | Develop | Download | Contact
Triangle.hpp
1/*
2 * Triangle.hpp
3 *
4 * Copyright 2021 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_TRIANGLE_HPP__
33#define __PDS_TRIANGLE_HPP__
34
35#include <string>
36#include <Pds/Point2D>
37#include <Pds/Matrix>
38#include <Pds/Vector>
39
48namespace Pds{
49
58{
59
60private:
61 /* Punto 1.*/
63
64 /* Punto 2.*/
66
67 /* Punto 3.*/
69public:
70
81 Triangle(void);
82
83
92
93
101
102
104
109public:
110
123 Pds::Matrix RandPerimeter(unsigned int L) const;
124
133 Pds::Matrix RandSamples(unsigned int L) const;
139public:
140
164
165
181 double Evaluate(double x1,double x2) const;
182
183
198 double Evaluate(const Pds::Point2D &p) const;
203public:
204
216 Pds::Point2D GetP1(void) const;
217
224 Pds::Point2D GetP2(void) const;
225
232 Pds::Point2D GetP3(void) const;
233
244 double GetArea(void) const;
245
251public:
252
282
293 bool Copy(const Pds::Triangle &B);
294
300 void MakeEmpty(void);
301
306public:
307
317 bool IsEmpty(void) const;
318
319
329 bool IsInside(double x1,double x2) const;
330
331
340 bool IsInside(const Pds::Point2D &p) const;
341
346public:
347
358 void Print(std::string str="") const;
359
360
365 void PrintStylized(std::string str="") const;
366
372public:
373
395 Pds::Json ToJson(void) const;
396
397
414 bool FromJson(const Pds::Json &J) ;
415
421}; // Class Triangle
422
423} // namespace Pds
424
425
441 std::ostream& operator<<(std::ostream &out,const Pds::Triangle &z);
442
443
453#endif
454
La clase tipo Pds::Json . Esta clase genera una estructura capaz de almacenar datos del formato Json....
Definition: Json.hpp:63
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:96
La clase tipo Pds::Point2D . Esta clase genera un objeto con dos parametros X y Y....
Definition: Point2D.hpp:59
La clase tipo Pds::Triangle . Esta clase genera un objeto con dos parámetros theta y rho....
Definition: Triangle.hpp:58
Pds::Point2D p2
Definition: Triangle.hpp:65
Pds::Point2D p3
Definition: Triangle.hpp:68
Pds::Point2D p1
Definition: Triangle.hpp:62
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:80
Pds::Matrix RandSamples(unsigned int L) const
Retorna, en las lineas de la matriz, muestras que describen al triángulo.
Pds::Point2D GetP2(void) const
Retorna el punto del triángulo.
Pds::Point2D GetP3(void) const
Retorna el punto del triángulo.
void MakeEmpty(void)
Cera los datos internos.
Pds::Matrix RandPerimeter(unsigned int L) const
Retorna, en las lineas de la matriz, muestras que describen el perímetro del triángulo.
Triangle(const Pds::Point2D &p1, const Pds::Point2D &p2, const Pds::Point2D &p3)
Crea un objeto de tipo Pds::Triangle.
Pds::Json ToJson(void) const
Retorna un objeto Pds::Json con el contenido del objeto.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::Triangle, elementos separados por tabulador.
std::ostream & operator<<(std::ostream &out, const Pds::Triangle &z)
Retorna el contenido del objeto por la salida estándar.
Pds::Point2D GetP1(void) const
Retorna el punto del triángulo.
Triangle(const Pds::Triangle &B)
Crea un objeto de tipo Pds::Triangle copiando datos desde otra.
bool IsInside(const Pds::Point2D &p) const
Evalua un punto (x1,x2) en el triángulo o en la frontera.
bool Copy(const Pds::Triangle &B)
Copia en si mismo (A), el contenido de un triángulo B. Este método es similar a usar el operador = .
bool IsInside(double x1, double x2) const
Evalua un punto (x1,x2) en el triángulo o en la frontera.
Pds::Vector EvalSamples(const Pds::Matrix &X) const
Evalua cada linea de la matrix en la ecuación .
Triangle(void)
Crea un objeto de tipo Pds::Triangle.
double Evaluate(double x1, double x2) const
Evalua un punto (x1,x2) en el triángulo f(x1,x2).
double GetArea(void) const
Retorna el área del triángulo.
bool FromJson(const Pds::Json &J)
Lee un objeto Pds::Json busca la etiqueta "Triangle" y lo carga. El objeto debe tener al menos los si...
void PrintStylized(std::string str="") const
Muestra en pantalla el contenido de Pds::Triangle, elementos separados por tabulador.
double Evaluate(const Pds::Point2D &p) const
Evalua un punto p=(x1,x2) en el triángulo f(x1,x2).
Pds::Triangle & operator=(const Pds::Triangle &B)
Copia en si mismo (A), un triángulo B. Este operador es similar al método Copy().
bool IsEmpty(void) const
Verifica si la línea es válida.
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