Castle Game Engine: X3DNodes: Class TTimeSensorNode

# Class TTimeSensorNode
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DNodes ## Declaration `type TTimeSensorNode = class(TAbstractTimeDependentNode, IAbstractSensorNode)` ## Description no description available, TAbstractTimeDependentNode description follows no description available, TAbstractChildNode description follows no description available, TAbstractNode description follows Base X3D node. Almost all X3D nodes inherit from this. (Exception: X3DMetadataObject. So you cannot have metadata of metadata of...) ## Hierarchy TPersistent TNonRefCountedInterfacedPersistent TX3DFileItem TX3DNode TAbstractNode TAbstractChildNode TAbstractTimeDependentNode TTimeSensorNode ## Overview ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function CycleInterval: TFloatTime; override;`
| `procedure FakeTime(const Time: TFloatTime; const Loop: boolean);`
### Properties
| `property FdCycleInterval: TSFTime read FFdCycleInterval;`
| `property EventCycleTime: TSFTimeEvent read FEventCycleTime;`
| `property EventFraction_changed: TSFFloatEvent read FEventFraction_changed;`
| `property EventTime: TSFTimeEvent read FEventTime;`
| `property FdEnabled: TSFBool read FFdEnabled;`
## Description ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function CycleInterval: TFloatTime; override;`
| `procedure FakeTime(const Time: TFloatTime; const Loop: boolean);`
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. Using TimeSensor this way is contrary to the VRML/X3D specified behavior. But it's useful when we have VRML/X3D scene inside T3DResource, that is shared by many T3D instances (like creatures and items) that want to simultaneusly display different time moments of the same scene within a single frame. In other words, this is useful when a single scene is shared (if you have a 100 creatures in your game using the same 3D model, you don't want to create 100 copies of this 3D model in memory). We ignore TimeSensor.loop (FdLoop) field, instead we follow our own Loop parameter. We take into account TimeSensor.cycleInterval (FdCycleInterval) and TimeSensor.enabled (FdEnabled) fields, just like normal TimeSensor. We send out fraction_changed (EventFraction_changed) and time (EventTime) output events.
### Properties
| `property FdCycleInterval: TSFTime read FFdCycleInterval;`
| `property EventCycleTime: TSFTimeEvent read FEventCycleTime;`
| `property EventFraction_changed: TSFFloatEvent read FEventFraction_changed;`
| `property EventTime: TSFTimeEvent read FEventTime;`
| `property FdEnabled: TSFBool read FFdEnabled;`
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:14