distance_lrdistance_lrDistanceLrDistanceLrdistance_lr (Operator)
distance_lrdistance_lrDistanceLrDistanceLrdistance_lr
— Calculate the distance between a line and a region.
Signature
Herror distance_lr(const Hobject Region, double Row1, double Column1, double Row2, double Column2, double* DistanceMin, double* DistanceMax)
Herror T_distance_lr(const Hobject Region, const Htuple Row1, const Htuple Column1, const Htuple Row2, const Htuple Column2, Htuple* DistanceMin, Htuple* DistanceMax)
void DistanceLr(const HObject& Region, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax)
void HRegion::DistanceLr(const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax) const
void HRegion::DistanceLr(double Row1, double Column1, double Row2, double Column2, double* DistanceMin, double* DistanceMax) const
static void HOperatorSet.DistanceLr(HObject region, HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple distanceMin, out HTuple distanceMax)
void HRegion.DistanceLr(HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple distanceMin, out HTuple distanceMax)
void HRegion.DistanceLr(double row1, double column1, double row2, double column2, out double distanceMin, out double distanceMax)
def distance_lr(region: HObject, row_1: MaybeSequence[Union[float, int]], column_1: MaybeSequence[Union[float, int]], row_2: MaybeSequence[Union[float, int]], column_2: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float]]
def distance_lr_s(region: HObject, row_1: MaybeSequence[Union[float, int]], column_1: MaybeSequence[Union[float, int]], row_2: MaybeSequence[Union[float, int]], column_2: MaybeSequence[Union[float, int]]) -> Tuple[float, float]
Description
The operator distance_lrdistance_lrDistanceLrDistanceLrdistance_lr
calculates the orthogonal
distance between a line and a region.
As input the coordinates of two points on a line
(Row1Row1Row1row1row_1
,Column1Column1Column1column1column_1
,
Row2Row2Row2row2row_2
,Column2Column2Column2column2column_2
) and a region are expected.
The parameters DistanceMinDistanceMinDistanceMindistanceMindistance_min
and DistanceMaxDistanceMaxDistanceMaxdistanceMaxdistance_max
return the result of the calculation.
Parameter Broadcasting
This operator supports parameter broadcasting.
This means that each parameter can be given as a tuple of length
1 or N.
Parameters with tuple length 1 will be repeated internally
such that the number of distances is always N.
Attention
Due to efficiency of distance_lrdistance_lrDistanceLrDistanceLrdistance_lr
holes are ignored.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
RegionRegionRegionregionregion
(input_object) region(-array) →
objectHRegionHObjectHObjectHobject
Input region.
Row1Row1Row1row1row_1
(input_control) point.y(-array) →
HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row coordinate of the first point of the line.
Column1Column1Column1column1column_1
(input_control) point.x(-array) →
HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column coordinate of the first point of the line.
Row2Row2Row2row2row_2
(input_control) point.y(-array) →
HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row coordinate of the second point of the line.
Column2Column2Column2column2column_2
(input_control) point.x(-array) →
HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column coordinate of the second point of the line.
DistanceMinDistanceMinDistanceMindistanceMindistance_min
(output_control) real(-array) →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Minimum distance between the line and the region
DistanceMaxDistanceMaxDistanceMaxdistanceMaxdistance_max
(output_control) real(-array) →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Maximum distance between the line and the region
Example (HDevelop)
gen_circle (Circle, 200, 200, 100.5)
Column1 := 300
Column2 := 400
for Row := 50 to 350 by 50
gen_contour_polygon_xld (Line, [Row,Row], [Column1,Column2])
distance_lr (Circle, Row, Column1, Row, Column2, DistanceMin, DistanceMax)
endfor
Result
distance_lrdistance_lrDistanceLrDistanceLrdistance_lr
returns 2 (
H_MSG_TRUE)
.
Alternatives
distance_lcdistance_lcDistanceLcDistanceLcdistance_lc
,
distance_prdistance_prDistancePrDistancePrdistance_pr
,
distance_srdistance_srDistanceSrDistanceSrdistance_sr
,
diameter_regiondiameter_regionDiameterRegionDiameterRegiondiameter_region
See also
hamming_distancehamming_distanceHammingDistanceHammingDistancehamming_distance
,
select_region_pointselect_region_pointSelectRegionPointSelectRegionPointselect_region_point
,
test_region_pointtest_region_pointTestRegionPointTestRegionPointtest_region_point
,
smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2smallest_rectangle2
Module
Foundation