third-parties
qhull
src
libqhullcpp
QhullPointSet.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (c) 2009-2015 C.B. Barber. All rights reserved.
4
** $Id: //main/2015/qhull/src/libqhullcpp/QhullPointSet.h#3 $$Change: 2066 $
5
** $DateTime: 2016/01/18 19:29:17 $$Author: bbarber $
6
**
7
****************************************************************************/
8
9
#ifndef QHULLPOINTSET_H
10
#define QHULLPOINTSET_H
11
12
extern
"C"
{
13
#include "
libqhull_r/qhull_ra.h
"
14
}
15
#include "
libqhullcpp/QhullSet.h
"
16
#include "
libqhullcpp/QhullPoint.h
"
17
18
#include <ostream>
19
20
namespace
orgQhull
{
21
22
#
23
class Qhull;
24
class
QhullPoint;
25
26
#
27
// with const_iterator and iterator
29
class
QhullPointSet;
30
31
class
QhullPointSet :
public
QhullSet<QhullPoint> {
32
33
private
:
34
#
35
// no fields
36
public
:
37
38
#
39
QhullPointSet(const Qhull &q, setT *s) : QhullSet<QhullPoint>(q, s) {}
40
//Conversion from setT* is not type-safe. Implicit conversion for void* to T
41
QhullPointSet
(
QhullQh
*qqh,
setT
*s) :
QhullSet
<
QhullPoint
>(qqh, s) {}
42
//Copy constructor copies pointer but not contents. Needed for return by value and parameter passing.
43
QhullPointSet
(
const
QhullPointSet
&other) :
QhullSet
<
QhullPoint
>(other) {}
45
QhullPointSet
&
operator=
(
const
QhullPointSet
&other) {
QhullSet<QhullPoint>::operator=
(other);
return
*
this
; }
46
~QhullPointSet
() {}
47
49
private
:
50
QhullPointSet
();
51
public
:
52
53
#
54
struct PrintIdentifiers{
55
const
QhullPointSet
*point_set;
56
const
char
* print_message;
57
PrintIdentifiers
(
const
char
*message,
const
QhullPointSet
*s) : point_set(s), print_message(message) {}
58
};
//PrintIdentifiers
59
PrintIdentifiers printIdentifiers(
const
char
*message)
const
{
return
PrintIdentifiers(message,
this
); }
60
61
struct
PrintPointSet
{
62
const
QhullPointSet
*point_set;
63
const
char
* print_message;
64
PrintPointSet
(
const
char
*message,
const
QhullPointSet
&s) : point_set(&s), print_message(message) {}
65
};
//PrintPointSet
66
PrintPointSet
print
(
const
char
*message)
const
{
return
PrintPointSet(message, *
this
); }
67
68
};
//QhullPointSet
69
70
typedef
QhullSetIterator<QhullPoint>
QhullPointSetIterator
;
71
72
}
//namespace orgQhull
73
74
#
75
76
std::ostream &
operator<<
(std::ostream &os,
const
orgQhull::QhullPointSet::PrintIdentifiers
&pr);
77
std::ostream &
operator<<
(std::ostream &os,
const
orgQhull::QhullPointSet::PrintPointSet
&pr);
78
79
#endif // QHULLPOINTSET_H
orgQhull::QhullPointSetIterator
QhullSetIterator< QhullPoint > QhullPointSetIterator
Definition:
QhullPointSet.h:76
print
void print(const Eigen::SparseMatrix< Scalar, Options > &mat)
orgQhull
QhullRidge – Qhull's ridge structure, ridgeT, as a C++ class.
Definition:
Coordinates.cpp:21
orgQhull::QhullPoint
Definition:
QhullPoint.h:39
orgQhull::QhullPointSet
Definition:
QhullPointSet.h:37
orgQhull::QhullPointSet::QhullPointSet
QhullPointSet()
Default constructor disabled.
QhullSet.h
operator<<
std::ostream & operator<<(std::ostream &os, const orgQhull::QhullPointSet::PrintIdentifiers &pr)
orgQhull::QhullSetIterator
Faster then interator/const_iterator due to T::base_type.
Definition:
QhullSet.h:289
setT
Definition:
qset.h:83
orgQhull::QhullSet
Definition:
QhullSet.h:105
orgQhull::QhullQh
POD type equivalent to qhT. No virtual members.
Definition:
QhullQh.h:58
qhull_ra.h
orgQhull::QhullPointSet::PrintIdentifiers
Definition:
QhullPointSet.h:60
QhullPoint.h
orgQhull::QhullPointSet::PrintPointSet
Definition:
QhullPointSet.h:67
orgQhull::QhullPointSet::~QhullPointSet
~QhullPointSet()
Definition:
QhullPointSet.h:52
orgQhull::QhullSet::operator=
QhullSet< T > & operator=(const QhullSet< T > &other)
Definition:
QhullSet.h:126
orgQhull::QhullPointSet::operator=
QhullPointSet & operator=(const QhullPointSet &other)
Assignment copies pointers but not contents.
Definition:
QhullPointSet.h:51
hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:44:59