Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Feb 10, 2008, 1:05:27 AM (16 years ago)
Author:
landauf
Message:

fixed a strange problem in the MultiType-classes

read this if you're interested:
http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=Overload#Answ

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/core/src/util/MultiTypeMath.h

    r792 r794  
    3939    public:
    4040        MultiTypeMath(MultiType      type = MT_null);
    41         MultiTypeMath(int            value) : MultiTypeString(value) {}
    42         MultiTypeMath(unsigned int   value) : MultiTypeString(value) {}
    43         MultiTypeMath(char           value) : MultiTypeString(value) {}
    44         MultiTypeMath(unsigned char  value) : MultiTypeString(value) {}
    45         MultiTypeMath(short          value) : MultiTypeString(value) {}
    46         MultiTypeMath(unsigned short value) : MultiTypeString(value) {}
    47         MultiTypeMath(long           value) : MultiTypeString(value) {}
    48         MultiTypeMath(unsigned long  value) : MultiTypeString(value) {}
    49         MultiTypeMath(float          value) : MultiTypeString(value) {}
    50         MultiTypeMath(double         value) : MultiTypeString(value) {}
    51         MultiTypeMath(long double    value) : MultiTypeString(value) {}
    52         MultiTypeMath(bool           value) : MultiTypeString(value) {}
    53         MultiTypeMath(const char*        value) : MultiTypeString(value) {}
    54         MultiTypeMath(const std::string& value) : MultiTypeString(value) {}
    55         MultiTypeMath(const orxonox::Vector2&     value) { this->setValue(value); }
    56         MultiTypeMath(const orxonox::Vector3&     value) { this->setValue(value); }
    57         MultiTypeMath(const orxonox::ColourValue& value) { this->setValue(value); }
    58         MultiTypeMath(const orxonox::Quaternion&  value) { this->setValue(value); }
    59         MultiTypeMath(const orxonox::Radian&      value) { this->setValue(value); }
    60         MultiTypeMath(const orxonox::Degree&      value) { this->setValue(value); }
     41        inline MultiTypeMath(int            value) : MultiTypeString(value) {}
     42        inline MultiTypeMath(unsigned int   value) : MultiTypeString(value) {}
     43        inline MultiTypeMath(char           value) : MultiTypeString(value) {}
     44        inline MultiTypeMath(unsigned char  value) : MultiTypeString(value) {}
     45        inline MultiTypeMath(short          value) : MultiTypeString(value) {}
     46        inline MultiTypeMath(unsigned short value) : MultiTypeString(value) {}
     47        inline MultiTypeMath(long           value) : MultiTypeString(value) {}
     48        inline MultiTypeMath(unsigned long  value) : MultiTypeString(value) {}
     49        inline MultiTypeMath(float          value) : MultiTypeString(value) {}
     50        inline MultiTypeMath(double         value) : MultiTypeString(value) {}
     51        inline MultiTypeMath(long double    value) : MultiTypeString(value) {}
     52        inline MultiTypeMath(bool           value) : MultiTypeString(value) {}
     53        inline MultiTypeMath(const char*        value) : MultiTypeString(value) {}
     54        inline MultiTypeMath(const std::string& value) : MultiTypeString(value) {}
     55        inline MultiTypeMath(const orxonox::Vector2&     value) { this->setValue(value); }
     56        inline MultiTypeMath(const orxonox::Vector3&     value) { this->setValue(value); }
     57        inline MultiTypeMath(const orxonox::ColourValue& value) { this->setValue(value); }
     58        inline MultiTypeMath(const orxonox::Quaternion&  value) { this->setValue(value); }
     59        inline MultiTypeMath(const orxonox::Radian&      value) { this->setValue(value); }
     60        inline MultiTypeMath(const orxonox::Degree&      value) { this->setValue(value); }
    6161        MultiTypeMath(const MultiTypeMath& mtm);
    6262
    63         MultiTypeMath& operator=(const orxonox::Vector2&     value) { this->setValue(value); return *this; }
    64         MultiTypeMath& operator=(const orxonox::Vector3&     value) { this->setValue(value); return *this; }
    65         MultiTypeMath& operator=(const orxonox::ColourValue& value) { this->setValue(value); return *this; }
    66         MultiTypeMath& operator=(const orxonox::Quaternion&  value) { this->setValue(value); return *this; }
    67         MultiTypeMath& operator=(const orxonox::Radian&      value) { this->setValue(value); return *this; }
    68         MultiTypeMath& operator=(const orxonox::Degree&      value) { this->setValue(value); return *this; }
     63        using MultiTypeString::operator=;
     64        inline MultiTypeMath& operator=(const orxonox::Vector2&     value) { this->setValue(value); return *this; }
     65        inline MultiTypeMath& operator=(const orxonox::Vector3&     value) { this->setValue(value); return *this; }
     66        inline MultiTypeMath& operator=(const orxonox::ColourValue& value) { this->setValue(value); return *this; }
     67        inline MultiTypeMath& operator=(const orxonox::Quaternion&  value) { this->setValue(value); return *this; }
     68        inline MultiTypeMath& operator=(const orxonox::Radian&      value) { this->setValue(value); return *this; }
     69        inline MultiTypeMath& operator=(const orxonox::Degree&      value) { this->setValue(value); return *this; }
    6970        MultiTypeMath& operator=(const MultiTypeMath& mtm);
    7071
    71         bool operator==(const orxonox::Vector2&     value) const { return (this->vector2_     == value); }
    72         bool operator==(const orxonox::Vector3&     value) const { return (this->vector3_     == value); }
    73         bool operator==(const orxonox::ColourValue& value) const { return (this->colourvalue_ == value); }
    74         bool operator==(const orxonox::Quaternion&  value) const { return (this->quaternion_  == value); }
    75         bool operator==(const orxonox::Radian&      value) const { return (this->radian_      == value); }
    76         bool operator==(const orxonox::Degree&      value) const { return (this->degree_      == value); }
     72        using MultiTypeString::operator==;
     73        inline bool operator==(const orxonox::Vector2&     value) const { return (this->vector2_     == value); }
     74        inline bool operator==(const orxonox::Vector3&     value) const { return (this->vector3_     == value); }
     75        inline bool operator==(const orxonox::ColourValue& value) const { return (this->colourvalue_ == value); }
     76        inline bool operator==(const orxonox::Quaternion&  value) const { return (this->quaternion_  == value); }
     77        inline bool operator==(const orxonox::Radian&      value) const { return (this->radian_      == value); }
     78        inline bool operator==(const orxonox::Degree&      value) const { return (this->degree_      == value); }
    7779        bool operator==(const MultiTypeMath& mtm) const;
    7880
    79         bool operator!=(const orxonox::Vector2&     value) const { return (this->vector2_     != value); }
    80         bool operator!=(const orxonox::Vector3&     value) const { return (this->vector3_     != value); }
    81         bool operator!=(const orxonox::ColourValue& value) const { return (this->colourvalue_ != value); }
    82         bool operator!=(const orxonox::Quaternion&  value) const { return (this->quaternion_  != value); }
    83         bool operator!=(const orxonox::Radian&      value) const { return (this->radian_      != value); }
    84         bool operator!=(const orxonox::Degree&      value) const { return (this->degree_      != value); }
     81        using MultiTypeString::operator!=;
     82        inline bool operator!=(const orxonox::Vector2&     value) const { return (this->vector2_     != value); }
     83        inline bool operator!=(const orxonox::Vector3&     value) const { return (this->vector3_     != value); }
     84        inline bool operator!=(const orxonox::ColourValue& value) const { return (this->colourvalue_ != value); }
     85        inline bool operator!=(const orxonox::Quaternion&  value) const { return (this->quaternion_  != value); }
     86        inline bool operator!=(const orxonox::Radian&      value) const { return (this->radian_      != value); }
     87        inline bool operator!=(const orxonox::Degree&      value) const { return (this->degree_      != value); }
    8588        bool operator!=(const MultiTypeMath& mtm) const;
    8689
     90        using MultiTypeString::setValue;
    8791        inline void setValue(const orxonox::Vector2&     value) { this->type_ = MT_vector2;     this->vector2_     = value; }
    8892        inline void setValue(const orxonox::Vector3&     value) { this->type_ = MT_vector3;     this->vector3_     = value; }
     
    100104        inline orxonox::Degree&      getDegree()      { return this->degree_;      }
    101105
     106        using MultiTypeString::getValue;
    102107        inline void getValue(orxonox::Vector2*     variable) const { (*variable) = orxonox::Vector2     (this->vector2_);     }
    103108        inline void getValue(orxonox::Vector3*     variable) const { (*variable) = orxonox::Vector3     (this->vector3_);     }
Note: See TracChangeset for help on using the changeset viewer.