Open3D (C++ API)
Public Member Functions | Data Fields | Protected Member Functions
open3d::geometry::TriangleMesh Class Reference

#include <TriangleMesh.h>

Inheritance diagram for open3d::geometry::TriangleMesh:
open3d::geometry::Geometry3D open3d::geometry::Geometry open3d::geometry::HalfEdgeTriangleMesh

Public Member Functions

 TriangleMesh ()
 
 ~TriangleMesh () override
 
void Clear () override
 
bool IsEmpty () const override
 
Eigen::Vector3d GetMinBound () const override
 
Eigen::Vector3d GetMaxBound () const override
 
void Transform (const Eigen::Matrix4d &transformation) override
 
TriangleMeshoperator+= (const TriangleMesh &mesh)
 
TriangleMesh operator+ (const TriangleMesh &mesh) const
 
void ComputeTriangleNormals (bool normalized=true)
 Function to compute triangle normals, usually called before rendering. More...
 
void ComputeVertexNormals (bool normalized=true)
 Function to compute vertex normals, usually called before rendering. More...
 
void ComputeAdjacencyList ()
 Function to compute adjacency list, call before adjacency list is needed. More...
 
void Purge ()
 Function to remove duplicated and non-manifold vertices/triangles. More...
 
bool HasVertices () const
 
bool HasTriangles () const
 
bool HasVertexNormals () const
 
bool HasVertexColors () const
 
bool HasTriangleNormals () const
 
bool HasAdjacencyList () const
 
void NormalizeNormals ()
 
void PaintUniformColor (const Eigen::Vector3d &color)
 
- Public Member Functions inherited from open3d::geometry::Geometry3D
 ~Geometry3D () override
 
- Public Member Functions inherited from open3d::geometry::Geometry
virtual ~Geometry ()
 
GeometryType GetGeometryType () const
 
int Dimension () const
 

Data Fields

std::vector< Eigen::Vector3d > vertices_
 
std::vector< Eigen::Vector3d > vertex_normals_
 
std::vector< Eigen::Vector3d > vertex_colors_
 
std::vector< Eigen::Vector3i > triangles_
 
std::vector< Eigen::Vector3d > triangle_normals_
 
std::vector< std::unordered_set< int > > adjacency_list_
 

Protected Member Functions

 TriangleMesh (Geometry::GeometryType type)
 
virtual void RemoveDuplicatedVertices ()
 
virtual void RemoveDuplicatedTriangles ()
 
virtual void RemoveNonManifoldVertices ()
 
virtual void RemoveNonManifoldTriangles ()
 
- Protected Member Functions inherited from open3d::geometry::Geometry3D
 Geometry3D (GeometryType type)
 
- Protected Member Functions inherited from open3d::geometry::Geometry
 Geometry (GeometryType type, int dimension)
 

Additional Inherited Members

- Public Types inherited from open3d::geometry::Geometry
enum  GeometryType {
  GeometryType::Unspecified = 0, GeometryType::PointCloud = 1, GeometryType::VoxelGrid = 2, GeometryType::Octree = 3,
  GeometryType::LineSet = 4, GeometryType::TriangleMesh = 5, GeometryType::HalfEdgeTriangleMesh = 6, GeometryType::Image = 7
}
 

Constructor & Destructor Documentation

◆ TriangleMesh() [1/2]

open3d::geometry::TriangleMesh::TriangleMesh ( )
inline

◆ ~TriangleMesh()

open3d::geometry::TriangleMesh::~TriangleMesh ( )
inlineoverride

◆ TriangleMesh() [2/2]

open3d::geometry::TriangleMesh::TriangleMesh ( Geometry::GeometryType  type)
inlineprotected

Member Function Documentation

◆ Clear()

void open3d::geometry::TriangleMesh::Clear ( )
overridevirtual

◆ ComputeAdjacencyList()

void open3d::geometry::TriangleMesh::ComputeAdjacencyList ( )

Function to compute adjacency list, call before adjacency list is needed.

◆ ComputeTriangleNormals()

void open3d::geometry::TriangleMesh::ComputeTriangleNormals ( bool  normalized = true)

Function to compute triangle normals, usually called before rendering.

◆ ComputeVertexNormals()

void open3d::geometry::TriangleMesh::ComputeVertexNormals ( bool  normalized = true)

Function to compute vertex normals, usually called before rendering.

◆ GetMaxBound()

Eigen::Vector3d open3d::geometry::TriangleMesh::GetMaxBound ( ) const
overridevirtual

◆ GetMinBound()

Eigen::Vector3d open3d::geometry::TriangleMesh::GetMinBound ( ) const
overridevirtual

◆ HasAdjacencyList()

bool open3d::geometry::TriangleMesh::HasAdjacencyList ( ) const
inline

◆ HasTriangleNormals()

bool open3d::geometry::TriangleMesh::HasTriangleNormals ( ) const
inline

◆ HasTriangles()

bool open3d::geometry::TriangleMesh::HasTriangles ( ) const
inline

◆ HasVertexColors()

bool open3d::geometry::TriangleMesh::HasVertexColors ( ) const
inline

◆ HasVertexNormals()

bool open3d::geometry::TriangleMesh::HasVertexNormals ( ) const
inline

◆ HasVertices()

bool open3d::geometry::TriangleMesh::HasVertices ( ) const
inline

◆ IsEmpty()

bool open3d::geometry::TriangleMesh::IsEmpty ( ) const
overridevirtual

◆ NormalizeNormals()

void open3d::geometry::TriangleMesh::NormalizeNormals ( )
inline

◆ operator+()

TriangleMesh open3d::geometry::TriangleMesh::operator+ ( const TriangleMesh mesh) const

◆ operator+=()

TriangleMesh & open3d::geometry::TriangleMesh::operator+= ( const TriangleMesh mesh)

◆ PaintUniformColor()

void open3d::geometry::TriangleMesh::PaintUniformColor ( const Eigen::Vector3d &  color)
inline

◆ Purge()

void open3d::geometry::TriangleMesh::Purge ( )

Function to remove duplicated and non-manifold vertices/triangles.

◆ RemoveDuplicatedTriangles()

void open3d::geometry::TriangleMesh::RemoveDuplicatedTriangles ( )
protectedvirtual

◆ RemoveDuplicatedVertices()

void open3d::geometry::TriangleMesh::RemoveDuplicatedVertices ( )
protectedvirtual

◆ RemoveNonManifoldTriangles()

void open3d::geometry::TriangleMesh::RemoveNonManifoldTriangles ( )
protectedvirtual

◆ RemoveNonManifoldVertices()

void open3d::geometry::TriangleMesh::RemoveNonManifoldVertices ( )
protectedvirtual

◆ Transform()

void open3d::geometry::TriangleMesh::Transform ( const Eigen::Matrix4d &  transformation)
overridevirtual

Field Documentation

◆ adjacency_list_

std::vector<std::unordered_set<int> > open3d::geometry::TriangleMesh::adjacency_list_

◆ triangle_normals_

std::vector<Eigen::Vector3d> open3d::geometry::TriangleMesh::triangle_normals_

◆ triangles_

std::vector<Eigen::Vector3i> open3d::geometry::TriangleMesh::triangles_

◆ vertex_colors_

std::vector<Eigen::Vector3d> open3d::geometry::TriangleMesh::vertex_colors_

◆ vertex_normals_

std::vector<Eigen::Vector3d> open3d::geometry::TriangleMesh::vertex_normals_

◆ vertices_

std::vector<Eigen::Vector3d> open3d::geometry::TriangleMesh::vertices_

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