Esempio n. 1
0
        internal override Geometry TransformBy(ICoordinateSystemEntity csEntity)
        {
            //Let the default code handle orthogonal transform.
            if (csEntity.IsScaledOrtho())
            {
                return(base.TransformBy(csEntity));
            }

            using (IPointEntity origin = Origin.PointEntity.CopyAndTransform(CoordinateSystem.WCS.CSEntity, csEntity) as IPointEntity)
            {
                using (IPointEntity pt = Origin.PointEntity.CopyAndTranslate(Normal.IVector) as IPointEntity)
                {
                    using (IPointEntity transformPt = pt.CopyAndTransform(CoordinateSystem.WCS.CSEntity, csEntity) as IPointEntity)
                    {
                        Vector normal = origin.GetVectorTo(transformPt).Normalize();
                        return(Plane.ByOriginNormal(origin.ToPoint(false, null), normal, Size));
                    }
                }
            }
        }
Esempio n. 2
0
 public static double DistanceTo(this IPointEntity fromPoint, IPointEntity toPoint)
 {
     return(fromPoint.GetVectorTo(toPoint).GetLength());
 }