MasterMotion Reference Manual · Chapter 2 MasterMotion Hierarchical Index 2.1 MasterMotion Class...
Transcript of MasterMotion Reference Manual · Chapter 2 MasterMotion Hierarchical Index 2.1 MasterMotion Class...
MasterMotion Reference Manual1
Generated by Doxygen 1.2.12
Wed Mar 6 11:12:26 2002
Contents
1 MasterMotion Module Index 1
1.1 MasterMotion Modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 MasterMotion Hierarchical Index 3
2.1 MasterMotion Class Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 MasterMotion Compound Index 5
3.1 MasterMotion Compound List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 MasterMotion File Index 7
4.1 MasterMotion File List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5 MasterMotion Page Index 11
5.1 MasterMotion Related Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6 MasterMotion Module Documentation 13
6.1 Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
6.2 Common . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
6.3 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
6.4 Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
6.5 Saul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
7 MasterMotion Class Documentation 29
7.1 AvgLimbError Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.2 Body Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.3 BodyColor Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.4 CCamera Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.5 CClientConnClnt Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.6 CClientConnSrvr Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.7 ClientSideObject Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
ii CONTENTS
7.8 ClientSideObjectSrvr Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.9 CoGObserver Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.10 CoGResponder Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.11 CommanderClient Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.12 CommanderServer Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.13 CompBody Struct Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.14 CPlayerClnt Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.15 CPlayerSrvr Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.16 CTextStream Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.17 CWorldModel Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.18 CWorldPropClnt Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.19 CWorldPropPlugin Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.20 CWorldPropSrvr Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.21 DataConnection Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.22 DataWriter Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.23 DistUIObserver Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.24 DistUIResponder Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.25 DPLimbError Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.26 FileConnection Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.27 FileWriter Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.28 Filter Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.29 FilterFactory Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.30 FilterManager Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.31 FilterState Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.32 Kalman Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.33 KalmanFrame Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.34 KalmanState Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.35 LimbError Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.36 LithtechXformFilter Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.37 LowPass Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.38 LowPassState Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.39 Marker Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.40 MasterMotionClient Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.41 MasterMotionServer Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.42 Measurement Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.43 MrTsVan Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
CONTENTS iii
7.44 Observer Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.45 ObserverManager Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.46 PeriodicObserver Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.47 Popup Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.48 PopupState Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.49 Quaternion Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.50 RealTimeBody Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.51 RealTimeClientConnection Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . 99
7.52 RealTimeConnection Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . .100
7.53 RealTimeServerConnection Class Reference. . . . . . . . . . . . . . . . . . . . . . . . .102
7.54 RealTimeSubject Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
7.55 Responder Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
7.56 ResponderManager Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
7.57 Saul Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106
7.58 Sender Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
7.59 SimpleFilterFactory Class Template Reference. . . . . . . . . . . . . . . . . . . . . . .109
7.60 SimpleLimbError Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
7.61 StartPoint Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
7.62 StupidObserver Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
7.63 Tarsus Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
7.64 Vector3 Class Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
8 MasterMotion File Documentation 117
8.1 AvgLimbError.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
8.2 Body.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
8.3 BodyColor.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
8.4 BodyColor.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
8.5 camera.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
8.6 clientconnclnt.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122
8.7 clientconnsrvr.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
8.8 clientconsolefn.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
8.9 clienthelper.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125
8.10 clientinterfaces.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
8.11 clientobjfactories.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
8.12 ClientSideObject.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
8.13 ClientSideObjectSrvr.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . .129
8.14 Codec.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
iv CONTENTS
8.15 CoGObserver.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
8.16 CoGResponder.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132
8.17 Commander.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
8.18 Commander.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
8.19 commandids.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
8.20 Commands.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
8.21 Commands.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
8.22 DataConnection.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139
8.23 DataWriter.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
8.24 DistUIObserver.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
8.25 DistUIResponder.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142
8.26 DPLimbError.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
8.27 FileConnection.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144
8.28 FileWriter.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
8.29 Filter.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
8.30 FilterFactory.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
8.31 FilterManager.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
8.32 FilterState.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
8.33 guids.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
8.34 helper.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
8.35 Kalman.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
8.36 KalmanState.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
8.37 LimbError.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
8.38 LithtechXformFilter.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . .155
8.39 LowPass.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
8.40 LowPassState.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
8.41 Marker.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
8.42 MasterMotionClient.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . .159
8.43 MasterMotionServer.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . .160
8.44 Measurement.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
8.45 MrTsVan.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
8.46 msgids.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
8.47 Observer.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
8.48 ObserverManager.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
8.49 playerclnt.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
8.50 playersrvr.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
CONTENTS v
8.51 Popup.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
8.52 PopupState.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
8.53 Quaternion.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
8.54 RealTimeBody.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
8.55 RealTimeClientConnection.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . .172
8.56 RealTimeConnection.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . .173
8.57 RealTimeServerConnection.h File Reference. . . . . . . . . . . . . . . . . . . . . . . .174
8.58 RealTimeSubject.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
8.59 Responder.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
8.60 ResponderManager.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
8.61 Saul.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
8.62 SaulAdmin.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
8.63 SaulAdminDlg.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
8.64 Sender.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
8.65 serverevents.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
8.66 serverinterfaces.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
8.67 serverobjfactories.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184
8.68 sharedinterfaces.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
8.69 SimpleLimbError.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
8.70 startpoint.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
8.71 StupidObserver.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
8.72 Tarsus.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
8.73 Tarsus.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
8.74 textstream.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
8.75 Timer.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
8.76 TrigLUT.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
8.77 Utils.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
8.78 Vector3.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
8.79 worldmodel.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
8.80 worldpropclnt.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
8.81 worldpropsrvr.h File Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
9 MasterMotion Page Documentation 199
9.1 Bug List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
Chapter 1
MasterMotion Module Index
1.1 MasterMotion Modules
Here is a list of all modules:
•Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13•Common . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19•Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21•Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24•Saul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
2 MasterMotion Module Index
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
Chapter 2
MasterMotion Hierarchical Index
2.1 MasterMotion Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31CAboutDlgCCamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35CClientConnClnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37CClientConnSrvr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38ClientSideObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39ClientSideObjectSrvr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41CommanderClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44CommanderServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45CompBody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46CPlayerClnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47CPlayerSrvr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49CSaulAdminAppCSaulAdminDlgCTextStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50CWorldModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51CWorldPropClnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52CWorldPropPlugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53CWorldPropSrvr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54DataConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
FileConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62RealTimeConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
RealTimeClientConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99RealTimeServerConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
Tarsus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113DataWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
FileWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71LithtechXformFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77LowPass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78Popup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
FilterFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
4 MasterMotion Hierarchical Index
SimpleFilterFactory< filt, state> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
FilterManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69FilterState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
KalmanState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73LowPassState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79PopupState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
KalmanFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80MasterMotionClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81MasterMotionServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85MrTsVan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
BodyColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33CoGObserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42DistUIObserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
LimbError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74AvgLimbError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29DPLimbError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61SimpleLimbError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
StupidObserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
ObserverManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91PeriodicObserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93Quaternion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96RealTimeBody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98RealTimeSubject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103regextregmatchtResponder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
BodyColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33CoGResponder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43DistUIResponder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
ResponderManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105Saul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106Sender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108StartPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111TarsusInitDataTimerTrigLUTVector3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
Chapter 3
MasterMotion Compound Index
3.1 MasterMotion Compound List
Here are the classes, structs, unions and interfaces with brief descriptions:
AvgLimbError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29Body (A representation of a Vicon ”Body” - or a skeletal node in LT) . . . . . . . . . . . . . . .31BodyColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33CCamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35CClientConnClnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37CClientConnSrvr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38ClientSideObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39ClientSideObjectSrvr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41CoGObserver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42CoGResponder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43CommanderClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44CommanderServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45CompBody(Will be used in state vector compression) . . . . . . . . . . . . . . . . . . . . . . .46CPlayerClnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47CPlayerSrvr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49CTextStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50CWorldModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51CWorldPropClnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52CWorldPropPlugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53CWorldPropSrvr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54DataConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55DataWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58DistUIObserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59DistUIResponder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60DPLimbError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61FileConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62FileWriter (A simpleSaulfilter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Filter (Base class for all filter types) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66FilterFactory(Abstract factory class for creatingSaulFilter objects) . . . . . . . . . . . . . . . 68FilterManager(Filter Manager Class) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69FilterState(A Base Class for all filter-specific state information) . . . . . . . . . . . . . . . . .70Kalman(A class for a Discrete Kalman filter) . . . . . . . . . . . . . . . . . . . . . . . . . . .71KalmanFrame(A class to maintain the information for one frame of data) . . . . . . . . . . . .72
6 MasterMotion Compound Index
KalmanState(A class to maintain state data for the DiscreteKalmanFilter class) . . . . . . . . 73LimbError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74LithtechXformFilter(Converts data from Vicon- to Lithtech coordinates) . . . . . . . . . . . . .77LowPass(A class for a simple damping filter) . . . . . . . . . . . . . . . . . . . . . . . . . . .78LowPassState(A class to maintain state data for theLowPassFilter class) . . . . . . . . . . . . 79Marker(Class Marker represents Vicon Marker data) . . . . . . . . . . . . . . . . . . . . . . .80MasterMotionClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81MasterMotionServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87MrTsVan(Hey, stay out of Mr. T’s van!) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88Observer(Observers watch the state of the system Observers will watch the state of the Server
and can report to the client (via the Send method) what they observed. Examples ofuse could be: For creating user interfaces by observing real-time behavior, for addingannotation to the motions that users are performing, or monitoring the state of objectsin the world) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
ObserverManager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91PeriodicObserver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93Popup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94PopupState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95Quaternion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96RealTimeBody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98RealTimeClientConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99RealTimeConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100RealTimeServerConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102RealTimeSubject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103Responder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104ResponderManager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105Saul(Class Saul is our Filtering Beast) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106Sender(Class Sender sends data via UDP to a client) . . . . . . . . . . . . . . . . . . . . . . .108SimpleFilterFactory< filt, state> (The favorite factory class for creatingSaulFilter objects) . . 109SimpleLimbError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110StartPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111StupidObserver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112Tarsus(Class Tarsus talks to a running real-time server via TCP/IP) . . . . . . . . . . . . . . . .113Vector3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
Chapter 4
MasterMotion File Index
4.1 MasterMotion File List
Here is a list of all documented files with brief descriptions:
AvgLimbError.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117Body.h(Bodyclass definition. Header file for a ViconBody- correlating to bones in the LithTech
skeleton. Currently, there are 17 bodies associated with each MoCap subject) . . . . .118cshell/src/BodyColor.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119sshell/src/BodyColor.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120camera.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121client events.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .??clientconnclnt.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122clientconnsrvr.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123clientconsolefn.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124clienthelper.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125clientinterfaces.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126clientobjfactories.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127ClientSideObject.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128ClientSideObjectSrvr.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129Codec.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130CoGObserver.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131CoGResponder.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132cshell/src/Commander.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133sshell/src/Commander.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135commandids.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136cshell/src/Commands.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137sshell/src/Commands.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138DataConnection.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139DataWriter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140DistUIObserver.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141DistUIResponder.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142DPLimbError.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143FileConnection.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144FileWriter.h (FileWriter class definition. Header file forFileWriter, a filter used to write out
SAUL data to a text file. The functionality of this class has been effectively replaced bytheDataWriterclass in MasterMotion) . . . . . . . . . . . . . . . . . . . . . . . . . .145
8 MasterMotion File Index
Filter.h(Filter class definition. Header file forFilter, an abstract base class that defines the inter-face for all filtering operations inSaul) . . . . . . . . . . . . . . . . . . . . . . . . . .146
FilterFactory.h(FilterFactoryclass definition. Header file forFilterFactory, an abstract base classthat defines the interface for allSaulFilter creation) . . . . . . . . . . . . . . . . . . .147
FilterManager.h(FilterManagerclass definition. Header file forFilterManager, a class that isresponsible for registering and configuring filter classes and maintaining a list of filterscurrently in use bySaul) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
FilterState.h(FilterManagerclass definition. Header file forFilterManager, a class that is re-sponsible for registering and configuring filter classes and maintaining a list of filterscurrently in use bySaul) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
guids.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150helper.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151Kalman.h(Kalmanclass definition. Header file forKalman, a filter used by SAUL to apply a
DiscreteKalmanfilter to the data) . . . . . . . . . . . . . . . . . . . . . . . . . . . .152KalmanState.h(KalmanStateclass definition. Header file forKalmanState, which maintains state
data for the DiscreteKalmanfilter) . . . . . . . . . . . . . . . . . . . . . . . . . . . .153LimbError.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154LithtechXformFilter.h(LithTechXformFilter class definition. Header file for LithTechXform-
Filter, a filter used by SAUL to convert data from Vicon’s coordinate system toLithtech’s coordinate system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
LowPass.h(LowPassclass definition. Header file forLowPass, a filter used by SAUL to apply asimple damping filter to the data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
LowPassState.h(LowPassStateclass definition. Header file forLowPassState, which maintainsstate data for the damping filter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
Marker.h(Markerclass definition. Header file forMarker, representation of Vicon marker data) .158MasterMotionClient.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159MasterMotionServer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160Measurement.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161Messages.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .??MrTsVan.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162msgids.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163Observer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164ObserverManager.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165FullProject/cshell/src/pcre.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ??pcre-3.9-lib/include/pcre.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ??pcreposix.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .??playerclnt.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166playersrvr.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167Popup.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168PopupState.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169prop helpers.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .??Quaternion.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170RealTimeBody.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171RealTimeClientConnection.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172RealTimeConnection.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173RealTimeServerConnection.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174RealTimeSubject.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175Responder.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176ResponderManager.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177Saul.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178SaulAdmin.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179SaulAdminDlg.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180Sender.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181serverevents.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
4.1 MasterMotion File List 9
serverinterfaces.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183serverobjfactories.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184shared types.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .??sharedinterfaces.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185SimpleLimbError.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186startpoint.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187StupidObserver.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188FullProject/cshell/src/Tarsus.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189Saul/Tarsus.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190textstream.h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191Timer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192TrigLUT.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193Utils.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194Vector3.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195worldmodel.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196worldpropclnt.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197worldpropsrvr.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
10 MasterMotion File Index
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
Chapter 5
MasterMotion Page Index
5.1 MasterMotion Related Pages
Here is a list of all related documentation pages:
Bug List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
12 MasterMotion Page Index
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
Chapter 6
MasterMotion Module Documentation
6.1 Client
Compounds
• classBodyColor• classCCamera• classCClientConnClnt• classClientSideObject• classCoGResponder• classCommanderClient• classCPlayerClnt• classCWorldPropClnt• classDistUIResponder• classFileConnection• classMasterMotionClient• classRealTimeClientConnection• classResponder• classResponderManager• classTarsus
class Tarsus talks to a running real-time server via TCP/IP.
• structTarsusInitData
Defines
• #define AFX BODYCOLOR H E73FDC8F F836 48C8 87D1 E7027317D59A -INCLUDED
• #define AFX CLIENTSIDEOBJECT H 1E5409D65B76 4975B43F FD05E0D80643 -INCLUDED
• #defineDeclareBroadcastCommand(name)
Use this to declare a new broadcast command. To create a new broadcast command, add aDeclare-BroadcastCommand() line to the appropriate section of commands.h.
• #defineDefineBroadcastCommand(name)
14 MasterMotion Module Documentation
Define the functionality of the broadcase command This macro will create all the functions necessary for anew broadcast command To use it, add code like the following to commands.cpp:.
• #defineRegisterBroadcastCommand(name)
Tells the engine about a new broadcast command Add this macro to the appropriate section in the Register-Commands function (defined in Commands.cpp). This will tell the system about the new command youcreated.
• #defineDeclareSimpleCommand(name) void name##FN(int argc, char∗ argv[ ])
Use this to declare a new simple command. To create a new simple command, add aDeclareSimple-Command() line to the appropriate section of commands.h.
• #defineDefineSimpleCommand(name) void name##FN(int argc, char∗ argv[ ])
Define the functionality of the simple command This macro will create all the functions necessary for a newsimple command To use it, add code like the following to commands.cpp:.
• #define RegisterSimpleCommand(name) gpLTClient → RegisterConsoleProgram(#name,name##FN)
Tells the engine about a new simple command Add this macro to the appropriate section in the Register-Commands function (defined in Commands.cpp). This will tell the system about the new command youcreated.
• #defineDeclareServerCommand(name) void name##SRVR(int argc, char∗ argv[ ])
Use this to declare a new server command. To create a new server command, add aDeclareServer-Command() line to the appropriate section of commands.h.
• #defineDefineServerCommand(name)
Define the functionality of the server command This macro will create all the functions necessary for a newserver command To use it, add code like the following to commands.cpp:.
• #defineRegisterServerCommand(name) gpLTClient→RegisterConsoleProgram(#name, name##-SRVR)
Tells the engine about a new server command Add this macro to the appropriate section in the Register-Commands function (defined in Commands.cpp). This will tell the system about the new command youcreated.
• #define AFX DISTUIRESPONDER H 1487577464164A1A 801B D9C037FBFE4A -INCLUDED
• #define AFX REALTIMECLIENTCONNECTION H 52A019A38C80 404C BDA6 -C2D9FBC0D23B INCLUDED
• #defineAFX RESPONDER H 67D5EF860B2A 4DE8 9786B5979FA6096C INCLUDED• #defineAFX RESPONDERMANAGER H 98993AD00DCD 40C6 AB3A 4492A4F054BB -
INCLUDED• #defineAFX TARSUS H D1EF8A67 78084687BED1 EE7BE3CE5FDB INCLUDED
Enumerations
• enum ECameraAspect{ CAMS 4 3 = 0, CAMS 16 9, CAMS SQ PIXEL , CAMS NUM -ASPECTS}
Possible aspect ratios for the cameras.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
6.1 Client 15
• enum ECameraViewportType{ CAMV FULLSCREEN = 0, CAMV HORIZONTAL TOP,CAMV HORIZONTAL BOTTOM , CAMV VERTICAL LEFT , CAMV VERTICAL -RIGHT , CAMV QUARTER TOPLEFT , CAMV QUARTER TOPRIGHT , CAMV -QUARTER BOTTOMLEFT , CAMV QUARTER BOTTOMRIGHT }
Specifies where the viewport should be created on the screen.
• enum EClientGameState { CGS STARTING UP = 0, CGS MENU , CGS LOADING -WORLD , CGS PLAYING , CGS PAUSED, CGS WORLD EXIT , CGS SCOREBOARD,CGS CINEMATIC , CGS SHUTTING DOWN, CGS SAMPLE , CGS NUM STATES }
• enum EPlayerState { PLS SPECTATOR = 0, PLS SPECTATOR NOSLIDE , PLS -SPECTATOR NOCLIP , PLS REMOTE CONTROL , PLS ORBIT , PLS NUM STATES}
• enum ETarsusError { TE OK = 0, TE CONNECT, TE DUPLICATENODE , TE -NOSUCHNODE, TE DISABLED }
An enum for error codes.
• enumEType{ ERequest, EReply }An enum forTarsusmessage types.
• enumEPacket{ EClose, EInfo , EData, EStreamOn, EStreamOff }Used with EType to specify message type.
• enumEGameType{ GT FFA DM = 0, GT CTF, GT UNITY vs HARM , GT NUM TYPES }
Functions
• void ConsoleFnConnect(int argc, char∗∗argv)• void ConsoleFnFogColor (int argc, char∗∗argv)• void ConsoleFnBackgroundColor (int argc, char∗∗argv)• DeclareSimpleCommand(Simple)• DeclareBroadcastCommand(Bcast)• DeclareServerCommand(Svr)• LTRESULTShutdownIfFailed (LTRESULT result, const char∗pErrStr)• LTRESULTDebugPrintIfFailed (LTRESULT result, const char∗pErrStr)• int DebugWrite (const char∗pStr,...)• LTRESULTVerifyClientInterfaces ()• LTRESULTRegisterClientObjFactories()• void RegisterCommands()• DeclareSimpleCommand(TestSimple)• DeclareSimpleCommand(AspectRatio)• DeclareSimpleCommand(DetachCamera)• DeclareSimpleCommand(MotionFile)• DeclareSimpleCommand(ConnectTarsus)• DeclareSimpleCommand(Play)• DeclareSimpleCommand(RecordSubject)• DeclareSimpleCommand(GetCamera)• DeclareServerCommand(TestServer)• DeclareServerCommand(HideObj)• DeclareServerCommand(MoveObj)• DeclareServerCommand(RotateObj)
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
16 MasterMotion Module Documentation
• DeclareServerCommand(ListObjs)
• DeclareServerCommand(ConnectSaul)
• DeclareServerCommand(PingSaul)
• DeclareServerCommand(UnSubscribeSaul)
• DeclareServerCommand(AddFilterSaul)
• DeclareServerCommand(WriteData)
• DeclareServerCommand(DeactivateCoG)
• DeclareBroadcastCommand(TestBroadcast)
• DeclareBroadcastCommand(ListSubjects)
• DeclareBroadcastCommand(StartTracking)
Variables
• ILTCommon∗ g pLTCCommon• ILTPhysics∗ g pLTCPhysics• ILTModelClient∗ g pLTCModel• ILTDrawPrim∗ g pLTCDrawPrim• ILTTexInterface∗ g pLTCTexInterface• ILTClientSoundMgr∗ g pLTCSoundMgr• ILTRenderStyles∗ g pLTCRenderStyles• ILTCollisionMgr ∗ g pLTCCollisionMgr• ILTFontManager∗ g pLTCFontManager• ILTWidgetManager∗ g pLTCWidgetManager• MasterMotionClient∗ g pCShell• ResponderManager∗ g ResponderManager• const charg aszGameTypes[GT NUM TYPES][16]
6.1.1 Define Documentation
6.1.1.1 #define DeclareBroadcastCommand(name)
Value:
void name##_BCAST(int argc, char* argv[]);\void name##_FN(int argc, char* argv[])
Use this to declare a new broadcast command. To create a new broadcast command, add aDeclare-BroadcastCommand() line to the appropriate section of commands.h.
6.1.1.2 #define DefineBroadcastCommand(name)
Value:
void name##_BCAST(int argc, char* argv[]) {\Commander_Client::BroadcastCmd(#name, argc, argv);\
}\void name##_FN(int argc, char* argv[])
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
6.1 Client 17
Define the functionality of the broadcase command This macro will create all the functions necessary for anew broadcast command To use it, add code like the following to commands.cpp:.
DefineBroadcastCommand(MyCommand){ code block}
In the code block, two variables are already defined for you, int argc and char∗ argv[] These work as you’dexpect.
6.1.1.3 #define DefineServerCommand(name)
Value:
void name##_SRVR(int argc, char* argv[]) {\Commander_Client::ServerCmd(#name, argc, argv);\
}\void name##_FN(int argc, char* argv[])
Define the functionality of the server command This macro will create all the functions necessary for a newserver command To use it, add code like the following to commands.cpp:.
DefineServerCommand(MyCommand){ code block}
In the code block, two variables are already defined for you, int argc and char∗ argv[] These work as you’dexpect.
6.1.1.4 #define DefineSimpleCommand(name) void name##FN(int argc, char∗ argv[ ])
Define the functionality of the simple command This macro will create all the functions necessary for anew simple command To use it, add code like the following to commands.cpp:.
DefineSimpleCommand(MyCommand){ code block}
In the code block, two variables are already defined for you, int argc and char∗ argv[] These work as you’dexpect.
6.1.1.5 #define RegisterBroadcastCommand(name)
Value:
g_pLTClient->RegisterConsoleProgram(#name, name##_BCAST); \Commander_Client::bcast_fns[#name] = name##_FN
Tells the engine about a new broadcast command Add this macro to the appropriate section in the Register-Commands function (defined in Commands.cpp). This will tell the system about the new command youcreated.
6.1.2 Enumeration Type Documentation
6.1.2.1 enum EPlayerState
EPlayerState is the movement and physics mode for the player. The enums are:
PLS SPECTATOR: Normal mode, collision detection is enabled and so is deceleration PLS-SPECTATORNOSLIDE: Collision detection is still enabled, but deceleration is instantaneous PLS-SPECTATORNOCLIP: Collision detection is off, deceleration is instantaneous PLSREMOTE -CONTROL: All user input is deactivated. Use this before attaching the player to a socket PLSORBIT:
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
18 MasterMotion Module Documentation
The camera orbits around the player. On entering this mode, the camera is held in place and the playerobject is moved forward to the location of the first solid object in the world. When leaving this mode, thereverse happens. So when you enter PLSORBIT mode, you begin by orbiting whatever is in the center ofthe camera’s view.
6.1.3 Variable Documentation
6.1.3.1 const char gaszGameTypes[GTNUM TYPES][16]
Initial value:
{"FFA DM","CTF","UNITY vs HARM"
}
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
6.2 Common 19
6.2 Common
Compounds
• classCTextStream
• classDataConnection
• classRealTimeBody
• classRealTimeConnection
• classRealTimeSubject
Defines
• #define AFX REALTIMEBODY H D9C6D9F7C7D8 42998E61 BC87F1E622CA -INCLUDED
• #defineAFX REALTIMECONNECTION H 8C0364F03291434E 824F 8D9DF1AE2970 -INCLUDED
• #define AFX REALTIMEMODEL H 33F60BBB02984BEE B11C 51D13A478067 -INCLUDED
• #defineTEXT STREAM BUFFER SIZE 256
Enumerations
• enumECommandID {CMD MOVE FORWARD = 1,CMD MOVE BACKWARD = 2,CMD -MOVE LEFT = 3, CMD MOVE RIGHT = 4, CMD MOVE UP = 5, CMD MOVE DOWN =6, CMD ROLL LEFT = 11,CMD ROLL RIGHT = 12,CMD YAW LEFT = 13,CMD YAW -RIGHT = 14,CMD PITCH UP = 15,CMD PITCH DOWN = 16,CMD RESET VIEW = 17,CMD FIRST ACTION = 30,CMD ACTION1 = 30,CMD ACTION2 = 31,CMD ACTION3 =32,CMD ACTION4 = 33,CMD LAST ACTION = 33,CMD FILE PLAY = 34,CMD FILE -STOP= 35,CMD FILE PAUSE= 36,CMD FILE FASTER = 37,CMD FILE SLOWER = 38,CMD FILE NEXTFRAME = 39,CMD FILE LASTFRAME = 40,CMD FILE FULLSPEED= 41,CMD SPECIAL1 = 50,CMD SPECIAL2 = 51,CMD MOUSE BUTTON0 = 70,CMD -MOUSE BUTTON1 = 71, CMD MOUSE BUTTON2 = 72, CMD CYCLE PLAYER STATE= 80, CMD CYCLE CAMERA STATE = 81, CMD ADD PLAYER = 82, CMD REMOVE -PLAYER = 83, CMD TOGGLE MENU = 90, CMD TOGGLE RECORDING = 100,CMD -MACRO BEGIN = 101, CMD MACRO END = 200, CMD EXPERIMENT 1 = 201, CMD -EXPERIMENT 2 = 202, CMD EXPERIMENT 3 = 203, CMD EXPERIMENT 4 = 204,CMD EXPERIMENT 5 = 205,CMD EXPERIMENT 6 = 206,CMD EXPERIMENT 7 = 207,CMD EXPERIMENT 8 = 208, CMD EXPERIMENT 9 = 209, CMD NUDGE CW = 210,CMD NUDGE CCW = 211,CMD QUIT = 250}
• enum EDCError { DC OK = 0, DC ERROR, DC CONNECT, DC DISABLED , DC -INVALIDMODE , DC DUPLICATESUBJECT , DC NOSUCHSUBJECT}
• enum EMessageID { MSG STARTPOINT ROT = 1, MSG CMD SERVER, MSG CMD -BROADCAST, MSG CMD SAULSUBSCRIBE, MSG CSO INIT , MSG CSO UPDATE,MSG OBS UPDATE, MSG COG ACTIVATE , MSG COG DEACTIVATE , MSG BC -ACTIVATE , MSG BC DEACTIVATE , MSG DUI ACTIVATE , MSG DUI DEACTIVATE}
• enumObserverID { OBS BASE, OBS SIMPLE LIMB ERROR, OBS AVG LIMB ERROR,OBS DP LIMB ERROR, OBS NUM IDS, BODYCOLOR OBSERVER IDS = 19000,COG -OBSERVER IDS = 21000,DISTUI OBSERVER IDS = 22000}
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
20 MasterMotion Module Documentation
Functions
• DEFINE distr classGUID (CPlayerClnt, 0x3506d0d3, 0x33a2, 0x4a33, 0x83, 0xb9, 0xfd, 0x8d,0x4b, 0xe0, 0x40, 0x8f)
• const char∗ LTRESULT TO STRING (LTRESULT x)• const char∗ LTEVENT TO STRING (uint32 x)• const char∗ MESSAGEID TO STRING (uint8 x)• const char∗ COMMANDID TO STRING (int x)• floatg GetRandom(float min, float max)• floatg MapJoyDeadZone(uint8 in)• LTRESULTVerifySharedInterfaces ()
Variables
• ILTServer∗ g pLTCSBase
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
6.3 Server 21
6.3 Server
Compounds
• classAvgLimbError• classBodyColor• classCClientConnSrvr• classClientSideObjectSrvr• classCoGObserver• classCommanderServer• classCPlayerSrvr• classCWorldModel• classCWorldPropPlugin• classCWorldPropSrvr• classDataWriter• classDistUIObserver• classDPLimbError• classLimbError• classMasterMotionServer• classMeasurement• classObserver
Observers watch the state of the system Observers will watch the state of the Server and can report to theclient (via the Send method) what they observed. Examples of use could be: For creating user interfaces byobserving real-time behavior, for adding annotation to the motions that users are performing, or monitoringthe state of objects in the world.
• classObserverManager• classPeriodicObserver• classRealTimeServerConnection• classSimpleLimbError• classStartPoint• classStupidObserver
Defines
• #define AFX AVGLIMBERROR H 5B6755201CD6 4E44 B3DA DA400633DD58 -INCLUDED
• #define AFX BODYCOLOR H 08DDA413F185 45A2 8F99 D994A2C6EE44 -INCLUDED
• #define AFX CLIENTSIDEOBJECT SRVR H A86AFCFA 2684491E B8E2 -B996B999CFF1 INCLUDED
• #define AFX COMMANDER H 56ED1DEB 295F 4542B2EB ECDBB229D936 -INCLUDED
• #defineDeclareServerCommand(name) void name##SRVR(int argc, char∗ argv[ ]);
Declares a new server command This should be placed in the SShellCommands.hfile for each new com-mand that can be run server-side.
• #defineDefineServerCommand(name) void name##SRVR(int argc, char∗ argv[ ])
Defines a new server command A code block should follow this macro, defining the operation of the com-mand.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
22 MasterMotion Module Documentation
• #defineRegisterServerCommand(name) CommanderServer::serverfns[#name] = name##SRVR;
Registers a ServerCommand with the engine This should be called from the RegisterCommands function incommands.h.
• #define AFX DISTUIOBSERVER H D870B231B8B7 479D B65C BD79A0898065 -INCLUDED
• #define AFX DPLIMBERROR H 6E4C0BE788744471876C 4B72752003AE -INCLUDED
• #define AFX LIMBERROR H 8D1FDA2D EE9F 4FFC BEB8 3306923B711C -INCLUDED
• #defineMAX CLIENTS 32• #define AFX MEASUREMENT H 0ACC6EA2 88534A52 8DA2 B535781F1DAA -
INCLUDED• #define AFX OBSERVER H 9B8DC9D4437D 458C BB4C BCC7AA4AAABD -
INCLUDED• #define AFX OBSERVERMANAGER H 0D0D607774354CEE B7FC 2D7DA30424C3 -
INCLUDED• #define AFX REALTIMESERVERCONNECTION H E689E3EF4C3D 45678946 -
92C92F51FAD1 INCLUDED• #define AFX SIMPLELIMBERROR H F3F79982A8FF 433F B5CA 1C3DA8F1DCB2 -
INCLUDED• #define AFX STUPIDOBSERVER H 6118D4E9F658 4F71 A585 875CFEE2E11E -
INCLUDED
Typedefs
• typedef map< const void∗, vector< Observer∗> > ObserverMap
Enumerations
• enumEGameType{ GT FFA DM = 0, GT CTF, GT UNITY vs HARM , GT NUM TYPES }
Functions
• void RegisterCommands()• DeclareServerCommand(TestServer)• DeclareServerCommand(HideObj)• DeclareServerCommand(ShowObj)• DeclareServerCommand(MoveObj)• DeclareServerCommand(RotateObj)• DeclareServerCommand(ListObjs)• DeclareServerCommand(ConnectSaul)• DeclareServerCommand(PingSaul)• DeclareServerCommand(AddFilterSaul)• DeclareServerCommand(UnSubscribeSaul)• DeclareServerCommand(WriteData)• DeclareServerCommand(DeactivateCoG)• LTRESULTVerifyServerInterfaces ()• LTRESULTRegisterServerObjFactories()
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
6.3 Server 23
Variables
• const intmaxError = 100000000• MasterMotionServer∗ g pSShell• ObserverManager∗ g ObserverManager• const uint8SRVR EVENT ENGINE INIT = 0• const uint8SRVR EVENT PHYSICS UPDATE = 1• const uint8SRVR EVENT UPDATE = 2• const uint8SRVR EVENT ENGINE TERM = 3• const uint8SRVR EVENT PRE START WORLD = 4• const uint8SRVR EVENT POST START WORLD = 5• const uint8SRVR EVENT OBJ CREATED = 6• ILTCommon∗ g pLTSCommon• ILTPhysics∗ g pLTSPhysics• ILTModel ∗ g pLTSModel• ILTSoundMgr∗ g pLTSSoundMgr• ILTCollisionMgr ∗ g pLTSCollisionMgr• const charg aszGameTypes[GT NUM TYPES][16]
6.3.1 Define Documentation
6.3.1.1 #define DefineServerCommand(name) void name##SRVR(int argc, char∗ argv[ ])
Defines a new server command A code block should follow this macro, defining the operation of thecommand.
DefineServerCommand(name){ code goes here}
In the code block, the user has access to an int argc and char∗ argv[] which work in the usual way
6.3.2 Variable Documentation
6.3.2.1 const char gaszGameTypes[GTNUM TYPES][16]
Initial value:
{"FFA DM","CTF","UNITY vs HARM"
}
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
24 MasterMotion Module Documentation
6.4 Utilities
Compounds
• classQuaternion• classTimer• classTrigLUT• classVector3
Typedefs
• typedef charint8• typedef unsigned charuint8• typedef shortint16• typedef unsigned shortuint16• typedef longint32• typedef unsigned intuint32
Functions
• QuaternionAAToQuat (Vector3v)• Vector3QuatToAA (Quaternionq)• bool IsSplitChar (char c, char sep)• vector< string> Split (const string &s, char sep=’\0’)• Quaternionoperator∼ () const• Quaternionoperator- () const• Quaternionoperator+ (constQuaternion&q) const• Quaternionoperator- (constQuaternion&q) const• Quaternionoperator ∗ (float f) const• Quaternionoperator ∗ (constQuaternion&q) const• Quaternionoperator/ (float f) const• Quaternionoperator/ (constQuaternion&q) const• constQuaternion& operator+= (constQuaternion&q)• constQuaternion& operator-= (constQuaternion&q)• constQuaternion& operator ∗= (constQuaternion&q)• constQuaternion& operator/= (constQuaternion&q)• float len () const• float len2 () const• Quaternionnormal () const• floatnormalize ()• floatsinf (float) const• Vector3& set(float x, float y, float z)• Vector3operator+ (constVector3&v) const• Vector3operator- (constVector3&v) const• constVector3& operator+= (constVector3&v)• constVector3& operator-= (constVector3&v)• Vector3operator- () const• Vector3operator ∗ (float f) const• Vector3operator| (constVector3&v) const
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
6.4 Utilities 25
• Vector3operator ∗ (constVector3&v) const• constVector3& operator|= (constVector3&v)• float len2 () const• float len () const• Vector3normal () const• floatnormalize ()• constVector3& operator ∗= (constVector3&v)• floatdot (constVector3&v) const
Variables
• const floatpi = 3.141592653589f• const floatDEG TO RAD = pi / 180.0• const floatRAD TO DEG = 180.0 / pi
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
26 MasterMotion Module Documentation
6.5 Saul
Markerclass definition. Header file forMarker, representation of Vicon marker data.
Compounds
• classBody
A representation of a Vicon ”Body” - or a skeletal node in LT.
• structCompBody
Will be used in state vector compression.
• classFileWriter
A simpleSaulfilter.
• classFilter
Base class for all filter types.
• classFilterFactory
Abstract factory class for creatingSaulFilter objects.
• classFilterManager
Filter Manager Class.
• classFilterState
A Base Class for all filter-specific state information.
• classKalman
A class for a Discrete Kalman filter.
• classKalmanFrame
A class to maintain the information for one frame of data.
• classKalmanState
A class to maintain state data for the DiscreteKalmanFilter class.
• classLithtechXformFilter
Converts data from Vicon- to Lithtech coordinates.
• classLowPass
A class for a simple damping filter.
• classLowPassState
A class to maintain state data for theLowPassFilter class.
• classMarker
Class Marker represents Vicon Marker data.
• classSaul
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
6.5 Saul 27
class Saul is our Filtering Beast.
• classSender
class Sender sends data via UDP to a client.
• classSimpleFilterFactory
The favorite factory class for creatingSaulFilter objects.
• classTarsus
class Tarsus talks to a running real-time server via TCP/IP.
Enumerations
• enum ETarsusError { TE OK = 0, TE CONNECT, TE DUPLICATENODE , TE -NOSUCHNODE, TE DISABLED }
An enum for error codes.
• enumEType{ ERequest, EReply }An enum forTarsusmessage types.
• enumEPacket{ EClose, EInfo , EData, EStreamOn, EStreamOff }Used with EType to specify message type.
Functions
• bool findStr(const char∗dst, const char∗ost)
Determin whether two strings are identical.
• Vector3logQuaternion(Quaternionq)
The log operation on the quaternion, transform it to a 3D vector.
• QuaternionexpQuaternion(Vector3v)
The exp operation on the vector, transforms it to a unit quaternion.
• Vector3Calculate(Vector3y vec, SMLXMatrix sysMatrix, SMLXMatrix meaMatrix, SMLXMatrixsysCov, SMLXMatrix meaCov, SMLXMatrix∗x, SMLXMatrix ∗v, Vector3∗velocity, int initial)
The core calculation part of theKalmanfilter.
• void Compress(CompBody&dest) const
Compress the body data.
• void Uncompress(constCompBody&src)
Uncompress the body data once it arrives at the LT client.
6.5.1 Detailed Description
Markerclass definition. Header file forMarker, representation of Vicon marker data.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
28 MasterMotion Module Documentation
6.5.2 Function Documentation
6.5.2.1 Vector3 Calculate (Vector3 y vec, SMLXMatrix sysMatrix, SMLXMatrix meaMatrix,SMLXMatrix sysCov, SMLXMatrix meaCov, SMLXMatrix ∗ x, SMLXMatrix ∗ v, Vector3∗ velocity, int initial )
The core calculation part of theKalmanfilter.
Parameters:y vec States to be filtered
sysMatrix System matrix
meaMatrix Measurementmatrix
sysCovSystem covariance matrix
meaCovMeasurementcovariance matrix
x Initial states
v Initial velocity states
velocity New velocity states to be recorded for next cycle.
initial Initialized flag. initialized == 1
Returns:New states
6.5.2.2 bool findStr (const char∗ dst, const char∗ ost)
Determin whether two strings are identical.
Parameters:dst First string\prarm∗ost Second string
Returns:True if two strings are identical, otherwise False
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
Chapter 7
MasterMotion Class Documentation
7.1 AvgLimbError Class Reference
#include <AvgLimbError.h >
Inheritance diagram for AvgLimbError:
Collaboration diagram for AvgLimbError:
Public Methods
• AvgLimbError ()
• virtual∼AvgLimbError ()
• void Configure(int argc, char∗argv[ ])
Called when the observer needs configuration parameters, often from the console.
• void Measure()
• int GetUID ()
Returns a unique ID for this class.
7.1.1 Detailed Description
Average Limb ErrorMeasurementThis class extendsLimbError to measure running averages for eachlimb’s error over the past n frames.
30 MasterMotion Class Documentation
7.1.2 Member Function Documentation
7.1.2.1 void AvgLimbError::Measure () [virtual]
This measurement technique is slightly different from the one described in the siggraph paper. The dif-ference is that in the siggraph paper we summed the distance errors for each bone, and here we sum thesquared distance errors. This saves us from some sqrts and also exaggerates larger errors, which could bea good thing.
Reimplemented fromLimbError.
The documentation for this class was generated from the following files:
• AvgLimbError.h• AvgLimbError.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.2 Body Class Reference 31
7.2 Body Class Reference
A representation of a Vicon ”Body” - or a skeletal node in LT.
#include <Body.h >
Collaboration diagram for Body:
Public Methods
• Body ()
Ctor cof Body.
• virtual∼Body ()
Destructor.
• void Compress(CompBody&dest) const
Compress the body data.
• void Uncompress(constCompBody&src)
Uncompress the body data once it arrives at the LT client.
Public Attributes
• int offset
Offset is the index into the channeldata vector (data fromTarsus) where this body’s data begins.
• Vector3position
Position of the body in 3D.
• Quaternionrotation
3D orientation of the body.
• stringname
name of the body (pelvis, head, thorax...).
• vector< Marker∗> markers
The markers that define this body. Not used for anything at this time.
7.2.1 Detailed Description
A representation of a Vicon ”Body” - or a skeletal node in LT.
Each body has an associated position and rotation, as well as a name. position and orientation data areupdated byTarsus::Update() /saFilter, FilterState, Marker, Saul, Tarsus
The documentation for this class was generated from the following files:
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
32 MasterMotion Class Documentation
• Body.h• Body.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.3 BodyColor Class Reference 33
7.3 BodyColor Class Reference
#include <BodyColor.h >
Inheritance diagram for BodyColor:
Collaboration diagram for BodyColor:
Public Types
• enumLimb { LEFT ARM , RIGHT ARM , LEFT LEG , RIGHT LEG , CONFIGURE , NONE}
• enumLimb { LEFT ARM , RIGHT ARM , LEFT LEG , RIGHT LEG , CONFIGURE , NONE}
Public Methods
• BodyColor ()
• virtual∼BodyColor ()
• void Update(ILTMessage∗msg)
• void Draw()
• virtual int GetUID ()
• BodyColor ()
• virtual∼BodyColor ()
• void Update()
Called when theObserverManagerdecides that the object needs to be updated.
• void Configure(int argc, char∗argv[ ])
Called when the observer needs configuration parameters, often from the console.
• int GetUID ()
Public Attributes
• doubledeltaThreshold• doubleminErrorThreshold• doublelastLeftArm• doublelastRightArm• doublelastLeftLeg• doublelastRightLeg• LimbError∗ errorMeasure• vector< string> subjectList
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
34 MasterMotion Class Documentation
7.3.1 Detailed Description
BodyColor responder is our responder for changing body coloration on the fly depending on the user’slevel of error. It takes a message regarding which body part to color, and calls the SetTexture commandline function. The Draw call is a noop
7.3.2 Member Function Documentation
7.3.2.1 void BodyColor::Draw () [virtual]
Called once per frame. Once the cameras have drawn themselves.
Reimplemented fromResponder.
7.3.2.2 void BodyColor::Update (ILTMessage∗ msg) [virtual]
Called whenever a message comes in from an observer (specifically the observer with the matching UID
Reimplemented fromResponder.
The documentation for this class was generated from the following files:
• cshell/src/BodyColor.h• sshell/src/BodyColor.h• cshell/src/BodyColor.cpp• sshell/src/BodyColor.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.4 CCamera Class Reference 35
7.4 CCamera Class Reference
#include <camera.h >
Public Methods
• CCamera ()• virtual∼CCamera ()• void Init (ECameraViewportTypeeType=CAMV FULLSCREEN)• void Term ()• LTRESULTCreateCamera()• void OnCommandOn (int32 command, uint32 nActCmd)• void OnCommandOff (int32 command, uint32 nActCmd)• LTRESULTUpdate (float fFrameTime)• HLOCALOBJGetCameraHandle()• void SetRotation(LTOrientation oRot)• LTOrientationGetRotation ()• LTVector3fGetPosition()• floatGetZOffset()
Get/Set a Z offset from the object to which this camera is attached.
• void SetZOffset(float z)• void SetAspect(ECameraAspectAspect)• uint32GetAspect()• void CycleAspect()• void SetCameraViewport(uint32 nPosition)
Sets the viewport for this camera as a fraction of the screen.
• LTRESULTRender ()• void SetSyncObject(HLOCALOBJ hObject)
The SyncObject functions attach the camera to an object.
• HLOCALOBJGetSyncObject()• void SetSyncRotation(bool bSR=true)• boolGetSyncRotation()
Protected Methods
• void UpdateAspect()
Calculate the vertical field of view based on the # pixels, mfFovX, and meAspect.
Protected Attributes
• HLOCALOBJm hCamera• uint32m eAspect• floatm fFovX• HLOCALOBJm hSyncObject• boolm bSyncRotation• floatm zOffset
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
36 MasterMotion Class Documentation
7.4.1 Detailed Description
The CCamera class is a minor modification of the standard lithtech CCamera class. We added a fewfunctions for handling: Z Offset (for ”Orbit Cam”) and switching aspect ratios
Important methods:
Render() - draws stuff Set/Get/CycleAspect() - changes the aspect ratio Get/SetZOffset() - adds a Z Offset,used for the orbit mode. Normally the camera object is exactly synchronized with the player object, butyou can add a z offset to enable the camera to ”orbit” around the player object.
7.4.2 Member Function Documentation
7.4.2.1 float CCamera::GetZOffset () [inline]
Get/Set a Z offset from the object to which this camera is attached.
The ZOffset is an amount the camera moves back along the Z axis relative to the object it is attached to.This is used to implement orbiting. By moving the camera backwards, it appears as if the camera is orbitingabout the location of the attached object.
7.4.2.2 void CCamera::SetCameraViewport (uint32nPosition)
Sets the viewport for this camera as a fraction of the screen.
This one is a little complicated. nPosition is a base-10 number where the digits represent subscreens.
Lets look at the simple case, where nPosition is one of the ECameraViewportType enums. In this case,the camera will take only that specified portion of the screen. So if the argument is CAMVQUARTER -BOTTOMLEFT, the viewport will fill the rectangle from the bottom left of the screen to the center.
With more than one digit, here’s how it works: The least significant digit is used as an ECameraViewport-Type to find some subset of the screen. The next least significan digit is then used to subset that subsetetc...
So to put two viewports in the bottom left quarter of the screen, you could use cam1->SetCamera-Viewport(10∗ CAMV HORIZONTAL BOTTOM + CAMV QUARTER BOTTOMLEFT); cam2->Set-CameraViewport(10∗ CAMV HORIZONTAL TOP + CAMV QUARTER BOTTOMLEFT);
7.4.2.3 void CCamera::SetSyncObject (HLOCALOBJhObject) [inline]
The SyncObject functions attach the camera to an object.
Normally the camera should be attached to aCPlayerClntobject
The documentation for this class was generated from the following files:
• camera.h• camera.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.5 CClientConnClnt Class Reference 37
7.5 CClientConnClnt Class Reference
#include <clientconnclnt.h >
Public Methods
• CClientConnClnt ()• virtual∼CClientConnClnt ()• distr class(CClientConnClnt)• virtual voidRemotePositionUpdate(LTVector3f &newPosition)• virtual voidRemoteRotationUpdate(LTOrientation &newOrientation)• virtual voidRemoteVelocityUpdate(LTVector3f &newVelocity)• virtual voidRemoteAngularVelocityUpdate(LTVector3f &newAngVelocity)• void Init ()• void OnCommandOn (int32 command, uint32 nActCmd)• void OnCommandOff (int32 command, uint32 nActCmd)• LTRESULTHandleInput ()• LTRESULTUpdate (float fFrameTime)• void SetRotation(LTOrientation oRot)• int32GetClientID ()• void CallbackClientID (const uint32 &nOldVal)• void AddPlayer ()• void RemovePlayer()
Protected Methods
• distr callback fn (CClientConnClnt, uint32, mnClientID, CallbackClientID)• distr uint32 callback (m nClientID, AVITEM REG, 11, 0)• distr uint32 (m nPlayers, AVITEMREG, 10, 0)
Protected Attributes
• boolm bFirstUpdate
7.5.1 Detailed Description
This is the Client side version of an object through which all client<->server communication is to beencapsulated. We decided not to use this.
The documentation for this class was generated from the following files:
• clientconnclnt.h• clientconnclnt.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
38 MasterMotion Class Documentation
7.6 CClientConnSrvr Class Reference
#include <clientconnsrvr.h >
Collaboration diagram for CClientConnSrvr:
Public Methods
• CClientConnSrvr ()• virtual∼CClientConnSrvr ()• distr class(CClientConnSrvr)• uint32EngineMessageFn(uint32 messageID, void∗pData, float fData)• uint32ObjectMessageFn(HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead)• virtual voidRemotePositionUpdate(LTVector3f &newPosition)• virtual voidRemoteRotationUpdate(LTOrientation &newOrientation)• virtual voidRemoteVelocityUpdate(LTVector3f &newVelocity)• virtual voidRemoteAngularVelocityUpdate(LTVector3f &newAngVelocity)• void SetClient (HCLIENT hClient)• void OnClientMessage(uint8 messageID, ILTMessage∗pMessage)
Protected Methods
• uint32PreCreate(void ∗pData, float fData)• void ObjectCreated ()• void Update ()• void GetForceUpdateObjects(ForceUpdate∗pForceUpdate)• BaseClass∗ AddPlayer ()• void FirstUpdate ()• void CallbackPlayers(const uint32 &nOldVal)• distr callback fn (CClientConnSrvr, uint32, mnPlayers, CallbackPlayers)• distr uint32 callback (m nPlayers, AVITEMREG, 10, 0)• distr uint32 (m nClientID, AVITEM REG, 11, 0)
Protected Attributes
• boolm bFirstUpdate• HCLIENT m hClient• CPlayerSrvr∗ m pPlayers[MAX CLIENT PLAYERS]
7.6.1 Detailed Description
This class is presumably an access point for client<->server communication. We don’t use this.
The documentation for this class was generated from the following files:
• clientconnsrvr.h• clientconnsrvr.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.7 ClientSideObject Class Reference 39
7.7 ClientSideObject Class Reference
#include <ClientSideObject.h >
Collaboration diagram for ClientSideObject:
Public Methods
• ClientSideObject ()• virtual∼ClientSideObject ()• void Create (ILTMessage∗msg)• void Update (ILTMessage∗msg)• void Term ()• void BuildNodeMap()• void NodeControl(HMODELNODE hNode, LTMatrix∗pMat)
The object method version of NodeControlFunction.
• void SetSubjectName(char∗name)
This determines which subject (coming fromSaul) this CSO should get data from.
• void SetRootBody(char∗name)• HOBJECTgetHandle()• char∗ getName()• int getGUID ()• void SetRenderStyle(const string &s)• void SetTexture (const string &tex1, const string &tex2=””, const string &tex3=””, const string
&tex4=””)
Static Public Methods
• void NodeControlFunction(HOBJECT hObj, HMODELNODE hNode, LTMatrix∗pMat, void∗p-UserData)
Calls ClientSideObject::NodeControl.
7.7.1 Detailed Description
The ClientSideObject class is the object used to represent any object which should be controlled client siderather than server side. Specifically, any object which gets mocap data applied to it should be a ClientSide-Object or a subclass.
ClientSideObjects are created in DEdit and virtually all of the information specified there is transmitted toall clients when the object is created
Owns: nothing
References:RealTimeSubject
Important bits:
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
40 MasterMotion Class Documentation
NodeControl() - this function takes an HMODELNODE and a matrix, and allows the user to change thematrix in any way. In this class, the HMODELNODE is used as a key for the nodemap, which will get datafrom theRealTimeSubject
BuildNodeMap() - creates a map from node numbers (HMODELNODEs) to indices in theRealTime-Subject
SetSubjectName() - name of theRealTimeSubjectthat this CSO should use SetRootNode() - rename theroot node because LithTech unnames it for some reason, and you need the name to search in the list ofbodies for that subject.
7.7.2 Member Function Documentation
7.7.2.1 void ClientSideObject::BuildNodeMap ()
Creates a map from node number to vector indices in theRealTimeSubject. This should only be calledafter SetSubjectName and SetRootBody
7.7.2.2 void ClientSideObject::NodeControl (HMODELNODE hNode, LTMatrix ∗ pMat)
The object method version of NodeControlFunction.
Given a node handle and the engine’s initial guess as to a transformation matrix, this function updates thematrix to apply motion capture data
7.7.2.3 void ClientSideObject::SetRootBody (char∗ s)
Due to a bug in lithtech, the name of the root node is not available in engine. This will specify whichbody’s data should be applied to the root node
The documentation for this class was generated from the following files:
• ClientSideObject.h• ClientSideObject.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.8 ClientSideObjectSrvr Class Reference 41
7.8 ClientSideObjectSrvr Class Reference
#include <ClientSideObject Srvr.h >
Public Methods
• ClientSideObject Srvr ()• virtual∼ClientSideObject Srvr ()• void InitCSO (HCLIENT hClient)• void UpdateCSO()
Public Attributes
• charname[MAX CS FILENAME LEN+1]• charsubjectName[MAX CS FILENAME LEN+1]• charmodelName[MAX CS FILENAME LEN+1]• chartexNames[MM MAX TEXTURES][MAX CS FILENAME LEN+1]• charrsNames[MM MAX RENDERSTYLES][MAX CS FILENAME LEN+1]• LTVector3fpos• LTVector3fscale• LTOrientationrot• boolmirror• uint32flags• uint32flags2• uint32csoGuid
Static Public Attributes
• int baseCSOGUID= 0
7.8.1 Detailed Description
This class is just here to send data to theClientSideObjecton initialization
The documentation for this class was generated from the following files:
• ClientSideObjectSrvr.h• ClientSideObjectSrvr.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
42 MasterMotion Class Documentation
7.9 CoGObserver Class Reference
#include <CoGObserver.h >
Inheritance diagram for CoGObserver:
Collaboration diagram for CoGObserver:
Public Methods
• CoGObserver()• virtual∼CoGObserver()• virtual voidConfigure (string M, string S)• virtual voidConfigure(int argc, char∗argv[ ])
Called when the observer needs configuration parameters, often from the console.
• virtual voidUpdate()
Called when theObserverManagerdecides that the object needs to be updated.
• virtual int GetUID ()
Returns a unique ID for this class.
7.9.1 Detailed Description
Observers a student and master’s centers of gravity.
The center of gravity is defined here as a float from 0 to 1, (0 is left, 1 is right), where the float is derivedby projecting the pelvis point onto the vector between the feet.
Message Format:
• Master - Float• Student - Float
The documentation for this class was generated from the following files:
• CoGObserver.h• CoGObserver.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.10 CoGResponder Class Reference 43
7.10 CoGResponder Class Reference
#include <CoGResponder.h >
Inheritance diagram for CoGResponder:
Collaboration diagram for CoGResponder:
Public Methods
• CoGResponder()• virtual∼CoGResponder()• virtual voidUpdate(ILTMessage∗msg)• virtual voidDraw()• virtual int GetUID ()
7.10.1 Detailed Description
CoGResponder is responsible for drawing the Center of Gravity display on the client’s HUD. Based on thetwo numbers (master and student position) it will draw circles along a line between two foot icons.
7.10.2 Member Function Documentation
7.10.2.1 void CoGResponder::Draw () [virtual]
Called once per frame. Once the cameras have drawn themselves.
Reimplemented fromResponder.
7.10.2.2 void CoGResponder::Update (ILTMessage∗ msg) [virtual]
Called whenever a message comes in from an observer (specifically the observer with the matching UID
Reimplemented fromResponder.
The documentation for this class was generated from the following files:
• CoGResponder.h• CoGResponder.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
44 MasterMotion Class Documentation
7.11 CommanderClient Class Reference
#include <Commander.h >
Static Public Methods
• void BroadcastCmd(char∗fnName, int argc, char∗argv[ ])• void ServerCmd (char∗fnName, int argc, char∗argv[ ])• void CallBcastFn (ILTMessage∗msg)• void CallBcastFn (char∗fnName, int argc, char∗argv[ ])
Static Public Attributes
• map< string, ConsoleProgramFn> bcast fns
7.11.1 Detailed Description
CommanderClient will generally not need to be accessed by the user. It is simply used to contain a fewfunctions used to support broadcast and server commands.
When a BroadcastCommand named MyCommand gets called, here is what really happens
Then engine sees the string ”MyCommand” on the console line. This maps to a function called My-CommandBCAST. This function simply calls CommanderClient::BroadcastCommand(”MyCommand”,argc, argv).
CommanderClient::BroadcastCommand then creates an ILTMessage to send to the server (with a messagetype of MSGCMD BROADCAST, and payload containing the function name (”MyCommand”) and theargument list. The server then forwards this message to all clients.
When a client receives a command of type MSGCMD BROADCAST, it removes the first string from thepayload and uses this to look up the appropriate function in CommanderClient::bcastfns. This functionis the one the user wrote in the code block following theDefineBroadcastCommand(MyCommand) macro,and the function is named MyCommandFN. Once the right function is found it is executed with thearguments in the message.
ServerCommands are similar, except that rather than forwarding the message to all clients, the server looksup the command name in its own set of ServerCommands, and executes the function server side.
The documentation for this class was generated from the following files:
• cshell/src/Commander.h• cshell/src/Commander.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.12 CommanderServer Class Reference 45
7.12 CommanderServer Class Reference
#include <Commander.h >
Static Public Methods
• void CallServerFn (ILTMessage∗msg)• void CallServerFn (char∗fnName, int argc, char∗argv[ ])
Static Public Attributes
• map< string, ConsoleProgramFn> server fns
7.12.1 Detailed Description
CommanderServer exists simply to contain a list of server-side commands. When a MSGCMD SERVERmessage is recieved by the server, the message is unpacked, the correct command name is then found andcalled.
The documentation for this class was generated from the following files:
• sshell/src/Commander.h• sshell/src/Commander.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
46 MasterMotion Class Documentation
7.13 CompBody Struct Reference
Will be used in state vector compression.
#include <Body.h >
Public Attributes
• uint16px• uint16py• uint16pz• uint16rx• uint16ry• uint16rz
7.13.1 Detailed Description
Will be used in state vector compression.
/todo Compress real-time data
The documentation for this struct was generated from the following files:
• Codec.h• Body.h
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.14 CPlayerClnt Class Reference 47
7.14 CPlayerClnt Class Reference
#include <playerclnt.h >
Collaboration diagram for CPlayerClnt:
Public Methods
• CPlayerClnt ()• virtual∼CPlayerClnt ()• distr class(CPlayerClnt)• virtual voidRemotePositionUpdate(LTVector3f &newPosition)• virtual voidRemoteRotationUpdate(LTOrientation &newOrientation)• virtual voidRemoteVelocityUpdate(LTVector3f &newVelocity)• virtual voidRemoteAngularVelocityUpdate(LTVector3f &newAngVelocity)• void Init ()• void OnCommandOn (int32 command, uint32 nActCmd)• void OnCommandOff (int32 command, uint32 nActCmd)• LTRESULTHandleInput ()• LTRESULTUpdate (float fFrameTime)• LTRESULTPhysicsUpdate(float fFrameTime)• void SetRotation(LTOrientation oRot)• void CycleState()• LTRESULTSetState(EPlayerStatestate, bool bForceInit=false)• uint32GetState()• void HandleStateChange()• CCamera∗ GetCamera()• uint32GetClientID ()• void CallbackClientID (const uint32 &nOldVal)• void AttachToSocket(HOBJECT obj, HMODELSOCKET sock)• void SetMaxVelocity(float v=-1.0)• floatGetMaxVelocity ()• void SetTurnSensitivity(float t)• floatGetTurnSensitivity ()
Protected Methods
• distr callback fn (CPlayerClnt, uint32, mClientID, CallbackClientID)• distr uint32 callback (m ClientID, AVITEM REG, 10, 0)
Protected Attributes
• uint32m eState• CCameram Camera• boolm bFirstUpdate• LTCollisionSphere∗ m pCollSphere• boolm bMoved
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
48 MasterMotion Class Documentation
• LTVector3fm vNewVel• floatm maxVel• float fTurnSensitivity• bool isAttachedToSocket• HOBJECTattachObj• HMODELSOCKETattachSock
7.14.1 Detailed Description
CPlayerClnt class is based on the standard Lithtech CPlayerClnt with a few additions.
Important stuff: Get/SetMaxVelocity - maximum vel. for movement Get/SetTurnSensitivity - max. turnrate
AttachToSocket - this object moves exactly in sync with the specified socket (used to attach camera to anobject)
7.14.2 Member Function Documentation
7.14.2.1 void CPlayerClnt::AttachToSocket (HOBJECTobj, HMODELSOCKET sock)
Attaches the player object to a socket on a model. Both position and orientation are controlled by the playerobject
7.14.2.2 void CPlayerClnt::SetMaxVelocity (floatv = -1.0) [inline]
Sets/Gets the maximum velocity that the player object can move at. This is mostly useful for creatingflybys
7.14.2.3 void CPlayerClnt::SetTurnSensitivity (floatt) [inline]
Sets/Gets the maximum turn rate (angular velocity) for the player object. Again this is mostly useful forcreating flybys
The documentation for this class was generated from the following files:
• playerclnt.h• playerclnt.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.15 CPlayerSrvr Class Reference 49
7.15 CPlayerSrvr Class Reference
#include <playersrvr.h >
Public Methods
• CPlayerSrvr ()• virtual∼CPlayerSrvr ()• distr class(CPlayerSrvr)• uint32EngineMessageFn(uint32 messageID, void∗pData, float fData)• uint32ObjectMessageFn(HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead)• virtual voidRemotePositionUpdate(LTVector3f &newPosition)• virtual voidRemoteRotationUpdate(LTOrientation &newOrientation)• virtual voidRemoteVelocityUpdate(LTVector3f &newVelocity)• virtual voidRemoteAngularVelocityUpdate(LTVector3f &newAngVelocity)• void SetClient (HCLIENT hClient)• void OnMessage(uint8 messageID, HMESSAGEREAD hMessage)
Protected Methods
• uint32PreCreate(void ∗pData, float fData)• void ObjectCreated ()• void Update ()• distr uint32 (m ClientID, AVITEM REG, 10, 0)
Protected Attributes
• HCLIENT m hClient
7.15.1 Detailed Description
The server-side player object. This has little functionality because the player in our system is simply aplace to attach the camera. Normally though, player interactions would go here, and the engine can readthe player’s position and orientation via this object
The documentation for this class was generated from the following files:
• playersrvr.h• playersrvr.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
50 MasterMotion Class Documentation
7.16 CTextStream Class Reference
#include <textstream.h >
Public Methods
• CTextStream ()• virtual∼CTextStream ()• LTRESULTOpen (char∗szFilename)• void Close()• LTRESULTSeekToSection(char∗szSection, bool &bFound)• LTRESULTReadLine (char∗pDest, const uint32 nSize)• LTRESULTReadVal (uint32∗pVal)• LTRESULT ReadStringList (char ∗szSection, char∗pDest, uint32 nMaxStrings, uint32 nMax-
Chars)
Protected Methods
• void TruncateWhitespace(char∗pBuffer)
Protected Attributes
• charm szFilename[255]• ILTStream∗ m pStream• uint32m iPos• charm Buffer [TEXT STREAM BUFFERSIZE]
7.16.1 Detailed Description
CTextStream reads LithTech created configuration files (which are similar to .ini files) Use SeekToSectionto jump to a particular section, and then use one of the Read methods to get at the data you want. Stringlists should be formatted as:
• 3 (number of strings)• Mr. T• MacGuyver• Michael Knight
The documentation for this class was generated from the following files:
• textstream.h• textstream.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.17 CWorldModel Class Reference 51
7.17 CWorldModel Class Reference
#include <worldmodel.h >
Public Methods
• CWorldModel ()• ∼CWorldModel ()• uint32EngineMessageFn(uint32 messageID, void∗pData, float fData)
7.17.1 Detailed Description
Lithtech class for models built in DEdit that can be dynamic
The documentation for this class was generated from the following files:
• worldmodel.h• worldmodel.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
52 MasterMotion Class Documentation
7.18 CWorldPropClnt Class Reference
#include <worldpropclnt.h >
Public Methods
• CWorldPropClnt ()• virtual∼CWorldPropClnt ()• distr class(CWorldPropClnt)• void Update ()• LTRGB GetBackgroundColor ()
7.18.1 Detailed Description
Sets a variety of client-side properties. This is used so that world defaults can be set in DEdit rather thanin code.
The documentation for this class was generated from the following files:
• worldpropclnt.h• worldpropclnt.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.19 CWorldPropPlugin Class Reference 53
7.19 CWorldPropPlugin Class Reference
#include <worldpropsrvr.h >
Public Methods
• virtual LTRESULT PreHook EditStringList (const char∗szRezPath, const char∗szPropName,char∗∗aszStrings, uint32∗pcStrings, const uint32 cMaxStrings, const uint32 cMaxStringLength)
7.19.1 Detailed Description
No idea.
The documentation for this class was generated from the following files:
• worldpropsrvr.h• worldpropsrvr.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
54 MasterMotion Class Documentation
7.20 CWorldPropSrvr Class Reference
#include <worldpropsrvr.h >
Public Methods
• CWorldPropSrvr ()• virtual∼CWorldPropSrvr ()• distr class(CWorldPropSrvr)• uint32EngineMessageFn(uint32 messageID, void∗pData, float fData)
7.20.1 Detailed Description
An object which contains some global settings for the world which can be set in DEdit rather than in code.
The documentation for this class was generated from the following files:
• worldpropsrvr.h• worldpropsrvr.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.21 DataConnection Class Reference 55
7.21 DataConnection Class Reference
#include <DataConnection.h >
Inheritance diagram for DataConnection:
Public Methods
• DataConnection()
Data Connection ctor.
• virtual∼DataConnection()
Data Connection destructor.
• virtual void Initialize (void ∗pData)
Initializes a Data Connection object with subclass-specific arguments.
• EDCErrorAddSubject(const string &name, const vector< RealTimeBody∗> &bodies, int offset,map< string, int> namemap)
Called internally to add a subject to a DataConnection.
• EDCErrorRemoveSubject(const string &name)
Called internally to remove a subject from a DataConnection.
• RealTimeSubject∗ GetSubject(int i)
accessor function for subjects in a DataConnection.
• RealTimeSubject∗ GetSubject(const string &name)
Get aRealTimeSubject∗ with the subject name.
• int GetNumSubjects()
Return num of subjects in the DataConnection.
• stringGetLastError()
Error reporting mechanism for debug.
• void Enable()
Enable the DataConnection to start updatingMasterMotionClient’s subject data.
• void Disable()
Disable the DataConnection to stop updatingMasterMotionClient’s subject data.
• bool IsEnabled()
Called to determine wether to updateMasterMotionClient’s subject data.
• virtual voidUpdate()=0
Subclasses must override this to Update subject data.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
56 MasterMotion Class Documentation
• virtual voidStartRecording(const string &filename)
deprecated.
• virtual voidStopRecording()
deprecated.
• virtual voidSetRecordLabel(int label=-1)
deprecated.
• virtual boolIsRecording()
deprecated.
• virtual EDCErrorPause()
Pause data from a file or other offline source.
• virtual EDCErrorPlay(int FrameNumber=0, bool absolute=false)
Play data from a file or other offline source from a specific frame number (if absolute==false frames arezero-indexed, otherwise they start with the specific value from the datafile.
• virtual EDCErrorSetSpeed(float framestep)
Set the playback speed for data from a file: number is a multiplier, where 1 is normal play, 2 is 2x, etc.
• virtual EDCErrorStop()
Stop data from a file or other offline source.
• virtual floatGetSpeed()
Get the playback speed for data from a file: number is a multiplier, where 1 is normal play, 2 is 2x, etc.
• virtual boolIsPlaying()
Call to determine if offline datasource is playing.
• virtual floatLastFrame()
What was the number of the last frame?
• virtual voidGoFrame(int framenum)
Go to a specific frame.
• virtual voidGoNextFrame()
Step forward by one frame.
• virtual voidGoPrevFrame()
Step backward by one frame.
Protected Attributes
• string lastError• boolbEnabled• vector< RealTimeSubject∗> subjects• float lastFrame• int recordLabel
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.21 DataConnection Class Reference 57
7.21.1 Detailed Description
DataConnection is an abstract class that bothFileConnectionandRealTimeConnectionderive from. Thisallows us to either read real time data from the network or from a file with the same interface.
Owns: vector of RealTimeSubjects
Important stuff: The ”Recording” functions are really only implemented byRealTimeConnection, but needto be provided here.
Pause, Play, etc. are only implemented byFileConnection, but likewise need to be defined here
The documentation for this class was generated from the following files:
• DataConnection.h• DataConnection.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
58 MasterMotion Class Documentation
7.22 DataWriter Class Reference
#include <DataWriter.h >
Public Methods
• DataWriter (const string &master, const string &student, SOCKET SaulSock, const string &title-Base)
• ∼DataWriter ()• void Update ()• bool IsEnabled ()
Static Public Methods
• void ResetLognum()
Static Public Attributes
• int lognum = 1
7.22.1 Detailed Description
Writes data out to a file. This is used instead of theDataConnectionrecording because this can record bothmaster and student.
The documentation for this class was generated from the following files:
• DataWriter.h• DataWriter.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.23 DistUIObserver Class Reference 59
7.23 DistUIObserver Class Reference
#include <DistUIObserver.h >
Inheritance diagram for DistUIObserver:
Collaboration diagram for DistUIObserver:
Public Types
• enumUICmd { UI PLAY HALF , UI PLAY ONE, UI PLAY TWO , UI STOP, UI PLAY , UI -REWIND }
• enum Gesture { GEST NONE, GEST PLAY FASTER, GEST PLAY SLOWER, GEST -TOGGLE PLAY , GEST REWIND }
Public Methods
• DistUIObserver ()• virtual∼DistUIObserver ()• void Configure(int argc, char∗argv[ ])
Called when the observer needs configuration parameters, often from the console.
• int GetUID ()
Returns a unique ID for this class.
• void Update()
Called when theObserverManagerdecides that the object needs to be updated.
7.23.1 Detailed Description
Distance based User Interface This class watches for 4 ”gestures” (really end effector poses), and willperform some user interface actions with these 4 gestures. It is used to control the animation of the master,by either changing speed (faster or slower), rewinding, or pausing/playing the animation.
Message format:
• Action to take - Byte (one of UICmd)• ActionPos - Vector (position that the gesture occured at)
The documentation for this class was generated from the following files:
• DistUIObserver.h• DistUIObserver.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
60 MasterMotion Class Documentation
7.24 DistUIResponder Class Reference
#include <DistUIResponder.h >
Inheritance diagram for DistUIResponder:
Collaboration diagram for DistUIResponder:
Public Types
• enumUICmd { UI PLAY HALF , UI PLAY ONE, UI PLAY TWO , UI STOP, UI PLAY , UI -REWIND , UI NUM CMDS }
Public Methods
• DistUIResponder()• virtual∼DistUIResponder()• int GetUID ()• void Draw()• void Update(ILTMessage∗msg)• void FakeUpdate(UICmd command, LTVector3f vec)
7.24.1 Detailed Description
DistUIResponder is a responder that draws a texture to the HUD and fades it out. The texture is visualfeedback for which gesture the user has performed. ”Play”, ”Double Speed” and ”Rewind” are examples.The texture will be drawn in yellow, centered on the screen, and slowly fade away after it is triggered
7.24.2 Member Function Documentation
7.24.2.1 void DistUIResponder::Draw () [virtual]
Called once per frame. Once the cameras have drawn themselves.
Reimplemented fromResponder.
7.24.2.2 void DistUIResponder::Update (ILTMessage∗ msg) [virtual]
Called whenever a message comes in from an observer (specifically the observer with the matching UID
Reimplemented fromResponder.
The documentation for this class was generated from the following files:
• DistUIResponder.h• DistUIResponder.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.25 DPLimbError Class Reference 61
7.25 DPLimbError Class Reference
#include <DPLimbError.h >
Inheritance diagram for DPLimbError:
Collaboration diagram for DPLimbError:
Public Methods
• DPLimbError ()• virtual∼DPLimbError ()• void Configure(int argc, char∗argv[ ])
Called when the observer needs configuration parameters, often from the console.
• void Measure()• int GetUID ()
Returns a unique ID for this class.
7.25.1 Detailed Description
Dynamic Programming Limb Error class This class measures joint error likeLimbError, but allows theuser to Lag behind as long as the path of the motion is correct. As of yet untested.
7.25.2 Member Function Documentation
7.25.2.1 void DPLimbError::Measure () [virtual]
This measurement technique is slightly different from the one described in the siggraph paper. The dif-ference is that in the siggraph paper we summed the distance errors for each bone, and here we sum thesquared distance errors. This saves us from some sqrts and also exaggerates larger errors, which could bea good thing.
Reimplemented fromLimbError.
The documentation for this class was generated from the following files:
• DPLimbError.h• DPLimbError.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
62 MasterMotion Class Documentation
7.26 FileConnection Class Reference
#include <FileConnection.h >
Inheritance diagram for FileConnection:
Collaboration diagram for FileConnection:
Public Methods
• FileConnection()• virtual∼FileConnection()• virtual voidUpdate()
Subclasses must override this to Update subject data.
• virtual void Initialize (void ∗pData)• virtual EDCErrorPause()
Pause data from a file or other offline source.
• virtual EDCErrorPlay(int FrameNumber=0, bool absolute=false)
Play data from a file or other offline source from a specific frame number (if absolute==false frames arezero-indexed, otherwise they start with the specific value from the datafile.
• virtual EDCErrorSetSpeed(float framestep)
Set the playback speed for data from a file: number is a multiplier, where 1 is normal play, 2 is 2x, etc.
• virtual EDCErrorStop()
Stop data from a file or other offline source.
• virtual floatGetSpeed()
Get the playback speed for data from a file: number is a multiplier, where 1 is normal play, 2 is 2x, etc.
• virtual boolIsPlaying()
Call to determine if offline datasource is playing.
• virtual floatLastFrame()
What was the number of the last frame?
• virtual voidGoFrame(int framenum)• virtual voidGoNextFrame()
Step forward by one frame.
• virtual voidGoPrevFrame()
Step backward by one frame.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.26 FileConnection Class Reference 63
7.26.1 Detailed Description
FileConnection is a subclass ofDataConnectionthat gets its data from a file
7.26.2 Member Function Documentation
7.26.2.1 void FileConnection::GoFrame (intframenum) [virtual]
This is basically a manual Update call used to stick data into bodies even if playing==false.
Reimplemented fromDataConnection.
7.26.2.2 void FileConnection::Initialize (void∗ pData) [virtual]
Call this with a char∗ to pass in the filename
Reimplemented fromDataConnection.
The documentation for this class was generated from the following files:
• FileConnection.h• FileConnection.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
64 MasterMotion Class Documentation
7.27 FileWriter Class Reference
A simpleSaulfilter.
#include <FileWriter.h >
Inheritance diagram for FileWriter:
Collaboration diagram for FileWriter:
Public Methods
• FileWriter (Saul∗s)
FileWriter constructor.
• virtual∼FileWriter ()
Destructor for FileWriter.
• virtual voidUpdate(FilterState∗s)
Update method.
• virtual stringConfigure(const vector< string> argv)
Configure theFilter.
• virtual voidPreUpdate()
Called before the Update method.
• virtual voidPostUpdate()
Called after the Update method.
Public Attributes
• stringname
the name of the filter.
Friends
• classFilterManager
A FilterManager.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.27 FileWriter Class Reference 65
7.27.1 Detailed Description
A simpleSaulfilter.
This class has fallen out of use because of theDataWriterclass in MasterMotion. /saFilter, FilterFactory,FilterManager, FilterState, Saul
The documentation for this class was generated from the following files:
• FileWriter.h• FileWriter.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
66 MasterMotion Class Documentation
7.28 Filter Class Reference
Base class for all filter types.
#include <Filter.h >
Inheritance diagram for Filter:
Public Methods
• Filter (Saul∗s)
All filters refer toSaul.
• Filter ()
Default constructor.
• virtual∼Filter ()
Destructor.
• virtual voidUpdate(FilterState∗s)=0
Update method called every tick.
• virtual stringConfigure(const vector< string> argv)
Filters are configured prior to use.
• virtual voidPreUpdate()
Called before Update method.
• virtual voidPostUpdate()
Called after Update method.
Public Attributes
• stringname
Name of the filter.
Friends
• classFilterManager
FilterManagerkeeps track of all installed filters.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.28 Filter Class Reference 67
7.28.1 Detailed Description
Base class for all filter types.
Filters can be chained, and are kept track of by aFilterManager/saFilterFactory, FilterManager, Filter-State, Saul
The documentation for this class was generated from the following files:
• Filter.h• Filter.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
68 MasterMotion Class Documentation
7.29 FilterFactory Class Reference
Abstract factory class for creatingSaulFilter objects.
#include <FilterFactory.h >
Inheritance diagram for FilterFactory:
Public Methods
• FilterFactory()
Ctor takes no arguments.
• virtual∼FilterFactory ()• virtual Filter ∗ CreateFilter (Saul∗saul)=0• virtual FilterState∗ CreateFilterState ()=0
7.29.1 Detailed Description
Abstract factory class for creatingSaulFilter objects.
FilterFactory is an abstract class that defines the interface for other Factory classes. Currently the onlyFilterFactory used inSaul is the /aSimpleFilterFactorytemplate class. /saFilter, FilterManager, Filter-State, Saul
The documentation for this class was generated from the following files:
• FilterFactory.h• FilterFactory.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.30 FilterManager Class Reference 69
7.30 FilterManager Class Reference
Filter Manager Class.
#include <FilterManager.h >
Collaboration diagram for FilterManager:
Public Methods
• FilterManager ()• FilterManager(Saul∗s)
Ctor should take a pointer toSaul.
• virtual∼FilterManager()
Destructor.
• void Update()
Update is called every tick, and calls the Update method of all active filters.
• void RegisterFilter(const string &name,FilterFactory∗fact)
A filter class must be registered before it can be used bySaul.
• boolSetFilter(const string &name)
Sets the active filter list to contain a singleFilter.
• boolSetFilterList(const vector< string> &names)
Sets the active filter list to contain all filters specified.
• boolAddFilter (const string &name)
Adds the specified filter to the list of active filters.
• stringConfigFilter(const string &name, const vector< string> &args)
Configures a filter with a list of filter-specific arguments.
• void RemoveFilters()
Removes all filters from the active filters list.
7.30.1 Detailed Description
Filter Manager Class.
FilterManager class is responsible for registering and configuring all Filters and for maintaining a list ofactive filters. /saFilter, FilterFactory, FilterManager,FilterState, Saul
The documentation for this class was generated from the following files:
• FilterManager.h• FilterManager.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
70 MasterMotion Class Documentation
7.31 FilterState Class Reference
A Base Class for all filter-specific state information.
#include <FilterState.h >
Inheritance diagram for FilterState:
Collaboration diagram for FilterState:
Public Methods
• FilterState()
Ctor.
• virtual∼FilterState()
Destructor.
Public Attributes
• Body∗ body
State information is maintained per-body.
7.31.1 Detailed Description
A Base Class for all filter-specific state information.
The documentation for this class was generated from the following files:
• FilterState.h• FilterState.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.32 Kalman Class Reference 71
7.32 Kalman Class Reference
A class for a Discrete Kalman filter.
#include <Kalman.h >
Inheritance diagram for Kalman:
Collaboration diagram for Kalman:
Public Methods
• Kalman(Saul∗s)
Constructor takes a pointer to saul, and initializes parameters.
• virtual∼Kalman()
Destructor.
• void Update(FilterState∗s)
Record the most recent data and apply changes to those data according to the Kalman filter.
• stringConfigure(const vector< string> argv)
Configures the parameters for the Kalman filter.
7.32.1 Detailed Description
A class for a Discrete Kalman filter.
7.32.2 Member Function Documentation
7.32.2.1 string Kalman::Configure (const vector< string > argv) [virtual]
Configures the parameters for the Kalman filter.
Parameters:argv are a set of parameters that can be changed partly or wholy ”body”/”head” posSysCov pos-
MeaCov rotSysCov rotMeaCov [dimension dimensionRatio[1] ... dimensionRatio[4] ]
Returns:”OK” if succeed, othwise error message
Reimplemented fromFilter.
The documentation for this class was generated from the following files:
• Kalman.h• Kalman.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
72 MasterMotion Class Documentation
7.33 KalmanFrame Class Reference
A class to maintain the information for one frame of data.
#include <KalmanState.h >
Collaboration diagram for KalmanFrame:
Public Attributes
• Vector3position
Position information in vector.
• Quaternionrotation
Rotation information in quaternion.
• Vector3rot vector
Roation representation in vector.
• Vector3posv
Position velocity.
• Vector3rot v
Rotation velocity.
7.33.1 Detailed Description
A class to maintain the information for one frame of data.
The documentation for this class was generated from the following file:
• KalmanState.h
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.34 KalmanState Class Reference 73
7.34 KalmanState Class Reference
A class to maintain state data for the DiscreteKalmanFilter class.
#include <KalmanState.h >
Inheritance diagram for KalmanState:
Collaboration diagram for KalmanState:
Public Methods
• KalmanState()
Constructor.
• virtual∼KalmanState()
Destructor.
Public Attributes
• list< KalmanFrame∗> Data
The list structure linked to data.
• SMLXMatrix pos InitState
Initial state for position.
• SMLXMatrix rot InitState
Initial state for rotation.
• SMLXMatrix pos InitCov
Initial Covariance for position.
• SMLXMatrix rot InitCov
Iniaial Covariance for rotation.
7.34.1 Detailed Description
A class to maintain state data for the DiscreteKalmanFilter class.
The documentation for this class was generated from the following files:
• KalmanState.h• KalmanState.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
74 MasterMotion Class Documentation
7.35 LimbError Class Reference
#include <LimbError.h >
Inheritance diagram for LimbError:
Collaboration diagram for LimbError:
Public Methods
• LimbError ()• virtual∼LimbError ()• virtual voidConfigure(int argc, char∗argv[ ])
Called when the observer needs configuration parameters, often from the console.
• virtual voidMeasure()=0
Public Attributes
• float rightArm• float leftArm• float rightLeg• float leftLeg
Protected Types
• enum { PELVIS , RIGHT CLAVICLE , RIGHT HUMERUS, RIGHT RADIUS, RIGHT -HAND , RIGHT FEMUR , RIGHT TIBIA , RIGHT FOOT, LEFT CLAVICLE , LEFT -HUMERUS, LEFT RADIUS, LEFT HAND , LEFT FEMUR , LEFT TIBIA , LEFT FOOT,BONE NUM }
Protected Methods
• void InitMasterAndStudent (const string &master, const string &student)• LTVector3fGetMasterNodePosition(int bone) const• LTVector3fGetStudentNodePosition(int bone) const• LTVector3fGetMasterNodePosition(HOBJECT obj, HMODELNODE node) const• LTVector3fGetStudentNodePosition(RealTimeSubject∗subject,RealTimeBody∗body) const
Protected Attributes
• RealTimeSubject∗ studentObj• HOBJECTmasterObj• vector< string> nodeNames
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.35 LimbError Class Reference 75
• int masterNodes[BONE NUM]
• RealTimeBody∗ studentNodes[BONE NUM]
• bool initted
7.35.1 Detailed Description
LimbError is an abstract class that defines a type of error, namely the ”error per limb”. There are 4 publicvariables that are the error measurements for the corresponding limbs. It also has a variety of utilityfunctions for making gathering error measurements from 1 master and 1 student easier.
Subclasses will define for themselves what the right way to measure errors per limb really means, butObservers can watch these values independent of the actual error metric in use.
7.35.2 Member Function Documentation
7.35.2.1 LTVector3f LimbError::GetMasterNodePosition (HOBJECT object, HMODELNODEnode) const [protected]
Call with an object handle to the master and a node handle to get data for the master
7.35.2.2 LTVector3f LimbError::GetMasterNodePosition (int bone) const [protected]
Call with one of the enum values above to get positional data for the master
7.35.2.3 LTVector3f LimbError::GetStudentNodePosition (RealTimeSubject∗ subj,RealTimeBody∗ body) const [protected]
Call with a subject pointer for the student and a body pointer to get data for the master
7.35.2.4 LTVector3f LimbError::GetStudentNodePosition (int bone) const [protected]
Call with one of the enum values above to get positional data for the student
7.35.2.5 virtual void LimbError::Measure () [pure virtual]
The user of aMeasurementshould override this class where he would normally override Update. This isbecause Update is responsible for notifying all the watching observers once a measurement has been made.
Reimplemented fromMeasurement.
Reimplemented inAvgLimbError, DPLimbError, andSimpleLimbError.
7.35.3 Member Data Documentation
7.35.3.1 float LimbError::leftArm
The error values
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
76 MasterMotion Class Documentation
7.35.3.2 float LimbError::leftLeg
The error values
7.35.3.3 float LimbError::rightArm
The error values
7.35.3.4 float LimbError::rightLeg
The error values
The documentation for this class was generated from the following files:
• LimbError.h• LimbError.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.36 LithtechXformFilter Class Reference 77
7.36 LithtechXformFilter Class Reference
Converts data from Vicon- to Lithtech coordinates.
#include <LithtechXformFilter.h >
Inheritance diagram for LithtechXformFilter:
Collaboration diagram for LithtechXformFilter:
Public Methods
• LithtechXformFilter(Saul∗s)
Ctor.
• virtual∼LithtechXformFilter()
Destructor.
• virtual voidUpdate(FilterState∗s)
Update called each tick, transforms the newest data to the appropriate coord. sys.
7.36.1 Detailed Description
Converts data from Vicon- to Lithtech coordinates.
Converts data from Vicon- to Lithtech coordinates. Vicon’s native data representation uses a right-handed,Z-up coordinate system, whereas Lithtech worlds use a left-handed, Y-up coordinate system. This filtertranslates between the two. /saFilter, FilterFactory, FilterManager, FilterState, Saul
The documentation for this class was generated from the following files:
• LithtechXformFilter.h• LithtechXformFilter.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
78 MasterMotion Class Documentation
7.37 LowPass Class Reference
A class for a simple damping filter.
#include <LowPass.h >
Inheritance diagram for LowPass:
Collaboration diagram for LowPass:
Public Methods
• LowPass(Saul∗s)
Ctor takes a pointer to saul.
• virtual∼LowPass()
Destructor.
• virtual voidUpdate(FilterState∗s)
Applies a damping filter to the most recent data.
• virtual stringConfigure(const vector< string> argv)
Configures the filter with damping parameters in the range [0.0, 1.0] for position and rotation.
7.37.1 Detailed Description
A class for a simple damping filter.
The documentation for this class was generated from the following files:
• LowPass.h• LowPass.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.38 LowPassState Class Reference 79
7.38 LowPassState Class Reference
A class to maintain state data for theLowPassFilter class.
#include <LowPassState.h >
Inheritance diagram for LowPassState:
Collaboration diagram for LowPassState:
Public Methods
• LowPassState()
Ctor.
• virtual∼LowPassState()
Destructor.
Public Attributes
• Vector3prevPos
Caches the body position from the previous frame.
• QuaternionprevRot
Caches the body orientation from the previous frame.
• bool running
Is the filter running?
7.38.1 Detailed Description
A class to maintain state data for theLowPassFilter class.
The documentation for this class was generated from the following files:
• LowPassState.h• LowPassState.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
80 MasterMotion Class Documentation
7.39 Marker Class Reference
Class Marker represents Vicon Marker data.
#include <Marker.h >
Collaboration diagram for Marker:
Public Methods
• Marker()
Ctor.
• virtual∼Marker()
Destructor.
Public Attributes
• Vector3position
Marker position.
• booloccluded
Is marker occluded o visible?
• stringname
Name of the marker (<LFHD>, <LFIN>, etc.).
• vector< Body∗> bodies
Bodies that this marker is a part of.
7.39.1 Detailed Description
Class Marker represents Vicon Marker data.
The documentation for this class was generated from the following files:
• Marker.h• Marker.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.40 MasterMotionClient Class Reference 81
7.40 MasterMotionClient Class Reference
#include <MasterMotionClient.h >
Collaboration diagram for MasterMotionClient:
Public Methods
• MasterMotionClient ()• virtual∼MasterMotionClient ()• declare interface (MasterMotionClient)• virtual uint32OnEngineInitialized (RMode∗pMod, LTGUID ∗pAppGuid)• virtual voidOnEngineTerm ()• virtual voidOnEvent (uint32 dwEventID, uint32 dwParam)• virtual voidPreLoadWorld (const char∗pWorldName)• virtual voidOnEnterWorld ()• virtual voidOnExitWorld ()• virtual voidPreUpdate()• virtual voidUpdate ()• virtual voidPostUpdate()• virtual voidOnCommandOn (int command)• virtual voidOnCommandOff (int command)• virtual voidOnKeyDown (int key, int rep)• virtual voidOnKeyUp (int key)• virtual voidOnMessage(uint8 messageID, ILTMessage∗pMessage)• virtual voidSpecialEffectNotify (HLOCALOBJ hObj, ILTMessage∗pMessage)• virtual LTRESULTOnObjectMove (HLOCALOBJ hObj, LTBOOL bTeleport, LTVector3f∗pNew-
Pos)• virtual LTRESULTOnObjectRotate (HLOCALOBJ hObj, LTBOOL bTeleport, LTOrientation∗p-
NewOrientation)• virtual voidOnObjectRemove(HLOCALOBJ hObj)• virtual LTRESULTOnTouchNotify (HOBJECT hMain, LTContactInfo∗pInfo)• virtual voidOnModelKey (HLOCALOBJ hObj, ArgList∗pArgs)• virtual voidOnPlaySound(PlaySoundInfo∗pPlaySoundInfo)• void FirstUpdate ()• void RegisterObject(CPlayerClnt∗pPlayer)• void UnRegisterObject(CPlayerClnt∗pPlayer)• void RegisterObject(CWorldPropClnt∗pWorldProp)• void UnRegisterObject(CWorldPropClnt∗pWorldProp)• void RegisterObject(CClientConnClnt∗pClientConn)• void UnRegisterObject(CClientConnClnt∗pClientConn)• void RegisterObject(CPropModelClnt∗pPropModel)• void UnRegisterObject(CPropModelClnt∗pPropModel)• uint32GetClientID ()• int PlayerCount ()• CPlayerClnt∗ GetPlayer (uint32 iPlayer=0)• CCamera∗ GetCamera(uint32 iCamera=-1)• LTOrientationGetStartPointRot ()
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
82 MasterMotion Class Documentation
• LTRESULT InitGame ()• void InitBeforeConnect ()• vector< ClientSideObject∗> GetClientSideObjectFromName(char∗name)
Returns a list of matching client side objects.
• vector< CPropModelClnt∗> GetPropModelFromName(char∗name)
Returns a list of matching propmodels.
• void ConnectToSaul()
Creates aRealTimeConnectionobject.
• void OpenFile(char∗f)
Creates aFileConnectionobject.
• void ConnectToTarsus(char∗host, char∗port)• vector< string> ListSubjects ()• RealTimeSubject∗ GetSubject(const string &name)• RealTimeSubject∗ GetSubject(int i)• void StartCoGResponder()• void StopCoGResponder()• void StartBCResponder()• void StopBCResponder()• void StartDUIResponder ()• void StopDUIResponder()• void Pause()
Sends commands to aFileConnectionobject.
• void Play (int fn, bool abs)• void SetSpeed(float s)• void Stop ()• void Faster ()• void Slower ()• void FullSpeed()• void NextFrame ()• void LastFrame ()• void SetDataFileSubjects(const string &master, const string &student)
Sends commands to aRealTimeConnectionobject (OBSOLETE!).
• void WriteDataFile ()• void SetDataFileSubjects(HOBJECT master,RealTimeSubject∗student)• void BeginWritingDataFile ()• void EndWritingDataFile ()• void AddMacro(const string &s)
Creates a new macro which will execute the specified string.
• int GetNumMacros()
Gets the number of macros currently in use.
• vector< ClientSideObject∗> ClientSideObjects()
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.40 MasterMotionClient Class Reference 83
Protected Methods
• LTRESULT InitRenderer (RMode∗pMode)
• LTRESULT InitSound ()
• LTRESULTRender ()
• void DisplayWatermark ()
• void AddPlayer ()
• void RemovePlayer()
• void UpdatePlayers(float fFrameTime)
• void UpdateCameras(float fFrameTime)
• LTRESULTRenderCameras()
• void SetupCameraViewports()
• void SetupCameraViewports(uint32 count, uint32 indx, uint32 nPrevViewports, uint32 nCurrent-Digit)
• void UpdateCSO(ILTMessage∗msg)
• void InitCSO (ILTMessage∗msg)
Protected Attributes
• uint8m iPlayerCount
• uint8m iCurrentPlayer
• CCamera∗ m Cameras[MAX CLIENT PLAYERS]
• CPlayerClnt∗ m Players[MAX CLIENT PLAYERS]
• LTOrientationm oStartPointRot
• boolm bRender
• boolm bFirstUpdate
• CWorldPropClnt∗ m pWorldProp
• CClientConnClnt∗ m pClientConn
• HTEXTUREm hWatermark
• uint32m eClientGameState
• uint32m nClientID
• boolm bDisplayClientIDErrorMsg
• vector< ClientSideObject∗> m ClientSideObjects
• vector< CPropModelClnt∗> m PropModels
• DataConnection∗ m dataConn
• Responder∗ m CoGResponder
• boolm bWriting
• ostream∗ datafile
• HOBJECTdfMaster
• RealTimeSubject∗ dfStudent
• uint32macroNum
• vector< string> macroStrings
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
84 MasterMotion Class Documentation
7.40.1 Detailed Description
MasterMotionClient is our subclass of IClientShellStub, and is mostly derived from the sample Clientsubclass. The only thing we really did differently was remove the event/callback system that was justweird and took way to many files.
Owns: mdataConn datafile
References: mCameras mPlayers mpWorldProp mpClientConn mClientSideObjects mPropModelsdfStudent
Important stuff: ConnectToSaul - does what it says Get∗FromName - ditto ListSubjects - returns a list ofcurrently available subjects Play, Pause, etc. - calls the correspondingDataConnectionfunction
DataFile∗ - calls the correspondingDataConnectionfunction
AddMacro - maps the string
The documentation for this class was generated from the following files:
• MasterMotionClient.h• MasterMotionClient.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.41 MasterMotionServer Class Reference 85
7.41 MasterMotionServer Class Reference
#include <MasterMotionServer.h >
Collaboration diagram for MasterMotionServer:
Public Methods
• MasterMotionServer ()
• ∼MasterMotionServer ()
• declare interface (MasterMotionServer)
• LTRESULTOnServerInitialized ()
• void OnServerTerm ()
• void SRand(unsigned int uiRand)
• void PreStartWorld (LTBOOL bSwitchingWorlds)
• void CacheFiles()• void PostStartWorld ()
• void OnAddClient (HCLIENT hClient)
• void OnRemoveClient(HCLIENT hClient)
• void Update (LTFLOAT timeElapsed)
• LPBASECLASSOnClientEnterWorld (HCLIENT hClient, void ∗pClientData, uint32 nClient-DataLen)
• void OnClientExitWorld (HCLIENT hClient)
• LTRESULTFileLoadNotify (const char∗pFilename, LTRESULT status)
• void OnMessage(HCLIENT hSender, uint8 messageID, HMESSAGEREAD hMessage)
• void OnObjectMessage(LPBASECLASS pSender, uint32 messageID, ILTMessage∗pMessage)
• void OnCommandOn (HCLIENT hClient, int command)
• void OnCommandOff (HCLIENT hClient, int command)
• void OnPlaybackFinish ()
• LTRESULTProcessPacket(char∗pData, uint32 dataLen, uint8 senderAddr[4], uint16 senderPort)
• LTRESULTServerAppMessageFn(char∗pMsg)
• void WriteFileStart (char∗master, char∗student)
• void WriteFileStop ()
• void SetSubjectName(char∗subject)
• void SetTrialName (char∗trial)
• void StartCoGObserver (string m, string s)
• void StopCoGObserver()• void RegisterObject(CWorldPropSrvr∗pWorldProp)
• void AddClientSideObject (ClientSideObjectSrvr∗cso)
• ClientSideObjectSrvr∗ GetClientSideObject(char∗name)
• void SetMasterHeight(float factor, vector< string> &names)
Defines the scaling factor to use when rescaling the master.
• void SetStudentHeight(float factor, vector< string> &names)
• floatGetObjectScale(string name)
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
86 MasterMotion Class Documentation
Public Attributes
• vector< ClientSideObjectSrvr∗> m ClientSideObjects• SOCKETSaulSock• floatmasterScale• floatstudentScale• vector< string> masterNames• vector< string> studentNames• stringsubjectName• stringtrialName
Protected Attributes
• uint32m nNumClients• HCLIENT m aClients [MAX CLIENTS]• CWorldPropSrvr∗ m pWorldProp• DataWriter∗ m dataWriter• CoGObserver∗ m CoGObserver
7.41.1 Detailed Description
MasterMotionServer is a subclass of IServerShellStub
Only changes here were adding SetMasterHeight and SetStudentHeight
7.41.2 Member Function Documentation
7.41.2.1 void MasterMotionServer::SetMasterHeight (floatfactor, vector< string > & names)
Defines the scaling factor to use when rescaling the master.
This should be called before any objects are loaded in (i.e. it should be called on server initialization). Asobjects are loaded, the names vector is checked, and if there is a match, the height is rescaled.
The documentation for this class was generated from the following files:
• MasterMotionServer.h• MasterMotionServer.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.42 Measurement Class Reference 87
7.42 Measurement Class Reference
#include <Measurement.h >
Inheritance diagram for Measurement:
Collaboration diagram for Measurement:
Public Methods
• Measurement()• virtual∼Measurement()• virtual voidMeasure()=0
7.42.1 Detailed Description
This is a special subclass of observer that is both observer and observed. The intention is that other classescan use the results of the computations performed by the Measurement class, and this saved us from havingto remeasure. It also allows, as theLimbError subclass shows, a looser coupling between anObserverandthe specific quantities it measures.
7.42.2 Member Function Documentation
7.42.2.1 virtual void Measurement::Measure () [pure virtual]
The user of a Measurement should override this class where he would normally override Update. This isbecause Update is responsible for notifying all the watching observers once a measurement has been made.
Reimplemented inAvgLimbError, DPLimbError, LimbError, andSimpleLimbError.
The documentation for this class was generated from the following files:
• Measurement.h• Measurement.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
88 MasterMotion Class Documentation
7.43 MrTsVan Class Reference
Hey, stay out of Mr. T’s van!
#include <MrTsVan.h >
Public Methods
• MrTsVan ()• virtual∼MrTsVan ()• virtual uint32OnPrecreate(ObjectCreateStruct∗pOCS, float precreateType)
7.43.1 Detailed Description
Hey, stay out of Mr. T’s van!
The documentation for this class was generated from the following files:
• MrTsVan.h• MrTsVan.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.44 Observer Class Reference 89
7.44 Observer Class Reference
Observers watch the state of the system Observers will watch the state of the Server and can report to theclient (via the Send method) what they observed. Examples of use could be: For creating user interfaces byobserving real-time behavior, for adding annotation to the motions that users are performing, or monitoringthe state of objects in the world.
#include <Observer.h >
Inheritance diagram for Observer:
Public Methods
• Observer ()• virtual∼Observer ()• virtual voidUpdate()=0
Called when theObserverManagerdecides that the object needs to be updated.
• virtual int GetUID ()=0
Returns a unique ID for this class.
• virtual voidConfigure(int argc, char∗argv[ ])
Called when the observer needs configuration parameters, often from the console.
Public Attributes
• boolneedsRT
Does this observer need the real-time system?
Protected Methods
• virtual voidSend(ILTMessage∗, bool guaranteed=false)
Send a message to the Receiver on the client side with the matching UID.
7.44.1 Detailed Description
Observers watch the state of the system Observers will watch the state of the Server and can report to theclient (via the Send method) what they observed. Examples of use could be: For creating user interfaces byobserving real-time behavior, for adding annotation to the motions that users are performing, or monitoringthe state of objects in the world.
There are two kinds of observers.
• Regular Observer - watches any object, and when the object notifies the observer manager of achange in its state (via ObserverManager::Notify); all the observers watching that object get anUpdate call
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
90 MasterMotion Class Documentation
• Periodic Observer - essentially an observer that watches the game clock. These can be configured torun once every N seconds, run once after M seconds have elapsed, or run every N seconds, startingM seconds from now.
The documentation for this class was generated from the following files:
• Observer.h• Observer.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.45 ObserverManager Class Reference 91
7.45 ObserverManager Class Reference
#include <ObserverManager.h >
Collaboration diagram for ObserverManager:
Public Methods
• ObserverManager()• virtual∼ObserverManager()• void RegisterPeriodic(Observer∗observer, const string &name, float updateRate, bool update-
Now=false)
Add a periodic observer to the manager.
• void UnregisterPeriodic(Observer∗observer)
Removes a periodic observer and deletes it.
• void UnregisterPeriodic(const string &name)
Removes a periodic observer and deletes it.
• void SetUpdateRate(Observer∗observer, float updateRate)
Sets the update rate.
• floatGetUpdateRate(Observer∗observer)
Gets the current update rate.
• void SetNextUpdateTime(Observer∗observer, float updateTime)
Sets the next time update will be called. This is in seconds, with respect to gpLTServer->GetTime().
• floatGetNextUpdateTime(Observer∗observer)
Returns the next time that this observer will be Updated.
• void Update()
Call once per frame. Checks for any past-due.
• Observer∗ GetObserverFromName(const string &name)
Returns the observer (periodic or normal) that matchesname.
• void Register(Observer∗observer, const string &name, const void∗token)• void Unregister (Observer∗observer, const void∗token)• void Unregister (const string &name)• void Notify (const void∗token)• void NotifyAll ()• void Configure (int argc, char∗argv[ ])• void Configure (const string &name, int argc, char∗argv[ ])• void ConnectToRTServer()• DataConnection∗ GetRTConn ()
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
92 MasterMotion Class Documentation
7.45.1 Detailed Description
PeriodicObserverbehavior: All update times are going to be off by 1 frame (this means periodic observersaren’t good for fine grained actions) For example, lets say ScoreObserver is to be updated every 100msstarting at 0ms game time. Because of a slow drawing frame, the code doesn’t get called until 110ms. Thenext update would then be scheduled for 210ms.
If updateRate is>= 0: updates happen as soon as possible after updateRate seconds (set to 0 for an updateevery frame) If updateRate is< 0: updates only happen when nextUpdateTime is exceeded the first time
So to make a one-time time-triggered event, callSetNextUpdateTime() with the time you want the eventto go off, and then call SetUpdateRate(obj, -1.0) to ”start the timer”. Once the observer is updated, next-UpdateTime will be set to 10E10, effectively turning off the observer until it is reset.
7.45.2 Member Function Documentation
7.45.2.1 void ObserverManager::RegisterPeriodic (Observer∗ observer, const string & name, floatupdateRate, bool updateNow= false)
Add a periodic observer to the manager.
This function will add a periodic observer with a given name and updateRate. If updateNow is true, it willcall the observer’s update function as soon as possible.
Caveats:
• The ObserverManager takes ownership of its observers and will delete them• Observermay not be in use already• No observer with the same name tag may be in use• In general, its a bad idea to set a lot of observers to the same updateRate• If an observer’s needsRT flag is set, it will not begin updating until after the real-time connection is
established
7.45.2.2 void ObserverManager::SetUpdateRate (Observer∗ observer, float updateRate)
Sets the update rate.
Set to 0 for an update per frame Set to -1 for a triggered event
The documentation for this class was generated from the following files:
• ObserverManager.h• ObserverManager.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.46 PeriodicObserver Class Reference 93
7.46 PeriodicObserver Class Reference
#include <ObserverManager.h >
Collaboration diagram for PeriodicObserver:
Static Public Methods
• boolGreater(const PeriodicObserver &a, const PeriodicObserver &b)
Provided for comparing two periodic observers in a priority queue.
Public Attributes
• Observer∗ observer
The observer which gets called frequently.
• floatnextUpdateTime
The time (in seconds) to next call Update. This is compared with the game clock accessed via gpLTServer->GetTime().
• floatupdateRate
The amount to increment the nextUpdateTime by after Update is called.
7.46.1 Detailed Description
Wrapper for adding periodicity to an observer. This class tracks the next update time and the updatefrequency for the observer.
The documentation for this class was generated from the following file:
• ObserverManager.h
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
94 MasterMotion Class Documentation
7.47 Popup Class Reference
#include <Popup.h >
Inheritance diagram for Popup:
Collaboration diagram for Popup:
Public Methods
• Popup (Saul∗s)• virtual∼Popup ()• virtual voidUpdate(FilterState∗s)
Update method called every tick.
• virtual stringConfigure(const vector< string> argv)
Filters are configured prior to use.
7.47.1 Detailed Description
Popup filter will remove pops (large jumps) from the input data
The documentation for this class was generated from the following files:
• Popup.h• Popup.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.48 PopupState Class Reference 95
7.48 PopupState Class Reference
#include <PopupState.h >
Inheritance diagram for PopupState:
Collaboration diagram for PopupState:
Public Methods
• PopupState()• virtual∼PopupState()
Public Attributes
• Vector3prePos• QuaternionpreRot• floatpreFrameNum• bool running
7.48.1 Detailed Description
PopupState contains state information for the popup filter. This is just the previous good data, and whetheror not the popup filter is active
The documentation for this class was generated from the following files:
• PopupState.h• PopupState.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
96 MasterMotion Class Documentation
7.49 Quaternion Class Reference
#include <Quaternion.h >
Public Methods
• Quaternion (float w=1, float x=0, float y=0, float z=0)• virtual∼Quaternion ()• Quaternion &set(float aw=1, float ax=0, float ay=0, float az=0)• Quaternionoperator∼ () const• Quaternionoperator- () const• Quaternionoperator+ (const Quaternion &q) const• Quaternionoperator- (const Quaternion &q) const• Quaternionoperator ∗ (float f) const• Quaternionoperator ∗ (const Quaternion &q) const• Quaternionoperator/ (float f) const• Quaternionoperator/ (const Quaternion &q) const• const Quaternion &operator+= (const Quaternion &q)• const Quaternion &operator-= (const Quaternion &q)• const Quaternion &operator ∗= (const Quaternion &q)• const Quaternion &operator/= (const Quaternion &q)• float len2 () const• float len () const• Quaternionnormal () const• floatnormalize ()• Quaternionmirror (const Quaternion &q)• Quaternionslerp(const Quaternion &q, float slurp)
Public Attributes
• floatw• floatx• floaty• floatz
7.49.1 Detailed Description
Quaternion class MasterMotion measures transformations as Quaternions. This allows us to interploaterotation without fear of gimble-lock. This class implements all typical Quaternion functionality and isprovided as a utility class for other modules.
7.49.2 Member Function Documentation
7.49.2.1 Quaternion Quaternion::slerp (const Quaternion &q, float t)
Spherical Linear Interpolation - used to interpolate Quaternions
The documentation for this class was generated from the following files:
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.49 Quaternion Class Reference 97
• Quaternion.h• Quaternion.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
98 MasterMotion Class Documentation
7.50 RealTimeBody Class Reference
#include <RealTimeBody.h >
Public Methods
• RealTimeBody(const string &name)• virtual∼RealTimeBody()
Public Attributes
• LTVector3fpos
The position.
• LTOrientationrot
The orientation (in quaternion format).
• stringname
The name of the body.
7.50.1 Detailed Description
RealTimeBody is super simple, just look below
The documentation for this class was generated from the following files:
• RealTimeBody.h• RealTimeBody.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.51 RealTimeClientConnection Class Reference 99
7.51 RealTimeClientConnection Class Reference
#include <RealTimeClientConnection.h >
Inheritance diagram for RealTimeClientConnection:Collaboration diagram for RealTimeClient-Connection:
Public Methods
• RealTimeClientConnection()• virtual∼RealTimeClientConnection()• virtual void ImAbstract ()
7.51.1 Detailed Description
This RealTimeConnectionlives client-side, and asksSaulfor a subscription by sending a message to theserver.
7.51.2 Constructor & Destructor Documentation
7.51.2.1 RealTimeClientConnection::RealTimeClientConnection ()
Okay, there’s a little bit of voodoo here. We initialize a socket to receive UDP packets of data fromSaul.We bind the socket, but do not connect toSaulourselves. Instead, we populate a sockaddrin with anaddress thatSaulcan use to send data to it, and pack this sockaddrin into a ILTMessage, which we send tothe server. When the server gets the message, it sends a request toSaulover the TCP/IP ”admin channel”,and receives a long string back fromSaul that lists all subjects and bodies that it has. The server thencallsRealTimeConnection::Initializewith this string, and the object is initialized with the appropriate listof subjects, and properly sized arrays to store the data that we get fromSauleach frame.
The documentation for this class was generated from the following files:
• RealTimeClientConnection.h• RealTimeClientConnection.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
100 MasterMotion Class Documentation
7.52 RealTimeConnection Class Reference
#include <RealTimeConnection.h >
Inheritance diagram for RealTimeConnection:
Collaboration diagram for RealTimeConnection:
Public Methods
• RealTimeConnection()• virtual∼RealTimeConnection()• virtual voidUpdate()• virtual void Initialize (void ∗pData)
Initialization is a string of Subject:Bodypairs, separated by spaces, that comes fromSaul.
• virtual voidStartRecording(const string &filename)
deprecated.
• virtual voidStopRecording()
deprecated.
• virtual voidSetRecordLabel()• virtual boolIsRecording()
deprecated.
• virtual void ImAbstract ()=0
Protected Attributes
• sockaddrLocalsocket
7.52.1 Detailed Description
RealTimeConnection is the subclass ofDataConnectionthat will subscribe to and listen to messages fromSaul. It is an abstract class, containing a pure virtual ImAbstract() method, defined separately for clientand server-based flavored subclasses.
7.52.2 Member Function Documentation
7.52.2.1 void RealTimeConnection::Initialize (void∗ pData) [virtual]
Initialization is a string of Subject:Bodypairs, separated by spaces, that comes fromSaul.
This method handles the last stage of the initialization described in the comments that accompany Real-TimeConnection::RealTimeConnection. The initialization data that we get is a char∗ string that names
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.52 RealTimeConnection Class Reference 101
each channel of data that we should expect fromSaul. From these names, we create a data structure to holdRealTimeSubjectandRealTimeBodyobjects. We also initialize float arrays to hold the data fromSaul.These are deleted in RealTimeConnection::∼RealTimeConnection.
This code should probably be rewritten with the MMUtils Split function, but it works fine even if it isunintelligible.
Reimplemented fromDataConnection.
7.52.2.2 void RealTimeConnection::Update () [virtual]
This method Updates the data for each subject in the subjects list. This list was constructed in the Initializemethod so that the bodies run parallel with saulData[]. The first part of the code strips away old data (Ifframerate drops belowSaul’s, we will get a backlog) and sticks it in dump[]. The timestamp test relies onthe fact that the first element in each packet (channel 0) is the framenumber fromSaul.
Data Update is straightforward, and relies on the order of bodies fromSaul. This is faster than looking upan offset for each body and doing pointer math to access the array.
Reimplemented fromDataConnection.
The documentation for this class was generated from the following files:
• RealTimeConnection.h• RealTimeConnection.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
102 MasterMotion Class Documentation
7.53 RealTimeServerConnection Class Reference
#include <RealTimeServerConnection.h >
Inheritance diagram for RealTimeServerConnection:Collaboration diagram for RealTimeServer-Connection:
Public Methods
• RealTimeServerConnection(SOCKET socket)• virtual∼RealTimeServerConnection()• virtual void ImAbstract ()
7.53.1 Detailed Description
RealTimeServerConnection is a subclass ofRealTimeConnectionthat will connect to tarsus by directlyconnecting to the admin channel
The documentation for this class was generated from the following files:
• RealTimeServerConnection.h• RealTimeServerConnection.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.54 RealTimeSubject Class Reference 103
7.54 RealTimeSubject Class Reference
#include <RealTimeSubject.h >
Public Methods
• RealTimeSubject(const string &name)• virtual∼RealTimeSubject()• RealTimeBody∗ GetBody (const string &name)
Public Attributes
• int offset• stringname
Name of the subject.
• vector< RealTimeBody∗> bodies• map< string, int> name map
7.54.1 Detailed Description
RealTimeSubject is the client-side representation of aTarsussubject. It contains a list of bodies and a mapfrom body name to body list index.
The documentation for this class was generated from the following files:
• RealTimeSubject.h• RealTimeSubject.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
104 MasterMotion Class Documentation
7.55 Responder Class Reference
#include <Responder.h >
Inheritance diagram for Responder:
Public Methods
• Responder()• virtual∼Responder()• virtual voidUpdate(ILTMessage∗msg)=0• virtual voidDraw()• virtual int GetUID ()=0
7.55.1 Detailed Description
Responder is used to respond to messages from the server-side observers. The intention is that all ofthe game logic will be handled by the server, and it will send the minimum necessary information to theresponder which handles client side object changes, or drawing to the screen.
7.55.2 Member Function Documentation
7.55.2.1 virtual void Responder::Draw () [inline, virtual]
Called once per frame. Once the cameras have drawn themselves.
Reimplemented inBodyColor, CoGResponder, andDistUIResponder.
7.55.2.2 virtual void Responder::Update (ILTMessage∗ msg) [pure virtual]
Called whenever a message comes in from an observer (specifically the observer with the matching UID
Reimplemented inBodyColor, CoGResponder, andDistUIResponder.
The documentation for this class was generated from the following files:
• Responder.h• Responder.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.56 ResponderManager Class Reference 105
7.56 ResponderManager Class Reference
#include <ResponderManager.h >
Public Methods
• ResponderManager()• virtual∼ResponderManager()• void ReceiveMessage(ILTMessage∗message)• void Register(Responder∗resp, const string &name)• void Unregister (Responder∗resp)• void Unregister (const string &name)• Responder∗ GetResponderFromName(const string &str)• void DrawAll ()
7.56.1 Detailed Description
Used to manage the responders and dispatch object messages to them.
The documentation for this class was generated from the following files:
• ResponderManager.h• ResponderManager.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
106 MasterMotion Class Documentation
7.57 Saul Class Reference
class Saul is our Filtering Beast.
#include <Saul.h >
Collaboration diagram for Saul:
Public Methods
• Saul()
Saul Ctor.
• virtual∼Saul()
Destructor.
• void RegisterFilter(const string &name,FilterFactory∗fact)
This calls the RegisterFilter method of theFilterManagerclass.
• void Initialize ()
Initialize does nothing, seemingly.
• boolUpdate()
Called once per frame, Update checks for admin commands, gets data fromTarsus, filters, and sends thedata off.
• void Cleanup()
Does nothing, seemingly.
• floatGetFrameNumber()
Gets the current frame number (starting at 0).
Public Attributes
• vector< Body∗> bodies
vector of all bodies inTarsusdata.
• vector< Marker∗> markers
vector of all markers inTarsusdata.
7.57.1 Detailed Description
class Saul is our Filtering Beast.
Saul is responsible for keeping lists of all bodies and markers, talking toTarsusand Lithtech, and makingsure the active filters run /saFilter, FilterManager, FilterState, Tarsus
The documentation for this class was generated from the following files:
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.57 Saul Class Reference 107
• Saul.h• Saul.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
108 MasterMotion Class Documentation
7.58 Sender Class Reference
class Sender sends data via UDP to a client.
#include <Sender.h >
Public Methods
• Sender()
Ctor.
• virtual∼Sender()
Destructor.
• void Initialize (unsigned long host, unsigned short port)
Initializes the sender object with a host and port (both in network byte order).
• void SendData(char∗buffer, int buffersize)
SendData sends contents of buffer to the client specified inInitialize().
Public Attributes
• SOCKETsock
Socket for sending data.
• sockaddrremoteSock
sockaddr of client that we send data to.
7.58.1 Detailed Description
class Sender sends data via UDP to a client.
The documentation for this class was generated from the following files:
• Sender.h• Sender.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.59 SimpleFilterFactory Class Template Reference 109
7.59 SimpleFilterFactory Class Template Reference
The favorite factory class for creatingSaulFilter objects.
#include <FilterFactory.h >
Inheritance diagram for SimpleFilterFactory:
Collaboration diagram for SimpleFilterFactory:
7.59.1 Detailed Description
template<class filt, class state> class SimpleFilterFactory< filt, state >
The favorite factory class for creatingSaulFilter objects.
SimpleFilterFactory is the template class used to createSaulfilters /saFilter, FilterManager, FilterState,Saul
The documentation for this class was generated from the following file:
• FilterFactory.h
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
110 MasterMotion Class Documentation
7.60 SimpleLimbError Class Reference
#include <SimpleLimbError.h >
Inheritance diagram for SimpleLimbError:
Collaboration diagram for SimpleLimbError:
Public Methods
• SimpleLimbError ()• virtual∼SimpleLimbError ()• void Configure(int argc, char∗argv[ ])
Called when the observer needs configuration parameters, often from the console.
• void Measure()• int GetUID ()
Returns a unique ID for this class.
7.60.1 Detailed Description
Computes a simple error-per-limb measurement using the shoulder, elbow, pelvis, and knee joints
7.60.2 Member Function Documentation
7.60.2.1 void SimpleLimbError::Measure () [virtual]
This measurement technique is slightly different from the one described in the siggraph paper. The dif-ference is that in the siggraph paper we summed the distance errors for each bone, and here we sum thesquared distance errors. This saves us from some sqrts and also exaggerates larger errors, which could bea good thing.
Reimplemented fromLimbError.
The documentation for this class was generated from the following files:
• SimpleLimbError.h• SimpleLimbError.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.61 StartPoint Class Reference 111
7.61 StartPoint Class Reference
#include <startpoint.h >
Public Methods
• StartPoint ()• ∼StartPoint ()• uint32EngineMessageFn(uint32 messageID, void∗pData, float fData)
7.61.1 Detailed Description
A location for the player to start at
The documentation for this class was generated from the following files:
• startpoint.h• startpoint.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
112 MasterMotion Class Documentation
7.62 StupidObserver Class Reference
#include <StupidObserver.h >
Inheritance diagram for StupidObserver:
Collaboration diagram for StupidObserver:
Public Methods
• StupidObserver ()• virtual∼StupidObserver ()• virtual voidConfigure(int argc, char∗argv[ ])
Called when the observer needs configuration parameters, often from the console.
• virtual voidUpdate()
Called when theObserverManagerdecides that the object needs to be updated.
• virtual int GetUID ()
Returns a unique ID for this class.
7.62.1 Detailed Description
This is simply a class that verifys that observers, and theObserverManager, function as expected. Theclass simply prints out a message every time update is called. It is configured with the name of a real-timesubject, and outputs the subject’s root node position.
The documentation for this class was generated from the following files:
• StupidObserver.h• StupidObserver.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.63 Tarsus Class Reference 113
7.63 Tarsus Class Reference
class Tarsus talks to a running real-time server via TCP/IP.
#include <Tarsus.h >
Inheritance diagram for Tarsus:
Collaboration diagram for Tarsus:
Public Methods
• Tarsus ()• virtual void Initialize (void ∗pData)
Initializes a Data Connection object with subclass-specific arguments.
• virtual∼Tarsus()
Destructor.
• void Update()
Updates data inSaul’s bodies.
• Tarsus()
DO NOT USE A TARSUS OBJECT RETURNED FROM THE 0-ARG CTOR.
• Tarsus(const string &hostname, int port,Saul∗s)
Ctor makes an object to talk to a real-time server on given hostname, port.
• virtual∼Tarsus()
Destructor.
• void UpdateData()
Updates data inSaul’s bodies.
Static Public Attributes
• floatFrameNumber= 0.0
What is the current FrameNumber?
7.63.1 Detailed Description
class Tarsus talks to a running real-time server via TCP/IP.
The documentation for this class was generated from the following files:
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
114 MasterMotion Class Documentation
• FullProject/cshell/src/Tarsus.h• Saul/Tarsus.h• FullProject/cshell/src/Tarsus.cpp• Saul/Tarsus.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
7.64 Vector3 Class Reference 115
7.64 Vector3 Class Reference
#include <Vector3.h >
Public Methods
• Vector3 (float x=0, float y=0, float z=0)• virtual∼Vector3 ()• Vector3 &set(float x, float y, float z)• Vector3operator+ (const Vector3 &v) const• Vector3operator- (const Vector3 &v) const• Vector3operator- () const• Vector3operator ∗ (float f) const• Vector3operator ∗ (const Vector3 &v) const• Vector3operator| (const Vector3 &v) const• const Vector3 &operator+= (const Vector3 &v)• const Vector3 &operator-= (const Vector3 &v)• const Vector3 &operator ∗= (const Vector3 &v)• const Vector3 &operator|= (const Vector3 &v)• float len2 () const• float len () const• Vector3normal () const• floatnormalize ()• floatdot (const Vector3 &v) const
Static Public Methods
• Vector3operator ∗ (float f, const Vector3 &v)
Public Attributes
• floatx• floaty• floatz
7.64.1 Detailed Description
Vector class This class implements all common vector operations and is provided as a utility to be used inother modules
The documentation for this class was generated from the following file:
• Vector3.h
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
116 MasterMotion Class Documentation
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
Chapter 8
MasterMotion File Documentation
8.1 AvgLimbError.h File Reference
#include <stdafx.h >
#include "msgids.h"
#include "LimbError.h"
Include dependency graph for AvgLimbError.h:
Compounds
• classAvgLimbError
8.1.1 Detailed Description
118 MasterMotion File Documentation
8.2 Body.h File Reference
Body class definition. Header file for a ViconBody - correlating to bones in the LithTech skeleton. Cur-rently, there are 17 bodies associated with each MoCap subject.
#include "Utils.h"
#include "Vector3.h"
#include "Quaternion.h"
Include dependency graph for Body.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classBody
A representation of a Vicon ”Body” - or a skeletal node in LT.
• structCompBody
Will be used in state vector compression.
8.2.1 Detailed Description
Body class definition. Header file for a ViconBody - correlating to bones in the LithTech skeleton. Cur-rently, there are 17 bodies associated with each MoCap subject.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.3 BodyColor.h File Reference 119
8.3 BodyColor.h File Reference
#include <stdafx.h >
#include "msgids.h"
#include "Responder.h"
Include dependency graph for cshell/src/BodyColor.h:
Compounds
• classBodyColor
8.3.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
120 MasterMotion File Documentation
8.4 BodyColor.h File Reference
#include "Observer.h"
#include "msgids.h"
Include dependency graph for sshell/src/BodyColor.h:
Compounds
• classBodyColor
8.4.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.5 camera.h File Reference 121
8.5 camera.h File Reference
#include <ltbasedefs.h >
Include dependency graph for camera.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classCCamera
Enumerations
• enum ECameraAspect{ CAMS 4 3 = 0, CAMS 16 9, CAMS SQ PIXEL , CAMS NUM -ASPECTS}
Possible aspect ratios for the cameras.
• enum ECameraViewportType{ CAMV FULLSCREEN = 0, CAMV HORIZONTAL TOP,CAMV HORIZONTAL BOTTOM , CAMV VERTICAL LEFT , CAMV VERTICAL -RIGHT , CAMV QUARTER TOPLEFT , CAMV QUARTER TOPRIGHT , CAMV -QUARTER BOTTOMLEFT , CAMV QUARTER BOTTOMRIGHT }
Specifies where the viewport should be created on the screen.
8.5.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
122 MasterMotion File Documentation
8.6 clientconnclnt.h File Reference
#include <ltengineobjectsclient.h >
#include <autoview/autoview.h >
Include dependency graph for clientconnclnt.h:
Compounds
• classCClientConnClnt
8.6.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.7 clientconnsrvr.h File Reference 123
8.7 clientconnsrvr.h File Reference
#include "shared types.h"
#include <ltengineobjects.h >
#include <autoview/autoview.h >
Include dependency graph for clientconnsrvr.h:
Compounds
• classCClientConnSrvr
8.7.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
124 MasterMotion File Documentation
8.8 clientconsolefn.h File Reference
#include "Commander.h"
Include dependency graph for clientconsolefn.h:
Functions
• void ConsoleFnConnect(int argc, char∗∗argv)• void ConsoleFnFogColor (int argc, char∗∗argv)• void ConsoleFnBackgroundColor (int argc, char∗∗argv)• DeclareSimpleCommand(Simple)• DeclareBroadcastCommand(Bcast)• DeclareServerCommand(Svr)
8.8.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.9 clienthelper.h File Reference 125
8.9 clienthelper.h File Reference
#include <ltcodes.h >
Include dependency graph for clienthelper.h:
Functions
• LTRESULTShutdownIfFailed (LTRESULT result, const char∗pErrStr)• LTRESULTDebugPrintIfFailed (LTRESULT result, const char∗pErrStr)• int DebugWrite (const char∗pStr,...)
8.9.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
126 MasterMotion File Documentation
8.10 clientinterfaces.h File Reference
#include <ltbasetypes.h >
Include dependency graph for clientinterfaces.h:
This graph shows which files directly or indirectly include this file:
Functions
• LTRESULTVerifyClientInterfaces ()
Variables
• ILTCommon∗ g pLTCCommon• ILTPhysics∗ g pLTCPhysics• ILTModelClient∗ g pLTCModel• ILTDrawPrim∗ g pLTCDrawPrim• ILTTexInterface∗ g pLTCTexInterface• ILTClientSoundMgr∗ g pLTCSoundMgr• ILTRenderStyles∗ g pLTCRenderStyles• ILTCollisionMgr ∗ g pLTCCollisionMgr• ILTFontManager∗ g pLTCFontManager• ILTWidgetManager∗ g pLTCWidgetManager
8.10.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.11 clientobjfactories.h File Reference 127
8.11 clientobjfactories.h File Reference
#include <ltbasetypes.h >
Include dependency graph for clientobjfactories.h:
Functions
• LTRESULTRegisterClientObjFactories()
8.11.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
128 MasterMotion File Documentation
8.12 ClientSideObject.h File Reference
#include "stdafx.h"
#include <ltbasedefs.h >
#include <ltengineobjectsclient.h >
Include dependency graph for ClientSideObject.h:
Compounds
• classClientSideObject
8.12.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.13 ClientSideObjectSrvr.h File Reference 129
8.13 ClientSideObjectSrvr.h File Reference
#include "stdafx.h"
#include <ltbasedefs.h >
#include <ltengineobjects.h >
Include dependency graph for ClientSideObjectSrvr.h:
Compounds
• classClientSideObjectSrvr
8.13.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
130 MasterMotion File Documentation
8.14 Codec.h File Reference
Compounds
• structCompBody
Will be used in state vector compression.
Functions
• CompBodyCompressBody(constBody&b)• BodyUncompressBody(constCompBody&b)
8.14.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.15 CoGObserver.h File Reference 131
8.15 CoGObserver.h File Reference
#include "Observer.h"
#include "ObserverManager.h"
#include <ltbasedefs.h >
#include <ltbasetypes.h >
#include <iltserver.h >
Include dependency graph for CoGObserver.h:
Compounds
• classCoGObserver
8.15.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
132 MasterMotion File Documentation
8.16 CoGResponder.h File Reference
#include "Responder.h"
#include "MasterMotionClient.h"
#include "clientinterfaces.h"
#include <iltmessage.h >
#include <ilttexinterface.h >
#include <iltdrawprim.h >
#include <iltclient.h >
Include dependency graph for CoGResponder.h:
Compounds
• classCoGResponder
8.16.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.17 Commander.h File Reference 133
8.17 Commander.h File Reference
#include "stdafx.h"
#include "clientinterfaces.h"
Include dependency graph for cshell/src/Commander.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classCommanderClient
Defines
• #defineAFX COMMANDER H A3E4353FCA83 418B 8222064361BD87CF INCLUDED• #defineDeclareBroadcastCommand(name)
Use this to declare a new broadcast command. To create a new broadcast command, add aDeclare-BroadcastCommand() line to the appropriate section of commands.h.
• #defineDefineBroadcastCommand(name)
Define the functionality of the broadcase command This macro will create all the functions necessary for anew broadcast command To use it, add code like the following to commands.cpp:.
• #defineRegisterBroadcastCommand(name)
Tells the engine about a new broadcast command Add this macro to the appropriate section in the Register-Commands function (defined in Commands.cpp). This will tell the system about the new command youcreated.
• #defineDeclareSimpleCommand(name) void name##FN(int argc, char∗ argv[ ])
Use this to declare a new simple command. To create a new simple command, add aDeclareSimple-Command() line to the appropriate section of commands.h.
• #defineDefineSimpleCommand(name) void name##FN(int argc, char∗ argv[ ])
Define the functionality of the simple command This macro will create all the functions necessary for a newsimple command To use it, add code like the following to commands.cpp:.
• #define RegisterSimpleCommand(name) gpLTClient → RegisterConsoleProgram(#name,name##FN)
Tells the engine about a new simple command Add this macro to the appropriate section in the Register-Commands function (defined in Commands.cpp). This will tell the system about the new command youcreated.
• #defineDeclareServerCommand(name) void name##SRVR(int argc, char∗ argv[ ])
Use this to declare a new server command. To create a new server command, add aDeclareServer-Command() line to the appropriate section of commands.h.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
134 MasterMotion File Documentation
• #defineDefineServerCommand(name)
Define the functionality of the server command This macro will create all the functions necessary for a newserver command To use it, add code like the following to commands.cpp:.
• #defineRegisterServerCommand(name) gpLTClient→RegisterConsoleProgram(#name, name##-SRVR)
Tells the engine about a new server command Add this macro to the appropriate section in the Register-Commands function (defined in Commands.cpp). This will tell the system about the new command youcreated.
8.17.1 Detailed Description
8.17.2 Define Documentation
8.17.2.1 #define AFXCOMMANDER H A3E4353FCA83 418B 8222064361BD87CF -INCLUDED
Commander.hdefines three different kinds of console commands (all of which are amazingly useful)
The three command types are: Simple - only runs on the client the command was typed in on. This is thenormal kind of command Broadcast - runs on ALL clients. A message is sent containing the commandname and arguments to all clients, which then all execute the command Server - runs on the server. Thiscommand must be declared, defined, and registered on both client and server side.
To create one of these commands: Add the Declare∗Command to commands.h Add Register∗Command tocommands.cpp Write the body of the command inside a Define∗Command block like so
DefineSimpleCommand(foo) { you now have access to an int argc and char∗∗ argv function body goeshere...}
For Server commands, DefineServerCommand can have an empty body, but itmust be declared, defined,and registered on the server-side in commands.h, commands.cpp
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.18 Commander.h File Reference 135
8.18 Commander.h File Reference
#include "stdafx.h"
#include "serverinterfaces.h"
Include dependency graph for sshell/src/Commander.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classCommanderServer
Defines
• #define AFX COMMANDER H 56ED1DEB 295F 4542B2EB ECDBB229D936 -INCLUDED
• #defineDeclareServerCommand(name) void name##SRVR(int argc, char∗ argv[ ]);
Declares a new server command This should be placed in the SShellCommands.hfile for each new com-mand that can be run server-side.
• #defineDefineServerCommand(name) void name##SRVR(int argc, char∗ argv[ ])
Defines a new server command A code block should follow this macro, defining the operation of the com-mand.
• #defineRegisterServerCommand(name) CommanderServer::serverfns[#name] = name##SRVR;
Registers a ServerCommand with the engine This should be called from the RegisterCommands function incommands.h.
8.18.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
136 MasterMotion File Documentation
8.19 commandids.h File Reference
This graph shows which files directly or indirectly include this file:
Enumerations
• enumECommandID {CMD MOVE FORWARD = 1,CMD MOVE BACKWARD = 2,CMD -MOVE LEFT = 3, CMD MOVE RIGHT = 4, CMD MOVE UP = 5, CMD MOVE DOWN =6, CMD ROLL LEFT = 11,CMD ROLL RIGHT = 12,CMD YAW LEFT = 13,CMD YAW -RIGHT = 14,CMD PITCH UP = 15,CMD PITCH DOWN = 16,CMD RESET VIEW = 17,CMD FIRST ACTION = 30,CMD ACTION1 = 30,CMD ACTION2 = 31,CMD ACTION3 =32,CMD ACTION4 = 33,CMD LAST ACTION = 33,CMD FILE PLAY = 34,CMD FILE -STOP= 35,CMD FILE PAUSE= 36,CMD FILE FASTER = 37,CMD FILE SLOWER = 38,CMD FILE NEXTFRAME = 39,CMD FILE LASTFRAME = 40,CMD FILE FULLSPEED= 41,CMD SPECIAL1 = 50,CMD SPECIAL2 = 51,CMD MOUSE BUTTON0 = 70,CMD -MOUSE BUTTON1 = 71, CMD MOUSE BUTTON2 = 72, CMD CYCLE PLAYER STATE= 80, CMD CYCLE CAMERA STATE = 81, CMD ADD PLAYER = 82, CMD REMOVE -PLAYER = 83, CMD TOGGLE MENU = 90, CMD TOGGLE RECORDING = 100,CMD -MACRO BEGIN = 101, CMD MACRO END = 200, CMD EXPERIMENT 1 = 201, CMD -EXPERIMENT 2 = 202, CMD EXPERIMENT 3 = 203, CMD EXPERIMENT 4 = 204,CMD EXPERIMENT 5 = 205,CMD EXPERIMENT 6 = 206,CMD EXPERIMENT 7 = 207,CMD EXPERIMENT 8 = 208, CMD EXPERIMENT 9 = 209, CMD NUDGE CW = 210,CMD NUDGE CCW = 211,CMD QUIT = 250}
8.19.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.20 Commands.h File Reference 137
8.20 Commands.h File Reference
#include "stdafx.h"
#include "Commander.h"
Include dependency graph for cshell/src/Commands.h:
Functions
• void RegisterCommands()• DeclareSimpleCommand(TestSimple)• DeclareSimpleCommand(AspectRatio)• DeclareSimpleCommand(DetachCamera)• DeclareSimpleCommand(SetSaul)• DeclareSimpleCommand(MotionFile)• DeclareSimpleCommand(ConnectTarsus)• DeclareSimpleCommand(Play)• DeclareSimpleCommand(RecordSubject)• DeclareSimpleCommand(GetCamera)• DeclareServerCommand(TestServer)• DeclareServerCommand(HideObj)• DeclareServerCommand(ShowObj)• DeclareServerCommand(MoveObj)• DeclareServerCommand(RotateObj)• DeclareServerCommand(ListObjs)• DeclareServerCommand(ConnectSaul)• DeclareServerCommand(PingSaul)• DeclareServerCommand(UnSubscribeSaul)• DeclareServerCommand(AddFilterSaul)• DeclareServerCommand(WriteData)• DeclareServerCommand(DeactivateCoG)• DeclareBroadcastCommand(TestBroadcast)• DeclareBroadcastCommand(ListSubjects)• DeclareBroadcastCommand(StartTracking)
8.20.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
138 MasterMotion File Documentation
8.21 Commands.h File Reference
#include "stdafx.h"
#include "Commander.h"
Include dependency graph for sshell/src/Commands.h:
Functions
• void RegisterCommands()• DeclareServerCommand(TestServer)• DeclareServerCommand(HideObj)• DeclareServerCommand(ShowObj)• DeclareServerCommand(MoveObj)• DeclareServerCommand(RotateObj)• DeclareServerCommand(ListObjs)• DeclareServerCommand(ConnectSaul)• DeclareServerCommand(PingSaul)• DeclareServerCommand(AddFilterSaul)• DeclareServerCommand(UnSubscribeSaul)• DeclareServerCommand(WriteData)• DeclareServerCommand(DeactivateCoG)
8.21.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.22 DataConnection.h File Reference 139
8.22 DataConnection.h File Reference
#include "stdafx.h"
#include <ltbasedefs.h >
Include dependency graph for DataConnection.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classDataConnection
Enumerations
• enum EDCError { DC OK = 0, DC ERROR, DC CONNECT, DC DISABLED , DC -INVALIDMODE , DC DUPLICATESUBJECT , DC NOSUCHSUBJECT}
8.22.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
140 MasterMotion File Documentation
8.23 DataWriter.h File Reference
#include "stdafx.h"
#include <ltbasedefs.h >
#include <ltbasetypes.h >
#include <iltserver.h >
#include "serverinterfaces.h"
#include <iltmodel.h >
Include dependency graph for DataWriter.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classDataWriter
8.23.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.24 DistUIObserver.h File Reference 141
8.24 DistUIObserver.h File Reference
#include "stdafx.h"
#include "Observer.h"
#include <ltbasedefs.h >
#include "msgids.h"
Include dependency graph for DistUIObserver.h:
Compounds
• classDistUIObserver
8.24.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
142 MasterMotion File Documentation
8.25 DistUIResponder.h File Reference
#include "Responder.h"
#include "msgids.h"
#include <ltbasedefs.h >
#include <iltdrawprim.h >
Include dependency graph for DistUIResponder.h:
Compounds
• classDistUIResponder
8.25.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.26 DPLimbError.h File Reference 143
8.26 DPLimbError.h File Reference
#include <stdafx.h >
#include "msgids.h"
#include "LimbError.h"
Include dependency graph for DPLimbError.h:
Compounds
• classDPLimbError
Variables
• const intmaxError = 100000000
8.26.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
144 MasterMotion File Documentation
8.27 FileConnection.h File Reference
#include "stdafx.h"
#include "DataConnection.h"
#include ".. \.. \.. \MMUtils \Timer.h"
Include dependency graph for FileConnection.h:
Compounds
• classFileConnection
8.27.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.28 FileWriter.h File Reference 145
8.28 FileWriter.h File Reference
FileWriter class definition. Header file forFileWriter, a filter used to write out SAUL data to a text file.The functionality of this class has been effectively replaced by theDataWriterclass in MasterMotion.
#include "Filter.h"
Include dependency graph for FileWriter.h:
Compounds
• classFileWriter
A simpleSaulfilter.
8.28.1 Detailed Description
FileWriter class definition. Header file forFileWriter, a filter used to write out SAUL data to a text file.The functionality of this class has been effectively replaced by theDataWriterclass in MasterMotion.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
146 MasterMotion File Documentation
8.29 Filter.h File Reference
Filter class definition. Header file forFilter, an abstract base class that defines the interface for all filteringoperations inSaul.
This graph shows which files directly or indirectly include this file:
Compounds
• classFilter
Base class for all filter types.
8.29.1 Detailed Description
Filter class definition. Header file forFilter, an abstract base class that defines the interface for all filteringoperations inSaul.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.30 FilterFactory.h File Reference 147
8.30 FilterFactory.h File Reference
FilterFactoryclass definition. Header file forFilterFactory, an abstract base class that defines the interfacefor all SaulFilter creation.
Compounds
• classFilterFactory
Abstract factory class for creatingSaulFilter objects.
• classSimpleFilterFactory
The favorite factory class for creatingSaulFilter objects.
8.30.1 Detailed Description
FilterFactoryclass definition. Header file forFilterFactory, an abstract base class that defines the interfacefor all SaulFilter creation.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
148 MasterMotion File Documentation
8.31 FilterManager.h File Reference
FilterManagerclass definition. Header file forFilterManager, a class that is responsible for registering andconfiguring filter classes and maintaining a list of filters currently in use bySaul.
Compounds
• classFilterManager
Filter Manager Class.
8.31.1 Detailed Description
FilterManagerclass definition. Header file forFilterManager, a class that is responsible for registering andconfiguring filter classes and maintaining a list of filters currently in use bySaul.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.32 FilterState.h File Reference 149
8.32 FilterState.h File Reference
FilterManagerclass definition. Header file forFilterManager, a class that is responsible for registering andconfiguring filter classes and maintaining a list of filters currently in use bySaul.
This graph shows which files directly or indirectly include this file:
Compounds
• classFilterState
A Base Class for all filter-specific state information.
8.32.1 Detailed Description
FilterManagerclass definition. Header file forFilterManager, a class that is responsible for registering andconfiguring filter classes and maintaining a list of filters currently in use bySaul.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
150 MasterMotion File Documentation
8.33 guids.h File Reference
#include <autoview/autoview.h >
Include dependency graph for guids.h:
Functions
• DEFINE distr classGUID (CPlayerClnt, 0x3506d0d3, 0x33a2, 0x4a33, 0x83, 0xb9, 0xfd, 0x8d,0x4b, 0xe0, 0x40, 0x8f)
8.33.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.34 helper.h File Reference 151
8.34 helper.h File Reference
#include "commandids.h"
#include "msgids.h"
#include <ltcodes.h >
Include dependency graph for helper.h:
Functions
• const char∗ LTRESULT TO STRING (LTRESULT x)• const char∗ LTEVENT TO STRING (uint32 x)• const char∗ MESSAGEID TO STRING (uint8 x)• const char∗ COMMANDID TO STRING (int x)• floatg GetRandom(float min, float max)• floatg MapJoyDeadZone(uint8 in)
8.34.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
152 MasterMotion File Documentation
8.35 Kalman.h File Reference
Kalmanclass definition. Header file forKalman, a filter used by SAUL to apply a DiscreteKalmanfilterto the data.
#include "Filter.h"
#include "KalmanState.h"
Include dependency graph for Kalman.h:
Compounds
• classKalman
A class for a Discrete Kalman filter.
Functions
• bool findStr(const char∗dst, const char∗ost)
Determin whether two strings are identical.
• Vector3logQuaternion(Quaternionq)
The log operation on the quaternion, transform it to a 3D vector.
• QuaternionexpQuaternion(Vector3v)
The exp operation on the vector, transforms it to a unit quaternion.
• Vector3Calculate(Vector3y vec, SMLXMatrix sysMatrix, SMLXMatrix meaMatrix, SMLXMatrixsysCov, SMLXMatrix meaCov, SMLXMatrix∗x, SMLXMatrix ∗v, Vector3∗velocity, int initial)
The core calculation part of theKalmanfilter.
8.35.1 Detailed Description
Kalmanclass definition. Header file forKalman, a filter used by SAUL to apply a DiscreteKalmanfilterto the data.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.36 KalmanState.h File Reference 153
8.36 KalmanState.h File Reference
KalmanStateclass definition. Header file forKalmanState, which maintains state data for the DiscreteKalmanfilter.
#include "FilterState.h"
#include <list >
#include "Vector3.h"
#include "Quaternion.h"
#include "smlxmatrix.h"
#include "Body.h"
Include dependency graph for KalmanState.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classKalmanFrame
A class to maintain the information for one frame of data.
• classKalmanState
A class to maintain state data for the DiscreteKalmanFilter class.
8.36.1 Detailed Description
KalmanStateclass definition. Header file forKalmanState, which maintains state data for the DiscreteKalmanfilter.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
154 MasterMotion File Documentation
8.37 LimbError.h File Reference
#include "stdafx.h"
#include "Measurement.h"
#include <ltbasedefs.h >
#include <ltbasetypes.h >
Include dependency graph for LimbError.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classLimbError
8.37.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.38 LithtechXformFilter.h File Reference 155
8.38 LithtechXformFilter.h File Reference
LithTechXformFilter class definition. Header file for LithTechXformFilter, a filter used by SAUL to convertdata from Vicon’s coordinate system to Lithtech’s coordinate system.
#include "Filter.h"
Include dependency graph for LithtechXformFilter.h:
Compounds
• classLithtechXformFilter
Converts data from Vicon- to Lithtech coordinates.
8.38.1 Detailed Description
LithTechXformFilter class definition. Header file for LithTechXformFilter, a filter used by SAUL to convertdata from Vicon’s coordinate system to Lithtech’s coordinate system.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
156 MasterMotion File Documentation
8.39 LowPass.h File Reference
LowPassclass definition. Header file forLowPass, a filter used by SAUL to apply a simple damping filterto the data.
#include "Filter.h"
#include "LowPassState.h"
Include dependency graph for LowPass.h:
Compounds
• classLowPass
A class for a simple damping filter.
8.39.1 Detailed Description
LowPassclass definition. Header file forLowPass, a filter used by SAUL to apply a simple damping filterto the data.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.40 LowPassState.h File Reference 157
8.40 LowPassState.h File Reference
LowPassStateclass definition. Header file forLowPassState, which maintains state data for the dampingfilter.
#include "FilterState.h"
#include "Vector3.h"
#include "Quaternion.h"
Include dependency graph for LowPassState.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classLowPassState
A class to maintain state data for theLowPassFilter class.
8.40.1 Detailed Description
LowPassStateclass definition. Header file forLowPassState, which maintains state data for the dampingfilter.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
158 MasterMotion File Documentation
8.41 Marker.h File Reference
Markerclass definition. Header file forMarker, representation of Vicon marker data.
#include "Vector3.h"
Include dependency graph for Marker.h:
Compounds
• classMarker
Class Marker represents Vicon Marker data.
8.41.1 Detailed Description
Markerclass definition. Header file forMarker, representation of Vicon marker data.
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.42 MasterMotionClient.h File Reference 159
8.42 MasterMotionClient.h File Reference
#include "stdafx.h"
#include "shared types.h"
#include <iclientshell.h >
#include <ilttexinterface.h >
Include dependency graph for MasterMotionClient.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classMasterMotionClient
Enumerations
• enum EClientGameState { CGS STARTING UP = 0, CGS MENU , CGS LOADING -WORLD , CGS PLAYING , CGS PAUSED, CGS WORLD EXIT , CGS SCOREBOARD,CGS CINEMATIC , CGS SHUTTING DOWN, CGS SAMPLE , CGS NUM STATES }
Variables
• MasterMotionClient∗ g pCShell
8.42.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
160 MasterMotion File Documentation
8.43 MasterMotionServer.h File Reference
#include "stdafx.h"
#include "worldpropsrvr.h"
#include "DataWriter.h"
#include <iservershell.h >
Include dependency graph for MasterMotionServer.h:
Compounds
• classMasterMotionServer
Defines
• #defineMAX CLIENTS 32
Variables
• MasterMotionServer∗ g pSShell
8.43.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.44 Measurement.h File Reference 161
8.44 Measurement.h File Reference
#include "Observer.h"
Include dependency graph for Measurement.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classMeasurement
8.44.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
162 MasterMotion File Documentation
8.45 MrTsVan.h File Reference
#include <ltbasedefs.h >
#include <ltengineobjects.h >
Include dependency graph for MrTsVan.h:
Compounds
• classMrTsVan
Hey, stay out of Mr. T’s van!
Defines
• #defineAFX MRTSVAN H A6B13CAA 04374D5C 8EDA 06899FFEA187 INCLUDED
This is where Mr. T lives, fool!
8.45.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.46 msgids.h File Reference 163
8.46 msgids.h File Reference
This graph shows which files directly or indirectly include this file:
Enumerations
• enum EMessageID { MSG STARTPOINT ROT = 1, MSG CMD SERVER, MSG CMD -BROADCAST, MSG CMD SAULSUBSCRIBE, MSG CSO INIT , MSG CSO UPDATE,MSG OBS UPDATE, MSG COG ACTIVATE , MSG COG DEACTIVATE , MSG BC -ACTIVATE , MSG BC DEACTIVATE , MSG DUI ACTIVATE , MSG DUI DEACTIVATE}
• enumObserverID { OBS BASE, OBS SIMPLE LIMB ERROR, OBS AVG LIMB ERROR,OBS DP LIMB ERROR, OBS NUM IDS, BODYCOLOR OBSERVER IDS = 19000,COG -OBSERVER IDS = 21000,DISTUI OBSERVER IDS = 22000}
8.46.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
164 MasterMotion File Documentation
8.47 Observer.h File Reference
This graph shows which files directly or indirectly include this file:
Compounds
• classObserver
Observers watch the state of the system Observers will watch the state of the Server and can report to theclient (via the Send method) what they observed. Examples of use could be: For creating user interfaces byobserving real-time behavior, for adding annotation to the motions that users are performing, or monitoringthe state of objects in the world.
8.47.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.48 ObserverManager.h File Reference 165
8.48 ObserverManager.h File Reference
#include "stdafx.h"
Include dependency graph for ObserverManager.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classObserverManager• classPeriodicObserver
Typedefs
• typedef map< const void∗, vector< Observer∗> > ObserverMap
Variables
• ObserverManager∗ g ObserverManager
8.48.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
166 MasterMotion File Documentation
8.49 playerclnt.h File Reference
#include "camera.h"
#include <ltengineobjectsclient.h >
#include <autoview/autoview.h >
Include dependency graph for playerclnt.h:
Compounds
• classCPlayerClnt
Enumerations
• enum EPlayerState { PLS SPECTATOR = 0, PLS SPECTATOR NOSLIDE , PLS -SPECTATOR NOCLIP , PLS REMOTE CONTROL , PLS ORBIT , PLS NUM STATES}
8.49.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.50 playersrvr.h File Reference 167
8.50 playersrvr.h File Reference
#include <ltengineobjects.h >
#include <autoview/autoview.h >
Include dependency graph for playersrvr.h:
Compounds
• classCPlayerSrvr
8.50.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
168 MasterMotion File Documentation
8.51 Popup.h File Reference
#include "Filter.h"
#include "PopupState.h"
Include dependency graph for Popup.h:
Compounds
• classPopup
8.51.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.52 PopupState.h File Reference 169
8.52 PopupState.h File Reference
#include "FilterState.h"
#include "Vector3.h"
#include "Quaternion.h"
#include "Body.h"
Include dependency graph for PopupState.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classPopupState
8.52.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
170 MasterMotion File Documentation
8.53 Quaternion.h File Reference
This graph shows which files directly or indirectly include this file:
Compounds
• classQuaternion
8.53.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.54 RealTimeBody.h File Reference 171
8.54 RealTimeBody.h File Reference
#include "stdafx.h"
#include <ltbasedefs.h >
Include dependency graph for RealTimeBody.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classRealTimeBody
8.54.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
172 MasterMotion File Documentation
8.55 RealTimeClientConnection.h File Reference
#include "RealTimeConnection.h"
Include dependency graph for RealTimeClientConnection.h:
Compounds
• classRealTimeClientConnection
8.55.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.56 RealTimeConnection.h File Reference 173
8.56 RealTimeConnection.h File Reference
#include "stdafx.h"
#include "DataConnection.h"
Include dependency graph for RealTimeConnection.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classRealTimeConnection
8.56.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
174 MasterMotion File Documentation
8.57 RealTimeServerConnection.h File Reference
#include "RealTimeConnection.h"
Include dependency graph for RealTimeServerConnection.h:
Compounds
• classRealTimeServerConnection
8.57.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.58 RealTimeSubject.h File Reference 175
8.58 RealTimeSubject.h File Reference
#include "stdafx.h"
#include "RealTimeBody.h"
Include dependency graph for RealTimeSubject.h:
Compounds
• classRealTimeSubject
8.58.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
176 MasterMotion File Documentation
8.59 Responder.h File Reference
This graph shows which files directly or indirectly include this file:
Compounds
• classResponder
8.59.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.60 ResponderManager.h File Reference 177
8.60 ResponderManager.h File Reference
#include "stdafx.h"
Include dependency graph for ResponderManager.h:
Compounds
• classResponderManager
Variables
• ResponderManager∗ g ResponderManager
8.60.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
178 MasterMotion File Documentation
8.61 Saul.h File Reference
Compounds
• classSaul
class Saul is our Filtering Beast.
8.61.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.62 SaulAdmin.h File Reference 179
8.62 SaulAdmin.h File Reference
#include "resource.h"
Include dependency graph for SaulAdmin.h:
Compounds
• classCSaulAdminApp
8.62.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
180 MasterMotion File Documentation
8.63 SaulAdminDlg.h File Reference
#include ".. \Messages.h"
Include dependency graph for SaulAdminDlg.h:
Compounds
• classCSaulAdminDlg
8.63.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.64 Sender.h File Reference 181
8.64 Sender.h File Reference
Compounds
• classSender
class Sender sends data via UDP to a client.
8.64.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
182 MasterMotion File Documentation
8.65 serverevents.h File Reference
Variables
• const uint8SRVR EVENT ENGINE INIT = 0• const uint8SRVR EVENT PHYSICS UPDATE = 1• const uint8SRVR EVENT UPDATE = 2• const uint8SRVR EVENT ENGINE TERM = 3• const uint8SRVR EVENT PRE START WORLD = 4• const uint8SRVR EVENT POST START WORLD = 5• const uint8SRVR EVENT OBJ CREATED = 6
8.65.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.66 serverinterfaces.h File Reference 183
8.66 serverinterfaces.h File Reference
#include <ltbasedefs.h >
Include dependency graph for serverinterfaces.h:
This graph shows which files directly or indirectly include this file:
Functions
• LTRESULTVerifyServerInterfaces ()
Variables
• ILTCommon∗ g pLTSCommon• ILTPhysics∗ g pLTSPhysics• ILTModel ∗ g pLTSModel• ILTSoundMgr∗ g pLTSSoundMgr• ILTCollisionMgr ∗ g pLTSCollisionMgr
8.66.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
184 MasterMotion File Documentation
8.67 serverobjfactories.h File Reference
#include <ltbasetypes.h >
Include dependency graph for serverobjfactories.h:
Functions
• LTRESULTRegisterServerObjFactories()
8.67.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.68 sharedinterfaces.h File Reference 185
8.68 sharedinterfaces.h File Reference
#include <ltbasedefs.h >
Include dependency graph for sharedinterfaces.h:
Functions
• LTRESULTVerifySharedInterfaces ()
Variables
• ILTServer∗ g pLTCSBase
8.68.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
186 MasterMotion File Documentation
8.69 SimpleLimbError.h File Reference
#include <stdafx.h >
#include "msgids.h"
#include "LimbError.h"
Include dependency graph for SimpleLimbError.h:
Compounds
• classSimpleLimbError
8.69.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.70 startpoint.h File Reference 187
8.70 startpoint.h File Reference
#include <ltbasedefs.h >
#include <ltengineobjects.h >
Include dependency graph for startpoint.h:
Compounds
• classStartPoint
8.70.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
188 MasterMotion File Documentation
8.71 StupidObserver.h File Reference
#include "Observer.h"
Include dependency graph for StupidObserver.h:
Compounds
• classStupidObserver
8.71.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.72 Tarsus.h File Reference 189
8.72 Tarsus.h File Reference
#include <winsock2.h >
#include "DataConnection.h"
Include dependency graph for FullProject/cshell/src/Tarsus.h:
Compounds
• classTarsus
class Tarsus talks to a running real-time server via TCP/IP.
• structTarsusInitData
Enumerations
• enum ETarsusError { TE OK = 0, TE CONNECT, TE DUPLICATENODE , TE -NOSUCHNODE, TE DISABLED }
An enum for error codes.
• enumEType{ ERequest, EReply }An enum forTarsusmessage types.
• enumEPacket{ EClose, EInfo , EData, EStreamOn, EStreamOff }Used with EType to specify message type.
8.72.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
190 MasterMotion File Documentation
8.73 Tarsus.h File Reference
#include <winsock2.h >
Include dependency graph for Saul/Tarsus.h:
Compounds
• classTarsus
class Tarsus talks to a running real-time server via TCP/IP.
Enumerations
• enum ETarsusError { TE OK = 0, TE CONNECT, TE DUPLICATENODE , TE -NOSUCHNODE, TE DISABLED }
An enum for error codes.
• enumEType{ ERequest, EReply }An enum forTarsusmessage types.
• enumEPacket{ EClose, EInfo , EData, EStreamOn, EStreamOff }Used with EType to specify message type.
8.73.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.74 textstream.h File Reference 191
8.74 textstream.h File Reference
#include "ltbasedefs.h"
#include "ltengineobjects.h"
Include dependency graph for textstream.h:
Compounds
• classCTextStream
Defines
• #defineTEXT STREAM BUFFER SIZE 256
8.74.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
192 MasterMotion File Documentation
8.75 Timer.h File Reference
#include <windows.h >
Include dependency graph for Timer.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classTimer
8.75.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.76 TrigLUT.h File Reference 193
8.76 TrigLUT.h File Reference
#include "Utils.h"
Include dependency graph for TrigLUT.h:
Compounds
• classTrigLUT
8.76.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
194 MasterMotion File Documentation
8.77 Utils.h File Reference
#include "Quaternion.h"
#include "Vector3.h"
Include dependency graph for Utils.h:
This graph shows which files directly or indirectly include this file:
Typedefs
• typedef charint8• typedef unsigned charuint8• typedef shortint16• typedef unsigned shortuint16• typedef longint32• typedef unsigned intuint32
Functions
• QuaternionAAToQuat (Vector3v)• Vector3QuatToAA (Quaternionq)• bool IsSplitChar (char c, char sep)• vector< string> Split (const string &s, char sep=’\0’)
Variables
• const floatpi = 3.141592653589f• const floatDEG TO RAD = pi / 180.0• const floatRAD TO DEG = 180.0 / pi
8.77.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.78 Vector3.h File Reference 195
8.78 Vector3.h File Reference
This graph shows which files directly or indirectly include this file:
Compounds
• classVector3
8.78.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
196 MasterMotion File Documentation
8.79 worldmodel.h File Reference
#include <ltbasedefs.h >
#include <ltengineobjects.h >
Include dependency graph for worldmodel.h:
Compounds
• classCWorldModel
8.79.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
8.80 worldpropclnt.h File Reference 197
8.80 worldpropclnt.h File Reference
#include <ltbasedefs.h >
#include <ltengineobjectsclient.h >
#include <iobjectplugin.h >
#include <autoview/autoview.h >
#include <ilttexinterface.h >
Include dependency graph for worldpropclnt.h:
Compounds
• classCWorldPropClnt
Enumerations
• enumEGameType{ GT FFA DM = 0, GT CTF, GT UNITY vs HARM , GT NUM TYPES }
Variables
• const charg aszGameTypes[GT NUM TYPES][16]
8.80.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
198 MasterMotion File Documentation
8.81 worldpropsrvr.h File Reference
#include <ltbasedefs.h >
#include <ltengineobjects.h >
#include <iobjectplugin.h >
#include <autoview/autoview.h >
Include dependency graph for worldpropsrvr.h:
This graph shows which files directly or indirectly include this file:
Compounds
• classCWorldPropPlugin• classCWorldPropSrvr
Enumerations
• enumEGameType{ GT FFA DM = 0, GT CTF, GT UNITY vs HARM , GT NUM TYPES }
Variables
• const charg aszGameTypes[GT NUM TYPES][16]
8.81.1 Detailed Description
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
Chapter 9
MasterMotion Page Documentation
9.1 Bug List
ClassBodyColor Error should be float
Index
∼AvgLimbErrorAvgLimbError,29
∼BodyBody,31
∼BodyColorBodyColor,33
∼CCameraCCamera,35
∼CClientConnClntCClientConnClnt,37
∼CClientConnSrvrCClientConnSrvr,38
∼CPlayerClntCPlayerClnt,47
∼CPlayerSrvrCPlayerSrvr,49
∼CTextStreamCTextStream,50
∼CWorldModelCWorldModel,51
∼CWorldPropClntCWorldPropClnt,52
∼CWorldPropSrvrCWorldPropSrvr,54
∼ClientSideObjectClientSideObject,39
∼ClientSideObjectSrvrClientSideObjectSrvr,41
∼CoGObserverCoGObserver,42
∼CoGResponderCoGResponder,43
∼DPLimbErrorDPLimbError,61
∼DataConnectionDataConnection,55
∼DataWriterDataWriter,58
∼DistUIObserverDistUIObserver,59
∼DistUIResponderDistUIResponder,60
∼FileConnectionFileConnection,62
∼FileWriter
FileWriter,64∼Filter
Filter, 66∼FilterFactory
FilterFactory,68∼FilterManager
FilterManager,69∼FilterState
FilterState,70∼Kalman
Kalman,71∼KalmanState
KalmanState,73∼LimbError
LimbError,74∼LithtechXformFilter
LithtechXformFilter,77∼LowPass
LowPass,78∼LowPassState
LowPassState,79∼Marker
Marker,80∼MasterMotionClient
MasterMotionClient,81∼MasterMotionServer
MasterMotionServer,85∼Measurement
Measurement,87∼MrTsVan
MrTsVan,88∼Observer
Observer,89∼ObserverManager
ObserverManager,91∼Popup
Popup,94∼PopupState
PopupState,95∼Quaternion
Quaternion,96∼RealTimeBody
RealTimeBody,98∼RealTimeClientConnection
RealTimeClientConnection,99
INDEX 201
∼RealTimeConnectionRealTimeConnection,100
∼RealTimeServerConnectionRealTimeServerConnection,102
∼RealTimeSubjectRealTimeSubject,103
∼ResponderResponder,104
∼ResponderManagerResponderManager,105
∼SaulSaul,106
∼SenderSender,108
∼SimpleLimbErrorSimpleLimbError,110
∼StartPointStartPoint,111
∼StupidObserverStupidObserver,112
∼TarsusTarsus,113
∼Vector3Vector3,115
AAToQuatUtilities, 24Utils.h, 194
AddClientSideObjectMasterMotionServer,85
AddFilterFilterManager,69
AddMacroMasterMotionClient,82
AddPlayerCClientConnClnt,37CClientConnSrvr,38MasterMotionClient,83
AddSubjectDataConnection,55
AFX AVGLIMBERROR H 5B675520-1CD6 4E44B3DA -DA400633DD58 INCLUDED
Server,21AFX BODYCOLOR H 08DDA413F185 -
45A2 8F99D994A2C6EE44 -INCLUDED
Server,21AFX BODYCOLOR H E73FDC8FF836 -
48C887D1 E7027317D59A -INCLUDED
Client,13AFX CLIENTSIDEOBJECTH 1E5409D6-
5B76 4975B43F FD05E0D80643 -
INCLUDEDClient,13
AFX CLIENTSIDEOBJECTSRVR H -A86AFCFA 2684491EB8E2 -B996B999CFF1 INCLUDED
Server,21AFX COMMANDER H 56ED1DEB295F-
4542B2EB ECDBB229D936 -INCLUDED
Server,21sshell/src/Commander.h,135
AFX COMMANDER H A3E4353FCA83 -418B 8222064361BD87CF -INCLUDED
cshell/src/Commander.h,134AFX DISTUIOBSERVERH D870B231-
B8B7 479D B65C BD79A0898065-INCLUDED
Server,22AFX DISTUIRESPONDERH 14875774-
64164A1A 801B D9C037FBFE4A-INCLUDED
Client,14AFX DPLIMBERRORH 6E4C0BE7-
88744471876C4B72752003AE -INCLUDED
Server,22AFX LIMBERROR H 8D1FDA2D EE9F-
4FFCBEB8 3306923B711C-INCLUDED
Server,22AFX MEASUREMENT H 0ACC6EA2-
88534A52 8DA2 B535781F1DAA-INCLUDED
Server,22AFX MRTSVAN H A6B13CAA 0437 -
4D5C 8EDA 06899FFEA187 -INCLUDED
MrTsVan.h,162AFX OBSERVERH 9B8DC9D4437D -
458CBB4C BCC7AA4AAABD -INCLUDED
Server,22AFX OBSERVERMANAGERH 0D0D6077-
74354CEEB7FC 2D7DA30424C3-INCLUDED
Server,22AFX REALTIMEBODY H D9C6D9F7-
C7D8 42998E61BC87F1E622CA-INCLUDED
Common,19AFX REALTIMECLIENTCONNECTION -
H 52A019A38C80404CBDA6 -C2D9FBC0D23B INCLUDED
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
202 INDEX
Client,14AFX REALTIMECONNECTION H -
8C0364F03291434E824F-8D9DF1AE2970 INCLUDED
Common,19AFX REALTIMEMODEL H 33F60BBB-
02984BEE B11C 51D13A478067 -INCLUDED
Common,19AFX REALTIMESERVERCONNECTION-
H E689E3EF4C3D 45678946 -92C92F51FAD1 INCLUDED
Server,22AFX RESPONDERH 67D5EF860B2A -
4DE8 9786B5979FA6096C -INCLUDED
Client,14AFX RESPONDERMANAGERH -
98993AD00DCD 40C6AB3A -4492A4F054BB INCLUDED
Client,14AFX SIMPLELIMBERRORH -
F3F79982A8FF 433FB5CA -1C3DA8F1DCB2 INCLUDED
Server,22AFX STUPIDOBSERVERH 6118D4E9-
F6584F71A585 875CFEE2E11E-INCLUDED
Server,22AFX TARSUSH D1EF8A677808 -
4687BED1 EE7BE3CE5FDB -INCLUDED
Client,14attachObj
CPlayerClnt,48attachSock
CPlayerClnt,48AttachToSocket
CPlayerClnt,48AvgLimbError
∼AvgLimbError,29AvgLimbError,29Configure,29GetUID,29
AvgLimbError,29Measure,30
AvgLimbError.h,117
baseCSOGUIDClientSideObjectSrvr,41
bcastfnsCommanderClient,44
BeginWritingDataFileMasterMotionClient,82
bEnabledDataConnection,56
bodiesMarker,80RealTimeSubject,103Saul,106
Body,31∼Body,31Body,31Compress,31markers,31name,31offset,31position,31rotation,31Uncompress,31
bodyFilterState,70
Body.h,118BodyColor
∼BodyColor,33BodyColor,33Configure,33deltaThreshold,33errorMeasure,33GetUID,33lastLeftArm,33lastLeftLeg,33lastRightArm,33lastRightLeg,33minErrorThreshold,33subjectList,33Update,33
BodyColor,33Draw,34Update,34
BodyColor.h,119, 120BroadcastCmd
CommanderClient,44BuildNodeMap
ClientSideObject,40
CacheFilesMasterMotionServer,85
CalculateSaul,28
CallbackClientIDCClientConnClnt,37CPlayerClnt,47
CallbackPlayersCClientConnSrvr,38
CallBcastFnCommanderClient,44
CallServerFn
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 203
CommanderServer,45camera.h,121CCamera,35
∼CCamera,35CCamera,35CreateCamera,35CycleAspect,35GetAspect,35GetCameraHandle,35GetPosition,35GetRotation,35GetSyncObject,35GetSyncRotation,35GetZOffset,36Init, 35m bSyncRotation,35m eAspect,35m fFovX, 35m hCamera,35m hSyncObject,35m zOffset,35OnCommandOff,35OnCommandOn,35Render,35SetAspect,35SetCameraViewport,36SetRotation,35SetSyncObject,36SetSyncRotation,35SetZOffset,35Term,35Update,35UpdateAspect,35
CClientConnClnt∼CClientConnClnt,37AddPlayer,37CallbackClientID,37CClientConnClnt,37distr callbackfn, 37distr class,37distr uint32,37distr uint32 callback,37GetClientID,37HandleInput,37Init, 37m bFirstUpdate,37OnCommandOff,37OnCommandOn,37RemoteAngularVelocityUpdate,37RemotePositionUpdate,37RemoteRotationUpdate,37RemoteVelocityUpdate,37RemovePlayer,37SetRotation,37
Update,37CClientConnClnt,37CClientConnSrvr
∼CClientConnSrvr,38AddPlayer,38CallbackPlayers,38CClientConnSrvr,38distr callbackfn, 38distr class,38distr uint32,38distr uint32 callback,38EngineMessageFn,38FirstUpdate,38GetForceUpdateObjects,38m bFirstUpdate,38m hClient,38m pPlayers,38ObjectCreated,38ObjectMessageFn,38OnClientMessage,38PreCreate,38RemoteAngularVelocityUpdate,38RemotePositionUpdate,38RemoteRotationUpdate,38RemoteVelocityUpdate,38SetClient,38Update,38
CClientConnSrvr,38Cleanup
Saul,106Client,13
AFX BODYCOLOR H E73FDC8F-F83648C887D1 E7027317D59A -INCLUDED , 13
AFX CLIENTSIDEOBJECTH -1E5409D65B76 4975B43F -FD05E0D80643 INCLUDED ,13
AFX DISTUIRESPONDERH -1487577464164A1A 801B -D9C037FBFE4A INCLUDED ,14
AFX REALTIMECLIENTCONNECTION -H 52A019A38C80404CBDA6 -C2D9FBC0D23B INCLUDED ,14
AFX RESPONDERH 67D5EF86-0B2A 4DE8 9786B5979FA6096C -INCLUDED , 14
AFX RESPONDERMANAGERH -98993AD00DCD 40C6AB3A -4492A4F054BB INCLUDED ,14
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
204 INDEX
AFX TARSUSH D1EF8A677808 -4687BED1 EE7BE3CE5FDB -INCLUDED , 14
ConsoleFnBackgroundColor,15ConsoleFnConnect,15ConsoleFnFogColor,15DebugPrintIfFailed,15DebugWrite,15DeclareBroadcastCommand,16DeclareBroadcastCommand,15, 16DeclareServerCommand,14–16DeclareSimpleCommand,14, 15DefineBroadcastCommand,16DefineServerCommand,17DefineSimpleCommand,17EPlayerState,17g aszGameTypes,18g pCShell,16g pLTCCollisionMgr,16g pLTCCommon,16g pLTCDrawPrim,16g pLTCFontManager,16g pLTCModel,16g pLTCPhysics,16g pLTCRenderStyles,16g pLTCSoundMgr,16g pLTCTexInterface,16g pLTCWidgetManager,16g ResponderManager,16RegisterBroadcastCommand,17RegisterClientObjFactories,15RegisterCommands,15RegisterServerCommand,14RegisterSimpleCommand,14ShutdownIfFailed,15VerifyClientInterfaces,15
clientconnclnt.h,122clientconnsrvr.h,123clientconsolefn.h,124
ConsoleFnBackgroundColor,124ConsoleFnConnect,124ConsoleFnFogColor,124DeclareBroadcastCommand,124DeclareServerCommand,124DeclareSimpleCommand,124
clienthelper.h,125DebugPrintIfFailed,125DebugWrite,125ShutdownIfFailed,125
clientinterfaces.h,126g pLTCCollisionMgr,126g pLTCCommon,126g pLTCDrawPrim,126g pLTCFontManager,126
g pLTCModel,126g pLTCPhysics,126g pLTCRenderStyles,126g pLTCSoundMgr,126g pLTCTexInterface,126g pLTCWidgetManager,126VerifyClientInterfaces,126
clientobjfactories.h,127RegisterClientObjFactories,127
ClientSideObject∼ClientSideObject,39ClientSideObject,39Create,39getGUID,39getHandle,39getName,39NodeControlFunction,39SetRenderStyle,39SetSubjectName,39SetTexture,39Term,39Update,39
ClientSideObject,39BuildNodeMap,40NodeControl,40SetRootBody,40
ClientSideObject.h,128ClientSideObjectSrvr
∼ClientSideObjectSrvr,41baseCSOGUID,41ClientSideObjectSrvr,41csoGuid,41flags,41flags2,41InitCSO,41mirror, 41modelName,41name,41pos,41rot, 41rsNames,41scale,41subjectName,41texNames,41UpdateCSO,41
ClientSideObjectSrvr,41ClientSideObjectSrvr.h,129ClientSideObjects
MasterMotionClient,82Close
CTextStream,50Codec.h,130
CompressBody,130UncompressBody,130
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 205
CoGObserver∼CoGObserver,42CoGObserver,42Configure,42GetUID,42Update,42
CoGObserver,42CoGObserver.h,131CoGResponder
∼CoGResponder,43CoGResponder,43GetUID,43
CoGResponder,43Draw,43Update,43
CoGResponder.h,132Commander.h,133, 135CommanderClient,44
bcastfns,44BroadcastCmd,44CallBcastFn,44ServerCmd,44
CommanderServer,45CallServerFn,45serverfns,45
COMMANDID TO STRINGCommon,20helper.h,151
commandids.h,136Commands.h,137, 138Common,19
AFX REALTIMEBODY H D9C6D9F7-C7D8 42998E61BC87F1E622CA-INCLUDED , 19
AFX REALTIMECONNECTION -H 8C0364F03291434E824F-8D9DF1AE2970 INCLUDED ,19
AFX REALTIMEMODEL H -33F60BBB02984BEE B11C -51D13A478067 INCLUDED , 19
COMMANDID TO STRING,20DEFINE distr classGUID, 20g GetRandom,20g MapJoyDeadZone,20g pLTCSBase,20LTEVENT TO STRING,20LTRESULT TO STRING,20MESSAGEIDTO STRING,20TEXT STREAM BUFFERSIZE,19VerifySharedInterfaces,20
CompBodypx, 46py, 46
pz,46rx, 46ry, 46rz, 46
CompBody,46Compress
Body,31Saul,27
CompressBodyCodec.h,130
ConfigFilterFilterManager,69
ConfigureAvgLimbError,29BodyColor,33CoGObserver,42DistUIObserver,59DPLimbError,61FileWriter,64Filter, 66Kalman,71LimbError,74LowPass,78Observer,89ObserverManager,91Popup,94SimpleLimbError,110StupidObserver,112
ConnectToRTServerObserverManager,91
ConnectToSaulMasterMotionClient,82
ConnectToTarsusMasterMotionClient,82
ConsoleFnBackgroundColorClient,15clientconsolefn.h,124
ConsoleFnConnectClient,15clientconsolefn.h,124
ConsoleFnFogColorClient,15clientconsolefn.h,124
CPlayerClnt∼CPlayerClnt,47attachObj,48attachSock,48CallbackClientID,47CPlayerClnt,47CycleState,47distr callbackfn, 47distr class,47distr uint32 callback,47fTurnSensitivity,48
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
206 INDEX
GetCamera,47GetClientID,47GetMaxVelocity,47GetState,47GetTurnSensitivity,47HandleInput,47HandleStateChange,47Init, 47isAttachedToSocket,48m bFirstUpdate,47m bMoved,47m Camera,47m eState,47m maxVel,48m pCollSphere,47m vNewVel,48OnCommandOff,47OnCommandOn,47PhysicsUpdate,47RemoteAngularVelocityUpdate,47RemotePositionUpdate,47RemoteRotationUpdate,47RemoteVelocityUpdate,47SetRotation,47SetState,47Update,47
CPlayerClnt,47AttachToSocket,48SetMaxVelocity,48SetTurnSensitivity,48
CPlayerSrvr∼CPlayerSrvr,49CPlayerSrvr,49distr class,49distr uint32,49EngineMessageFn,49m hClient,49ObjectCreated,49ObjectMessageFn,49OnMessage,49PreCreate,49RemoteAngularVelocityUpdate,49RemotePositionUpdate,49RemoteRotationUpdate,49RemoteVelocityUpdate,49SetClient,49Update,49
CPlayerSrvr,49Create
ClientSideObject,39CreateCamera
CCamera,35CreateFilter
FilterFactory,68
CreateFilterStateFilterFactory,68
cshell/src/Commander.hAFX COMMANDER H A3E4353F-
CA83 418B 8222064361BD87CF -INCLUDED , 134
DeclareServerCommand,133DeclareSimpleCommand,133RegisterServerCommand,134RegisterSimpleCommand,133
cshell/src/Commands.hDeclareBroadcastCommand,137DeclareServerCommand,137DeclareSimpleCommand,137RegisterCommands,137
csoGuidClientSideObjectSrvr,41
CTextStream∼CTextStream,50Close,50CTextStream,50m Buffer, 50m iPos,50m pStream,50m szFilename,50Open,50ReadLine,50ReadStringList,50ReadVal,50SeekToSection,50TruncateWhitespace,50
CTextStream,50CWorldModel
∼CWorldModel,51CWorldModel,51EngineMessageFn,51
CWorldModel,51CWorldPropClnt
∼CWorldPropClnt,52CWorldPropClnt,52distr class,52GetBackgroundColor,52Update,52
CWorldPropClnt,52CWorldPropPlugin
PreHookEditStringList,53CWorldPropPlugin,53CWorldPropSrvr
∼CWorldPropSrvr,54CWorldPropSrvr,54distr class,54EngineMessageFn,54
CWorldPropSrvr,54CycleAspect
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 207
CCamera,35CycleState
CPlayerClnt,47
DataKalmanState,73
DataConnection∼DataConnection,55AddSubject,55bEnabled,56DataConnection,55Disable,55Enable,55GetLastError,55GetNumSubjects,55GetSpeed,56GetSubject,55GoFrame,56GoNextFrame,56GoPrevFrame,56Initialize, 55IsEnabled,55IsPlaying,56IsRecording,56lastError,56LastFrame,56lastFrame,56Pause,56Play,56recordLabel,56RemoveSubject,55SetRecordLabel,56SetSpeed,56StartRecording,56Stop,56StopRecording,56subjects,56Update,55
DataConnection,55DataConnection.h,139datafile
MasterMotionClient,83DataWriter
∼DataWriter,58DataWriter,58IsEnabled,58lognum,58ResetLognum,58Update,58
DataWriter,58DataWriter.h,140DebugPrintIfFailed
Client,15clienthelper.h,125
DebugWriteClient,15clienthelper.h,125
declareinterfaceMasterMotionClient,81MasterMotionServer,85
DeclareBroadcastCommandClient,15, 16clientconsolefn.h,124cshell/src/Commands.h,137
DeclareServerCommandClient,14–16clientconsolefn.h,124cshell/src/Commander.h,133cshell/src/Commands.h,137Server,21, 22sshell/src/Commander.h,135sshell/src/Commands.h,138
DeclareSimpleCommandClient,14, 15clientconsolefn.h,124cshell/src/Commander.h,133cshell/src/Commands.h,137
DEFINE distr classGUIDCommon,20guids.h,150
DefineBroadcastCommandClient,16
DefineServerCommandClient,17Server,23
DefineSimpleCommandClient,17
DEG TO RADUtilities, 25Utils.h, 194
deltaThresholdBodyColor,33
dfMasterMasterMotionClient,83
dfStudentMasterMotionClient,83
DisableDataConnection,55
DisplayWatermarkMasterMotionClient,83
distr callbackfnCClientConnClnt,37CClientConnSrvr,38CPlayerClnt,47
distr classCClientConnClnt,37CClientConnSrvr,38CPlayerClnt,47
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
208 INDEX
CPlayerSrvr,49CWorldPropClnt,52CWorldPropSrvr,54
distr uint32CClientConnClnt,37CClientConnSrvr,38CPlayerSrvr,49
distr uint32 callbackCClientConnClnt,37CClientConnSrvr,38CPlayerClnt,47
DistUIObserver∼DistUIObserver,59Configure,59DistUIObserver,59GetUID,59Update,59
DistUIObserver,59DistUIObserver.h,141DistUIResponder
∼DistUIResponder,60DistUIResponder,60FakeUpdate,60GetUID,60
DistUIResponder,60Draw,60Update,60
DistUIResponder.h,142dot
Utilities, 25Vector3,115
DPLimbError∼DPLimbError,61Configure,61DPLimbError,61GetUID,61
DPLimbError,61Measure,61
DPLimbError.hmaxError,143
DPLimbError.h,143Draw
BodyColor,34CoGResponder,43DistUIResponder,60Responder,104
DrawAllResponderManager,105
EnableDataConnection,55
EndWritingDataFileMasterMotionClient,82
EngineMessageFn
CClientConnSrvr,38CPlayerSrvr,49CWorldModel,51CWorldPropSrvr,54StartPoint,111
EPlayerStateClient,17
errorMeasureBodyColor,33
expQuaternionKalman.h,152Saul,27
FakeUpdateDistUIResponder,60
FasterMasterMotionClient,82
FileConnection∼FileConnection,62FileConnection,62GetSpeed,62GoNextFrame,62GoPrevFrame,62IsPlaying,62LastFrame,62Pause,62Play,62SetSpeed,62Stop,62Update,62
FileConnection,62GoFrame,63Initialize, 63
FileConnection.h,144FileLoadNotify
MasterMotionServer,85FileWriter
∼FileWriter,64Configure,64FileWriter,64FilterManager,64name,64PostUpdate,64PreUpdate,64Update,64
FileWriter,64FileWriter.h,145Filter, 66
∼Filter, 66Configure,66Filter, 66FilterManager,66name,66PostUpdate,66
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 209
PreUpdate,66Update,66
Filter.h,146FilterFactory
∼FilterFactory,68CreateFilter,68CreateFilterState,68FilterFactory,68
FilterFactory,68FilterFactory.h,147FilterManager
∼FilterManager,69AddFilter,69ConfigFilter,69FileWriter,64Filter, 66FilterManager,69RegisterFilter,69RemoveFilters,69SetFilter,69SetFilterList,69Update,69
FilterManager,69FilterManager.h,148FilterState
∼FilterState,70body,70FilterState,70
FilterState,70FilterState.h,149findStr
Saul,28FirstUpdate
CClientConnSrvr,38MasterMotionClient,81
flagsClientSideObjectSrvr,41
flags2ClientSideObjectSrvr,41
FrameNumberTarsus,113
fTurnSensitivityCPlayerClnt,48
FullSpeedMasterMotionClient,82
g aszGameTypesClient,18Server,23
g GetRandomCommon,20helper.h,151
g MapJoyDeadZoneCommon,20
helper.h,151g ObserverManager
ObserverManager.h,165Server,23
g pCShellClient,16MasterMotionClient.h,159
g pLTCCollisionMgrClient,16clientinterfaces.h,126
g pLTCCommonClient,16clientinterfaces.h,126
g pLTCDrawPrimClient,16clientinterfaces.h,126
g pLTCFontManagerClient,16clientinterfaces.h,126
g pLTCModelClient,16clientinterfaces.h,126
g pLTCPhysicsClient,16clientinterfaces.h,126
g pLTCRenderStylesClient,16clientinterfaces.h,126
g pLTCSBaseCommon,20sharedinterfaces.h,185
g pLTCSoundMgrClient,16clientinterfaces.h,126
g pLTCTexInterfaceClient,16clientinterfaces.h,126
g pLTCWidgetManagerClient,16clientinterfaces.h,126
g pLTSCollisionMgrServer,23serverinterfaces.h,183
g pLTSCommonServer,23serverinterfaces.h,183
g pLTSModelServer,23serverinterfaces.h,183
g pLTSPhysicsServer,23serverinterfaces.h,183
g pLTSSoundMgrServer,23
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
210 INDEX
serverinterfaces.h,183g pSShell
MasterMotionServer.h,160Server,23
g ResponderManagerClient,16ResponderManager.h,177
GetAspectCCamera,35
GetBackgroundColorCWorldPropClnt,52
GetBodyRealTimeSubject,103
GetCameraCPlayerClnt,47MasterMotionClient,81
GetCameraHandleCCamera,35
GetClientIDCClientConnClnt,37CPlayerClnt,47MasterMotionClient,81
GetClientSideObjectMasterMotionServer,85
GetClientSideObjectFromNameMasterMotionClient,82
GetForceUpdateObjectsCClientConnSrvr,38
GetFrameNumberSaul,106
getGUIDClientSideObject,39
getHandleClientSideObject,39
GetLastErrorDataConnection,55
GetMasterNodePositionLimbError,75
GetMaxVelocityCPlayerClnt,47
getNameClientSideObject,39
GetNextUpdateTimeObserverManager,91
GetNumMacrosMasterMotionClient,82
GetNumSubjectsDataConnection,55
GetObjectScaleMasterMotionServer,85
GetObserverFromNameObserverManager,91
GetPlayerMasterMotionClient,81
GetPositionCCamera,35
GetPropModelFromNameMasterMotionClient,82
GetResponderFromNameResponderManager,105
GetRotationCCamera,35
GetRTConnObserverManager,91
GetSpeedDataConnection,56FileConnection,62
GetStartPointRotMasterMotionClient,81
GetStateCPlayerClnt,47
GetStudentNodePositionLimbError,75
GetSubjectDataConnection,55MasterMotionClient,82
GetSyncObjectCCamera,35
GetSyncRotationCCamera,35
GetTurnSensitivityCPlayerClnt,47
GetUIDAvgLimbError,29BodyColor,33CoGObserver,42CoGResponder,43DistUIObserver,59DistUIResponder,60DPLimbError,61Observer,89Responder,104SimpleLimbError,110StupidObserver,112
GetUpdateRateObserverManager,91
GetZOffsetCCamera,36
GoFrameDataConnection,56FileConnection,63
GoNextFrameDataConnection,56FileConnection,62
GoPrevFrameDataConnection,56FileConnection,62
Greater
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 211
PeriodicObserver,93guids.h,150
DEFINE distr classGUID, 150
HandleInputCClientConnClnt,37CPlayerClnt,47
HandleStateChangeCPlayerClnt,47
helper.h,151COMMANDID TO STRING,151g GetRandom,151g MapJoyDeadZone,151LTEVENT TO STRING,151LTRESULT TO STRING,151MESSAGEIDTO STRING,151
ImAbstractRealTimeClientConnection,99RealTimeConnection,100RealTimeServerConnection,102
InitCCamera,35CClientConnClnt,37CPlayerClnt,47
InitBeforeConnectMasterMotionClient,82
InitCSOClientSideObjectSrvr,41MasterMotionClient,83
InitGameMasterMotionClient,82
InitializeDataConnection,55FileConnection,63RealTimeConnection,100Saul,106Sender,108Tarsus,113
InitMasterAndStudentLimbError,74
InitRendererMasterMotionClient,83
InitSoundMasterMotionClient,83
inittedLimbError,75
int16Utilities, 24Utils.h, 194
int32Utilities, 24Utils.h, 194
int8
Utilities, 24Utils.h, 194
isAttachedToSocketCPlayerClnt,48
IsEnabledDataConnection,55DataWriter,58
IsPlayingDataConnection,56FileConnection,62
IsRecordingDataConnection,56RealTimeConnection,100
IsSplitCharUtilities, 24Utils.h, 194
Kalman,71∼Kalman,71Configure,71Kalman,71Update,71
Kalman.h,152expQuaternion,152logQuaternion,152
KalmanFrameposv, 72position,72rot v, 72rot vector,72rotation,72
KalmanFrame,72KalmanState
∼KalmanState,73Data,73KalmanState,73pos InitCov, 73pos InitState,73rot InitCov, 73rot InitState,73
KalmanState,73KalmanState.h,153
lastErrorDataConnection,56
LastFrameDataConnection,56FileConnection,62MasterMotionClient,82
lastFrameDataConnection,56
lastLeftArmBodyColor,33
lastLeftLeg
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
212 INDEX
BodyColor,33lastRightArm
BodyColor,33lastRightLeg
BodyColor,33leftArm
LimbError,75leftLeg
LimbError,75len
Quaternion,96Utilities, 24, 25Vector3,115
len2Quaternion,96Utilities, 24, 25Vector3,115
LimbError∼LimbError,74Configure,74InitMasterAndStudent,74initted,75LimbError,74masterNodes,75masterObj,74nodeNames,74studentNodes,75studentObj,74
LimbError,74GetMasterNodePosition,75GetStudentNodePosition,75leftArm, 75leftLeg,75Measure,75rightArm, 76rightLeg,76
LimbError.h,154ListSubjects
MasterMotionClient,82LithtechXformFilter
∼LithtechXformFilter,77LithtechXformFilter,77Update,77
LithtechXformFilter,77LithtechXformFilter.h,155Localsocket
RealTimeConnection,100lognum
DataWriter,58logQuaternion
Kalman.h,152Saul,27
LowPass∼LowPass,78
Configure,78LowPass,78Update,78
LowPass,78LowPass.h,156LowPassState
∼LowPassState,79LowPassState,79prevPos,79prevRot,79running,79
LowPassState,79LowPassState.h,157LTEVENT TO STRING
Common,20helper.h,151
LTRESULT TO STRINGCommon,20helper.h,151
m aClientsMasterMotionServer,86
m bDisplayClientIDErrorMsgMasterMotionClient,83
m bFirstUpdateCClientConnClnt,37CClientConnSrvr,38CPlayerClnt,47MasterMotionClient,83
m bMovedCPlayerClnt,47
m bRenderMasterMotionClient,83
m bSyncRotationCCamera,35
m BufferCTextStream,50
m bWritingMasterMotionClient,83
m CameraCPlayerClnt,47
m CamerasMasterMotionClient,83
m ClientSideObjectsMasterMotionClient,83MasterMotionServer,86
m CoGObserverMasterMotionServer,86
m CoGResponderMasterMotionClient,83
m dataConnMasterMotionClient,83
m dataWriterMasterMotionServer,86
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 213
m eAspectCCamera,35
m eClientGameStateMasterMotionClient,83
m eStateCPlayerClnt,47
m fFovXCCamera,35
m hCameraCCamera,35
m hClientCClientConnSrvr,38CPlayerSrvr,49
m hSyncObjectCCamera,35
m hWatermarkMasterMotionClient,83
m iCurrentPlayerMasterMotionClient,83
m iPlayerCountMasterMotionClient,83
m iPosCTextStream,50
m maxVelCPlayerClnt,48
m nClientIDMasterMotionClient,83
m nNumClientsMasterMotionServer,86
m oStartPointRotMasterMotionClient,83
m pClientConnMasterMotionClient,83
m pCollSphereCPlayerClnt,47
m PlayersMasterMotionClient,83
m pPlayersCClientConnSrvr,38
m PropModelsMasterMotionClient,83
m pStreamCTextStream,50
m pWorldPropMasterMotionClient,83MasterMotionServer,86
m szFilenameCTextStream,50
m vNewVelCPlayerClnt,48
m zOffsetCCamera,35
macroNumMasterMotionClient,83
macroStringsMasterMotionClient,83
Marker,80∼Marker,80bodies,80Marker,80name,80occluded,80position,80
Marker.h,158markers
Body,31Saul,106
MasterMotionClient∼MasterMotionClient,81AddMacro,82AddPlayer,83BeginWritingDataFile,82ClientSideObjects,82ConnectToSaul,82ConnectToTarsus,82datafile,83declareinterface,81dfMaster,83dfStudent,83DisplayWatermark,83EndWritingDataFile,82Faster,82FirstUpdate,81FullSpeed,82GetCamera,81GetClientID,81GetClientSideObjectFromName,82GetNumMacros,82GetPlayer,81GetPropModelFromName,82GetStartPointRot,81GetSubject,82InitBeforeConnect,82InitCSO,83InitGame,82InitRenderer,83InitSound,83LastFrame,82ListSubjects,82m bDisplayClientIDErrorMsg,83m bFirstUpdate,83m bRender,83m bWriting, 83m Cameras,83m ClientSideObjects,83m CoGResponder,83m dataConn,83m eClientGameState,83
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
214 INDEX
m hWatermark,83m iCurrentPlayer,83m iPlayerCount,83m nClientID,83m oStartPointRot,83m pClientConn,83m Players,83m PropModels,83m pWorldProp,83macroNum,83macroStrings,83MasterMotionClient,81NextFrame,82OnCommandOff,81OnCommandOn,81OnEngineInitialized,81OnEngineTerm,81OnEnterWorld,81OnEvent,81OnExitWorld,81OnKeyDown,81OnKeyUp,81OnMessage,81OnModelKey,81OnObjectMove,81OnObjectRemove,81OnObjectRotate,81OnPlaySound,81OnTouchNotify,81OpenFile,82Pause,82Play,82PlayerCount,81PostUpdate,81PreLoadWorld,81PreUpdate,81RegisterObject,81RemovePlayer,83Render,83RenderCameras,83SetDataFileSubjects,82SetSpeed,82SetupCameraViewports,83Slower,82SpecialEffectNotify,81StartBCResponder,82StartCoGResponder,82StartDUIResponder,82Stop,82StopBCResponder,82StopCoGResponder,82StopDUIResponder,82UnRegisterObject,81Update,81
UpdateCameras,83UpdateCSO,83UpdatePlayers,83WriteDataFile,82
MasterMotionClient,81MasterMotionClient.h
g pCShell,159MasterMotionClient.h,159MasterMotionServer
∼MasterMotionServer,85AddClientSideObject,85CacheFiles,85declareinterface,85FileLoadNotify,85GetClientSideObject,85GetObjectScale,85m aClients,86m ClientSideObjects,86m CoGObserver,86m dataWriter,86m nNumClients,86m pWorldProp,86MasterMotionServer,85masterNames,86masterScale,86OnAddClient,85OnClientEnterWorld,85OnClientExitWorld,85OnCommandOff,85OnCommandOn,85OnMessage,85OnObjectMessage,85OnPlaybackFinish,85OnRemoveClient,85OnServerInitialized,85OnServerTerm,85PostStartWorld,85PreStartWorld,85ProcessPacket,85RegisterObject,85SaulSock,86ServerAppMessageFn,85SetStudentHeight,85SetSubjectName,85SetTrialName,85SRand,85StartCoGObserver,85StopCoGObserver,85studentNames,86studentScale,86subjectName,86trialName,86Update,85WriteFileStart,85
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 215
WriteFileStop,85MasterMotionServer,85
SetMasterHeight,86MasterMotionServer.h
g pSShell,160MAX CLIENTS,160
MasterMotionServer.h,160masterNames
MasterMotionServer,86masterNodes
LimbError,75masterObj
LimbError,74masterScale
MasterMotionServer,86MAX CLIENTS
MasterMotionServer.h,160Server,22
maxErrorDPLimbError.h,143Server,23
MeasureAvgLimbError,30DPLimbError,61LimbError,75Measurement,87SimpleLimbError,110
Measurement,87∼Measurement,87Measure,87Measurement,87
Measurement.h,161MESSAGEIDTO STRING
Common,20helper.h,151
minErrorThresholdBodyColor,33
mirrorClientSideObjectSrvr,41Quaternion,96
modelNameClientSideObjectSrvr,41
MrTsVan∼MrTsVan,88MrTsVan,88OnPrecreate,88
MrTsVan,88MrTsVan.h
AFX MRTSVAN H A6B13CAA 0437 -4D5C 8EDA 06899FFEA187 -INCLUDED , 162
MrTsVan.h,162msgids.h,163
nameBody,31ClientSideObjectSrvr,41FileWriter,64Filter, 66Marker,80RealTimeBody,98RealTimeSubject,103
namemapRealTimeSubject,103
needsRTObserver,89
NextFrameMasterMotionClient,82
nextUpdateTimePeriodicObserver,93
NodeControlClientSideObject,40
NodeControlFunctionClientSideObject,39
nodeNamesLimbError,74
normalQuaternion,96Utilities, 24, 25Vector3,115
normalizeQuaternion,96Utilities, 24, 25Vector3,115
NotifyObserverManager,91
NotifyAllObserverManager,91
ObjectCreatedCClientConnSrvr,38CPlayerSrvr,49
ObjectMessageFnCClientConnSrvr,38CPlayerSrvr,49
Observer,89∼Observer,89Configure,89GetUID,89needsRT,89Observer,89Send,89Update,89
observerPeriodicObserver,93
Observer.h,164ObserverManager
∼ObserverManager,91
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
216 INDEX
Configure,91ConnectToRTServer,91GetNextUpdateTime,91GetObserverFromName,91GetRTConn,91GetUpdateRate,91Notify, 91NotifyAll, 91ObserverManager,91Register,91SetNextUpdateTime,91Unregister,91UnregisterPeriodic,91Update,91
ObserverManager,91RegisterPeriodic,92SetUpdateRate,92
ObserverManager.hg ObserverManager,165ObserverMap,165
ObserverManager.h,165ObserverMap
ObserverManager.h,165Server,22
occludedMarker,80
offsetBody,31RealTimeSubject,103
OnAddClientMasterMotionServer,85
OnClientEnterWorldMasterMotionServer,85
OnClientExitWorldMasterMotionServer,85
OnClientMessageCClientConnSrvr,38
OnCommandOffCCamera,35CClientConnClnt,37CPlayerClnt,47MasterMotionClient,81MasterMotionServer,85
OnCommandOnCCamera,35CClientConnClnt,37CPlayerClnt,47MasterMotionClient,81MasterMotionServer,85
OnEngineInitializedMasterMotionClient,81
OnEngineTermMasterMotionClient,81
OnEnterWorld
MasterMotionClient,81OnEvent
MasterMotionClient,81OnExitWorld
MasterMotionClient,81OnKeyDown
MasterMotionClient,81OnKeyUp
MasterMotionClient,81OnMessage
CPlayerSrvr,49MasterMotionClient,81MasterMotionServer,85
OnModelKeyMasterMotionClient,81
OnObjectMessageMasterMotionServer,85
OnObjectMoveMasterMotionClient,81
OnObjectRemoveMasterMotionClient,81
OnObjectRotateMasterMotionClient,81
OnPlaybackFinishMasterMotionServer,85
OnPlaySoundMasterMotionClient,81
OnPrecreateMrTsVan,88
OnRemoveClientMasterMotionServer,85
OnServerInitializedMasterMotionServer,85
OnServerTermMasterMotionServer,85
OnTouchNotifyMasterMotionClient,81
OpenCTextStream,50
OpenFileMasterMotionClient,82
operator∗Quaternion,96Utilities, 24, 25Vector3,115
operator∗=Quaternion,96Utilities, 24, 25Vector3,115
operator+Quaternion,96Utilities, 24Vector3,115
operator+=
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 217
Quaternion,96Utilities, 24Vector3,115
operator-Quaternion,96Utilities, 24Vector3,115
operator-=Quaternion,96Utilities, 24Vector3,115
operator/Quaternion,96Utilities, 24
operator/=Quaternion,96Utilities, 24
operator∼Quaternion,96Utilities, 24
operator|Utilities, 24Vector3,115
operator| =Utilities, 25Vector3,115
PauseDataConnection,56FileConnection,62MasterMotionClient,82
PeriodicObserverGreater,93nextUpdateTime,93observer,93updateRate,93
PeriodicObserver,93PhysicsUpdate
CPlayerClnt,47pi
Utilities, 25Utils.h, 194
PlayDataConnection,56FileConnection,62MasterMotionClient,82
playerclnt.h,166PlayerCount
MasterMotionClient,81playersrvr.h,167Popup,94
∼Popup,94Configure,94Popup,94
Update,94Popup.h,168PopupState
∼PopupState,95PopupState,95preFrameNum,95prePos,95preRot,95running,95
PopupState,95PopupState.h,169pos
ClientSideObjectSrvr,41RealTimeBody,98
pos InitCovKalmanState,73
pos InitStateKalmanState,73
posvKalmanFrame,72
positionBody,31KalmanFrame,72Marker,80
PostStartWorldMasterMotionServer,85
PostUpdateFileWriter,64Filter, 66MasterMotionClient,81
PreCreateCClientConnSrvr,38CPlayerSrvr,49
preFrameNumPopupState,95
PreHookEditStringListCWorldPropPlugin,53
PreLoadWorldMasterMotionClient,81
prePosPopupState,95
preRotPopupState,95
PreStartWorldMasterMotionServer,85
PreUpdateFileWriter,64Filter, 66MasterMotionClient,81
prevPosLowPassState,79
prevRotLowPassState,79
ProcessPacket
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
218 INDEX
MasterMotionServer,85px
CompBody,46py
CompBody,46pz
CompBody,46
Quaternion,96∼Quaternion,96len,96len2,96mirror, 96normal,96normalize,96operator∗, 96operator∗=, 96operator+,96operator+=,96operator-,96operator-=,96operator/,96operator/=,96operator∼, 96Quaternion,96set,96slerp,96w, 96x, 96y, 96z, 96
Quaternion.h,170QuatToAA
Utilities, 24Utils.h, 194
RAD TO DEGUtilities, 25Utils.h, 194
ReadLineCTextStream,50
ReadStringListCTextStream,50
ReadValCTextStream,50
RealTimeBody∼RealTimeBody,98name,98pos,98RealTimeBody,98rot, 98
RealTimeBody,98RealTimeBody.h,171RealTimeClientConnection
∼RealTimeClientConnection,99ImAbstract,99RealTimeClientConnection,99
RealTimeClientConnection,99RealTimeClientConnection,99
RealTimeClientConnection.h,172RealTimeConnection
∼RealTimeConnection,100ImAbstract,100IsRecording,100Localsocket,100RealTimeConnection,100SetRecordLabel,100StartRecording,100StopRecording,100
RealTimeConnection,100Initialize, 100Update,101
RealTimeConnection.h,173RealTimeServerConnection
∼RealTimeServerConnection,102ImAbstract,102RealTimeServerConnection,102
RealTimeServerConnection,102RealTimeServerConnection.h,174RealTimeSubject
∼RealTimeSubject,103bodies,103GetBody,103name,103namemap,103offset,103RealTimeSubject,103
RealTimeSubject,103RealTimeSubject.h,175ReceiveMessage
ResponderManager,105recordLabel
DataConnection,56Register
ObserverManager,91ResponderManager,105
RegisterBroadcastCommandClient,17
RegisterClientObjFactoriesClient,15clientobjfactories.h,127
RegisterCommandsClient,15cshell/src/Commands.h,137Server,22sshell/src/Commands.h,138
RegisterFilterFilterManager,69
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 219
Saul,106RegisterObject
MasterMotionClient,81MasterMotionServer,85
RegisterPeriodicObserverManager,92
RegisterServerCommandClient,14cshell/src/Commander.h,134Server,22sshell/src/Commander.h,135
RegisterServerObjFactoriesServer,22serverobjfactories.h,184
RegisterSimpleCommandClient,14cshell/src/Commander.h,133
RemoteAngularVelocityUpdateCClientConnClnt,37CClientConnSrvr,38CPlayerClnt,47CPlayerSrvr,49
RemotePositionUpdateCClientConnClnt,37CClientConnSrvr,38CPlayerClnt,47CPlayerSrvr,49
RemoteRotationUpdateCClientConnClnt,37CClientConnSrvr,38CPlayerClnt,47CPlayerSrvr,49
remoteSockSender,108
RemoteVelocityUpdateCClientConnClnt,37CClientConnSrvr,38CPlayerClnt,47CPlayerSrvr,49
RemoveFiltersFilterManager,69
RemovePlayerCClientConnClnt,37MasterMotionClient,83
RemoveSubjectDataConnection,55
RenderCCamera,35MasterMotionClient,83
RenderCamerasMasterMotionClient,83
ResetLognumDataWriter,58
Responder,104
∼Responder,104Draw,104GetUID,104Responder,104Update,104
Responder.h,176ResponderManager
∼ResponderManager,105DrawAll, 105GetResponderFromName,105ReceiveMessage,105Register,105ResponderManager,105Unregister,105
ResponderManager,105ResponderManager.h
g ResponderManager,177ResponderManager.h,177rightArm
LimbError,76rightLeg
LimbError,76rot
ClientSideObjectSrvr,41RealTimeBody,98
rot InitCovKalmanState,73
rot InitStateKalmanState,73
rot vKalmanFrame,72
rot vectorKalmanFrame,72
rotationBody,31KalmanFrame,72
rsNamesClientSideObjectSrvr,41
runningLowPassState,79PopupState,95
rxCompBody,46
ryCompBody,46
rzCompBody,46
Saul,26, 106∼Saul,106bodies,106Calculate,28Cleanup,106Compress,27
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
220 INDEX
expQuaternion,27findStr,28GetFrameNumber,106Initialize, 106logQuaternion,27markers,106RegisterFilter,106Saul,106Uncompress,27Update,106
Saul.h,178SaulAdmin.h,179SaulAdminDlg.h,180SaulSock
MasterMotionServer,86scale
ClientSideObjectSrvr,41SeekToSection
CTextStream,50Send
Observer,89SendData
Sender,108Sender,108
∼Sender,108Initialize, 108remoteSock,108SendData,108Sender,108sock,108
Sender.h,181Server,21
AFX AVGLIMBERROR H -5B6755201CD6 4E44B3DA -DA400633DD58 INCLUDED ,21
AFX BODYCOLOR H 08DDA413-F18545A2 8F99D994A2C6EE44 -INCLUDED , 21
AFX CLIENTSIDEOBJECTSRVR -H A86AFCFA 2684491EB8E2 -B996B999CFF1 INCLUDED ,21
AFX COMMANDER H 56ED1DEB-295F4542B2EB ECDBB229D936-INCLUDED , 21
AFX DISTUIOBSERVERH -D870B231B8B7 479D B65C -BD79A0898065 INCLUDED ,22
AFX DPLIMBERRORH 6E4C0BE7-88744471876C4B72752003AE -INCLUDED , 22
AFX LIMBERROR H 8D1FDA2D -EE9F4FFCBEB8 3306923B711C-INCLUDED , 22
AFX MEASUREMENT H 0ACC6EA2-88534A52 8DA2 B535781F1DAA-INCLUDED , 22
AFX OBSERVERH 9B8DC9D4437D -458CBB4C BCC7AA4AAABD -INCLUDED , 22
AFX OBSERVERMANAGERH -0D0D607774354CEEB7FC -2D7DA30424C3 INCLUDED ,22
AFX REALTIMESERVERCONNECTION-H E689E3EF4C3D 45678946 -92C92F51FAD1 INCLUDED ,22
AFX SIMPLELIMBERRORH -F3F79982A8FF 433FB5CA -1C3DA8F1DCB2 INCLUDED ,22
AFX STUPIDOBSERVERH -6118D4E9F6584F71A585 -875CFEE2E11EINCLUDED ,22
DeclareServerCommand,21, 22DefineServerCommand,23g aszGameTypes,23g ObserverManager,23g pLTSCollisionMgr,23g pLTSCommon,23g pLTSModel,23g pLTSPhysics,23g pLTSSoundMgr,23g pSShell,23MAX CLIENTS,22maxError,23ObserverMap,22RegisterCommands,22RegisterServerCommand,22RegisterServerObjFactories,22SRVR EVENT ENGINE INIT, 23SRVR EVENT ENGINE TERM, 23SRVR EVENT OBJ CREATED,23SRVR EVENT PHYSICSUPDATE,23SRVR EVENT POSTSTART WORLD,
23SRVR EVENT PRESTART WORLD, 23SRVR EVENT UPDATE,23VerifyServerInterfaces,22
serverevents.h,182SRVR EVENT ENGINE INIT, 182SRVR EVENT ENGINE TERM, 182SRVR EVENT OBJ CREATED,182
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 221
SRVR EVENT PHYSICSUPDATE,182SRVR EVENT POSTSTART WORLD,
182SRVR EVENT PRESTART WORLD,
182SRVR EVENT UPDATE,182
serverfnsCommanderServer,45
ServerAppMessageFnMasterMotionServer,85
ServerCmdCommanderClient,44
serverinterfaces.h,183g pLTSCollisionMgr,183g pLTSCommon,183g pLTSModel,183g pLTSPhysics,183g pLTSSoundMgr,183VerifyServerInterfaces,183
serverobjfactories.h,184RegisterServerObjFactories,184
setQuaternion,96Utilities, 24Vector3,115
SetAspectCCamera,35
SetCameraViewportCCamera,36
SetClientCClientConnSrvr,38CPlayerSrvr,49
SetDataFileSubjectsMasterMotionClient,82
SetFilterFilterManager,69
SetFilterListFilterManager,69
SetMasterHeightMasterMotionServer,86
SetMaxVelocityCPlayerClnt,48
SetNextUpdateTimeObserverManager,91
SetRecordLabelDataConnection,56RealTimeConnection,100
SetRenderStyleClientSideObject,39
SetRootBodyClientSideObject,40
SetRotationCCamera,35CClientConnClnt,37
CPlayerClnt,47SetSpeed
DataConnection,56FileConnection,62MasterMotionClient,82
SetStateCPlayerClnt,47
SetStudentHeightMasterMotionServer,85
SetSubjectNameClientSideObject,39MasterMotionServer,85
SetSyncObjectCCamera,36
SetSyncRotationCCamera,35
SetTextureClientSideObject,39
SetTrialNameMasterMotionServer,85
SetTurnSensitivityCPlayerClnt,48
SetupCameraViewportsMasterMotionClient,83
SetUpdateRateObserverManager,92
SetZOffsetCCamera,35
sharedinterfaces.h,185g pLTCSBase,185VerifySharedInterfaces,185
ShutdownIfFailedClient,15clienthelper.h,125
SimpleFilterFactory,109SimpleLimbError
∼SimpleLimbError,110Configure,110GetUID,110SimpleLimbError,110
SimpleLimbError,110Measure,110
SimpleLimbError.h,186sinf
Utilities, 24slerp
Quaternion,96Slower
MasterMotionClient,82sock
Sender,108SpecialEffectNotify
MasterMotionClient,81Split
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
222 INDEX
Utilities, 24Utils.h, 194
SRandMasterMotionServer,85
SRVR EVENT ENGINE INITServer,23serverevents.h,182
SRVR EVENT ENGINE TERMServer,23serverevents.h,182
SRVR EVENT OBJ CREATEDServer,23serverevents.h,182
SRVR EVENT PHYSICSUPDATEServer,23serverevents.h,182
SRVR EVENT POSTSTART WORLDServer,23serverevents.h,182
SRVR EVENT PRESTART WORLDServer,23serverevents.h,182
SRVR EVENT UPDATEServer,23serverevents.h,182
sshell/src/Commander.hAFX COMMANDER H 56ED1DEB-
295F4542B2EB ECDBB229D936-INCLUDED , 135
DeclareServerCommand,135RegisterServerCommand,135
sshell/src/Commands.hDeclareServerCommand,138RegisterCommands,138
StartBCResponderMasterMotionClient,82
StartCoGObserverMasterMotionServer,85
StartCoGResponderMasterMotionClient,82
StartDUIResponderMasterMotionClient,82
StartPoint∼StartPoint,111EngineMessageFn,111StartPoint,111
StartPoint,111startpoint.h,187StartRecording
DataConnection,56RealTimeConnection,100
StopDataConnection,56FileConnection,62
MasterMotionClient,82StopBCResponder
MasterMotionClient,82StopCoGObserver
MasterMotionServer,85StopCoGResponder
MasterMotionClient,82StopDUIResponder
MasterMotionClient,82StopRecording
DataConnection,56RealTimeConnection,100
studentNamesMasterMotionServer,86
studentNodesLimbError,75
studentObjLimbError,74
studentScaleMasterMotionServer,86
StupidObserver∼StupidObserver,112Configure,112GetUID,112StupidObserver,112Update,112
StupidObserver,112StupidObserver.h,188subjectList
BodyColor,33subjectName
ClientSideObjectSrvr,41MasterMotionServer,86
subjectsDataConnection,56
Tarsus,113∼Tarsus,113FrameNumber,113Initialize, 113Tarsus,113Update,113UpdateData,113
Tarsus.h,189, 190Term
CCamera,35ClientSideObject,39
texNamesClientSideObjectSrvr,41
TEXT STREAM BUFFERSIZECommon,19textstream.h,191
textstream.h,191TEXT STREAM BUFFERSIZE,191
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
INDEX 223
Timer.h,192trialName
MasterMotionServer,86TrigLUT.h, 193TruncateWhitespace
CTextStream,50
uint16Utilities, 24Utils.h, 194
uint32Utilities, 24Utils.h, 194
uint8Utilities, 24Utils.h, 194
UncompressBody,31Saul,27
UncompressBodyCodec.h,130
UnregisterObserverManager,91ResponderManager,105
UnRegisterObjectMasterMotionClient,81
UnregisterPeriodicObserverManager,91
UpdateBodyColor,33, 34CCamera,35CClientConnClnt,37CClientConnSrvr,38ClientSideObject,39CoGObserver,42CoGResponder,43CPlayerClnt,47CPlayerSrvr,49CWorldPropClnt,52DataConnection,55DataWriter,58DistUIObserver,59DistUIResponder,60FileConnection,62FileWriter,64Filter, 66FilterManager,69Kalman,71LithtechXformFilter,77LowPass,78MasterMotionClient,81MasterMotionServer,85Observer,89ObserverManager,91
Popup,94RealTimeConnection,101Responder,104Saul,106StupidObserver,112Tarsus,113
UpdateAspectCCamera,35
UpdateCamerasMasterMotionClient,83
UpdateCSOClientSideObjectSrvr,41MasterMotionClient,83
UpdateDataTarsus,113
UpdatePlayersMasterMotionClient,83
updateRatePeriodicObserver,93
Utilities, 24AAToQuat,24DEG TO RAD, 25dot,25int16,24int32,24int8, 24IsSplitChar,24len,24, 25len2,24, 25normal,24, 25normalize,24, 25operator∗, 24, 25operator∗=, 24, 25operator+,24operator+=,24operator-,24operator-=,24operator/,24operator/=,24operator∼, 24pi, 25QuatToAA,24RAD TO DEG,25set,24sinf, 24Split, 24uint16,24uint32,24uint8,24
Utils.h, 194AAToQuat,194DEG TO RAD, 194int16,194int32,194
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001
224 INDEX
int8, 194IsSplitChar,194pi, 194QuatToAA,194RAD TO DEG,194Split, 194uint16,194uint32,194uint8,194
Vector3,115∼Vector3,115dot,115len,115len2,115normal,115normalize,115operator∗, 115operator∗=, 115operator+,115operator+=,115operator-,115operator-=,115set,115Vector3,115x, 115y, 115z, 115
Vector3.h,195VerifyClientInterfaces
Client,15clientinterfaces.h,126
VerifyServerInterfacesServer,22serverinterfaces.h,183
VerifySharedInterfacesCommon,20sharedinterfaces.h,185
wQuaternion,96
worldmodel.h,196worldpropclnt.h,197worldpropsrvr.h,198WriteDataFile
MasterMotionClient,82WriteFileStart
MasterMotionServer,85WriteFileStop
MasterMotionServer,85
xQuaternion,96Vector3,115
yQuaternion,96Vector3,115
zQuaternion,96Vector3,115
Generated on Wed Mar 6 11:13:19 2002 for MasterMotion by Doxygen written by Dimitri van Heeschc© 1997-2001