class csTransformationManager The transformation manager is responsible for maintaining all vertex arrays of camera space coordinates for things, sectors,
| | Alloc () Return a new vertex array |
| | csTransformationManager () Construct the manager. |
| | GetCookie () Get the current cookie. |
| | GetFrameCookie () Get the current frame cookie. |
| | HasFrameChanged (csTranCookie test_cookie) Given a cookie number (camera frame cookie), this function will test if the frame has changed |
| | NewCameraFrame () Start a new camera frame (i |
| | NewFrame () Start a new frame. |
| | RestoreCameraFrame (csTranCookie prev_cookie) Restore a camera frame (within the same frame) |
| | ~csTransformationManager () Destruct. |
| | alloced Pool of allocated vertex arrays (currently in use). |
| | cookie Current cookie. |
| | frame_cookie Current frame cookie. This cookie indicates the start of this frame. |
| | freed Pool of free vertex arrays. |
| | last_alloced Last allocated vertex array. |
| | max_cookie Maximum frame/camera frame cookie used upto now. |
The transformation manager is responsible for maintaining all vertex arrays of camera space coordinates for things, sectors, .... Every such entity has a csTransformedSet instance which holds a csVertexArray as given by this manager. The transformation manager also has a pool of csVertexArray's that it will give to the csTransformedSet instances that are being used and it will also keep track of a global transformation cookie so that we can detect when a csTransformedSet needs to be updated with a new csVertexArray. Every csTransformedSet has internal information which enables it to do that.We define two states in the session manager:
- Frame: this is everything that goes on during drawing of one frame.
- Camera Frame: this is part of a frame which depends on camera configuration. There is always at least one Camera Frame for every Frame but space warping portals will add more.
Cookies for camera frames are guaranteed to be larger than the current frame cookie. Also they are guaranteed to be lower than the next frame cookie. This can be used to detect if you have data relevant for this frame or obsoleted because we are in a new frame.
csVertexArray* alloced
csVertexArray* last_alloced
csTranCookie cookie
csTranCookie max_cookie
csTranCookie frame_cookie
csTransformationManager()
virtual ~csTransformationManager()
csVertexArray* Alloc()
void NewFrame()
csTranCookie NewCameraFrame()
void RestoreCameraFrame(csTranCookie prev_cookie)
csTranCookie GetCookie()
csTranCookie GetFrameCookie()
bool HasFrameChanged(csTranCookie test_cookie)
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de