NearestSegment

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

Busca el segmento de la entidad más cercano a una coordenada y calcula la proyección perpendicular de la coordenada sobre ese segmento. Es un método de ISnapable.

double NearestSegment(Point3D coordinate, out Point3D calculatedCoordinate, out int segment)

Parámetros

Parámetro Descripción
coordinate Coordenada que se proyecta.
calculatedCoordinate Devuelve la proyección de coordinate sobre el segmento encontrado.
segment Devuelve el índice del segmento encontrado: el segmento i une los vértices i e i + 1.

Valor devuelto

Distancia en el plano XY entre coordinate y calculatedCoordinate.

Tipo Cálculo
ReadOnlyLine, Line, ReadOnlyPolygon, Polygon Proyecta coordinate en perpendicular, en el plano XY, sobre la recta de cada segmento. Solo considera los segmentos en los que la proyección cae dentro del rectángulo que forman sus dos vértices, y de ellos elige el de menor distancia; con dos segmentos a la misma distancia, el de menor índice. En un polígono solo se analiza el contorno exterior.
ReadOnlyPoint, Point, ReadOnlyText, Text calculatedCoordinate es Coordinate, segment vale 0 y el valor devuelto es la distancia en el plano XY entre coordinate y Coordinate. No lanza excepciones.

Excepciones

Excepción Cuándo
InvalidOperationException La entidad es una línea o un polígono sin vértices.
Exception La entidad es una línea o un polígono y la proyección de coordinate no cae dentro de ningún segmento. También con un solo vértice, porque no hay segmentos.

Ejemplo

El ejemplo de ISnapable llama a este método con una línea y con un punto.