Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 3193 in orxonox.OLD for orxonox/trunk/src/object.cc


Ignore:
Timestamp:
Dec 16, 2004, 4:00:43 PM (20 years ago)
Author:
bensch
Message:

orxonox/trunk/src: merged importer into src again

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/object.cc

    r3185 r3193  
    2020
    2121/**
    22    \brief Creates a 3D-Object, but does not load any 3D-models
    23    pretty useless
     22   \brief Creates a 3D-Object, but does not load any 3D-models.
     23
     24   This Constructor is pretty useless, because why load no object in an object-loader??
    2425*/
    2526Object::Object ()
     
    3637
    3738/**
    38    \brief Crates a 3D-Object and loads in a File
     39   \brief Crates a 3D-Object and loads in a File.
    3940   \param fileName file to parse and load (must be a .obj file)
    4041*/
     
    6869
    6970/**
    70    \brief deletes an Object
     71   \brief deletes an Object.
     72
     73   Looks if any from object allocated space is still in use, and if so deleted it.
    7174*/
    7275Object::~Object()
     
    117120/**
    118121   \brief Draws the Object number groupNumber
     122   \param groupNumber The number of the group that will be displayed.
     123
    119124   It does this by just calling the List that must have been created earlier.
    120    \param groupNumber The number of the group that will be displayed.
    121125*/
    122126void Object::draw (int groupNumber) const
     
    152156/**
    153157   \brief Draws the Object with a specific groupName
     158   \param groupName The name of the group that will be displayed.
     159
    154160   It does this by just calling the List that must have been created earlier.
    155    \param groupName The name of the group that will be displayed.
    156161*/
    157162void Object::draw (char* groupName) const
     
    185190
    186191/**
    187     \brief initializes the Object
    188     This Function initializes all the needed arrays, Lists and clientStates
     192    \brief initializes the Object.
     193
     194    This Function initializes all the needed arrays, Lists and clientStates.
     195    It also defines default values.
    189196*/
    190197bool Object::initialize (void)
     
    214221/**
    215222   \brief initializes a new Group object
     223   \param group the group that should be initialized.
     224   \todo Maybe Group should be a Class, because it does a lot of stuff
     225   
    216226*/
    217227bool Object::initGroup(Group* group)
     
    231241/**
    232242   \brief initializes a new Face. (sets default Values)
     243   \param face The face to initialize
    233244*/
    234245bool Object::initFace (Face* face)
     
    285296
    286297/**
    287    \brief Cleans up all Faces starting from face.
    288    \param face the first face to clean
     298   \brief Cleans up all Faces starting from face until NULL is reached.
     299   \param face the first face to clean.
    289300*/
    290301bool Object::cleanupFace (Face* face)
     
    386397      BoxObject();
    387398      delete []fileName;
     399      OBJ_FILE->close();
    388400      return false;
    389401    }
     
    450462/**
    451463   \brief parses a group String
     464   \param groupString the new Group to create
     465
    452466   This function initializes a new Group.
    453467   With it you should be able to import .obj-files with more than one Objects inside.
    454    \param groupString the new Group to create
    455468*/
    456469bool Object::readGroup (char* groupString)
     
    476489/**
    477490   \brief parses a vertex-String
     491   \param vertexString The String that will be parsed.
     492
    478493   If a vertex line is found this function will inject it into the vertex-Array
    479    \param vertexString The String that will be parsed.
    480494*/
    481495bool Object::readVertex (char* vertexString)
     
    493507/**
    494508   \brief parses a face-string
     509   \param faceString The String that will be parsed.
     510
    495511   If a face line is found this function will add it to the glList.
    496512   The function makes a difference between QUADS and TRIANGLES, and will if changed re-open, set and re-close the gl-processe.
    497    \param faceString The String that will be parsed.
    498513*/
    499514bool Object::readFace (char* faceString)
     
    556571/**
    557572   \brief parses a vertexNormal-String
     573   \param normalString The String that will be parsed.
     574
    558575   If a vertexNormal line is found this function will inject it into the vertexNormal-Array
    559    \param normalString The String that will be parsed.
    560576*/
    561577bool Object::readVertexNormal (char* normalString)
     
    573589/**
    574590   \brief parses a vertexTextureCoordinate-String
    575    If a vertexTextureCoordinate line is found this function will inject it into the vertexTexture-Array
    576591   \param vTextureString The String that will be parsed.
     592
     593   If a vertexTextureCoordinate line is found,
     594   this function will inject it into the vertexTexture-Array
    577595*/
    578596bool Object::readVertexTexture (char* vTextureString)
     
    590608/**
    591609    \brief Function to read in a mtl File.
    592     this Function parses all Lines of an mtl File
    593610    \param mtlFile The .mtl file to read
     611
     612    This Function parses all Lines of an mtl File.
     613    The reason for it not to be in the materials-class is,
     614    that a material does not have to be able to read itself in from a File.
     615
    594616*/
    595617bool Object::readMtlLib (char* mtlFile)
     
    611633        printf ("unable to open file: %s\n", fileName);
    612634      delete []fileName;
     635      MTL_FILE->close();
    613636      return false;
    614637    }
     
    809832/**
    810833   \brief Adds a Face-element (one vertex of a face) with all its information.
     834   \param elem The FaceElement to add to the OpenGL-environment.
     835
    811836   It does this by searching:
    812837   1. The Vertex itself
     
    814839   3. The VertexTextureCoordinate
    815840   merging this information, the face will be drawn.
    816 
    817841*/
    818842bool Object::addGLElement (FaceElement* elem)
     
    832856/**
    833857   \brief A routine that is able to create normals.
     858
    834859   The algorithm does the following:
    835860   1. It calculates creates Vectors for each normale, and sets them to zero.
     
    912937/**
    913938   \brief Includes a default object
     939
    914940   This will inject a Cube, because this is the most basic object.
    915941*/
    916942void Object::BoxObject(void)
    917943{
    918   readVertex ("-0.500000 -0.500000 0.500000");
    919   readVertex ("0.500000 -0.500000 0.500000");
    920   readVertex ("-0.500000 0.500000 0.500000");
    921   readVertex ("0.500000 0.500000 0.500000");
    922   readVertex ("-0.500000 0.500000 -0.500000");
    923   readVertex ("0.500000 0.500000 -0.500000");
    924   readVertex ("-0.500000 -0.500000 -0.500000");
    925   readVertex ("0.500000 -0.500000 -0.500000");
    926 
    927   readVertexTexture ("0.000000 0.000000");
    928   readVertexTexture ("1.000000 0.000000");
    929   readVertexTexture ("0.000000 1.000000");
    930   readVertexTexture ("1.000000 1.000000");
    931   readVertexTexture ("0.000000 2.000000");
    932   readVertexTexture ("1.000000 2.000000");
    933   readVertexTexture ("0.000000 3.000000");
    934   readVertexTexture ("1.000000 3.000000");
    935   readVertexTexture ("0.000000 4.000000");
    936   readVertexTexture ("1.000000 4.000000");
    937   readVertexTexture ("2.000000 0.000000");
    938   readVertexTexture ("2.000000 1.000000");
    939   readVertexTexture ("-1.000000 0.000000");
    940   readVertexTexture ("-1.000000 1.000000");
    941 
    942   readVertexNormal ("0.000000 0.000000 1.000000");
    943   readVertexNormal ("0.000000 0.000000 1.000000");
    944   readVertexNormal ("0.000000 0.000000 1.000000");
    945   readVertexNormal ("0.000000 0.000000 1.000000");
    946   readVertexNormal ("0.000000 1.000000 0.000000");
    947   readVertexNormal ("0.000000 1.000000 0.000000");
    948   readVertexNormal ("0.000000 1.000000 0.000000");
    949   readVertexNormal ("0.000000 1.000000 0.000000");
    950   readVertexNormal ("0.000000 0.000000 -1.000000");
    951   readVertexNormal ("0.000000 0.000000 -1.000000");
    952   readVertexNormal ("0.000000 0.000000 -1.000000");
    953   readVertexNormal ("0.000000 0.000000 -1.000000");
    954   readVertexNormal ("0.000000 -1.000000 0.000000");
    955   readVertexNormal ("0.000000 -1.000000 0.000000");
    956   readVertexNormal ("0.000000 -1.000000 0.000000");
    957   readVertexNormal ("0.000000 -1.000000 0.000000");
    958   readVertexNormal ("1.000000 0.000000 0.000000");
    959   readVertexNormal ("1.000000 0.000000 0.000000");
    960   readVertexNormal ("1.000000 0.000000 0.000000");
    961   readVertexNormal ("1.000000 0.000000 0.000000");
    962   readVertexNormal ("-1.000000 0.000000 0.000000");
    963   readVertexNormal ("-1.000000 0.000000 0.000000");
    964   readVertexNormal ("-1.000000 0.000000 0.000000");
    965   readVertexNormal ("-1.000000 0.000000 0.000000");
     944  readVertex ("-0.5 -0.5 0.5");
     945  readVertex ("0.5 -0.5 0.5");
     946  readVertex ("-0.5 0.5 0.5");
     947  readVertex ("0.5 0.5 0.5");
     948  readVertex ("-0.5 0.5 -0.5");
     949  readVertex ("0.5 0.5 -0.5");
     950  readVertex ("-0.5 -0.5 -0.5");
     951  readVertex ("0.5 -0.5 -0.5");
     952
     953  readVertexTexture ("0.0 0.0");
     954  readVertexTexture ("1.0 0.0");
     955  readVertexTexture ("0.0 1.0");
     956  readVertexTexture ("1.0 1.0");
     957  readVertexTexture ("0.0 2.0");
     958  readVertexTexture ("1.0 2.0");
     959  readVertexTexture ("0.0 3.0");
     960  readVertexTexture ("1.0 3.0");
     961  readVertexTexture ("0.0 4.0");
     962  readVertexTexture ("1.0 4.0");
     963  readVertexTexture ("2.0 0.0");
     964  readVertexTexture ("2.0 1.0");
     965  readVertexTexture ("-1.0 0.0");
     966  readVertexTexture ("-1.0 1.0");
     967
     968  readVertexNormal ("0.0 0.0 1.0");
     969  readVertexNormal ("0.0 0.0 1.0");
     970  readVertexNormal ("0.0 0.0 1.0");
     971  readVertexNormal ("0.0 0.0 1.0");
     972  readVertexNormal ("0.0 1.0 0.0");
     973  readVertexNormal ("0.0 1.0 0.0");
     974  readVertexNormal ("0.0 1.0 0.0");
     975  readVertexNormal ("0.0 1.0 0.0");
     976  readVertexNormal ("0.0 0.0 -1.0");
     977  readVertexNormal ("0.0 0.0 -1.0");
     978  readVertexNormal ("0.0 0.0 -1.0");
     979  readVertexNormal ("0.0 0.0 -1.0");
     980  readVertexNormal ("0.0 -1.0 0.0");
     981  readVertexNormal ("0.0 -1.0 0.0");
     982  readVertexNormal ("0.0 -1.0 0.0");
     983  readVertexNormal ("0.0 -1.0 0.0");
     984  readVertexNormal ("1.0 0.0 0.0");
     985  readVertexNormal ("1.0 0.0 0.0");
     986  readVertexNormal ("1.0 0.0 0.0");
     987  readVertexNormal ("1.0 0.0 0.0");
     988  readVertexNormal ("-1.0 0.0 0.0");
     989  readVertexNormal ("-1.0 0.0 0.0");
     990  readVertexNormal ("-1.0 0.0 0.0");
     991  readVertexNormal ("-1.0 0.0 0.0");
    966992
    967993  /* normaleLess-testingMode
Note: See TracChangeset for help on using the changeset viewer.