ITimeRect

Aus AquaSoft Wiki
Zur Navigation springenZur Suche springen

ITimeRect leitet von ISlideShowObject ab. Es ist eine Datenstruktur, um Eigenschaften eines Objektes in Abhängigkeit von der Abspielzeit speichert. So kann beispielsweise zum Zeitpunkt t0 ein Objekt an anderer Stelle und anders rotiert sein, als zum Zeitpunkt t1. Änderungen zwischen diesen beiden Zeitpunkten werden interpoliert, so dass die Bewegungspfade und Kameraschwenks zustande kommen. Siehe Beispiel

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

Methoden

  • Zeitstempel in Millisekunden

 function GetTime: Double;
 procedure SetTime(const Value: Double);


  • Position im dreidimensionalen Raum

 function GetX: Double;
 function GetY: Double;
 function GetZ: Double;
 procedure SetX(const Value: Double);
 procedure SetY(const Value: Double);
 procedure SetZ(const Value: Double);


  • Rotationswinkel um 3 Achsen

 function GetAngleX: Double;
 function GetAngleY: Double;
 function GetAngleZ: Double;
 procedure SetAngleX(const Value: Double);
 procedure SetAngleY(const Value: Double);
 procedure SetAngleZ(const Value: Double);


  • Bounds, als äußere Begrenzungen als TDoubleRect, bzw. alle Werte einzeln

 function GetBounds: TDoubleRect;
 function GetBottom: Double;
 function GetLeft: Double;
 function GetRight: Double;
 function GetTop: Double;
 procedure SetBottom(const Value: Double);
 procedure SetBounds(const Value: TDoubleRect);
 procedure SetLeft(const Value: Double);
 procedure SetRight(const Value: Double);
 procedure SetTop(const Value: Double);


  • Höhe und Breite

 function GetWidth: Double;
 function GetHeight: Double;
 procedure SetWidth(const Value: Double);
 procedure SetHeight(const Value: Double);


  • Art der Interpolation an dem Punkt
    • Wert tvtSmooth: grob interpoliert
    • Wert tvtEdge: keine Interpolation, Ecke
    • Wert tvtHermite: bessere Interpolation
    • Wert tvtSpline: beste Interpolation, Achtung: rechenlastig

 function GetValueType: TTimeValueType;
 procedure SetValueType(const Value: TTimeValueType);


  • Anpassung der Bilder an unterschiedliche Seitenverhältnisse
    • Wert smStretch: Objekt verzerren
    • Wert smStretchRatio: Objekt einpassen
    • Wert smStretchRatioCut: Leinwand ausfüllen, Objekt entsprechend beschneiden

 function GetStretchMode: TStretchmode;
 procedure SetStretchMode(const Value: TStretchmode);


  • 1. und 2. Ableitung der Kurve an dem Punkt

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