00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 INLINE XFileDataObject::
00022 XFileDataObject(const XFileDataDef *data_def) :
00023 _data_def(data_def)
00024 {
00025 }
00026
00027
00028
00029
00030
00031
00032
00033 INLINE const XFileDataDef *XFileDataObject::
00034 get_data_def() const {
00035 return _data_def;
00036 }
00037
00038
00039
00040
00041
00042
00043
00044
00045 INLINE void XFileDataObject::
00046 operator = (int int_value) {
00047 set(int_value);
00048 }
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058 INLINE void XFileDataObject::
00059 operator = (double double_value) {
00060 set(double_value);
00061 }
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 INLINE void XFileDataObject::
00072 operator = (const string &string_value) {
00073 set(string_value);
00074 }
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084 INLINE void XFileDataObject::
00085 operator = (const LVecBase2d &vec) {
00086 set(vec);
00087 }
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097 INLINE void XFileDataObject::
00098 operator = (const LVecBase3d &vec) {
00099 set(vec);
00100 }
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110 INLINE void XFileDataObject::
00111 operator = (const LVecBase4d &vec) {
00112 set(vec);
00113 }
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123 INLINE void XFileDataObject::
00124 operator = (const LMatrix4d &mat) {
00125 set(mat);
00126 }
00127
00128
00129
00130
00131
00132
00133
00134
00135 INLINE void XFileDataObject::
00136 set(int int_value) {
00137 set_int_value(int_value);
00138 }
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148 INLINE void XFileDataObject::
00149 set(double double_value) {
00150 set_double_value(double_value);
00151 }
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161 INLINE void XFileDataObject::
00162 set(const string &string_value) {
00163 set_string_value(string_value);
00164 }
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174 INLINE void XFileDataObject::
00175 set(const LVecBase2d &vec) {
00176 store_double_array(2, vec.get_data());
00177 }
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187 INLINE void XFileDataObject::
00188 set(const LVecBase3d &vec) {
00189 store_double_array(3, vec.get_data());
00190 }
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200 INLINE void XFileDataObject::
00201 set(const LVecBase4d &vec) {
00202 store_double_array(4, vec.get_data());
00203 }
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213 INLINE void XFileDataObject::
00214 set(const LMatrix4d &mat) {
00215 store_double_array(16, mat.get_data());
00216 }
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226 INLINE int XFileDataObject::
00227 i() const {
00228 return get_int_value();
00229 }
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239 INLINE double XFileDataObject::
00240 d() const {
00241 return get_double_value();
00242 }
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252 INLINE string XFileDataObject::
00253 s() const {
00254 return get_string_value();
00255 }
00256
00257
00258
00259
00260
00261
00262
00263
00264 INLINE LVecBase2d XFileDataObject::
00265 vec2() const {
00266 LVecBase2d vec;
00267 get_double_array(2, &vec[0]);
00268 return vec;
00269 }
00270
00271
00272
00273
00274
00275
00276
00277
00278 INLINE LVecBase3d XFileDataObject::
00279 vec3() const {
00280 LVecBase3d vec;
00281 get_double_array(3, &vec[0]);
00282 return vec;
00283 }
00284
00285
00286
00287
00288
00289
00290
00291
00292 INLINE LVecBase4d XFileDataObject::
00293 vec4() const {
00294 LVecBase4d vec;
00295 get_double_array(4, &vec[0]);
00296 return vec;
00297 }
00298
00299
00300
00301
00302
00303
00304
00305
00306 INLINE LMatrix4d XFileDataObject::
00307 mat4() const {
00308 LMatrix4d mat;
00309 get_double_array(16, &mat(0, 0));
00310 return mat;
00311 }
00312
00313
00314
00315
00316
00317
00318
00319 INLINE int XFileDataObject::
00320 size() const {
00321 return get_num_elements();
00322 }
00323
00324
00325
00326
00327
00328
00329
00330
00331 INLINE const XFileDataObject &XFileDataObject::
00332 operator [] (int n) const {
00333 const XFileDataObject *element = ((XFileDataObject *)this)->get_element(n);
00334 nassertr(element != (XFileDataObject *)NULL, *this);
00335 return *element;
00336 }
00337
00338
00339
00340
00341
00342
00343
00344
00345 INLINE const XFileDataObject &XFileDataObject::
00346 operator [] (const string &name) const {
00347 const XFileDataObject *element = ((XFileDataObject *)this)->get_element(name);
00348 nassertr(element != (XFileDataObject *)NULL, *this);
00349 return *element;
00350 }
00351
00352
00353
00354
00355
00356
00357
00358
00359 INLINE XFileDataObject &XFileDataObject::
00360 operator [] (int n) {
00361 XFileDataObject *element = get_element(n);
00362 nassertr(element != (XFileDataObject *)NULL, *this);
00363 return *element;
00364 }
00365
00366
00367
00368
00369
00370
00371
00372
00373 INLINE XFileDataObject &XFileDataObject::
00374 operator [] (const string &name) {
00375 XFileDataObject *element = get_element(name);
00376 nassertr(element != (XFileDataObject *)NULL, *this);
00377 return *element;
00378 }
00379
00380 INLINE ostream &
00381 operator << (ostream &out, const XFileDataObject &data_object) {
00382 data_object.output_data(out);
00383 return out;
00384 }