Class TCollisionNode

Unit

Declaration

type TCollisionNode = class(TAbstractX3DGroupingNode, IAbstractSensorNode)

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 procedure CreateNode; override;
Public class function ClassX3DType: string; override;
Public procedure CollideAsBox(const Box: TBox3D);
Public procedure CollideAsBox(const VisibleNode: TX3DNode; const Box: TBox3D);

Properties

Public property FdEnabled: TSFBool read FFdEnabled;
Public property EventCollideTime: TSFTimeEvent read FEventCollideTime;
Public property EventIsActive: TSFBoolEvent read FEventIsActive;
Public property FdProxy: TSFNode read FFdProxy;
Public property Enabled: Boolean read GetEnabled write SetEnabled;
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 procedure CreateNode; override;
 
Public class function ClassX3DType: string; override;
 
Public procedure CollideAsBox(const Box: TBox3D);

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

Properties

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

Generated by PasDoc 0.16.0.