From 990887b1296ebec12ca942575b63466e0703b239 Mon Sep 17 00:00:00 2001 From: zewen han Date: Mon, 1 Aug 2022 17:37:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Point=E7=9A=84=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/IFoxCAD.Cad/ExtensionMethod/PointEx.cs | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/IFoxCAD.Cad/ExtensionMethod/PointEx.cs b/src/IFoxCAD.Cad/ExtensionMethod/PointEx.cs index c534be6..d81a0f2 100644 --- a/src/IFoxCAD.Cad/ExtensionMethod/PointEx.cs +++ b/src/IFoxCAD.Cad/ExtensionMethod/PointEx.cs @@ -42,5 +42,34 @@ public static double GetAngle(this Point2d startPoint, Point2d endPoint) return startPoint.GetVectorTo(endPoint).Angle; } + /// + /// 按对称轴镜像Point + /// + /// Point + /// 对称轴起点 + /// 对称轴终点 + public static Point3d Mirror(this Point3d point, Point3d startPoint, Point3d endPoint) + { + return point.TransformBy(Matrix3d.Mirroring(new Line3d(startPoint, endPoint))); + } + /// + /// 按对称面镜像Point + /// + /// Point + /// 对称平面 + public static Point3d Mirror(this Point3d point, Plane plane) + { + return point.TransformBy(Matrix3d.Mirroring(plane)); + } + + /// + /// 按对称点镜像Point + /// + /// Point + /// 对称点 + public static Point3d Mirror(this Point3d point, Point3d basePoint) + { + return point.TransformBy(Matrix3d.Mirroring(basePoint)); + } } \ No newline at end of file -- Gitee