OrcaSlicer/deps_src/qhull/src/libqhullcpp/QhullSet.cpp
SoftFever 883607e1d4
Refactor folder (#10475)
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.
2025-08-22 20:02:26 +08:00

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