Class EX3DError |
Any error related to VRML/X3D. |
Class EX3DFieldAssign |
|
Class EX3DFieldAssignInvalidClass |
|
Class EX3DNotFound |
Raised by various X3D methods searching for X3D items (nodes, fields, events and such) when given item cannot be found. |
Class EInvalidNurbs |
|
Class TX3DWriter |
Writer of VRML/X3D to stream. |
Class TX3DReader |
Reading of VRML/X3D from stream. |
Class TX3DFileItem |
Base class for any item within X3D file: a node, a field, a route, a prototype etc. |
Class TX3DFileItemList |
|
Class TX3DFieldOrEvent |
Base class for VRML/X3D field or event. |
Class TPartialSend |
Send along with the animation that should be applied only partially (because it fades-out or fades-in). |
Class TX3DField |
Base class for all VRML/X3D fields. |
Class TX3DFieldList |
|
Class TX3DEvent |
X3D event. |
Class TX3DEventList |
|
Class TSFBoolEvent |
TX3DEvent descendants with comfortable Send methods. |
Class TSFDoubleEvent |
|
Class TSFTimeEvent |
|
Class TSFFloatEvent |
|
Class TSFImageEvent |
|
Class TSFLongEvent |
|
Class TSFInt32Event |
|
Class TSFMatrix3dEvent |
|
Class TSFMatrix3fEvent |
|
Class TSFMatrix4dEvent |
|
Class TSFMatrix4fEvent |
|
Class TSFNodeEvent |
|
Class TSFRotationEvent |
|
Class TSFStringEvent |
|
Class TSFVec2dEvent |
|
Class TSFVec2fEvent |
|
Class TSFVec3dEvent |
|
Class TSFVec3fEvent |
|
Class TSFVec4dEvent |
|
Class TSFVec4fEvent |
|
Class TSFColorEvent |
|
Class TSFColorRGBAEvent |
|
Class TXFAnyEvent |
Universal input event that can receive value of any type. |
Class TMFBoolEvent |
|
Class TMFDoubleEvent |
|
Class TMFTimeEvent |
|
Class TMFFloatEvent |
|
Class TMFLongEvent |
|
Class TMFInt32Event |
|
Class TMFMatrix3dEvent |
|
Class TMFMatrix3fEvent |
|
Class TMFMatrix4dEvent |
|
Class TMFMatrix4fEvent |
|
Class TMFNodeEvent |
|
Class TMFRotationEvent |
|
Class TMFStringEvent |
|
Class TMFVec2dEvent |
|
Class TMFVec2fEvent |
|
Class TMFVec3dEvent |
|
Class TMFVec3fEvent |
|
Class TMFVec4dEvent |
|
Class TMFVec4fEvent |
|
Class TMFColorEvent |
|
Class TMFColorRGBAEvent |
|
Class TX3DSingleField |
Copyright 2002-2018 Michalis Kamburelis. |
Class TSFBitMask |
VRML 1.0 (deprecated) field representing a bitmask, where a number of "flags" can be "on" or "off". |
Class TSFBool |
X3D field containing a single boolean value. |
Class TSFEnum |
VRML 1.0 (deprecated) field representing an enumerated value, which means that you choose one (named) value from a set of possible values. |
Class TSFFloat |
X3D field containing a floating-point value with Single precision. |
Class TSFDouble |
X3D field containing a floating-point value with Double precision. |
Class TSFTime |
X3D field containing a time, expressed as seconds that passed since some moment. |
Class TSFImage |
X3D field containing an image that is "embedded" in the X3D file. |
Class TSFLong |
X3D field containing an single integer 32-bit value. |
Class TSFInt32 |
X3D field containing an single integer 32-bit value. |
Class TSFGenericMatrix |
Generic class for an X3D field containing a single matrix value. |
Class TSFMatrix3f |
X3D field containing a 3x3 matrix with Single precision. |
Class TSFMatrix3d |
X3D field containing a 3x3 matrix with Double precision. |
Class TSFMatrix4f |
X3D field containing a 4x4 matrix with Single precision. |
Class TSFMatrix4d |
X3D field containing a 4x4 matrix with Double precision. |
Class TSFMatrix |
VRML 1.0 SFMatrix field. |
Class TSFRotation |
X3D field representing a 3D rotation around an arbitrary axis. |
Class TSFString |
X3D field containing a single string. |
Class TSFStringEnum |
X3D field that contains a value from a specified set. |
Class TSFGenericVector |
X3D field containing a vector. |
Class TSFVec2f |
X3D field containing a 2D vector with Single precision. |
Class TSFVec3f |
X3D field containing a 3D vector with Single precision. |
Class TSFColor |
X3D field containing an RGB color. |
Class TSFVec4f |
X3D field containing a 4D vector with Single precision. |
Class TSFColorRGBA |
X3D field containing an RGBA color (with an alpha). |
Class TSFVec2d |
X3D field containing a 2D vector with Double precision. |
Class TSFVec3d |
X3D field containing a 3D vector with Double precision. |
Class TSFVec4d |
X3D field containing a 4D vector with Double precision. |
Class TX3DMultField |
X3D field with a list of values. |
Class TX3DSimpleMultField |
X3D field with a list of values. |
Class TMFBool |
X3D field with multiple boolean values. |
Class TMFLong |
X3D field with multiple integer values. |
Class TMFInt32 |
X3D field with multiple integer values – alternative name, Int32. |
Class TMFMatrix3f |
X3D field with multiple 3x3 matrix values. |
Class TMFMatrix3d |
X3D field with multiple 3x3 matrix double-precision values. |
Class TMFMatrix4f |
X3D field with multiple 4x4 matrix values. |
Class TMFMatrix4d |
X3D field with multiple 4x4 matrix double-precision values. |
Class TMFVec2f |
X3D field with multiple 2D vector values. |
Class TMFVec3f |
X3D field with multiple 3D vector values. |
Class TMFColor |
X3D field with multiple RGB color values. |
Class TMFVec4f |
X3D field with multiple 4D vector values. |
Class TMFColorRGBA |
X3D field with multiple RGBA color values. |
Class TMFVec2d |
X3D field with multiple 2D vector double-precision values. |
Class TMFVec3d |
X3D field with multiple 3D vector double-precision values. |
Class TMFVec4d |
X3D field with multiple 4D vector double-precision values. |
Class TMFRotation |
X3D field with multiple rotations (each rotation is 4D vector, axis+angle) values. |
Class TMFFloat |
X3D field with multiple floating-point values. |
Class TMFDouble |
X3D field with multiple double-precision floating-point values. |
Class TMFTime |
X3D field with multiple time values. |
Class TMFString |
X3D field with multiple string values. |
Class TX3DFieldsManager |
Stores information about available VRML/X3D field classes. |
X3DChangeToStr: array [TX3DChange] of string = (
'None',
'Visible Geometry',
'Visible Non-Geometry',
'Redisplay',
'Transform',
'Coordinate',
'Normal',
'Tangent',
'VRML 1.0 State (but not affecting geometry or Coordinate)',
'VRML 1.0 State (affecting geometry, but not Coordinate)',
'Light active property',
'Light location/direction',
'Light for shadow volumes',
'Switch choice',
'Color node',
'Texture coordinate',
'Texture transform',
'Geometry',
'Geometry + FontChanged',
'Environmental sensor bounds',
'Time stop/start/pause/resume',
'Viewpoint vectors',
'Viewpoint projection',
'Texture image',
'Texture renderer properties',
'TextureProperties node',
'Shadow caster',
'Generated texture update',
'FontStyle',
'FontStyle + FontChanged',
'HeadLight on',
'ClipPlane',
'X3DDragSensorNode.enabled',
'NavigationInfo',
'ScreenEffect.enabled',
'Background',
'Everything',
'Shadow maps',
'Wireframe',
'Children',
'Children added',
'BBox'
); |
TX3DChange = (...); |
|
Possible things that happen when given field is changed. Used by TX3DField.ExecuteChange and TX3DField.ChangeAlways.
Values
-
chNone: This field has no effect on the rendering/behavior of anything.
-
chVisibleGeometry: Something visible in the geometry changed. See vcVisibleGeometry. This means that VisibleChangeHere with vcVisibleGeometry included should be called.
See TVisibleChange for the difference between "geometry" and "non-geometry" change. In short, "geometry" change means that shape of something changed, so even rendering it with some special shader (e.g. only to depth buffer) is affected (makes different result).
-
chVisibleNonGeometry: Something visible changed, but not geometry. See vcVisibleNonGeometry. This means that VisibleChangeHere with vcVisibleNonGeometry included should be called.
-
chRedisplay: Call VisibleChangeHere to redisplay the scene. In contrast to chVisibleGeometry or chVisibleNonGeometry, this flag should be used if your change requires redisplay of the 3D view for some other reason (e.g. need to update rendered texture).
-
chTransform: Transformation of children of this node changed.
-
chCoordinate: Coordinate node (both VRML 1.0 and >= 2.0) "point" field changed.
-
chNormal: Normal node (both VRML 1.0 and >= 2.0) "vector" field changed.
-
chTangent: Tangent node "vector" field changed.
-
chVisibleVRML1State: Something visible in VRML 1.0 state node (that may be present in TX3DGraphTraverseState.VRML1State) changed, but not geometry.
- Do not call this for Coordinate node change (this one should go through chCoordinate only, even for VRML 1.0). Actually Coordinate node change would be chGeometryVRML1State anyway.
- Do not call this for Normal node change (this one should go through chNormal only, even for VRML 1.0).
- Do not call this for changes that don't require recreating Proxy, and only require redisplay (chVisibleNonGeometry is enough for them).
This is allowed, and ignored, on nodes that are not part of VRML 1.0 state. (This is useful for alphaChannel field, that is declared in TAbstractGeometryNode, and so is part of some VRML 1.0 state nodes but is also part of VRML >= 2.0 nodes.)
-
chGeometryVRML1State: Some visible geometry changed because of VRML 1.0 state node change. This is for VRML 1.0 state node changes, excluding - non-geometry changes (these go to chVisibleVRML1State) - Coordinate changes (these go to chCoordinate) - Normal changes (these go to chNormal, they are non-geometry anyway).
-
chLightInstanceProperty: Light property that is also reflected in TLightInstance structure. Only allowed on node's descending from TAbstractLightNode.
-
chLightLocationDirection: Light's location and/or direction changed. Implies also chLightInstanceProperty change.
-
chLightForShadowVolumes: TCastleSceneCore.InternalMainLightForShadows possibly changed because of this change.
-
chSwitch2: Switch.whichChoice changed, for VRML >= 2.0.
-
chColorNode: X3DColorNode colors changed.
-
chTextureCoordinate: X3DTextureCoordinateNode coords changed.
-
chTextureTransform: VRML >= 2.0 TextureTransform changed. Not for multi-texture node changes, only the simple nodes changes.
-
chGeometry: Geometry node visible (or collidable) changed. Use for fields of the geometry node.
-
chGeometryFontChanged: Like chGeometry and in addition font texture changed. Only on TTextNode.
-
chEnvironmentalSensorBounds: X3DEnvironmentalSensorNode bounds (size/center) changed.
-
chTimeStopStart: TimeDependent node is start/stop/pause/resume time changed.
-
chViewpointVectors: Viewpoint vectors (position, direction, up, gravity up) changed.
-
chViewpointProjection: Viewpoint projection changed.
-
chTextureImage: Texture image (data) needs reloading, because node fields that determine it (like ImageTexture.URL or PixelTexture.Image) changed.
This is for fields in TAbstractTextureNode.
We will release previously loaded data (setting IsTextureLoaded:=false) and load a new one. We will also update rendering resources, just like chTextureRendererProperties.
-
chTextureRendererProperties: Texture properties used by the renderer changed. No need to reload texture data in CPU (do not change IsTextureLoaded), but reload the rendering resources (like OpenGL texture).
This is for fields in TAbstractTextureNode.
-
chTexturePropertiesNode: Texture properties inside TextureProperties node changed. This should cause chTextureRendererProperties on texture nodes that use this TextureProperties node.
-
chShadowCasters: What is considered a shadow caster changed.
-
chGeneratedTextureUpdateNeeded: Mark the generated texture node (parent of this field) as requiring update (assuming it's "update" field value wants it too).
-
chFontStyle: VRML 2.0 / X3D FontStyle changed, and it requires recreating TTextNode geometry (but not texture). The node must be TFontStyleNode.
-
chFontStyleFontChanged: VRML 2.0 / X3D FontStyle changed, and it requires recreating TTextNode geometry and texture (so underlying font changed). The node must be TFontStyleNode.
-
chHeadLightOn: HeadLight on status changed.
-
chClipPlane: Clip plane visible change (enabled or plane equation).
-
chDragSensorEnabled: Enabled field of the pointing-device drag sensor changed. Use only for TSFBool fields within TAbstractDragSensorNode.
-
chNavigationInfo: NavigationInfo field value used in NavigationTypeFromNavigationInfo or TCastleSceneCore.InternalUpdateNavigation changed.
-
chScreenEffectEnabled: ScreenEffect.enabled changed.
-
chBackground: X3DBackgroundNode properties that are stored inside TBackground display list have changed.
-
chEverything: Everything changed and needs to be recalculated. This is needed for changes on stuff internally cached in TCastleSceneCore, TCastleScene, TShape that cannot be expressed as one of above flags.
Use only as a last resort, as this is very costly! (And in an ideal implementation, should not be needed.)
-
chShadowMaps: Higher-level shadow maps fields changed. They have to be processed to lower-level fields by calling TCastleSceneCore.ProcessShadowMapsReceivers.
-
chWireframe: Shading changed from wireframe to non-wireframe.
-
chGroupChildren: Children of X3D (or VRML 2) grouping node have been added or removed.
-
chGroupChildrenAdd: Children of X3D (or VRML 2) grouping node have been added (but not removed). This is special case of chGroupChildren. If unsure whether something was removed or not, it is always safe to use chGroupChildren. If you are sure that only additions were done, use
chGroupChildrenAdd to be more efficient.
-
chBBox: Shape.bboxCenter/Size changed, so TShape.LocalBoundingBox changed.
|
X3DChangeToStr: array [TX3DChange] of string = (
'None',
'Visible Geometry',
'Visible Non-Geometry',
'Redisplay',
'Transform',
'Coordinate',
'Normal',
'Tangent',
'VRML 1.0 State (but not affecting geometry or Coordinate)',
'VRML 1.0 State (affecting geometry, but not Coordinate)',
'Light active property',
'Light location/direction',
'Light for shadow volumes',
'Switch choice',
'Color node',
'Texture coordinate',
'Texture transform',
'Geometry',
'Geometry + FontChanged',
'Environmental sensor bounds',
'Time stop/start/pause/resume',
'Viewpoint vectors',
'Viewpoint projection',
'Texture image',
'Texture renderer properties',
'TextureProperties node',
'Shadow caster',
'Generated texture update',
'FontStyle',
'FontStyle + FontChanged',
'HeadLight on',
'ClipPlane',
'X3DDragSensorNode.enabled',
'NavigationInfo',
'ScreenEffect.enabled',
'Background',
'Everything',
'Shadow maps',
'Wireframe',
'Children',
'Children added',
'BBox'
); |
|
This item has no description. |