Class TAbstractComposedGeometryNode
Unit
Declaration
type TAbstractComposedGeometryNode = class(TAbstractGeometryNode)
Description
Base node type for all composed 3D geometry.
Hierarchy
- TObject
- TPersistent
- TX3DFileItem
- TX3DNode
- TAbstractNode
- TAbstractGeometryNode
- TAbstractComposedGeometryNode
Overview
Methods
|  | function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override; | 
|  | function InternalCoord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override; | 
|  | function CoordField: TSFNode; override; | 
|  | function SkinWeightsJoints(out Weights: TVector4List; out Joints: TInt32List): Boolean; override; | 
|  | function TexCoordField: TSFNode; override; | 
|  | function ColorField: TSFNode; override; | 
|  | function SolidField: TSFBool; override; | 
|  | function AttribField: TMFNode; override; | 
|  | function NormalField: TSFNode; override; | 
|  | function TangentField: TSFNode; override; | 
|  | function InternalFogCoord: TMFFloat; override; | 
|  | procedure CreateNode; override; | 
|  | class function ClassX3DType: String; override; | 
|  | procedure SetAttrib(const Value: array of TAbstractVertexAttributeNode); | 
|  | procedure SetRadianceTransfer(const Value: array of TVector3); overload; | 
|  | procedure SetRadianceTransfer(const Value: TVector3List); overload; | 
|  | procedure SetSkinWeights0(const Value: array of TVector4); overload; | 
|  | procedure SetSkinWeights0(const Value: TVector4List); overload; | 
|  | procedure SetSkinJoints0(const Value: array of Int32); overload; | 
|  | procedure SetSkinJoints0(const Value: TInt32List); overload; | 
Properties
|  | property FdAttrib: TMFNode read FFdAttrib; | 
|  | property FdColor: TSFNode read FFdColor; | 
|  | property Color: TAbstractColorNode read GetColor write SetColor; | 
|  | property FdCoord: TSFNode read FFdCoord; | 
|  | property Coord: TAbstractCoordinateNode read GetCoord write SetCoord; | 
|  | property FdFogCoord: TSFNode read FFdFogCoord; | 
|  | property FogCoord: TFogCoordinateNode read GetFogCoord write SetFogCoord; | 
|  | property FdNormal: TSFNode read FFdNormal; | 
|  | property Normal: TAbstractNormalNode read GetNormal write SetNormal; | 
|  | property FdTangent: TSFNode read FFdTangent; | 
|  | property Tangent: TTangentNode read GetTangent write SetTangent; | 
|  | property FdTexCoord: TSFNode read FFdTexCoord; | 
|  | property TexCoord: TAbstractTextureCoordinateNode read GetTexCoord write SetTexCoord; | 
|  | property FdCcw: TSFBool read FFdCcw; | 
|  | property Ccw: Boolean read GetCcw write SetCcw; | 
|  | property FdColorPerVertex: TSFBool read FFdColorPerVertex; | 
|  | property ColorPerVertex: Boolean read GetColorPerVertex write SetColorPerVertex; | 
|  | property FdNormalPerVertex: TSFBool read FFdNormalPerVertex; | 
|  | property NormalPerVertex: Boolean read GetNormalPerVertex write SetNormalPerVertex; | 
|  | property FdSolid: TSFBool read FFdSolid; | 
|  | property FdRadianceTransfer: TMFVec3f read FFdRadianceTransfer; | 
|  | property FdSkinWeights0: TMFVec4f read FFdSkinWeights0; | 
|  | property FdSkinJoints0: TMFInt32 read FFdSkinJoints0; | 
Description
Methods
|  | function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override; | 
| This item has no description. Showing description inherited from TX3DNode.DirectEnumerateActive. Enumerate all active child nodes of given node. "Active nodes" are the ones affecting current look or collisions, e.g. from Switch node only one child will be enumerated. See Traverse for more precise definition. "Direct" means that this enumerates only direct descendants, i.e. this is not recursive. See methods like Traverse or EnumerateNodes if you want recursive behavior. This can enumerate both VRML1Children nodes and nodes within TSFNode and TMFNode fields. Default implementation in this class enumerates all Children nodes of VRML 1.0. If you need to remove some children for VRML 1.0 (e.g. for Switch or LOD nodes) or add some children for VRML 2.0 you have to override this. You do not need to call inherited when overriding this — in fact, you should not, if you want to omit some nodes. Stops and returns immediately if Func returns non-nil for some child. | |
|  | function InternalCoord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override; | 
| Access the coordinate node, and inside this node access it's points list. | |
|  | function CoordField: TSFNode; override; | 
| This item has no description. Showing description inherited from TAbstractGeometryNode.CoordField. 
Node's "coord" field where you can place TCoordinateNode, or  This gives you more possibilities than the InternalCoord and InternalCoordinates methods (as you can assign texCoord using this). However, it doesn't work for old VRML 1.0 (since they have coordinate information, but no "coord" field). | |
|  | function SkinWeightsJoints(out Weights: TVector4List; out Joints: TInt32List): Boolean; override; | 
| This item has no description. Showing description inherited from TAbstractGeometryNode.SkinWeightsJoints. Weights and joints for the skinned animation. If skinned animation is possible on this node, returns  
 
 Read or modify them freely. Keep the counts correct: 
 
 If skinned animation is not possible on this node, returns  | |
