Base class for the half-edge mesh. More...
#include <pcl/geometry/mesh_base.h>
Public Member Functions |
|
MeshBase () | |
Constructor. More... |
|
VertexIndex | addVertex (const VertexData &vertex_data=VertexData()) |
Add a vertex to the mesh. More... |
|
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. More... |
|
void | deleteVertex (const VertexIndex &idx_vertex) |
Mark the given vertex and all connected half-edges and faces as deleted. More... |
|
void | deleteEdge (const HalfEdgeIndex &idx_he) |
Mark the given half-edge, the opposite half-edge and the associated faces as deleted. More... |
|
void | deleteEdge (const EdgeIndex &idx_edge) |
Mark the given edge (both half-edges) and the associated faces as deleted. More... |
|
void | deleteFace (const FaceIndex &idx_face) |
Mark the given face as deleted. More... |
|
void | cleanUp () |
Removes all mesh elements and data that are marked as deleted. More... |
|
HalfEdgeIndex | getOutgoingHalfEdgeIndex (const VertexIndex &idx_vertex) const |
Get the outgoing half-edge index to a given vertex. More... |
|
HalfEdgeIndex | getIncomingHalfEdgeIndex (const VertexIndex &idx_vertex) const |
Get the incoming half-edge index to a given vertex. More... |
|
VertexIndex | getTerminatingVertexIndex (const HalfEdgeIndex &idx_half_edge) const |
Get the terminating vertex index to a given half-edge. More... |
|
VertexIndex | getOriginatingVertexIndex (const HalfEdgeIndex &idx_half_edge) const |
Get the originating vertex index to a given half-edge. More... |
|
HalfEdgeIndex | getOppositeHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge) const |
Get the opposite half-edge index to a given half-edge. More... |
|
HalfEdgeIndex | getNextHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge) const |
Get the next half-edge index to a given half-edge. More... |
|
HalfEdgeIndex | getPrevHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge) const |
Get the previous half-edge index to a given half-edge. More... |
|
FaceIndex | getFaceIndex (const HalfEdgeIndex &idx_half_edge) const |
Get the face index to a given half-edge. More... |
|
FaceIndex | getOppositeFaceIndex (const HalfEdgeIndex &idx_half_edge) const |
Get the face index to a given half-edge. More... |
|
HalfEdgeIndex | getInnerHalfEdgeIndex (const FaceIndex &idx_face) const |
Get the inner half-edge index to a given face. More... |
|
HalfEdgeIndex | getOuterHalfEdgeIndex (const FaceIndex &idx_face) const |
Get the outer half-edge inex to a given face. More... |
|
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. More... |
|
bool | isValid (const VertexIndex &idx_vertex) const |
Check if the given vertex index is a valid index into the mesh. More... |
|
bool | isValid (const HalfEdgeIndex &idx_he) const |
Check if the given half-edge index is a valid index into the mesh. More... |
|
bool | isValid (const EdgeIndex &idx_edge) const |
Check if the given edge index is a valid index into the mesh. More... |
|
bool | isValid (const FaceIndex &idx_face) const |
Check if the given face index is a valid index into the mesh. More... |
|
bool | isDeleted (const VertexIndex &idx_vertex) const |
Check if the given vertex is marked as deleted. More... |
|
bool | isDeleted (const HalfEdgeIndex &idx_he) const |
Check if the given half-edge is marked as deleted. More... |
|
bool | isDeleted (const EdgeIndex &idx_edge) const |
Check if the given edge (any of the two half-edges) is marked as deleted. More... |
|
bool | isDeleted (const FaceIndex &idx_face) const |
Check if the given face is marked as deleted. More... |
|
bool | isIsolated (const VertexIndex &idx_vertex) const |
Check if the given vertex is isolated (not connected to other elements). More... |
|
bool | isBoundary (const VertexIndex &idx_vertex) const |
Check if the given vertex lies on the boundary. More... |
|
bool | isBoundary (const HalfEdgeIndex &idx_he) const |
Check if the given half-edge lies on the bounddary. More... |
|
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. More... |
|
template<bool CheckVerticesT> | |
bool | isBoundary (const FaceIndex &idx_face) const |
Check if the given face lies on the boundary. More... |
|
bool | isBoundary (const FaceIndex &idx_face) const |
Check if the given face lies on the boundary. More... |
|
bool | isManifold (const VertexIndex &idx_vertex) const |
Check if the given vertex is manifold. More... |
|
bool | isManifold () const |
Check if the mesh is manifold. More... |
|
std::size_t | sizeVertices () const |
Get the number of the vertices. More... |
|
std::size_t | sizeHalfEdges () const |
Get the number of the half-edges. More... |
|
std::size_t | sizeEdges () const |
Get the number of the edges. More... |
|
std::size_t | sizeFaces () const |
Get the number of the faces. More... |
|
bool | empty () const |
Check if the mesh is empty. More... |
|
bool | emptyVertices () const |
Check if the vertices are empty. More... |
|
bool | emptyEdges () const |
Check if the edges are empty. More... |
|
bool | emptyFaces () const |
Check if the faces are empty. More... |
|
void | reserveVertices (const std::size_t n) |
Reserve storage space n vertices. More... |
|
void | reserveEdges (const std::size_t n) |
Reserve storage space for n edges (2*n storage space is reserved for the half-edges). More... |
|
void | reserveFaces (const std::size_t n) |
Reserve storage space for n faces. More... |
|
void | resizeVertices (const std::size_t n, const VertexData &data=VertexData()) |
Resize the the vertices to n elements. More... |
|
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). More... |
|
void | resizeFaces (const std::size_t n, const FaceData &data=FaceData()) |
Resize the faces to n elements. More... |
|
void | clear () |
Clear all mesh elements and data. More... |
|
VertexDataCloud & | getVertexDataCloud () |
Get access to the stored vertex data. More... |
|
VertexDataCloud | getVertexDataCloud () const |
Get the stored vertex data. More... |
|
bool | setVertexDataCloud (const VertexDataCloud &vertex_data_cloud) |
Change the stored vertex data. More... |
|
HalfEdgeDataCloud & | getHalfEdgeDataCloud () |
Get access to the stored half-edge data. More... |
|
HalfEdgeDataCloud | getHalfEdgeDataCloud () const |
Get the stored half-edge data. More... |
|
bool | setHalfEdgeDataCloud (const HalfEdgeDataCloud &half_edge_data_cloud) |
Change the stored half-edge data. More... |
|
EdgeDataCloud & | getEdgeDataCloud () |
Get access to the stored edge data. More... |
|
EdgeDataCloud | getEdgeDataCloud () const |
Get the stored edge data. More... |
|
bool | setEdgeDataCloud (const EdgeDataCloud &edge_data_cloud) |
Change the stored edge data. More... |
|
FaceDataCloud & | getFaceDataCloud () |
Get access to the stored face data. More... |
|
FaceDataCloud | getFaceDataCloud () const |
Get the stored face data. More... |
|
bool | setFaceDataCloud (const FaceDataCloud &face_data_cloud) |
Change the stored face data. More... |
|
VertexIndex | getVertexIndex (const VertexData &vertex_data) const |
Get the index associated to the given vertex data. More... |
|
HalfEdgeIndex | getHalfEdgeIndex (const HalfEdgeData &half_edge_data) const |
Get the index associated to the given half-edge data. More... |
|
EdgeIndex | getEdgeIndex (const EdgeData &edge_data) const |
Get the index associated to the given edge data. More... |
|
FaceIndex | getFaceIndex (const FaceData &face_data) const |
Get the index associated to the given face data. More... |
|
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. More... |
|
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. More... |
|
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. More... |
|
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. More... |
|
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). More... |
|
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. More... |
|
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. More... |
|
FaceIndex | connectFace (const HalfEdgeIndices &inner_he, const FaceData &face_data) |
Add a face to the mesh and connect it to the half-edges. More... |
|
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. More... |
|
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). More... |
|
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). More... |
|
void | connectNewOld (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc, const VertexIndex &idx_v_b) |
The first half-edge is new. More... |
|
void | connectOldNew (const HalfEdgeIndex &idx_he_ab, const HalfEdgeIndex &idx_he_bc, const VertexIndex &idx_v_b) |
The second half-edge is new. More... |
|
void | connectOldOld (const HalfEdgeIndex &, const HalfEdgeIndex &, const VertexIndex &, std::true_type) |
Both half-edges are old (manifold version). More... |
|
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). More... |
|
template<class DataT > | |
void | addData (pcl::PointCloud< DataT > &cloud, const DataT &data, std::true_type) |
Add mesh data. More... |
|
template<class DataT > | |
void | addData (pcl::PointCloud< DataT > &, const DataT &, std::false_type) |
Does nothing. More... |
|
void | deleteFace (const FaceIndex &idx_face, std::true_type) |
Manifold version of deleteFace. More... |
|
void | deleteFace (const FaceIndex &idx_face, std::false_type) |
Non-manifold version of deleteFace. More... |
|
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. More... |
|
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. More... |
|
void | reconnectNBNB (const HalfEdgeIndex &idx_he_bc, const HalfEdgeIndex &, const VertexIndex &idx_v_b, std::false_type) |
Both edges are not on the boundary. More... |
|
void | markDeleted (const VertexIndex &idx_vertex) |
Mark the given vertex as deleted. More... |
|
void | markDeleted (const HalfEdgeIndex &idx_he) |
Mark the given half-edge as deleted. More... |
|
void | markDeleted (const EdgeIndex &idx_edge) |
Mark the given edge (both half-edges) as deleted. More... |
|
void | markDeleted (const FaceIndex &idx_face) |
Mark the given face as deleted. More... |
|
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. More... |
|
template<class IteratorT > | |
void | incrementIf (IteratorT &it, std::true_type) const |
Increment the iterator. More... |
|
template<class IteratorT > | |
void | incrementIf (IteratorT &, std::false_type) const |
Does nothing. More... |
|
template<class ConstIteratorT , class IteratorT > | |
void | assignIf (const ConstIteratorT source, IteratorT target, std::true_type) const |
Assign the source iterator to the target iterator. More... |
|
template<class ConstIteratorT , class IteratorT > | |
void | assignIf (const ConstIteratorT, IteratorT, std::false_type) const |
Does nothing. More... |
|
void | setOutgoingHalfEdgeIndex (const VertexIndex &idx_vertex, const HalfEdgeIndex &idx_outgoing_half_edge) |
Set the outgoing half-edge index to a given vertex. More... |
|
void | setTerminatingVertexIndex (const HalfEdgeIndex &idx_half_edge, const VertexIndex &idx_terminating_vertex) |
Set the terminating vertex index to a given half-edge. More... |
|
void | setNextHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge, const HalfEdgeIndex &idx_next_half_edge) |
Set the next half_edge index to a given half-edge. More... |
|
void | setPrevHalfEdgeIndex (const HalfEdgeIndex &idx_half_edge, const HalfEdgeIndex &idx_prev_half_edge) |
Set the previous half-edge index to a given half-edge. More... |
|
void | setFaceIndex (const HalfEdgeIndex &idx_half_edge, const FaceIndex &idx_face) |
Set the face index to a given half-edge. More... |
|
void | setInnerHalfEdgeIndex (const FaceIndex &idx_face, const HalfEdgeIndex &idx_inner_half_edge) |
Set the inner half-edge index to a given face. More... |
|
bool | isBoundary (const FaceIndex &idx_face, std::true_type) const |
Check if any vertex of the face lies on the boundary. More... |
|
bool | isBoundary (const FaceIndex &idx_face, std::false_type) const |
Check if any edge of the face lies on the boundary. More... |
|
bool | isManifold (const VertexIndex &, std::true_type) const |
Always manifold. More... |
|
bool | isManifold (const VertexIndex &idx_vertex, std::false_type) const |
Check if the given vertex is manifold. More... |
|
bool | isManifold (std::true_type) const |
Always manifold. More... |
|
bool | isManifold (std::false_type) const |
Check if all vertices in the mesh are manifold. More... |
|
template<class DataCloudT > | |
void | reserveData (DataCloudT &cloud, const std::size_t n, std::true_type) const |
Reserve storage space for the mesh data. More... |
|
template<class DataCloudT > | |
void | reserveData (DataCloudT &, const std::size_t, std::false_type) const |
Does nothing. More... |
|
template<class DataCloudT > | |
void | resizeData (DataCloudT &, const std::size_t n, const typename DataCloudT::value_type &data, std::true_type) const |
Resize the mesh data. More... |
|
template<class DataCloudT > | |
void | resizeData (DataCloudT &, const std::size_t, const typename DataCloudT::value_type &, std::false_type) const |
Does nothing. More... |
|
template<class DataCloudT > | |
void | clearData (DataCloudT &cloud, std::true_type) const |
Clear the mesh data. More... |
|
template<class DataCloudT > | |
void | clearData (DataCloudT &, std::false_type) const |
Does nothing. More... |
|
Vertex & | getVertex (const VertexIndex &idx_vertex) |
Get the vertex for the given index. More... |
|
Vertex | getVertex (const VertexIndex &idx_vertex) const |
Get the vertex for the given index. More... |
|
void | setVertex (const VertexIndex &idx_vertex, const Vertex &vertex) |
Set the vertex at the given index. More... |
|
HalfEdge & | getHalfEdge (const HalfEdgeIndex &idx_he) |
Get the half-edge for the given index. More... |
|
HalfEdge | getHalfEdge (const HalfEdgeIndex &idx_he) const |
Get the half-edge for the given index. More... |
|
void | setHalfEdge (const HalfEdgeIndex &idx_he, const HalfEdge &half_edge) |
Set the half-edge at the given index. More... |
|
Face & | getFace (const FaceIndex &idx_face) |
Get the face for the given index. More... |
|
Face | getFace (const FaceIndex &idx_face) const |
Get the face for the given index. More... |
|
void | setFace (const FaceIndex &idx_face, const Face &face) |
Set the face at the given index. More... |
|
Friends |
|
template<class MeshT > | |
class | pcl::geometry::MeshIO |
Detailed Description
template<class DerivedT, class MeshTraitsT, class MeshTagT>
class pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >
Base class for the half-edge mesh.
- Template Parameters
-
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.
- Todo:
- Add documentation
Definition at line 95 of file mesh_base.h.
Member Typedef Documentation
ConstPtr
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::ConstPtr = shared_ptr<const Self> |
Definition at line 99 of file mesh_base.h.
Derived
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::Derived = DerivedT |
Definition at line 101 of file mesh_base.h.
EdgeData
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::EdgeData = typename MeshTraitsT::EdgeData |
Definition at line 106 of file mesh_base.h.
EdgeDataCloud
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::EdgeDataCloud = pcl::PointCloud<EdgeData> |
Definition at line 132 of file mesh_base.h.
EdgeIndex
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::EdgeIndex = pcl::geometry::EdgeIndex |
Definition at line 138 of file mesh_base.h.
EdgeIndices
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::EdgeIndices = std::vector<EdgeIndex> |
Definition at line 143 of file mesh_base.h.
Face
|
protected |
Definition at line 1141 of file mesh_base.h.
FaceAroundFaceCirculator
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceAroundFaceCirculator = pcl::geometry::FaceAroundFaceCirculator<const Self> |
Definition at line 161 of file mesh_base.h.
FaceAroundVertexCirculator
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceAroundVertexCirculator = pcl::geometry::FaceAroundVertexCirculator<const Self> |
Definition at line 154 of file mesh_base.h.
FaceConstIterator
|
protected |
Definition at line 1153 of file mesh_base.h.
FaceData
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceData = typename MeshTraitsT::FaceData |
Definition at line 107 of file mesh_base.h.
FaceDataCloud
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceDataCloud = pcl::PointCloud<FaceData> |
Definition at line 133 of file mesh_base.h.
FaceIndex
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceIndex = pcl::geometry::FaceIndex |
Definition at line 139 of file mesh_base.h.
FaceIndices
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::FaceIndices = std::vector<FaceIndex> |
Definition at line 144 of file mesh_base.h.
FaceIterator
|
protected |
Definition at line 1149 of file mesh_base.h.
Faces
|
protected |
Definition at line 1145 of file mesh_base.h.
HalfEdge
|
protected |
Definition at line 1140 of file mesh_base.h.
HalfEdgeConstIterator
|
protected |
Definition at line 1152 of file mesh_base.h.
HalfEdgeData
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HalfEdgeData = typename MeshTraitsT::HalfEdgeData |
Definition at line 105 of file mesh_base.h.
HalfEdgeDataCloud
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HalfEdgeDataCloud = pcl::PointCloud<HalfEdgeData> |
Definition at line 131 of file mesh_base.h.
HalfEdgeIndex
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HalfEdgeIndex = pcl::geometry::HalfEdgeIndex |
Definition at line 137 of file mesh_base.h.
HalfEdgeIndices
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HalfEdgeIndices = std::vector<HalfEdgeIndex> |
Definition at line 142 of file mesh_base.h.
HalfEdgeIterator
|
protected |
Definition at line 1148 of file mesh_base.h.
HalfEdges
|
protected |
Definition at line 1144 of file mesh_base.h.
HasEdgeData
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HasEdgeData = std::integral_constant<bool, !std::is_same<EdgeData, pcl::geometry::NoData>::value> |
Definition at line 125 of file mesh_base.h.
HasFaceData
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HasFaceData = std::integral_constant<bool, !std::is_same<FaceData, pcl::geometry::NoData>::value> |
Definition at line 128 of file mesh_base.h.
HasHalfEdgeData
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HasHalfEdgeData = std::integral_constant<bool, !std::is_same<HalfEdgeData, pcl::geometry::NoData>::value> |
Definition at line 122 of file mesh_base.h.
HasVertexData
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::HasVertexData = std::integral_constant<bool, !std::is_same<VertexData, pcl::geometry::NoData>::value> |
Definition at line 119 of file mesh_base.h.
IncomingHalfEdgeAroundVertexCirculator
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::IncomingHalfEdgeAroundVertexCirculator = pcl::geometry::IncomingHalfEdgeAroundVertexCirculator<const Self> |
Definition at line 152 of file mesh_base.h.
InnerHalfEdgeAroundFaceCirculator
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::InnerHalfEdgeAroundFaceCirculator = pcl::geometry::InnerHalfEdgeAroundFaceCirculator<const Self> |
Definition at line 158 of file mesh_base.h.
IsManifold
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::IsManifold = typename MeshTraitsT::IsManifold |
Definition at line 108 of file mesh_base.h.
MeshTag
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::MeshTag = MeshTagT |
Definition at line 114 of file mesh_base.h.
OuterHalfEdgeAroundFaceCirculator
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::OuterHalfEdgeAroundFaceCirculator = pcl::geometry::OuterHalfEdgeAroundFaceCirculator<const Self> |
Definition at line 160 of file mesh_base.h.
OutgoingHalfEdgeAroundVertexCirculator
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::OutgoingHalfEdgeAroundVertexCirculator = pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator<const Self> |
Definition at line 150 of file mesh_base.h.
Ptr
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::Ptr = shared_ptr<Self> |
Definition at line 98 of file mesh_base.h.
Self
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::Self = MeshBase<DerivedT, MeshTraitsT, MeshTagT> |
Definition at line 97 of file mesh_base.h.
Vertex
|
protected |
Definition at line 1139 of file mesh_base.h.
VertexAroundFaceCirculator
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexAroundFaceCirculator = pcl::geometry::VertexAroundFaceCirculator<const Self> |
Definition at line 156 of file mesh_base.h.
VertexAroundVertexCirculator
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexAroundVertexCirculator = pcl::geometry::VertexAroundVertexCirculator<const Self> |
Definition at line 148 of file mesh_base.h.
VertexConstIterator
|
protected |
Definition at line 1151 of file mesh_base.h.
VertexData
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexData = typename MeshTraitsT::VertexData |
Definition at line 104 of file mesh_base.h.
VertexDataCloud
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexDataCloud = pcl::PointCloud<VertexData> |
Definition at line 130 of file mesh_base.h.
VertexIndex
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexIndex = pcl::geometry::VertexIndex |
Definition at line 136 of file mesh_base.h.
VertexIndices
using pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::VertexIndices = std::vector<VertexIndex> |
Definition at line 141 of file mesh_base.h.
VertexIterator
|
protected |
Definition at line 1147 of file mesh_base.h.
Vertices
|
protected |
Definition at line 1143 of file mesh_base.h.
Constructor & Destructor Documentation
MeshBase()
|
inline |
Constructor.
Definition at line 164 of file mesh_base.h.
Member Function Documentation
addData() [1/2]
|
inlineprotected |
Does nothing.
Definition at line 1556 of file mesh_base.h.
addData() [2/2]
|
inlineprotected |
Add mesh data.
Definition at line 1548 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addVertex(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectFace().
addEdge()
|
inlineprotected |
Add an edge between the two given vertices and connect them with the vertices.
- Parameters
-
[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.
- Returns
- Index to the half-edge from vertex a to vertex b.
Definition at line 1241 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase().
addFace()
|
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.
- Parameters
-
[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.
- Returns
- Index to the new face. Failure is signaled by returning an invalid face index.
- Warning
- The vertices must be valid and unique (each vertex may be contained only once). Not complying with this requirement results in undefined behavior!
Definition at line 202 of file mesh_base.h.
addFaceImplBase()
|
inlineprotected |
General implementation of addFace.
Definition at line 1157 of file mesh_base.h.
addVertex()
|
inline |
Add a vertex to the mesh.
- Parameters
-
[in] vertex_data Data that is stored in the vertex. This is only added if the mesh has data associated with the vertices.
- Returns
- Index to the new vertex.
Definition at line 182 of file mesh_base.h.
assignIf() [1/2]
|
inlineprotected |
Assign the source iterator to the target iterator.
Definition at line 1856 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::remove().
assignIf() [2/2]
|
inlineprotected |
Does nothing.
Definition at line 1866 of file mesh_base.h.
checkTopology1() [1/2]
|
inlineprotected |
Non manifold version of checkTopology1.
Definition at line 1290 of file mesh_base.h.
checkTopology1() [2/2]
|
inlineprotected |
Check if the edge between the two vertices can be added.
- Parameters
-
[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!
- Returns
- true if the half-edge may be added.
Definition at line 1269 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase().
checkTopology2() [1/2]
|
inlineprotected |
Check if the face may be added (mesh does not become non-manifold).
Definition at line 1322 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase().
checkTopology2() [2/2]
|
inlineprotected |
Check if the half-edge bc is the next half-edge of ab.
- Parameters
-
[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)
- Returns
- true if addFace may be continued.
Definition at line 1344 of file mesh_base.h.
cleanUp()
|
inline |
Removes all mesh elements and data that are marked as deleted.
- Note
- This removes all isolated vertices as well.
Definition at line 298 of file mesh_base.h.
clear()
|
inline |
Clear all mesh elements and data.
Definition at line 928 of file mesh_base.h.
clearData() [1/2]
|
inlineprotected |
Does nothing.
Definition at line 2054 of file mesh_base.h.
clearData() [2/2]
|
inlineprotected |
Clear the mesh data.
Definition at line 2046 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::clear().
connectFace()
|
inlineprotected |
Add a face to the mesh and connect it to the half-edges.
- Parameters
-
[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.
- Returns
- Index to the new face.
Definition at line 1414 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase().
connectNewNew() [1/2]
|
inlineprotected |
Both half-edges are new (non-manifold version).
Definition at line 1454 of file mesh_base.h.
connectNewNew() [2/2]
|
inlineprotected |
Both half-edges are new (manifold version).
Definition at line 1438 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewNew().
connectNewOld()
|
inlineprotected |
The first half-edge is new.
Definition at line 1478 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase().
connectOldNew()
|
inlineprotected |
The second half-edge is new.
Definition at line 1494 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase().
connectOldOld() [1/2]
|
inlineprotected |
Both half-edges are old (manifold version).
Definition at line 1510 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase().
connectOldOld() [2/2]
|
inlineprotected |
Both half-edges are old (non-manifold version).
Definition at line 1518 of file mesh_base.h.
connectPrevNext()
|
inlineprotected |
Connect the next and prev indices of the two half-edges with each other.
Definition at line 1430 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewOld(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectOldNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::makeAdjacent(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnect().
deleteEdge() [1/2]
|
inline |
Mark the given edge (both half-edges) and the associated faces as deleted.
- Note
- Call cleanUp () to finally delete all mesh-elements.
Definition at line 270 of file mesh_base.h.
deleteEdge() [2/2]
|
inline |
Mark the given half-edge, the opposite half-edge and the associated faces as deleted.
- Note
- Call cleanUp () to finally delete all mesh-elements.
Definition at line 247 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteEdge().
deleteFace() [1/3]
|
inline |
Mark the given face as deleted.
More faces are deleted if the manifold mesh would become non-manifold.
- Note
- Call cleanUp () to finally delete all mesh-elements.
Definition at line 284 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteVertex().
deleteFace() [2/3]
|
inlineprotected |
Non-manifold version of deleteFace.
Definition at line 1587 of file mesh_base.h.
deleteFace() [3/3]
|
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 1569 of file mesh_base.h.
deleteVertex()
|
inline |
Mark the given vertex and all connected half-edges and faces as deleted.
- Note
- Call cleanUp () to finally delete all mesh-elements.
Definition at line 218 of file mesh_base.h.
empty()
|
inline |
Check if the mesh is empty.
Definition at line 835 of file mesh_base.h.
emptyEdges()
|
inline |
Check if the edges are empty.
Definition at line 849 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::empty().
emptyFaces()
|
inline |
Check if the faces are empty.
Definition at line 856 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::empty().
emptyVertices()
|
inline |
Check if the vertices are empty.
Definition at line 842 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::empty().
getEdgeDataCloud() [1/2]
|
inline |
Get access to the stored edge data.
- Warning
- Please make sure to NOT add or remove elements from the cloud.
Definition at line 1018 of file mesh_base.h.
getEdgeDataCloud() [2/2]
|
inline |
Get the stored edge data.
Definition at line 1025 of file mesh_base.h.
getEdgeIndex()
|
inline |
Get the index associated to the given edge data.
Definition at line 1111 of file mesh_base.h.
getFace() [1/2]
|
inlineprotected |
Get the face for the given index.
Definition at line 2119 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getInnerHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::markDeleted(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setInnerHalfEdgeIndex().
getFace() [2/2]
|
inlineprotected |
Get the face for the given index.
Definition at line 2127 of file mesh_base.h.
getFaceAroundFaceCirculator() [1/2]
|
inline |
Definition at line 573 of file mesh_base.h.
getFaceAroundFaceCirculator() [2/2]
|
inline |
Definition at line 581 of file mesh_base.h.
getFaceAroundVertexCirculator() [1/2]
|
inline |
Definition at line 517 of file mesh_base.h.
getFaceAroundVertexCirculator() [2/2]
|
inline |
Definition at line 509 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteVertex().
getFaceDataCloud() [1/2]
|
inline |
Get access to the stored face data.
- Warning
- Please make sure to NOT add or remove elements from the cloud.
Definition at line 1052 of file mesh_base.h.
getFaceDataCloud() [2/2]
|
inline |
Get the stored face data.
Definition at line 1059 of file mesh_base.h.
getFaceIndex() [1/2]
|
inline |
Get the index associated to the given face data.
Definition at line 1123 of file mesh_base.h.
getFaceIndex() [2/2]
|
inline |
Get the face index to a given half-edge.
Definition at line 419 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOppositeFaceIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isBoundary(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isEqualTopology(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnectNBNB().
getHalfEdge() [1/2]
|
inlineprotected |
Get the half-edge for the given index.
Definition at line 2091 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getFaceIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getNextHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getPrevHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getTerminatingVertexIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::markDeleted(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setFaceIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setNextHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setPrevHalfEdgeIndex(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setTerminatingVertexIndex().
getHalfEdge() [2/2]
|
inlineprotected |
Get the half-edge for the given index.
Definition at line 2099 of file mesh_base.h.
getHalfEdgeDataCloud() [1/2]
|
inline |
Get access to the stored half-edge data.
- Warning
- Please make sure to NOT add or remove elements from the cloud.
Definition at line 983 of file mesh_base.h.
getHalfEdgeDataCloud() [2/2]
|
inline |
Get the stored half-edge data.
Definition at line 990 of file mesh_base.h.
getHalfEdgeIndex()
|
inline |
Get the index associated to the given half-edge data.
Definition at line 1098 of file mesh_base.h.
getIncomingHalfEdgeAroundVertexCirculator() [1/2]
|
inline |
Definition at line 500 of file mesh_base.h.
getIncomingHalfEdgeAroundVertexCirculator() [2/2]
|
inline |
Definition at line 492 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology2(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnectNBNB().
getIncomingHalfEdgeIndex()
|
inline |
Get the incoming half-edge index to a given vertex.
Definition at line 364 of file mesh_base.h.
getInnerHalfEdgeAroundFaceCirculator() [1/2]
|
inline |
Definition at line 541 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace().
getInnerHalfEdgeAroundFaceCirculator() [2/2]
|
inline |
Definition at line 549 of file mesh_base.h.
getInnerHalfEdgeIndex()
|
inline |
Get the inner half-edge index to a given face.
Definition at line 439 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOuterHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isDeleted(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isEqualTopology().
getNextHalfEdgeIndex()
|
inline |
Get the next half-edge index to a given half-edge.
Definition at line 403 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology2(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectOldNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isEqualTopology(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::makeAdjacent(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnect().
getOppositeFaceIndex()
|
inline |
Get the face index to a given half-edge.
Definition at line 427 of file mesh_base.h.
getOppositeHalfEdgeIndex()
|
inline |
Get the opposite half-edge index to a given half-edge.
Definition at line 393 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology2(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewOld(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectOldNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getIncomingHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOppositeFaceIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOriginatingVertexIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOuterHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isBoundary(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnect().
getOriginatingVertexIndex()
|
inline |
Get the originating vertex index to a given half-edge.
Definition at line 384 of file mesh_base.h.
getOuterHalfEdgeAroundFaceCirculator() [1/2]
|
inline |
Definition at line 557 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isBoundary().
getOuterHalfEdgeAroundFaceCirculator() [2/2]
|
inline |
Definition at line 565 of file mesh_base.h.
getOuterHalfEdgeIndex()
|
inline |
Get the outer half-edge inex to a given face.
Definition at line 447 of file mesh_base.h.
getOutgoingHalfEdgeAroundVertexCirculator() [1/2]
|
inline |
Definition at line 483 of file mesh_base.h.
getOutgoingHalfEdgeAroundVertexCirculator() [2/2]
|
inline |
Definition at line 475 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectOldOld(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isManifold().
getOutgoingHalfEdgeIndex()
|
inline |
Get the outgoing half-edge index to a given vertex.
Definition at line 356 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology1(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectOldOld(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getIncomingHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isBoundary(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isDeleted(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isEqualTopology(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isIsolated().
getPrevHalfEdgeIndex()
|
inline |
Get the previous half-edge index to a given half-edge.
Definition at line 411 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewOld(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isEqualTopology(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::makeAdjacent(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnect().
getTerminatingVertexIndex()
|
inline |
Get the terminating vertex index to a given half-edge.
Definition at line 376 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology1(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOriginatingVertexIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isDeleted(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isEqualTopology(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnect().
getVertex() [1/2]
|
inlineprotected |
Get the vertex for the given index.
Definition at line 2063 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOutgoingHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::markDeleted(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setOutgoingHalfEdgeIndex().
getVertex() [2/2]
|
inlineprotected |
Get the vertex for the given index.
Definition at line 2071 of file mesh_base.h.
getVertexAroundFaceCirculator() [1/2]
|
inline |
Definition at line 525 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isBoundary().
getVertexAroundFaceCirculator() [2/2]
|
inline |
Definition at line 533 of file mesh_base.h.
getVertexAroundVertexCirculator() [1/2]
|
inline |
Definition at line 467 of file mesh_base.h.
getVertexAroundVertexCirculator() [2/2]
|
inline |
Definition at line 459 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology1().
getVertexDataCloud() [1/2]
|
inline |
Get access to the stored vertex data.
- Warning
- Please make sure to NOT add or remove elements from the cloud.
Definition at line 948 of file mesh_base.h.
getVertexDataCloud() [2/2]
|
inline |
Get the stored vertex data.
Definition at line 955 of file mesh_base.h.
getVertexIndex()
|
inline |
Get the index associated to the given vertex data.
- Returns
- Invalid index if the mesh does not have associated vertex data.
Definition at line 1086 of file mesh_base.h.
incrementIf() [1/2]
|
inlineprotected |
Does nothing.
Definition at line 1850 of file mesh_base.h.
incrementIf() [2/2]
|
inlineprotected |
Increment the iterator.
Definition at line 1842 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::remove().
isBoundary() [1/7]
|
inline |
Check if the given edge lies on the boundary (any of the two half-edges lies on the boundary.
Definition at line 743 of file mesh_base.h.
isBoundary() [2/7]
|
inline |
Check if the given face lies on the boundary.
There are two versions of this method, selected by the template parameter.
- Template Parameters
-
CheckVerticesT Check if any vertex lies on the boundary (true) or check if any edge lies on the boundary (false).
Definition at line 759 of file mesh_base.h.
isBoundary() [3/7]
|
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 768 of file mesh_base.h.
isBoundary() [4/7]
|
inlineprotected |
Check if any edge of the face lies on the boundary.
Definition at line 1950 of file mesh_base.h.
isBoundary() [5/7]
|
inlineprotected |
Check if any vertex of the face lies on the boundary.
Definition at line 1934 of file mesh_base.h.
isBoundary() [6/7]
|
inline |
Check if the given half-edge lies on the bounddary.
Definition at line 734 of file mesh_base.h.
isBoundary() [7/7]
|
inline |
Check if the given vertex lies on the boundary.
Isolated vertices are considered to be on the boundary.
Definition at line 724 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology1(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology2(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectOldOld(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isBoundary(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isManifold(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnectNBNB().
isDeleted() [1/4]
|
inline |
Check if the given edge (any of the two half-edges) is marked as deleted.
Definition at line 690 of file mesh_base.h.
isDeleted() [2/4]
|
inline |
Check if the given face is marked as deleted.
Definition at line 699 of file mesh_base.h.
isDeleted() [3/4]
|
inline |
Check if the given half-edge is marked as deleted.
Definition at line 681 of file mesh_base.h.
isDeleted() [4/4]
|
inline |
Check if the given vertex is marked as deleted.
Definition at line 673 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteVertex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isDeleted(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::remove().
isEqualTopology()
|
inline |
Check if the other mesh has the same topology as this mesh.
Definition at line 593 of file mesh_base.h.
isIsolated()
|
inline |
Check if the given vertex is isolated (not connected to other elements).
Definition at line 711 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology1(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isBoundary(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isManifold().
isManifold() [1/6]
|
inline |
Check if the mesh is manifold.
Definition at line 790 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isManifold().
isManifold() [2/6]
|
inlineprotected |
Always manifold.
Definition at line 1967 of file mesh_base.h.
isManifold() [3/6]
|
inline |
Check if the given vertex is manifold.
Isolated vertices are manifold.
Definition at line 780 of file mesh_base.h.
isManifold() [4/6]
|
inlineprotected |
Check if the given vertex is manifold.
Definition at line 1974 of file mesh_base.h.
isManifold() [5/6]
|
inlineprotected |
Check if all vertices in the mesh are manifold.
Definition at line 1994 of file mesh_base.h.
isManifold() [6/6]
|
inlineprotected |
Always manifold.
Definition at line 1991 of file mesh_base.h.
isValid() [1/4]
|
inline |
Check if the given edge index is a valid index into the mesh.
Definition at line 655 of file mesh_base.h.
isValid() [2/4]
|
inline |
Check if the given face index is a valid index into the mesh.
Definition at line 662 of file mesh_base.h.
isValid() [3/4]
|
inline |
Check if the given half-edge index is a valid index into the mesh.
Definition at line 648 of file mesh_base.h.
isValid() [4/4]
|
inline |
Check if the given vertex index is a valid index into the mesh.
Definition at line 640 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteVertex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getFace(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getFaceAroundFaceCirculator(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getFaceAroundVertexCirculator(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getFaceIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getHalfEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getIncomingHalfEdgeAroundVertexCirculator(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getIncomingHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getInnerHalfEdgeAroundFaceCirculator(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getInnerHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getNextHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOppositeFaceIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOppositeHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOriginatingVertexIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOuterHalfEdgeAroundFaceCirculator(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOuterHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOutgoingHalfEdgeAroundVertexCirculator(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getOutgoingHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getPrevHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getTerminatingVertexIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getVertex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getVertexAroundFaceCirculator(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getVertexAroundVertexCirculator(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isBoundary(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isDeleted(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isIsolated(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isManifold(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::markDeleted(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setFace(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setFaceIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setHalfEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setInnerHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setNextHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setOutgoingHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setPrevHalfEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setTerminatingVertexIndex(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::setVertex().
makeAdjacent()
|
inlineprotected |
Make the half-edges bc the next half-edge of ab.
- Parameters
-
[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 1388 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addFaceImplBase().
markDeleted() [1/4]
|
inlineprotected |
Mark the given edge (both half-edges) as deleted.
Definition at line 1751 of file mesh_base.h.
markDeleted() [2/4]
|
inlineprotected |
Mark the given face as deleted.
Definition at line 1760 of file mesh_base.h.
markDeleted() [3/4]
|
inlineprotected |
Mark the given half-edge as deleted.
Definition at line 1743 of file mesh_base.h.
markDeleted() [4/4]
|
inlineprotected |
Mark the given vertex as deleted.
Definition at line 1735 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::markDeleted(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnect().
reconnect()
|
inlineprotected |
Deconnect the input half-edges from the mesh and adjust the indices of the connected half-edges.
Definition at line 1636 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace().
reconnectNBNB() [1/2]
|
inlineprotected |
Both edges are not on the boundary.
Non-manifold version.
Definition at line 1719 of file mesh_base.h.
reconnectNBNB() [2/2]
|
inlineprotected |
Both edges are not on the boundary.
Manifold version.
Definition at line 1683 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnect().
remove()
|
inlineprotected |
Removes mesh elements and data that are marked as deleted from the container.
- Template Parameters
-
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.
- Parameters
-
[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.
- Returns
- Container with the same size as the old input data. Holds the indices to the new elements for each non-deleted element and an invalid index if it is deleted.
Definition at line 1788 of file mesh_base.h.
reserveData() [1/2]
|
inlineprotected |
Does nothing.
Definition at line 2018 of file mesh_base.h.
reserveData() [2/2]
|
inlineprotected |
Reserve storage space for the mesh data.
Definition at line 2010 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reserveEdges(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reserveFaces(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reserveVertices().
reserveEdges()
|
inline |
Reserve storage space for n edges (2*n storage space is reserved for the half-edges).
Definition at line 876 of file mesh_base.h.
reserveFaces()
|
inline |
Reserve storage space for n faces.
Definition at line 885 of file mesh_base.h.
reserveVertices()
|
inline |
Reserve storage space n vertices.
Definition at line 867 of file mesh_base.h.
resizeData() [1/2]
|
inlineprotected |
Resize the mesh data.
Definition at line 2026 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::resizeEdges(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::resizeFaces(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::resizeVertices().
resizeData() [2/2]
|
inlineprotected |
Does nothing.
Definition at line 2037 of file mesh_base.h.
resizeEdges()
|
inline |
Resize the edges to n elements (half-edges will hold 2*n elements).
Definition at line 905 of file mesh_base.h.
resizeFaces()
|
inline |
Resize the faces to n elements.
Definition at line 916 of file mesh_base.h.
resizeVertices()
|
inline |
Resize the the vertices to n elements.
Definition at line 897 of file mesh_base.h.
setEdgeDataCloud()
|
inline |
Change the stored edge data.
- Parameters
-
[in] edge_data_cloud The new edge data. Must be the same as the current data.
- Returns
- true if the cloud could be set.
Definition at line 1035 of file mesh_base.h.
setFace()
|
inlineprotected |
Set the face at the given index.
Definition at line 2135 of file mesh_base.h.
setFaceDataCloud()
|
inline |
Change the stored face data.
- Parameters
-
[in] face_data_cloud The new face data. Must be the same as the current data.
- Returns
- true if the cloud could be set.
Definition at line 1069 of file mesh_base.h.
setFaceIndex()
|
inlineprotected |
Set the face index to a given half-edge.
Definition at line 1913 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectFace().
setHalfEdge()
|
inlineprotected |
Set the half-edge at the given index.
Definition at line 2107 of file mesh_base.h.
setHalfEdgeDataCloud()
|
inline |
Change the stored half-edge data.
- Parameters
-
[in] half_edge_data_cloud The new half-edge data. Must be the same as the current data.
- Returns
- true if the cloud could be set.
Definition at line 1001 of file mesh_base.h.
setInnerHalfEdgeIndex()
|
inlineprotected |
Set the inner half-edge index to a given face.
Definition at line 1921 of file mesh_base.h.
setNextHalfEdgeIndex()
|
inlineprotected |
Set the next half_edge index to a given half-edge.
Definition at line 1895 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectPrevNext().
setOutgoingHalfEdgeIndex()
|
inlineprotected |
Set the outgoing half-edge index to a given vertex.
Definition at line 1877 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectNewOld(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectOldNew(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectOldOld(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnect(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::reconnectNBNB().
setPrevHalfEdgeIndex()
|
inlineprotected |
Set the previous half-edge index to a given half-edge.
Definition at line 1904 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectPrevNext().
setTerminatingVertexIndex()
|
inlineprotected |
Set the terminating vertex index to a given half-edge.
Definition at line 1886 of file mesh_base.h.
setVertex()
|
inlineprotected |
Set the vertex at the given index.
Definition at line 2079 of file mesh_base.h.
setVertexDataCloud()
|
inline |
Change the stored vertex data.
- Parameters
-
[in] vertex_data_cloud The new vertex data. Must be the same as the current data.
- Returns
- true if the cloud could be set.
Definition at line 966 of file mesh_base.h.
sizeEdges()
|
inline |
Get the number of the edges.
Definition at line 816 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::cleanUp().
sizeFaces()
|
inline |
Get the number of the faces.
Definition at line 824 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::connectFace(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isEqualTopology().
sizeHalfEdges()
|
inline |
Get the number of the half-edges.
Definition at line 808 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isEqualTopology().
sizeVertices()
|
inline |
Get the number of the vertices.
Definition at line 801 of file mesh_base.h.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::addVertex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isEqualTopology(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isManifold().
Friends And Related Function Documentation
pcl::geometry::MeshIO
|
friend |
Definition at line 2192 of file mesh_base.h.
The documentation for this class was generated from the following file:
- pcl/geometry/mesh_base.h
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1geometry_1_1_mesh_base.html