Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
tesseract_geometry::ConvexMesh Class Reference

#include <convex_mesh.h>

Inheritance diagram for tesseract_geometry::ConvexMesh:
Inheritance graph
[legend]
Collaboration diagram for tesseract_geometry::ConvexMesh:
Collaboration graph
[legend]

Public Types

enum  CreationMethod { DEFAULT , MESH , CONVERTED }
 
using Ptr = std::shared_ptr< ConvexMesh >
 
using ConstPtr = std::shared_ptr< const ConvexMesh >
 
- Public Types inherited from tesseract_geometry::PolygonMesh
using Ptr = std::shared_ptr< PolygonMesh >
 
using ConstPtr = std::shared_ptr< const PolygonMesh >
 
- Public Types inherited from tesseract_geometry::Geometry
using Ptr = std::shared_ptr< Geometry >
 
using ConstPtr = std::shared_ptr< const Geometry >
 

Public Member Functions

 ConvexMesh (std::shared_ptr< const tesseract_common::VectorVector3d > vertices, std::shared_ptr< const Eigen::VectorXi > faces, tesseract_common::Resource::ConstPtr resource=nullptr, const Eigen::Vector3d &scale=Eigen::Vector3d(1, 1, 1), std::shared_ptr< const tesseract_common::VectorVector3d > normals=nullptr, std::shared_ptr< const tesseract_common::VectorVector4d > vertex_colors=nullptr, MeshMaterial::Ptr mesh_material=nullptr, std::shared_ptr< const std::vector< MeshTexture::Ptr > > mesh_textures=nullptr)
 Convex Mesh geometry. More...
 
 ConvexMesh (std::shared_ptr< const tesseract_common::VectorVector3d > vertices, std::shared_ptr< const Eigen::VectorXi > faces, int face_count, tesseract_common::Resource::ConstPtr resource=nullptr, const Eigen::Vector3d &scale=Eigen::Vector3d(1, 1, 1), std::shared_ptr< const tesseract_common::VectorVector3d > normals=nullptr, std::shared_ptr< const tesseract_common::VectorVector4d > vertex_colors=nullptr, MeshMaterial::Ptr mesh_material=nullptr, std::shared_ptr< const std::vector< MeshTexture::Ptr > > mesh_textures=nullptr)
 Convex Mesh geometry. More...
 
 ConvexMesh ()=default
 
 ~ConvexMesh () override=default
 
CreationMethod getCreationMethod () const
 Get how the convex hull was created. More...
 
void setCreationMethod (CreationMethod method)
 Set the method used to create the convex mesh. More...
 
Geometry::Ptr clone () const override
 Create a copy of this shape. More...
 
bool operator== (const ConvexMesh &rhs) const
 
bool operator!= (const ConvexMesh &rhs) const
 
- Public Member Functions inherited from tesseract_geometry::PolygonMesh
 PolygonMesh (std::shared_ptr< const tesseract_common::VectorVector3d > vertices, std::shared_ptr< const Eigen::VectorXi > faces, tesseract_common::Resource::ConstPtr resource=nullptr, const Eigen::Vector3d &scale=Eigen::Vector3d(1, 1, 1), std::shared_ptr< const tesseract_common::VectorVector3d > normals=nullptr, std::shared_ptr< const tesseract_common::VectorVector4d > vertex_colors=nullptr, MeshMaterial::Ptr mesh_material=nullptr, std::shared_ptr< const std::vector< MeshTexture::Ptr > > mesh_textures=nullptr, GeometryType type=GeometryType::CONVEX_MESH)
 Polygon Mesh geometry. More...
 
 PolygonMesh (std::shared_ptr< const tesseract_common::VectorVector3d > vertices, std::shared_ptr< const Eigen::VectorXi > faces, int face_count, tesseract_common::Resource::ConstPtr resource=nullptr, const Eigen::Vector3d &scale=Eigen::Vector3d(1, 1, 1), std::shared_ptr< const tesseract_common::VectorVector3d > normals=nullptr, std::shared_ptr< const tesseract_common::VectorVector4d > vertex_colors=nullptr, MeshMaterial::Ptr mesh_material=nullptr, std::shared_ptr< const std::vector< MeshTexture::Ptr > > mesh_textures=nullptr, GeometryType type=GeometryType::CONVEX_MESH)
 Polygon Mesh geometry. More...
 
 PolygonMesh ()=default
 
 ~PolygonMesh () override=default
 
const std::shared_ptr< const tesseract_common::VectorVector3d > & getVertices () const
 Get Polygon mesh vertices. More...
 
const std::shared_ptr< const Eigen::VectorXi > & getFaces () const
 Get Polygon mesh faces. More...
 
int getVertexCount () const
 Get vertex count. More...
 
int getFaceCount () const
 Get face count. More...
 
tesseract_common::Resource::ConstPtr getResource () const
 Get the path to file used to generate the mesh. More...
 
const Eigen::Vector3d & getScale () const
 Get the scale applied to file used to generate the mesh. More...
 
const std::shared_ptr< const tesseract_common::VectorVector3d > & getNormals () const
 Get the vertex normal vectors. More...
 
const std::shared_ptr< const tesseract_common::VectorVector4d > & getVertexColors () const
 Get the vertex colors. More...
 
MeshMaterial::ConstPtr getMaterial () const
 Get material data extracted from the mesh file. More...
 
const std::shared_ptr< const std::vector< MeshTexture::Ptr > > & getTextures () const
 Get textures extracted from the mesh file. More...
 
Geometry::Ptr clone () const override
 Create a copy of this shape. More...
 
