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_);
633 #endif // PCL_GEOMETRY_MESH_INDICES_H
HalfEdgeIndex(const int index)
Constructor.
VertexIndex(const int index)
Constructor.
void set(const int index)
Set the index.
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
int get() const
Get the index.
friend std::istream & operator>>(std::istream &is, pcl::geometry::VertexIndex &index)
istream operator.
void invalidate()
Invalidate the index.
EdgeIndex(const int index)
Constructor.
bool isValid() const
Returns true if the index is valid.
bool isValid() const
Returns true if the index is valid.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
This file defines compatibility wrappers for low level I/O functions.
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 isValid() const
Returns true if the index is valid.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
std::ostream & operator<<(std::ostream &os, const pcl::geometry::VertexIndex &index)
ostream operator.
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
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): + +=.
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): < > <= >=.
int get() const
Get the index.
bool operator==(const Self &other) const
Comparison operators (with boost::operators): == !=.
Index used to access elements in the half-edge mesh.
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.
void set(const int index)
Set the index.
pcl::geometry::VertexIndex Self
bool isValid() const
Returns true if the index is valid.
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): == !=.
void set(const int index)
Set the index.
pcl::geometry::EdgeIndex Self
void set(const int index)
Set the index.
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.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
bool operator==(const Self &other) const
Comparison operators (with boost::operators): == !=.
HalfEdgeIndex()
Constructor.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
Self & operator-=(const Self &other)
Subtraction 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.
bool operator<(const Self &other) const
Comparison operators (with boost::operators): < > <= >=.
Self & operator+=(const Self &other)
Addition operators (with boost::operators): + +=.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
Self & operator++()
Increment operators (with boost::operators): ++ (pre and post)
pcl::geometry::FaceIndex Self