TINMAN 3D / REALTIME TERRAIN
Software Development Kit - User Manual

struct RangeD in Tinman.Core.Math

A closed interval of numbers (64-bit floating-point): [Start..End]

struct RangeD implements IEquatable<RangeD>

Remarks

 +----+----+----+----O----+----+----+----+--->  Number axis
-4   -3   -2   -1    0    1    2    3    4
      ^                   ^
      Start               End
      \___________________/
       Length := End - Start

Serialization

Serializer

The serialization helper object for values of RangeD.

public static readonly field Serializer
type ITypeSerializer<RangeD>

Public / Constants

Inv

The value of Max, with swapped start and end values.

public static readonly field Inv
type RangeD

Remarks:

This range can be used as the initial value for finding the minimum/maximum of a series of numbers (see Grow).

Max

A range that contains all 64-bit floating-point values.

public static readonly field Max
type RangeD

Unit

The unit interval: [0..1].

public static readonly field Unit
type RangeD

Zero

A range at offset zero with zero length.

public static readonly field Zero
type RangeD

Public / Attributes

End

End of number range (inclusive).

public readonly field End
type float64

IsEmpty

Is this number range empty?

public property IsEmpty { get }
type bool
value true if this range is empty, false if it is not.

Length

Length of this number range.

public property Length { get }
type float64
value The range length.

Start

Start of number range (inclusive).

public readonly field Start
type float64

Public / Methods

Clamp

Clamps the given value to this range.

[Pure]
public method Clamp (float64 value)
type float64
params value The value to clamp.
returns The clamped value.

Closed

Returns a range that represents the closed interval [a..b] (i.e. both a and b are contained in the range).

public static method Closed (float64 a, float64 b)
type RangeD
params a Left value of interval.
  b Right value of interval.
returns The range value.

Contains

Checks if this range contains the given value.

[Pure]
public method Contains (float64 value)
type bool
params value The value.
returns true if value is contained in this range, false if not.

Checks if this range fully contains the given range.

[Pure]
public method Contains (RangeD range)
type bool
params range The range.
returns true if range is fully contained in this range, false if not.

Equals

public method Equals (RangeD other)
type bool
params other

Grow

Grows this range so that it contains the given value.

[Pure]
public method Grow (float64 value)
type RangeD
params value The value.
returns The resulting range.

Grows this range so that it fully contains the given range.

[Pure]
public method Grow (RangeD range)
type RangeD
params range The range.
returns The resulting range.

Intersection

Intersects this range with the given one.

[Pure]
public method Intersection (RangeD other)
type RangeD
params other The other range.
returns The resulting range.

Intersects

Checks if this range intersects with the given one.

[Pure]
public method Intersects (RangeD other)
type bool
params other The other range.
returns true if both ranges intersect, false if not.

Of

Returns the shortest possible range that contains the given value.

public static method Of (float64 a)
type RangeD
params a The value to contains.
returns The range value.

Returns the shortest possible range that contains the given values.

public static method Of (float64 a, float64 b)
type RangeD
params a First value to contain.
  b Second value to contain.
returns The range value.

Returns the shortest possible range that contains the given values.

public static method Of (float64 a, float64 b, float64 c)
type RangeD
params a First value to contain.
  b Second value to contain.
  c Third value to contain.
returns The range value.

Scale

Scales this range.

[Pure]
public method Scale (float64 factor)
type RangeD
params factor [>0] The scale factor.
returns The scaled range.

Similar

public method Similar (RangeD other)
type bool
params other

ToString

public override method ToString ()
type string

Transform

Transforms the given value from this range to the given range.

[Pure]
public method Transform (float64 value, RangeD target)
type float64
params value The value to transform.
  target The target range.
returns The transformed value.

Remarks:

The method maps Start to target. Start and End to target. End.
No clamping is performed by this method.