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; }
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; }
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 }
public DXFMText() { Scale = new SFPoint(1.0f, 1.0f, 1.0f); FColor = DXFConst.clByLayer; Matrix.IdentityMat(); }
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]); }
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; }
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; }