/// <summary> /// Internal utility method /// </summary> /// <param name="profile"></param> /// <param name="distance"></param> /// <param name="direction"></param> /// <returns></returns> internal static IBSplineSurfaceEntity[] ExtrudeAsBSplineSurfaces(this ICurveEntity profile, double distance, Vector direction) { if (null == profile || direction.IsZeroVector()) { return(null); } using (IPointEntity startPt = profile.PointAtParameter(0.5)) { Vector offset = direction.Normalize().Scale(distance); using (IPointEntity endPt = startPt.CopyAndTranslate(offset.IVector) as IPointEntity) { using (ILineEntity path = HostFactory.Factory.LineByStartPointEndPoint(startPt, endPt)) { using (ISurfaceEntity surf = HostFactory.Factory.SurfaceBySweep(profile, path)) { return(surf.ConvertToBSplineSurface()); } } } } }
public ISurfaceEntity Trim(ICurveEntity[] curves, IPlaneEntity[] planes, ISurfaceEntity[] surfaces, ISolidEntity[] solids, IPointEntity point, bool bAutoExtend) { return this; }
public ISurfaceEntity SurfaceBySweep(ICurveEntity profile, ICurveEntity path) { DSGeometryApplication.Check(); return new SurfaceEntity(); }
public virtual ISolidEntity SolidBySweep(ICurveEntity profile, ICurveEntity path) { throw new NotImplementedException("Factory method SolidBySweep not implemented"); }
public bool UpdateSolidByRevolve(ICurveEntity profileCurve, IPointEntity originPoint, IVectorEntity revolveAxis, double startAngle, double sweepAngle) { return false; }
internal static List<ICurveEntity> GetHostCurves(DSCurve[] contextCurves, out ICurveEntity firstCurve) { firstCurve = null; List<ICurveEntity> hostCurves = new List<ICurveEntity>(); foreach (var curve in contextCurves) { if (null == curve) continue; if (null == firstCurve) firstCurve = curve.CurveEntity; else hostCurves.Add(curve.CurveEntity); } if (null == firstCurve) throw new System.ArgumentException(string.Format(Properties.Resources.InvalidArguments, "contextCurves"), "contextCurves"); return hostCurves; }
public IPolyCurveEntity Join(ICurveEntity curve) { throw new NotImplementedException(); }
public virtual ISurfaceEntity SurfaceByLoftCrossSectionsPath(ICurveEntity[] crossSections, ICurveEntity path) { throw new NotImplementedException("Factory method SurfaceByLoftCrossSectionsPath not implemented"); }
public ISurfaceEntity SurfacePatchFromCurve(ICurveEntity profile) { DSGeometryApplication.Check(); return(new SurfaceEntity()); }
public bool UpdateRevolve(ICurveEntity profile, IPointEntity origin, IVector revolveAxis, double startAngle, double sweepAngle) { return false; }
public ISurfaceEntity SurfaceByLoftCrossSectionsPath(ICurveEntity[] crossSections, ICurveEntity path) { DSGeometryApplication.Check(); return(new SurfaceEntity()); }
public virtual INurbsCurveEntity JoinWith(ICurveEntity[] curves) { return new NurbsCurveEntity(); }
public INurbsCurveEntity Merge(ICurveEntity curve) { throw new NotImplementedException(); }
public virtual IBSplineCurveEntity JoinWith(ICurveEntity[] curves) { return new BSplineCurveEntity(); }
public virtual IPointEntity[] IntersectWith(ICurveEntity otherCurve) { return new IPointEntity[2] { new PointEntity(), new PointEntity() }; }
public bool UpdateSolidByLoftedCrossSectionsPath(ICurveEntity[] crossSections, ICurveEntity path) { return(false); }
public virtual ISurfaceEntity SurfaceBySweep(ICurveEntity profile, ICurveEntity path) { throw new NotImplementedException("Factory method SurfaceBySweep not implemented"); }
public bool UpdateSolidByRevolve(ICurveEntity profileCurve, IPointEntity originPoint, IVector revolveAxis, double startAngle, double sweepAngle) { return(false); }
private UnknownCurve(ICurveEntity host, bool persist = false) : base(host, persist) { }
public bool UpdateSolidBySweep(ICurveEntity profile, ICurveEntity path) { return(false); }
public bool UpdateSolidByLoftedCrossSections(ICurveEntity[] crossSections) { return false; }
public virtual ISurfaceEntity SurfacePatchFromCurve(ICurveEntity profile) { throw new NotImplementedException("Factory method SurfacePatchFromCurve not implemented"); }
public virtual IPointEntity GetClosestPointTo(ICurveEntity iCurveEntity) { return(this.StartPoint); }
public virtual IPointEntity[] IntersectWith(ICurveEntity otherCurve) { return(new IPointEntity[2] { new PointEntity(), new PointEntity() }); }
public ISurfaceEntity SurfacePatchFromCurve(ICurveEntity profile) { DSGeometryApplication.Check(); return new SurfaceEntity(); }
public ILineEntity LineByTangency(ICurveEntity curve, double parameter) { throw new NotImplementedException(); }
public virtual ICurveEntity[] JoinWith(ICurveEntity[] curves, double bridgeTolerance) { return new ICurveEntity[3] { new LineEntity(), new LineEntity(), new LineEntity() }; }
public ISurfaceEntity SurfaceByLoft(ICurveEntity[] crossSections, ICurveEntity guides) { DSGeometryApplication.Check(); return(new SurfaceEntity()); }
public virtual IPointEntity GetClosestPointTo(ICurveEntity iCurveEntity) { return this.StartPoint; }
public ISurfaceEntity SurfaceByPatch(ICurveEntity iCurveEntity) { throw new NotImplementedException(); }
public virtual ISolidEntity SolidByLoftCrossSectionsGuides(ICurveEntity[] crossSections, ICurveEntity[] guides) { throw new NotImplementedException("Factory method SolidByLoftCrossSectionsGuides not implemented"); }
public ISolidEntity SolidByLoft(ICurveEntity[] crossSections, ICurveEntity path) { DSGeometryApplication.Check(); return(new SolidEntity()); }
public virtual ISurfaceEntity SurfaceByRevolve(ICurveEntity profile, IPointEntity axisOrigin, IVector axisDirection, double startAngle, double sweepAngle) { throw new NotImplementedException("Factory method SurfaceByRevolve not implemented"); }
public ISolidEntity SolidBySweep(ICurveEntity profile, ICurveEntity path) { DSGeometryApplication.Check(); return(new SolidEntity()); }
public ISolidEntity SolidBySweep2Rails(ICurveEntity rail1, ICurveEntity rail2, ICurveEntity profile) { throw new NotImplementedException(); }
internal DSCurve(ICurveEntity host, bool persist) : base(host, persist) { }
public ISolidEntity SolidByRevolve(ICurveEntity profile, IPointEntity axisOrigin, IVectorEntity axisDirection, double startAngle, double sweepAngle) { DSGeometryApplication.Check(); return(new SolidEntity()); }
internal static Curve ToCurve(this ICurveEntity host, bool persist, Geometry context) { return(host.ToGeometry <Curve, ICurveEntity>(persist, context)); }
public ISolidEntity SolidByLoftCrossSections(ICurveEntity[] crossSections) { DSGeometryApplication.Check(); return new SolidEntity(); }
public bool UpdateSolidByLoftFromCrossSectionsGuides(ICurveEntity[] crossSections, ICurveEntity[] guides) { return false; }
public ISolidEntity SolidBySweep(ICurveEntity profile, ICurveEntity path) { DSGeometryApplication.Check(); return new SolidEntity(); }
public bool UpdateSolidByLoftedCrossSectionsPath(ICurveEntity[] crossSections, ICurveEntity path) { return false; }
public ISurfaceEntity SurfaceByLoftCrossSectionsGuides(ICurveEntity[] crossSections, ICurveEntity[] guides) { DSGeometryApplication.Check(); return new SurfaceEntity(); }
public bool UpdateSolidBySweep(ICurveEntity profile, ICurveEntity path) { return false; }
public ISurfaceEntity SurfaceByLoftCrossSectionsPath(ICurveEntity[] crossSections, ICurveEntity path) { DSGeometryApplication.Check(); return new SurfaceEntity(); }
public virtual ISolidEntity SolidByLoftCrossSectionsPath(ICurveEntity[] crossSections, ICurveEntity path) { throw new NotImplementedException("Factory method SolidByLoftCrossSectionsPath not implemented"); }
public ISurfaceEntity SurfaceByRevolve(ICurveEntity profile, IPointEntity axisOrigin, IVector axisDirection, double startAngle, double sweepAngle) { DSGeometryApplication.Check(); return new SurfaceEntity(); }
public virtual ISolidEntity SolidByRevolve(ICurveEntity profile, IPointEntity axisOrigin, IVector axisDirection, double startAngle, double sweepAngle) { throw new NotImplementedException("Factory method SolidByRevolve not implemented"); }