bool operator== (const PolygonMesh &rhs) const
 
bool operator!= (const PolygonMesh &rhs) const
 
- Public Member Functions inherited from tesseract_geometry::Geometry
 Geometry (GeometryType type=GeometryType::UNINITIALIZED)
 
virtual ~Geometry ()=default
 
 Geometry (const Geometry &)=default
 
Geometryoperator= (const Geometry &)=default
 
 Geometry (Geometry &&)=default
 
Geometryoperator= (Geometry &&)=default
 
virtual Geometry::Ptr clone () const =0
 Create a copy of this shape. More...
 
GeometryType getType () const
 
bool operator== (const Geometry &rhs) const
 
bool operator!= (const Geometry &rhs) const
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

CreationMethod creation_method_ { DEFAULT }
 

Friends

class boost::serialization::access
 

Member Typedef Documentation

◆ ConstPtr

using tesseract_geometry::ConvexMesh::ConstPtr = std::shared_ptr<const ConvexMesh>

◆ Ptr

Member Enumeration Documentation

◆ CreationMethod

Enumerator
DEFAULT 
MESH 
CONVERTED 

Constructor & Destructor Documentation

◆ ConvexMesh() [1/3]

tesseract_geometry::ConvexMesh::ConvexMesh ( std::shared_ptr< const tesseract_common::VectorVector3d vertices,
std::shared_ptr< const Eigen::VectorXi >  faces,
tesseract_common::Resource::ConstPtr  resource = nullptr,
const Eigen::Vector3d &  scale = Eigen::Vector3d(1, 1, 1),
std::shared_ptr< const tesseract_common::VectorVector3d normals = nullptr,
std::shared_ptr< const tesseract_common::VectorVector4d vertex_colors = nullptr,
MeshMaterial::Ptr  mesh_material = nullptr,
std::shared_ptr< const std::vector< MeshTexture::Ptr > >  mesh_textures = nullptr 
)
inline

Convex Mesh geometry.

Parameters
verticesA vector of vertices associated with the mesh
facesA vector of face indices, where the first number indicates the number of vertices associated with the face, followed by the vertex index in parameter vertices. For example, a triangle has three vertices, so there should be four inputs, where the first should be 3, indicating there are three vertices that define this face, followed by three indices.
resourceA resource locator for locating resource
scaleScale the mesh
normalsA vector of normals for the vertices (optional)
vertex_colorsA vector of colors (RGBA) for the vertices (optional)
mesh_materialA MeshMaterial describing the color and material properties of the mesh (optional)
mesh_texturesA vector of MeshTexture to apply to the mesh (optional)

◆ ConvexMesh() [2/3]

tesseract_geometry::ConvexMesh::ConvexMesh ( std::shared_ptr< const tesseract_common::VectorVector3d vertices,
std::shared_ptr< const Eigen::VectorXi >  faces,
int  face_count,
tesseract_common::Resource::ConstPtr  resource = nullptr,
const Eigen::Vector3d &  scale = Eigen::Vector3d(1, 1, 1),
std::shared_ptr< const tesseract_common::VectorVector3d normals = nullptr,
std::shared_ptr< const tesseract_common::VectorVector4d vertex_colors = nullptr,
MeshMaterial::Ptr  mesh_material = nullptr,
std::shared_ptr< const std::vector< MeshTexture::Ptr > >  mesh_textures = nullptr 
)
inline

Convex Mesh geometry.

Parameters
verticesA vector of vertices associated with the mesh
facesA vector of face indices, where the first number indicates the number of vertices associated with the face, followed by the vertex index in parameter vertices. For example, a triangle has three vertices, so there should be four inputs, where the first should be 3, indicating there are three vertices that define this face, followed by three indices.
face_countProvide the number of faces. This is faster because it does not need to loop over the faces.
resourceA resource locator for locating resource
scaleScale the mesh
normalsA vector of normals for the vertices (optional)
vertex_colorsA vector of colors (RGBA) for the vertices (optional)
mesh_materialDescribes the color and material properties of the mesh (optional)
mesh_texturesA vector of MeshTexture to apply to the mesh (optional)

◆ ConvexMesh() [3/3]

tesseract_geometry::ConvexMesh::ConvexMesh ( )
default

◆ ~ConvexMesh()

tesseract_geometry::ConvexMesh::~ConvexMesh ( )
overridedefault

Member Function Documentation

◆ clone()

Geometry::Ptr tesseract_geometry::ConvexMesh::clone ( ) const
inlineoverridevirtual

Create a copy of this shape.

Implements tesseract_geometry::Geometry.

◆ getCreationMethod()

CreationMethod tesseract_geometry::ConvexMesh::getCreationMethod ( ) const
inline

Get how the convex hull was created.

Note
This used when writing back out to urdf
Returns
The CreationMethod

◆ operator!=()

bool tesseract_geometry::ConvexMesh::operator!= ( const ConvexMesh rhs) const

◆ operator==()

bool tesseract_geometry::ConvexMesh::operator== ( const ConvexMesh rhs) const

◆ serialize()

template<class Archive >
void tesseract_geometry::ConvexMesh::serialize ( Archive &  ar,
const unsigned int  version 
)
private

◆ setCreationMethod()

void tesseract_geometry::ConvexMesh::setCreationMethod ( CreationMethod  method)
inline

Set the method used to create the convex mesh.

Note
This used when writing back out to urdf
Parameters
valueThe CreationMethod

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Member Data Documentation

◆ creation_method_

CreationMethod tesseract_geometry::ConvexMesh::creation_method_ { DEFAULT }
private

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