Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/qhull/src/libqhullcpp/RboxPoints.h')
-rw-r--r--src/qhull/src/libqhullcpp/RboxPoints.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/qhull/src/libqhullcpp/RboxPoints.h b/src/qhull/src/libqhullcpp/RboxPoints.h
new file mode 100644
index 000000000..e8ec72b14
--- /dev/null
+++ b/src/qhull/src/libqhullcpp/RboxPoints.h
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (c) 2008-2015 C.B. Barber. All rights reserved.
+** $Id: //main/2015/qhull/src/libqhullcpp/RboxPoints.h#4 $$Change: 2079 $
+** $DateTime: 2016/02/07 17:43:34 $$Author: bbarber $
+**
+****************************************************************************/
+
+#ifndef RBOXPOINTS_H
+#define RBOXPOINTS_H
+
+#include "libqhull_r/qhull_ra.h"
+#include "libqhullcpp/QhullPoint.h"
+#include "libqhullcpp/PointCoordinates.h"
+
+#include <stdarg.h>
+#include <string>
+#include <vector>
+#include <istream>
+#include <ostream>
+#include <sstream>
+
+namespace orgQhull {
+
+#//!\name Defined here
+ //! RboxPoints -- generate random PointCoordinates for Qhull
+ class RboxPoints;
+
+class RboxPoints : public PointCoordinates {
+
+private:
+#//!\name Fields and friends
+ //! PointCoordinates.qh() is owned by RboxPoints
+ countT rbox_new_count; //! Number of points for PointCoordinates
+ int rbox_status; //! error status from rboxpoints. qh_ERRnone if none.
+ std::string rbox_message; //! stderr from rboxpoints
+
+ // '::' is required for friend references
+ friend void ::qh_fprintf_rbox(qhT *qh, FILE *fp, int msgcode, const char *fmt, ... );
+
+public:
+#//!\name Construct
+ RboxPoints();
+ explicit RboxPoints(const char *rboxCommand);
+ ~RboxPoints();
+private: // Disable copy constructor and assignment. RboxPoints owns QhullQh.
+ RboxPoints(const RboxPoints &);
+ RboxPoints &operator=(const RboxPoints &);
+private:
+ void allocateQhullQh();
+
+public:
+#//!\name GetSet
+ void clearRboxMessage();
+ countT newCount() const { return rbox_new_count; }
+ std::string rboxMessage() const;
+ int rboxStatus() const;
+ bool hasRboxMessage() const;
+ void setNewCount(countT pointCount) { QHULL_ASSERT(pointCount>=0); rbox_new_count= pointCount; }
+
+#//!\name Modify
+ void appendPoints(const char* rboxCommand);
+ using PointCoordinates::appendPoints;
+ void reservePoints() { reserveCoordinates((count()+newCount())*dimension()); }
+};//class RboxPoints
+
+}//namespace orgQhull
+
+#endif // RBOXPOINTS_H