public virtual void ReduceToEdgeLength(double minEdgeLen) { ReduceMode = TargetModes.MinEdgeLength; TargetCount = 1; MinEdgeLength = minEdgeLen; DoReduce(); }
public virtual void ReduceToTriangleCount(int nCount) { ReduceMode = TargetModes.TriangleCount; TargetCount = Math.Max(1, nCount); MinEdgeLength = double.MaxValue; DoReduce(); }
public virtual void ReduceToVertexCount(int nCount) { ReduceMode = TargetModes.VertexCount; TargetCount = Math.Max(3, nCount); MinEdgeLength = double.MaxValue; DoReduce(); }
private static void DoWrite(string text, LogLevel level, TargetModes target) { lock (writeLock) { if (supressWrite) { return; } supressWrite = true; target = target == TargetModes.UseGlobalSetting ? Target : target; if (target.HasFlag(TargetModes.File)) { try { System.IO.File.AppendAllText(GetLogfile().FullName, text); } catch (Exception) { } } if (target.HasFlag(TargetModes.Screen)) { try { var g = Game.GnomanEmpire.Instance; if (g != null) { var w = g.World; if (w != null) { var nm = w.NotificationManager; if (nm != null) { if (g.Region != null) { var guiMgr = g.GuiManager; if (guiMgr != null) { if (guiMgr.HUD != null) { nm.AddNotification(text, false); } } } } } } } catch (Exception) { } } supressWrite = false; } }
public static void WriteText(string text, LogLevel level, TargetModes target) { DoWrite(text + Environment.NewLine, level, target); }
public static void WriteList <T>(IEnumerable <T> collection, LogLevel level = LogLevel.Normal, TargetModes target = TargetModes.UseGlobalSetting) { var list = collection as IList <T>; var pre = new List <String>(1); if (list == null) { pre.Add("Enumeration<" + typeof(T).FullName + ">: " + ObjectContentToString(collection)); } else { pre.Add("List<" + typeof(T).FullName + ">: " + ObjectContentToString(collection)); } Write(collection == null ? pre : pre.Union(collection.Select(el => "> " + ObjectToString(el))), level, target); }
public static void Write(LogLevel level = LogLevel.Normal, TargetModes target = TargetModes.UseGlobalSetting, params object[] what) { Write(what.Select(el => ObjectToString(el)), level, target); }
public static void Write(Exception err, LogLevel level = LogLevel.Normal, TargetModes target = TargetModes.UseGlobalSetting) { if (SuppressDoubleExceptions && (err == lastException)) { return; } lastException = err; Write((string)null, err /*ObjectContentToStringOrType(err)*/, level, target); }
public static void Write(string preText, Exception err, LogLevel level = LogLevel.Normal, TargetModes target = TargetModes.UseGlobalSetting) { lastException = err; string errText; try { errText = ObjectContentToStringOrType(err); } catch (Exception toTextEx) { try { errText = "Failed to retrieve error message: " + toTextEx.ToString(); } catch (Exception) { errText = "Fatal error retrieving error message."; } } Write((preText == null ? "" : preText + " ") + errText, level, target); }
public static void Write(string text, LogLevel level = LogLevel.Normal, TargetModes target = TargetModes.UseGlobalSetting) { Write(text.Yield(), level, target); }
public static void Write(LogLevel level = LogLevel.Normal, TargetModes target = TargetModes.UseGlobalSetting, params string[] texts) { Write((IEnumerable <string>)texts, level, target); }
public static void Write(IEnumerable <String> lines, LogLevel level = LogLevel.Normal, TargetModes target = TargetModes.UseGlobalSetting) { DoWrite( "Date: " + DateTime.Now.ToString() + Environment.NewLine + String.Join(Environment.NewLine, lines) + Environment.NewLine + Environment.NewLine, level, target ); }