Gorilla.Utils.Path
Unit Gorilla.Utils.Path.pasClasses
- TGorillaSpline3D = class ( TObject )
- TGorillaPath3DData = class ( TInterfacedPersistent , IFreeNotification )
- TGorillaPath3D = class ( TCustomMesh )
- TGorillaPath3DAnimation = class ( TAnimation )
Interfaces
- interface IGorillaPath3DObject
Records
- record TGorillaPathPoint3D
Enumerations
- enum TGorillaPathPoint3DKind = ( MoveTo, LineTo, CurveTo, Close ) ;
- enum TGorillaSpline3DType = ( Linear, KochanekBartels ) ;
Constants
- const Polygon3DPointBreak : TPoint3D = ;
Mics. types
- type TGorillaCubicBezier3D = array [0..3] of TPoint3D;
- type TGorillaPolygon3D = array of TPoint3D;
TGorillaPathPoint3D
Fields
Methods
- public function Create ( const AKind : TGorillaPathPoint3DKind; const APoint : TPoint3D ) : TGorillaPathPoint3D ; static inline;
- public function operator Equality ( const APoint1 : TGorillaPathPoint3D; const APoint2 : TGorillaPathPoint3D ) : Boolean ; class noself operator overload;
- public function operator Inequality ( const APoint1 : TGorillaPathPoint3D; const APoint2 : TGorillaPathPoint3D ) : Boolean ; class noself operator overload;
TGorillaSpline3D
TGorillaPath3DData
Ancestors
Implements Interfaces
- IFreeNotification
Members
Fields
- private FOnChanged :
TNotifyEvent
- private FStyleResource :
TObject
- private FStyleLookup :
string
- private FStartPoint :
TPoint3D
- private FPathData :
TList<Gorilla.Utils.Path.TGorillaPathPoint3D>
- private FRecalcBounds :
Boolean
- private FBounds :
TBoundingBox
Methods
- public constructor Create ( ) ;
- public destructor Destroy ( ) ;
- private function GetPathString ( ) : string ;
- private procedure SetPathString ( const Value : string ) ;
- private procedure CalculateBezierCoefficients ( const Bezier : TGorillaCubicBezier3D; out AX : Single; out BX : Single; out CX : Single; out AY : Single; out BY : Single; out CY : Single; out AZ : Single; out BZ : Single; out CZ : Single ) ;
- private function PointOnBezier ( const StartPoint : TPoint3D; const AX : Single; const BX : Single; const CX : Single; const AY : Single; const BY : Single; const CY : Single; const AZ : Single; const BZ : Single; const CZ : Single; const T : Single ) : TPoint3D ;
- private function CreateBezier ( const Bezier : TGorillaCubicBezier3D; const PointCount : Integer ) : TGorillaPolygon3D ;
- private procedure AddArcSvgPart ( const Center : TPoint3D; const Radius : TPoint3D; StartAngle : Single; SweepAngle : Single ) ;
- private procedure AddArcSvg ( const P1 : TPoint3D; const Radius : TPoint3D; Angle : Single; const LargeFlag : Boolean; const SweepFlag : Boolean; const P2 : TPoint3D ) ;
- private function GetStyleLookup ( ) : string ;
- private procedure SetStyleLookup ( const Value : string ) ;
- private function GetPath ( ) : TGorillaPath3DData ;
- private function GetCount ( ) : Integer ; inline;
- private function GetPoint ( AIndex : Integer ) : TGorillaPathPoint3D ; inline;
- private function GetTokensFromString ( const PathString : string; var Pos : Integer ) : string ;
- private function GetNumberFromString ( const PathString : string; var Pos : Integer ) : string ;
- private function GetPoint3DFromString ( const PathString : string; var Pos : Integer ) : TPoint3D ;
- private function HasRelativeOffset ( const PathString : string; const Pos : Integer ) : Boolean ;
- protected procedure DefineProperties ( Filer : TFiler ) ; override;
- protected procedure ReadPath ( Stream : TStream ) ;
- protected procedure WritePath ( Stream : TStream ) ;
- protected procedure FreeNotification ( AObject : TObject ) ;
- protected procedure DoChanged ( NeedRecalcBounds : Boolean = True ) ; virtual;
- public procedure Assign ( Source : TPersistent ) ; override;
- public function EqualsPath ( const Path : TGorillaPath3DData ) : Boolean ;
- public function LastPoint ( ) : TPoint3D ;
- public procedure MoveTo ( const P : TPoint3D ) ;
- public procedure MoveToRel ( const P : TPoint3D ) ;
- public procedure LineTo ( const P : TPoint3D ) ;
- public procedure LineToRel ( const P : TPoint3D ) ;
- public procedure HLineTo ( const X : Single ) ;
- public procedure HLineToRel ( const X : Single ) ;
- public procedure VLineTo ( const Y : Single ) ;
- public procedure VLineToRel ( const Y : Single ) ;
- public procedure CurveTo ( const ControlPoint1 : TPoint3D; const ControlPoint2 : TPoint3D; const EndPoint : TPoint3D ) ;
- public procedure CurveToRel ( const ControlPoint1 : TPoint3D; const ControlPoint2 : TPoint3D; const EndPoint : TPoint3D ) ;
- public procedure SmoothCurveTo ( const ControlPoint2 : TPoint3D; const EndPoint : TPoint3D ) ;
- public procedure SmoothCurveToRel ( const ControlPoint2 : TPoint3D; const EndPoint : TPoint3D ) ;
- public procedure QuadCurveTo ( const ControlPoint : TPoint3D; const EndPoint : TPoint3D ) ;
- public procedure ClosePath ( ) ;
- public function GetLength ( ) : Single ; overload;
- public function GetLength ( const APolygon : TGorillaPolygon3D ) : Single ; overload;
- public procedure AddEllipse ( const ARect : TRectF ) ;
- public procedure AddRectangle ( const ARect : TRectF; const XRadius : Single; const YRadius : Single; const ACorners : TCorners; const ACornerType : TCornerType = Round ) ;
- public procedure AddArc ( const Center : TPoint3D; const Radius : TPoint3D; StartAngle : Single; SweepAngle : Single ) ;
- public procedure AddPath ( APath : TGorillaPath3DData ) ;
- public procedure Clear ( ) ;
- public procedure Flatten ( const Flatness : Single = 0.25 ) ;
- public procedure Scale ( const ScaleX : Single; const ScaleY : Single; const ScaleZ : Single ) ; overload;
- public procedure Scale ( const AScale : TPoint3D ) ; overload inline;
- public procedure Translate ( const DX : Single; const DY : Single; const DZ : Single ) ; overload;
- public procedure Translate ( const Delta : TPoint3D ) ; overload inline;
- public procedure FitToBox ( const ABox : TBoundingBox ) ;
- public procedure ApplyMatrix ( const M : TMatrix ) ;
- public function GetBounds ( ) : TBoundingBox ;
- public function FlattenToPolygon ( var Polygon : TGorillaPolygon3D; const Flatness : Single = 0.25 ) : TPoint3D ;
- public function IsEmpty ( ) : Boolean ;
Properties
TGorillaPath3D
Ancestors
Members
Fields
Methods
- public constructor Create ( AOwner : TComponent ) ;
- public destructor Destroy ( ) ;
- private procedure SetPath ( const Value : TGorillaPath3DData ) ;
- protected procedure PathChanged ( Sender : TObject ) ;
- protected procedure Render ( ) ; override;
- protected procedure Build ( ) ; virtual;
Properties
- published Path : TGorillaPath3DData
- published MaterialSource : TMaterialSource
- published Cursor : TCursor
- published DragMode : TDragMode
- published Position : TPosition3D
- published Scale : TPosition3D
- published RotationAngle : TPosition3D
- published Locked : Boolean
- published Width : Single
- published Height : Single
- published Depth : Single
- published Opacity : Single
- published Projection : TProjection
- published HitTest : Boolean
- published VisibleContextMenu : Boolean
- published Visible : Boolean
- published ZWrite : Boolean
TGorillaPath3DAnimation
Ancestors
Members
Fields
- private FPath :
TGorillaPath3DData
- private FPolygon :
TGorillaPolygon3D
- private FObj :
TControl3D
- private FStart :
TPoint3D
- private FRotate :
Boolean
- private FSpline :
TGorillaSpline3D
- private FSplineType :
TGorillaSpline3DType
- private FPathLength :
Single
Methods
- public constructor Create ( AOwner : TComponent ) ;
- public destructor Destroy ( ) ;
- private procedure SetPath ( const Value : TGorillaPath3DData ) ;
- private function EnabledStored ( ) : Boolean ;
- protected procedure ProcessAnimation ( ) ; override;
- public procedure Start ( ) ; override;
Properties
- published AnimationType : TAnimationType
- published AutoReverse : Boolean
- published Enabled : Boolean
- published Delay : Single
- published Duration : Single
- published Interpolation : TInterpolationType
- published Inverse : Boolean
- published Loop : Boolean
- published Path : TGorillaPath3DData
- published Rotate : Boolean
- published SplineType : TGorillaSpline3DType
- published Trigger : TTrigger
- published TriggerInverse : TTrigger