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;
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 ();
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);
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 ();
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);
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 ();
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);
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 ();
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.
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)
boost::totally_ordered< pcl::geometry::HalfEdgeIndex, boost::unit_steppable< pcl::geometry::HalfEdgeIndex, boost::additive< pcl::geometry::HalfEdgeIndex > > > Base
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.
int get() const
Get the index.
pcl::geometry::EdgeIndex toEdgeIndex(const HalfEdgeIndex &index)
Convert the given half-edge index to an edge index.
FaceIndex(const int index)
Constructor.
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.
pcl::geometry::VertexIndex Self
bool isValid() const
Returns true if the index is valid.
Index used to access elements in the half-edge mesh.
pcl::geometry::HalfEdgeIndex Self
Index used to access elements in the half-edge mesh.
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
pcl::geometry::EdgeIndex Self
void invalidate()
Invalidate the index.
boost::totally_ordered< pcl::geometry::VertexIndex, boost::unit_steppable< pcl::geometry::VertexIndex, boost::additive< pcl::geometry::VertexIndex > > > Base
int get() const
Get the index.
HalfEdgeIndex()
Constructor.
Self & operator-=(const Self &other)
Subtraction operators (with boost::operators): - -=.
pcl::geometry::FaceIndex Self