Class TAbstractLODNode

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TAbstractLODNode = class(TAbstractX3DGroupingNode)

Description

LOD node for VRML/X3D >= 2.0. This is not for VRML <= 1.0 LOD node.

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 procedure DirectEnumerateActive( Func: TEnumerateChildrenFunction); override;
Public procedure CreateNode; override;
Public class function ClassNodeTypeName: string; override;
Public function TransformationChange: TNodeTransformationChange; override;

Properties

Public property FdCenter: TSFVec3f read FFdCenter;
Public property FdRange: TMFFloat read FFdRange;
Public property FdForceTransitions: TSFBool read FFdForceTransitions;
Public property EventLevel_changed: TSFInt32Event read FEventLevel_changed;

Description

Methods

Protected procedure DirectEnumerateActive( Func: TEnumerateChildrenFunction); override;
 
Public procedure CreateNode; override;
 
Public class function ClassNodeTypeName: string; override;
 
Public function TransformationChange: TNodeTransformationChange; override;
 

Properties

Public property FdCenter: TSFVec3f read FFdCenter;
 
Public property FdRange: TMFFloat read FFdRange;
 
Public property FdForceTransitions: TSFBool read FFdForceTransitions;
 
Public property EventLevel_changed: TSFInt32Event read FEventLevel_changed;
 

Generated by PasDoc 0.13.0 on 2014-04-30 22:06:48