182 const bool *maskDim) const {
183 if (outDimensions == 0)
184 throw
std::invalid_argument(
"MDBoxBase::getVertexesArray(): Must have > 0 output dimensions.");
187 numVertices = (size_t)1 << outDimensions;
190 auto out = std::make_unique<coord_t[]>(outDimensions * numVertices);
193 for (
size_t i = 0; i < numVertices; ++i) {
195 size_t outIndex = i * outDimensions;
201 for (
size_t ind = 0; ind < nd; ind++) {
205 size_t mask = (size_t)1 << outd;
206 if ((i & mask) > 0) {
208 out[outIndex + outd] = extents[ind].getMax();
211 out[outIndex + outd] = extents[ind].getMin();