summaryrefslogtreecommitdiffhomepage
path: root/Magic2/UVMapView.cpp
diff options
context:
space:
mode:
authorFWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544>2012-05-28 16:44:39 +0000
committerFWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544>2012-05-28 16:44:39 +0000
commit56a3380b46f406ffaf093405ac2db4515b0a4f80 (patch)
treee9e4c5553343f27e41d862c49b21fd69bf5161b9 /Magic2/UVMapView.cpp
parent41b40af36198fb013a2034a1954bbc4df50fea8b (diff)
downloadstarshatter-56a3380b46f406ffaf093405ac2db4515b0a4f80.zip
starshatter-56a3380b46f406ffaf093405ac2db4515b0a4f80.tar.gz
starshatter-56a3380b46f406ffaf093405ac2db4515b0a4f80.tar.bz2
Removes the ArrayList classes, and replaces all instances with std::vector implementations.
Diffstat (limited to 'Magic2/UVMapView.cpp')
-rw-r--r--Magic2/UVMapView.cpp59
1 files changed, 46 insertions, 13 deletions
diff --git a/Magic2/UVMapView.cpp b/Magic2/UVMapView.cpp
index 305782b..9e5ac98 100644
--- a/Magic2/UVMapView.cpp
+++ b/Magic2/UVMapView.cpp
@@ -182,8 +182,8 @@ UVMapView::DragBy(double dx, double dy)
float du = (float) (dx/w);
float dv = (float) (dy/h);
- for (int i = 0; i < selverts.size(); i++) {
- DWORD value = selverts[i];
+ for (auto svi = selverts.begin(); svi != selverts.end(); ++svi) {
+ DWORD value = *svi;
DWORD p = value >> 16;
DWORD n = value & 0xffff;
@@ -266,10 +266,21 @@ UVMapView::End()
DWORD value = (p_index << 16) | i;
if (select_mode == SELECT_REMOVE) {
- selverts.remove(value);
+ for (auto svi = selverts.begin(); svi != selverts.end(); ++svi) {
+ if (*svi == value) {
+ selverts.erase(svi);
+ }
+ }
}
- else if (!selverts.contains(value)) {
- selverts.append(value);
+ else {
+ bool contains = false;
+ for (auto svi = selverts.begin(); svi != selverts.end(); ++svi) {
+ if (*svi == value) {
+ contains = true;
+ }
+ }
+ if (!contains)
+ selverts.push_back(value);
}
}
}
@@ -302,10 +313,19 @@ UVMapView::End()
DWORD value = (p_index << 16) | i;
if (select_mode == SELECT_REMOVE) {
- selverts.remove(value);
+ for (auto svi = selverts.begin(); svi != selverts.end(); ++svi) {
+ if (*svi == value)
+ selverts.erase(svi);
+ }
}
- else if (!selverts.contains(value)) {
- selverts.append(value);
+ else {
+ bool contains = false;
+ for (auto svi = selverts.begin(); svi != selverts.end(); ++svi) {
+ if (*svi == value)
+ contains = true;
+ }
+ if (!contains)
+ selverts.push_back(value);
}
}
}
@@ -332,7 +352,7 @@ UVMapView::SelectAll()
for (int i = 0; i < p->nverts; i++) {
WORD p_index = iter.index();
DWORD value = (p_index << 16) | i;
- selverts.append(value);
+ selverts.push_back(value);
}
}
}
@@ -357,10 +377,17 @@ UVMapView::SelectInverse()
WORD p_index = iter.index();
DWORD value = (p_index << 16) | i;
- if (selverts.contains(value))
- selverts.remove(value);
+ bool contains = false;
+ auto svi = selverts.begin();
+ for (; svi != selverts.end(); ++svi) {
+ if (*svi == value) contains = true;
+ break;
+ }
+
+ if (contains)
+ selverts.erase(svi);
else
- selverts.append(value);
+ selverts.push_back(value);
}
}
}
@@ -371,7 +398,13 @@ UVMapView::IsSelected(Poly* poly, WORD v)
WORD p = polys.index(poly);
DWORD value = (p << 16) | v;
- return selverts.contains(value);
+ bool contains = false;
+
+ for (auto svi = selverts.begin(); svi != selverts.end(); ++svi) {
+ return true;
+ }
+
+ return false;
}
bool