PointPoint

Espacio de nombres: Digi21.DigiNG.Entities.Relations
Ensamblado: Digi21.DigiNG

Métodos que analizan la relación entre dos puntos.

public static class PointPoint

Los dos parámetros, a y b, son de tipo ReadOnlyPoint. Los métodos comparan las coordenadas X e Y de los dos puntos; la Z no interviene. Disjoint(a, b) devuelve siempre el valor contrario de Coincident(a, b).

Los métodos comparan primero las cajas envolventes de los dos puntos, y esa comparación no usa tolerancia. Por eso dos puntos solo son coincidentes si sus X y sus Y son idénticas: dos puntos que difieren menos que Precision.Epsilon son disjuntos.

Métodos estáticos

Método Descripción
Coincident true si los dos puntos tienen las mismas coordenadas X e Y.
Disjoint true si los dos puntos tienen coordenadas X o Y distintas.

Los dos métodos lanzan ArgumentNullException si a o b es null.

Ejemplo

Este programa crea tres puntos en memoria y analiza sus relaciones:

using Digi21.DigiNG.Entities;
using Digi21.DigiNG.Entities.Relations;
using Digi21.Math;

static Point Punto(string código, double x, double y, double z) => new Point(new Code(código)) { Coordinate = new Point3D(x, y, z) };

var a = Punto("A", 1, 1, 0);
var b = Punto("B", 1, 1, 25); // Misma X e Y que A; la Z no se compara.
var c = Punto("C", 2, 2, 0);

Console.WriteLine($"Coincident(A, B): {PointPoint.Coincident(a, b)}"); // True
Console.WriteLine($"Disjoint(A, C): {PointPoint.Disjoint(a, c)}");     // True