43 #ifndef OPENMESH_IO_OPTIONS_HH
44 #define OPENMESH_IO_OPTIONS_HH
51 #include <OpenMesh/Core/System/config.h>
91 typedef int enum_type;
92 typedef enum_type value_type;
130 Options(
const value_type _flgs) : flags_( _flgs)
155 { flags_ = _rhs.flags_;
return *
this; }
158 { flags_ = _rhs;
return *
this; }
167 { flags_ &= ~_rhs;
return *
this; }
170 {
return (*
this -= _rhs); }
180 { flags_ |= _rhs;
return *
this; }
183 {
return (*
this += _rhs); }
191 bool check(
const value_type _rhs)
const
193 return (flags_ & _rhs)==_rhs;
196 bool is_binary()
const {
return check(
Binary); }
197 bool vertex_has_normal()
const {
return check(
VertexNormal); }
198 bool vertex_has_color()
const {
return check(
VertexColor); }
199 bool vertex_has_texcoord()
const {
return check(
VertexTexCoord); }
200 bool edge_has_color()
const {
return check(
EdgeColor); }
201 bool face_has_normal()
const {
return check(
FaceNormal); }
202 bool face_has_color()
const {
return check(
FaceColor); }
203 bool face_has_texcoord()
const {
return check(
FaceTexCoord); }
204 bool color_has_alpha()
const {
return check(
ColorAlpha); }
209 {
return flags_ == _rhs; }
214 {
return flags_ != _rhs; }
218 operator value_type ()
const {
return flags_; }
222 bool operator && (
const value_type _rhs)
const;