Interface ITimeShot
Interface for objects that represent a snapshot of data at a specific time and support arithmetic operations. This interface provides a foundation for time-series data with vector operations.
public interface ITimeShot : ITimeGetter
- Inherited Members
- Extension Methods
Remarks
Implementations of this interface should:
- Store data associated with a specific time point
- Support addition with other time shots
- Support scaling by a scalar value
- Handle null or invalid data appropriately
Methods
GetAdd(ITimeShot)
Adds another time shot to this one.
ITimeShot GetAdd(ITimeShot shot)
Parameters
shot
ITimeShotThe time shot to add.
Returns
- ITimeShot
A new time shot representing the sum of the two shots.
Remarks
The addition should:
- Combine vector components appropriately
- Handle null or missing data gracefully
- Preserve the time value according to implementation rules
GetScaled(double)
Scales the values in this time shot by the specified factor.
ITimeShot GetScaled(double scale)
Parameters
scale
doubleThe scaling factor to apply to all vector components.
Returns
- ITimeShot
A new time shot with all values scaled by the given factor.
Remarks
The scaling should:
- Apply to all vector components
- Handle null or missing data gracefully
- Scale the time value if appropriate for the implementation