public Vector3D Draw(IPathDrawer drawer, Matrix4D transformation, double extrusion) { Matrix4D a = Matrix4D.Multiply(transformation, this.matrix2D_0); Matrix4D transform = Matrix4D.Multiply(a, this.matrix2D_1); if (this.ishape2D_0 != null) { if (drawer.IsSeparateCharDrawingPreferred()) { foreach (Class1063 splitPath in this.SplitPaths) { drawer.DrawCharPath(splitPath.Shape, a * DxfUtil.smethod_61(splitPath.Transform), this.color_0, this.short_0, this.Filled, extrusion); } } else { drawer.DrawPath(this.ishape2D_0, transform, this.color_0, this.short_0, this.Filled, true, extrusion); } } return((Vector3D)transform.TransformTo3D((WW.Math.Point2D) this.vector2D_0)); }