/// Creates a height profile with an interval of @a pattern repeating infinitely in both directions. The repeating pattern will start at coordinate 0. /// /*/// Example: * /// @code{.cs} * /// var pattern = HeightProfile.RadialGradient([100, 100], 200, 1, -1); * /// var profile = HeightProfile.Pattern(pattern, [0, 0], [200, 200]); * /// yield HeightMap.Projection(profile, Direction.Vertical); * /// @endcode * /// * /// @image html std_1d_pattern.png*/ /// /// @param pattern The height profile from which the pattern is copied. /// @param intervalStart The position of start of the interval. /// @param intervalEnd The position of end of the interval. /// @return The height profile. static HeightProfile Pattern(HeightProfile pattern, Coordinate intervalStart, Coordinate intervalEnd);
/// Creates a deep copy of another height profile. /// /*/// Example: * /// @code{.cs} * /// var main = HeightProfile.Gradient(200, 600, 1, 0); * /// var copy = HeightProfile.Clone(main); * /// copy.Move([200, 0]); * /// yield main.Unify(copy); * /// @endcode*/ /// /// @param heightProfile (Optional) The profile to copy. /// @return The height profile. static HeightProfile Clone(HeightProfile heightProfile);
/// Creates a height map with a @a profile projected along @a direction. /// /// Example: /// @code{.cs} /// var profile = HeightProfile.Noise(); /// yield HeightMap.Projection(profile, Direction.Vertical); /// @endcode /// /// @image html std_2d_projection.png /// /// @param profile The height profile. /// @param direction The projection direction. /// @return The height map. static HeightMap Projection(HeightProfile profile, Direction direction);