|  | function TexCoordField: TSFNode; override; | 
| This item has no description. Showing description inherited from TAbstractGeometryNode.TexCoordField. 
Node's texCoord field, or  This gives you more possibilities than the InternalTexCoord method (as you can assign texCoord using this), however it may be not available in all cases — for example VRML 1.0 nodes do not have texCoord field, but they may have a texture coordinate node (from the state). | |
|  | function ColorField: TSFNode; override; | 
| This item has no description. | |
|  | function SolidField: TSFBool; override; | 
| This item has no description. Showing description inherited from TAbstractGeometryNode.SolidField. 
Is backface culling used.  | |
|  | function AttribField: TMFNode; override; | 
| This item has no description. | |
|  | function NormalField: TSFNode; override; | 
| This item has no description. Showing description inherited from TAbstractGeometryNode.NormalField. 
Node's "normal" field where you can place TNormalNode, or  | |
|  | function TangentField: TSFNode; override; | 
| This item has no description. Showing description inherited from TAbstractGeometryNode.TangentField. 
Node's "tangent" field where you can place TTangentNode, or  | |
|  | function InternalFogCoord: TMFFloat; override; | 
| This item has no description. | |
|  | procedure CreateNode; override; | 
| Create node fields and events. | |
|  | class function ClassX3DType: String; override; | 
| This item has no description. Showing description inherited from TX3DNode.ClassX3DType. Node type name in VRML/X3D, for this class. Normal VRML/X3D node classes should override this to return something non-empty, and then X3DType automatically will return the same value. Empty for classes that don't have a hardcoded VRML/X3D node name, like a special TX3DUnknownNode. Such special classes should override then X3DType to return actual non-empty name there. You usually should call X3DType. The only use of this method is that it works on classes (it's "class function"), without needing at actual instance. | |
|  | procedure SetAttrib(const Value: array of TAbstractVertexAttributeNode); | 
| This item has no description. | |
|  | procedure SetRadianceTransfer(const Value: array of TVector3); overload; | 
| This item has no description. | |
|  | procedure SetRadianceTransfer(const Value: TVector3List); overload; | 
| This item has no description. | |
|  | procedure SetSkinWeights0(const Value: array of TVector4); overload; | 
| Weights for the skinned animation. If non-empty, the count of this array should be: 
 
 For each vertex, this array specifies a 4D vector, which determines the 4 weights for the "most important" joints that affect this vertex. The "most important" joints are determined by the FdSkinJoints0. This corresponds to the WEIGHTS_0 attribute in glTF. It is possible we will introduce in the future  | |
|  | procedure SetSkinWeights0(const Value: TVector4List); overload; | 
| Weights for the skinned animation. If non-empty, the count of this array should be: 
 
 For each vertex, this array specifies a 4D vector, which determines the 4 weights for the "most important" joints that affect this vertex. The "most important" joints are determined by the FdSkinJoints0. This corresponds to the WEIGHTS_0 attribute in glTF. It is possible we will introduce in the future  | |
