Collaboration diagram for OBJReaderImpl:
Reader State | |
typedef map< string, long > | mtl_name2id_map_t |
bool | read_succeeded |
vector< Wpt > | vertices |
vector< Wvec > | normals |
vector< UVpt > | texcoords |
vector< OBJFace > | faces |
vector< string > | mtl_files |
vector< OBJMtl > | materials |
vector< vector< long > > | material_faces |
mtl_name2id_map_t | mtl_name2id |
long | current_material |
Public Member Functions | |
OBJReaderImpl () | |
bool | read (istream &in) |
BMESH * | get_mesh () const |
void | get_mesh (BMESH *mesh) const |
Private Member Functions | |
bool | read_mtl_files () |
Mesh Building Functions | |
void | add_vertices (BMESH *mesh) const |
void | add_patches (BMESH *mesh) const |
void | set_vert_normals (BMESH *mesh) const |
void | add_face (BMESH *mesh, Patch *patch, unsigned long index) const |
void | add_tri (BMESH *mesh, Patch *patch, const OBJFace &face, unsigned long idx0, unsigned long idx1, unsigned long idx2) const |
Adds a triangle to BMESH mesh and Patch patch from the OBJFace face . idx0 , idx1 and idx2 are the indices (with respect to the face) of the three vertices that make up the triangle. | |
void | add_creases (BMESH *mesh) const |
Static Private Member Functions | |
Element Reading Functions | |
static bool | read_v (istream &in, OBJReaderImpl *self) |
Reads the data for a vertex position element in a .obj file (not including the starting 'v' token). | |
static bool | read_vn (istream &in, OBJReaderImpl *self) |
Reads the data for a vertex normal element in a .obj file (not including the starting 'vn' token). | |
static bool | read_vt (istream &in, OBJReaderImpl *self) |
Reads the data for a vertex texture coordinate element in a .obj file (not including the starting 'vt' token). | |
static bool | read_f (istream &in, OBJReaderImpl *self) |
Reads the data for a face element in a .obj file (not including the starting 'f' token). | |
static bool | read_mtllib (istream &in, OBJReaderImpl *self) |
Reads the data for a material library element in a .obj file (not including the starting 'mtllib' token). | |
static bool | read_usemtl (istream &in, OBJReaderImpl *self) |
Reads the data for a "use material" directive in a .obj file (not including the starting 'usemtl' token). | |
Private Attributes | |
Reader< OBJReaderImpl > | reader |
Mesh Building State: | |
vector< unsigned long > | mesh_faces2obj_faces |
Lookup .obj face index from mesh face index:. | |
Friends | |
class | OBJReader |
Definition at line 737 of file objreader.C.
|
Definition at line 783 of file objreader.C. |
|
Definition at line 818 of file objreader.C. References Reader< T >::add_reader_function(), read_f(), read_mtllib(), read_usemtl(), read_v(), read_vn(), read_vt(), and reader. |
|
Definition at line 1281 of file objreader.C. References BMESH::be(), Bedge::f(), Bedge::f1(), Bedge::f2(), faces, Bvert::index(), Bface::index(), mesh_faces2obj_faces, BMESH::nedges(), Bedge::set_crease(), Bedge::v1(), and Bedge::v2(). Referenced by get_mesh(). |
|
Definition at line 1198 of file objreader.C. References add_tri(), BMESH::bv(), faces, lookup_edge(), mesh_faces2obj_faces, Bsimplex::set_bit(), and Bedge::WEAK_BIT. Referenced by add_patches(). |
|
Definition at line 1135 of file objreader.C. References add_face(), debug, err_adv(), get_name(), j, material_faces, materials, BMESH::new_patch(), and Patch::set_name(). Referenced by get_mesh(). |
|
Adds a triangle to BMESH
Definition at line 1229 of file objreader.C. References BMESH::add_face(), OBJFace::get_normal_idx(), OBJFace::get_texcoord_idx(), OBJFace::get_vertex_idx(), OBJFace::has_normals(), OBJFace::has_texcoords(), normals, texcoords, and vertices. Referenced by add_face(). |
|
Definition at line 1123 of file objreader.C. References BMESH::add_vertex(), and vertices. Referenced by get_mesh(). |
|
Definition at line 881 of file objreader.C. References add_creases(), add_patches(), add_vertices(), BMESH::changed(), BMESH::delete_elements(), mesh_faces2obj_faces, read_succeeded, and set_vert_normals(). |
|
Definition at line 867 of file objreader.C. References read_succeeded. Referenced by OBJReader::get_mesh(). |
|
Definition at line 834 of file objreader.C. References current_material, faces, material_faces, materials, mtl_files, mtl_name2id, normals, Reader< T >::read(), read_mtl_files(), read_succeeded, reader, texcoords, and vertices. |
|
Reads the data for a face element in a .obj file (not including the starting 'f' token).
Definition at line 1014 of file objreader.C. References OBJFace::add_normal(), OBJFace::add_texcoord(), OBJFace::add_vertex(), current_material, faces, OBJFace::good(), normals, texcoords, and vertices. Referenced by OBJReaderImpl(). |
|
Definition at line 908 of file objreader.C. References MTLReader::get_material(), get_name(), MTLReader::has_material(), j, materials, mtl_files, MTLReader::read(), and read_succeeded. Referenced by read(). |
|
Reads the data for a material library element in a .obj file (not including the starting 'mtllib' token).
Definition at line 1065 of file objreader.C. Referenced by OBJReaderImpl(). |
|
Reads the data for a "use material" directive in a .obj file (not including the starting 'usemtl' token).
Definition at line 1093 of file objreader.C. References materials, and mtl_name2id. Referenced by OBJReaderImpl(). |
|
Reads the data for a vertex position element in a .obj file (not including the starting 'v' token).
Definition at line 954 of file objreader.C. Referenced by OBJReaderImpl(). |
|
Reads the data for a vertex normal element in a .obj file (not including the starting 'vn' token).
Definition at line 974 of file objreader.C. Referenced by OBJReaderImpl(). |
|
Reads the data for a vertex texture coordinate element in a .obj file (not including the starting 'vt' token).
Definition at line 994 of file objreader.C. Referenced by OBJReaderImpl(). |
|
Definition at line 1183 of file objreader.C. References BMESH::bv(), debug, err_adv(), normals, BMESH::nverts(), Bvert::set_norm(), and vertices. Referenced by get_mesh(). |
|
Definition at line 749 of file objreader.C. |
|
Definition at line 786 of file objreader.C. |
|
Definition at line 777 of file objreader.C. Referenced by add_creases(), add_face(), OBJReader::get_num_faces(), read(), and read_f(). |
|
Definition at line 781 of file objreader.C. Referenced by add_patches(), and read(). |
|
Definition at line 780 of file objreader.C. Referenced by add_patches(), OBJReader::get_num_materials(), read(), read_mtl_files(), and read_usemtl(). |
|
Lookup .obj face index from mesh face index:.
Definition at line 812 of file objreader.C. Referenced by add_creases(), add_face(), and get_mesh(). |
|
Definition at line 779 of file objreader.C. Referenced by OBJReader::get_num_material_libs(), read(), and read_mtl_files(). |
|
Definition at line 784 of file objreader.C. Referenced by read(), and read_usemtl(). |
|
Definition at line 775 of file objreader.C. Referenced by add_tri(), OBJReader::get_num_normals(), read(), read_f(), and set_vert_normals(). |
|
Definition at line 772 of file objreader.C. Referenced by get_mesh(), read(), and read_mtl_files(). |
|
Definition at line 753 of file objreader.C. Referenced by OBJReaderImpl(), and read(). |
|
Definition at line 776 of file objreader.C. Referenced by add_tri(), OBJReader::get_num_texcoords(), read(), and read_f(). |
|
Definition at line 774 of file objreader.C. Referenced by add_tri(), add_vertices(), OBJReader::get_num_vertices(), read(), read_f(), and set_vert_normals(). |