Home | Develop | Download | Contact
Namespaces | Estructuras de datos
Clase Pds::Triangle

Clase que implementa un triángulo. Más...

Namespaces

namespace  Pds
 Nombre de espacio para Pds (Procesamiento Digital de Senales)
 

Estructuras de datos

class  Pds::Triangle
 La clase tipo Pds::Triangle . Esta clase genera un objeto con dos parámetros theta y rho. Para usar incluir Pds/Triangle. Más...
 

Varios tipos de constructores

Crean una objeto Pds::Triangle

 Pds::Triangle::Triangle (void)
 Crea un objeto de tipo Pds::Triangle. Más...
 
 Pds::Triangle::Triangle (const Pds::Point2D &p1, const Pds::Point2D &p2, const Pds::Point2D &p3)
 Crea un objeto de tipo Pds::Triangle. Más...
 
 Pds::Triangle::Triangle (const Pds::Triangle &B)
 Crea un objeto de tipo Pds::Triangle copiando datos desde otra. Más...
 
 Pds::Triangle::~Triangle ()
 

Get samples

Pds::Matrix Pds::Triangle::RandPerimeter (unsigned int L) const
 Retorna, en las lineas de la matriz, muestras que describen el perímetro del triángulo. Más...
 
Pds::Matrix Pds::Triangle::RandSamples (unsigned int L) const
 Retorna, en las lineas de la matriz, muestras que describen al triángulo. Más...
 

Eval samples

Pds::Vector Pds::Triangle::EvalSamples (const Pds::Matrix &X) const
 Evalua cada linea $\mathbf{x}^{(l)}$ de la matrix $\mathbf{X}$ en la ecuación $f(\mathbf{x}^{(l)})$. Más...
 
double Pds::Triangle::Evaluate (double x1, double x2) const
 Evalua un punto (x1,x2) en el triángulo f(x1,x2). Más...
 
double Pds::Triangle::Evaluate (const Pds::Point2D &p) const
 Evalua un punto p=(x1,x2) en el triángulo f(x1,x2). Más...
 

Get data

Pds::Point2D Pds::Triangle::GetP1 (void) const
 Retorna el punto $\mathbf{p}_1$ del triángulo. Más...
 
Pds::Point2D Pds::Triangle::GetP2 (void) const
 Retorna el punto $\mathbf{p}_2$ del triángulo. Más...
 
Pds::Point2D Pds::Triangle::GetP3 (void) const
 Retorna el punto $\mathbf{p}_3$ del triángulo. Más...
 
double Pds::Triangle::GetArea (void) const
 Retorna el área del triángulo. Más...
 

Variados Pds::Triangle

Pds::TrianglePds::Triangle::operator= (const Pds::Triangle &B)
 Copia en si mismo (A), un triángulo B. Este operador es similar al método Copy(). Más...
 
bool Pds::Triangle::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 = . Más...
 
void Pds::Triangle::MakeEmpty (void)
 Cera los datos internos. Más...
 

State de Pds::Triangle

bool Pds::Triangle::IsEmpty (void) const
 Verifica si la línea es válida. Más...
 
bool Pds::Triangle::IsInside (double x1, double x2) const
 Evalua un punto (x1,x2) en el triángulo o en la frontera. Más...
 
bool Pds::Triangle::IsInside (const Pds::Point2D &p) const
 Evalua un punto (x1,x2) en el triángulo o en la frontera. Más...
 

Mostrando datos

void Pds::Triangle::Print (std::string str="") const
 Muestra en pantalla el contenido de Pds::Triangle, elementos separados por tabulador. Más...
 
void Pds::Triangle::PrintStylized (std::string str="") const
 Muestra en pantalla el contenido de Pds::Triangle, elementos separados por tabulador. Más...
 

Métodos para exportar e importar Json con Pds::Triangle.

Herramientas genéricas que pueden ser usadas desde Pds::Triangle

Pds::Json Pds::Triangle::ToJson (void) const
 Retorna un objeto Pds::Json con el contenido del objeto. Más...
 
bool Pds::Triangle::FromJson (const Pds::Json &J)
 Lee un objeto Pds::Json busca la etiqueta "Triangle" y lo carga. El objeto debe tener al menos los siguientes dados. Más...
 

Operadores no miembros de Triangle

Descripcion de algunos operadores habilitados a trabajar con Pds::Triangle.

std::ostream & operator<< (std::ostream &out, const Pds::Triangle &z)
 Retorna el contenido del objeto por la salida estándar. Más...
 

Descripción detallada

Clase que implementa un triángulo.

#include <Pds/Triangle>

Documentación de las funciones

◆ Triangle() [1/3]

Pds::Triangle::Triangle ( void  )

Crea un objeto de tipo Pds::Triangle.

$\mathbf{p}_1=\mathbf{0}$, $\mathbf{p}_2=\mathbf{0}$ y $\mathbf{p}_3=\mathbf{0}$.

