Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/time/grid.hpp"
Abstraction of a value alignment grid.
Such a grid has an underlying scale (origin and measurement) and is comprised of consecutive grid intervals, joined at the grid points. These can be addressed by an ordering number, centred at origin with grid point number zero. The classical example is a 25fps time frame grid, but in fact the length of the intervals is not necessarily constant. An entity defining such a grid provides functions to calculate the grid coordinates and to convert back to plain values. This includes a way of rounding to the next lower grid point, usable for grid aligning values.
Public Member Functions | |
virtual | ~Grid () |
this is an Interface | |
virtual TimeValue | gridLocal (TimeValue const &raw) const =0 |
virtual FrameCnt | gridPoint (TimeValue const &raw) const =0 |
virtual TimeValue | timeOf (FrameCnt gridPoint) const =0 |
virtual TimeValue | timeOf (FSecs gridTime, int=0) const =0 |