Loader for Wavefront OBJ triangle meshes. More...


Classes | |
| struct | OBJVertex |
| Vertex indices used by the OBJ format. More... | |
| struct | OBJVertexHash |
| Hash function for OBJVertex. More... | |
Public Member Functions | |
| WavefrontOBJ (const PropertyList &propList) | |
Public Member Functions inherited from Mesh | |
| virtual void | activate () override |
| Initialize internal data structures (called once by the XML parser) | |
| virtual uint32_t | getPrimitiveCount () const override |
| Return the total number of triangles in this shape. | |
| virtual BoundingBox3f | getBoundingBox (uint32_t index) const override |
| virtual Point3f | getCentroid (uint32_t index) const override |
| virtual bool | rayIntersect (uint32_t index, const Ray3f &ray, float &u, float &v, float &t) const override |
| Ray-triangle intersection test. More... | |
| virtual void | setHitInformation (uint32_t index, const Ray3f &ray, Intersection &its) const override |
| Set intersection information: hit point, shading frame, UVs. | |
| uint32_t | getVertexCount () const |
| Return the total number of vertices in this shape. | |
| virtual void | sampleSurface (ShapeQueryRecord &sRec, const Point2f &sample) const override |
| Uniformly sample a position on the mesh with respect to surface area. | |
| virtual float | pdfSurface (const ShapeQueryRecord &sRec) const override |
| Return the probability of sampling a point sRec.p by the sampleSurface() method (sRec.ref should be set before) sRec.n and sRec.pdf are ignored. | |
| float | surfaceArea (uint32_t index) const |
| Return the surface area of the given triangle. | |
| Point3f | getInterpolatedVertex (uint32_t index, const Vector3f &bc) const |
| Normal3f | getInterpolatedNormal (uint32_t index, const Vector3f &bc) const |
| const MatrixXf & | getVertexPositions () const |
| Return a pointer to the vertex positions. | |
| const MatrixXf & | getVertexNormals () const |
Return a pointer to the vertex normals (or nullptr if there are none) | |
| const MatrixXf & | getVertexTexCoords () const |
Return a pointer to the texture coordinates (or nullptr if there are none) | |
| const MatrixXu & | getIndices () const |
| Return a pointer to the triangle vertex index list. | |
| const std::string & | getName () const |
| Return the name of this mesh. | |
| virtual std::string | toString () const override |
| Return a human-readable summary of this instance. | |
Public Member Functions inherited from Shape | |
| virtual | ~Shape () |
| Release all memory. | |
| virtual void | addChild (NoriObject *child) override |
| Add a child object to the current instance. More... | |
| const BoundingBox3f & | getBoundingBox () const |
| bool | isEmitter () const |
| Is this mesh an area emitter? | |
| Emitter * | getEmitter () |
| Return a pointer to an attached area emitter instance. | |
| const Emitter * | getEmitter () const |
| Return a pointer to an attached area emitter instance (const version) | |
| const BSDF * | getBSDF () const |
| Return a pointer to the BSDF associated with this mesh. | |
| virtual EClassType | getClassType () const override |
| Return the type of object (i.e. Mesh/BSDF/etc.) provided by this instance. | |
Public Member Functions inherited from NoriObject | |
| virtual | ~NoriObject () |
| Virtual destructor. | |
| virtual void | setParent (NoriObject *parent) |
| Set the parent object. More... | |
| void | setIdName (const std::string &name) |
| Allow to assign a name to the object. | |
| const std::string & | getIdName () const |
Additional Inherited Members | |
Public Types inherited from NoriObject | |
| enum | EClassType { EScene = 0 , EMesh , ETexture , EBSDF , EPhaseFunction , EEmitter , EMedium , ECamera , EIntegrator , ESampler , ETest , EReconstructionFilter , EClassTypeCount } |
Static Public Member Functions inherited from NoriObject | |
| static std::string | classTypeName (EClassType type) |
| Turn a class type into a human-readable string. | |
Protected Member Functions inherited from Mesh | |
| Mesh () | |
| Create an empty mesh. | |
Protected Attributes inherited from Mesh | |
| std::string | m_name |
| Identifying name. | |
| MatrixXf | m_V |
| Vertex positions. | |
| MatrixXf | m_N |
| Vertex normals. | |
| MatrixXf | m_UV |
| Vertex texture coordinates. | |
| MatrixXu | m_F |
| Faces. | |
| DiscretePDF | m_pdf |
Protected Attributes inherited from Shape | |
| BSDF * | m_bsdf = nullptr |
| BSDF of the surface. | |
| Emitter * | m_emitter = nullptr |
| Associated emitter, if any. | |
| BoundingBox3f | m_bbox |
| Bounding box of the mesh. | |
Protected Attributes inherited from NoriObject | |
| std::string | m_idname |