本文整理汇总了C++中BBox::dimension方法的典型用法代码示例。如果您正苦于以下问题:C++ BBox::dimension方法的具体用法?C++ BBox::dimension怎么用?C++ BBox::dimension使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BBox
的用法示例。
在下文中一共展示了BBox::dimension方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BBoxIntersection
BBox BBoxIntersection(const BBox &b1, const BBox &b2) {
BBox newbox(b1.dimension());
ThrowAssert(b1.dimension() == b2.dimension());
for (UInt i = 0; i < b1.dimension(); i++) {
newbox.setMin(i, std::max(b1.getMin()[i], b2.getMin()[i]));
newbox.setMax(i, std::min(b1.getMax()[i], b2.getMax()[i]));
}
newbox.checkEmpty();
return newbox;
}
示例2: BBoxIntersect
bool BBoxIntersect(const BBox &b1, const BBox &b2, double tol) {
double newmin;
double newmax;
ThrowAssert(b1.dimension() == b2.dimension());
for (UInt i = 0; i < b1.dimension(); i++) {
newmin = std::max(b1.getMin()[i], b2.getMin()[i]);
newmax = std::min(b1.getMax()[i], b2.getMax()[i]);
if (newmin > (newmax+tol)) {
//std::cout << "fail, dim=" << i << " newmin=" << newmin << ", newmax=" << newmax << std::endl;
return false;
}
}
return true;
}
示例3: BBoxParUnion
BBox BBoxParUnion(const BBox &b1) {
double val, valres;
BBox newbox(b1.dimension());
for (UInt i = 0; i < b1.dimension(); i++) {
// Find max
val = b1.getMax()[i];
MPI_Allreduce(&val, &valres, 1, MPI_DOUBLE, MPI_MAX, Par::Comm());
newbox.setMax(i, valres);
val = b1.getMin()[i];
MPI_Allreduce(&val, &valres, 1, MPI_DOUBLE, MPI_MIN, Par::Comm());
newbox.setMin(i, valres);
}
newbox.checkEmpty();
return newbox;
}
示例4: BBoxPointIn
bool BBoxPointIn(const BBox &b, double point[], double tol) {
for (UInt i = 0; i < b.dimension(); i++) {
if (point[i] < b.getMin()[i] - tol || point[i] > b.getMax()[i] + tol) return false;
}
return true;
}