43 #ifndef PCL_GEOMETRY_MESH_INDICES_H 44 #define PCL_GEOMETRY_MESH_INDICES_H 48 #include <pcl/geometry/boost.h> 63 : boost::totally_ordered <pcl::geometry::VertexIndex
64 , boost::unit_steppable <pcl::geometry::VertexIndex
65 , boost::additive <pcl::geometry::VertexIndex
72 boost::additive <pcl::geometry::VertexIndex> > >
Base;
112 set (
const int index)
121 return (this->
get () < other.
get ());
128 return (this->
get () == other.
get ());
151 index_ += other.
get ();
159 index_ -= other.
get ();
176 return (os << index.
get ());
183 return (is >> index.index_);
202 : boost::totally_ordered <pcl::geometry::HalfEdgeIndex
203 , boost::unit_steppable <pcl::geometry::HalfEdgeIndex
204 , boost::additive <pcl::geometry::HalfEdgeIndex
211 boost::additive <pcl::geometry::HalfEdgeIndex> > >
Base;
232 return (index_ >= 0);
251 set (
const int index)
260 return (this->
get () < other.
get ());
267 return (this->
get () == other.
get ());
290 index_ += other.
get ();
298 index_ -= other.
get ();
315 return (os << index.
get ());
322 return (is >> index.index_);
341 : boost::totally_ordered <pcl::geometry::EdgeIndex
342 , boost::unit_steppable <pcl::geometry::EdgeIndex
343 , boost::additive <pcl::geometry::EdgeIndex
350 boost::additive <pcl::geometry::EdgeIndex> > >
Base;
371 return (index_ >= 0);
390 set (
const int index)
399 return (this->
get () < other.
get ());
406 return (this->
get () == other.
get ());
429 index_ += other.
get ();
437 index_ -= other.
get ();
454 return (os << index.
get ());
461 return (is >> index.index_);
480 : boost::totally_ordered <pcl::geometry::FaceIndex
481 , boost::unit_steppable <pcl::geometry::FaceIndex
482 , boost::additive <pcl::geometry::FaceIndex
489 boost::additive <pcl::geometry::FaceIndex> > >
Base;
510 return (index_ >= 0);
529 set (
const int index)
538 return (this->
get () < other.
get ());
545 return (this->
get () == other.
get ());
568 index_ += other.
get ();
576 index_ -= other.
get ();
593 return (os << index.
get ());
600 return (is >> index.index_);
633 #endif // PCL_GEOMETRY_MESH_INDICES_H HalfEdgeIndex(const int index)
Constructor.
VertexIndex(const int index)
Constructor.
bool operator==(const Self &other) const
Comparison operators (with boost::operators): == !=.
bool operator==(const Self &other) const
Comparison operators (with boost::operators): == !=.
friend std::istream & operator>>(std::istream &is, pcl::geometry::VertexIndex &index)
istream operator.
void invalidate()
Invalidate the index.
EdgeIndex(const int index)
Constructor.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
boost::totally_ordered< pcl::geometry::HalfEdgeIndex, boost::unit_steppable< pcl::geometry::HalfEdgeIndex, boost::additive< pcl::geometry::HalfEdgeIndex > > > Base
Self & operator--()
Decrement operators (with boost::operators): -- (pre and post)
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
bool operator==(const Self &other) const
Comparison operators (with boost::operators): == !=.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
std::ostream & operator<<(std::ostream &os, const pcl::geometry::VertexIndex &index)
ostream operator.
int get() const
Get the index.
pcl::geometry::EdgeIndex toEdgeIndex(const HalfEdgeIndex &index)
Convert the given half-edge index to an edge index.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
bool isValid() const
Returns true if the index is valid.
FaceIndex(const int index)
Constructor.
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
bool isValid() const
Returns true if the index is valid.
Index used to access elements in the half-edge mesh.
bool operator==(const Self &other) const
Comparison operators (with boost::operators): == !=.
boost::totally_ordered< pcl::geometry::EdgeIndex, boost::unit_steppable< pcl::geometry::EdgeIndex, boost::additive< pcl::geometry::EdgeIndex > > > Base
void invalidate()
Invalidate the index.
pcl::geometry::HalfEdgeIndex toHalfEdgeIndex(const EdgeIndex &index, const bool get_first=true)
Convert the given edge index to a half-edge index.
Self & operator--()
Decrement operators (with boost::operators): -- (pre and post)
void invalidate()
Invalidate the index.
int get() const
Get the index.
pcl::geometry::VertexIndex Self
Index used to access elements in the half-edge mesh.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
pcl::geometry::HalfEdgeIndex Self
Index used to access elements in the half-edge mesh.
friend std::istream & operator>>(std::istream &is, pcl::geometry::FaceIndex &index)
istream operator.
VertexIndex()
Constructor.
Index used to access elements in the half-edge mesh.
boost::totally_ordered< pcl::geometry::FaceIndex, boost::unit_steppable< pcl::geometry::FaceIndex, boost::additive< pcl::geometry::FaceIndex > > > Base
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
pcl::geometry::EdgeIndex Self
void invalidate()
Invalidate the index.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
boost::totally_ordered< pcl::geometry::VertexIndex, boost::unit_steppable< pcl::geometry::VertexIndex, boost::additive< pcl::geometry::VertexIndex > > > Base
Self & operator--()
Decrement operators (with boost::operators): -- (pre and post)
friend std::istream & operator>>(std::istream &is, pcl::geometry::EdgeIndex &index)
istream operator.
Self & operator--()
Decrement operators (with boost::operators): -- (pre and post)
int get() const
Get the index.
int get() const
Get the index.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
HalfEdgeIndex()
Constructor.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
std::istream & operator>>(std::istream &is, pcl::geometry::VertexIndex &index)
istream operator.
friend std::istream & operator>>(std::istream &is, pcl::geometry::HalfEdgeIndex &index)
istream operator.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
bool isValid() const
Returns true if the index is valid.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
pcl::geometry::FaceIndex Self
bool isValid() const
Returns true if the index is valid.