Class TAbstractGroupingNode
Unit
Declaration
type TAbstractGroupingNode = class(TAbstractChildNode)
Description
Base node that may contain children nodes. Note that 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.
Hierarchy
- TObject
- TPersistent
- TNonRefCountedInterfacedPersistent
- TX3DFileItem
- TX3DNode
- TAbstractNode
- TAbstractChildNode
- TAbstractGroupingNode
Overview
Methods
![]() |
function SeparateGroup: boolean; virtual; |
![]() |
procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override; |
![]() |
procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override; |
![]() |
procedure ApplyTransform(const State: TX3DGraphTraverseState); virtual; |
![]() |
procedure ApplyTransform(var Transformation: TTransformation); virtual; |
![]() |
procedure CreateNode; override; |
![]() |
destructor Destroy; override; |
Description
Methods
![]() |
function SeparateGroup: boolean; virtual; |
|
If | |
![]() |
procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override; |
![]() |
procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override; |
![]() |
procedure ApplyTransform(const State: TX3DGraphTraverseState); virtual; |
|
Change State.Transformation for children nodes. This should be done here, not in overriden BeforeTraverse. Reason: for storing ClipPlanes transformations, we need to know transformed matrix inside TAbstractGroupingNode.BeforeTraverse implementation. And we also do StateStack.Push inside TAbstractGroupingNode.BeforeTraverse implementation... So ApplyTransform must happen in the middle of TAbstractGroupingNode.BeforeTraverse call. Almost all descendants should override only the overload changing TTransformation. | |
![]() |
procedure ApplyTransform(var Transformation: TTransformation); virtual; |
![]() |
procedure CreateNode; override; |
![]() |
destructor Destroy; override; |
Generated by PasDoc 0.16.0.

