예제 #1
0
 public ConstructIntersectPoint(GeoPointProperty geoPointProperty)
 {
     this.geoPointProperty = geoPointProperty;
     if (geoPointProperty != null)
     {
         cancelPoint = geoPointProperty.GetGeoPoint();
     }
     measure   = (geoPointProperty == null);
     succeeded = false;
 }
예제 #2
0
 public ConstructVectorPoint(GeoPointProperty geoPointProperty)
 {
     this.geoPointProperty = geoPointProperty;
     if (geoPointProperty != null)
     {
         currentPoint = geoPointProperty.GetGeoPoint();
     }
     measure   = (geoPointProperty == null);
     succeeded = false;
 }
예제 #3
0
 private GeoPoint GetGeoPoint()
 {
     if (SetGeoPointEvent != null)
     {
         return(initialGeoPointValue);
     }
     if (GeoPointProperty != null)
     {
         return(GeoPointProperty.GetGeoPoint());
     }
     throw new GeneralGeoPointActionException("Event OnSetGeoPoint not set");
 }
예제 #4
0
 public ConstructMidPoint(GeoPointProperty geoPointProperty)
 {
     this.geoPointProperty = geoPointProperty;
     if (geoPointProperty != null)
     {
         originalPoint = firstPoint = geoPointProperty.GetGeoPoint();
     }
     secondPoint        = firstPoint;
     firstPointIsValid  = false;
     secondPointIsValid = false;
     measure            = (geoPointProperty == null);
     succeeded          = false;
 }
예제 #5
0
        private void Recalc()
        {
            if (ratioAsLength)
            {
                ratio = ratioDist / ratioCurveSel.Length;
            }
            else
            {
                ratioDist = Geometry.Dist(ratioCurveSel.StartPoint, ratioCurveSel.PointAt(ratio));
            }

            using (Frame.Project.Undo.ContextFrame(this))
            {
                if (geoPointProperty != null)
                {
                    if (Geometry.Dist(objectPoint1, ratioCurveSel.StartPoint) < Geometry.Dist(objectPoint1, ratioCurveSel.EndPoint))
                    {
                        geoPointProperty.SetGeoPoint(ratioCurveSel.PointAt(ratio));
                    }
                    else
                    {
                        geoPointProperty.SetGeoPoint(ratioCurveSel.PointAt(1.0 - ratio));
                    }
                    gPoint.Location = geoPointProperty.GetGeoPoint();
                }
                else
                {
                    if (Geometry.Dist(objectPoint1, ratioCurveSel.StartPoint) < Geometry.Dist(objectPoint1, ratioCurveSel.EndPoint))
                    {
                        actualPoint = ratioCurveSel.PointAt(ratio);
                    }
                    else
                    {
                        actualPoint = ratioCurveSel.PointAt(1.0 - ratio);
                    }
                    gPoint.Location = actualPoint;
                }
            }
        }
예제 #6
0
 public GeneralGeoPointAction(GeoPointProperty GeoPointProperty)
 {
     this.GeoPointProperty = GeoPointProperty;
     basePoint             = GeoPointProperty.GetGeoPoint();
 }