public MqChunk ToChunk() { baseChunk = baseChunk ?? new MqChunk(); baseChunk.Name = "Scene"; baseChunk.Child("pos").SetArguments(this.Position.Select(_ => _.ToString("0.0000"))); baseChunk.Child("lookat").SetArguments(this.LookAt.Select(_ => _.ToString("0.0000"))); baseChunk.Child("head").SetArguments(this.Head.ToString("0.0000")); baseChunk.Child("pich").SetArguments(this.Pitch.ToString("0.0000")); baseChunk.Child("bank").SetArguments(this.Bank.ToString("0.0000")); baseChunk.Child("ortho").SetArguments(this.Ortho ? "1" : "0"); baseChunk.Child("zoom2").SetArguments(this.Zoom2.ToString("0.0000")); baseChunk.Child("amb").SetArguments(this.Ambient.Select(_ => _.ToString("0.000"))); if (this.DirectionalLights.Any()) { baseChunk.Child("dirlights").SetArguments(this.DirectionalLights.Count.ToString()).SetChildren(this.DirectionalLights.Select(_ => _.ToChunk())); } else { baseChunk.RemoveChildren("dirlights"); } return(baseChunk); }
public MqChunk ToChunk() { baseChunk = baseChunk ?? new MqChunk(); baseChunk.Name = "Scene"; baseChunk.Child("pos").SetArguments(this.Position.Select(_ => _.ToString("0.0000"))); baseChunk.Child("lookat").SetArguments(this.LookAt.Select(_ => _.ToString("0.0000"))); baseChunk.Child("head").SetArguments(this.Head.ToString("0.0000")); baseChunk.Child("pich").SetArguments(this.Pitch.ToString("0.0000")); baseChunk.Child("bank").SetArguments(this.Bank.ToString("0.0000")); baseChunk.Child("ortho").SetArguments(this.Ortho ? "1" : "0"); baseChunk.Child("zoom2").SetArguments(this.Zoom2.ToString("0.0000")); baseChunk.Child("amb").SetArguments(this.Ambient.Select(_ => _.ToString("0.000"))); if (this.DirectionalLights.Any()) baseChunk.Child("dirlights").SetArguments(this.DirectionalLights.Count.ToString()).SetChildren(this.DirectionalLights.Select(_ => _.ToChunk())); else baseChunk.RemoveChildren("dirlights"); return baseChunk; }
public MqChunk ToChunk() { baseChunk = baseChunk ?? new MqChunk(); baseChunk.Name = "Object"; baseChunk.SetArguments("\"" + this.Name + "\""); baseChunk.Child("depth").SetArguments(this.Depth.ToString()); baseChunk.Child("folding").SetArguments(this.Folding ? "1" : "0"); baseChunk.Child("scale").SetArguments(this.Scale.Select(_ => _.ToString("0.000000"))); baseChunk.Child("rotation").SetArguments(this.Scale.Select(_ => _.ToString("0.000000"))); baseChunk.Child("translation").SetArguments(this.Scale.Select(_ => _.ToString("0.000000"))); if (this.Patch == MqPatchType.None) { baseChunk.RemoveChildren("patch"); baseChunk.RemoveChildren("segment"); } else { baseChunk.Child("patch").SetArguments(((int)this.Patch).ToString()); baseChunk.Child("segment").SetArguments(this.Segment.ToString()); } baseChunk.Child("visible").SetArguments(this.Visible ? "15" : "0"); baseChunk.Child("locking").SetArguments(this.Locking ? "1" : "0"); baseChunk.Child("shading").SetArguments(((int)this.Shading).ToString()); baseChunk.Child("facet").SetArguments(this.Facet.ToString("0.0")); baseChunk.Child("color").SetArguments(this.Color.Select(_ => _.ToString("0.000"))); baseChunk.Child("color_type").SetArguments(this.ColorType ? "1" : "0"); if (this.Mirror == MqMirrorType.None) { baseChunk.RemoveChildren("mirror"); } else { baseChunk.Child("mirror").SetArguments(((int)this.Mirror).ToString()); baseChunk.Child("mirror_axis").SetArguments(((int)this.MirrorAxis).ToString()); baseChunk.Child("mirror_dis").SetArguments(this.MirrorDistance.ToString("0.000")); } if (this.Lathe == MqLatheType.None) { baseChunk.RemoveChildren("lathe"); } else { baseChunk.Child("lathe").SetArguments(((int)this.Lathe).ToString()); baseChunk.Child("lathe_axis").SetArguments(((int)this.LatheAxis).ToString()); baseChunk.Child("lathe_seg").SetArguments(this.LatheSegments.ToString()); } baseChunk.Child("vertex").SetArguments(this.Vertex.Count.ToString()).SetChildren(this.Vertex.Select(v => new MqChunk().SetArguments(v.Select(_ => _.ToString("0.0000"))))); if (this.Weight.Any()) { baseChunk.Child("vertexattr").Child("weit").SetChildren(this.Weight.Select(_ => new MqChunk().SetArguments(_.Key.ToString(), _.Value.ToString("0.000")))); } else { var attr = baseChunk.Child("vertexattr"); attr.RemoveChildren("weit"); if (!attr.Children.Any()) { baseChunk.RemoveChildren("vertexattr"); } } baseChunk.Child("face").SetArguments(this.Faces.Count.ToString()).SetChildren(this.Faces.Select(_ => _.ToChunk())); return(baseChunk); }
public MqChunk ToChunk() { baseChunk = baseChunk ?? new MqChunk(); baseChunk.Name = "Object"; baseChunk.SetArguments("\"" + this.Name + "\""); baseChunk.Child("depth").SetArguments(this.Depth.ToString()); baseChunk.Child("folding").SetArguments(this.Folding ? "1" : "0"); baseChunk.Child("scale").SetArguments(this.Scale.Select(_ => _.ToString("0.000000"))); baseChunk.Child("rotation").SetArguments(this.Scale.Select(_ => _.ToString("0.000000"))); baseChunk.Child("translation").SetArguments(this.Scale.Select(_ => _.ToString("0.000000"))); if (this.Patch == MqPatchType.None) { baseChunk.RemoveChildren("patch"); baseChunk.RemoveChildren("segment"); } else { baseChunk.Child("patch").SetArguments(((int)this.Patch).ToString()); baseChunk.Child("segment").SetArguments(this.Segment.ToString()); } baseChunk.Child("visible").SetArguments(this.Visible ? "15" : "0"); baseChunk.Child("locking").SetArguments(this.Locking ? "1" : "0"); baseChunk.Child("shading").SetArguments(((int)this.Shading).ToString()); baseChunk.Child("facet").SetArguments(this.Facet.ToString("0.0")); baseChunk.Child("color").SetArguments(this.Color.Select(_ => _.ToString("0.000"))); baseChunk.Child("color_type").SetArguments(this.ColorType ? "1" : "0"); if (this.Mirror == MqMirrorType.None) baseChunk.RemoveChildren("mirror"); else { baseChunk.Child("mirror").SetArguments(((int)this.Mirror).ToString()); baseChunk.Child("mirror_axis").SetArguments(((int)this.MirrorAxis).ToString()); baseChunk.Child("mirror_dis").SetArguments(this.MirrorDistance.ToString("0.000")); } if (this.Lathe == MqLatheType.None) baseChunk.RemoveChildren("lathe"); else { baseChunk.Child("lathe").SetArguments(((int)this.Lathe).ToString()); baseChunk.Child("lathe_axis").SetArguments(((int)this.LatheAxis).ToString()); baseChunk.Child("lathe_seg").SetArguments(this.LatheSegments.ToString()); } baseChunk.Child("vertex").SetArguments(this.Vertex.Count.ToString()).SetChildren(this.Vertex.Select(v => new MqChunk().SetArguments(v.Select(_ => _.ToString("0.0000"))))); if (this.Weight.Any()) baseChunk.Child("vertexattr").Child("weit").SetChildren(this.Weight.Select(_ => new MqChunk().SetArguments(_.Key.ToString(), _.Value.ToString("0.000")))); else { var attr = baseChunk.Child("vertexattr"); attr.RemoveChildren("weit"); if (!attr.Children.Any()) baseChunk.RemoveChildren("vertexattr"); } baseChunk.Child("face").SetArguments(this.Faces.Count.ToString()).SetChildren(this.Faces.Select(_ => _.ToChunk())); return baseChunk; }