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
71 boost::unit_steppable <pcl::geometry::VertexIndex,
72 boost::additive <pcl::geometry::VertexIndex> > >
Base;
73 typedef pcl::geometry::VertexIndex
Self;
121 return (this->
get () < other.
get ());
128 return (this->
get () == other.
get ());
151 index_ += other.
get ();
159 index_ -= other.
get ();
169 operator >> (std::istream& is, pcl::geometry::VertexIndex& index);
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
210 boost::unit_steppable <pcl::geometry::HalfEdgeIndex,
211 boost::additive <pcl::geometry::HalfEdgeIndex> > >
Base;
212 typedef pcl::geometry::HalfEdgeIndex
Self;
232 return (index_ >= 0);
260 return (this->
get () < other.
get ());
267 return (this->
get () == other.
get ());
290 index_ += other.
get ();
298 index_ -= other.
get ();
308 operator >> (std::istream& is, pcl::geometry::HalfEdgeIndex& index);
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
349 boost::unit_steppable <pcl::geometry::EdgeIndex,
350 boost::additive <pcl::geometry::EdgeIndex> > >
Base;
351 typedef pcl::geometry::EdgeIndex
Self;
371 return (index_ >= 0);
399 return (this->
get () < other.
get ());
406 return (this->
get () == other.
get ());
429 index_ += other.
get ();
437 index_ -= other.
get ();
447 operator >> (std::istream& is, pcl::geometry::EdgeIndex& index);
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
488 boost::unit_steppable <pcl::geometry::FaceIndex,
489 boost::additive <pcl::geometry::FaceIndex> > >
Base;
490 typedef pcl::geometry::FaceIndex
Self;
510 return (index_ >= 0);
538 return (this->
get () < other.
get ());
545 return (this->
get () == other.
get ());
568 index_ += other.
get ();
576 index_ -= other.
get ();
586 operator >> (std::istream& is, pcl::geometry::FaceIndex& index);
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): - -=.