/// <summary> /// Calculate Points On Region. /// </summary> /// <returns>returns the point on region</returns> private IPoint3D GetPointOnRegion() { IPoint3D pointOnRegion = new Point3D(OffsetX, OffsetY, 0.0); IMatrix44 matrix = GeomOperation.GetMatrixPlane(region); return(matrix.TransformToGCS(pointOnRegion)); }
internal static Polygon3D ToPolygon3D(IPolyLine2D outline, IMatrix44 lcs) { /// pozor - konvertuje pouze koncove body - tzn. zadne obloucky var count = outline.Segments.Count; var polygon = new Polygon3D(count + 1); var point = outline.StartPoint; var point3D = lcs.TransformToGCS(new WM.Point3D(0, point.X, point.Y)); polygon.Add(point3D); for (var i = 0; i < count; ++i) { point = outline.Segments[i].EndPoint; point3D = lcs.TransformToGCS(new WM.Point3D(0, point.X, point.Y)); polygon.Add(point3D); } return(polygon); }