Class TVisibilitySensorInstance

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TVisibilitySensorInstance = class(TShapeTree)

Description

no description available, TShapeTree description follows

Tree of shapes.

Although VRML/X3D model already provides the tree (graph of VRML/X3D nodes), it's a little too complicated to be used at each render call. It's especially true for VRML <= 1.0 (where properties may "leak out" from one node to the next), VRML/X3D >= 2.0 cleaned a lot here but still some work must be done when traversing (like accumulating transformations).

So we process VRML/X3D tree to this tree, which is much simpler with all the geometry nodes (TAbstractGeometryNode) along with their state (TX3DGraphTraverseState) as leafs (TShape).

Hierarchy

Overview

Fields

Public Box: TBox3D;
Public Transform: TMatrix4Single;

Methods

Public procedure Traverse(Func: TShapeTraverseFunc; const OnlyActive: boolean; const OnlyVisible: boolean = false; const OnlyCollidable: boolean = false); override;
Public function ShapesCount(const OnlyActive: boolean; const OnlyVisible: boolean = false; const OnlyCollidable: boolean = false): Cardinal; override;
Public procedure EnumerateTextures(Enumerate: TEnumerateShapeTexturesFunction); override;
Public function DebugInfo(const Indent: string = ''): string; override;

Properties

Public property Node: TVisibilitySensorNode read FNode write FNode;

Description

Fields

Public Box: TBox3D;

Bounding box of this visibility sensor instance, already transformed to global VRML/X3D scene coordinates. That is, transformed by parent Transform and similar nodes.

Public Transform: TMatrix4Single;
 

Methods

Public procedure Traverse(Func: TShapeTraverseFunc; const OnlyActive: boolean; const OnlyVisible: boolean = false; const OnlyCollidable: boolean = false); override;
 
Public function ShapesCount(const OnlyActive: boolean; const OnlyVisible: boolean = false; const OnlyCollidable: boolean = false): Cardinal; override;
 
Public procedure EnumerateTextures(Enumerate: TEnumerateShapeTexturesFunction); override;
 
Public function DebugInfo(const Indent: string = ''): string; override;
 

Properties

Public property Node: TVisibilitySensorNode read FNode write FNode;