Пример #1
0
 public SFPoint PtXMat(SFPoint P)
 {
     SFPoint Result = new SFPoint();
     Result.X = Part(0, P);
     Result.Y = Part(1, P);
     Result.Z = Part(2, P);
     return Result;
 }
Пример #2
0
 public static DXFMatrix StdMat(SFPoint S, SFPoint P)
 {
     DXFMatrix Result = new DXFMatrix();
     Result.data[0, 0] = S.X;
     Result.data[1, 1] = S.Y;
     Result.data[2, 2] = S.Z;
     DXFMatrix.MatOffset(Result, P);
     return Result;
 }
Пример #3
0
 public override void Loaded()
 {
     //closed = false; //sm
     base.Loaded();
     pt1 = RotPt(startAngle);
     pt2 = RotPt(endAngle);
     //DXFConst.DoExtrusion(pt1, extrusion); //sm
     //DXFConst.DoExtrusion(pt2, extrusion); //sm
 }
Пример #4
0
 public DXFMText()
 {
     Scale = new SFPoint(1.0f, 1.0f, 1.0f);
     FColor = DXFConst.clByLayer;
     Matrix.IdentityMat();
 }
Пример #5
0
 private float Part(int I, SFPoint P)
 {
     return (P.X * data[0, I] + P.Y * data[1, I] + P.Z * data[2, I] + data[3, I]);
 }
Пример #6
0
 private static void MatOffset(DXFMatrix M, SFPoint P)
 {
     M.data[3, 0] = P.X;
     M.data[3, 1] = P.Y;
     M.data[3, 2] = P.Z;
 }
Пример #7
0
 public SFPoint GetPoint(SFPoint Point)
 {
     SFPoint P;
     if (FParams.matrix != null)
     {
         P.X = Base.X + FScale * (Point.X * FParams.Scale.X + FParams.matrix.data[3, 0]);
         P.Y = Base.Y - FScale * (Point.Y * FParams.Scale.Y + FParams.matrix.data[3, 1]);
     }
     else
     {
         P.X = Base.X + FScale * (Point.X * FParams.Scale.X);
         P.Y = Base.Y - FScale * (Point.Y * FParams.Scale.Y);
     }
     P.Z = Point.Z * FScale;
     return P;
 }