00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "physxEnums.h"
00016
00017 #include "string_utils.h"
00018 #include "config_util.h"
00019
00020 ostream &
00021 operator << (ostream &out, PhysxEnums::PhysxUpAxis axis) {
00022
00023 switch (axis) {
00024 case PhysxEnums::X_up:
00025 return out << "x";
00026
00027 case PhysxEnums::Y_up:
00028 return out << "y";
00029
00030 case PhysxEnums::Z_up:
00031 return out << "z";
00032 }
00033
00034 return out << "**invalid PhysxEnums::PhysxUpAxis value: (" << (int)axis << ")**";
00035 }
00036
00037 istream &
00038 operator >> (istream &in, PhysxEnums::PhysxUpAxis &axis) {
00039
00040 string word;
00041 in >> word;
00042
00043 if (cmp_nocase(word, "x") == 0) {
00044 axis = PhysxEnums::X_up;
00045 }
00046 else if (cmp_nocase(word, "y") == 0) {
00047 axis = PhysxEnums::Y_up;
00048 }
00049 else if (cmp_nocase(word, "z") == 0) {
00050 axis = PhysxEnums::Z_up;
00051 }
00052 else {
00053 physx_cat->error()
00054 << "Invalid up-axis string: " << word << "\n";
00055 axis = PhysxEnums::Z_up;
00056 }
00057
00058 return in;
00059 }
00060