◆ Triangle() [2/3]

Pds::Triangle::Triangle ( const Pds::Point2D p1,
const Pds::Point2D p2,
const Pds::Point2D p3 
)

Crea un objeto de tipo Pds::Triangle.

Parámetros
[in]p1Punto $\mathbf{p}_{1}$.
[in]p2Punto $\mathbf{p}_{2}$.
[in]p3Punto $\mathbf{p}_{3}$.

◆ Triangle() [3/3]

Pds::Triangle::Triangle ( const Pds::Triangle B)

Crea un objeto de tipo Pds::Triangle copiando datos desde otra.

Parámetros
[in]BTriangle a copiar.

◆ RandPerimeter()

Pds::Matrix Pds::Triangle::RandPerimeter ( unsigned int  L) const

Retorna, en las lineas de la matriz, muestras que describen el perímetro del triángulo.

example_triangle_getsamples_randperimeter.png
Parámetros
[in]LNúmero de muestras
Devuelve
Retorna, en las lineas de la matriz, muestras que describen el perímetro del triángulo, o una matriz vacia en caso de error.
Ejemplos
example_triangle_getsamples.cpp.

◆ RandSamples()

Pds::Matrix Pds::Triangle::RandSamples ( unsigned int  L) const

Retorna, en las lineas de la matriz, muestras que describen al triángulo.

example_triangle_getsamples_scatterx2dy.png
Parámetros
[in]LNúmero de muestras
Devuelve
Retorna, en las lineas de la matriz, muestras que describen al triángulo, o una matriz vacia en caso de error.
Ejemplos
example_triangle_getsamples.cpp.

◆ EvalSamples()

Pds::Vector Pds::Triangle::EvalSamples ( const Pds::Matrix X) const

Evalua cada linea $\mathbf{x}^{(l)}$ de la matrix $\mathbf{X}$ en la ecuación $f(\mathbf{x}^{(l)})$.

\[
f(\mathbf{x})\equiv f(x_{1},x_{2})\equiv Evaluate(x_{1},x_{2})
\]

Retorna valores monotónicoscon la distancia:

  • =0 si está en e borde,
  • <0 si está dentro y
  • >0 si está fuera
Atención
Posibles errores de redondeo en el borde.
Parámetros
[in]XMatriz $\mathbf{X}$ de muestras.
Devuelve
Retorna un vector con la función $f(\mathbf{x}^{(l)})$ evaluada en cada muestra $\mathbf{x}^{(l)}$ de la matrix $\mathbf{X}$.
Ejemplos
example_triangle_evalsamples.cpp y example_triangle_getsamples.cpp.

◆ Evaluate() [1/2]

double Pds::Triangle::Evaluate ( double  x1,
double  x2 
) const

Evalua un punto (x1,x2) en el triángulo f(x1,x2).

Retorna valores monotónicoscon la distancia:

  • =0 si está en e borde,
  • <0 si está dentro y
  • >0 si está fuera
Atención
Posibles errores de redondeo en el borde.
Parámetros
[in]x1Primera variable de p=(x1,x2).
[in]x2Segunda variable de p=(x1,x2).
Devuelve
Retorna f(x1,x2). En caso de error retorna Pds::Ra::Nan.
Ejemplos
example_triangle_create.cpp y example_triangle_evalsamples.cpp.

◆ Evaluate() [2/2]

double Pds::Triangle::Evaluate ( const Pds::Point2D p) const

Evalua un punto p=(x1,x2) en el triángulo f(x1,x2).

Retorna valores monotónicoscon la distancia:

  • =0 si está en e borde,
  • <0 si está dentro y
  • >0 si está fuera
Atención
Posibles errores de redondeo en el borde.
Parámetros
[in]pVariable p=(x1,x2).
Devuelve
Retorna f(x1,x2). En caso de error retorna Pds::Ra::Nan.

◆ GetP1()

Pds::Point2D Pds::Triangle::GetP1 ( void  ) const

Retorna el punto $\mathbf{p}_1$ del triángulo.

Devuelve
Retorna el punto $\mathbf{p}_1$ del triángulo o (Pds::Ra::Nan,Pds::Ra::Nan) en caso de error.

◆ GetP2()

Pds::Point2D Pds::Triangle::GetP2 ( void  ) const

Retorna el punto $\mathbf{p}_2$ del triángulo.

Devuelve
Retorna el punto $\mathbf{p}_2$ del triángulo o (Pds::Ra::Nan,Pds::Ra::Nan) en caso de error.

◆ GetP3()

Pds::Point2D Pds::Triangle::GetP3 ( void  ) const

Retorna el punto $\mathbf{p}_3$ del triángulo.

Devuelve
Retorna el punto $\mathbf{p}_3$ del triángulo o (Pds::Ra::Nan,Pds::Ra::Nan) en caso de error.

◆ GetArea()

