Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 9832 in orxonox.OLD for branches/new_class_id/src/lib


Ignore:
Timestamp:
Sep 26, 2006, 3:44:38 PM (18 years ago)
Author:
bensch
Message:

orxonox/new_class_id: Loading via the new Interface works, (it seems)

Location:
branches/new_class_id/src/lib/graphics/importer
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/new_class_id/src/lib/graphics/importer/static_model.cc

    r9830 r9832  
    3737 */
    3838StaticModel::StaticModel(const std::string& modelName)
    39   : data(new StaticModelData(modelName))
     39    : data(new StaticModelData(modelName))
    4040{
    4141  this->registerObject(this, StaticModel::_objectList);
     
    4343  this->setName(modelName);
    4444}
     45
     46StaticModel::StaticModel(const StaticModel& staticModel)
     47  : data(staticModel.data)
     48{
     49  this->registerObject(this, StaticModel::_objectList);
     50  this->setName(staticModel.getName());
     51  this->updateBase();
     52}
     53
    4554
    4655/**
     
    6069}
    6170
     71StaticModel& StaticModel::operator=(const StaticModel& model)
     72{
     73  this->data = model.data;
     74  this->updateBase();
     75  return *this;
     76};
     77
     78
    6279/**
    6380 * @brief Finalizes an Object. This can be done outside of the Class.
     
    6683{
    6784  data->finalize();
     85  this->updateBase();
     86}
    6887
    69   // write out the modelInfo data used for the collision detection!
    70   this->pModelInfo.pVertices = &this->data->getVertices()[0];
    71   this->pModelInfo.numVertices = this->data->getVertices().size();
    72   this->pModelInfo.pNormals = &this->data->getNormals()[0];
    73   this->pModelInfo.numNormals = this->data->getNormals().size();
    74   this->pModelInfo.pTexCoor = &this->data->getTexCoords()[0];
    75   this->pModelInfo.numTexCoor = this->data->getTexCoords().size();
    76 
    77   this->pModelInfo.pTriangles = this->data->getTrianglesExt();
    78   this->pModelInfo.numTriangles = this->data->getTriangles().size();
     88void StaticModel::acquireData(const StaticModelData::Pointer& data)
     89{
     90  this->data = data;
     91  this->updateBase();
    7992}
    8093
     
    92105  return retVal;
    93106}
     107
     108void StaticModel::updateBase()
     109{
     110  // write out the modelInfo data used for the collision detection!
     111  this->pModelInfo.pVertices = &this->data->getVertices()[0];
     112  this->pModelInfo.numVertices = this->data->getVertices().size();
     113  this->pModelInfo.pNormals = &this->data->getNormals()[0];
     114  this->pModelInfo.numNormals = this->data->getNormals().size();
     115  this->pModelInfo.pTexCoor = &this->data->getTexCoords()[0];
     116  this->pModelInfo.numTexCoor = this->data->getTexCoords().size();
     117
     118  this->pModelInfo.pTriangles = this->data->getTrianglesExt();
     119  this->pModelInfo.numTriangles = this->data->getTriangles().size();
     120}
     121
    94122
    95123/**
  • branches/new_class_id/src/lib/graphics/importer/static_model.h

    r9831 r9832  
    2424{
    2525  ObjectListDeclaration(StaticModel);
    26   public:
     26public:
    2727  StaticModel(const std::string& modelName = "");
     28  StaticModel(const StaticModel& staticModel);
    2829  virtual ~StaticModel();
    2930
    30   StaticModel& operator=(const StaticModel& model) { this->data = model.data; return *this; };
     31  StaticModel& operator=(const StaticModel& model);
    3132
    3233  virtual void draw() const { data->draw(); };
     
    5859  void finalize();
    5960
    60   void acquireData(const StaticModelData::Pointer& data) { this->data = data; };
     61  void acquireData(const StaticModelData::Pointer& data);
    6162  const StaticModelData::Pointer& dataPointer() const { return this->data; };
    6263
     
    6465  float getScaleFactor() const { return data->getScaleFactor(); }
    6566
    66  protected:
     67protected:
    6768  void cubeModel();
    6869
    69  private:
    70    StaticModelData::Pointer         data;
     70private:
     71  void updateBase();
     72private:
     73  StaticModelData::Pointer         data;
    7174};
    7275
Note: See TracChangeset for help on using the changeset viewer.