private void AddCubeFace(AffineMesh a, string t, AffinePoint A, AffinePoint B, AffinePoint C, AffinePoint D, AffinePoint Offset = null) { if (Offset == null) Offset = new AffinePoint(); var v1 = new AffineVertex { A = A + Offset, B = B + Offset, C = C + Offset, Element = new Avalon.Images._17 { Width = 100, Height = 100, }.AttachTo(AffineContent), ElementWidth = 100, ElementHeight = 100 }; //var t1 = new TextBox { Text = t, Foreground = Brushes.Blue }.AttachTo(InfoContent); //v1.Tag = new Action<AffineVertex>( // k => // { // t1.Text = t + " " + Convert.ToInt32(k.Center.Z); // t1.MoveTo(k.Center.X + DefaultWidth / 2, k.Center.Y + DefaultHeight / 2); // } //); a.Add(v1); var v2 = new AffineVertex { A = D + Offset, B = C + Offset, C = B + Offset, Element = new Avalon.Images._19g { Width = 100, Height = 100, }.AttachTo(AffineContent), ElementWidth = 100, ElementHeight = 100 }; //v2.Element.Opacity = 0.5; //var t2 = new TextBox { Text = t }.AttachTo(InfoContent); //v2.Tag = new Action<AffineVertex>( // k => // { // t2.Text = t + " " + Convert.ToInt32(k.Center.Z); // t2.MoveTo(k.Center.X + DefaultWidth / 2, k.Center.Y + DefaultHeight / 2); // } //); a.Add(v2); }
public void Add(AffinePoint p) { Points.Add(p); }
private void AddCollada(AffineMesh a, AffinePoint Offset) { var COLLADA = XElement.Parse(new Data.ZSource().Text); var q = COLLADA .Elements("library_geometries") .Elements("geometry") .Elements("mesh") .Elements("source") .Elements("float_array"); q.WithEach( float_array => { var float_array_i = float_array.Value.Split(' '); var k = float_array_i.Select(kk => double.Parse(kk)).ToArray(); // bottom AddCubeFace(a, "DAE", new AffinePoint(k[6], k[7], k[8]), new AffinePoint(k[0], k[1], k[2]), new AffinePoint(k[3], k[4], k[5]), new AffinePoint(k[9], k[10], k[11]), Offset ); } ); }