Class TCollisionNode

Unit

Declaration

type TCollisionNode = class(TAbstractGroupingNode)

Description

Grouping node that specifies the collision detection properties for its children.

Hierarchy

Overview

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
Protected function DirectEnumerateActiveForTraverse( Func: TEnumerateChildrenFunction; StateStack: TX3DGraphTraverseStateStack): Pointer; override;
Public constructor Create(const AX3DName: string = ''; const ABaseUrl: string = ''); override;
Public procedure CollideAsBox(const Box: TBox3D); overload;
Public procedure CollideAsBox(const VisibleNode: TX3DNode; const Box: TBox3D); overload;
Public procedure CreateNode; override;
Public class function ClassX3DType: string; override;

Properties

Public property FdEnabled: TSFBool read FFdEnabled;
Public property Enabled: Boolean read GetEnabled write SetEnabled;
Public property EventCollideTime: TSFTimeEvent read FEventCollideTime;
Public property EventIsActive: TSFBoolEvent read FEventIsActive;
Public property FdProxy: TSFNode read FFdProxy;
Public property Proxy: TAbstractChildNode read GetProxy write SetProxy;

Description

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
 
Protected function DirectEnumerateActiveForTraverse( Func: TEnumerateChildrenFunction; StateStack: TX3DGraphTraverseStateStack): Pointer; override;
 
Public constructor Create(const AX3DName: string = ''; const ABaseUrl: string = ''); override;
 
Public procedure CollideAsBox(const Box: TBox3D); overload;

Setup this Collision node to collide as a Box.

This sets the Proxy field to a simple box with given bounds.

The Enabled field is unchanged (by default True).

The overloaded version with VisibleNode also sets VisibleNode as the only displayed child of this collision node. The overloaded version without VisibleNode doesn't modify the displayed children.

It honors the case of Box being empty correctly. Proxy is then non-nil, but without any geometry. So the collisions are effectively disabled, in a consistent way (without changing the Enabled field).

Public procedure CollideAsBox(const VisibleNode: TX3DNode; const Box: TBox3D); overload;
 
Public procedure CreateNode; override;
 
Public class function ClassX3DType: string; override;
 

Properties

Public property FdEnabled: TSFBool read FFdEnabled;

Internal wrapper for property Enabled. This wrapper API may change, we advise to access simpler Enabled instead.

Public property Enabled: Boolean read GetEnabled write SetEnabled;
 
Public property EventCollideTime: TSFTimeEvent read FEventCollideTime;
 
Public property EventIsActive: TSFBoolEvent read FEventIsActive;
 
Public property FdProxy: TSFNode read FFdProxy;

Internal wrapper for property Proxy. This wrapper API may change, we advise to access simpler Proxy instead.

Public property Proxy: TAbstractChildNode read GetProxy write SetProxy;
 

Generated by PasDoc 0.16.0.