internal IGeometryEntity[] IntersectWithPoint(DSPoint point) { if (GeomEntity.DistanceTo(point.PointEntity).EqualsTo(0.0)) { return new IGeometryEntity[] { point.PointEntity } } ; return(null); }
protected override DSGeometry Translate(DSVector offset) { IConeEntity clone = GeomEntity.CopyAndTranslate(offset.IVector) as IConeEntity; if (null == clone) { throw new System.InvalidOperationException("Failed to clone and translate geometry."); } return(new DSCone(clone, true)); }
internal virtual IPointEntity ClosestPointTo(IPointEntity otherPoint) { try { return(GeomEntity.GetClosestPoint(otherPoint)); } catch (System.NotImplementedException) { throw new System.InvalidOperationException(string.Format(Properties.Resources.NotSupported, "ClosestPointTo", GetType().Name)); } }
/// <summary> /// /// </summary> /// <param name="offset"></param> /// <returns></returns> protected virtual DSGeometry Translate(DSVector offset) { IGeometryEntity clone = GeomEntity.CopyAndTranslate(offset.IVector); if (null == clone) { throw new InvalidOperationException("Failed to clone and translate geometry."); } DSGeometry geom = ToGeometry(clone, true); return(geom); }
internal override DSGeometry TransformBy(ICoordinateSystemEntity csEntity) { IGeometryEntity clone = GeomEntity.CopyAndTransform(DSCoordinateSystem.WCS.CSEntity, csEntity); if (null == clone) { throw new System.InvalidOperationException("Failed to clone and transform cone."); } IConeEntity cone = clone as IConeEntity; if (null != cone) { return(new DSCone(cone, true)); } return(ToGeometry(clone, true)); }
internal virtual DSGeometry TransformBy(ICoordinateSystemEntity csEntity) { IGeometryEntity clone = GeomEntity.CopyAndTransform(DSCoordinateSystem.WCS.CSEntity, csEntity); return(ToGeometry(clone, true)); }