Struct Point3D
Tipo universal para un conjunto de coordenadas tridimensionales.
Implements
Inherited Members
Namespace: TheXDS.MCART.Types
Assembly: MCART.dll
Syntax
public struct Point3D : IFormattable, IEquatable<Point3D>, IVector3D, IVector, IEquatable<IVector>, IEquatable<Vector2>, IEquatable<Vector3>
Remarks
Esta estructura se declara como parcial, para permitir a cada implementación de MCART definir métodos para convertir a la clase correspondiente para los diferentes tipos de UI disponibles.
Constructors
| Edit this page View SourcePoint3D(double, double)
Inicializa una nueva instancia de la estructura Point3D para un par de coordenadas bidimensionales.
Declaration
public Point3D(double x, double y)
Parameters
Type | Name | Description |
---|---|---|
double | x | Coordenada X. |
double | y | Coordenada Y. |
Point3D(double, double, double)
Tipo universal para un conjunto de coordenadas tridimensionales.
Declaration
public Point3D(double x, double y, double z)
Parameters
Type | Name | Description |
---|---|---|
double | x | Coordenada X. |
double | y | Coordenada Y. |
double | z | Coordenada Z. |
Remarks
Esta estructura se declara como parcial, para permitir a cada implementación de MCART definir métodos para convertir a la clase correspondiente para los diferentes tipos de UI disponibles.
Fields
| Edit this page View SourceNowhere
Obtiene un punto que no representa ninguna posición. Este campo es de solo lectura.
Declaration
public static readonly Point3D Nowhere
Field Value
Type | Description |
---|---|
Point3D |
Origin
Obtiene un punto en el origen. Este campo es de solo lectura.
Declaration
public static readonly Point3D Origin
Field Value
Type | Description |
---|---|
Point3D | Un Point3D con sus coordenadas en el origen. |
Origin2D
Obtiene un punto en el origen bidimensional. Este campo es de solo lectura.
Declaration
public static readonly Point3D Origin2D
Field Value
Type | Description |
---|---|
Point3D | Un Point3D con sus coordenadas en el origen bidimensional. |
Properties
| Edit this page View SourceX
Coordenada X.
Declaration
public double X { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
Y
Coordenada Y.
Declaration
public double Y { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
Z
Coordenada Z.
Declaration
public double Z { readonly get; set; }
Property Value
Type | Description |
---|---|
double |
Methods
| Edit this page View SourceEquals(object?)
Indica si esta instancia y un objeto especificado son iguales.
Declaration
public override readonly bool Equals(object? obj)
Parameters
Type | Name | Description |
---|---|---|
object | obj | Objeto que se va a compara con la instancia actual. |
Returns
Type | Description |
---|---|
bool | true si esta instancia y |
Overrides
| Edit this page View SourceEquals(IVector?)
Indica si esta instancia y un objeto especificado son iguales.
Declaration
public readonly bool Equals(IVector? other)
Parameters
Type | Name | Description |
---|---|---|
IVector | other | Objeto que se va a compara con la instancia actual. |
Returns
Type | Description |
---|---|
bool | true si esta instancia y |
Equals(IVector3D?)
Indica si esta instancia y un objeto especificado son iguales.
Declaration
public readonly bool Equals(IVector3D? other)
Parameters
Type | Name | Description |
---|---|---|
IVector3D | other | Objeto que se va a compara con la instancia actual. |
Returns
Type | Description |
---|---|
bool | true si esta instancia y |
Equals(Point3D)
Compara la igualdad de los vectores de los puntos.
Declaration
public readonly bool Equals(Point3D other)
Parameters
Type | Name | Description |
---|---|---|
Point3D | other | Point3D contra el cual comparar. |
Returns
Type | Description |
---|---|
bool | true si todos los vectores de ambos puntos son iguales; de lo contrario, false. |
GetHashCode()
Devuelve el código Hash de esta instancia.
Declaration
public override readonly int GetHashCode()
Returns
Type | Description |
---|---|
int | El código Hash de esta instancia. |
Overrides
| Edit this page View SourceMagnitude()
Calcula la magnitud de las coordenadas.
Declaration
public readonly double Magnitude()
Returns
Type | Description |
---|---|
double | La magnitud resultante entre el punto y el origen. |
Magnitude(double, double, double)
Calcula la magnitud de las coordenadas desde el punto especificado.
Declaration
public readonly double Magnitude(double fromX, double fromY, double fromZ)
Parameters
Type | Name | Description |
---|---|---|
double | fromX | Coordenada X de origen. |
double | fromY | Coordenada Y de origen. |
double | fromZ | Coordenada Z de origen. |
Returns
Type | Description |
---|---|
double | La magnitud resultante entre el punto y las coordenadas especificadas. |
Magnitude(Point3D)
Calcula la magnitud de las coordenadas desde el punto especificado.
Declaration
public readonly double Magnitude(Point3D fromPoint)
Parameters
Type | Name | Description |
---|---|---|
Point3D | fromPoint | Punto de referencia para calcular la magnitud. |
Returns
Type | Description |
---|---|
double | La magnitud resultante entre ambos puntos. |
Parse(string)
Crea un Point3D a partir de una cadena.
Declaration
public static Point3D Parse(string value)
Parameters
Type | Name | Description |
---|---|---|
string | value | Valor a partir del cual crear un Point. |
Returns
Type | Description |
---|---|
Point3D | Point3D que ha sido creado. |
Exceptions
Type | Condition |
---|---|
FormatException | Se produce si la conversión ha fallado. |
ToString()
Convierte este objeto en su representación como una cadena.
Declaration
public override readonly string ToString()
Returns
Type | Description |
---|---|
string | Una representación en forma de string de este objeto. |
Overrides
| Edit this page View SourceToString(string?)
Convierte este objeto en su representación como una cadena.
Declaration
public readonly string ToString(string? format)
Parameters
Type | Name | Description |
---|---|---|
string | format | Formato a utilizar. |
Returns
Type | Description |
---|---|
string | Una representación en forma de string de este objeto. |
ToString(string?, IFormatProvider?)
Convierte este objeto en su representación como una cadena.
Declaration
public readonly string ToString(string? format, IFormatProvider? formatProvider)
Parameters
Type | Name | Description |
---|---|---|
string | format | Formato a utilizar. |
IFormatProvider | formatProvider | Parámetro opcional. Proveedor de formato de la cultura a utilizar para dar formato a la representación como una cadena de este objeto. Si se omite, se utilizará CurrentCulture. |
Returns
Type | Description |
---|---|
string | Una representación en forma de string de este objeto. |
TryParse(string, out Point3D)
Intenta crear un Point3D a partir de una cadena.
Declaration
public static bool TryParse(string value, out Point3D point)
Parameters
Type | Name | Description |
---|---|---|
string | value | Valor a partir del cual crear un Point3D. |
Point3D | point | Point3D que ha sido creado. |
Returns
Type | Description |
---|---|
bool | true si la conversión ha tenido éxito, false en caso contrario. |
WithinCube(in double, in double, in double, in double, in double, in double)
Determina si el punto se encuentra dentro del cubo formado por los puntos tridimensionales especificados.
Declaration
public readonly bool WithinCube(in double x1, in double y1, in double z1, in double x2, in double y2, in double z2)
Parameters
Type | Name | Description |
---|---|---|
double | x1 | La primer coordenada x. |
double | y1 | La primer coordenada y. |
double | z1 | La primer coordenada z. |
double | x2 | La segunda coordenada x. |
double | y2 | La segunda coordenada y. |
double | z2 | La segunda coordenada z. |
Returns
Type | Description |
---|---|
bool | true si el punto se encuentra dentro del cubo formado, false en caso contrario. |
WithinCube(Point3D, Point3D)
Determina si el punto se encuentra dentro del cubo formado por los puntos tridimensionales especificados.
Declaration
public readonly bool WithinCube(Point3D p1, Point3D p2)
Parameters
Type | Name | Description |
---|---|---|
Point3D | p1 | Punto 1. |
Point3D | p2 | Punto 2. |
Returns
Type | Description |
---|---|
bool | true si el punto se encuentra dentro del cubo formado, false en caso contrario. |
WithinCube(Range<double>, Range<double>, Range<double>)
Determina si el punto se encuentra dentro del rectángulo formado por los rangos especificados.
Declaration
public readonly bool WithinCube(Range<double> x, Range<double> y, Range<double> z)
Parameters
Type | Name | Description |
---|---|---|
Range<double> | x | Rango de valores para el eje X. |
Range<double> | y | Rango de valores para el eje Y. |
Range<double> | z | Rango de valores para el eje Z. |
Returns
Type | Description |
---|---|
bool | true si el punto se encuentra dentro del rectángulo formado, false en caso contrario. |
WithinCube(in Size3D)
Determina si el punto se encuentra dentro del rectángulo formado por las coordenadas especificadas.
Declaration
public readonly bool WithinCube(in Size3D size)
Parameters
Type | Name | Description |
---|---|---|
Size3D | size | Tamaño del rectángulo. |
Returns
Type | Description |
---|---|
bool | true si el punto se encuentra dentro del rectángulo formado, false en caso contrario. |
WithinCube(in Size3D, in Point3D)
Determina si el punto se encuentra dentro del rectángulo formado por las coordenadas especificadas.
Declaration
public readonly bool WithinCube(in Size3D size, in Point3D topLeftFront)
Parameters
Type | Name | Description |
---|---|---|
Size3D | size | Tamaño del rectángulo. |
Point3D | topLeftFront | Coordenadas de esquina superior izquierda frontal |
Returns
Type | Description |
---|---|
bool | true si el punto se encuentra dentro del rectángulo formado, false en caso contrario. |
WithinSphere(Point3D, double)
Determina si el punto se encuentra dentro de la esfera especificada.
Declaration
public readonly bool WithinSphere(Point3D center, double radius)
Parameters
Type | Name | Description |
---|---|---|
Point3D | center | Punto central de la esfera. |
double | radius | Radio del círculo. |
Returns
Type | Description |
---|---|
bool | true si el punto se encuentra dentro de la esfera, false en caso contrario. |
Operators
| Edit this page View Sourceoperator +(Point3D, double)
Realiza una operación de suma sobre el punto.
Declaration
public static Point3D operator +(Point3D l, double r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
double | r | Operando de suma. |
Returns
Type | Description |
---|---|
Point3D | Un nuevo Point3D cuyos vectores son la suma de los
vectores originales + |
operator +(Point3D, IVector3D)
Realiza una operación de suma sobre los puntos.
Declaration
public static Point3D operator +(Point3D l, IVector3D r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
IVector3D | r | Punto 2. |
Returns
Type | Description |
---|---|
Point3D | La suma de los vectores de los puntos. |
operator +(Point3D, Point3D)
Realiza una operación de suma sobre los puntos.
Declaration
public static Point3D operator +(Point3D l, Point3D r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
Point3D | r | Punto 2. |
Returns
Type | Description |
---|---|
Point3D | La suma de los vectores de los puntos. |
operator --(Point3D)
Decrementa en 1 los vectores del punto.
Declaration
public static Point3D operator --(Point3D p)
Parameters
Type | Name | Description |
---|---|---|
Point3D | p | Punto a decrementar. |
Returns
Type | Description |
---|---|
Point3D | Un punto con sus vectores decrementados en 1. |
operator /(Point3D, double)
Realiza una operación de división sobre el punto.
Declaration
public static Point3D operator /(Point3D l, double r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
double | r | Operando de división. |
Returns
Type | Description |
---|---|
Point3D | Un nuevo Point3D cuyos vectores son la división de
los vectores originales / |
operator /(Point3D, IVector3D)
Realiza una operación de división sobre los puntos.
Declaration
public static Point3D operator /(Point3D l, IVector3D r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
IVector3D | r | Punto 2. |
Returns
Type | Description |
---|---|
Point3D | La división de los vectores de los puntos. |
operator ==(Point3D, IVector3D)
Compara la igualdad de los vectores de los puntos.
Declaration
public static bool operator ==(Point3D l, IVector3D r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
IVector3D | r | Punto 2. |
Returns
Type | Description |
---|---|
bool | true si todos los vectores de ambos puntos son iguales; de lo contrario, false. |
implicit operator Point3D(Vector3)
Declaration
public static implicit operator Point3D(Vector3 p)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | p | Vector3 value to be converted. |
Returns
Type | Description |
---|---|
Point3D |
implicit operator Point3D(Point)
Declaration
public static implicit operator Point3D(Point p)
Parameters
Type | Name | Description |
---|---|---|
Point | p | Objeto a convertir. |
Returns
Type | Description |
---|---|
Point3D | Un nuevo Point3D con los mismos valores de X y Y que el Point original, y valor en Z de NaN. |
implicit operator Vector3(Point3D)
Declaration
public static implicit operator Vector3(Point3D p)
Parameters
Type | Name | Description |
---|---|---|
Point3D | p | Point3D value to be converted. |
Returns
Type | Description |
---|---|
Vector3 |
implicit operator Point(Point3D)
Declaration
public static implicit operator Point(Point3D p)
Parameters
Type | Name | Description |
---|---|---|
Point3D | p | Objeto a convertir. |
Returns
Type | Description |
---|---|
Point | Un nuevo Point con los mismos valores de X y Y que el Point3D original. |
operator ++(Point3D)
Incrementa en 1 los vectores del punto.
Declaration
public static Point3D operator ++(Point3D p)
Parameters
Type | Name | Description |
---|---|---|
Point3D | p | Punto a incrementar. |
Returns
Type | Description |
---|---|
Point3D | Un punto con sus vectores incrementados en 1. |
operator !=(Point3D, IVector3D)
Compara la diferencia de los vectores de los puntos.
Declaration
public static bool operator !=(Point3D l, IVector3D r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
IVector3D | r | Punto 2. |
Returns
Type | Description |
---|---|
bool | true si los vectores de ambos puntos son diferentes; de lo contrario, false. |
operator %(Point3D, double)
Realiza una operación de residuo sobre el punto.
Declaration
public static Point3D operator %(Point3D l, double r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
double | r | Operando de residuo. |
Returns
Type | Description |
---|---|
Point3D | Un nuevo Point3D cuyos vectores son el residuo de los
vectores originales % |
operator %(Point3D, IVector3D)
Realiza una operación de residuo sobre los puntos.
Declaration
public static Point3D operator %(Point3D l, IVector3D r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
IVector3D | r | Punto 2. |
Returns
Type | Description |
---|---|
Point3D | El residuo de los vectores de los puntos. |
operator *(Point3D, double)
Realiza una operación de multiplicación sobre el punto.
Declaration
public static Point3D operator *(Point3D l, double r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
double | r | Operando de multiplicación. |
Returns
Type | Description |
---|---|
Point3D | Un nuevo Point3D cuyos vectores son la multiplicación
de los vectores originales * |
operator *(Point3D, IVector3D)
Realiza una operación de multiplicación sobre los puntos.
Declaration
public static Point3D operator *(Point3D l, IVector3D r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
IVector3D | r | Punto 2. |
Returns
Type | Description |
---|---|
Point3D | La multiplicación de los vectores de los puntos. |
operator -(Point3D, double)
Realiza una operación de resta sobre el punto.
Declaration
public static Point3D operator -(Point3D l, double r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
double | r | Operando de resta. |
Returns
Type | Description |
---|---|
Point3D | Un nuevo Point3D cuyos vectores son la resta de los
vectores originales - |
operator -(Point3D, IVector3D)
Realiza una operación de resta sobre los puntos.
Declaration
public static Point3D operator -(Point3D l, IVector3D r)
Parameters
Type | Name | Description |
---|---|---|
Point3D | l | Punto 1. |
IVector3D | r | Punto 2. |
Returns
Type | Description |
---|---|
Point3D | La resta de los vectores de los puntos. |
operator -(Point3D)
Invierte el signo de los vectores del punto.
Declaration
public static Point3D operator -(Point3D p)
Parameters
Type | Name | Description |
---|---|---|
Point3D | p | Punto a operar. |
Returns
Type | Description |
---|---|
Point3D | Un punto con el signo de sus vectores invertido. |
operator +(Point3D)
Convierte a positivos los vectores del punto.
Declaration
public static Point3D operator +(Point3D p)
Parameters
Type | Name | Description |
---|---|---|
Point3D | p | Punto a operar. |
Returns
Type | Description |
---|---|
Point3D | Un punto con sus vectores positivos. |