Class TTimeSensorNode
Unit
Declaration
type TTimeSensorNode = class(TAbstractTimeDependentNode)
Description
Generate events as time passes.
Hierarchy
- TObject
- TPersistent
- TX3DFileItem
- TX3DNode
- TAbstractNode
- TAbstractChildNode
- TAbstractTimeDependentNode
- TTimeSensorNode
Overview
Methods
constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override; |
|
procedure FakeTime(const TimeInAnimation: TFloatTime; const ALoop, AFractionIncreasing: boolean; const PartialSend: TPartialSend = nil); overload; |
|
procedure FakeTime(const TimeInAnimation: TFloatTime; const ALoop, AFractionIncreasing: boolean; const TimeOfEvents: TX3DTime; const PartialSend: TPartialSend = nil); overload; |
|
procedure Start(const ALoop: Boolean; const AFractionIncreasing: Boolean = true; const InitialTime: TFloatTime = 0); |
|
procedure Stop; |
|
procedure CreateNode; override; |
|
class function ClassX3DType: String; override; |
Properties
property FdCycleInterval: TSFTime read FFdCycleInterval; |
|
property CycleInterval: TFloatTime read GetCycleInterval write SetCycleInterval; |
|
property EventCycleTime: TSFTimeEvent read FEventCycleTime; |
|
property EventFraction_changed: TSFFloatEvent read FEventFraction_changed; |
|
property EventTime: TSFTimeEvent read FEventTime; |
|
property FdEnabled: TSFBool read FFdEnabled; |
|
property Enabled: Boolean read GetEnabled write SetEnabled; |
|
property FdFractionIncreasing: TSFBool read FFdFractionIncreasing; |
|
property FractionIncreasing: Boolean read GetFractionIncreasing write SetFractionIncreasing; |
|
property FdDetectAffectedFields: TSFBool read FFdDetectAffectedFields; |
|
property DetectAffectedFields: Boolean read GetDetectAffectedFields write SetDetectAffectedFields; |
Description
Methods
constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override; |
|
This item has no description. Showing description inherited from TX3DNode.Create. Constructor. Initializes various properties:
|
procedure FakeTime(const TimeInAnimation: TFloatTime; const ALoop, AFractionIncreasing: boolean; const PartialSend: TPartialSend = nil); overload; |
|
Send TimeSensor output events, without actually activating the TimeSensor. This is useful in situations when you want the X3D scene state to reflect given time, but you do not want to activate sensor and generally you do not want to initialize anything that would continue animating on it's own. Note: We ignore TimeSensor.loop (FdLoop) field, instead we follow our own ALoop parameter. We also ignore TimeSensor.fractionIncreasing field, instead we follow our own AFractionIncreasing parameter. We also ignore TimeSensor.enabled field, assuming that you always want to behave like it's enabled (in particular, this makes TCastleSceneCore.ForceAnimationPose always working, even if TCastleSceneCore.PlayAnimation set enabled = false on previously-stopped animation). We take into account TimeSensor.cycleInterval (FdCycleInterval), just like during normal TimeSensor behavior. We send out isActive:=true, fraction_changed, elapsedTime and time X3D output events, and they should drive the rest of animation. About the TimeOfEvents parameter: In X3D, if you send a message (which is what happens when various X3D nodes communicate, e.g. TimeSensors send messages to interpolators) the message will be ignored if it already passed through the same route (TX3DRoute) with the timestamp >= than current. This is a simple mechanism to avoid route loops in X3D. It means you need to use increasing time each time you initiate an X3D event. The implementation of FakeTime without In general case, when using FakeTime together with TCastleScene that has active events (TCastleSceneCore.ProcessEvents = |
procedure FakeTime(const TimeInAnimation: TFloatTime; const ALoop, AFractionIncreasing: boolean; const TimeOfEvents: TX3DTime; const PartialSend: TPartialSend = nil); overload; |
|
This item has no description. |
procedure Start(const ALoop: Boolean; const AFractionIncreasing: Boolean = true; const InitialTime: TFloatTime = 0); |
|
Start or stop the time sensor right now, by setting the fields of this time sensor. Usually you should prefer using the TCastleSceneCore.PlayAnimation or TCastleSceneCore.StopAnimation instead of these methods. The scene methods allow to play the animation with lots of features, and are more comfortable to use (e.g. you do not need to find the TTimeSensorNode reference). Using these methods directly is useful to play multiple animations simultaneously. |
procedure Stop; |
|
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. |
Properties
property FdCycleInterval: TSFTime read FFdCycleInterval; |
|
Internal wrapper for property |
property CycleInterval: TFloatTime read GetCycleInterval write SetCycleInterval; |
|
This item has no description. |
property EventCycleTime: TSFTimeEvent read FEventCycleTime; |
|
This item has no description. |
property EventFraction_changed: TSFFloatEvent read FEventFraction_changed; |
|
This item has no description. |
property EventTime: TSFTimeEvent read FEventTime; |
|
This item has no description. |
property FdEnabled: TSFBool read FFdEnabled; |
|
Internal wrapper for property |
property Enabled: Boolean read GetEnabled write SetEnabled; |
|
This item has no description. |
property FdFractionIncreasing: TSFBool read FFdFractionIncreasing; |
|
Internal wrapper for property |
property FractionIncreasing: Boolean read GetFractionIncreasing write SetFractionIncreasing; |
|
This item has no description. |
property FdDetectAffectedFields: TSFBool read FFdDetectAffectedFields; |
|
Internal wrapper for property |
property DetectAffectedFields: Boolean read GetDetectAffectedFields write SetDetectAffectedFields; |
|
This item has no description. |
Generated by PasDoc 0.16.0-snapshot.