|  | procedure SetSkinJoints0(const Value: array of Int32); overload; | 
| Joints for the skinned animation. Note: In the perfect world, we'd like to express this as an array of 4D integer vectors, like TVector4IntegerList in Castle Game Engine, or "VEC4 of unsigned byte or unsigned short" in glTF. However, X3D doesn't have a field type that allows to express this in natural way. So we express this using TMFInt32, with a constraint that each 4 consecutive values form a 4D vector. The count of this array must be divisible by 4. If not empty, the count of this array divided by 4 should be: 
 
 For each vertex, this array specifies indexes of the 4 "most important" joints that affect this vertex. The weights for these joints are specified by FdSkinWeights0. If you have less than 4 "most important" joints, just specify any (but valid) joint index and give it a zero weight using FdSkinWeights0. | |
|  | procedure SetSkinJoints0(const Value: TInt32List); overload; | 
| Joints for the skinned animation. Note: In the perfect world, we'd like to express this as an array of 4D integer vectors, like TVector4IntegerList in Castle Game Engine, or "VEC4 of unsigned byte or unsigned short" in glTF. However, X3D doesn't have a field type that allows to express this in natural way. So we express this using TMFInt32, with a constraint that each 4 consecutive values form a 4D vector. The count of this array must be divisible by 4. If not empty, the count of this array divided by 4 should be: 
 
 For each vertex, this array specifies indexes of the 4 "most important" joints that affect this vertex. The weights for these joints are specified by FdSkinWeights0. If you have less than 4 "most important" joints, just specify any (but valid) joint index and give it a zero weight using FdSkinWeights0. | |
Properties
|  | property FdAttrib: TMFNode read FFdAttrib; | 
| 
Internal wrapper for property  | |
|  | property FdColor: TSFNode read FFdColor; | 
| 
Internal wrapper for property  | |
|  | property Color: TAbstractColorNode read GetColor write SetColor; | 
| This item has no description. | |
|  | property FdCoord: TSFNode read FFdCoord; | 
| 
Internal wrapper for property  | |
|  | property Coord: TAbstractCoordinateNode read GetCoord write SetCoord; | 
| This item has no description. | |
|  | property FdFogCoord: TSFNode read FFdFogCoord; | 
| 
Internal wrapper for property  | |
|  | property FogCoord: TFogCoordinateNode read GetFogCoord write SetFogCoord; | 
| This item has no description. | |
|  | property FdNormal: TSFNode read FFdNormal; | 
| 
Internal wrapper for property  | |
|  | property Normal: TAbstractNormalNode read GetNormal write SetNormal; | 
| This item has no description. | |
|  | property FdTangent: TSFNode read FFdTangent; | 
| 
Internal wrapper for property  | |
|  | property Tangent: TTangentNode read GetTangent write SetTangent; | 
| 
 If the materials applied on this geometry may use normal maps (by providing TAbstractOneSidedMaterialNode.NormalTexture), we recommend to provide  If specified, the ordering of tangents should be the same as normals, e.g. they should follow the NormalPerVertex property. The XYZ component of each  The W component is a sign value (-1 or +1) indicating handedness of the  | |
|  | property FdTexCoord: TSFNode read FFdTexCoord; | 
| 
Internal wrapper for property  | |
|  | property TexCoord: TAbstractTextureCoordinateNode read GetTexCoord write SetTexCoord; | 
| This item has no description. | |
|  | property FdCcw: TSFBool read FFdCcw; | 
| 
Internal wrapper for property  | |
|  | property Ccw: Boolean read GetCcw write SetCcw; | 
| This item has no description. | |
|  | property FdColorPerVertex: TSFBool read FFdColorPerVertex; | 
| 
Internal wrapper for property  | |
|  | property ColorPerVertex: Boolean read GetColorPerVertex write SetColorPerVertex; | 
| This item has no description. | |
|  | property FdNormalPerVertex: TSFBool read FFdNormalPerVertex; | 
| 
Internal wrapper for property  | |
|  | property NormalPerVertex: Boolean read GetNormalPerVertex write SetNormalPerVertex; | 
| This item has no description. | |
|  | property FdSolid: TSFBool read FFdSolid; | 
| 
Internal wrapper for property  | |
|  | property FdRadianceTransfer: TMFVec3f read FFdRadianceTransfer; | 
| 
Internal wrapper for property  | |
|  | property FdSkinWeights0: TMFVec4f read FFdSkinWeights0; | 
| 
Internal wrapper for property  | |
|  | property FdSkinJoints0: TMFInt32 read FFdSkinJoints0; | 
| 
Internal wrapper for property  | |
Generated by PasDoc 0.16.0-snapshot.