Type | Part | Min | Max | Step | Size |
Int3B |
val |
0 | 262143 | 1 | 3 |
x | -102.4 | 102.3 | 0.1 | ||
Val5B |
y | -102.4 | 102.3 | 0.1 | 5 |
age | 0 | 62 | 1 | ||
state | - | - | - | ||
bool |
- | - | - | - | 1 |
char |
- | - | - | - | 2 |
Angle |
- | -PI | PI |
![]() |
2 |
double |
- | -204.8 | 204.7 | 0.1 | 2 |
NodaChar |
- | 0 | 63 | 1 | 1 |
Grade |
- | - | - | - | 1 |
Hier noch ein Auszug aus audiomsg.h
als Übersicht über
Umwandlungsoperatoren von oben angegebenen Datentypen. Zum Setzen von
Werten immer den Konstruktor verwenden!
////////////////////////////////////////////////////////////////////// // // Classes for handling simple data types and automatic encoding // into "server-bytes" // ////////////////////////////////////////////////////////////////////// /** holds a 3-byte integer and its 3-byte encoding */ class Int3B { public: /** produce 0 value */ Int3B (); /** create with encoded string, should contain 3 byte encoding */ Int3B (const char* encoded); /** create with integer value in 0..65536 otherwise 0 */ Int3B (const unsigned int &val); void encode(); void decode(); unsigned int getValue() const { return value; }; const char getEncoding(unsigned short pos) const { return pos<3 ? encoding[pos] : 0; } operator int(); private: unsigned int value; char encoding[3]; }; // class Int3B ostream & operator << (class ostream &os, const Int3B &i); /** holds typical information about an object, encoded into 5 bytes: * coordinates x,y \in [-204.8, 204,7], * age \in [0..63] where age=63 is interpreted as eternal or invalid */ class Val5B { public: /** produce invalid entry */ Val5B (); /** create with encoded string */ Val5B (const char* encoded); /** create with x in -100.0..100.0, y in -100.0..100.0, age in 0..63 invalid values lead to valid= false */ Val5B (const double x_, const double y_, const unsigned int age_= 0, const WorldObjectState state_= UNSAFE); Val5B (const Vector2d c, const unsigned int age_= 0, const WorldObjectState state_= UNSAFE); /** get contents */ double getX() const { return x; }; double getY() const { return y; }; unsigned int getAge() const { return age; }; WorldObjectState getState() const { return state; }; bool isValid() const { return (age < INVALIDAGE); }; void encode(); void decode(); const char getEncoding(unsigned short pos) const { return pos<5 ? encoding[pos] : 0; } static const unsigned int Val5B::INVALIDAGE(63); operator Vector2d(); private: double x; double y; unsigned int age; WorldObjectState state; char encoding[5]; }; // class Val5B ostream &operator << (class ostream &os, const Val5B &v); ////////////////////////////////////////////////////////////////////// // // NodaChar: Holds one 6-bit char // ////////////////////////////////////////////////////////////////////// class NodaChar { public: NodaChar(const unsigned char val_=0); operator char() const; private: unsigned char val; }; // class NodaChar ostream &operator << (class ostream &os, const NodaChar &c);