Panda3D

bamEnums.cxx

00001 // Filename: bamEnums.cxx
00002 // Created by:  drose (26Feb09)
00003 //
00004 ////////////////////////////////////////////////////////////////////
00005 //
00006 // PANDA 3D SOFTWARE
00007 // Copyright (c) Carnegie Mellon University.  All rights reserved.
00008 //
00009 // All use of this software is subject to the terms of the revised BSD
00010 // license.  You should have received a copy of this license along
00011 // with this source code in a file named "LICENSE."
00012 //
00013 ////////////////////////////////////////////////////////////////////
00014 
00015 #include "bamEnums.h"
00016 #include "string_utils.h"
00017 #include "config_util.h"
00018 
00019 ostream &
00020 operator << (ostream &out, BamEnums::BamEndian be) {
00021   switch (be) {
00022   case BamEnums::BE_bigendian:
00023     return out << "bigendian";
00024    
00025   case BamEnums::BE_littleendian:
00026     return out << "littleendian";
00027   }
00028 
00029   return out << "**invalid BamEnums::BamEndian value: (" << (int)be << ")**";
00030 }
00031 
00032 istream &
00033 operator >> (istream &in, BamEnums::BamEndian &be) {
00034   string word;
00035   in >> word;
00036   if (cmp_nocase(word, "native") == 0) {
00037     be = BamEnums::BE_native;
00038 
00039   } else if (cmp_nocase(word, "bigendian") == 0) {
00040     be = BamEnums::BE_bigendian;
00041 
00042   } else if (cmp_nocase(word, "littleendian") == 0) {
00043     be = BamEnums::BE_littleendian;
00044 
00045   } else {
00046     util_cat->error()
00047       << "Invalid bam_endian string: " << word << "\n";
00048     be = BamEnums::BE_native;
00049   }
00050 
00051   return in;
00052 }
00053 
00054 
00055 ostream &
00056 operator << (ostream &out, BamEnums::BamObjectCode boc) {
00057   switch (boc) {
00058   case BamEnums::BOC_push:
00059     return out << "push";
00060    
00061   case BamEnums::BOC_pop:
00062     return out << "pop";
00063 
00064   case BamEnums::BOC_adjunct:
00065     return out << "adjunct";
00066 
00067   case BamEnums::BOC_remove:
00068     return out << "remove";
00069   }
00070 
00071   return out << "**invalid BamEnums::BamObjectCode value: (" << (int)boc << ")**";
00072 }
00073 
00074 ostream &
00075 operator << (ostream &out, BamEnums::BamTextureMode btm) {
00076   switch (btm) {
00077   case BamEnums::BTM_unchanged:
00078     return out << "unchanged";
00079    
00080   case BamEnums::BTM_fullpath:
00081     return out << "fullpath";
00082     
00083   case BamEnums::BTM_relative:
00084     return out << "relative";
00085     
00086   case BamEnums::BTM_basename:
00087     return out << "basename";
00088 
00089   case BamEnums::BTM_rawdata:
00090     return out << "rawdata";
00091   }
00092 
00093   return out << "**invalid BamEnums::BamTextureMode (" << (int)btm << ")**";
00094 }
00095 
00096 istream &
00097 operator >> (istream &in, BamEnums::BamTextureMode &btm) {
00098   string word;
00099   in >> word;
00100 
00101   if (cmp_nocase(word, "unchanged") == 0) {
00102     btm = BamEnums::BTM_unchanged;
00103   } else if (cmp_nocase(word, "fullpath") == 0) {
00104     btm = BamEnums::BTM_fullpath;
00105   } else if (cmp_nocase(word, "relative") == 0) {
00106     btm = BamEnums::BTM_relative;
00107   } else if (cmp_nocase(word, "basename") == 0) {
00108     btm = BamEnums::BTM_basename;
00109   } else if (cmp_nocase(word, "rawdata") == 0) {
00110     btm = BamEnums::BTM_rawdata;
00111 
00112   } else {
00113     util_cat->error() << "Invalid BamEnums::BamTextureMode value: " << word << "\n";
00114     btm = BamEnums::BTM_relative;
00115   }
00116 
00117   return in;
00118 }
 All Classes Functions Variables Enumerations