Class TAbstractInternalGroupingNode

Unit

Declaration

type TAbstractInternalGroupingNode = class(TAbstractChildNode)

Description

Base node that may contain children nodes.

You should not use this class directly usually, instead use e.g. TAbstractGroupingNode. This class is a common ancestor to help implementing a few similar nodes, like TAbstractGroupingNode and TStaticGroupNode, but it is undefined whether they will always rely on this common ancestor.

Note: This descends from TAbstractChildNode, so it can be inserted as child of another grouping node. So, you can create a hierarchy of nodes with any depth.

Handles TTransformFunctionality for any descendant that defines an instance of it.

Hierarchy

Overview

Methods

Protected function SeparateGroup: boolean; virtual;
Protected procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;
Protected procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override;
Public constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override;
Public destructor Destroy; override;

Description

Methods

Protected function SeparateGroup: boolean; virtual;

If True (default implementation in this class), then this really behaves like a grouping node. If False, this allows everything to "leak out" (transform changes, VRML 1.0 state changes etc.). Possibility useful for VRML 1.0 extension https://castle-engine.io/x3d_extensions.php#section_ext_wwwinline_separate

Protected procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;
 
Protected procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override;
 
Public constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override;
 
Public destructor Destroy; override;
 

Generated by PasDoc 0.16.0.