#include <multibody/shapes/geometry.h>
Specification of how the Mesh should process faces during parsing.
Enumerator 

kFailOnNonTri 
Nontriangular faces cause an exception to be thrown.

kTry 
The parser will attempt to triangulate nontriangular faces, throwing an exception if the attempt fails.

Mesh 
( 
const std::string & 
uri, 


const std::string & 
resolved_filename 

) 
 
Constructs a representation of a mesh to be loaded from resolved_filename
.
uri
provides a unique identifier used to interact with BotVisualizer.
bool extractMeshVertices 
( 
Eigen::Matrix3Xd & 
vertex_coordinates  ) 
const 
void getBoundingBoxPoints 
( 
Eigen::Matrix3Xd & 
points  ) 
const 

overridevirtual 
Returns the faces making up this geometry as a vector of triangles.
Each triangle contains three indices into the vertex list returned by the Geometry getPoints() method.
 Parameters

[out]  faces  Returns a vector of triangles describing this geometry. 
Reimplemented from Geometry.
void getPoints 
( 
Eigen::Matrix3Xd & 
points  ) 
const 

overridevirtual 
 Returns
true
if this geometry can return faces.
Reimplemented from Geometry.
Loads triangle mesh from an obj file into the provided vectors of vertices and triangles.
This method can optionally attempt to triangulate the mesh as it is read. This triangulation is conservative. Nontriangular faces are decomposed into a set of equivalent triangles. It places certain requirements on the mesh for the triangulation to be valid. If these requirements are not met, an exception is thrown. These requirements are:
 Nontriangular faces cannot contain a sequence of colinear vertices.
 Nontriangular faces must be close to planar; the decomposed triangles normals can deviate by no more than 30 degrees from their edgeadjacent neighbors.
 Decomposed triangles must have an area larger than 10⁻¹⁰ m².
NOTE: The triangulation method is simple. Even if these requirements are met, triangulation might fail.
 Parameters

[out]  vertices  Vector of 3D vertices in the mesh. 
[out]  triangles  Vector of indices for each triangle in the mesh. The ith entry of triangles holds a 3D vector of integer indices into vertices corresponding to the vertices forming the ith triangle. 
[in]  triangulate  Specifies the triangulation policy. 
On output, vertices.size()
corresponds to the number of vertices in the mesh while triangles.size()
corresponds to the number of triangles in the mesh.
std::ostream& operator<< 
( 
std::ostream & 
out, 


const Mesh & 
mm 

) 
 

friend 
A toString method for this class.
std::string resolved_filename_ 
The documentation for this class was generated from the following files: