Developer Documentation

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
OBJImporter Class Reference

## Public Types
enum | ObjectOptionsE { NONE = 0, TRIMESH = 1, POLYMESH = 1 << 1, CURVE = 1 << 2, SURFACE = 1 << 3, NORMALS = 1 << 4, TEXCOORDS = 1 << 5, FACECOLOR = 1 << 6, TEXTURE = 1 << 7, FORCE_NOCOLOR = 1 << 8, FORCE_NONORMALS = 1 << 9, FORCE_NOTEXTURES = 1 << 10 }
typedef unsigned int | ObjectOptions

## Public Member Functions
| OBJImporter ()
| Constructor.
| ~OBJImporter ()
| base class needs virtual destructor
VertexHandle | addVertex (const Vec3f &_point)
| add a vertex with coordinate `_point`
Vec3f | vertex (unsigned int _index)
| get vertex with given index
int | addTexCoord (const Vec2f &_coord)
| add texture coordinates
int | addNormal (const Vec3f &_normal)
| add a normal
void | setDegreeU (int _degree)
| set degree More...
void | setDegreeV (int _degree)
| set degree V direction
int | degreeU ()
| get current degree
int | degreeV ()
| get current degree
void | setObject (BaseObject *_object, int _groupId)
| add an object More...
int | currentObject ()
| get id of the active object
PolyMesh * | currentPolyMesh ()
| get a pointer to the active polyMesh More...
TriMesh * | currentTriMesh ()
| get a pointer to the active triMesh More...
void | addUsedVertices (int _groupId)
| add all vertices that are used to the mesh (in correct order)
void | setVertexTexCoord (VertexHandle _vh, int _texCoordID)
| set vertex texture coordinate
void | setNormal (int _index, int _normalID)
| set vertex normal
void | addFace (const VHandles &_indices)
| add a face with indices _indices refering to vertices
void | addFace (const VHandles &_indices, const std::vector< int > &_face_texcoords)
| add face and texture coordinates
void | forceMeshType (ObjectOptions _meshType)
| force all meshes to be opened with specific type
bool | hasNormals (int _objectID)
| Query Object Options.
bool | hasTexture (int _objectID)
bool | hasTextureCoords (int _objectID)
bool | isTriangleMesh (int _objectID)
bool | isPolyMesh (int _objectID)
bool | isCurve (int _objectID)
bool | isSurface (int _objectID)
unsigned int | n_vertices ()
| Global Properties.
unsigned int | n_normals ()
unsigned int | n_texCoords ()
unsigned int | objectCount ()
BaseObject * | object (int _objectID)
| return object with given index
MaterialList & | materials ()
| return all loaded materials
void | addMaterial (std::string _materialName)
| Add a material.
const std::vector< std::string > | usedMaterials (unsigned int _objectID)
| used materials
void | useMaterial (std::string _materialName)
void | useVertex (int _vertex_index)
| used vertices
QString | path ()
| Path of the OBJ file.
void | setPath (QString _path)
void | setObjectOptions (ObjectOptions _options)
std::vector< ObjectOptions > & | objectOptions ()
| Object Options for all objects.
bool | hasOption (unsigned int _id, ObjectOptions _option)
| check if object with given id has given option
void | setObjectName (int _objectID, QString _name)
| change the name of an object
int | addGroup (const QString &_groupName)
int | groupId (const QString &_groupName) const
unsigned int | numGroups () const
const QString | groupName (const int _grpId) const
void | setGroupName (const int _grp, const QString &_name)
void | setCurrentGroup (const int _current)
int | currentGroup () const
void | finish ()

## Private Member Functions
bool | addFace (const VHandles &_indices, OpenMesh::FaceHandle &_outFH, std::vector< TriMesh::VertexHandle > &_outTriVertices, std::vector< PolyMesh::VertexHandle > &_outPolyVertices)
bool | vertexListIsManifold (const std::vector< PolyMesh::VertexHandle > &_vertices) const

## Private Attributes
std::vector< Vec3f > | vertices_
std::vector< Vec3f > | normals_
std::vector< Vec2f > | texCoords_
std::map < TriMesh::VertexHandle, TriMesh::Normal > | storedTriHENormals_
std::map < TriMesh::VertexHandle, PolyMesh::Normal > | storedPolyHENormals_
int | degreeU_
int | degreeV_
MaterialList | materials_
QString | path_
std::vector< QString > | groupNames_
int | currentGroup_
std::vector< std::map< int, PolyMesh::VertexHandle > > | vertexMapPoly_
PolyMesh::FaceHandle | addedFacePoly_
std::vector< std::map< int, TriMesh::VertexHandle > > | vertexMapTri_
std::vector< std::vector < TriMesh::FaceHandle > > | addedFacesTri_
std::vector< TriMeshObject * > | triMeshes_
std::vector< PolyMeshObject * > | polyMeshes_
std::vector< ObjectOptions > | objectOptions_
std::vector< std::vector < std::string > > | usedMaterials_
std::vector< std::map< int, VertexHandle > > | usedVertices_
std::vector< std::vector < OMVHandles > > | invalidFaces_

## Detailed Description

Definition at line 93 of file OBJImporter.hh.

## Member Function Documentation

PolyMesh * OBJImporter::currentPolyMesh | ( |  | ) |

get a pointer to the active polyMesh

get the active polyMesh

Definition at line 173 of file OBJImporter.cc.

TriMesh * OBJImporter::currentTriMesh | ( |  | ) |

get a pointer to the active triMesh

get the active triMesh

Definition at line 181 of file OBJImporter.cc.

void OBJImporter::finish | ( |  | ) |

Finish up importing: Duplicate vertices of non-manifold faces and add new face as isolated one

Definition at line 925 of file OBJImporter.cc.

void OBJImporter::setDegreeU | ( | int | _degree | ) |

set degree

set degree U direction

Definition at line 99 of file OBJImporter.cc.

void OBJImporter::setObject | ( | BaseObject * | _object,
|  | int | _groupId
| ) |  |

add an object

add a mesh

Definition at line 128 of file OBJImporter.cc.

void OBJImporter::setObjectOptions | ( | ObjectOptions | _options | ) |

store an initial options object for an object containing info about the meshType

Definition at line 818 of file OBJImporter.cc.

The documentation for this class was generated from the following files:

- PluginCollection-FilePlugins/Plugin-FileOBJ/OBJImporter.hh
- PluginCollection-FilePlugins/Plugin-FileOBJ/OBJImporter.cc