static void resampleJaggedArrayFloat(ref JaggedContainer <float> dat, int origX, int origY, int newX, int newY, float emptyVal) { float[] oldArry = new float[origX * origY]; for (int i = 0; i < origX * origY; i++) { oldArry[i] = dat.GetValue(i); } float[] imgScaledX = new float[newX * newY]; ImageManipulation.resizeF32Img(oldArry, imgScaledX, origX, origY, newX, newY, ImageManipulation.eFilterType.cFilter_Nearest); dat.Clear(); dat.SetEmptyValue(emptyVal); for (int i = 0; i < newX * newY; i++) { if (imgScaledX[i] != emptyVal) { dat.SetValue(i, imgScaledX[i]); } } imgScaledX = null; oldArry = null; }
public bool Save(Stream s) { BinaryWriter b = new BinaryWriter(s); b.Write(cNewVersionDelimeter); b.Write(MaskCheckList.Items.Count); b.Write(TerrainGlobals.getTerrain().getNumXVerts()); foreach (MaskItem item in MaskCheckList.Items) { b.Write(item.Name); b.Write(item.mMask.GetType().ToString()); if (item.mMask is ArrayBasedMask) { JaggedContainer <float> container = item.mMask as JaggedContainer <float>; container.SaveByStripe(b, (JaggedContainer <float> .SaveStripeDelegate)(delegate(BinaryWriter w, float[] values) { for (int i = 0; i < values.Length; i++) { w.Write(values[i]); } })); } else if (item.mMask is GraphBasedMask) { GraphBasedMask gbm = item.mMask as GraphBasedMask; b.Write(gbm.GraphMemStream.Length); gbm.GraphMemStream.Seek(0, SeekOrigin.Begin); gbm.GraphMemStream.WriteTo(b.BaseStream); } } return(true); }
public void createJaggedTileTypeFrom(JaggedContainer <int> v) { destroyTileTypeOverride(); initTileTypeOverride(); if (v == null) { return; } long id; int maskValue; v.ResetIterator(); while (v.MoveNext(out id, out maskValue)) { if (maskValue == 0) { continue; } mSimTileTypeOverride.SetValue(id, maskValue); } }
public void initHeightOverride() { mHeightOverride = new JaggedContainer <float>((int)(mWidth * mHeight)); mHeightOverride.SetEmptyValue(cJaggedEmptyValue); }
public void initScarabPassableOverride() { mSimScarabPassableOverride = new JaggedContainer <int>(mNumXTiles * mNumXTiles); mSimScarabPassableOverride.SetEmptyValue(0); }
public void initBuildableOverride() { mSimBuildableOverride = new JaggedContainer <int>(mNumXTiles * mNumXTiles); mSimBuildableOverride.SetEmptyValue(0); }