#include <HalfEdgeTriangleMesh.h>
|
| HalfEdgeTriangleMesh (Geometry::GeometryType type) |
|
int | NextHalfEdgeFromVertex (int init_half_edge_index) const |
|
int | NextHalfEdgeOnBoundary (int curr_half_edge_index) const |
|
| Geometry3D (GeometryType type) |
|
Eigen::Vector3d | ComputeMinBound (const std::vector< Eigen::Vector3d > &points) const |
|
Eigen::Vector3d | ComputeMaxBound (const std::vector< Eigen::Vector3d > &points) const |
|
Eigen::Vector3d | ComputeCenter (const std::vector< Eigen::Vector3d > &points) const |
|
void | ResizeAndPaintUniformColor (std::vector< Eigen::Vector3d > &colors, const size_t size, const Eigen::Vector3d &color) const |
|
void | TransformPoints (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &points) const |
|
void | TransformNormals (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &normals) const |
|
void | TranslatePoints (const Eigen::Vector3d &translation, std::vector< Eigen::Vector3d > &points, bool relative) const |
|
void | ScalePoints (const double scale, std::vector< Eigen::Vector3d > &points, bool center) const |
|
void | RotatePoints (const Eigen::Vector3d &rotation, std::vector< Eigen::Vector3d > &points, bool center, RotationType type) const |
|
void | RotateNormals (const Eigen::Vector3d &rotation, std::vector< Eigen::Vector3d > &normals, bool center, RotationType type) const |
|
Eigen::Matrix3d | GetRotationMatrix (const Eigen::Vector3d &rotation, RotationType type=RotationType::XYZ) const |
|
| Geometry (GeometryType type, int dimension) |
|
|
enum | RotationType {
RotationType::XYZ,
RotationType::YZX,
RotationType::ZXY,
RotationType::XZY,
RotationType::ZYX,
RotationType::YXZ,
RotationType::AxisAngle
} |
|
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,
GeometryType::RGBDImage = 8,
GeometryType::TetraMesh = 9,
GeometryType::OrientedBoundingBox = 10,
GeometryType::AxisAlignedBoundingBox = 11
} |
|
◆ HalfEdgeTriangleMesh() [1/2]
open3d::geometry::HalfEdgeTriangleMesh::HalfEdgeTriangleMesh |
( |
| ) |
|
|
inline |
◆ HalfEdgeTriangleMesh() [2/2]
◆ BoundaryHalfEdgesFromVertex()
std::vector< int > open3d::geometry::HalfEdgeTriangleMesh::BoundaryHalfEdgesFromVertex |
( |
int |
vertex_index | ) |
const |
Query manifold boundary half edges from a starting vertex If query vertex is not on boundary, empty vector will be returned
◆ BoundaryVerticesFromVertex()
std::vector< int > open3d::geometry::HalfEdgeTriangleMesh::BoundaryVerticesFromVertex |
( |
int |
vertex_index | ) |
const |
Query manifold boundary vertices from a starting vertex If query vertex is not on boundary, empty vector will be returned
◆ Clear()
◆ ComputeHalfEdges()
bool open3d::geometry::HalfEdgeTriangleMesh::ComputeHalfEdges |
( |
| ) |
|
Compute and update half edges, half edge can only be computed if the mesh is a manifold. Returns true if half edges are computed.
◆ CreateFromMesh()
◆ GetAxisAlignedBoundingBox()
◆ GetBoundaries()
std::vector< std::vector< int > > open3d::geometry::HalfEdgeTriangleMesh::GetBoundaries |
( |
| ) |
const |
Returns a vector of boundaries. A boundary is a vector of vertices.
◆ GetCenter()
Eigen::Vector3d open3d::geometry::HalfEdgeTriangleMesh::GetCenter |
( |
| ) |
const |
|
overridevirtual |
◆ GetMaxBound()
Eigen::Vector3d open3d::geometry::HalfEdgeTriangleMesh::GetMaxBound |
( |
| ) |
const |
|
overridevirtual |
◆ GetMinBound()
Eigen::Vector3d open3d::geometry::HalfEdgeTriangleMesh::GetMinBound |
( |
| ) |
const |
|
overridevirtual |
◆ GetOrientedBoundingBox()
◆ HasHalfEdges()
bool open3d::geometry::HalfEdgeTriangleMesh::HasHalfEdges |
( |
| ) |
const |
True if half-edges have already been computed.
◆ HasVertices()
bool open3d::geometry::HalfEdgeTriangleMesh::HasVertices |
( |
| ) |
const |
|
inline |
◆ IsEmpty()
bool open3d::geometry::HalfEdgeTriangleMesh::IsEmpty |
( |
| ) |
const |
|
overridevirtual |
◆ NextHalfEdgeFromVertex()
int open3d::geometry::HalfEdgeTriangleMesh::NextHalfEdgeFromVertex |
( |
int |
init_half_edge_index | ) |
const |
|
protected |
Returns the next half edge from starting vertex of the input half edge, in a counterclock wise manner. Returns -1 if when hitting a boundary. This is done by traversing to the next, next and twin half edge.
◆ NextHalfEdgeOnBoundary()
int open3d::geometry::HalfEdgeTriangleMesh::NextHalfEdgeOnBoundary |
( |
int |
curr_half_edge_index | ) |
const |
|
protected |
◆ operator+()
◆ operator+=()
◆ RemoveDegenerateTriangles()
◆ RemoveDuplicatedTriangles()
◆ RemoveDuplicatedVertices()
◆ RemoveUnreferencedVertices()
◆ Rotate()
◆ Scale()
HalfEdgeTriangleMesh & open3d::geometry::HalfEdgeTriangleMesh::Scale |
( |
const double |
scale, |
|
|
bool |
center = true |
|
) |
| |
|
overridevirtual |
◆ Transform()
HalfEdgeTriangleMesh & open3d::geometry::HalfEdgeTriangleMesh::Transform |
( |
const Eigen::Matrix4d & |
transformation | ) |
|
|
overridevirtual |
◆ Translate()
HalfEdgeTriangleMesh & open3d::geometry::HalfEdgeTriangleMesh::Translate |
( |
const Eigen::Vector3d & |
translation, |
|
|
bool |
relative = true |
|
) |
| |
|
overridevirtual |
◆ adjacency_list_
std::vector<std::unordered_set<int> > open3d::geometry::HalfEdgeTriangleMesh::adjacency_list_ |
◆ half_edges_
std::vector<HalfEdge> open3d::geometry::HalfEdgeTriangleMesh::half_edges_ |
◆ ordered_half_edge_from_vertex_
std::vector<std::vector<int> > open3d::geometry::HalfEdgeTriangleMesh::ordered_half_edge_from_vertex_ |
Counter-clockwise ordered half-edges started from each vertex If the vertex is on boundary, the starting edge must be on boundary too
◆ triangle_normals_
std::vector<Eigen::Vector3d> open3d::geometry::HalfEdgeTriangleMesh::triangle_normals_ |
◆ triangles_
std::vector<Eigen::Vector3i> open3d::geometry::HalfEdgeTriangleMesh::triangles_ |
◆ vertex_colors_
std::vector<Eigen::Vector3d> open3d::geometry::HalfEdgeTriangleMesh::vertex_colors_ |
◆ vertex_normals_
std::vector<Eigen::Vector3d> open3d::geometry::HalfEdgeTriangleMesh::vertex_normals_ |
◆ vertices_
std::vector<Eigen::Vector3d> open3d::geometry::HalfEdgeTriangleMesh::vertices_ |
The documentation for this class was generated from the following files: