A
closed
interval
of
numbers
(64-bit
floating-point):
[Start..End]
struct
|
RangeD
|
implements
|
IEquatable<RangeD>
|
+----+----+----+----O----+----+----+----+---> Number axis -4 -3 -2 -1 0 1 2 3 4 ^ ^ Start End \___________________/ Length := End - Start
The serialization helper object for values of RangeD.
public
static
readonly
field
|
Serializer
|
||
type
|
ITypeSerializer<RangeD>
|
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
).
A range that contains all 64-bit floating-point values.
public
static
readonly
field
|
Max
|
||
type
|
RangeD
|
The
unit
interval:
[0..1]
.
public
static
readonly
field
|
Unit
|
||
type
|
RangeD
|
A range at offset zero with zero length.
public
static
readonly
field
|
Zero
|
||
type
|
RangeD
|
End of number range (inclusive).
public
readonly
field
|
End
|
||
type
|
float64
|
Is this number range empty?
public
property
|
IsEmpty
{
get
}
|
||
type
|
bool
|
||
value
|
true
if
this
range
is
empty,
false
if
it
is
not. |
Length of this number range.
public
property
|
Length
{
get
}
|
||
type
|
float64
|
||
value
|
The range length. |
Start of number range (inclusive).
public
readonly
field
|
Start
|
||
type
|
float64
|
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. |
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. |
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.
|
public
method
|
Equals
(RangeD other)
|
||
type
|
bool
|
||
params
|
other
|
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. |
Intersects this range with the given one.
[Pure]
|
||||
public
method
|
Intersection
(RangeD other)
|
|||
type
|
RangeD
|
|||
params
|
other
|
The other range. | ||
returns
|
The resulting range. |
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. |
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. |
Scales this range.
[Pure]
|
||||
public
method
|
Scale
(float64 factor)
|
|||
type
|
RangeD
|
|||
params
|
factor
|
[>0]
|
The scale factor. | |
returns
|
The scaled range. |
public
method
|
Similar
(RangeD other)
|
||
type
|
bool
|
||
params
|
other
|
public
override
method
|
ToString
()
|
||
type
|
string
|
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.