Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 2761 in orxonox.OLD for orxonox/branches/importer


Ignore:
Timestamp:
Nov 9, 2004, 3:32:54 AM (20 years ago)
Author:
bensch
Message:

orxonox/branches/importer: now it should include all the cheap files without vt, vn, or textures.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/branches/importer/importer/object.cc

    r2760 r2761  
    33Object::Object ()
    44{
    5   this->readFromObjFile ("cube.obj");
     5  this->readFromObjFile ("sphere.obj");
    66   
    77  glEnableClientState (GL_VERTEX_ARRAY);
     
    1919      glArrayElement((int)faces->getArray()[i] -1);
    2020    }
    21   /*  glArrayElement(1);
    22   glArrayElement(3);
    23   glArrayElement(2);
    24 
    25   glArrayElement(2);
    26   glArrayElement(3);
    27   glArrayElement(5);
    28   glArrayElement(4);
    29 
    30   glArrayElement(4);
    31   glArrayElement(5);
    32   glArrayElement(7);
    33   glArrayElement(6);
    34 
    35   glArrayElement(6);
    36   glArrayElement(7);
    37   glArrayElement(1);
    38   glArrayElement(0);
    39 
    40   glArrayElement(1);
    41   glArrayElement(7);
    42   glArrayElement(5);
    43   glArrayElement(3);
    44 
    45   glArrayElement(6);
    46   glArrayElement(0);
    47   glArrayElement(2);
    48   glArrayElement(4);
    49   */
    50  
    5121
    5222  glEnd();
     
    7242  else
    7343    {
    74       char Buffer[10];
     44      char Buffer[100];
    7545      vertices = new Array();
    7646      faces = new Array();
    77 
     47      char lastWas = '0';
     48       
    7849      while (fscanf (OBJ_FILE, "%s", Buffer) != EOF)
    7950        {
    80           //      printf ("%s\n",Buffer);
    81 
     51         
    8252          // case we read it is a vertex
    8353          if (!strcmp (Buffer, "v"))
    84             { 
    85               for (int i=0; i<=2;i++)
    86                 {
    87                   fscanf (OBJ_FILE, "%s", Buffer);
    88                   //printf ("float: %f\n", atof(Buffer));
    89                   vertices->addEntry(atof(Buffer));
    90                 }
     54            {
     55              lastWas = 'v';
    9156            }
    9257          // case we read a Face
    93           if (!strcmp (Buffer, "f"))
     58          else if (!strcmp (Buffer, "f"))
    9459            { 
    95               for (int i=0; i<=3;i++)
     60              lastWas = 'f';
     61            }
     62          else if (!strcmp (Buffer, "vn"))
     63            {
     64              lastWas = 'n';
     65            }
     66          else if (!strcmp (Buffer, "vt"))
     67            {
     68              lastWas = 't';
     69            }
     70          // all other cases
     71          else
     72            {
     73              if (lastWas == 'v')
     74                {
     75                  vertices->addEntry(atof(Buffer));
     76                  printf ("v: %s\n", Buffer);
     77                }
     78              else if (lastWas == 'f')
    9679                {
    9780                  char* pointTo;
    98                   fscanf (OBJ_FILE, "%s", Buffer);
    9981                  pointTo = strstr (Buffer, "/");
    10082                  pointTo[0] = '\0';
    101                   printf ("int: %s\n", Buffer);
     83                  printf ("f: %s\n", Buffer);
    10284                  faces->addEntry(atof(Buffer));
    10385                }
     86             
    10487            }
    10588        }
    10689      vertices->finalizeArray();
     90      faces->finalizeArray();
    10791      fclose (OBJ_FILE);
     92      printf("test\n");
    10893      return true;
    10994    }
Note: See TracChangeset for help on using the changeset viewer.