/// <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); }
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; }
/// <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"); } }
/// <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; } }