Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Feb 9, 2008, 7:32:06 PM (17 years ago)
Author:
landauf
Message:

upload of the work i did before the exams (not yet finished nor working)

Location:
code/branches/core/src/util
Files:
11 added
5 edited

Legend:

Unmodified
Added
Removed
  • code/branches/core/src/util/CMakeLists.txt

    r790 r792  
    55SET (UTIL_SRC_FILES
    66  ${TINYXML_SRC_FILES}
     7  Math.cc
     8  String.cc
    79  substring.cc
     10  MultiTypePrimitive.cc
     11  MultiTypeString.cc
     12  MultiTypeMath.cc
    813)
    914
    10 IF(WIN32)
    11   ADD_LIBRARY( util ${UTIL_SRC_FILES} )
    12 ELSE(WIN32)
    13   ADD_LIBRARY( util SHARED ${UTIL_SRC_FILES} )
    14 ENDIF(WIN32)
     15ADD_LIBRARY( util SHARED ${UTIL_SRC_FILES} )
    1516SET_TARGET_PROPERTIES( util PROPERTIES LINK_FLAGS "--no-undefined" )
    16 
    1717
    1818IF(TESTING_ENABLED)
    1919  ADD_SUBDIRECTORY(testing)
    2020ENDIF(TESTING_ENABLED)
     21
     22TARGET_LINK_LIBRARIES( util
     23  ${OGRE_LIBRARIES}
     24)
  • code/branches/core/src/util/Convert.h

    r790 r792  
    3636#include <sstream>
    3737
     38#include "UtilPrereqs.h"
    3839
    3940// DEFAULT CLASS
    4041template <typename FromType, typename ToType>
    41 class Converter
     42class _UtilExport Converter
    4243{
    4344 public:
     
    5051// PARTIAL SPECIALIZATION TO CONVERT TO STRINGS
    5152template<typename FromType>
    52 class Converter<FromType, std::string>
     53class _UtilExport Converter<FromType, std::string>
    5354{
    5455 public:
     
    6869// PARTIAL SPECIALIZATION TO CONVERT FROM STRING
    6970template<typename ToType>
    70 class Converter<std::string, ToType>
     71class _UtilExport Converter<std::string, ToType>
    7172{
    7273 public:
     
    8384// FUNCTION SO WE DO NOT HAVE TO TELL THE COMPILER ABOUT THE TYPE
    8485template<typename FromType, typename ToType>
    85 static bool ConvertValue(ToType* output, const FromType& input)
     86static _UtilExport bool ConvertValue(ToType* output, const FromType& input)
    8687{
    8788  Converter<FromType, ToType> converter;
     
    9192// THE SAME, BUT WITH DEFAULT VALUE
    9293template<typename FromType, typename ToType>
    93 static bool ConvertValue(ToType* output, const FromType& input, const ToType& fallback)
     94static _UtilExport bool ConvertValue(ToType* output, const FromType& input, const ToType& fallback)
    9495{
    9596  Converter<FromType, ToType> converter;
  • code/branches/core/src/util/Math.h

    r790 r792  
     1/*
     2 *   ORXONOX - the hottest 3D action shooter ever to exist
     3 *
     4 *
     5 *   License notice:
     6 *
     7 *   This program is free software; you can redistribute it and/or
     8 *   modify it under the terms of the GNU General Public License
     9 *   as published by the Free Software Foundation; either version 2
     10 *   of the License, or (at your option) any later version.
     11 *
     12 *   This program is distributed in the hope that it will be useful,
     13 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 *   GNU General Public License for more details.
     16 *
     17 *   You should have received a copy of the GNU General Public License
     18 *   along with this program; if not, write to the Free Software
     19 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
     20 *
     21 *   Author:
     22 *      Fabian 'x3n' Landau
     23 *   Co-authors:
     24 *      ...
     25 *
     26 */
     27
     28#ifndef _Math_H__
     29#define _Math_H__
     30
     31#include <ostream>
     32
     33#include "UtilPrereqs.h"
     34
    135#include <OgreMath.h>
    236#include <OgreVector2.h>
     
    1852  typedef Ogre::ColourValue ColourValue;
    1953}
     54
     55_UtilExport std::ostream& operator<<(std::ostream& out, const orxonox::Radian& radian);
     56_UtilExport std::istream& operator>>(std::istream& in, orxonox::Radian& radian);
     57_UtilExport std::ostream& operator<<(std::ostream& out, const orxonox::Degree& degree);
     58_UtilExport std::istream& operator>>(std::istream& in, orxonox::Degree& degree);
     59
     60template <typename T>
     61inline _UtilExport T sgn(T x)
     62{
     63    return (x >= 0) ? 1 : -1;
     64}
     65
     66template <typename T>
     67inline _UtilExport T min(T a, T b)
     68{
     69    return (a <= b) ? a : b;
     70}
     71
     72template <typename T>
     73inline _UtilExport T max(T a, T b)
     74{
     75    return (a >= b) ? a : b;
     76}
     77
     78template <typename T>
     79inline _UtilExport T clamp(T x, T min, T max)
     80{
     81    if (x < min)
     82        return min;
     83
     84    if (x > max)
     85        return max;
     86
     87    return x;
     88}
     89
     90template <typename T>
     91inline _UtilExport T square(T x)
     92{
     93    return x*x;
     94}
     95
     96template <typename T>
     97inline _UtilExport T cube(T x)
     98{
     99    return x*x*x;
     100}
     101
     102template <typename T>
     103inline _UtilExport int floor(T x)
     104{
     105    return (int)(x);
     106}
     107
     108template <typename T>
     109inline _UtilExport int ceil(T x)
     110{
     111    int temp = floor(x);
     112    return (temp != x) ? (temp + 1) : temp;
     113}
     114
     115template <typename T>
     116inline _UtilExport int round(T x)
     117{
     118    return (int)(x + 0.5);
     119}
     120
     121template <typename T>
     122_UtilExport T interpolate(float time, const T& start, const T& end)
     123{
     124    return time * (end - start) + start;
     125}
     126
     127template <typename T>
     128_UtilExport T interpolateSmooth(float time, const T& start, const T& end)
     129{
     130    return (-2 * (end - start) * cube(time)) + (3 * (end - start) * square(time)) + start;
     131}
     132
     133inline _UtilExport float rnd()
     134{
     135    return ((float)rand() / RAND_MAX);
     136}
     137
     138inline _UtilExport float rnd(float max)
     139{
     140    return rnd() * max;
     141}
     142
     143inline _UtilExport float rnd(float min, float max)
     144{
     145    return rnd(max - min) + min;
     146}
     147
     148#endif /* _Math_H__ */
  • code/branches/core/src/util/String2Number.h

    r790 r792  
    77
    88#include "core/Debug.h"
     9#include "UtilPrereqs.h"
    910
    1011/**
     
    2324
    2425template <class T>
    25 class String2Number
     26class _UtilExport String2Number
    2627{
    2728  private:
  • code/branches/core/src/util/substring.h

    r790 r792  
    5959#include <string>
    6060
     61#include "UtilPrereqs.h"
    6162
    6263//! A class that can load one string and split it in multipe ones
     
    6566 * It can be used, to Split strings append them and join them again.
    6667 */
    67 class SubString
     68class _UtilExport SubString
    6869{
    6970public:
Note: See TracChangeset for help on using the changeset viewer.