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