![]()  | 
  
    CUGL 3.0
    
   Cornell University Game Library 
   | 
 
#include <CUObjModel.h>
Public Member Functions | |
| ModelInfo () | |
| std::shared_ptr< GroupInfo > | acquireGroup () | 
| std::shared_ptr< GroupInfo > | currentGroup () const | 
Public Attributes | |
| std::string | name | 
| std::string | path | 
| std::string | material | 
| std::vector< cugl::Vec3 > | positions | 
| std::vector< cugl::Vec2 > | texcoords | 
| std::vector< cugl::Vec3 > | normals | 
| std::vector< std::shared_ptr< GroupInfo > > | groups | 
| std::unordered_map< std::string, std::shared_ptr< MaterialLib > > | libraries | 
This class represents the data in an OBJ file.
While a single OBJ file can potentially represeting multiple models, we consider them all to be a single model and only separate up files into rendering groups (which is all the specification really allows)
All data is stored in the same order that it is presented in the file. That makes it possible for a VertexInfo to refer to data by its index. 
      
  | 
  inline | 
Creates an unintialized ModelInfo with default values
| std::shared_ptr< GroupInfo > cugl::scene3::ModelInfo::acquireGroup | ( | ) | 
      
  | 
  inline | 
| std::vector<std::shared_ptr<GroupInfo> > cugl::scene3::ModelInfo::groups | 
The render groups in this file
| std::unordered_map<std::string,std::shared_ptr<MaterialLib> > cugl::scene3::ModelInfo::libraries | 
The imported libraries
| std::string cugl::scene3::ModelInfo::material | 
The name for the current active material
| std::string cugl::scene3::ModelInfo::name | 
The name of the object model (e.g. the reference key)
| std::vector<cugl::Vec3> cugl::scene3::ModelInfo::normals | 
The vertex normals in this file
| std::string cugl::scene3::ModelInfo::path | 
The path to the OBJ file
| std::vector<cugl::Vec3> cugl::scene3::ModelInfo::positions | 
The vertex positions in this file
| std::vector<cugl::Vec2> cugl::scene3::ModelInfo::texcoords | 
The texture coordinates in this file