Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 5014 in orxonox.OLD for orxonox/trunk/src/lib/graphics


Ignore:
Timestamp:
Aug 14, 2005, 4:29:29 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: implemented a new kind of ini-parser
this parser first reads the file, and then one can search through without accessing the file anymore

File:
1 edited

Legend:

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

    r4836 r5014  
    1 /* 
     1/*
    22   orxonox - the future of 3D-vertical-scrollers
    33
     
    6464{
    6565  PRINTF(4)("preparing to read in file: %s\n", fileName);
    66   // splitting the 
     66  // splitting the
    6767  char* split = NULL;
    6868
     
    103103      // line termiated with \0 not \n
    104104      if (buffer[strlen(buffer)-1] == '\n')
    105         buffer[strlen(buffer)-1] = '\0';
     105        buffer[strlen(buffer)-1] = '\0';
    106106
    107107      // case vertice
    108108      if (!strncmp(buffer, "v ", 2))
    109         {
    110           this->addVertex(buffer+2);
    111         }
     109        {
     110          this->addVertex(buffer+2);
     111        }
    112112
    113113      // case face
    114114      else if (!strncmp(buffer, "f ", 2))
    115         {
    116           this->addFace (buffer+2);
    117         }
    118      
     115        {
     116          this->addFace (buffer+2);
     117        }
     118
    119119      else if (!strncmp(buffer, "mtllib ", 7))
    120         {
    121           this->readMtlLib (buffer+7);
    122         }
     120        {
     121          this->readMtlLib (buffer+7);
     122        }
    123123
    124124      else if (!strncmp(buffer, "usemtl ", 7))
    125         {
    126           this->setMaterial (buffer+7);
    127         }
     125        {
     126          this->setMaterial (buffer+7);
     127        }
    128128
    129129      // case VertexNormal
    130130      else if (!strncmp(buffer, "vn ", 3))
    131         {
    132           this->addVertexNormal(buffer+3);
    133         }
    134      
     131        {
     132          this->addVertexNormal(buffer+3);
     133        }
     134
    135135      // case VertexTextureCoordinate
    136136      else if (!strncmp(buffer, "vt ", 3))
    137         {
    138           this->addVertexTexture(buffer+3);
    139         }
     137        {
     138          this->addVertexTexture(buffer+3);
     139        }
    140140      // case group
    141141      else if (!strncmp(buffer, "g ", 2))
    142         {
    143           this->addGroup (buffer+2);
    144         }
     142        {
     143          this->addGroup (buffer+2);
     144        }
    145145      else if (!strncmp(buffer, "s ", 2)) //! @todo smoothing groups have to be implemented
    146         {
    147           PRINTF(2)("smoothing groups not supportet yet. line: %s\n", buffer);
    148         }
     146        {
     147          PRINTF(2)("smoothing groups not supportet yet. line: %s\n", buffer);
     148        }
    149149    }
    150150  fclose (stream);
     
    152152}
    153153
    154 /** 
     154/**
    155155  *  Function to read in a mtl File.
    156156  * @param mtlFile The .mtl file to read
     
    183183      // line termiated with \0 not \n
    184184      if (buffer[strlen(buffer)-1] == '\n')
    185         buffer[strlen(buffer)-1] = '\0';
     185        buffer[strlen(buffer)-1] = '\0';
    186186
    187187      // create new Material
    188188      if (!strncmp(buffer, "newmtl ", 7))
    189         {
    190           tmpMat = this->addMaterial(buffer+7);//tmpMat->addMaterial(buffer+7);
    191         }
     189        {
     190          tmpMat = this->addMaterial(buffer+7);//tmpMat->addMaterial(buffer+7);
     191        }
    192192      // setting a illumMode
    193193      else if (!strncmp(buffer, "illum ", 6))
    194         {
    195           if (likely(tmpMat != NULL))
    196             tmpMat->setIllum(buffer+6);
    197 
    198         }
     194        {
     195          if (likely(tmpMat != NULL))
     196            tmpMat->setIllum(buffer+6);
     197
     198        }
    199199      // setting Diffuse Color
    200200      else if (!strncmp(buffer, "Kd ", 3))
    201         {
    202           if (likely(tmpMat != NULL))
    203             tmpMat->setDiffuse(buffer+3);
    204         }
     201        {
     202          if (likely(tmpMat != NULL))
     203            tmpMat->setDiffuse(buffer+3);
     204        }
    205205      // setting Ambient Color
    206206      else if (!strncmp(buffer, "Ka ", 3))
    207         {
    208           if (likely(tmpMat != NULL))
    209             tmpMat->setAmbient(buffer+3);
    210         }
     207        {
     208          if (likely(tmpMat != NULL))
     209            tmpMat->setAmbient(buffer+3);
     210        }
    211211      // setting Specular Color
    212212      else if (!strncmp(buffer, "Ks ", 3))
    213         {
    214           if (likely(tmpMat != NULL))
    215             tmpMat->setSpecular(buffer+3);
    216         }
     213        {
     214          if (likely(tmpMat != NULL))
     215            tmpMat->setSpecular(buffer+3);
     216        }
    217217      // setting The Specular Shininess
    218218      else if (!strncmp(buffer, "Ns ", 3))
    219         {
    220           if (likely(tmpMat != NULL))
    221             tmpMat->setShininess(buffer+3);
    222         }
     219        {
     220          if (likely(tmpMat != NULL))
     221            tmpMat->setShininess(buffer+3);
     222        }
    223223      // setting up transparency
    224224      else if (!strncmp(buffer, "d ", 2))
    225         {
    226           if (likely(tmpMat != NULL))
    227             tmpMat->setTransparency(buffer+2);
    228         }
     225        {
     226          if (likely(tmpMat != NULL))
     227            tmpMat->setTransparency(buffer+2);
     228        }
    229229      else if (!strncmp(buffer, "Tf ", 3))
    230         {
    231           if (likely(tmpMat != NULL))
    232             tmpMat->setTransparency(buffer+3);
    233         }
    234      
     230        {
     231          if (likely(tmpMat != NULL))
     232            tmpMat->setTransparency(buffer+3);
     233        }
     234
    235235      else if (!strncmp(buffer, "map_Kd ", 7))
    236         {
    237           if (likely(tmpMat != NULL))
    238             tmpMat->setDiffuseMap(buffer+7);
    239         }
     236        {
     237          if (likely(tmpMat != NULL))
     238            tmpMat->setDiffuseMap(buffer+7);
     239        }
    240240      else if (!strncmp(buffer, "map_Ka ", 7))
    241         {
    242           if (likely(tmpMat != NULL))
    243             tmpMat->setAmbientMap(buffer+7);
    244         }
     241        {
     242          if (likely(tmpMat != NULL))
     243            tmpMat->setAmbientMap(buffer+7);
     244        }
    245245      else if (!strncmp(buffer, "map_Ks ", 7))
    246         {
    247           if (likely(tmpMat != NULL))
    248             tmpMat->setSpecularMap(buffer+7);
    249         }
     246        {
     247          if (likely(tmpMat != NULL))
     248            tmpMat->setSpecularMap(buffer+7);
     249        }
    250250      else if (!strncmp(buffer, "bump ", 5))
    251         {
    252           if (likely(tmpMat != NULL))
    253             tmpMat->setBump(buffer+7);
    254         }
    255      
     251        {
     252          if (likely(tmpMat != NULL))
     253            tmpMat->setBump(buffer+7);
     254        }
     255
    256256
    257257    }
Note: See TracChangeset for help on using the changeset viewer.