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;
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);
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);
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);
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_);
632 #endif // PCL_GEOMETRY_MESH_INDICES_H
boost::totally_ordered< pcl::geometry::VertexIndex, boost::unit_steppable< pcl::geometry::VertexIndex, boost::additive< pcl::geometry::VertexIndex > > > Base
Index used to access elements in the half-edge mesh.
bool isValid() const
Returns true if the index is valid.
std::istream & operator>>(std::istream &is, pcl::geometry::VertexIndex &index)
istream operator.
void invalidate()
Invalidate the index.
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
void invalidate()
Invalidate the index.
pcl::geometry::VertexIndex Self
pcl::geometry::EdgeIndex toEdgeIndex(const HalfEdgeIndex &index)
Convert the given half-edge index to an edge index.
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
friend std::istream & operator>>(std::istream &is, pcl::geometry::FaceIndex &index)
istream operator.
bool isValid() const
Returns true if the index is valid.
void invalidate()
Invalidate the index.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
bool isValid() const
Returns true if the index is valid.
Index used to access elements in the half-edge mesh.
friend std::istream & operator>>(std::istream &is, pcl::geometry::VertexIndex &index)
istream operator.
int get() const
Get the index.
FaceIndex(const int index)
Constructor.
Index used to access elements in the half-edge mesh.
bool operator==(const Self &other) const
Comparison operators (with boost::operators): == !=.
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
Self & operator--()
Decrement operators (with boost::operators): -- (pre and post)
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
pcl::geometry::FaceIndex Self
EdgeIndex(const int index)
Constructor.
Self & operator--()
Decrement operators (with boost::operators): -- (pre and post)
friend std::istream & operator>>(std::istream &is, pcl::geometry::HalfEdgeIndex &index)
istream operator.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
pcl::geometry::HalfEdgeIndex toHalfEdgeIndex(const EdgeIndex &index, const bool get_first=true)
Convert the given edge index to a half-edge index.
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)
HalfEdgeIndex(const int index)
Constructor.
void set(const int index)
Set the index.
int get() const
Get the index.
VertexIndex()
Constructor.
int get() const
Get the index.
void set(const int index)
Set the index.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
friend std::istream & operator>>(std::istream &is, pcl::geometry::EdgeIndex &index)
istream operator.
Index used to access elements in the half-edge mesh.
bool operator==(const Self &other) const
Comparison operators (with boost::operators): == !=.
void set(const int index)
Set the index.
VertexIndex(const int index)
Constructor.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
void set(const int index)
Set the index.
pcl::geometry::HalfEdgeIndex Self
Self & operator--()
Decrement operators (with boost::operators): -- (pre and post)
bool isValid() const
Returns true if the index is valid.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
pcl::geometry::EdgeIndex Self
int get() const
Get the index.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
HalfEdgeIndex()
Constructor.
boost::totally_ordered< pcl::geometry::FaceIndex, boost::unit_steppable< pcl::geometry::FaceIndex, boost::additive< pcl::geometry::FaceIndex > > > Base
std::ostream & operator<<(std::ostream &os, const pcl::geometry::VertexIndex &index)
ostream operator.
void invalidate()
Invalidate the index.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
bool operator==(const Self &other) const
Comparison operators (with boost::operators): == !=.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.