mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-03-05 18:14:54 -07:00
Move many third-party components' source codes from the src folder to a new folder called deps_src. The goal is to make the code structure clearer and easier to navigate.
62 lines
1.5 KiB
C++
62 lines
1.5 KiB
C++
/****************************************************************************
|
|
**
|
|
** Copyright (c) 2008-2015 C.B. Barber. All rights reserved.
|
|
** $Id: //main/2015/qhull/src/libqhullcpp/QhullSet.cpp#3 $$Change: 2066 $
|
|
** $DateTime: 2016/01/18 19:29:17 $$Author: bbarber $
|
|
**
|
|
****************************************************************************/
|
|
|
|
#//! QhullSet -- Qhull's set structure, setT, as a C++ class
|
|
|
|
#include "libqhullcpp/QhullSet.h"
|
|
|
|
#include "libqhullcpp/Qhull.h"
|
|
#include "libqhullcpp/QhullError.h"
|
|
|
|
#ifdef _MSC_VER // Microsoft Visual C++ -- warning level 4
|
|
#endif
|
|
|
|
namespace orgQhull {
|
|
|
|
#//!\name Class objects
|
|
|
|
setT QhullSetBase::
|
|
s_empty_set;
|
|
|
|
#//!\name Constructors
|
|
|
|
QhullSetBase::
|
|
QhullSetBase(const Qhull &q, setT *s)
|
|
: qh_set(s ? s : &s_empty_set)
|
|
, qh_qh(q.qh())
|
|
{
|
|
}
|
|
|
|
#//!\name Class methods
|
|
|
|
// Same code for qh_setsize [qset_r.c] and QhullSetBase::count [static]
|
|
countT QhullSetBase::
|
|
count(const setT *set)
|
|
{
|
|
countT size;
|
|
const setelemT *sizep;
|
|
|
|
if (!set){
|
|
return(0);
|
|
}
|
|
sizep= SETsizeaddr_(set);
|
|
if ((size= sizep->i)) {
|
|
size--;
|
|
if (size > set->maxsize) {
|
|
// FIXUP QH11022 How to add additional output to a error? -- qh_setprint(qhmem.ferr, "set: ", set);
|
|
throw QhullError(10032, "QhullSet internal error: current set size %d is greater than maximum size %d\n",
|
|
size, set->maxsize);
|
|
}
|
|
}else{
|
|
size= set->maxsize;
|
|
}
|
|
return size;
|
|
}//count
|
|
|
|
}//namespace orgQhull
|
|
|