Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 4336 in orxonox.OLD for orxonox/branches/physics/src


Ignore:
Timestamp:
May 27, 2005, 8:22:54 PM (20 years ago)
Author:
bensch
Message:

orxonox/branches/physics: segfault-prevention

Location:
orxonox/branches/physics/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • orxonox/branches/physics/src/lib/graphics/particles/particle_system.cc

    r4332 r4336  
    4242ParticleSystem::ParticleSystem (unsigned int maxCount, PARTICLE_TYPE type)
    4343{
    44    this->setClassID(CL_PARTICLE_SYSTEM, "ParticleSystem");
     44  this->setClassID(CL_PARTICLE_SYSTEM, "ParticleSystem");
    4545  this->material = NULL;
    4646  this->name = NULL;
     
    123123
    124124  //  glID[0] = glGenLists(count);
    125   if (material)
    126     delete material;
     125  if (this->material)
     126    delete this->material;
    127127  material = NULL;
    128128
    129   if (particleType == PARTICLE_SPRITE)
    130     {
    131       material = new Material("transperencyMap");
    132       material->setDiffuseMap("pictures/radialTransparency.png");
     129  if (this->particleType == PARTICLE_SPRITE)
     130    {
     131      this->material = new Material("transperencyMap");
     132      this->material->setDiffuseMap("pictures/radialTransparency.png");
    133133      //  material->setTransparency(.5);
    134134    }
  • orxonox/branches/physics/src/lib/gui/gui/gui_gtk.cc

    r4325 r4336  
    14191419{
    14201420  MenuItem* tmpItem = this->firstItem;
    1421   for (int i = 0; i<this->value; i++)
    1422     tmpItem = tmpItem->next;
    1423      
    1424   return tmpItem->name;
     1421  for (int i = 0; i < this->value; i++)
     1422    if (tmpItem)
     1423      tmpItem = tmpItem->next;
     1424    else
     1425      break;
     1426  if (tmpItem)
     1427    {
     1428      char* tmpName = new char[strlen(tmpItem->name)+1];
     1429      strcpy(tmpName, tmpItem->name);
     1430      return tmpName;
     1431    }
     1432  else
     1433    return NULL;
    14251434}
    14261435
     
    15031512
    15041513#endif /* HAVE_GTK2 */
    1505   PRINT(5)("%s set to: %d\n", this->title, this->value);
     1514  PRINT(1)("%s set to: %d\n", this->title, this->value);
    15061515}
    15071516
  • orxonox/branches/physics/src/subprojects/particles/particle_fun.cc

    r4335 r4336  
    4444          break;
    4545        }
    46 
    47     }
    48  
     46    }
    4947}
    5048
     
    6260void Framework::moduleHelp(void) const
    6361{
    64   PRINT(0)("i - state Information\n\n");
     62  PRINT(0)("\n");
     63  PRINT(0)("i - Particle-state Information\n\n");
    6564  PRINT(0)("\n");
    6665
     
    7170  Option* option = (Option*) widget;
    7271  const char* name = option->getTitle();
    73   char* valueC = option->save();
    74   float value = atof(valueC);
     72  char* value = option->save();
    7573
    7674  ParticleEmitter* tmpEmit = ParticleEngine::getInstance()->getEmitterByNumber(1);
     
    7977      if (!strcmp(name, "EmissionRate"))
    8078        {
    81           tmpEmit->setEmissionRate(value);
    82           PRINT(3)("EmissionRate set to %f\n", value);
     79          tmpEmit->setEmissionRate(atof(value));
     80          PRINT(3)("EmissionRate set to %f\n", atof(value));
    8381        }
    8482      else if (!strcmp(name, "Velocity"))
    8583        {
    86           tmpEmit->setEmissionVelocity(value);
    87           PRINT(3)("Velocity set to %f\n", value);
     84          tmpEmit->setEmissionVelocity(atof(value));
     85          PRINT(3)("Velocity set to %f\n", atof(value));
    8886        }
    8987      else if(!strcmp(name, "SpreadAngle"))
    9088        {
    91           tmpEmit->setSpread(value);
    92           PRINT(3)("SpreadAngle set to %f\n", value);
     89          tmpEmit->setSpread(atof(value));
     90          PRINT(3)("SpreadAngle set to %f\n", atof(value));
    9391        }
    9492      else if(!strcmp(name, "EmitterType"))
    9593        {
    96           if (!strcmp(valueC, "EMITTER_DOT"))
     94          if (!strcmp(value, "EMITTER_DOT"))
    9795            tmpEmit->setType(EMITTER_DOT);
    98           else if (!strcmp(valueC, "EMITTER_PLANE"))
     96          else if (!strcmp(value, "EMITTER_PLANE"))
    9997            tmpEmit->setType(EMITTER_PLANE);
    100           else if (!strcmp(valueC, "EMITTER_CUBE"))
     98          else if (!strcmp(value, "EMITTER_CUBE"))
    10199            tmpEmit->setType(EMITTER_CUBE);
    102           PRINT(3)("EmitterType set to %s\n", valueC);   
     100          PRINT(3)("EmitterType set to %s\n", value);
    103101        }
    104102      else if(!strcmp(name, "EmitterSize"))
    105103        {
    106           tmpEmit->setSize(value);
    107           PRINT(3)("EmitterSize set to %f\n", value);
    108         }
    109     }
    110   delete valueC;
     104          tmpEmit->setSize(atof(value));
     105          PRINT(3)("EmitterSize set to %f\n", atof(value));
     106        }
     107    }
     108  delete value;
    111109}
    112110
     
    116114  Option* option = (Option*) widget;
    117115  const char* name = option->getTitle();
    118   char* valueC = option->save();
    119   float value = atof(valueC);
     116  char* value = option->save();
     117  printf("%s\n", value);
    120118
    121119  ParticleSystem* tmpSys = ParticleEngine::getInstance()->getSystemByNumber(1);
     
    124122      if (!strcmp(name, "StartRadius"))
    125123        {
    126           tmpSys->setRadius(value, tmpSys->getEndRadius());
    127           PRINT(3)("ParticleStartRadius set to %f\n", value);
     124          tmpSys->setRadius(atof(value), tmpSys->getEndRadius());
     125          PRINT(3)("ParticleStartRadius set to %f\n", atof(value));
    128126        }
    129127      else if (!strcmp(name, "EndRadius"))
    130128        {
    131           tmpSys->setRadius( tmpSys->getStartRadius(), value);
    132           PRINT(3)("ParticleEndRadius set to %f\n", value);
     129          tmpSys->setRadius( tmpSys->getStartRadius(), atof(value));
     130          PRINT(3)("ParticleEndRadius set to %f\n", atof(value));
    133131        }
    134132
    135133      else if (!strcmp(name, "LifeSpan"))
    136134        {
    137           tmpSys->setLifeSpan(value);
    138           PRINT(3)("ParticleLifeSpan set to %f\n", value);
     135          tmpSys->setLifeSpan(atof(value));
     136          PRINT(3)("ParticleLifeSpan set to %f\n", atof(value));
    139137        }
    140138
    141139      else if (!strcmp(name, "ConserveFactor"))
    142140        {
    143           tmpSys->setConserve(value);
    144           PRINT(3)("ParticleConserveFactor set to %f\n", value);
     141          tmpSys->setConserve(atof(value));
     142          PRINT(3)("ParticleConserveFactor set to %f\n", atof(value));
    145143        }
    146144
    147145      else if (!strcmp(name, "ParticleType"))
    148146        {
    149           if (!strcmp(valueC, "PARTICLE_DOT"))
     147          if (!strcmp(value, "PARTICLE_DOT"))
    150148            tmpSys->setType(PARTICLE_DOT);
    151           else if (!strcmp(valueC, "PARTICLE_SPARK"))
     149          else if (!strcmp(value, "PARTICLE_SPARK"))
    152150            tmpSys->setType(PARTICLE_SPARK);
    153           else if (!strcmp(valueC, "PARTICLE_SPRITE"))
     151          else if (!strcmp(value, "PARTICLE_SPRITE"))
    154152            tmpSys->setType(PARTICLE_SPRITE);
    155153
    156           PRINT(3)("ParticleType set to %s\n", valueC);
     154          PRINT(3)("ParticleType set to %s\n", value);
    157155        }
    158156
    159157      else if (!strcmp(name, "InheritSpeed"))
    160158        {
    161           tmpSys->setInheritSpeed(value);
    162           PRINT(3)("ParticleInheritSpeed set to %f\n", value);
    163         }
    164 
    165     }
    166   delete valueC;
     159          tmpSys->setInheritSpeed(atof(value));
     160          PRINT(3)("ParticleInheritSpeed set to %f\n", atof(value));
     161        }
     162
     163    }
     164  delete value;
    167165}
    168166
Note: See TracChangeset for help on using the changeset viewer.