Class TVRML1State
Unit
Declaration
type TVRML1State = class(TObject)
Description
Nodes that are saved during VRML/X3D traversing. Used for TX3DGraphTraverseState.VRML1State. These nodes affect some following nodes in the graph, in VRML 1.0.
They are never Nil
after a TX3DNode.Traverse operation. the traversing code always takes care to initialize them to default nodes at the beginning.
For all nodes enumerated here: it's guaranteed they don't affect the state (TX3DGraphTraverseState) during traversing (that is, they don't do anything special in TX3DNode.BeforeTraverse / TX3DNode.MiddleTraverse / TX3DNode.AfterTraverse). So it's guaranteed that changing some field's value of a node within TVRML1State
affects only the shapes that have given node inside State.VRML1State. TCastleSceneCore.InternalChangedField depends on that.
Hierarchy
- TObject
- TVRML1State
Overview
Methods
function Coordinate3: TCoordinate3Node_1; |
|
function ShapeHints: TShapeHintsNode_1; |
|
function FontStyle: TFontStyleNode_1; |
|
function Material: TMaterialNode_1; |
|
function MaterialBinding: TMaterialBindingNode_1; |
|
function Normal: TNormalNode; |
|
function NormalBinding: TNormalBindingNode_1; |
|
function Texture2: TTexture2Node_1; |
|
function TextureCoordinate2: TTextureCoordinate2Node_1; |
|
destructor Destroy; override; |
|
procedure CreateNodes; |
|
procedure Assign(const Source: TVRML1State); |
|
procedure SetOwnNode(const StateNode: TVRML1StateNode; const Node: TX3DNode); |
Properties
property Nodes [const StateNode: TVRML1StateNode]: TX3DNode read GetNode write SetNode; |
Description
Methods
function Coordinate3: TCoordinate3Node_1; |
|
This item has no description. |
function ShapeHints: TShapeHintsNode_1; |
|
This item has no description. |
function FontStyle: TFontStyleNode_1; |
|
This item has no description. |
function Material: TMaterialNode_1; |
|
This item has no description. |
function MaterialBinding: TMaterialBindingNode_1; |
|
This item has no description. |
function Normal: TNormalNode; |
|
This item has no description. |
function NormalBinding: TNormalBindingNode_1; |
|
This item has no description. |
function Texture2: TTexture2Node_1; |
|
This item has no description. |
function TextureCoordinate2: TTextureCoordinate2Node_1; |
|
This item has no description. |
destructor Destroy; override; |
|
Destructor automatically frees and nils all Nodes that are owned. |
procedure CreateNodes; |
|
Create and assign all Nodes. All nodes become owned. |
procedure Assign(const Source: TVRML1State); |
|
Assign from Source. During doing this, old nodes are freed if they were owned. New nodes are not owned. This takes care of checking for each TVRML1StateNode if the old node is equal to new one. If yes, then the node if not freed (regardless of "owned" status), and the "owned" status is left as-is (not chaned to false). This way calling something like |
procedure SetOwnNode(const StateNode: TVRML1StateNode; const Node: TX3DNode); |
|
Set the node, and make it owned by this class. Contrast this with Nodes[StateNode] := Node; Owned[StateNode] := true; |
Properties
property Nodes [const StateNode: TVRML1StateNode]: TX3DNode read GetNode write SetNode; |
|
Last nodes that occured when visiting this VRML 1.0 graph, indexed by TVRML1StateNode. |
Generated by PasDoc 0.16.0-snapshot.