summaryrefslogtreecommitdiff
path: root/src/Hill.cxx
diff options
context:
space:
mode:
authorJohannes Hofmann <johannes.hofmann@gmx.de>2005-04-13 16:07:16 +0000
committerJohannes Hofmann <johannes.hofmann@gmx.de>2005-04-13 16:07:16 +0000
commit9002a841a37a4dc4acd1c55e56a5e778156a5622 (patch)
treec62b5e2f429809db43ed26d2d1bab30c1d540496 /src/Hill.cxx
parent42f03528da65b939579b25cbb8618d190b96dd9c (diff)
initial version
initial version
Diffstat (limited to 'src/Hill.cxx')
-rw-r--r--src/Hill.cxx79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/Hill.cxx b/src/Hill.cxx
new file mode 100644
index 0000000..18cc353
--- /dev/null
+++ b/src/Hill.cxx
@@ -0,0 +1,79 @@
+//
+// "$Id: Hill.cxx,v 1.1 2005/04/13 18:07:16 hofmann Exp $"
+//
+// PSEditWidget routines.
+//
+// Copyright 2004 by Johannes Hofmann
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "Mountain.H"
+
+Mountain::Mountain(const char *n, double p, double l, double h) {
+ name = strdup(n);
+ phi = p;
+ lam = l;
+ height = h;
+ next = NULL;
+ next_visible = NULL;
+}
+
+Mountain::~Mountain() {
+ if (next) {
+ delete(next);
+ }
+
+ if (name) {
+ free(name);
+ }
+}
+
+void
+Mountain::append(Mountain *m) {
+ if (next) {
+ next->append(m);
+ } else {
+ next = m;
+ }
+}
+
+Mountain *
+Mountain::get_next() {
+ return next;
+}
+
+void
+Mountain::append_visible(Mountain *m) {
+ if (next_visible) {
+ next->append_visible(m);
+ } else {
+ next_visible = m;
+ }
+}
+
+Mountain *
+Mountain::get_next_visible() {
+ return next_visible;
+}
+
+void
+Mountain::set_first_visible() {
+ next_visible = NULL;
+}