| VRS - The Virtual Rendering System |
| version 3.3 |
#include <vrs/sg/timetable.h>

Public Member Functions | |
| TimeTable (const TimeRequirement &groupTimeReq) | |
| void | setLifeTime (BehaviorNode *node, TimeTableSpec begin, TimeTableSpec end) |
| TimeTableSpec | getLifeTimeBegin (BehaviorNode *node) const |
| TimeTableSpec | getLifeTimeEnd (BehaviorNode *node) const |
| TimeTableSpec | relative (double rel) const |
| TimeTableSpec | absolute (VRSTime abs) const |
| TimeTableSpec | natural () const |
| TimeTableSpec | minimal () const |
| TimeTableSpec | maximal () const |
| VRS_TYPEINFO (TimeTable, TimeGroup) | |
Protected Member Functions | |
| virtual void | childConfiguration (bool, BehaviorNode *) |
| virtual TimeRequirement | buildTimeRequirements () |
| virtual void | buildLifeTimes (TimeEvent *) |
Classes | |
| struct | Data |
| VRS::TimeTable::TimeTable | ( | const TimeRequirement & | groupTimeReq | ) |
| void VRS::TimeTable::setLifeTime | ( | BehaviorNode * | node, | |
| TimeTableSpec | begin, | |||
| TimeTableSpec | end | |||
| ) |
| TimeTableSpec VRS::TimeTable::getLifeTimeBegin | ( | BehaviorNode * | node | ) | const |
| TimeTableSpec VRS::TimeTable::getLifeTimeEnd | ( | BehaviorNode * | node | ) | const |
For each child node, the time table expects a time specifier for the lifetime start and lifetime end. Based on the specifiers, the time table calculates the life times of its children.
VRSTime specifiers are distinguished as follows:
1) A relative time specifier denotes a point in time given relative to the time table's life time. A value of 0.0 means the beginning, a value of 1.0 means the end of the life time. The value must be in the range [0.0, 1.0].
2) An absolute time specifier denotes a point in time given as an absolute `VRSTime' within the time table's lifetime. The time table's life time starts at `VRSTime(0)'.
3) A natural time specifier is used to make the start or end be calculated automatically by time table based on the time requirements of the child node. You can, for example, specify that the start is at a relative position of 0.0, and the end should be natural, i.e., the child's life time starts with the time table's life time and has a duration as specified by the natural time requirement of the child.
4) A minimal time specifier is used to make a start or end point of the child's lifetime flexible so that the lifetime is as minimal as possible (based on the shrinkability of the child).
5) A maximal time specifier is used to make a start or end point of the child's lifetime flexible so that the lifetime is as maximal as possible (base on the stretchability of the child).
| TimeTableSpec VRS::TimeTable::relative | ( | double | rel | ) | const [inline] |
| TimeTableSpec VRS::TimeTable::absolute | ( | VRSTime | abs | ) | const [inline] |
| TimeTableSpec VRS::TimeTable::natural | ( | ) | const [inline] |
| TimeTableSpec VRS::TimeTable::minimal | ( | ) | const [inline] |
| TimeTableSpec VRS::TimeTable::maximal | ( | ) | const [inline] |
These methods construct time specifiers. Of course, these specs could be constructed using `TimeTableSpec', but they are more convenient.
| virtual void VRS::TimeTable::childConfiguration | ( | bool | , | |
| BehaviorNode * | ||||
| ) | [protected, virtual] |
Reimplemented from VRS::TimeGroup.
| virtual TimeRequirement VRS::TimeTable::buildTimeRequirements | ( | ) | [protected, virtual] |
Implements VRS::TimeGroup.
| virtual void VRS::TimeTable::buildLifeTimes | ( | TimeEvent * | ) | [protected, virtual] |
Implements VRS::TimeGroup.