X3DTimeDependentNode : X3DChildNode {
  SFBool  [in,out] loop         FALSE
  SFTime  [in,out] pauseTime    0     (-Inf,Inf)
  SFTime  [in,out] resumeTime   0     (-Inf,Inf)
  SFTime  [in,out] startTime    0     (-Inf,Inf)
  SFTime  [in,out] stopTime     0     (-Inf,Inf)
  SFTime  [out]    elapsedTime
  SFBool  [out]    isActive
  SFBool  [out]    isPaused
}

TimeSensor : X3DTimeDependentNode, X3DSensorNode {
  SFTime  [in,out] cycleInterval    1     (0,Inf)
  SFTime  [out]    cycleTime
  SFFloat [out]    fraction_changed
  SFTime  [out]    time
  # "enabled" inherited from X3DSensorNode.
  # Needs to be mentioned here, as everything inherited from non-1st ancestor
  # (from interface, not class, in Object Pascal implementation)
  # needs to be mentioned, to be correctly processed by x3d-nodes-to-pascal.lpr.
  SFBool [in,out] enabled  TRUE
  # CGE extension, see https://castle-engine.io/x3d_implementation_time_extensions.php
  SFBool [in,out] fractionIncreasing TRUE
  # CGE extension, see https://castle-engine.io/x3d_implementation_time_extensions.php
  SFBool [] detectAffectedFields TRUE
}
