예제 #1
0
        /// <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));
        }
예제 #2
0
        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);
        }