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

OpenGL

开发平台:

Visual C++

  1. // rotationmanager.cpp
  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. #include <iostream>
  10. #include <fstream>
  11. #include "celestia.h"
  12. #include <celutil/debug.h>
  13. #include "samporient.h"
  14. #include "rotationmanager.h"
  15. using namespace std;
  16. static RotationModelManager* rotationModelManager = NULL;
  17. RotationModelManager* GetRotationModelManager()
  18. {
  19.     if (rotationModelManager == NULL)
  20.         rotationModelManager = new RotationModelManager("data");
  21.     return rotationModelManager;
  22. }
  23. string RotationModelInfo::resolve(const string& baseDir)
  24. {
  25.     if (!path.empty())
  26.     {
  27.         string filename = path + "/data/" + source;
  28.         ifstream in(filename.c_str());
  29.         if (in.good())
  30.             return filename;
  31.     }
  32.     return baseDir + "/" + source;
  33. }
  34. RotationModel* RotationModelInfo::load(const string& filename)
  35. {
  36.     DPRINTF(1, "Loading rotation model: %sn", filename.c_str());
  37.     return LoadSampledOrientation(filename);
  38. }