public void ToXml(XmlWriter w) { w.WriteStartElement("Terrain"); w.WriteElementString("algorithm", AlgorithmNames[(int)algorithm]); w.WriteElementString("xOffset", xOff.ToString()); w.WriteElementString("yOffset", yOff.ToString()); w.WriteElementString("zOffset", ZOff.ToString()); w.WriteElementString("h", h.ToString()); w.WriteElementString("lacunarity", lacunarity.ToString()); w.WriteElementString("octaves", octaves.ToString()); w.WriteElementString("metersPerPerlinUnit", metersPerPerlinUnit.ToString()); w.WriteElementString("heightScale", HeightScale.ToString()); w.WriteElementString("heightOffset", HeightOffset.ToString()); w.WriteElementString("fractalOffset", FractalOffset.ToString()); w.WriteElementString("heightFloor", HeightFloor.ToString()); switch (Algorithm) { case GeneratorAlgorithm.HybridMultifractalWithSeedMap: w.WriteElementString("seedMapOriginX", seedMapOrigin.x.ToString()); w.WriteElementString("seedMapOriginY", seedMapOrigin.y.ToString()); w.WriteElementString("seedMapOriginZ", seedMapOrigin.z.ToString()); w.WriteElementString("seedMapMetersPerSample", seedMapMetersPerSample.ToString()); w.WriteElementString("outsideSeedMapHeight", OutsideMapSeedHeight.ToString()); SeedMapToXml(w); break; default: break; } w.WriteEndElement(); // Terrain return; }
private void BtnSetLength_Click(object sender, EventArgs e) { /* * 자동차 위치가 파이캠 기준의 좌표를 통해 전송될 것인데 우리가 그리드를 통해 보는 것은 * 좌표가 파이캠이랑 다르다. 그래서 이 괴리감을 줄이기 위해서 축척을 구하는 것이다. * * 축척을 통해서 파이캠 기준 좌표 -> 데이터그리드 기준 좌표로 변환 * (여기서 좌표 변환을 하지는 않고 축척만 구하는 함수다) * */ ActualCamWidth = Convert.ToInt32(TB_ActualWidth.Text); ActualCamHeight = Convert.ToInt32(TB_ActualHeight.Text); WidthScale = ActualCamWidth / Convert.ToDouble(CellSize * nCol); HeightScale = ActualCamHeight / Convert.ToDouble(CellSize * nRow); ConvertCoordinates_CamToGrid(car1); ApproximateGrid_Car(car1); MessageBox.Show("가로 축척: " + WidthScale.ToString() + " " + "세로 축척: " + HeightScale.ToString()); }