Gorilla.Control
Unit Gorilla.Control.pasClasses
- TControl3DPrivateFields = class ( TFmxObject )
- TGorillaControl = class ( TControl3D , IDuplicatable )
- TOpenControl3D = class ( TGorillaControl )
Interfaces
- interface IDuplicatable
Mics. types
- type TGorillaControlClass = class of TGorillaControl;
IDuplicatable
The interface is used in basis classes inherited from delphi types to allow interaction on duplication process.
Methods
TControl3DPrivateFields
This is a dirty helper class to access private fields. Better than calculating offsets and alignments.
Remarks
CAUTION: This structure needs to be always up-to-date or it may causes heavy memory corruption!Ancestors
Members
Fields
- public Visible :
Boolean
- public RenderingList :
TList<FMX.Controls3D.TControl3D>
- public OnMouseUp :
TMouseEvent3D
- public OnMouseDown :
TMouseEvent3D
- public OnMouseMove :
TMouseMoveEvent3D
- public OnMouseWheel :
TMouseWheelEvent
- public OnClick :
TNotifyEvent
- public OnDblClick :
TNotifyEvent
- public OnTap :
TTapEvent3D
- public MouseInObject :
Boolean
- public HitTest :
Boolean
- public AutoCapture :
Boolean
- public Locked :
Boolean
- public TempContext :
TContext3D
- public CanFocus :
Boolean
- public IsMouseOver :
Boolean
- public IsFocused :
Boolean
- public RotationCenter :
TPosition3D
- public OnKeyUp :
TKeyEvent
- public OnKeyDown :
TKeyEvent
- public OnRender :
TRenderEvent
- public TwoSide :
Boolean
- public DragMode :
TDragMode
- public DisableDragHighlight :
Boolean
- public OnDragEnter :
TDragEnterEvent3D
- public OnDragDrop :
TDragDropEvent3D
- public OnDragEnd :
TNotifyEvent
- public OnDragLeave :
TNotifyEvent
- public OnDragOver :
TDragOverEvent3D
- public IsDragOver :
Boolean
- public ShowHint :
Boolean
- public Hint :
string
- public Pressed :
Boolean
- public FDoubleClick :
Boolean
- public Cursor :
TCursor
- public InheritedCursor :
TCursor
- public VisibleContextMenu :
Boolean
- public TabList :
TTabList
- public AcceptsControls :
Boolean
- public OnMouseEnter :
TNotifyEvent
- public OnMouseLeave :
TNotifyEvent
- public CanParentFocus :
Boolean
- public OnDeactivate :
TNotifyEvent
- public OnActivate :
TNotifyEvent
- public RecalcHasEffect :
Boolean
- public AbsoluteHasEffect :
Boolean
- public AbsoluteHasDisablePaintEffect :
Boolean
- public AbsoluteHasAfterPaintEffect :
Boolean
- public Opaque :
Boolean
- public TabStop :
Boolean
TGorillaControl
Default control for Gorilla3D. Further class like TGorillaMesh, TGorillaModel, ... are inherited from this class.
Ancestors
Implements Interfaces
- IDuplicatable
Members
Fields
- protected FQualifiedName :
string
- protected FControls :
TGorillaControls
- protected FDef :
TCustomDef
- protected FFrustumCullingCheck :
Boolean
Methods
- public constructor Create ( AOwner : TComponent ) ;
- public destructor Destroy ( ) ;
- protected procedure SetName ( const NewName : TComponentName ) ; override;
- protected procedure SetParent ( const AValue : TFmxObject ) ; override;
- protected function GetQualifiedName ( ) : string ;
- protected procedure SetQualifiedName ( const AValue : string ) ;
- protected procedure SetFrustumCullingCheck ( const AValue : Boolean ) ; virtual;
- protected procedure Resize3D ( ) ; override;
- protected procedure DoUpdateParentRenderList ( const AValue : TFmxObject ) ; virtual;
- protected procedure Render ( ) ; override;
- protected procedure RenderChildren ( ) ; override;
- protected procedure DoDuplicate ( ASource : TComponent; ADuplicator : TGorillaDuplicator ) ; virtual;
- public function Duplicate
(
const
AOwner :
TComponent; const
AAsProxy :
Boolean
)
: TComponent
;
This duplication mechanism do not use TFmxObject.Clone, which only reproduces published properties instead of a real memory copy.
- public procedure LoadFromDefinition
(
const
ADef :
TCustomDef
)
;
abstract virtual;
Abstract method to load a control from a specific definition. This method needs to be overwritten by each extended control.
- public procedure AddControl
(
const
AName :
string; const
AControl :
TGorillaControl
)
;
virtual;
Adds a child control to the specific control component. This allows to manage easily control hierarchy, where each sub control can be found by its name.
- public function FindControlByDeepSearch
(
const
AName :
string
)
: TComponent
;
virtual;
Searches for a specific component in control hierarchy by a submitted control name.
- public function FindControlByDefDeepSearch
(
const
ADef :
TCustomDef
)
: TComponent
;
virtual;
Searches for a specific component in control hierarchy by a submitted definition.
- public procedure FindControlsByDeepSearch
(
const
AName :
string; const
AResult :
TReferencedControlList
)
;
virtual;
Searches for controls with a specific name in control hierarchy by a submitted name.
- public function GetBoundingBox
(
)
: TBoundingBox
;
virtual;
Returns the current bounding box depending on the vertices data of all contained sub meshes.
- public function GetAbsoluteBoundingBox
(
)
: TBoundingBox
;
virtual;
Returns the absolute bounding box depending on the vertices data of all contained sub meshes.
- public procedure DestroyComponentsButIgnoreClass ( AClasses : TArray<System.TClass> ) ;
Properties
- public Controls : TDictionary<System.string,Gorilla.Control.TGorillaControl>
- public Def : TCustomDef
- public FrustumCullingCheck : Boolean
Frustum culling checks if a controls bounding box is inside of the camera frustum or in other words: is visible. If not, the renderer supresses this control from rendering. Nevertheless, some controls need to be rendered anyway, f.e. humanoids and joints. To allow those to be rendered, we disable the frustum culling check for those.
read FFrustumCullingCheck
write SetFrustumCullingCheck - published QualifiedName : string
- published HitTest : Boolean
- 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 Opaque : Boolean
- published Opacity : Single
- published Projection : TProjection
- published VisibleContextMenu : Boolean
- published TwoSide : Boolean
- published Visible : Boolean
- published ZWrite : Boolean