ITimeRect: Unterschied zwischen den Versionen

Aus AquaSoft Wiki
Zur Navigation springenZur Suche springen
Zeile 47: Zeile 47:
 
* Zeitstempel in Millisekunden
 
* Zeitstempel in Millisekunden
 
<code>
 
<code>
   function GetTime: Double;
+
   function GetTime: Float;
   procedure SetTime(const Value: Double);
+
   procedure SetTime(const Value: Float);
 
</code>
 
</code>
  
Zeile 54: Zeile 54:
 
* Position im dreidimensionalen Raum
 
* Position im dreidimensionalen Raum
 
<code>
 
<code>
   function GetX: Double;
+
   function GetX: Float;
   function GetY: Double;
+
   function GetY: Float;
   function GetZ: Double;
+
   function GetZ: Float;
   procedure SetX(const Value: Double);
+
   procedure SetX(const Value: Float);
   procedure SetY(const Value: Double);
+
   procedure SetY(const Value: Float);
   procedure SetZ(const Value: Double);
+
   procedure SetZ(const Value: Float);
 
</code>
 
</code>
  
Zeile 65: Zeile 65:
 
* Rotationswinkel um 3 Achsen
 
* Rotationswinkel um 3 Achsen
 
<code>
 
<code>
   function GetAngleX: Double;
+
   function GetAngleX: Float;
   function GetAngleY: Double;
+
   function GetAngleY: Float;
   function GetAngleZ: Double;
+
   function GetAngleZ: Float;
   procedure SetAngleX(const Value: Double);
+
   procedure SetAngleX(const Value: Float);
   procedure SetAngleY(const Value: Double);
+
   procedure SetAngleY(const Value: Float);
   procedure SetAngleZ(const Value: Double);
+
   procedure SetAngleZ(const Value: Float);
 
</code>
 
</code>
  
Zeile 77: Zeile 77:
 
<code>   
 
<code>   
 
   function GetBounds: TDoubleRect;
 
   function GetBounds: TDoubleRect;
   function GetBottom: Double;
+
   function GetBottom: Float;
   function GetLeft: Double;
+
   function GetLeft: Float;
   function GetRight: Double;
+
   function GetRight: Float;
   function GetTop: Double;
+
   function GetTop: Float;
   procedure SetBottom(const Value: Double);
+
   procedure SetBottom(const Value: Float);
 
   procedure SetBounds(const Value: TDoubleRect);
 
   procedure SetBounds(const Value: TDoubleRect);
   procedure SetLeft(const Value: Double);
+
   procedure SetLeft(const Value: Float);
   procedure SetRight(const Value: Double);
+
   procedure SetRight(const Value: Float);
   procedure SetTop(const Value: Double);
+
   procedure SetTop(const Value: Float);
 
</code>
 
</code>
  
Zeile 91: Zeile 91:
 
* Höhe und Breite
 
* Höhe und Breite
 
<code>
 
<code>
   function GetWidth: Double;
+
   function GetWidth: Float;
   function GetHeight: Double;
+
   function GetHeight: Float;
   procedure SetWidth(const Value: Double);
+
   procedure SetWidth(const Value: Float);
   procedure SetHeight(const Value: Double);
+
   procedure SetHeight(const Value: Float);
 
</code>
 
</code>
  
Zeile 121: Zeile 121:
 
* 1. und 2. Ableitung der Kurve an dem Punkt
 
* 1. und 2. Ableitung der Kurve an dem Punkt
 
<code>
 
<code>
   function GetDX: Double;
+
   function GetDX: Float;
   function GetDY: Double;
+
   function GetDY: Float;
   function GetDZ: Double;
+
   function GetDZ: Float;
   function GetDDX: Double;
+
   function GetDDX: Float;
   function GetDDY: Double;
+
   function GetDDY: Float;
   function GetDDZ: Double;
+
   function GetDDZ: Float;
 
</code>
 
</code>
  

Version vom 7. Dezember 2012, 11:43 Uhr

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: Float;
 procedure SetTime(const Value: Float);


  • Position im dreidimensionalen Raum

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


  • Rotationswinkel um 3 Achsen

 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, als äußere Begrenzungen als TDoubleRect, bzw. alle Werte einzeln

 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);


  • Höhe und Breite

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


  • 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: Float;
 function GetDY: Float;
 function GetDZ: Float;
 function GetDDX: Float;
 function GetDDY: Float;
 function GetDDZ: Float;