Class TAbstractShapeNode

Unit

Declaration

type TAbstractShapeNode = class(TAbstractChildNode, IAbstractBoundedObject)

Description

Base node type for all Shape nodes.

Hierarchy

Overview

Internal Classes and Records

Public TSFShading = class(TSFStringEnum)

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
Public procedure CreateNode; override;
Public procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;
Public procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override;
Public function CommonSurfaceShader: TCommonSurfaceShaderNode;

Properties

Public property FdAppearance: TSFNode read FFdAppearance;
Public property FdGeometry: TSFNode read FFdGeometry;
Public property FdBboxCenter: TSFVec3f read FFdBboxCenter;
Public property FdBboxSize: TSFVec3f read FFdBboxSize;
Public property FdRender: TSFBool read FFdRender;
Public property FdShading: TSFShading read FFdShading;
Public property Shading: TShading read GetShading write SetShading;
Public property Geometry: TAbstractGeometryNode read GetGeometry write SetGeometry;
Public property Appearance: TAppearanceNode read GetAppearance write SetAppearance;
Public property Texture: TAbstractTextureNode read GetTexture write SetTexture;
Public property TextureTransform: TAbstractTextureTransformNode read GetTextureTransform write SetTextureTransform;
Public property Material: TMaterialNode read GetMaterial write SetMaterial;
Public property LineProperties: TLinePropertiesNode read GetLineProperties write SetLineProperties;
Public property FdOctreeTriangles: TSFNode read FFdOctreeTriangles;
Public property BboxCenter: TVector3 read GetBboxCenter write SetBboxCenter;
Public property BboxSize: TVector3 read GetBboxSize write SetBboxSize;
Public property OctreeTriangles: TKambiOctreePropertiesNode read GetOctreeTriangles write SetOctreeTriangles;
Public property Render: boolean read GetRender write SetRender;

Description

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
 
Public procedure CreateNode; override;
 
Public procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;
 
Public procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override;
 
Public function CommonSurfaceShader: TCommonSurfaceShaderNode;

Find a suitable CommonSurfaceShader to be used when rendering this shape, or Nil.

Properties

Public property FdAppearance: TSFNode read FFdAppearance;
 
Public property FdGeometry: TSFNode read FFdGeometry;
 
Public property FdBboxCenter: TSFVec3f read FFdBboxCenter;
 
Public property FdBboxSize: TSFVec3f read FFdBboxSize;
 
Public property FdRender: TSFBool read FFdRender;
 
Public property FdShading: TSFShading read FFdShading;
 
Public property Shading: TShading read GetShading write SetShading;
 
Public property Geometry: TAbstractGeometryNode read GetGeometry write SetGeometry;

Geometry of this shape.

Public property Appearance: TAppearanceNode read GetAppearance write SetAppearance;

Apperance of this shape.

This is a comfortable shortcut for FdAppearance.Value, checking whether it's class is appropriate.

Public property Texture: TAbstractTextureNode read GetTexture write SetTexture;

The texture of this shape. This is a shortcut for accessing "texture" field of Apperance, that is TAppearanceNode(FdAppearance.Value).FdTexture.Value, checking whether nodes are set to appropriate types along the way.

When setting this to something non-nil, we make sure to also set Appearance to something non-nil.

Public property TextureTransform: TAbstractTextureTransformNode read GetTextureTransform write SetTextureTransform;

Texture transformation of this shape. Similar to Texture, this is just a comfortable property for getting and setting the appropriate Appearance field, checking class types along the way.

Public property Material: TMaterialNode read GetMaterial write SetMaterial;

Get / set the (simple, one-sided) material of this shape. This is a shortcut for accessing "material" field of Apperance, that is TAppearanceNode(FdAppearance.Value).FdMaterial.Value, checking whether nodes are set to appropriate types along the way.

When setting this material to something non-nil, we make sure to also set Appearance to something non-nil.

Public property LineProperties: TLinePropertiesNode read GetLineProperties write SetLineProperties;

Line properties of this shape. This is a clean, type-safe way for accessing Appearance.lineProperties field of this shape.

Public property FdOctreeTriangles: TSFNode read FFdOctreeTriangles;
 
Public property BboxCenter: TVector3 read GetBboxCenter write SetBboxCenter;
 
Public property BboxSize: TVector3 read GetBboxSize write SetBboxSize;
 
Public property OctreeTriangles: TKambiOctreePropertiesNode read GetOctreeTriangles write SetOctreeTriangles;
 
Public property Render: boolean read GetRender write SetRender;

Is the shape visible. See https://castle-engine.sourceforge.io/x3d_implementation_shape_extensions.php#section_ext_shape_render


Generated by PasDoc 0.15.0.