summaryrefslogtreecommitdiff
path: root/src/Hill.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hill.cxx')
-rw-r--r--src/Hill.cxx27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/Hill.cxx b/src/Hill.cxx
index d5ce1f6..0504eeb 100644
--- a/src/Hill.cxx
+++ b/src/Hill.cxx
@@ -40,7 +40,7 @@ Hill::Hill(const Hill& h) {
flags = h.flags;
}
-Hill::Hill(int x_tmp, int y_tmp) {
+Hill::Hill(double x_tmp, double y_tmp) {
name = NULL;
phi = 0.0;
lam = 0.0;
@@ -269,6 +269,27 @@ Hills::clear() {
num = 0;
}
+int
+Hills::contains(const Hill *m) const {
+ for(int i=0; i<get_num();i++) {
+ if (get(i) == m) {
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+void
+Hills::remove(const Hill *h) {
+ for(int i=0; i<get_num();i++) {
+ if (get(i) == h) {
+ memmove(&m[i], &m[i+1], (get_num() - i - 1) * sizeof(Hill*));
+ num--;
+ }
+ }
+}
+
void
Hills::clobber() {
int i;
@@ -283,12 +304,12 @@ Hills::clobber() {
}
int
-Hills::get_num() {
+Hills::get_num() const {
return num;
}
Hill *
-Hills::get(int n) {
+Hills::get(int n) const {
if (n < 0 || n >= num) {
return NULL;
} else {