30 #include <unordered_map>
47 HalfEdge(
const Eigen::Vector2i &vertex_indices,
char type
Definition: FilePCD.cpp:57
long vertex_index
Definition: FilePLY.cpp:45
The base geometry class.
Definition: Geometry.h:35
GeometryType
Specifies possible geometry types.
Definition: Geometry.h:40
Definition: HalfEdgeTriangleMesh.h:40
HalfEdge()
Definition: HalfEdgeTriangleMesh.h:42
int next_
Definition: HalfEdgeTriangleMesh.h:55
bool IsBoundary() const
Definition: HalfEdgeTriangleMesh.h:51
int twin_
Definition: HalfEdgeTriangleMesh.h:57
Eigen::Vector2i vertex_indices_
Definition: HalfEdgeTriangleMesh.h:59
int triangle_index_
Definition: HalfEdgeTriangleMesh.h:61
Definition: HalfEdgeTriangleMesh.h:38
std::vector< Eigen::Vector3d > triangle_normals_
Definition: HalfEdgeTriangleMesh.h:102
std::vector< int > BoundaryVerticesFromVertex(int vertex_index) const
Definition: HalfEdgeTriangleMesh.cpp:89
int NextHalfEdgeFromVertex(int init_half_edge_index) const
Definition: HalfEdgeTriangleMesh.cpp:59
HalfEdgeTriangleMesh(Geometry::GeometryType type)
Definition: HalfEdgeTriangleMesh.h:92
HalfEdgeTriangleMesh operator+(const HalfEdgeTriangleMesh &mesh) const
Definition: HalfEdgeTriangleMesh.cpp:299
std::vector< int > BoundaryHalfEdgesFromVertex(int vertex_index) const
Definition: HalfEdgeTriangleMesh.cpp:69
std::vector< Eigen::Vector3i > triangles_
Definition: HalfEdgeTriangleMesh.h:101
HalfEdgeTriangleMesh()
Definition: HalfEdgeTriangleMesh.h:65
virtual HalfEdgeTriangleMesh & Clear() override
Clear all elements in the geometry.
Definition: HalfEdgeTriangleMesh.cpp:47
std::vector< std::vector< int > > ordered_half_edge_from_vertex_
Definition: HalfEdgeTriangleMesh.h:107
std::vector< HalfEdge > half_edges_
Definition: HalfEdgeTriangleMesh.h:103
bool HasHalfEdges() const
True if half-edges have already been computed.
Definition: HalfEdgeTriangleMesh.cpp:54
std::vector< std::vector< int > > GetBoundaries() const
Returns a vector of boundaries. A boundary is a vector of vertices.
Definition: HalfEdgeTriangleMesh.cpp:101
int NextHalfEdgeOnBoundary(int curr_half_edge_index) const
Definition: HalfEdgeTriangleMesh.cpp:125
static std::shared_ptr< HalfEdgeTriangleMesh > CreateFromTriangleMesh(const TriangleMesh &mesh)
Definition: HalfEdgeTriangleMesh.cpp:156
HalfEdgeTriangleMesh & operator+=(const HalfEdgeTriangleMesh &mesh)
Definition: HalfEdgeTriangleMesh.cpp:292
Definition: MeshBase.h:45
Definition: TriangleMesh.h:46
Definition: PinholeCameraIntrinsic.cpp:34