|
Point Cloud Library (PCL) 1.15.1
|
Base class for the half-edge mesh. More...
#include <pcl/geometry/mesh_base.h>
Public Member Functions | |
| MeshBase () | |
| Constructor. | |
| VertexIndex | addVertex (const VertexData &vertex_data=VertexData()) |
| Add a vertex to the mesh. | |
| FaceIndex | addFace (const VertexIndices &vertices, const FaceData &face_data=FaceData(), const EdgeData &edge_data=EdgeData(), const HalfEdgeData &half_edge_data=HalfEdgeData()) |
| Add a face to the mesh. | |
| void | deleteVertex (const VertexIndex &idx_vertex) |
| Mark the given vertex and all connected half-edges and faces as deleted. | |
| void | deleteEdge (const HalfEdgeIndex &idx_he) |
| Mark the given half-edge, the opposite half-edge and the associated faces as deleted. | |
| void | deleteEdge (const EdgeIndex &idx_edge) |
| Mark the given edge (both half-edges) and the associated faces as deleted. | |
| void | deleteFace (const FaceIndex &idx_face) |
| Mark the given face as deleted. | |
| void | cleanUp () |
| Removes all mesh elements and data that are marked as deleted. | |
| HalfEdgeIndex | getOutgoingHalfEdgeIndex (const VertexIndex &idx_vertex) const |
| Get the outgoing half-edge index to a given vertex. | |
| HalfEdgeIndex | getIncomingHalfEdgeIndex (const VertexIndex &idx_vertex) const |
| Get the incoming half-edge index to a given vertex. | |
| VertexIndex | getTerminatingVertexIndex (const HalfEdgeIndex &idx_half_edge) const |
| Get the terminating vertex index to a given half-edge. | |
| VertexIndex | getOriginatingVertexIndex (const HalfEdgeIndex &idx_half_edge) const |
| Get the originating vertex index to a given half-edge. | |
| HalfEdgeIndex | getOppositeHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge) const |
| Get the opposite half-edge index to a given half-edge. | |
| HalfEdgeIndex | getNextHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge) const |
| Get the next half-edge index to a given half-edge. | |
| HalfEdgeIndex | getPrevHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge) const |
| Get the previous half-edge index to a given half-edge. | |
| FaceIndex | getFaceIndex (const HalfEdgeIndex &idx_half_edge) const |
| Get the face index to a given half-edge. | |
| FaceIndex | getOppositeFaceIndex (const HalfEdgeIndex &idx_half_edge) const |
| Get the face index to a given half-edge. | |
| HalfEdgeIndex | getInnerHalfEdgeIndex (const FaceIndex &idx_face) const |
| Get the inner half-edge index to a given face. | |
| HalfEdgeIndex | getOuterHalfEdgeIndex (const FaceIndex &idx_face) const |
| Get the outer half-edge inex to a given face. | |
| VertexAroundVertexCirculator | getVertexAroundVertexCirculator (const VertexIndex &idx_vertex) const |
| VertexAroundVertexCirculator | getVertexAroundVertexCirculator (const HalfEdgeIndex &idx_outgoing_half_edge) const |
| OutgoingHalfEdgeAroundVertexCirculator | getOutgoingHalfEdgeAroundVertexCirculator (const VertexIndex &idx_vertex) const |
| OutgoingHalfEdgeAroundVertexCirculator | getOutgoingHalfEdgeAroundVertexCirculator (const HalfEdgeIndex &idx_outgoing_half_edge) const |
| IncomingHalfEdgeAroundVertexCirculator | getIncomingHalfEdgeAroundVertexCirculator (const VertexIndex &idx_vertex) const |
| IncomingHalfEdgeAroundVertexCirculator | getIncomingHalfEdgeAroundVertexCirculator (const HalfEdgeIndex &idx_incoming_half_edge) const |
| FaceAroundVertexCirculator | getFaceAroundVertexCirculator (const VertexIndex &idx_vertex) const |
| FaceAroundVertexCirculator | getFaceAroundVertexCirculator (const HalfEdgeIndex &idx_outgoing_half_edge) const |
| VertexAroundFaceCirculator | getVertexAroundFaceCirculator (const FaceIndex &idx_face) const |
| VertexAroundFaceCirculator | getVertexAroundFaceCirculator (const HalfEdgeIndex &idx_inner_half_edge) const |
| InnerHalfEdgeAroundFaceCirculator | getInnerHalfEdgeAroundFaceCirculator (const FaceIndex &idx_face) const |
| InnerHalfEdgeAroundFaceCirculator | getInnerHalfEdgeAroundFaceCirculator (const HalfEdgeIndex &idx_inner_half_edge) const |
| OuterHalfEdgeAroundFaceCirculator | getOuterHalfEdgeAroundFaceCirculator (const FaceIndex &idx_face) const |
| OuterHalfEdgeAroundFaceCirculator | getOuterHalfEdgeAroundFaceCirculator (const HalfEdgeIndex &idx_inner_half_edge) const |
| FaceAroundFaceCirculator | getFaceAroundFaceCirculator (const FaceIndex &idx_face) const |
| FaceAroundFaceCirculator | getFaceAroundFaceCirculator (const HalfEdgeIndex &idx_inner_half_edge) const |
| bool | isEqualTopology (const Self &other) const |
| Check if the other mesh has the same topology as this mesh. | |
| bool | isValid (const VertexIndex &idx_vertex) const |
| Check if the given vertex index is a valid index into the mesh. | |
| bool | isValid (const HalfEdgeIndex &idx_he) const |
| Check if the given half-edge index is a valid index into the mesh. | |
| bool | isValid (const EdgeIndex &idx_edge) const |
| Check if the given edge index is a valid index into the mesh. | |
| bool | isValid (const FaceIndex &idx_face) const |
| Check if the given face index is a valid index into the mesh. | |
| bool | isDeleted (const VertexIndex &idx_vertex) const |
| Check if the given vertex is marked as deleted. | |
| bool | isDeleted (const HalfEdgeIndex &idx_he) const |
| Check if the given half-edge is marked as deleted. | |
| bool | isDeleted (const EdgeIndex &idx_edge) const |
| Check if the given edge (any of the two half-edges) is marked as deleted. | |
| bool | isDeleted (const FaceIndex &idx_face) const |
| Check if the given face is marked as deleted. | |
| bool | isIsolated (const VertexIndex &idx_vertex) const |
| Check if the given vertex is isolated (not connected to other elements). | |
| bool | isBoundary (const VertexIndex &idx_vertex) const |
| Check if the given vertex lies on the boundary. | |
| bool | isBoundary (const HalfEdgeIndex &idx_he) const |
| Check if the given half-edge lies on the boundary. | |
| bool | isBoundary (const EdgeIndex &idx_edge) const |
| Check if the given edge lies on the boundary (any of the two half-edges lies on the boundary. | |
| template<bool CheckVerticesT> | |
| bool | isBoundary (const FaceIndex &idx_face) const |
| Check if the given face lies on the boundary. | |
| bool | isBoundary (const FaceIndex &idx_face) const |
| Check if the given face lies on the boundary. | |
| bool | isManifold (const VertexIndex &idx_vertex) const |
| Check if the given vertex is manifold. | |
| bool | isManifold () const |
| Check if the mesh is manifold. | |
| std::size_t | sizeVertices () const |
| Get the number of the vertices. | |
| std::size_t | sizeHalfEdges () const |
| Get the number of the half-edges. | |
| std::size_t | sizeEdges () const |
| Get the number of the edges. | |
| std::size_t | sizeFaces () const |
| Get the number of the faces. | |
| bool | empty () const |
| Check if the mesh is empty. | |
| bool | emptyVertices () const |
| Check if the vertices are empty. | |
| bool | emptyEdges () const |
| Check if the edges are empty. | |
| bool | emptyFaces () const |
| Check if the faces are empty. | |
| void | reserveVertices (const std::size_t n) |
| Reserve storage space n vertices. | |
| void | reserveEdges (const std::size_t n) |
| Reserve storage space for n edges (2*n storage space is reserved for the half-edges). | |
| void | reserveFaces (const std::size_t n) |
| Reserve storage space for n faces. | |
| void | resizeVertices (const std::size_t n, const VertexData &data=VertexData()) |
| Resize the the vertices to n elements. | |
| void | resizeEdges (const std::size_t n, const EdgeData &edge_data=EdgeData(), const HalfEdgeData he_data=HalfEdgeData()) |
| Resize the edges to n elements (half-edges will hold 2*n elements). | |
| void | resizeFaces (const std::size_t n, const FaceData &data=FaceData()) |
| Resize the faces to n elements. | |
| void | clear () |
| Clear all mesh elements and data. | |
| VertexDataCloud & | getVertexDataCloud () |
| Get access to the stored vertex data. | |
| VertexDataCloud | getVertexDataCloud () const |
| Get the stored vertex data. | |
| bool | setVertexDataCloud (const VertexDataCloud &vertex_data_cloud) |
| Change the stored vertex data. | |
| HalfEdgeDataCloud & | getHalfEdgeDataCloud () |
| Get access to the stored half-edge data. | |
| HalfEdgeDataCloud | getHalfEdgeDataCloud () const |
| Get the stored half-edge data. | |
| bool | setHalfEdgeDataCloud (const HalfEdgeDataCloud &half_edge_data_cloud) |
| Change the stored half-edge data. | |
| EdgeDataCloud & | getEdgeDataCloud () |
| Get access to the stored edge data. | |
| EdgeDataCloud | getEdgeDataCloud () const |
| Get the stored edge data. | |
| bool | setEdgeDataCloud (const EdgeDataCloud &edge_data_cloud) |
| Change the stored edge data. | |
| FaceDataCloud & | getFaceDataCloud () |
| Get access to the stored face data. | |
| FaceDataCloud | getFaceDataCloud () const |
| Get the stored face data. | |
| bool | setFaceDataCloud (const FaceDataCloud &face_data_cloud) |
| Change the stored face data. | |
| VertexIndex | getVertexIndex (const VertexData &vertex_data) const |
| Get the index associated to the given vertex data. | |
| HalfEdgeIndex | getHalfEdgeIndex (const HalfEdgeData &half_edge_data) const |
| Get the index associated to the given half-edge data. | |
| EdgeIndex | getEdgeIndex (const EdgeData &edge_data) const |
| Get the index associated to the given edge data. | |
| FaceIndex | getFaceIndex (const FaceData &face_data) const |
| Get the index associated to the given face data. | |
Protected Types | |
| using | Vertex = pcl::geometry::Vertex |
| using | HalfEdge = pcl::geometry::HalfEdge |
| using | Face = pcl::geometry::Face |
| using | Vertices = std::vector<Vertex> |
| using | HalfEdges = std::vector<HalfEdge> |
| using | Faces = std::vector<Face> |
| using | VertexIterator = typename Vertices::iterator |
| using | HalfEdgeIterator = typename HalfEdges::iterator |
| using | FaceIterator = typename Faces::iterator |
| using | VertexConstIterator = typename Vertices::const_iterator |
| using | HalfEdgeConstIterator = typename HalfEdges::const_iterator |
| using | FaceConstIterator = typename Faces::const_iterator |
Protected Member Functions | |
| FaceIndex | addFaceImplBase (const VertexIndices &vertices, const FaceData &face_data, const EdgeData &edge_data, const HalfEdgeData &half_edge_data) |
| General implementation of addFace. | |
| HalfEdgeIndex | addEdge (const VertexIndex &idx_v_a, const VertexIndex &idx_v_b, const HalfEdgeData &he_data, const EdgeData &edge_data) |
| Add an edge between the two given vertices and connect them with the vertices. | |
| bool | checkTopology1 (const VertexIndex &idx_v_a, const VertexIndex &idx_v_b, HalfEdgeIndex &idx_he_ab, std::vector< bool >::reference is_new_ab, std::true_type) const |
| Check if the edge between the two vertices can be added. | |
| bool | checkTopology1 (const VertexIndex &idx_v_a, const VertexIndex &idx_v_b, HalfEdgeIndex &idx_he_ab, std::vector< bool >::reference is_new_ab, std::false_type) const |
| Non manifold version of checkTopology1. | |
| bool | checkTopology2 (const HalfEdgeIndex &, const HalfEdgeIndex &, const bool is_new_ab, const bool is_new_bc, const bool is_isolated_b, std::vector< bool >::reference, HalfEdgeIndex &, std::true_type) const |
| Check if the face may be added (mesh does not become non-manifold). | |
| bool | checkTopology2 (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc, const bool is_new_ab, const bool is_new_bc, const bool, std::vector< bool >::reference make_adjacent_ab_bc, HalfEdgeIndex &idx_free_half_edge, std::false_type) const |
| Check if the half-edge bc is the next half-edge of ab. | |
| void | makeAdjacent (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc, HalfEdgeIndex &idx_free_half_edge) |
| Make the half-edges bc the next half-edge of ab. | |
| FaceIndex | connectFace (const HalfEdgeIndices &inner_he, const FaceData &face_data) |
| Add a face to the mesh and connect it to the half-edges. | |
| void | connectPrevNext (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc) |
| Connect the next and prev indices of the two half-edges with each other. | |
| void | connectNewNew (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc, const VertexIndex &idx_v_b, std::true_type) |
| Both half-edges are new (manifold version). | |
| void | connectNewNew (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc, const VertexIndex &idx_v_b, std::false_type) |
| Both half-edges are new (non-manifold version). | |
| void | connectNewOld (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc, const VertexIndex &idx_v_b) |
| The first half-edge is new. | |
| void | connectOldNew (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc, const VertexIndex &idx_v_b) |
| The second half-edge is new. | |
| void | connectOldOld (const HalfEdgeIndex &, const HalfEdgeIndex &, const VertexIndex &, std::true_type) |
| Both half-edges are old (manifold version). | |
| void | connectOldOld (const HalfEdgeIndex &, const HalfEdgeIndex &idx_he_bc, const VertexIndex &idx_v_b, std::false_type) |
| Both half-edges are old (non-manifold version). | |
| template<class DataT> | |
| void | addData (pcl::PointCloud< DataT > &cloud, const DataT &data, std::true_type) |
| Add mesh data. | |
| template<class DataT> | |
| void | addData (pcl::PointCloud< DataT > &, const DataT &, std::false_type) |
| Does nothing. | |
| void | deleteFace (const FaceIndex &idx_face, std::true_type) |
| Manifold version of deleteFace. | |
| void | deleteFace (const FaceIndex &idx_face, std::false_type) |
| Non-manifold version of deleteFace. | |
| void | reconnect (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc, const bool is_boundary_ba, const bool is_boundary_cb) |
| Deconnect the input half-edges from the mesh and adjust the indices of the connected half-edges. | |
| void | reconnectNBNB (const HalfEdgeIndex &idx_he_bc, const HalfEdgeIndex &idx_he_cb, const VertexIndex &idx_v_b, std::true_type) |
| Both edges are not on the boundary. | |
| void | reconnectNBNB (const HalfEdgeIndex &idx_he_bc, const HalfEdgeIndex &, const VertexIndex &idx_v_b, std::false_type) |
| Both edges are not on the boundary. | |
| void | markDeleted (const VertexIndex &idx_vertex) |
| Mark the given vertex as deleted. | |
| void | markDeleted (const HalfEdgeIndex &idx_he) |
| Mark the given half-edge as deleted. | |
| void | markDeleted (const EdgeIndex &idx_edge) |
| Mark the given edge (both half-edges) as deleted. | |
| void | markDeleted (const FaceIndex &idx_face) |
| Mark the given face as deleted. | |
| template<class ElementContainerT, class DataContainerT, class IndexContainerT, class HasDataT> | |
| IndexContainerT | remove (ElementContainerT &elements, DataContainerT &data_cloud) |
| Removes mesh elements and data that are marked as deleted from the container. | |
| template<class IteratorT> | |
| void | incrementIf (IteratorT &it, std::true_type) const |
| Increment the iterator. | |
| template<class IteratorT> | |
| void | incrementIf (IteratorT &, std::false_type) const |
| Does nothing. | |
| template<class ConstIteratorT, class IteratorT> | |
| void | assignIf (const ConstIteratorT source, IteratorT target, std::true_type) const |
| Assign the source iterator to the target iterator. | |
| template<class ConstIteratorT, class IteratorT> | |
| void | assignIf (const ConstIteratorT, IteratorT, std::false_type) const |
| Does nothing. | |
| void | setOutgoingHalfEdgeIndex (const VertexIndex &idx_vertex, const HalfEdgeIndex &idx_outgoing_half_edge) |
| Set the outgoing half-edge index to a given vertex. | |
| void | setTerminatingVertexIndex (const HalfEdgeIndex &idx_half_edge, const VertexIndex &idx_terminating_vertex) |
| Set the terminating vertex index to a given half-edge. | |
| void | setNextHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge, const HalfEdgeIndex &idx_next_half_edge) |
| Set the next half_edge index to a given half-edge. | |
| void | setPrevHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge, const HalfEdgeIndex &idx_prev_half_edge) |
| Set the previous half-edge index to a given half-edge. | |
| void | setFaceIndex (const HalfEdgeIndex &idx_half_edge, const FaceIndex &idx_face) |
| Set the face index to a given half-edge. | |
| void | setInnerHalfEdgeIndex (const FaceIndex &idx_face, const HalfEdgeIndex &idx_inner_half_edge) |
| Set the inner half-edge index to a given face. | |
| bool | isBoundary (const FaceIndex &idx_face, std::true_type) const |
| Check if any vertex of the face lies on the boundary. | |
| bool | isBoundary (const FaceIndex &idx_face, std::false_type) const |
| Check if any edge of the face lies on the boundary. | |
| bool | isManifold (const VertexIndex &, std::true_type) const |
| Always manifold. | |
| bool | isManifold (const VertexIndex &idx_vertex, std::false_type) const |
| Check if the given vertex is manifold. | |
| bool | isManifold (std::true_type) const |
| Always manifold. | |
| bool | isManifold (std::false_type) const |
| Check if all vertices in the mesh are manifold. | |
| template<class DataCloudT> | |
| void | reserveData (DataCloudT &cloud, const std::size_t n, std::true_type) const |
| Reserve storage space for the mesh data. | |
| template<class DataCloudT> | |
| void | reserveData (DataCloudT &, const std::size_t, std::false_type) const |
| Does nothing. | |
| template<class DataCloudT> | |
| void | resizeData (DataCloudT &data_cloud, const std::size_t n, const typename DataCloudT::value_type &data, std::true_type) const |
| Resize the mesh data. | |
| template<class DataCloudT> | |
| void | resizeData (DataCloudT &, const std::size_t, const typename DataCloudT::value_type &, std::false_type) const |
| Does nothing. | |
| template<class DataCloudT> | |
| void | clearData (DataCloudT &cloud, std::true_type) const |
| Clear the mesh data. | |
| template<class DataCloudT> | |
| void | clearData (DataCloudT &, std::false_type) const |
| Does nothing. | |
| Vertex & | getVertex (const VertexIndex &idx_vertex) |
| Get the vertex for the given index. | |
| Vertex | getVertex (const VertexIndex &idx_vertex) const |
| Get the vertex for the given index. | |
| void | setVertex (const VertexIndex &idx_vertex, const Vertex &vertex) |
| Set the vertex at the given index. | |
| HalfEdge & | getHalfEdge (const HalfEdgeIndex &idx_he) |
| Get the half-edge for the given index. | |
| HalfEdge | getHalfEdge (const HalfEdgeIndex &idx_he) const |
| Get the half-edge for the given index. | |
| void | setHalfEdge (const HalfEdgeIndex &idx_he, const HalfEdge &half_edge) |
| Set the half-edge at the given index. | |
| Face & | getFace (const FaceIndex &idx_face) |
| Get the face for the given index. | |
| Face | getFace (const FaceIndex &idx_face) const |
| Get the face for the given index. | |
| void | setFace (const FaceIndex &idx_face, const Face &face) |
| Set the face at the given index. | |
Friends | |
| template<class MeshT> | |
| class | pcl::geometry::MeshIO |
Base class for the half-edge mesh.
| DerivedT | Has to implement the method 'addFaceImpl'. Please have a look at pcl::geometry::TriangleMesh, pcl::geometry::QuadMesh and pcl::geometry::PolygonMesh. |
| MeshTraitsT | Please have a look at pcl::geometry::DefaultMeshTraits. |
| MeshTagT | Tag describing the type of the mesh, e.g. TriangleMeshTag, QuadMeshTag, PolygonMeshTag. |
Definition at line 96 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::ConstPtr = shared_ptr<const Self> |
Definition at line 100 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::Derived = DerivedT |
Definition at line 102 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::EdgeData = typename MeshTraitsT::EdgeData |
Definition at line 107 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::EdgeDataCloud = pcl::PointCloud<EdgeData> |
Definition at line 133 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::EdgeIndex = pcl::geometry::EdgeIndex |
Definition at line 139 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::EdgeIndices = std::vector<EdgeIndex> |
Definition at line 144 of file mesh_base.h.
|
protected |
Definition at line 1146 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceAroundFaceCirculator = pcl::geometry::FaceAroundFaceCirculator<const Self> |
Definition at line 162 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceAroundVertexCirculator |
Definition at line 154 of file mesh_base.h.
|
protected |
Definition at line 1158 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceData = typename MeshTraitsT::FaceData |
Definition at line 108 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceDataCloud = pcl::PointCloud<FaceData> |
Definition at line 134 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceIndex = pcl::geometry::FaceIndex |
Definition at line 140 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceIndices = std::vector<FaceIndex> |
Definition at line 145 of file mesh_base.h.
|
protected |
Definition at line 1154 of file mesh_base.h.
|
protected |
Definition at line 1150 of file mesh_base.h.
|
protected |
Definition at line 1145 of file mesh_base.h.
|
protected |
Definition at line 1157 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HalfEdgeData = typename MeshTraitsT::HalfEdgeData |
Definition at line 106 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HalfEdgeDataCloud = pcl::PointCloud<HalfEdgeData> |
Definition at line 132 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HalfEdgeIndex = pcl::geometry::HalfEdgeIndex |
Definition at line 138 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HalfEdgeIndices = std::vector<HalfEdgeIndex> |
Definition at line 143 of file mesh_base.h.
|
protected |
Definition at line 1153 of file mesh_base.h.
|
protected |
Definition at line 1149 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HasEdgeData |
Definition at line 124 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HasFaceData |
Definition at line 127 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HasHalfEdgeData |
Definition at line 121 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HasVertexData |
Definition at line 118 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::IncomingHalfEdgeAroundVertexCirculator |
Definition at line 152 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::InnerHalfEdgeAroundFaceCirculator |
Definition at line 158 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::IsManifold = typename MeshTraitsT::IsManifold |
Definition at line 109 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::MeshTag = MeshTagT |
Definition at line 115 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::OuterHalfEdgeAroundFaceCirculator |
Definition at line 160 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::OutgoingHalfEdgeAroundVertexCirculator |
Definition at line 150 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::Ptr = shared_ptr<Self> |
Definition at line 99 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::Self = MeshBase<DerivedT, MeshTraitsT, MeshTagT> |
Definition at line 98 of file mesh_base.h.
|
protected |
Definition at line 1144 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexAroundFaceCirculator |
Definition at line 156 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexAroundVertexCirculator |
Definition at line 148 of file mesh_base.h.
|
protected |
Definition at line 1156 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexData = typename MeshTraitsT::VertexData |
Definition at line 105 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexDataCloud = pcl::PointCloud<VertexData> |
Definition at line 131 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexIndex = pcl::geometry::VertexIndex |
Definition at line 137 of file mesh_base.h.
| using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexIndices = std::vector<VertexIndex> |
Definition at line 142 of file mesh_base.h.
|
protected |
Definition at line 1152 of file mesh_base.h.
|
protected |
Definition at line 1148 of file mesh_base.h.
|
inline |
Constructor.
Definition at line 165 of file mesh_base.h.
|
inlineprotected |
Does nothing.
Definition at line 1561 of file mesh_base.h.
|
inlineprotected |
Add mesh data.
Definition at line 1553 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addVertex(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectFace().
|
inlineprotected |
Add an edge between the two given vertices and connect them with the vertices.
| [in] | idx_v_a | The first vertex index |
| [in] | idx_v_b | The second vertex index |
| [in] | he_data | Data associated with the half-edges. This is only added if the mesh has data associated with the half-edges. |
| [in] | edge_data | Data associated with the edge. This is only added if the mesh has data associated with the edges. |
Definition at line 1246 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase().
|
inline |
Add a face to the mesh.
Data is only added if it is associated with the elements. The last vertex is connected with the first one.
| [in] | vertices | Indices to the vertices of the new face. |
| [in] | face_data | Data that is set for the face. |
| [in] | half_edge_data | Data that is set for all added half-edges. |
| [in] | edge_data | Data that is set for all added edges. |
Definition at line 203 of file mesh_base.h.
|
inlineprotected |
General implementation of addFace.
Definition at line 1162 of file mesh_base.h.
|
inline |
Add a vertex to the mesh.
| [in] | vertex_data | Data that is stored in the vertex. This is only added if the mesh has data associated with the vertices. |
Definition at line 183 of file mesh_base.h.
|
inlineprotected |
Assign the source iterator to the target iterator.
Definition at line 1861 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::remove().
|
inlineprotected |
Does nothing.
Definition at line 1871 of file mesh_base.h.
|
inlineprotected |
Non manifold version of checkTopology1.
Definition at line 1295 of file mesh_base.h.
|
inlineprotected |
Check if the edge between the two vertices can be added.
| [in] | idx_v_a | Index to the first vertex. |
| [in] | idx_v_b | Index to the second vertex. |
| [out] | idx_he_ab | Index to the half-edge ab if is_new_ab=false. |
| [out] | is_new_ab | true if the edge between the vertices exists already. Must be initialized with true! |
Definition at line 1274 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase().
|
inlineprotected |
Check if the face may be added (mesh does not become non-manifold).
Definition at line 1327 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase().
|
inlineprotected |
Check if the half-edge bc is the next half-edge of ab.
| [in] | idx_he_ab | Index to the half-edge between the vertices a and b. |
| [in] | idx_he_bc | Index to the half-edge between the vertices b and c. |
| [in] | is_new_ab | Half-edge ab is new. |
| [in] | is_new_bc | Half-edge bc is new. |
| [out] | make_adjacent_ab_bc | Half-edges ab and bc need to be made adjacent. |
| [out] | idx_free_half_edge | Free half-edge (needed for makeAdjacent) |
Definition at line 1349 of file mesh_base.h.
|
inline |
Removes all mesh elements and data that are marked as deleted.
Definition at line 297 of file mesh_base.h.
|
inline |
Clear all mesh elements and data.
Definition at line 933 of file mesh_base.h.
|
inlineprotected |
Does nothing.
Definition at line 2064 of file mesh_base.h.
|
inlineprotected |
Clear the mesh data.
Definition at line 2056 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::clear().
|
inlineprotected |
Add a face to the mesh and connect it to the half-edges.
| [in] | inner_he | Inner half-edges of the face. |
| [in] | face_data | Data that is stored in the face. This is only added if the mesh has data associated with the faces. |
Definition at line 1419 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase().
|
inlineprotected |
Both half-edges are new (non-manifold version).
Definition at line 1459 of file mesh_base.h.
|
inlineprotected |
Both half-edges are new (manifold version).
Definition at line 1443 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewNew().
|
inlineprotected |
The first half-edge is new.
Definition at line 1483 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase().
|
inlineprotected |
The second half-edge is new.
Definition at line 1499 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase().
|
inlineprotected |
Both half-edges are old (manifold version).
Definition at line 1515 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase().
|
inlineprotected |
Both half-edges are old (non-manifold version).
Definition at line 1523 of file mesh_base.h.
|
inlineprotected |
Connect the next and prev indices of the two half-edges with each other.
Definition at line 1435 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewOld(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectOldNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::makeAdjacent(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnect().
|
inline |
Mark the given edge (both half-edges) and the associated faces as deleted.
Definition at line 269 of file mesh_base.h.
|
inline |
Mark the given half-edge, the opposite half-edge and the associated faces as deleted.
Definition at line 246 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge().
|
inline |
Mark the given face as deleted.
More faces are deleted if the manifold mesh would become non-manifold.
Definition at line 283 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteVertex().
|
inlineprotected |
Non-manifold version of deleteFace.
Definition at line 1592 of file mesh_base.h.
|
inlineprotected |
Manifold version of deleteFace.
If the mesh becomes non-manifold due to the delete operation the faces around the non-manifold vertex are deleted until the mesh becomes manifold again.
Definition at line 1574 of file mesh_base.h.
|
inline |
Mark the given vertex and all connected half-edges and faces as deleted.
Definition at line 219 of file mesh_base.h.
|
inline |
Check if the mesh is empty.
Definition at line 840 of file mesh_base.h.
|
inline |
Check if the edges are empty.
Definition at line 854 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::empty().
|
inline |
Check if the faces are empty.
Definition at line 861 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::empty().
|
inline |
Check if the vertices are empty.
Definition at line 847 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::empty().
|
inline |
Get access to the stored edge data.
Definition at line 1023 of file mesh_base.h.
|
inline |
Get the stored edge data.
Definition at line 1030 of file mesh_base.h.
|
inline |
Get the index associated to the given edge data.
Definition at line 1116 of file mesh_base.h.
|
inlineprotected |
Get the face for the given index.
Definition at line 2129 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getInnerHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::markDeleted(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setInnerHalfEdgeIndex().
|
inlineprotected |
Get the face for the given index.
Definition at line 2137 of file mesh_base.h.
|
inline |
Definition at line 575 of file mesh_base.h.
|
inline |
Definition at line 583 of file mesh_base.h.
|
inline |
Definition at line 519 of file mesh_base.h.
|
inline |
Definition at line 511 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteVertex().
|
inline |
Get access to the stored face data.
Definition at line 1057 of file mesh_base.h.
|
inline |
Get the stored face data.
Definition at line 1064 of file mesh_base.h.
|
inline |
Get the index associated to the given face data.
Definition at line 1128 of file mesh_base.h.
|
inline |
Get the face index to a given half-edge.
Definition at line 421 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOppositeFaceIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isEqualTopology(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnectNBNB().
|
inlineprotected |
Get the half-edge for the given index.
Definition at line 2101 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getFaceIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getNextHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getPrevHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getTerminatingVertexIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::markDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setFaceIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setNextHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setPrevHalfEdgeIndex(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setTerminatingVertexIndex().
|
inlineprotected |
Get the half-edge for the given index.
Definition at line 2109 of file mesh_base.h.
|
inline |
Get access to the stored half-edge data.
Definition at line 988 of file mesh_base.h.
|
inline |
Get the stored half-edge data.
Definition at line 995 of file mesh_base.h.
|
inline |
Get the index associated to the given half-edge data.
Definition at line 1103 of file mesh_base.h.
|
inline |
Definition at line 502 of file mesh_base.h.
|
inline |
|
inline |
Get the incoming half-edge index to a given vertex.
Definition at line 366 of file mesh_base.h.
|
inline |
Definition at line 543 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace().
|
inline |
Definition at line 551 of file mesh_base.h.
|
inline |
Get the inner half-edge index to a given face.
Definition at line 441 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOuterHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isDeleted(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isEqualTopology().
|
inline |
Get the next half-edge index to a given half-edge.
Definition at line 405 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology2(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectOldNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isEqualTopology(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::makeAdjacent(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnect().
|
inline |
Get the face index to a given half-edge.
Definition at line 429 of file mesh_base.h.
|
inline |
Get the opposite half-edge index to a given half-edge.
Definition at line 395 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology2(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewOld(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectOldNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getIncomingHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOppositeFaceIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOriginatingVertexIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOuterHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnect().
|
inline |
Get the originating vertex index to a given half-edge.
Definition at line 386 of file mesh_base.h.
|
inline |
Definition at line 559 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary().
|
inline |
Definition at line 567 of file mesh_base.h.
|
inline |
Get the outer half-edge inex to a given face.
Definition at line 449 of file mesh_base.h.
|
inline |
Definition at line 485 of file mesh_base.h.
|
inline |
|
inline |
Get the outgoing half-edge index to a given vertex.
Definition at line 358 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology1(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology1(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectOldOld(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getIncomingHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isEqualTopology(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isIsolated().
|
inline |
Get the previous half-edge index to a given half-edge.
Definition at line 413 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewOld(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isEqualTopology(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::makeAdjacent(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnect().
|
inline |
Get the terminating vertex index to a given half-edge.
Definition at line 378 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology1(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOriginatingVertexIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isEqualTopology(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnect().
|
inlineprotected |
Get the vertex for the given index.
Definition at line 2073 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOutgoingHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::markDeleted(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setOutgoingHalfEdgeIndex().
|
inlineprotected |
Get the vertex for the given index.
Definition at line 2081 of file mesh_base.h.
|
inline |
Definition at line 527 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary().
|
inline |
Definition at line 535 of file mesh_base.h.
|
inline |
Definition at line 469 of file mesh_base.h.
|
inline |
Definition at line 461 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology1().
|
inline |
Get access to the stored vertex data.
Definition at line 953 of file mesh_base.h.
|
inline |
Get the stored vertex data.
Definition at line 960 of file mesh_base.h.
|
inline |
Get the index associated to the given vertex data.
Definition at line 1091 of file mesh_base.h.
|
inlineprotected |
Does nothing.
Definition at line 1855 of file mesh_base.h.
|
inlineprotected |
Increment the iterator.
Definition at line 1847 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::remove().
|
inline |
Check if the given edge lies on the boundary (any of the two half-edges lies on the boundary.
Definition at line 748 of file mesh_base.h.
|
inline |
Check if the given face lies on the boundary.
This method uses isBoundary true which checks if any vertex lies on the boundary.
Definition at line 773 of file mesh_base.h.
|
inline |
Check if the given face lies on the boundary.
There are two versions of this method, selected by the template parameter.
| CheckVerticesT | Check if any vertex lies on the boundary (true) or check if any edge lies on the boundary (false). |
Definition at line 764 of file mesh_base.h.
|
inlineprotected |
Check if any edge of the face lies on the boundary.
Definition at line 1955 of file mesh_base.h.
|
inlineprotected |
Check if any vertex of the face lies on the boundary.
Definition at line 1939 of file mesh_base.h.
|
inline |
Check if the given half-edge lies on the boundary.
Definition at line 739 of file mesh_base.h.
|
inline |
Check if the given vertex lies on the boundary.
Isolated vertices are considered to be on the boundary.
Definition at line 729 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology1(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology1(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology2(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectOldOld(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isManifold(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnectNBNB(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnectNBNB().
|
inline |
Check if the given edge (any of the two half-edges) is marked as deleted.
Definition at line 695 of file mesh_base.h.
|
inline |
Check if the given face is marked as deleted.
Definition at line 704 of file mesh_base.h.
|
inline |
Check if the given half-edge is marked as deleted.
Definition at line 686 of file mesh_base.h.
|
inline |
Check if the given vertex is marked as deleted.
Definition at line 678 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteVertex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isDeleted(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::remove().
|
inline |
Check if the other mesh has the same topology as this mesh.
Definition at line 595 of file mesh_base.h.
|
inline |
Check if the given vertex is isolated (not connected to other elements).
Definition at line 716 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology1(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::checkTopology1(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isManifold().
|
inline |
Check if the mesh is manifold.
Definition at line 795 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isManifold(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isManifold(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isManifold().
|
inlineprotected |
Always manifold.
Definition at line 1972 of file mesh_base.h.
|
inline |
Check if the given vertex is manifold.
Isolated vertices are manifold.
Definition at line 785 of file mesh_base.h.
|
inlineprotected |
Check if the given vertex is manifold.
Definition at line 1979 of file mesh_base.h.
|
inlineprotected |
Check if all vertices in the mesh are manifold.
Definition at line 2004 of file mesh_base.h.
|
inlineprotected |
Always manifold.
Definition at line 1997 of file mesh_base.h.
|
inline |
Check if the given edge index is a valid index into the mesh.
Definition at line 658 of file mesh_base.h.
|
inline |
Check if the given face index is a valid index into the mesh.
Definition at line 666 of file mesh_base.h.
|
inline |
Check if the given half-edge index is a valid index into the mesh.
Definition at line 650 of file mesh_base.h.
|
inline |
Check if the given vertex index is a valid index into the mesh.
Definition at line 642 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteVertex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getFaceAroundFaceCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getFaceAroundFaceCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getFaceAroundVertexCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getFaceAroundVertexCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getFaceIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getHalfEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getHalfEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getIncomingHalfEdgeAroundVertexCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getIncomingHalfEdgeAroundVertexCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getIncomingHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getInnerHalfEdgeAroundFaceCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getInnerHalfEdgeAroundFaceCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getInnerHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getNextHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOppositeFaceIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOppositeHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOriginatingVertexIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOuterHalfEdgeAroundFaceCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOuterHalfEdgeAroundFaceCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOuterHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOutgoingHalfEdgeAroundVertexCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOutgoingHalfEdgeAroundVertexCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getOutgoingHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getPrevHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getTerminatingVertexIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getVertex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getVertex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getVertexAroundFaceCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getVertexAroundFaceCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getVertexAroundVertexCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::getVertexAroundVertexCirculator(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isBoundary(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isIsolated(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isManifold(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::markDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::markDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::markDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::markDeleted(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setFaceIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setHalfEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setInnerHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setNextHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setOutgoingHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setPrevHalfEdgeIndex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setTerminatingVertexIndex(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::setVertex().
|
inlineprotected |
Make the half-edges bc the next half-edge of ab.
| [in] | idx_he_ab | Index to the half-edge between the vertices a and b. |
| [in] | idx_he_bc | Index to the half-edge between the vertices b and c. |
| [in,out] | idx_free_half_edge | Free half-edge needed to re-connect the half-edges around vertex b. |
Definition at line 1393 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addFaceImplBase().
|
inlineprotected |
Mark the given edge (both half-edges) as deleted.
Definition at line 1756 of file mesh_base.h.
|
inlineprotected |
Mark the given face as deleted.
Definition at line 1765 of file mesh_base.h.
|
inlineprotected |
Mark the given half-edge as deleted.
Definition at line 1748 of file mesh_base.h.
|
inlineprotected |
Mark the given vertex as deleted.
Definition at line 1740 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteEdge(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::markDeleted(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnect().
|
inlineprotected |
Deconnect the input half-edges from the mesh and adjust the indices of the connected half-edges.
Definition at line 1641 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::deleteFace().
|
inlineprotected |
Both edges are not on the boundary.
Non-manifold version.
Definition at line 1724 of file mesh_base.h.
|
inlineprotected |
Both edges are not on the boundary.
Manifold version.
Definition at line 1688 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnect().
|
inlineprotected |
Removes mesh elements and data that are marked as deleted from the container.
| ElementContainerT | e.g. std::vector <Vertex> |
| DataContainerT | e.g. std::vector <VertexData> |
| IndexContainerT | e.g. std::vector <VertexIndex> |
| HasDataT | Integral constant specifying if the mesh has data associated with the elements. |
| [in,out] | elements | Container for the mesh elements. Resized to the new size. |
| [in,out] | data_cloud | Container for the mesh data. Resized to the new size. |
Definition at line 1793 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::cleanUp().
|
inlineprotected |
Does nothing.
Definition at line 2028 of file mesh_base.h.
|
inlineprotected |
Reserve storage space for the mesh data.
Definition at line 2020 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reserveEdges(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reserveFaces(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reserveVertices().
|
inline |
Reserve storage space for n edges (2*n storage space is reserved for the half-edges).
Definition at line 881 of file mesh_base.h.
|
inline |
Reserve storage space for n faces.
Definition at line 890 of file mesh_base.h.
|
inline |
Reserve storage space n vertices.
Definition at line 872 of file mesh_base.h.
|
inlineprotected |
Does nothing.
Definition at line 2047 of file mesh_base.h.
|
inlineprotected |
Resize the mesh data.
Definition at line 2036 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::resizeEdges(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::resizeFaces(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::resizeVertices().
|
inline |
Resize the edges to n elements (half-edges will hold 2*n elements).
Definition at line 910 of file mesh_base.h.
|
inline |
Resize the faces to n elements.
Definition at line 921 of file mesh_base.h.
|
inline |
Resize the the vertices to n elements.
Definition at line 902 of file mesh_base.h.
|
inline |
Change the stored edge data.
| [in] | edge_data_cloud | The new edge data. Must be the same as the current data. |
Definition at line 1040 of file mesh_base.h.
|
inlineprotected |
Set the face at the given index.
Definition at line 2145 of file mesh_base.h.
|
inline |
Change the stored face data.
| [in] | face_data_cloud | The new face data. Must be the same as the current data. |
Definition at line 1074 of file mesh_base.h.
|
inlineprotected |
Set the face index to a given half-edge.
Definition at line 1918 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectFace().
|
inlineprotected |
Set the half-edge at the given index.
Definition at line 2117 of file mesh_base.h.
|
inline |
Change the stored half-edge data.
| [in] | half_edge_data_cloud | The new half-edge data. Must be the same as the current data. |
Definition at line 1006 of file mesh_base.h.
|
inlineprotected |
Set the inner half-edge index to a given face.
Definition at line 1926 of file mesh_base.h.
|
inlineprotected |
Set the next half_edge index to a given half-edge.
Definition at line 1900 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectPrevNext().
|
inlineprotected |
Set the outgoing half-edge index to a given vertex.
Definition at line 1882 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectNewOld(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectOldNew(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectOldOld(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnect(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnectNBNB(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::reconnectNBNB().
|
inlineprotected |
Set the previous half-edge index to a given half-edge.
Definition at line 1909 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectPrevNext().
|
inlineprotected |
Set the terminating vertex index to a given half-edge.
Definition at line 1891 of file mesh_base.h.
|
inlineprotected |
Set the vertex at the given index.
Definition at line 2089 of file mesh_base.h.
|
inline |
Change the stored vertex data.
| [in] | vertex_data_cloud | The new vertex data. Must be the same as the current data. |
Definition at line 971 of file mesh_base.h.
|
inline |
Get the number of the edges.
Definition at line 821 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::cleanUp().
|
inline |
Get the number of the faces.
Definition at line 829 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::connectFace(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isEqualTopology().
|
inline |
Get the number of the half-edges.
Definition at line 813 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isEqualTopology().
|
inline |
Get the number of the vertices.
Definition at line 806 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::addVertex(), pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isEqualTopology(), and pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag >::isManifold().
|
friend |
Definition at line 2202 of file mesh_base.h.