![]() |
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