Remove 1:N clash functions

This commit is contained in:
Dion Moult
2024-02-12 11:57:23 +11:00
parent 911b7153d7
commit a5cf4cd421
3 changed files with 0 additions and 130 deletions
-79
View File
@@ -1412,85 +1412,6 @@ namespace IfcGeom {
return results;
}
std::vector<T> clash_intersection(const T& t, double tolerance = 0.002, bool check_all = true) const {
std::vector<T> ts = select_box(t, true, 1e-5);
if (ts.empty()) {
return ts;
}
std::vector<T> ts_filtered;
ts_filtered.reserve(ts.size());
typename std::vector<T>::const_iterator it = ts.begin();
for (it = ts.begin(); it != ts.end(); ++it) {
if (t == *it) {
continue; // Don't clash against itself.
}
if (is_manifold_.find(*it)->second) {
if (test_intersection(t, *it, tolerance, check_all).clash_type != -1) {
ts_filtered.push_back(*it);
}
} else {
if (test_collision(t, *it, false).clash_type != -1) {
ts_filtered.push_back(*it);
}
}
}
std::cout << "Tri count " << tri_count_ << std::endl;
return ts_filtered;
}
std::vector<T> clash_collision(const T& t, bool allow_touching = false) const {
std::vector<T> ts = select_box(t, true, 1e-5);
if (ts.empty()) {
return ts;
}
std::vector<T> ts_filtered;
ts_filtered.reserve(ts.size());
typename std::vector<T>::const_iterator it = ts.begin();
for (it = ts.begin(); it != ts.end(); ++it) {
if (t == *it) {
continue; // Don't clash against itself.
}
if (test_collision(t, *it, allow_touching).clash_type != -1) {
ts_filtered.push_back(*it);
}
}
std::cout << "Tri count " << tri_count_ << std::endl;
return ts_filtered;
}
std::vector<T> clash_clearance(const T& t, double clearance, bool check_all) const {
std::vector<T> ts = select_box(t, true, clearance);
if (ts.empty()) {
return ts;
}
std::vector<T> ts_filtered;
ts_filtered.reserve(ts.size());
typename std::vector<T>::const_iterator it = ts.begin();
for (it = ts.begin(); it != ts.end(); ++it) {
if (t == *it) {
continue; // Don't clash against itself.
}
if (test_clearance(t, *it, clearance, check_all).clash_type != -1) {
ts_filtered.push_back(*it);
}
}
std::cout << "Tri count " << tri_count_ << std::endl;
return ts_filtered;
}
std::vector<T> select(const T& t, bool completely_within = false, double extend = 0.0) const {
distances_.clear();
protrusion_distances_.clear();