Exemple #1
0
        public void Transform(ITransform2 xform)
        {
            Vector2d vCenter = xform.TransformP(Center);
            Vector2d vStart  = xform.TransformP((IsReversed) ? P1 : P0);
            Vector2d vEnd    = xform.TransformP((IsReversed) ? P0 : P1);

            SetFromCenterAndPoints(vCenter, vStart, vEnd);
        }
Exemple #2
0
        public void Transform(ITransform2 xform)
        {
            Center = xform.TransformP(Center);
            Vector2d new_P0 = xform.TransformP(P0) - Center;

            AngleStartDeg = Math.Atan2(new_P0.y, new_P0.x);
            Vector2d new_P1 = xform.TransformP(P1) - Center;

            AngleEndDeg = Math.Atan2(new_P1.y, new_P1.x);
            if (AngleEndDeg < AngleStartDeg)
            {
                AngleEndDeg += 360;
            }

            Radius = xform.TransformScalar(Radius);
        }
Exemple #3
0
 public void Transform(ITransform2 xform)
 {
     for (int k = 0; k < mCtrlPoint.Length; ++k)
     {
         mCtrlPoint[k] = xform.TransformP(mCtrlPoint[k]);
     }
 }
        public void Transform(ITransform2 xform)
        {
            for (int k = 0; k < mCtrlPoint.Length; ++k)
            {
                mCtrlPoint[k] = xform.TransformP(mCtrlPoint[k]);
            }

            // update derivatives
            for (int i = 0; i < mNumCtrlPoints - 1; ++i)
            {
                mDer1CtrlPoint[i] = mCtrlPoint[i + 1] - mCtrlPoint[i];
            }

            for (int i = 0; i < mNumCtrlPoints - 2; ++i)
            {
                mDer2CtrlPoint[i] = mDer1CtrlPoint[i + 1] - mDer1CtrlPoint[i];
            }

            if (mDegree >= 3)
            {
                for (int i = 0; i < mNumCtrlPoints - 3; ++i)
                {
                    mDer3CtrlPoint[i] = mDer2CtrlPoint[i + 1] - mDer2CtrlPoint[i];
                }
            }
        }
Exemple #5
0
 public void Transform(ITransform2 xform)
 {
     Center   = xform.TransformP(Center);
     Axis0    = xform.TransformN(Axis0);
     Axis1    = xform.TransformN(Axis1);
     Extent.x = xform.TransformScalar(Extent.x);
     Extent.y = xform.TransformScalar(Extent.y);
 }
Exemple #6
0
        public Polygon2d Transform(ITransform2 xform)
        {
            int N = vertices.Count;

            for (int k = 0; k < N; ++k)
            {
                vertices[k] = xform.TransformP(vertices[k]);
            }
            return(this);
        }
 public void Transform(ITransform2 xform)
 {
     Center = xform.TransformP(Center);
     Radius = xform.TransformScalar(Radius);
 }
Exemple #8
0
 public void Transform(ITransform2 xform)
 {
     Center    = xform.TransformP(Center);
     Direction = xform.TransformN(Direction);
     Extent    = xform.TransformScalar(Extent);
 }