Appearance
KBE3D / KBCore / Cesium / Intersections2D / clipTriangleAtAxisAlignedThreshold
函数: clipTriangleAtAxisAlignedThreshold()
clipTriangleAtAxisAlignedThreshold(
threshold:number,keepAbove:boolean,u0:number,u1:number,u2:number,result?:number[]):number[]
Splits a 2D triangle at given axis-aligned threshold value and returns the resulting polygon on a given side of the threshold. The resulting polygon may have 0, 1, 2, 3, or 4 vertices.
参数
threshold
number
The threshold coordinate value at which to clip the triangle.
keepAbove
boolean
true to keep the portion of the triangle above the threshold, or false to keep the portion below.
u0
number
The coordinate of the first vertex in the triangle, in counter-clockwise order.
u1
number
The coordinate of the second vertex in the triangle, in counter-clockwise order.
u2
number
The coordinate of the third vertex in the triangle, in counter-clockwise order.
result?
number[]
The array into which to copy the result. If this parameter is not supplied, a new array is constructed and returned.
返回
number[]
The polygon that results after the clip, specified as a list of vertices. The vertices are specified in counter-clockwise order. Each vertex is either an index from the existing list (identified as a 0, 1, or 2) or -1 indicating a new vertex not in the original triangle. For new vertices, the -1 is followed by three additional numbers: the index of each of the two original vertices forming the line segment that the new vertex lies on, and the fraction of the distance from the first vertex to the second one.
示例
ts
const result = Cesium.Intersections2D.clipTriangleAtAxisAlignedThreshold(0.5, false, 0.2, 0.6, 0.4);
// result === [2, 0, -1, 1, 0, 0.25, -1, 1, 2, 0.5]