rotationmanager.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // rotationmanager.h
  2. //
  3. // Copyright (C) 2006 Chris Laurel <claurel@shatters.net>
  4. //
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the GNU General Public License
  7. // as published by the Free Software Foundation; either version 2
  8. // of the License, or (at your option) any later version.
  9. #ifndef CELENGINE_ROTATIONMANAGER_H_
  10. #define CELENGINE_ROTATIONMANAGER_H_
  11. #include <string>
  12. #include <map>
  13. #include <celutil/resmanager.h>
  14. #include <celengine/rotation.h>
  15. class RotationModelInfo : public ResourceInfo<RotationModel>
  16. {
  17.  public:
  18.     std::string source;
  19.     std::string path;
  20.     RotationModelInfo(const std::string _source,
  21.                       const std::string _path = "") :
  22.         source(_source), path(_path) {};
  23.     virtual std::string resolve(const std::string&);
  24.     virtual RotationModel* load(const std::string&);
  25. };
  26. inline bool operator<(const RotationModelInfo& ti0,
  27.                       const RotationModelInfo& ti1)
  28. {
  29.     if (ti0.source == ti1.source)
  30.         return ti0.path < ti1.path;
  31.     else
  32.         return ti0.source < ti1.source;
  33. }
  34. typedef ResourceManager<RotationModelInfo> RotationModelManager;
  35. extern RotationModelManager* GetRotationModelManager();
  36. #endif // CELENGINE_ROTATIONMANAGER_H_