Exemplo n.º 1
0
        /// <summary>
        ///     Checks if objects shown are inside VP extents
        /// </summary>
        /// <param name="scaleType"></param>
        /// <param name="acVp"></param>
        /// <param name="extents"></param>
        /// <returns></returns>
        private static bool IsInsideVpExtents(StandardScaleType scaleType, Viewport acVp, Extents3d extents)
        {
            acVp.StandardScale = scaleType;

            var vpExt = acVp.GeometricExtents;
            var xform = acVp.Dcs2Wcs() * acVp.Psdcs2Dcs();
            var vpMin = vpExt.MinPoint.TransformBy(xform);
            var vpMax = vpExt.MaxPoint.TransformBy(xform);

            var solMin = extents.MinPoint;
            var solMax = extents.MaxPoint;

            if (vpMin.X < solMin.X && vpMin.Y < solMin.Y)
            {
                if (vpMax.X > solMax.X && vpMax.Y > solMax.Y)
                {
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 2
0
 public Viewport(
     StandardScaleType Standard_Scale,
     double Custom_Scale,
     Point3d Center_Point,
     Point2d View_Center,
     double width,
     double height,
     double View_Height,
     Point3d View_Target,
     ObjectIdCollection Frozen_Layers)
 {
     //assigns the parameters added to the fields for this class
     StandardScale = Standard_Scale;
     CustomScale   = Custom_Scale;
     CenterPoint   = Center_Point;
     ViewCenter    = View_Center;
     Width         = width;
     Height        = height;
     ViewHeight    = View_Height;
     ViewTarget    = View_Target;
     FrozenLayers  = from ObjectId x in Frozen_Layers
                     where !x.IsNull
                     select x;
 }
Exemplo n.º 3
0
        /// <summary>
        ///     Adds a scale to the  DB based on the needed scale
        /// </summary>
        /// <param name="scale"></param>
        public static string GetScaleString(StandardScaleType scale)
        {
            //TODO add all scales

            switch (scale)
            {
            case StandardScaleType.Scale100To1:
                return("100:1");

            case StandardScaleType.Scale10To1:
                return("10:1");

            case StandardScaleType.Scale8To1:
                return("8:1");

            case StandardScaleType.Scale4To1:
                return("4:1");

            case StandardScaleType.Scale2To1:
                return("2:1");

            case StandardScaleType.Scale1To1:
                return("1:1");

            case StandardScaleType.Scale1To2:
                return("1:2");

            case StandardScaleType.Scale1To4:
                return("1:4");

            case StandardScaleType.Scale1To5:
                return("1:5");

            case StandardScaleType.Scale1To8:
                return("1:8");

            case StandardScaleType.Scale1To10:
                return("1:10");

            case StandardScaleType.Scale1To16:
                return("1:16");

            case StandardScaleType.Scale1To20:
                return("1:20");

            case StandardScaleType.Scale1To30:
                return("1:30");

            case StandardScaleType.Scale1To40:
                return("1:40");

            case StandardScaleType.Scale1To50:
                return("1:50");

            case StandardScaleType.Scale1To100:
                return("1:100");

            default:
                return("Custom");
            }
        }
Exemplo n.º 4
0
        /// <summary>
        ///     Adds a scale to the  DB based on the needed scale
        /// </summary>
        /// <param name="scale"></param>
        private static void AddScaleToDb(StandardScaleType scale)
        {
            switch (scale)
            {
            case StandardScaleType.Scale100To1:
                AddScale("100:1", 100, 1);
                break;

            case StandardScaleType.Scale10To1:
                AddScale("10:1", 10, 1);
                break;

            case StandardScaleType.Scale8To1:
                AddScale("8:1", 8, 1);
                break;

            case StandardScaleType.Scale4To1:
                AddScale("4:1", 4, 1);
                break;

            case StandardScaleType.Scale2To1:
                AddScale("2:1", 2, 1);
                break;

            case StandardScaleType.Scale1To1:
                AddScale("1:1", 1, 1);
                break;

            case StandardScaleType.Scale1To2:
                AddScale("1:2", 1, 2);
                break;

            case StandardScaleType.Scale1To4:
                AddScale("1:4", 1, 4);
                break;

            case StandardScaleType.Scale1To5:
                AddScale("1:5", 1, 5);
                break;

            case StandardScaleType.Scale1To8:
                AddScale("1:8", 1, 8);
                break;

            case StandardScaleType.Scale1To10:
                AddScale("1:10", 1, 10);
                break;

            case StandardScaleType.Scale1To16:
                AddScale("1:16", 1, 16);
                break;

            case StandardScaleType.Scale1To20:
                AddScale("1:20", 1, 20);
                break;

            case StandardScaleType.Scale1To30:
                AddScale("1:30", 1, 30);
                break;

            case StandardScaleType.Scale1To40:
                AddScale("1:40", 1, 40);
                break;

            case StandardScaleType.Scale1To50:
                AddScale("1:50", 1, 50);
                break;

            case StandardScaleType.Scale1To100:
                AddScale("1:100", 1, 100);
                break;
            }
        }