Class TimeScale
Namespace: VelloSharp.Charting.Scales
Assembly: VelloSharp.Charting.dll
Projects temporal values (DateTimeOffset) using linear mapping in Unix milliseconds.
public sealed class TimeScale : IScale<DateTimeOffset>, IScale
Inheritance
Implements
IScale<DateTimeOffset>, IScale
Inherited Members
object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()
Constructors
TimeScale(DateTimeOffset, DateTimeOffset, bool)
public TimeScale(DateTimeOffset start, DateTimeOffset end, bool clampToDomain = true)
Parameters
start
DateTimeOffset
end
DateTimeOffset
clampToDomain
bool
TimeScale(Range<DateTimeOffset>, bool)
public TimeScale(Range<DateTimeOffset> domain, bool clampToDomain = true)
Parameters
domain
Range<DateTimeOffset>
clampToDomain
bool
Properties
ClampToDomain
Gets a value indicating whether inputs are clamped to the domain when projected.
public bool ClampToDomain { get; }
Property Value
Domain
Gets the scale domain range.
public Range<DateTimeOffset> Domain { get; }
Property Value
DomainType
Gets the underlying domain value type.
public Type DomainType { get; }
Property Value
Kind
Gets the scale family.
public ScaleKind Kind { get; }
Property Value
Methods
Project(DateTimeOffset)
Projects the provided value into normalized unit space (0..1).
public double Project(DateTimeOffset value)
Parameters
value
DateTimeOffset
Returns
TryProject(DateTimeOffset, out double)
Attempts to project the provided value into unit space without throwing.
public bool TryProject(DateTimeOffset value, out double unit)
Parameters
value
DateTimeOffset
unit
double
Returns
Unproject(double)
Converts a normalized unit value back into domain space.
public DateTimeOffset Unproject(double unit)
Parameters
unit
double