Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/graphics/importer/resource_obj.cc

Last change on this file was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 1.5 KB
RevLine 
[9781]1
[9831]2#include "resource_obj.h"
[9823]3#include "substring.h"
4#include "multi_type.h"
[9790]5#include "debug.h"
[9781]6
7
[9854]8ResourceOBJ::ResourceOBJ(const std::string& imageName, float scaling, const Resources::KeepLevel& keepLevel)
[9847]9    : Resource(&ResourceOBJ::type)
[9784]10{
[9831]11  Resources::StorePointer* ptr = this->acquireResource(imageName + ',' + MultiType(scaling).getString());
[9781]12
[9784]13  if (ptr)
[9786]14  {
[9831]15    PRINTF(5)("FOUND OBJ: %s\n", imageName.c_str());
16    this->acquireData(static_cast<ResourceOBJ::OBJResourcePointer*>(ptr)->ptr());
[9786]17  }
[9784]18  else
19  {
[9831]20    PRINTF(5)("NOT FOUND OBJ: %s\n", imageName.c_str());
[9847]21    std::string fileName = this->Resource::locateFile(imageName);
[9831]22    this->acquireData(OBJModel(fileName, scaling).dataPointer());
[9854]23    this->Resource::addResource(new ResourceOBJ::OBJResourcePointer(imageName + ',' + MultiType(scaling).getString(), keepLevel, this->StaticModel::dataPointer()));
[9784]24  }
25}
26
[9854]27ResourceOBJ ResourceOBJ::createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel)
[9823]28{
29  SubString loadValues(loadString, ',');
30  std::string imageName;
[9831]31  float scaling = 1.0f;
[9823]32  if (loadValues.size() > 0)
33    imageName = loadValues[0];
34  if (loadValues.size() > 1)
[9831]35    scaling = (GLenum)MultiType(loadValues[2]).getFloat();
[9784]36
[9854]37  return ResourceOBJ(imageName, scaling, keepLevel);
[9823]38}
[9784]39
40
41
[9831]42Resources::tType<ResourceOBJ> ResourceOBJ::type("OBJ");
[9784]43
44
[9823]45
46
47
[9831]48ResourceOBJ::OBJResourcePointer::OBJResourcePointer(const std::string& loadString, const Resources::KeepLevel& keepLevel, const StaticModelData::Pointer& data)
[9791]49    : Resources::StorePointer(loadString, keepLevel) , pointer(data)
[9785]50{}
[9781]51
52
Note: See TracBrowser for help on using the repository browser.