Ejemplo n.º 1
0
        public IArcEntity ArcByCenterPointRadiusAngle(IPointEntity center, double radius, double startAngle, double endAngle, IVectorEntity normal)
        {
            DSGeometryApplication.Check();
            double sweepAngle = endAngle - startAngle;

            return(new ArcEntity(center, normal, radius, startAngle, sweepAngle));
        }
Ejemplo n.º 2
0
        public IPlaneEntity PlaneByOriginNormal(IPointEntity origin, IVectorEntity normal)
        {
            DSGeometryApplication.Check();
            IPlaneEntity plane = new PlaneEntity(origin, normal);

            return(plane);
        }
Ejemplo n.º 3
0
        public INurbsSurfaceEntity NurbsSurfaceByControlVertices(IPointEntity[][] controlVertices, int uDegree, int vDegree)
        {
            DSGeometryApplication.Check();
            INurbsSurfaceEntity surface = new NurbsSurfaceEntity(controlVertices, uDegree, vDegree, 1);

            return(surface);
        }
Ejemplo n.º 4
0
        public ISphereEntity SphereByCenterPointRadius(IPointEntity centerPoint, double radius)
        {
            DSGeometryApplication.Check();
            ISphereEntity sph = new SphereEntity(centerPoint, radius);

            return(sph);
        }
Ejemplo n.º 5
0
        public ICuboidEntity CuboidByLengths(ICoordinateSystemEntity cs, double length, double width, double height)
        {
            DSGeometryApplication.Check();
            ICuboidEntity cub = new CuboidEntity(new double[] { cs.Origin.X, cs.Origin.Y, cs.Origin.Z }, length, width, height);

            return(cub);
        }
Ejemplo n.º 6
0
        public INurbsSurfaceEntity NurbsSurfaceByPoints(IPointEntity[][] points, int uDegree, int vDegree)
        {
            DSGeometryApplication.Check();
            INurbsSurfaceEntity surface = new NurbsSurfaceEntity(points, uDegree, vDegree, 0);

            return(surface);
        }
Ejemplo n.º 7
0
        public IBSplineSurfaceEntity BSplineSurfaceByPoints(IPointEntity[][] points, int uDegree, int vDegree)
        {
            DSGeometryApplication.Check();
            IBSplineSurfaceEntity surface = new BSplineSurfaceEntity();

            surface.UpdateByPoints(points, uDegree, vDegree);
            return(surface);
        }
Ejemplo n.º 8
0
        public IBSplineSurfaceEntity BSplineSurfaceByControlVertices(IPointEntity[][] controlVertices, int uDegree, int vDegree)
        {
            DSGeometryApplication.Check();
            IBSplineSurfaceEntity surface = new BSplineSurfaceEntity();

            surface.UpdateByPoles(controlVertices, uDegree, vDegree);
            return(surface);
        }
Ejemplo n.º 9
0
        public IConeEntity ConeByPointsRadii(IPointEntity startPoint, IPointEntity endPoint, double startRadius, double endRadius)
        {
            DSGeometryApplication.Check();
            ConeEntity cone = new ConeEntity();

            cone.UpdateCone(startPoint, endPoint, startRadius, endRadius);
            return(cone);
        }
Ejemplo n.º 10
0
        public IArcEntity ArcByCenterPointStartPointSweepAngle(IPointEntity centerPoint, IPointEntity startPoint, double sweepAngle, IVectorEntity normal)
        {
            DSGeometryApplication.Check();
            double radius     = startPoint.DistanceTo(centerPoint);
            double startAngle = 30;

            return(new ArcEntity(centerPoint, normal, radius, startAngle, sweepAngle));
        }
Ejemplo n.º 11
0
        public ILineEntity LineByStartPointEndPoint(IPointEntity startPoint, IPointEntity endPoint)
        {
            DSGeometryApplication.Check();
            LineEntity lnhost = new LineEntity();

            lnhost.UpdateEndPoints(startPoint, endPoint);
            return(lnhost);
        }
Ejemplo n.º 12
0
        public IConeEntity ConeByRadiusLength(ICoordinateSystemEntity cs, double startRadius, double endRadius, double height)
        {
            DSGeometryApplication.Check();
            ConeEntity   cone       = new ConeEntity();
            IPointEntity startPoint = cs.Origin;
            IPointEntity endPoint   = new PointEntity(cs.Origin.X, cs.Origin.Y, cs.Origin.Z + height);

            cone.UpdateCone(startPoint, endPoint, startRadius, endRadius);
            return(cone);
        }
Ejemplo n.º 13
0
        public ICoordinateSystemEntity CoordinateSystemBySphericalCoordinates(ICoordinateSystemEntity contextCS, double radius, double theta, double phi)
        {
            DSGeometryApplication.Check();
            CoordinateEntity cs = new CoordinateEntity();

            cs.Set(new PointEntity()
            {
                X = radius * Math.Sin(DegreeToRadian(theta)) * Math.Cos(DegreeToRadian(phi)), Y = radius * Math.Sin(DegreeToRadian(theta)) * Math.Sin(DegreeToRadian(phi)), Z = radius * Math.Cos(DegreeToRadian(theta))
            }, contextCS.XAxis, contextCS.YAxis, contextCS.ZAxis);
            return(cs);
        }
