6#include <cgv/math/fvec.h>
8#include <cgv/media/lib_begin.h>
30 face_info(
unsigned _nr = 0,
unsigned _vi0 = 0,
int _ti0 = -1,
int _ni0 = -1,
unsigned gi=-1,
unsigned mi=-1);
47 line_info(
unsigned _nr = 0,
unsigned _vi0 = 0,
int _ti0 = -1,
int _ni0 = -1,
unsigned gi = -1);
72 std::vector<vec3_type> vertices;
73 std::vector<vec3_type> normals;
74 std::vector<vec2_type> texcoords;
75 std::vector<color_type> colors;
77 std::vector<unsigned> vertex_indices;
78 std::vector<unsigned> normal_indices;
79 std::vector<unsigned> texcoord_indices;
81 std::vector<line_info> lines;
82 std::vector<face_info> faces;
83 std::vector<group_info> groups;
84 std::vector<cgv::media::illum::obj_material> materials;
91 void process_texcoord(
const vec2_type& t);
95 void process_color(
const color_type& c);
97 void process_line(
unsigned vcount,
int* vertices,
int* texcoords = 0,
int* normals = 0);
99 void process_face(
unsigned vcount,
int* vertices,
int* texcoords = 0,
int* normals = 0);
101 void process_group(
const std::string& name,
const std::string& parameters);
107 bool read_obj(
const std::string& file_name);
109 bool read_obj_bin(
const std::string& file_name);
111 bool write_obj_bin(
const std::string& file_name)
const;
113 void show_stats()
const;
127#include <cgv/config/lib_end.h>