double Pds::Triangle::GetArea ( void  ) const

Retorna el área del triángulo.

\[
T=\frac{1}{2} \left|\det {\begin{pmatrix}x_{1}&x_{2}&x_{C}\\y_{1}&y_{2}&y_{C}\\1&1&1\end{pmatrix}}\right|
 =\frac{1}{2}{\big |}x_{1}y_{2}-x_{1}y_{C}+x_{2}y_{C}-x_{2}y_{1}+x_{C}y_{1}-x_{C}y_{2}{\big |} 
    \]

Devuelve
Retorna el area del triángulo o $0$ en caso de error.
Ejemplos
example_triangle_create.cpp.

◆ operator=()

Pds::Triangle & Pds::Triangle::operator= ( const Pds::Triangle B)

Copia en si mismo (A), un triángulo B. Este operador es similar al método Copy().

\[ A \leftarrow B \]

Cuando acontece:

A=B;
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

Cuando NO acontece:

Parámetros
[in]BEl triángulo a copiar
Devuelve
Retorna el operador de la izquierda (acumulador) con el resultado, o un triángulo vacío (this->IsEmpty() igual a true) en caso de error.
Ver también
Copy

◆ Copy()

bool Pds::Triangle::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 = .

\[ A \leftarrow B \]

Parámetros
[in]BEl triángulo a copiar
Devuelve
Retorna true si todo fue bien o false si no. Si se retorna false el receptor no altera su contenido.
Ver también
Copy

◆ MakeEmpty()

void Pds::Triangle::MakeEmpty ( void  )

Cera los datos internos.

$\mathbf{p}_1=\mathbf{0}$, $\mathbf{p}_2=\mathbf{0}$ y $\mathbf{p}_3=\mathbf{0}$.

◆ IsEmpty()

bool Pds::Triangle::IsEmpty ( void  ) const

Verifica si la línea es válida.

◆ IsInside() [1/2]

bool Pds::Triangle::IsInside ( double  x1,
double  x2 
) const

Evalua un punto (x1,x2) en el triángulo o en la frontera.

Atención
Posibles errores de redondeo en el borde.
Parámetros
[in]x1Primera variable de p=(x1,x2).
[in]x2Segunda variable de p=(x1,x2).
Devuelve
Retorna true si un punto (x1,x2) en el triángulo o en la frontera o false en caso contrario o error.
Ejemplos
example_triangle_create.cpp.

◆ IsInside() [2/2]

bool Pds::Triangle::IsInside ( const Pds::Point2D p) const

Evalua un punto (x1,x2) en el triángulo o en la frontera.

Atención
Posibles errores de redondeo en el borde.
Parámetros
[in]pVariable p=(x1,x2).
Devuelve
Retorna true si un punto (x1,x2) en el triángulo o en la frontera o false en caso contrario o error.

◆ Print()

void Pds::Triangle::Print ( std::string  str = "") const

Muestra en pantalla el contenido de Pds::Triangle, elementos separados por tabulador.

Parámetros
[in]strTexto a mostrar antes de imprimir el contenido.
Ejemplos
example_triangle_create.cpp, example_triangle_evalsamples.cpp, example_triangle_export_json.cpp y example_triangle_getsamples.cpp.

◆ PrintStylized()

void Pds::Triangle::PrintStylized ( std::string  str = "") const

Muestra en pantalla el contenido de Pds::Triangle, elementos separados por tabulador.

Parámetros
[in]strTexto a mostrar antes de imprimir el contenido.
Ejemplos
example_triangle_create.cpp.

◆ ToJson()

Pds::Json Pds::Triangle::ToJson ( void  ) const

Retorna un objeto Pds::Json con el contenido del objeto.

Por exemplo:

{
"Triangle":
{
"p1":[1,1],
"p2":[1.5,2.5],
"p3":[0,0]
}
}
Devuelve
Retorna un objeto Pds::Json con el contenido del objeto.
Ejemplos
example_triangle_export_json.cpp.

◆ FromJson()

bool Pds::Triangle::FromJson ( const Pds::Json J)

Lee un objeto Pds::Json busca la etiqueta "Triangle" y lo carga. El objeto debe tener al menos los siguientes dados.

{
"Triangle":
{
"p1":[1,1],
"p2":[1.5,2.5],
"p3":[0,0]
}
}
Devuelve
Retorna true si la lectura sucedió sin errores y false si no. Si la lectura es incorrecta se vuelve vacia.
Ejemplos
example_triangle_export_json.cpp.

◆ operator<<()

std::ostream & operator<< ( std::ostream &  out,
const Pds::Triangle z 
)

Retorna el contenido del objeto por la salida estándar.

std::cout<<z;
Parámetros
[in]outLa salida
[in]zLa matriz a mostrar
Devuelve
Retorna la misma salida estándar out.

◆ ~Triangle()

Pds::Triangle::~Triangle ( )

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed