Class TAbstractShapeNode

Unit

Declaration

type TAbstractShapeNode = class(TAbstractChildNode, IAbstractBoundedObject)

Description

Base node type for all Shape nodes.

Hierarchy

Overview

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
Public constructor Create(const AX3DName: string = ''; const ABaseUrl: string = ''); override;
Public procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;
Public procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override;
Public function CommonSurfaceShader: TCommonSurfaceShaderNode; deprecated 'use TMaterialNode instead of TCommonSurfaceShaderNode (it has the same functionality and is standardized in X3D v4)';
Public procedure CreateNode; override;
Public class function ClassX3DType: string; override;

Properties

Public property Texture: TAbstractTextureNode read GetTexture write SetTexture;
Public property TextureTransform: TAbstractTextureTransformNode read GetTextureTransform write SetTextureTransform;
Public property Material: TAbstractMaterialNode read GetMaterial write SetMaterial;
Public property LineProperties: TLinePropertiesNode read GetLineProperties write SetLineProperties;
Public property FdAppearance: TSFNode read FFdAppearance;
Public property Appearance: TAppearanceNode read GetAppearance write SetAppearance;
Public property FdGeometry: TSFNode read FFdGeometry;
Public property Geometry: TAbstractGeometryNode read GetGeometry write SetGeometry;
Public property FdBboxCenter: TSFVec3f read FFdBboxCenter;
Public property BBox: TBox3D read GetBBox write SetBBox;
Public property FdBboxSize: TSFVec3f read FFdBboxSize;
Public property FdShading: TSFStringEnum read FFdShading;
Public property Shading: TShading read GetShading write SetShading;
Public property FdOctreeTriangles: TSFNode read FFdOctreeTriangles;
Public property OctreeTriangles: TKambiOctreePropertiesNode read GetOctreeTriangles write SetOctreeTriangles;
Public property FdRender: TSFBool read FFdRender;
Public property Render: Boolean read GetRender write SetRender;
Public property FdCollision: TSFStringEnum read FFdCollision;
Public property Collision: TShapeCollision read GetCollision write SetCollision;

Description

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
 
Public constructor Create(const AX3DName: string = ''; const ABaseUrl: string = ''); override;
 
Public procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;
 
Public procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override;
 
Public function CommonSurfaceShader: TCommonSurfaceShaderNode; deprecated 'use TMaterialNode instead of TCommonSurfaceShaderNode (it has the same functionality and is standardized in X3D v4)';

Warning: this symbol is deprecated: use TMaterialNode instead of TCommonSurfaceShaderNode (it has the same functionality and is standardized in X3D v4)

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

Public procedure CreateNode; override;
 
Public class function ClassX3DType: string; override;
 

Properties

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: TAbstractMaterialNode read GetMaterial write SetMaterial;

Get / set the material of this shape. 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 FdAppearance: TSFNode read FFdAppearance;
 
Public property Appearance: TAppearanceNode read GetAppearance write SetAppearance;
 
Public property FdGeometry: TSFNode read FFdGeometry;
 
Public property Geometry: TAbstractGeometryNode read GetGeometry write SetGeometry;
 
Public property FdBboxCenter: TSFVec3f read FFdBboxCenter;
 
Public property BBox: TBox3D read GetBBox write SetBBox;
 
Public property FdBboxSize: TSFVec3f read FFdBboxSize;
 
Public property FdShading: TSFStringEnum read FFdShading;
 
Public property Shading: TShading read GetShading write SetShading;
 
Public property FdOctreeTriangles: TSFNode read FFdOctreeTriangles;
 
Public property OctreeTriangles: TKambiOctreePropertiesNode read GetOctreeTriangles write SetOctreeTriangles;
 
Public property FdRender: TSFBool read FFdRender;
 
Public property Render: Boolean read GetRender write SetRender;

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

Public property FdCollision: TSFStringEnum read FFdCollision;
 
Public property Collision: TShapeCollision read GetCollision write SetCollision;
 

Generated by PasDoc 0.15.0.