ITimeRect

1. Definition

ITimeRect derives from ISlideShowObject. It is a data structure for storing features of an object as a function of the playing time. For example, at time t0 an object can elsewhere and otherwise be rotated, as at time t1. Changes between these two time points are interpolated, which creates Movement paths and Camera pens. Please refer to Example

ITimeRect inherits from ISlideShowObject
  function GetAngleX: Float;
  function GetAngleY: Float;
  function GetAngleZ: Float;
  function GetBottom: Float;
  function GetBounds: TDoubleRect;
  function GetDDX: Float;
  function GetDDY: Float;
  function GetDDZ: Float;
  function GetDX: Float;
  function GetDY: Float;
  function GetDZ: Float;
  function GetHeight: Float;
  function GetLeft: Float;
  function GetRight: Float;
  function GetStretchMode: TStretchmode;
  function GetTime: Float;
  function GetTop: Float;
  function GetValueType: TTimeValueType;
  function GetWidth: Float;
  function GetX: Float;
  function GetY: Float;
  function GetZ: Float;
  procedure SetAngleX(const Value: Float);
  procedure SetAngleY(const Value: Float);
  procedure SetAngleZ(const Value: Float);
  procedure SetBottom(const Value: Float);
  procedure SetBounds(const Value: TDoubleRect);
  procedure SetHeight(const Value: Float);
  procedure SetLeft(const Value: Float);
  procedure SetRight(const Value: Float);
  procedure SetStretchMode(const Value: TStretchmode);
  procedure SetTime(const Value: Float);
  procedure SetTop(const Value: Float);
  procedure SetValueType(const Value: TTimeValueType);
  procedure SetWidth(const Value: Float);
  procedure SetX(const Value: Float);
  procedure SetY(const Value: Float);
  procedure SetZ(const Value: Float);
end;

2. Methods

function GetStretchMode: TStretchmode;
procedure SetStretchMode(const Value: TStretchmode);
  • Time stamp in milliseconds

    function GetTime: Float;
    procedure SetTime(const Value: Float);
  • Position in 3-dimansional space

    function GetX: Float;
    function GetY: Float;
    function GetZ: Float;
    procedure SetX(const Value: Float);
    procedure SetY(const Value: Float);
    procedure SetZ(const Value: Float);
  • Rotation angle around three axes

    function GetAngleX: Float;
    function GetAngleY: Float;
    function GetAngleZ: Float;
    procedure SetAngleX(const Value: Float);
    procedure SetAngleY(const Value: Float);
    procedure SetAngleZ(const Value: Float);
  • Bounds as outer contraints as TDoubleRect, or all values separate

    function GetBounds: TDoubleRect;
    function GetBottom: Float;
    function GetLeft: Float;
    function GetRight: Float;
    function GetTop: Float;
    procedure SetBottom(const Value: Float);
    procedure SetBounds(const Value: TDoubleRect);
    procedure SetLeft(const Value: Float);
    procedure SetRight(const Value: Float);
    procedure SetTop(const Value: Float);
  • Height and width

    function GetWidth: Float;
    function GetHeight: Float;
    procedure SetWidth(const Value: Float);
    procedure SetHeight(const Value: Float);
  • Type of interpolation at the point

    • Value tvtSmooth: interpolated coarsly
    • Value tvtEdge: no interpolation, corner
    • Value tvtHermite: better interpolation
    • Value tvtSpline: best interpolation, Attention: computationally-heavy
    function GetValueType: TTimeValueType;
    procedure SetValueType(const Value: TTimeValueType);
  • Adjustment of images to different aspect ratios

    • Value smStretch: stretch object
    • Value smStretchRatio: stretch object, keep rati
    • Value smStretchRatioCut: fill canvas, crop object accordingly
    function GetStretchMode: TStretchmode;
    procedure SetStretchMode(const Value: TStretchmode);
  • 1st and 2nd derivative of the curve at the point

    function GetDX: Float;
    function GetDY: Float;
    function GetDZ: Float;
    function GetDDX: Float;
    function GetDDY: Float;
    function GetDDZ: Float;