Class TAbstractLODNode

Unit

Declaration

type TAbstractLODNode = class(TAbstractX3DGroupingNode)

Description

Provides various levels of detail for a given object, only one of which will be visible at a given time.

It's a common ancestor for VRML 2.0 LOD (TLODNode_2) and X3D LOD (TLODNode). Unfortunately, we cannot have a simple common class for both VRML 97 and X3D because there would be a name clash for "level_changed" event:

  • For VRML 2.0, main MFNode field was named "level" and so "level_changed" is an event reporting when MFNode changed.

  • For X3D, main MFNode field is named "children", and so "children_changed" reports MFNode changes. "level_changed" is a new field, SFInt32, indicating which child is chosen.

So level_changed has completely different meanings for VRML 97 and X3D. As an extension we'll add "levelIndex_changed", SFInt32, to be analogous to X3D "level_changed". This way both VRML 2.0 and X3D LOD nodes have the same capabilities, and common interface for programmer (programmer should use X3D event/fields names for Pascal property names), but for parser they will use different names.

Hierarchy

Overview

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
Protected function GetCenter: TVector3;
Protected procedure SetCenter(const Value: TVector3);
Protected function GetForceTransitions: boolean;
Protected procedure SetForceTransitions(const Value: boolean);
Public procedure CreateNode; override;
Public class function ClassX3DType: string; override;
Public function TransformationChange: TNodeTransformationChange; override;

Properties

Public property FdCenter: TSFVec3f read FFdCenter;
Public property Center: TVector3 read GetCenter write SetCenter;
Public property FdRange: TMFFloat read FFdRange;
Public property FdForceTransitions: TSFBool read FFdForceTransitions;
Public property ForceTransitions: boolean read GetForceTransitions write SetForceTransitions;
Public property EventLevel_changed: TSFInt32Event read FEventLevel_changed;

Description

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
 
Protected function GetCenter: TVector3;
 
Protected procedure SetCenter(const Value: TVector3);
 
Protected function GetForceTransitions: boolean;
 
Protected procedure SetForceTransitions(const Value: boolean);
 
Public procedure CreateNode; override;
 
Public class function ClassX3DType: string; override;
 
Public function TransformationChange: TNodeTransformationChange; override;
 

Properties

Public property FdCenter: TSFVec3f read FFdCenter;
 
Public property Center: TVector3 read GetCenter write SetCenter;
 
Public property FdRange: TMFFloat read FFdRange;
 
Public property FdForceTransitions: TSFBool read FFdForceTransitions;
 
Public property ForceTransitions: boolean read GetForceTransitions write SetForceTransitions;
 
Public property EventLevel_changed: TSFInt32Event read FEventLevel_changed;
 

Generated by PasDoc 0.16.0.