Ejemplo n.º 14
0
        public IArcEntity ArcByCenterPointStartPointSweepPoint(IPointEntity centerPoint, IPointEntity startPoint, IPointEntity sweepPoint)
        {
            DSGeometryApplication.Check();
            Vector start_center = Vector.ByCoordinates(startPoint.X - centerPoint.X, startPoint.Y - centerPoint.Y, startPoint.Z - centerPoint.Z);
            Vector sweep_center = Vector.ByCoordinates(sweepPoint.X - centerPoint.X, sweepPoint.Y - centerPoint.Y, sweepPoint.Z - centerPoint.Z);
            Vector normal       = start_center.Cross(sweep_center);
            double radius       = start_center.GetLength();
            Vector Axis         = Vector.ByCoordinates(1, 0, 0);
            double startAngle   = Math.Acos(start_center.Dot(Axis) / (start_center.GetLength() * Axis.GetLength()));
            double sweepAngle   = Math.Acos(start_center.Dot(sweep_center) / (start_center.GetLength() * sweep_center.GetLength()));

            return(new ArcEntity(centerPoint, normal.ToIVector(), radius, startAngle, sweepAngle));
        }
Ejemplo n.º 15
0
        public ICoordinateSystemEntity CoordinateSystemByCylindricalCoordinates(ICoordinateSystemEntity contextCS, double radius, double theta, double height)
        {
            DSGeometryApplication.Check();
            CoordinateEntity cs = new CoordinateEntity();

            cs.Set(new PointEntity()
            {
                X = radius * Math.Cos(DegreeToRadian(theta)), Y = radius * Math.Sin(DegreeToRadian(theta)), Z = height
            }, contextCS.XAxis, contextCS.YAxis, contextCS.ZAxis);
            return(cs);
            // return new CoordinateEntity() { Origin = new PointEntity() { X = radius*Math.Sin(theta), Y = radius*Math.Cos(theta), Z = height } };
            // return new CoordinateEntity();
        }
Ejemplo n.º 16
0
 public ICircleEntity CircleByCenterPointRadiusNormal(IPointEntity center, double radius, IVectorEntity normal)
 {
     DSGeometryApplication.Check();
     return(new CircleEntity(center, radius, normal));
 }
Ejemplo n.º 17
0
 public ICircleEntity CircleByPointsOnCurve(IPointEntity firstPoint, IPointEntity secondPoint, IPointEntity thirdPoint)
 {
     DSGeometryApplication.Check();
     return(new CircleEntity());
 }
Ejemplo n.º 18
0
 public ISolidEntity SolidByRevolve(ICurveEntity profile, IPointEntity axisOrigin, IVectorEntity axisDirection, double startAngle, double sweepAngle)
 {
     DSGeometryApplication.Check();
     return(new SolidEntity());
 }
Ejemplo n.º 19
0
 public ISolidEntity SolidBySweep(ICurveEntity profile, ICurveEntity path)
 {
     DSGeometryApplication.Check();
     return(new SolidEntity());
 }
Ejemplo n.º 20
0
 public ISolidEntity SolidByLoftGuides(ICurveEntity[] crossSections, ICurveEntity[] guides)
 {
     DSGeometryApplication.Check();
     return(new SolidEntity());
 }
Ejemplo n.º 21
0
 public ISurfaceEntity SurfaceByLoft(ICurveEntity[] crossSections, ICurveEntity guides)
 {
     DSGeometryApplication.Check();
     return(new SurfaceEntity());
 }
Ejemplo n.º 22
0
 public INurbsCurveEntity NurbsCurveByPointsTangents(IPointEntity[] pts, IVectorEntity startTangent, IVectorEntity endTangent)
 {
     DSGeometryApplication.Check();
     return(new NurbsCurveEntity());
 }
Ejemplo n.º 23
0
 public IPointEntity PointByCartesianCoordinates(ICoordinateSystemEntity cs, double x, double y, double z)
 {
     DSGeometryApplication.Check();
     return(new PointEntity(cs.Origin.X + x, cs.Origin.Y + y, cs.Origin.Z + z));
 }
Ejemplo n.º 24
0
 public INurbsCurveEntity NurbsCurveByControlVertices(IPointEntity[] points, int degree, bool close_curve)
 {
     DSGeometryApplication.Check();
     return(new NurbsCurveEntity(points, degree, close_curve));
 }
Ejemplo n.º 25
0
 public IArcEntity ArcByThreePoints(IPointEntity firstPoint, IPointEntity secondPoint, IPointEntity thirdPoint)
 {
     DSGeometryApplication.Check();
     return(new ArcEntity());
 }
Ejemplo n.º 26
0
 public IBSplineCurveEntity BSplineByPoints(IPointEntity[] pts, bool makePeriodic)
 {
     DSGeometryApplication.Check();
     return(new BSplineCurveEntity());
 }
Ejemplo n.º 27
0
 public ICircleEntity CircleByThreePoints(IPointEntity p1, IPointEntity p2, IPointEntity p3)
 {
     DSGeometryApplication.Check();
     return(new CircleEntity());
 }
Ejemplo n.º 28
0
 public IPolygonEntity PolygonByPoints(IPointEntity[] points)
 {
     DSGeometryApplication.Check();
     return(new PolygonEntity());
 }
Ejemplo n.º 29
0
 public IPointEntity PointByCoordinates(double x, double y, double z)
 {
     DSGeometryApplication.Check();
     return(new PointEntity(x, y, z));
 }
Ejemplo n.º 30
0
 public INurbsCurveEntity NurbsCurveByPoints(IPointEntity[] hosts, bool makePeriodic)
 {
     DSGeometryApplication.Check();
     return(new NurbsCurveEntity());
 }