#include <convex_mesh.h>
Public Types | |
using | ConstPtr = std::shared_ptr< const ConvexMesh > |
enum | CreationMethod : std::uint8_t { DEFAULT, MESH, CONVERTED } |
using | Ptr = std::shared_ptr< ConvexMesh > |
![]() | |
using | ConstPtr = std::shared_ptr< const PolygonMesh > |
using | Ptr = std::shared_ptr< PolygonMesh > |
![]() | |
using | ConstPtr = std::shared_ptr< const Geometry > |
using | Ptr = std::shared_ptr< Geometry > |
Public Member Functions | |
Geometry::Ptr | clone () const override |
Create a copy of this shape. More... | |
ConvexMesh ()=default | |
ConvexMesh (std::shared_ptr< const tesseract_common::VectorVector3d > vertices, std::shared_ptr< const Eigen::VectorXi > faces, int face_count, std::shared_ptr< const tesseract_common::Resource > 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, std::shared_ptr< MeshMaterial > mesh_material=nullptr, std::shared_ptr< const std::vector< std::shared_ptr< MeshTexture >>> mesh_textures=nullptr) | |
Convex Mesh geometry. More... | |
ConvexMesh (std::shared_ptr< const tesseract_common::VectorVector3d > vertices, std::shared_ptr< const Eigen::VectorXi > faces, std::shared_ptr< const tesseract_common::Resource > 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, std::shared_ptr< MeshMaterial > mesh_material=nullptr, std::shared_ptr< const std::vector< std::shared_ptr< MeshTexture >>> mesh_textures=nullptr) | |
Convex Mesh geometry. More... | |
CreationMethod | getCreationMethod () const |
Get how the convex hull was created. More... | |
bool | operator!= (const ConvexMesh &rhs) const |
bool | operator== (const ConvexMesh &rhs) const |
void | setCreationMethod (CreationMethod method) |
Set the method used to create the convex mesh. More... | |
~ConvexMesh () override=default | |
![]() | |
Geometry::Ptr | clone () const override |
Create a copy of this shape. More... | |
int | getFaceCount () const |
Get face count. More... | |
const std::shared_ptr< const Eigen::VectorXi > & | getFaces () const |
Get Polygon mesh faces. More... | |
std::shared_ptr< const MeshMaterial > | getMaterial () const |
Get material data extracted from the mesh file. More... | |
const std::shared_ptr< const tesseract_common::VectorVector3d > & | getNormals () const |
Get the vertex normal vectors. More... | |
std::shared_ptr< const tesseract_common::Resource > | 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 std::vector< std::shared_ptr< MeshTexture > > > & | getTextures () const |
Get textures extracted from the mesh file. More... | |
const std::shared_ptr< const tesseract_common::VectorVector4d > & | getVertexColors () const |
Get the vertex colors. More... | |
int | getVertexCount () const |
Get vertex count. More... | |
const std::shared_ptr< const tesseract_common::VectorVector3d > & | getVertices () const |
Get Polygon mesh vertices. More... | |
bool | operator!= (const PolygonMesh &rhs) const |
bool | operator== (const PolygonMesh &rhs) const |
PolygonMesh ()=default | |
PolygonMesh (std::shared_ptr< const tesseract_common::VectorVector3d > vertices, std::shared_ptr< const Eigen::VectorXi > faces, int face_count, std::shared_ptr< const tesseract_common::Resource > 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, std::shared_ptr< MeshMaterial > mesh_material=nullptr, std::shared_ptr< const std::vector< std::shared_ptr< MeshTexture >>> mesh_textures=nullptr, GeometryType type=GeometryType::POLYGON_MESH) | |
Polygon Mesh geometry. More... | |
PolygonMesh (std::shared_ptr< const tesseract_common::VectorVector3d > vertices, std::shared_ptr< const Eigen::VectorXi > faces, std::shared_ptr< const tesseract_common::Resource > 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, std::shared_ptr< MeshMaterial > mesh_material=nullptr, std::shared_ptr< const std::vector< std::shared_ptr< MeshTexture >>> mesh_textures=nullptr, GeometryType type=GeometryType::POLYGON_MESH) | |
Polygon Mesh geometry. More... | |
~PolygonMesh () override=default | |
![]() | |
Geometry (const Geometry &)=default | |
Geometry (Geometry &&)=default | |
Geometry (GeometryType type=GeometryType::UNINITIALIZED) | |
GeometryType | getType () const |
Get the geometry type. More... | |
const boost::uuids::uuid & | getUUID () const |
Get the geometry UUID. More... | |
bool | operator!= (const Geometry &rhs) const |
Geometry & | operator= (const Geometry &)=default |
Geometry & | operator= (Geometry &&)=default |
bool | operator== (const Geometry &rhs) const |
void | setUUID (const boost::uuids::uuid &uuid) |
Set the geometry UUID. More... | |
virtual | ~Geometry ()=default |
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 |
struct | tesseract_common::Serialization |
Definition at line 45 of file convex_mesh.h.
using tesseract_geometry::ConvexMesh::ConstPtr = std::shared_ptr<const ConvexMesh> |
Definition at line 53 of file convex_mesh.h.
using tesseract_geometry::ConvexMesh::Ptr = std::shared_ptr<ConvexMesh> |
Definition at line 52 of file convex_mesh.h.
enum tesseract_geometry::ConvexMesh::CreationMethod : std::uint8_t |
Enumerator | |
---|---|
DEFAULT | |
MESH | |
CONVERTED |
Definition at line 55 of file convex_mesh.h.
tesseract_geometry::ConvexMesh::ConvexMesh | ( | std::shared_ptr< const tesseract_common::VectorVector3d > | vertices, |
std::shared_ptr< const Eigen::VectorXi > | faces, | ||
std::shared_ptr< const tesseract_common::Resource > | 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 , |
||
std::shared_ptr< MeshMaterial > | mesh_material = nullptr , |
||
std::shared_ptr< const std::vector< std::shared_ptr< MeshTexture >>> | mesh_textures = nullptr |
||
) |
Convex Mesh geometry.
vertices | A vector of vertices associated with the mesh |
faces | A 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. |
resource | A resource locator for locating resource |
scale | Scale the mesh |
normals | A vector of normals for the vertices (optional) |
vertex_colors | A vector of colors (RGBA) for the vertices (optional) |
mesh_material | A MeshMaterial describing the color and material properties of the mesh (optional) |
mesh_textures | A vector of MeshTexture to apply to the mesh (optional) |
tesseract_geometry::ConvexMesh::ConvexMesh | ( | std::shared_ptr< const tesseract_common::VectorVector3d > | vertices, |
std::shared_ptr< const Eigen::VectorXi > | faces, | ||
int | face_count, | ||
std::shared_ptr< const tesseract_common::Resource > | 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 , |
||
std::shared_ptr< MeshMaterial > | mesh_material = nullptr , |
||
std::shared_ptr< const std::vector< std::shared_ptr< MeshTexture >>> | mesh_textures = nullptr |
||
) |
Convex Mesh geometry.
vertices | A vector of vertices associated with the mesh |
faces | A 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_count | Provide the number of faces. This is faster because it does not need to loop over the faces. |
resource | A resource locator for locating resource |
scale | Scale the mesh |
normals | A vector of normals for the vertices (optional) |
vertex_colors | A vector of colors (RGBA) for the vertices (optional) |
mesh_material | Describes the color and material properties of the mesh (optional) |
mesh_textures | A vector of MeshTexture to apply to the mesh (optional) |
|
default |
|
overridedefault |
|
overridevirtual |
Create a copy of this shape.
Implements tesseract_geometry::Geometry.
Definition at line 84 of file convex_mesh.cpp.
ConvexMesh::CreationMethod tesseract_geometry::ConvexMesh::getCreationMethod | ( | ) | const |
Get how the convex hull was created.
Definition at line 80 of file convex_mesh.cpp.
bool tesseract_geometry::ConvexMesh::operator!= | ( | const ConvexMesh & | rhs | ) | const |
Definition at line 96 of file convex_mesh.cpp.
bool tesseract_geometry::ConvexMesh::operator== | ( | const ConvexMesh & | rhs | ) | const |
Definition at line 89 of file convex_mesh.cpp.
|
private |
Definition at line 99 of file convex_mesh.cpp.
void tesseract_geometry::ConvexMesh::setCreationMethod | ( | CreationMethod | method | ) |
Set the method used to create the convex mesh.
value | The CreationMethod |
Definition at line 82 of file convex_mesh.cpp.
|
friend |
Definition at line 138 of file convex_mesh.h.
|
friend |
Definition at line 139 of file convex_mesh.h.
|
private |
Definition at line 136 of file convex_mesh.h.