43 #include <pcl/memory.h>
44 #include <pcl/pcl_macros.h>
45 #include <pcl/geometry/mesh_base.h>
59 template <
class MeshTraitsT>
67 using Ptr = shared_ptr<Self>;
138 add_quad_ [0] = idx_v_0;
139 add_quad_ [1] = idx_v_1;
140 add_quad_ [2] = idx_v_2;
141 add_quad_ [3] = idx_v_3;
143 return (this->addFaceImplBase (add_quad_, face_data, edge_data, half_edge_data));
153 addFaceImpl (const VertexIndices& vertices,
154 const FaceData& face_data,
155 const EdgeData& edge_data,
156 const HalfEdgeData& half_edge_data)
158 if (vertices.size () == 4)
159 return (this->addFaceImplBase (vertices, face_data, edge_data, half_edge_data));
typename Base::OutgoingHalfEdgeAroundVertexCirculator OutgoingHalfEdgeAroundVertexCirculator
typename Base::VertexIndex VertexIndex
typename Base::HalfEdgeIndices HalfEdgeIndices
typename Base::IsManifold IsManifold
typename Base::InnerHalfEdgeAroundFaceCirculator InnerHalfEdgeAroundFaceCirculator
typename MeshTraitsT::VertexData VertexData
typename Base::MeshTag MeshTag
typename Base::EdgeIndices EdgeIndices
typename MeshTraitsT::IsManifold IsManifold
typename Base::VertexIndices VertexIndices
typename Base::HasVertexData HasVertexData
typename Base::OuterHalfEdgeAroundFaceCirculator OuterHalfEdgeAroundFaceCirculator
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
typename Base::FaceAroundFaceCirculator FaceAroundFaceCirculator
Tag describing the type of the mesh.
FaceIndex addFace(const VertexIndex &idx_v_0, const VertexIndex &idx_v_1, const VertexIndex &idx_v_2, const VertexIndex &idx_v_3, const FaceData &face_data=FaceData(), const EdgeData &edge_data=EdgeData(), const HalfEdgeData &half_edge_data=HalfEdgeData())
Add a quad to the mesh.
typename MeshTraitsT::HalfEdgeData HalfEdgeData
typename Base::HalfEdgeIndex HalfEdgeIndex
typename MeshTraitsT::FaceData FaceData
Half-edge mesh that can only store quads.
shared_ptr< const Self > ConstPtr
typename Base::VertexDataCloud VertexDataCloud
typename Base::IncomingHalfEdgeAroundVertexCirculator IncomingHalfEdgeAroundVertexCirculator
typename Base::FaceAroundVertexCirculator FaceAroundVertexCirculator
typename Base::FaceDataCloud FaceDataCloud
Index used to access elements in the half-edge mesh.
typename Base::VertexAroundVertexCirculator VertexAroundVertexCirculator
typename Base::FaceData FaceData
typename Base::HalfEdgeData HalfEdgeData
typename Base::VertexAroundFaceCirculator VertexAroundFaceCirculator
typename Base::VertexData VertexData
typename Base::HasEdgeData HasEdgeData
typename Base::EdgeData EdgeData
typename MeshTraitsT::EdgeData EdgeData
typename Base::HasFaceData HasFaceData
typename Base::HalfEdgeDataCloud HalfEdgeDataCloud
typename Base::EdgeIndex EdgeIndex
Base class for the half-edge mesh.
typename Base::HasHalfEdgeData HasHalfEdgeData
typename Base::FaceIndex FaceIndex
typename Base::FaceIndices FaceIndices
typename Base::EdgeDataCloud EdgeDataCloud