UNPKG

@three3d/tools

Version:

@three3d/tools 提供了 ThreeJS 常用的工具库

61 lines 2.8 kB
import { VectorInstance } from "../vector"; import { GeometricRelationship, InfinityGeometricRelationship } from "./type"; /** * 判别线和线的位置关系 * @remarks * 有以下几种情况: * - Tangency:相切;两线重合; * - Dissociation:相离; * - Intersect;相交 * @param line1 * @param line2 * @returns */ export declare function discriminateRelationshipOfLine_Line<Vec extends VectorInstance>(line1: [Vec, Vec], line2: [Vec, Vec]): InfinityGeometricRelationship; /** * 计算线和线的交点 * @param line1 * @param line2 * @returns */ export declare function computeIntersectionOfLine_Line<Vec extends VectorInstance>(line1: [Vec, Vec], line2: [Vec, Vec]): import("three").Vector3 | import("three").Vector2 | import("three").Vector4 | null; /** * 判别射线和线段的位置关系 * @remarks * 有以下几种情况: * - Contain:包含;线段包含在射线里; * - Tangency:相切;射线与线段共线,但射线并不完全包含线段; * - Dissociation:相离:线段与射线没有重合的部分; * - Intersect;相交;射线和线段相交; * @param ray - 射线,第一个点射线的起点,第二个点为射线所经过的任意一点(注意,不是射线的方向) * @param lineSegment - 线段 * @returns */ export declare function discriminateRelationshipOfRay_LineSegment<Vec extends VectorInstance>(ray: [Vec, Vec], lineSegment: [Vec, Vec]): GeometricRelationship; /** * 计算射线和线段的交点 * @param ray - 射线,第一个点射线的起点,第二个点为射线所经过的任意一点(注意,不是射线的方向) * @param line2 * @returns */ export declare function computeIntersectionOfRay_LineSegment<Vec extends VectorInstance>(ray: [Vec, Vec], lineSegment: [Vec, Vec]): import("three").Vector3 | import("three").Vector2 | import("three").Vector4 | null; /** * 判别线段和线段的位置关系 * 有以下几种情况: * - Contain:包含;其中一个包含在另一个中; * - Tangency:相切;两线段共线 且 有部分重合; * - Dissociation:相离:没有重合的部分; * - Intersect;相交; * @param lineSegment1 * @param lineSegment2 - 线段 * @returns */ export declare function discriminateRelationshipOfLineSegment_LineSegment<Vec extends VectorInstance>(lineSegment1: [Vec, Vec], lineSegment2: [Vec, Vec]): GeometricRelationship; /** * 计算线段和线段的交点 * @param lineSegment1 * @param lineSegment2 * @returns */ export declare function computeIntersectionOfLineSegment_LineSegment<Vec extends VectorInstance>(lineSegment1: [Vec, Vec], lineSegment2: [Vec, Vec]): import("three").Vector3 | import("three").Vector2 | import("three").Vector4 | null; //# sourceMappingURL=line-line.d.ts.map