Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 4834 in orxonox.OLD for orxonox/trunk/src/lib/graphics/importer


Ignore:
Timestamp:
Jul 11, 2005, 5:47:23 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: crosshair in WeaponManager (instead of World) and implemented easy Cyling for LoadParam

Location:
orxonox/trunk/src/lib/graphics/importer
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/lib/graphics/importer/material.cc

    r4746 r4834  
    5757{
    5858  PRINTF(4)("delete Material %s.\n", this->getName());
     59
    5960  if (this->diffuseTexture)
    6061    ResourceManager::getInstance()->unload(this->diffuseTexture);
     62  if (this->ambientTexture)
     63    ResourceManager::getInstance()->unload(this->ambientTexture);
     64  if (this->specularTexture)
     65    ResourceManager::getInstance()->unload(this->specularTexture);
    6166}
    6267
     
    267272    ResourceManager::getInstance()->unload(this->diffuseTexture);
    268273
    269   //! \todo check if RESOURCE MANAGER is availiable
    270   //! \todo Textures from .mtl-file need special care.
    271   this->diffuseTexture = (Texture*)ResourceManager::getInstance()->load(dMap, IMAGE);
     274  //! @todo check if RESOURCE MANAGER is availiable
     275  //! @todo Textures from .mtl-file need special care.
     276  if (dMap!= NULL)
     277    this->diffuseTexture = (Texture*)ResourceManager::getInstance()->load(dMap, IMAGE);
     278  else
     279    this->diffuseTexture = NULL;
    272280}
    273281
  • orxonox/trunk/src/lib/graphics/importer/model.cc

    r4822 r4834  
    159159
    160160  this->materialList = new tList<Material>;
     161  this->materialsExtern = false;
    161162
    162163  if (this->type == MODEL_VERTEX_ARRAY)
     
    186187
    187188  // deleting the MaterialList
    188   PRINTF(5)("Deleting Materials.\n");
    189   tIterator<Material>* tmpIt = this->materialList->getIterator();
    190   Material* material = tmpIt->nextElement();
    191 
    192   //! \todo do we really have to delete this material??
    193   while(material)
     189  if (!this->materialsExtern)
     190  {
     191    PRINTF(5)("Deleting Materials.\n");
     192
     193    tIterator<Material>* tmpIt = this->materialList->getIterator();
     194    Material* material = tmpIt->nextElement();
     195  //! @todo do we really have to delete this material??
     196    while(material)
    194197    {
    195198      delete material;
    196199      material = tmpIt->nextElement();
    197200    }
    198   delete tmpIt;
     201    delete tmpIt;
     202  }
    199203  delete materialList;
    200204  delete this->pModelInfo;
     
    356360/**
    357361   \brief finalizes an Model.
    358    This funcion is needed, to delete all the Lists, and arrays that are no more needed because they are already imported into openGL. This will be applied at the end of the importing Process.
     362 * This funcion is needed, to delete all the Lists, and arrays that are no more
     363 * needed because they are already imported into openGL.
     364 * This will be applied at the end of the importing Process.
    359365*/
    360366bool Model::cleanup()
     
    372378   \param material the Material to add
    373379   \returns the added material
    374 
    375    !! beware the Material will be deleted when the Model gets deleted
     380 *
     381 * this also tells this Model, that all the Materials are handled externally
     382 * with this option set the Materials will not be deleted with the Model.
     383 * !! -> NO MATERIALS GET DELETED WITH ONE CALL TO THIS FUNCTION !!
    376384*/
    377385Material* Model::addMaterial(Material* material)
    378386{
    379387  this->materialList->add(material);
     388  this->materialsExtern = true;
    380389  return material;
    381390}
  • orxonox/trunk/src/lib/graphics/importer/model.h

    r4830 r4834  
    190190
    191191  tList<Material>* materialList;    //!< A list for all the Materials in this Model
     192  bool             materialsExtern; //!< If the materials given to this Object are extern.
    192193};
    193194
Note: See TracChangeset for help on using the changeset viewer.