/// <summary>
 /// Sets a flag on the enumeration constant and returns the new value.
 /// </summary>
 /// <param name="tool">The enumeration constant to set the flag on.</param>
 /// <param name="value">The flag to set.</param>
 /// <returns>See summary.</returns>
 public static TerrainControlTools Set(this TerrainControlTools tool, TerrainControlTools value)
 {
     return tool | value;
 }
 /// <summary>
 /// Determines whether a flag is not set on the enumeration constant.
 /// </summary>
 /// <param name="tool">The enumeration constant to check.</param>
 /// <param name="value">The flag to check.</param>
 /// <returns>See summary.</returns>
 public static bool IsNotSet(this TerrainControlTools tool, TerrainControlTools value)
 {
     return (tool & (~value)) == 0;
 }
 /// <summary>
 /// Determines whether a flag is set on the enumeration constant.
 /// </summary>
 /// <param name="tool">The enumeration constant to check.</param>
 /// <param name="value">The flag to check.</param>
 /// <returns>See summary.</returns>
 public static bool IsSet(this TerrainControlTools tool, TerrainControlTools value)
 {
     return (tool & value) == value;
 }
 /// <summary>
 /// Clears a flag from the enumeration constant and returns the new value.
 /// </summary>
 /// <param name="tool">The enumeration constant to clear the flag from.</param>
 /// <param name="value">The flag to clear.</param>
 /// <returns>See summary.</returns>
 public static TerrainControlTools Clear(this TerrainControlTools tool, TerrainControlTools value)
 {
     return tool & (~value);
 }