762 lines
28 KiB
Text
762 lines
28 KiB
Text
|
1565844248
|
||
|
3 3
|
||
|
13 libp3recorder 4 ayCl 12 panda3d.core
|
||
|
51
|
||
|
46 13 ~RecorderBase 0 6 97 27 RecorderBase::~RecorderBase 0 0 10
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
42
|
||
|
virtual RecorderBase::~RecorderBase(void);
|
||
|
|
||
|
47 12 is_recording 0 4 97 26 RecorderBase::is_recording 0 1 1 187
|
||
|
/**
|
||
|
* Returns true if this recorder is presently recording data for saving to a
|
||
|
* session file, false otherwise. If this is true, record_data() will be
|
||
|
* called from time to time.
|
||
|
*/
|
||
|
51
|
||
|
inline bool RecorderBase::is_recording(void) const;
|
||
|
|
||
|
48 10 is_playing 0 4 97 24 RecorderBase::is_playing 0 1 2 177
|
||
|
/**
|
||
|
* Returns true if this recorder is presently playing back data from session
|
||
|
* file, false otherwise. If this is true, play_data() will be called from
|
||
|
* time to time.
|
||
|
*/
|
||
|
49
|
||
|
inline bool RecorderBase::is_playing(void) const;
|
||
|
|
||
|
49 14 get_class_type 0 4 97 28 RecorderBase::get_class_type 0 1 3 0
|
||
|
53
|
||
|
static TypeHandle RecorderBase::get_class_type(void);
|
||
|
|
||
|
50 18 upcast_to_DataNode 0 12 98 33 MouseRecorder::upcast_to_DataNode 0 1 6 37
|
||
|
upcast from MouseRecorder to DataNode
|
||
|
50
|
||
|
DataNode *MouseRecorder::upcast_to_DataNode(void);
|
||
|
|
||
|
51 25 downcast_to_MouseRecorder 0 12 99 35 DataNode::downcast_to_MouseRecorder 0 0 39
|
||
|
downcast from DataNode to MouseRecorder
|
||
|
57
|
||
|
MouseRecorder *DataNode::downcast_to_MouseRecorder(void);
|
||
|
|
||
|
52 22 upcast_to_RecorderBase 0 12 98 37 MouseRecorder::upcast_to_RecorderBase 0 1 7 41
|
||
|
upcast from MouseRecorder to RecorderBase
|
||
|
58
|
||
|
RecorderBase *MouseRecorder::upcast_to_RecorderBase(void);
|
||
|
|
||
|
53 25 downcast_to_MouseRecorder 0 12 97 39 RecorderBase::downcast_to_MouseRecorder 0 0 43
|
||
|
downcast from RecorderBase to MouseRecorder
|
||
|
61
|
||
|
MouseRecorder *RecorderBase::downcast_to_MouseRecorder(void);
|
||
|
|
||
|
54 13 MouseRecorder 0 4 98 28 MouseRecorder::MouseRecorder 0 1 4 10
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
63
|
||
|
explicit MouseRecorder::MouseRecorder(std::string const &name);
|
||
|
|
||
|
55 14 ~MouseRecorder 0 6 98 29 MouseRecorder::~MouseRecorder 0 0 10
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
44
|
||
|
virtual MouseRecorder::~MouseRecorder(void);
|
||
|
|
||
|
56 14 get_class_type 0 4 98 29 MouseRecorder::get_class_type 0 1 5 0
|
||
|
54
|
||
|
static TypeHandle MouseRecorder::get_class_type(void);
|
||
|
|
||
|
57 18 RecorderController 0 4 100 38 RecorderController::RecorderController 0 1 8 10
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
45
|
||
|
RecorderController::RecorderController(void);
|
||
|
|
||
|
58 12 begin_record 0 4 100 32 RecorderController::begin_record 0 1 9 123
|
||
|
/**
|
||
|
* Begins recording data to the indicated filename. All of the recorders in
|
||
|
* use should already have been added.
|
||
|
*/
|
||
|
64
|
||
|
bool RecorderController::begin_record(Filename const &filename);
|
||
|
|
||
|
59 14 begin_playback 0 4 100 34 RecorderController::begin_playback 0 1 10 349
|
||
|
/**
|
||
|
* Begins playing back data from the indicated filename. All of the recorders
|
||
|
* in use should already have been added, although this may define additional
|
||
|
* recorders if they are present in the file (these new recorders will not be
|
||
|
* used). This may also undefine recorders that were previously added but are
|
||
|
* not present in the file.
|
||
|
*/
|
||
|
66
|
||
|
bool RecorderController::begin_playback(Filename const &filename);
|
||
|
|
||
|
60 5 close 0 4 100 25 RecorderController::close 0 1 11 61
|
||
|
/**
|
||
|
* Finishes recording data to the indicated filename.
|
||
|
*/
|
||
|
37
|
||
|
void RecorderController::close(void);
|
||
|
|
||
|
61 14 get_start_time 0 4 100 34 RecorderController::get_start_time 0 1 12 167
|
||
|
/**
|
||
|
* Returns the time (and date) at which the current session was originally
|
||
|
* recorded (or, in recording mode, the time at which the current session
|
||
|
* began).
|
||
|
*/
|
||
|
61
|
||
|
inline time_t RecorderController::get_start_time(void) const;
|
||
|
|
||
|
62 15 set_random_seed 0 4 100 35 RecorderController::set_random_seed 0 1 13 203
|
||
|
/**
|
||
|
* Indicates an arbitrary number to be recorded in the session file as a
|
||
|
* random seed, should the application wish to take advantage of it. This
|
||
|
* must be set before begin_record() is called.
|
||
|
*/
|
||
|
65
|
||
|
inline void RecorderController::set_random_seed(int random_seed);
|
||
|
|
||
|
63 15 get_random_seed 0 4 100 35 RecorderController::get_random_seed 0 1 14 175
|
||
|
/**
|
||
|
* Returns the random seed that was set by a previous call to
|
||
|
* set_random_seed(), or the number read from the session file after
|
||
|
* begin_playback() has been called.
|
||
|
*/
|
||
|
59
|
||
|
inline int RecorderController::get_random_seed(void) const;
|
||
|
|
||
|
64 12 is_recording 0 4 100 32 RecorderController::is_recording 0 1 15 86
|
||
|
/**
|
||
|
* Returns true if the controller has been opened for output, false otherwise.
|
||
|
*/
|
||
|
57
|
||
|
inline bool RecorderController::is_recording(void) const;
|
||
|
|
||
|
65 10 is_playing 0 4 100 30 RecorderController::is_playing 0 1 16 85
|
||
|
/**
|
||
|
* Returns true if the controller has been opened for input, false otherwise.
|
||
|
*/
|
||
|
55
|
||
|
inline bool RecorderController::is_playing(void) const;
|
||
|
|
||
|
66 7 is_open 0 4 100 27 RecorderController::is_open 0 1 17 105
|
||
|
/**
|
||
|
* Returns true if the controller has been opened for either input or output,
|
||
|
* false otherwise.
|
||
|
*/
|
||
|
52
|
||
|
inline bool RecorderController::is_open(void) const;
|
||
|
|
||
|
67 12 get_filename 0 4 100 32 RecorderController::get_filename 0 1 18 113
|
||
|
/**
|
||
|
* Returns the filename that was passed to the most recent call to
|
||
|
* begin_record() or begin_playback().
|
||
|
*/
|
||
|
68
|
||
|
inline Filename const &RecorderController::get_filename(void) const;
|
||
|
|
||
|
68 8 is_error 0 4 100 28 RecorderController::is_error 0 1 19 191
|
||
|
/**
|
||
|
* Returns true if the controller has been opened for input or output output
|
||
|
* and there is an error on the stream, or false if the controller is closed
|
||
|
* or if there is no problem.
|
||
|
*/
|
||
|
47
|
||
|
inline bool RecorderController::is_error(void);
|
||
|
|
||
|
69 16 get_clock_offset 0 4 100 36 RecorderController::get_clock_offset 0 1 20 186
|
||
|
/**
|
||
|
* Returns the delta offset between the actual frame time and the frame time
|
||
|
* written to the log. This is essentially the time at which the recording
|
||
|
* (or playback) started.
|
||
|
*/
|
||
|
63
|
||
|
inline double RecorderController::get_clock_offset(void) const;
|
||
|
|
||
|
70 16 get_frame_offset 0 4 100 36 RecorderController::get_frame_offset 0 1 21 196
|
||
|
/**
|
||
|
* Returns the delta offset between the actual frame count and the frame count
|
||
|
* written to the log. This is essentially the frame number at which the
|
||
|
* recording (or playback) started.
|
||
|
*/
|
||
|
60
|
||
|
inline int RecorderController::get_frame_offset(void) const;
|
||
|
|
||
|
71 12 add_recorder 0 4 100 32 RecorderController::add_recorder 0 1 22 343
|
||
|
/**
|
||
|
* Adds the named recorder to the set of recorders that are in use.
|
||
|
*
|
||
|
* If the controller is in recording mode, the named recorder will begin
|
||
|
* recording its status to the session file. If the controller is in playback
|
||
|
* mode and the name and type matches a recorder in the session file, the
|
||
|
* recorder will begin receiving data.
|
||
|
*/
|
||
|
94
|
||
|
inline void RecorderController::add_recorder(std::string const &name, RecorderBase *recorder);
|
||
|
|
||
|
72 12 has_recorder 0 4 100 32 RecorderController::has_recorder 0 1 23 331
|
||
|
/**
|
||
|
* Returns true if the named recorder has been added to the table by a
|
||
|
* previous call to add_recorder(), false otherwise.
|
||
|
*
|
||
|
* If the controller is in playback mode, this will also return false for a
|
||
|
* recorder that was found in the session file but was never explicitly added
|
||
|
* via add_recorder(); see get_recorder().
|
||
|
*/
|
||
|
76
|
||
|
inline bool RecorderController::has_recorder(std::string const &name) const;
|
||
|
|
||
|
73 12 get_recorder 0 4 100 32 RecorderController::get_recorder 0 1 24 389
|
||
|
/**
|
||
|
* Returns the recorder with the indicated name, or NULL if there is no such
|
||
|
* recorder.
|
||
|
*
|
||
|
* If the controller is in playback mode, this may return the recorder
|
||
|
* matching the indicated name as read from the session file, even if it was
|
||
|
* never added to the table by the user. In this case, has_recorder() may
|
||
|
* return false, but get_recorder() will return a non-NULL value.
|
||
|
*/
|
||
|
85
|
||
|
inline RecorderBase *RecorderController::get_recorder(std::string const &name) const;
|
||
|
|
||
|
74 15 remove_recorder 0 4 100 35 RecorderController::remove_recorder 0 1 25 463
|
||
|
/**
|
||
|
* Removes the named recorder from the table. Returns true if successful,
|
||
|
* false if there was no such recorder.
|
||
|
*
|
||
|
* If the controller is in recording mode, the named recorder will stop
|
||
|
* recording. If the controller is in playback mode, the named recorder will
|
||
|
* disassociate itself from the session file (but if the session file still
|
||
|
* has data for this name, a default recorder will take its place to decode
|
||
|
* the data from the session file).
|
||
|
*/
|
||
|
73
|
||
|
inline bool RecorderController::remove_recorder(std::string const &name);
|
||
|
|
||
|
75 13 set_frame_tie 0 4 100 33 RecorderController::set_frame_tie 0 1 26 528
|
||
|
/**
|
||
|
* Sets the frame_tie flag.
|
||
|
*
|
||
|
* When this is true, sessions are played back frame-for-frame, based on the
|
||
|
* frame count of the recorded session. This gives the most accurate
|
||
|
* playback, but the playback rate will vary according to the frame rate of
|
||
|
* the playback machine.
|
||
|
*
|
||
|
* When this is false, sessions are played back at real time, based on the
|
||
|
* clock of the recorded session. This may introduce playback discrepencies
|
||
|
* if the frames do not fall at exactly the same times as they did in the
|
||
|
* original.
|
||
|
*/
|
||
|
62
|
||
|
inline void RecorderController::set_frame_tie(bool frame_tie);
|
||
|
|
||
|
76 13 get_frame_tie 0 4 100 33 RecorderController::get_frame_tie 0 1 27 31
|
||
|
/**
|
||
|
* See set_frame_tie().
|
||
|
*/
|
||
|
58
|
||
|
inline bool RecorderController::get_frame_tie(void) const;
|
||
|
|
||
|
77 12 record_frame 0 4 100 32 RecorderController::record_frame 0 1 28 106
|
||
|
/**
|
||
|
* Gets the next frame of data from all of the active recorders and adds it to
|
||
|
* the output file.
|
||
|
*/
|
||
|
44
|
||
|
void RecorderController::record_frame(void);
|
||
|
|
||
|
78 10 play_frame 0 4 100 30 RecorderController::play_frame 0 1 29 106
|
||
|
/**
|
||
|
* Gets the next frame of data from all of the active recorders and adds it to
|
||
|
* the output file.
|
||
|
*/
|
||
|
42
|
||
|
void RecorderController::play_frame(void);
|
||
|
|
||
|
79 14 get_class_type 0 4 100 34 RecorderController::get_class_type 0 1 30 0
|
||
|
59
|
||
|
static TypeHandle RecorderController::get_class_type(void);
|
||
|
|
||
|
80 22 upcast_to_RecorderBase 0 12 102 44 SocketStreamRecorder::upcast_to_RecorderBase 0 1 44 48
|
||
|
upcast from SocketStreamRecorder to RecorderBase
|
||
|
65
|
||
|
RecorderBase *SocketStreamRecorder::upcast_to_RecorderBase(void);
|
||
|
|
||
|
81 32 downcast_to_SocketStreamRecorder 0 12 97 46 RecorderBase::downcast_to_SocketStreamRecorder 0 0 50
|
||
|
downcast from RecorderBase to SocketStreamRecorder
|
||
|
75
|
||
|
SocketStreamRecorder *RecorderBase::downcast_to_SocketStreamRecorder(void);
|
||
|
|
||
|
82 24 upcast_to_ReferenceCount 0 12 102 46 SocketStreamRecorder::upcast_to_ReferenceCount 0 1 45 50
|
||
|
upcast from SocketStreamRecorder to ReferenceCount
|
||
|
69
|
||
|
ReferenceCount *SocketStreamRecorder::upcast_to_ReferenceCount(void);
|
||
|
|
||
|
83 32 downcast_to_SocketStreamRecorder 0 12 103 48 ReferenceCount::downcast_to_SocketStreamRecorder 0 0 52
|
||
|
downcast from ReferenceCount to SocketStreamRecorder
|
||
|
77
|
||
|
SocketStreamRecorder *ReferenceCount::downcast_to_SocketStreamRecorder(void);
|
||
|
|
||
|
84 20 SocketStreamRecorder 0 4 102 42 SocketStreamRecorder::SocketStreamRecorder 0 2 31 32 22
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
156
|
||
|
inline SocketStreamRecorder::SocketStreamRecorder(void);
|
||
|
inline explicit SocketStreamRecorder::SocketStreamRecorder(SocketStream *stream, bool owns_stream);
|
||
|
|
||
|
85 21 ~SocketStreamRecorder 0 6 102 43 SocketStreamRecorder::~SocketStreamRecorder 0 0 10
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
65
|
||
|
virtual inline SocketStreamRecorder::~SocketStreamRecorder(void);
|
||
|
|
||
|
86 16 receive_datagram 0 4 102 38 SocketStreamRecorder::receive_datagram 0 1 33 253
|
||
|
/**
|
||
|
* Receives a datagram over the socket by expecting a little-endian 16-bit
|
||
|
* byte count as a prefix. If the socket stream is non-blocking, may return
|
||
|
* false if the data is not available; otherwise, returns false only if the
|
||
|
* socket closes.
|
||
|
*/
|
||
|
58
|
||
|
bool SocketStreamRecorder::receive_datagram(Datagram &dg);
|
||
|
|
||
|
87 13 send_datagram 0 4 102 35 SocketStreamRecorder::send_datagram 0 1 34 45
|
||
|
/**
|
||
|
* See SocketStream::send_datagram().
|
||
|
*/
|
||
|
68
|
||
|
inline bool SocketStreamRecorder::send_datagram(Datagram const &dg);
|
||
|
|
||
|
88 9 is_closed 0 4 102 31 SocketStreamRecorder::is_closed 0 1 35 41
|
||
|
/**
|
||
|
* See SocketStream::is_closed().
|
||
|
*/
|
||
|
50
|
||
|
inline bool SocketStreamRecorder::is_closed(void);
|
||
|
|
||
|
89 5 close 0 4 102 27 SocketStreamRecorder::close 0 1 36 37
|
||
|
/**
|
||
|
* See SocketStream::close().
|
||
|
*/
|
||
|
46
|
||
|
inline void SocketStreamRecorder::close(void);
|
||
|
|
||
|
90 15 set_collect_tcp 0 4 102 37 SocketStreamRecorder::set_collect_tcp 0 1 37 47
|
||
|
/**
|
||
|
* See SocketStream::set_collect_tcp().
|
||
|
*/
|
||
|
68
|
||
|
inline void SocketStreamRecorder::set_collect_tcp(bool collect_tcp);
|
||
|
|
||
|
91 15 get_collect_tcp 0 4 102 37 SocketStreamRecorder::get_collect_tcp 0 1 38 47
|
||
|
/**
|
||
|
* See SocketStream::get_collect_tcp().
|
||
|
*/
|
||
|
62
|
||
|
inline bool SocketStreamRecorder::get_collect_tcp(void) const;
|
||
|
|
||
|
92 24 set_collect_tcp_interval 0 4 102 46 SocketStreamRecorder::set_collect_tcp_interval 0 1 39 56
|
||
|
/**
|
||
|
* See SocketStream::set_collect_tcp_interval().
|
||
|
*/
|
||
|
76
|
||
|
inline void SocketStreamRecorder::set_collect_tcp_interval(double interval);
|
||
|
|
||
|
93 24 get_collect_tcp_interval 0 4 102 46 SocketStreamRecorder::get_collect_tcp_interval 0 1 40 56
|
||
|
/**
|
||
|
* See SocketStream::get_collect_tcp_interval().
|
||
|
*/
|
||
|
73
|
||
|
inline double SocketStreamRecorder::get_collect_tcp_interval(void) const;
|
||
|
|
||
|
94 14 consider_flush 0 4 102 36 SocketStreamRecorder::consider_flush 0 1 41 45
|
||
|
/**
|
||
|
* See SocketStream::consider_flush()
|
||
|
*/
|
||
|
55
|
||
|
inline bool SocketStreamRecorder::consider_flush(void);
|
||
|
|
||
|
95 5 flush 0 4 102 27 SocketStreamRecorder::flush 0 1 42 36
|
||
|
/**
|
||
|
* See SocketStream::flush()
|
||
|
*/
|
||
|
46
|
||
|
inline bool SocketStreamRecorder::flush(void);
|
||
|
|
||
|
96 14 get_class_type 0 4 102 36 SocketStreamRecorder::get_class_type 0 1 43 0
|
||
|
61
|
||
|
static TypeHandle SocketStreamRecorder::get_class_type(void);
|
||
|
|
||
|
45
|
||
|
1 0 0 6 3 106 0 0 187 /**
|
||
|
* Returns true if this recorder is presently recording data for saving to a
|
||
|
* session file, false otherwise. If this is true, record_data() will be
|
||
|
* called from time to time.
|
||
|
*/ 1 4 this 3 104
|
||
|
2 0 0 6 4 106 0 0 177 /**
|
||
|
* Returns true if this recorder is presently playing back data from session
|
||
|
* file, false otherwise. If this is true, play_data() will be called from
|
||
|
* time to time.
|
||
|
*/ 1 4 this 3 104
|
||
|
3 0 0 7 5 108 0 0 0 0
|
||
|
4 0 0 7 12 110 55 0 10 /**
|
||
|
*
|
||
|
*/ 1 4 name 1 109
|
||
|
5 0 0 7 14 108 0 0 0 0
|
||
|
6 0 0 7 8 111 0 0 0 1 4 this 3 110
|
||
|
7 0 0 6 10 112 0 0 0 1 4 this 3 110
|
||
|
8 0 0 7 17 113 0 0 10 /**
|
||
|
*
|
||
|
*/ 0
|
||
|
9 0 0 6 18 106 0 0 123 /**
|
||
|
* Begins recording data to the indicated filename. All of the recorders in
|
||
|
* use should already have been added.
|
||
|
*/ 2 4 this 3 113 8 filename 1 114
|
||
|
10 0 0 6 19 106 0 0 349 /**
|
||
|
* Begins playing back data from the indicated filename. All of the recorders
|
||
|
* in use should already have been added, although this may define additional
|
||
|
* recorders if they are present in the file (these new recorders will not be
|
||
|
* used). This may also undefine recorders that were previously added but are
|
||
|
* not present in the file.
|
||
|
*/ 2 4 this 3 113 8 filename 1 114
|
||
|
11 0 0 4 20 117 0 0 61 /**
|
||
|
* Finishes recording data to the indicated filename.
|
||
|
*/ 1 4 this 3 113
|
||
|
12 0 0 6 21 120 0 0 167 /**
|
||
|
* Returns the time (and date) at which the current session was originally
|
||
|
* recorded (or, in recording mode, the time at which the current session
|
||
|
* began).
|
||
|
*/ 1 4 this 3 118
|
||
|
13 0 0 4 22 117 0 0 203 /**
|
||
|
* Indicates an arbitrary number to be recorded in the session file as a
|
||
|
* random seed, should the application wish to take advantage of it. This
|
||
|
* must be set before begin_record() is called.
|
||
|
*/ 2 4 this 3 113 11 random_seed 1 122
|
||
|
14 0 0 6 23 122 0 0 175 /**
|
||
|
* Returns the random seed that was set by a previous call to
|
||
|
* set_random_seed(), or the number read from the session file after
|
||
|
* begin_playback() has been called.
|
||
|
*/ 1 4 this 3 118
|
||
|
15 0 0 6 24 106 0 0 86 /**
|
||
|
* Returns true if the controller has been opened for output, false otherwise.
|
||
|
*/ 1 4 this 3 118
|
||
|
16 0 0 6 25 106 0 0 85 /**
|
||
|
* Returns true if the controller has been opened for input, false otherwise.
|
||
|
*/ 1 4 this 3 118
|
||
|
17 0 0 6 26 106 0 0 105 /**
|
||
|
* Returns true if the controller has been opened for either input or output,
|
||
|
* false otherwise.
|
||
|
*/ 1 4 this 3 118
|
||
|
18 0 0 6 27 114 0 0 113 /**
|
||
|
* Returns the filename that was passed to the most recent call to
|
||
|
* begin_record() or begin_playback().
|
||
|
*/ 1 4 this 3 118
|
||
|
19 0 0 6 28 106 0 0 191 /**
|
||
|
* Returns true if the controller has been opened for input or output output
|
||
|
* and there is an error on the stream, or false if the controller is closed
|
||
|
* or if there is no problem.
|
||
|
*/ 1 4 this 3 113
|
||
|
20 0 0 6 29 123 0 0 186 /**
|
||
|
* Returns the delta offset between the actual frame time and the frame time
|
||
|
* written to the log. This is essentially the time at which the recording
|
||
|
* (or playback) started.
|
||
|
*/ 1 4 this 3 118
|
||
|
21 0 0 6 30 122 0 0 196 /**
|
||
|
* Returns the delta offset between the actual frame count and the frame count
|
||
|
* written to the log. This is essentially the frame number at which the
|
||
|
* recording (or playback) started.
|
||
|
*/ 1 4 this 3 118
|
||
|
22 0 0 4 31 117 0 0 343 /**
|
||
|
* Adds the named recorder to the set of recorders that are in use.
|
||
|
*
|
||
|
* If the controller is in recording mode, the named recorder will begin
|
||
|
* recording its status to the session file. If the controller is in playback
|
||
|
* mode and the name and type matches a recorder in the session file, the
|
||
|
* recorder will begin receiving data.
|
||
|
*/ 3 4 this 3 113 4 name 1 109 8 recorder 1 112
|
||
|
23 0 0 6 32 106 0 0 331 /**
|
||
|
* Returns true if the named recorder has been added to the table by a
|
||
|
* previous call to add_recorder(), false otherwise.
|
||
|
*
|
||
|
* If the controller is in playback mode, this will also return false for a
|
||
|
* recorder that was found in the session file but was never explicitly added
|
||
|
* via add_recorder(); see get_recorder().
|
||
|
*/ 2 4 this 3 118 4 name 1 109
|
||
|
24 0 0 6 33 112 0 0 389 /**
|
||
|
* Returns the recorder with the indicated name, or NULL if there is no such
|
||
|
* recorder.
|
||
|
*
|
||
|
* If the controller is in playback mode, this may return the recorder
|
||
|
* matching the indicated name as read from the session file, even if it was
|
||
|
* never added to the table by the user. In this case, has_recorder() may
|
||
|
* return false, but get_recorder() will return a non-NULL value.
|
||
|
*/ 2 4 this 3 118 4 name 1 109
|
||
|
25 0 0 6 34 106 0 0 463 /**
|
||
|
* Removes the named recorder from the table. Returns true if successful,
|
||
|
* false if there was no such recorder.
|
||
|
*
|
||
|
* If the controller is in recording mode, the named recorder will stop
|
||
|
* recording. If the controller is in playback mode, the named recorder will
|
||
|
* disassociate itself from the session file (but if the session file still
|
||
|
* has data for this name, a default recorder will take its place to decode
|
||
|
* the data from the session file).
|
||
|
*/ 2 4 this 3 113 4 name 1 109
|
||
|
26 0 0 4 35 117 0 0 528 /**
|
||
|
* Sets the frame_tie flag.
|
||
|
*
|
||
|
* When this is true, sessions are played back frame-for-frame, based on the
|
||
|
* frame count of the recorded session. This gives the most accurate
|
||
|
* playback, but the playback rate will vary according to the frame rate of
|
||
|
* the playback machine.
|
||
|
*
|
||
|
* When this is false, sessions are played back at real time, based on the
|
||
|
* clock of the recorded session. This may introduce playback discrepencies
|
||
|
* if the frames do not fall at exactly the same times as they did in the
|
||
|
* original.
|
||
|
*/ 2 4 this 3 113 9 frame_tie 1 106
|
||
|
27 0 0 6 36 106 0 0 31 /**
|
||
|
* See set_frame_tie().
|
||
|
*/ 1 4 this 3 118
|
||
|
28 0 0 4 37 117 0 0 106 /**
|
||
|
* Gets the next frame of data from all of the active recorders and adds it to
|
||
|
* the output file.
|
||
|
*/ 1 4 this 3 113
|
||
|
29 0 0 4 38 117 0 0 106 /**
|
||
|
* Gets the next frame of data from all of the active recorders and adds it to
|
||
|
* the output file.
|
||
|
*/ 1 4 this 3 113
|
||
|
30 0 0 7 39 108 0 0 0 0
|
||
|
31 0 0 7 46 124 85 0 10 /**
|
||
|
*
|
||
|
*/ 0
|
||
|
32 0 0 7 46 124 85 0 10 /**
|
||
|
*
|
||
|
*/ 2 6 stream 1 125 11 owns_stream 1 106
|
||
|
33 0 0 6 48 106 0 0 253 /**
|
||
|
* Receives a datagram over the socket by expecting a little-endian 16-bit
|
||
|
* byte count as a prefix. If the socket stream is non-blocking, may return
|
||
|
* false if the data is not available; otherwise, returns false only if the
|
||
|
* socket closes.
|
||
|
*/ 2 4 this 3 124 2 dg 1 127
|
||
|
34 0 0 6 49 106 0 0 45 /**
|
||
|
* See SocketStream::send_datagram().
|
||
|
*/ 2 4 this 3 124 2 dg 1 129
|
||
|
35 0 0 6 50 106 0 0 41 /**
|
||
|
* See SocketStream::is_closed().
|
||
|
*/ 1 4 this 3 124
|
||
|
36 0 0 4 51 117 0 0 37 /**
|
||
|
* See SocketStream::close().
|
||
|
*/ 1 4 this 3 124
|
||
|
37 0 0 4 52 117 0 0 47 /**
|
||
|
* See SocketStream::set_collect_tcp().
|
||
|
*/ 2 4 this 3 124 11 collect_tcp 1 106
|
||
|
38 0 0 6 53 106 0 0 47 /**
|
||
|
* See SocketStream::get_collect_tcp().
|
||
|
*/ 1 4 this 3 131
|
||
|
39 0 0 4 54 117 0 0 56 /**
|
||
|
* See SocketStream::set_collect_tcp_interval().
|
||
|
*/ 2 4 this 3 124 8 interval 1 123
|
||
|
40 0 0 6 55 123 0 0 56 /**
|
||
|
* See SocketStream::get_collect_tcp_interval().
|
||
|
*/ 1 4 this 3 131
|
||
|
41 0 0 6 56 106 0 0 45 /**
|
||
|
* See SocketStream::consider_flush()
|
||
|
*/ 1 4 this 3 124
|
||
|
42 0 0 6 57 106 0 0 36 /**
|
||
|
* See SocketStream::flush()
|
||
|
*/ 1 4 this 3 124
|
||
|
43 0 0 7 58 108 0 0 0 0
|
||
|
44 0 0 6 41 112 0 0 0 1 4 this 3 124
|
||
|
45 0 0 7 44 133 0 0 0 1 4 this 3 124
|
||
|
37
|
||
|
97 12 RecorderBase 0 26625 12 RecorderBase 12 RecorderBase 0 0 0 0 46 0 3 47 48 49 0 0 0 0 0 1028
|
||
|
/**
|
||
|
* This is the base class to a number of objects that record particular kinds
|
||
|
* of user input (like a MouseRecorder) to use in conjunction with a
|
||
|
* RecorderController to record the user's inputs for a session.
|
||
|
*
|
||
|
* Note that RecorderBase does not actually inherit from TypedObject, even
|
||
|
* though it defines get_type(). The assumption is that the classes that
|
||
|
* derive from RecorderBase might also inherit independently from TypedObject.
|
||
|
*
|
||
|
* It also does not inherit from TypedWritable, but it defines a method called
|
||
|
* write_recorder() which is very similar to a TypedWritable's
|
||
|
* write_datagram(). Classes that derive from RecorderBase and also inherit
|
||
|
* from TypedWritable may choose to remap write_recorder() to do exactly the
|
||
|
* same thing as write_datagram(), or they may choose to write something
|
||
|
* slightly different.
|
||
|
*
|
||
|
* Most types of recorders should derive from Recorder, as it derives from
|
||
|
* ReferenceCount, except for MouseRecorder, which would otherwise doubly
|
||
|
* inherit from ReferenceCount.
|
||
|
*/
|
||
|
|
||
|
98 13 MouseRecorder 0 26625 13 MouseRecorder 13 MouseRecorder 0 0 0 1 54 55 0 1 56 0 0 2 3 99 50 51 3 97 52 53 0 0 362
|
||
|
/**
|
||
|
* This object records any data generated by a particular MouseAndKeyboard
|
||
|
* node on the datagraph for a session for eventual playback via a
|
||
|
* DataGraphPlayback (and a PlaybackController). To use it, make it a child
|
||
|
* of the node you wish to record. It also serves as a pass-through, so that
|
||
|
* additional child nodes may be parented directly to it.
|
||
|
*/
|
||
|
|
||
|
99 8 DataNode 0 2048 8 DataNode 8 DataNode 0 0 0 0 0 0 0 0 0 0 0 0 422
|
||
|
/**
|
||
|
* The fundamental type of node for the data graph. The DataNode class is
|
||
|
* itself primarily intended as an abstract class; it defines no inputs and no
|
||
|
* outputs. Most kinds of data nodes will derive from this to specify the
|
||
|
* inputs and outputs in the constructor.
|
||
|
*
|
||
|
* DataNode does not attempt to cycle its data with a PipelineCycler. The
|
||
|
* data graph is intended to be used only within a single thread.
|
||
|
*/
|
||
|
|
||
|
100 18 RecorderController 0 75777 18 RecorderController 18 RecorderController 0 0 0 1 57 0 0 22 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 0 1 0 101 0 0 0 0 142
|
||
|
/**
|
||
|
* This object manages the process of recording the user's runtime inputs to a
|
||
|
* bam file so that the session can be recreated later.
|
||
|
*/
|
||
|
|
||
|
101 19 TypedReferenceCount 0 2048 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 410
|
||
|
/**
|
||
|
* A base class for things which need to inherit from both TypedObject and
|
||
|
* from ReferenceCount. It's convenient to define this intermediate base
|
||
|
* class instead of multiply inheriting from the two classes each time they
|
||
|
* are needed, so that we can sensibly pass around pointers to things which
|
||
|
* are both TypedObjects and ReferenceCounters.
|
||
|
*
|
||
|
* See also TypedObject for detailed instructions.
|
||
|
*/
|
||
|
|
||
|
102 20 SocketStreamRecorder 0 26625 20 SocketStreamRecorder 20 SocketStreamRecorder 0 0 0 1 84 85 0 11 86 87 88 89 90 91 92 93 94 95 96 0 0 2 3 97 80 81 3 103 82 83 0 0 350
|
||
|
/**
|
||
|
* Records any data received from the indicated socket stream. On playback,
|
||
|
* it will act as if the incoming data is coming over the wire again even if
|
||
|
* an actual connection is not available.
|
||
|
*
|
||
|
* Outbound data will not be recorded, but will be sent straight through to
|
||
|
* the socket if it is connected, or silently ignored if it is not.
|
||
|
*/
|
||
|
|
||
|
103 14 ReferenceCount 0 2048 14 ReferenceCount 14 ReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 203
|
||
|
/**
|
||
|
* A base class for all things that want to be reference-counted.
|
||
|
* ReferenceCount works in conjunction with PointerTo to automatically delete
|
||
|
* objects when the last pointer to them goes away.
|
||
|
*/
|
||
|
|
||
|
104 20 RecorderBase const * 0 8576 20 RecorderBase const * 20 RecorderBase const * 0 0 105 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
105 18 RecorderBase const 0 8832 18 RecorderBase const 18 RecorderBase const 0 0 97 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
106 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
107 10 TypeHandle 0 16779264 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 732
|
||
|
/**
|
||
|
* TypeHandle is the identifier used to differentiate C++ class types. Any
|
||
|
* C++ classes that inherit from some base class, and must be differentiated
|
||
|
* at run time, should store a static TypeHandle object that can be queried
|
||
|
* through a static member function named get_class_type(). Most of the time,
|
||
|
* it is also desirable to inherit from TypedObject, which provides some
|
||
|
* virtual functions to return the TypeHandle for a particular instance.
|
||
|
*
|
||
|
* At its essence, a TypeHandle is simply a unique identifier that is assigned
|
||
|
* by the TypeRegistry. The TypeRegistry stores a tree of TypeHandles, so
|
||
|
* that ancestry of a particular type may be queried, and the type name may be
|
||
|
* retrieved for run-time display.
|
||
|
*/
|
||
|
|
||
|
108 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 107 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
109 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
110 15 MouseRecorder * 0 8576 15 MouseRecorder * 15 MouseRecorder * 0 0 98 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
111 10 DataNode * 0 8576 10 DataNode * 10 DataNode * 0 0 99 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
112 14 RecorderBase * 0 8576 14 RecorderBase * 14 RecorderBase * 0 0 97 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
113 20 RecorderController * 0 8576 20 RecorderController * 20 RecorderController * 0 0 100 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
114 16 Filename const * 0 8576 16 Filename const * 16 Filename const * 0 0 115 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
115 14 Filename const 0 8832 14 Filename const 14 Filename const 0 0 116 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
116 8 Filename 0 2048 8 Filename 8 Filename 0 0 0 0 0 0 0 0 0 0 0 0 550
|
||
|
/**
|
||
|
* The name of a file, such as a texture file or an Egg file. Stores the full
|
||
|
* pathname, and includes functions for extracting out the directory prefix
|
||
|
* part and the file extension and stuff.
|
||
|
*
|
||
|
* A Filename is also aware of the mapping between the Unix-like filename
|
||
|
* convention we use internally, and the local OS's specific filename
|
||
|
* convention, and it knows how to perform basic OS-specific I/O, like testing
|
||
|
* for file existence and searching a searchpath, as well as the best way to
|
||
|
* open an fstream for reading or writing.
|
||
|
*/
|
||
|
|
||
|
117 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
118 26 RecorderController const * 0 8576 26 RecorderController const * 26 RecorderController const * 0 0 119 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
119 24 RecorderController const 0 8832 24 RecorderController const 24 RecorderController const 0 0 100 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
120 6 time_t 0 2105344 6 time_t 6 time_t 0 0 121 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
121 8 long int 0 8210 8 long int 8 long int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
122 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
123 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
124 22 SocketStreamRecorder * 0 8576 22 SocketStreamRecorder * 22 SocketStreamRecorder * 0 0 102 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
125 14 SocketStream * 0 8576 14 SocketStream * 14 SocketStream * 0 0 126 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
126 12 SocketStream 0 2048 12 SocketStream 12 SocketStream 0 0 0 0 0 0 0 0 0 0 0 0 97
|
||
|
/**
|
||
|
* A base class for iostreams that read and write to a (possibly non-blocking)
|
||
|
* socket.
|
||
|
*/
|
||
|
|
||
|
127 10 Datagram * 0 8576 10 Datagram * 10 Datagram * 0 0 128 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
128 8 Datagram 0 2048 8 Datagram 8 Datagram 0 0 0 0 0 0 0 0 0 0 0 0 565
|
||
|
/**
|
||
|
* An ordered list of data elements, formatted in memory for transmission over
|
||
|
* a socket or writing to a data file.
|
||
|
*
|
||
|
* Data elements should be added one at a time, in order, to the Datagram.
|
||
|
* The nature and contents of the data elements are totally up to the user.
|
||
|
* When a Datagram has been transmitted and received, its data elements may be
|
||
|
* extracted using a DatagramIterator; it is up to the caller to know the
|
||
|
* correct type of each data element in order.
|
||
|
*
|
||
|
* A Datagram is itself headerless; it is simply a collection of data
|
||
|
* elements.
|
||
|
*/
|
||
|
|
||
|
129 16 Datagram const * 0 8576 16 Datagram const * 16 Datagram const * 0 0 130 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
130 14 Datagram const 0 8832 14 Datagram const 14 Datagram const 0 0 128 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
131 28 SocketStreamRecorder const * 0 8576 28 SocketStreamRecorder const * 28 SocketStreamRecorder const * 0 0 132 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
132 26 SocketStreamRecorder const 0 8832 26 SocketStreamRecorder const 26 SocketStreamRecorder const 0 0 102 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
133 16 ReferenceCount * 0 8576 16 ReferenceCount * 16 ReferenceCount * 0 0 103 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
0
|
||
|
0
|
||
|
0
|