Ejemplo n.º 1
0
        private Curve2DAspect Clone()
        {
            Curve2DAspect res = new Curve2DAspect(dualSurfaceCurve, onSurface1);

            res.UserData.CloneFrom(this.UserData);
            return(res);
        }
Ejemplo n.º 2
0
        void ICurve2D.Copy(ICurve2D toCopyfrom)
        {
            Curve2DAspect c = toCopyfrom as Curve2DAspect;

            theCurve.Copy(c.theCurve);
            UserData.CloneFrom(c.UserData);
        }
Ejemplo n.º 3
0
        ICurve2D ICurve2D.Parallel(double Dist, bool approxSpline, double precision, double roundAngle)
        {
            ICurve2D      parallel = theCurve.Parallel(Dist, approxSpline, precision, roundAngle);
            Curve2DAspect c2da     = Clone();

            c2da.clipped      = true;
            c2da.startPoint2D = parallel.StartPoint;
            c2da.endPoint2D   = parallel.EndPoint;
            c2da.startPoint   = theSurface.PointAt(c2da.startPoint2D);
            c2da.endPoint     = theSurface.PointAt(c2da.endPoint2D);
            c2da.clippedCurve = parallel;
            return(c2da);
        }
Ejemplo n.º 4
0
        ICurve2D ICurve2D.Trim(double StartPos, double EndPos)
        {
            ICurve2D      trimmed = theCurve.Trim(StartPos, EndPos);
            Curve2DAspect c2da    = Clone();

            c2da.clipped      = true;
            c2da.startPoint2D = trimmed.StartPoint;
            c2da.endPoint2D   = trimmed.EndPoint;
            c2da.startPoint   = theSurface.PointAt(c2da.startPoint2D);
            c2da.endPoint     = theSurface.PointAt(c2da.endPoint2D);
            c2da.clippedCurve = trimmed;
            return(c2da);
        }
Ejemplo n.º 5
0
        ICurve2D ICurve2D.Clone()
        {
            Curve2DAspect c2da = Clone();

            c2da.clipped = clipped;
            if (clipped)
            {
                c2da.clippedCurve = clippedCurve;
                c2da.startPoint2D = startPoint2D;
                c2da.endPoint2D   = endPoint2D;
                c2da.startPoint   = startPoint;
                c2da.endPoint     = endPoint;
            }
            c2da.UserData.CloneFrom(this.UserData);
            return(c2da);
        }
Ejemplo n.º 6
0
 ICurve2D[] ICurve2D.Split(double Position)
 {
     ICurve2D[] splitted = theCurve.Split(Position);
     // eine oder zwei Kurven
     ICurve2D[] res = new ICurve2D[splitted.Length];
     for (int i = 0; i < splitted.Length; ++i)
     {
         Curve2DAspect c2da = Clone();
         res[i]            = c2da;
         c2da.clipped      = true;
         c2da.startPoint2D = splitted[i].StartPoint;
         c2da.endPoint2D   = splitted[i].EndPoint;
         c2da.startPoint   = theSurface.PointAt(c2da.startPoint2D);
         c2da.endPoint     = theSurface.PointAt(c2da.endPoint2D);
         c2da.clippedCurve = splitted[i];
     }
     return(res);
 }
Ejemplo n.º 7
0
        ICurve2D ICurve2D.CloneReverse(bool reverse)
        {
            Curve2DAspect c2da = Clone();

            c2da.clipped = clipped;
            if (clipped)
            {
                c2da.clippedCurve = clippedCurve;
                c2da.startPoint2D = startPoint2D;
                c2da.endPoint2D   = endPoint2D;
                c2da.startPoint   = startPoint;
                c2da.endPoint     = endPoint;
            }
            if (reverse)
            {
                (c2da as ICurve2D).Reverse();
            }
            c2da.UserData.CloneFrom(this.UserData);
            return(c2da);
        }