/// <summary>
 /// Called when geometry has been changed.
 /// </summary>
 protected override void OnModelChanged()
 {
     var mb = new MeshBuilder();
     var p0 = this.Offset;// new Vector3(0, 0, 0);
     var d = this.Direction;
     d.Normalize();
     var p1 = p0 + (d * (float)this.Length);
     mb.AddArrow(p0, p1, this.Diameter, 2, 64);
     this.Geometry = mb.ToMeshGeometry3D();
 }