@three3d/tools
Version:
@three3d/tools 提供了 ThreeJS 常用的工具库
61 lines • 2.8 kB
TypeScript
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