mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 22:50:21 +00:00
Remove 1:N clash functions
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user