27 operator << (ostream &out, GeomEnums::UsageHint usage_hint) {
29 case GeomEnums::UH_client:
30 return out <<
"client";
32 case GeomEnums::UH_stream:
33 return out <<
"stream";
35 case GeomEnums::UH_dynamic:
36 return out <<
"dynamic";
38 case GeomEnums::UH_static:
39 return out <<
"static";
41 case GeomEnums::UH_unspecified:
42 return out <<
"unspecified";
45 return out <<
"**invalid usage hint (" << (int)usage_hint <<
")**";
52 operator >> (istream &in, GeomEnums::UsageHint &usage_hint) {
56 if (cmp_nocase(word,
"client") == 0) {
57 usage_hint = GeomEnums::UH_client;
58 }
else if (cmp_nocase(word,
"stream") == 0) {
59 usage_hint = GeomEnums::UH_stream;
60 }
else if (cmp_nocase(word,
"dynamic") == 0) {
61 usage_hint = GeomEnums::UH_dynamic;
62 }
else if (cmp_nocase(word,
"static") == 0) {
63 usage_hint = GeomEnums::UH_static;
64 }
else if (cmp_nocase(word,
"unspecified") == 0) {
65 usage_hint = GeomEnums::UH_unspecified;
68 gobj_cat->error() <<
"Invalid usage hint value: " << word <<
"\n";
69 usage_hint = GeomEnums::UH_unspecified;
79 operator << (ostream &out, GeomEnums::NumericType numeric_type) {
80 switch (numeric_type) {
81 case GeomEnums::NT_uint8:
82 return out <<
"uint8";
84 case GeomEnums::NT_uint16:
85 return out <<
"uint16";
87 case GeomEnums::NT_uint32:
88 return out <<
"uint32";
90 case GeomEnums::NT_packed_dcba:
91 return out <<
"packed_dcba";
93 case GeomEnums::NT_packed_dabc:
94 return out <<
"packed_dabc";
96 case GeomEnums::NT_float32:
97 return out <<
"float32";
99 case GeomEnums::NT_float64:
100 return out <<
"float64";
102 case GeomEnums::NT_stdfloat:
103 return out <<
"stdfloat";
105 case GeomEnums::NT_int8:
106 return out <<
"int8";
108 case GeomEnums::NT_int16:
109 return out <<
"int16";
111 case GeomEnums::NT_int32:
112 return out <<
"int32";
114 case GeomEnums::NT_packed_ufloat:
115 return out <<
"packed_ufloat";
118 return out <<
"**invalid numeric type (" << (int)numeric_type <<
")**";
125 operator << (ostream &out, GeomEnums::Contents contents) {
127 case GeomEnums::C_other:
128 return out <<
"other";
130 case GeomEnums::C_point:
131 return out <<
"point";
133 case GeomEnums::C_clip_point:
134 return out <<
"clip_point";
136 case GeomEnums::C_vector:
137 return out <<
"vector";
139 case GeomEnums::C_texcoord:
140 return out <<
"texcoord";
142 case GeomEnums::C_color:
143 return out <<
"color";
145 case GeomEnums::C_index:
146 return out <<
"index";
148 case GeomEnums::C_morph_delta:
149 return out <<
"morph_delta";
151 case GeomEnums::C_matrix:
152 return out <<
"matrix";
154 case GeomEnums::C_normal:
155 return out <<
"normal";
158 return out <<
"**invalid contents (" << (int)contents <<
")**";
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.