]> git.mxchange.org Git - flightgear.git/commitdiff
Moved to their own directory.
authorcurt <curt>
Thu, 29 May 1997 02:29:42 +0000 (02:29 +0000)
committercurt <curt>
Thu, 29 May 1997 02:29:42 +0000 (02:29 +0000)
Slew/Makefile [new file with mode: 0644]
Slew/slew.c [new file with mode: 0644]
Slew/slew.h [new file with mode: 0644]

diff --git a/Slew/Makefile b/Slew/Makefile
new file mode 100644 (file)
index 0000000..0ef289b
--- /dev/null
@@ -0,0 +1,74 @@
+#---------------------------------------------------------------------------
+# Makefile
+#
+# Written by Curtis Olson, started May 1997.
+#
+# Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+# $Id$
+# (Log is kept at end of this file)
+#---------------------------------------------------------------------------
+
+
+TARGET=libslew.a
+
+CFILES = slew.c
+OFILES = $(CFILES:.c=.o)
+
+CC = gcc
+CFLAGS = -g -Wall
+# CFLAGS = -O2 -Wall
+
+AR = ar
+
+INCLUDES = 
+
+LIBS = 
+
+
+#---------------------------------------------------------------------------
+# Primary Targets
+#---------------------------------------------------------------------------
+
+$(TARGET): $(OFILES)
+       $(AR) rv $(TARGET) $(OFILES)
+
+all: $(TARGET)
+
+clean:
+       rm -f *.o $(TARGET) *~ core
+
+
+#---------------------------------------------------------------------------
+# Secondary Targets
+#---------------------------------------------------------------------------
+
+slew.o: slew.c slew.h ../../aircraft/aircraft.h ../../controls/controls.h
+       $(CC) $(CFLAGS) $(INCLUDES) -c slew.c
+
+
+#---------------------------------------------------------------------------
+# $Log$
+# Revision 1.1  1997/05/29 02:29:42  curt
+# Moved to their own directory.
+#
+# Revision 1.2  1997/05/23 15:40:36  curt
+# Added GNU copyright headers.
+#
+# Revision 1.1  1997/05/16 16:04:44  curt
+# Initial revision.
+#
diff --git a/Slew/slew.c b/Slew/slew.c
new file mode 100644 (file)
index 0000000..e548a39
--- /dev/null
@@ -0,0 +1,98 @@
+/**************************************************************************
+ * slew.c -- the "slew" flight model
+ *
+ * Written by Curtis Olson, started May 1997.
+ *
+ * Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * $Id$
+ * (Log is kept at end of this file)
+ **************************************************************************/
+
+
+#include <math.h>
+
+#include "slew.h"
+#include "../flight.h"
+#include "../../aircraft/aircraft.h"
+#include "../../controls/controls.h"
+
+
+#ifndef PI2                                               
+#define PI2  (M_PI + M_PI)                      
+#endif        
+
+
+/* reset flight params to a specific position */
+void fgSlewInit(double pos_x, double pos_y, double pos_z, double heading) {
+    struct flight_params *f;
+
+    f = &current_aircraft.flight;
+
+    f->pos_x = pos_x;
+    f->pos_y = pos_y;
+    f->pos_z = pos_z;
+
+    f->vel_x = 0.0;
+    f->vel_y = 0.0;
+    f->vel_z = 0.0;
+
+    f->Phi = 0.0;
+    f->Theta = 0.0;
+    f->Psi = 0.0;
+
+    f->vel_Phi = 0.0;
+    f->vel_Theta = 0.0;
+    f->vel_Psi = 0.0;
+
+    f->Psi = heading;
+}
+
+
+/* update position based on inputs, positions, velocities, etc. */
+void fgSlewUpdate() {
+    struct flight_params *f;
+    struct control_params *c;
+
+    f = &current_aircraft.flight;
+    c = &current_aircraft.controls;
+
+    f->Psi += c->aileron;
+    if ( f->Psi > PI2 ) {
+       f->Psi -= PI2;
+    } else if ( f->Psi < 0 ) {
+       f->Psi += PI2;
+    }
+
+    f->vel_x = -c->elev;
+
+    f->pos_x = f->pos_x + (cos(f->Psi) * f->vel_x);
+    f->pos_y = f->pos_y + (sin(f->Psi) * f->vel_x);
+}
+
+
+/* $Log$
+/* Revision 1.1  1997/05/29 02:29:42  curt
+/* Moved to their own directory.
+/*
+ * Revision 1.2  1997/05/23 15:40:37  curt
+ * Added GNU copyright headers.
+ *
+ * Revision 1.1  1997/05/16 16:04:45  curt
+ * Initial revision.
+ *
+ */
diff --git a/Slew/slew.h b/Slew/slew.h
new file mode 100644 (file)
index 0000000..ffc76d3
--- /dev/null
@@ -0,0 +1,51 @@
+/**************************************************************************
+ * slew.h -- the "slew" flight model
+ *
+ * Written by Curtis Olson, started May 1997.
+ *
+ * Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * $Id$
+ * (Log is kept at end of this file)
+ **************************************************************************/
+
+
+#ifndef SLEW_H
+#define SLEW_H
+
+
+/* reset flight params to a specific position */ 
+void fgSlewInit(double pos_x, double pos_y, double pos_z, double heading);
+
+/* update position based on inputs, positions, velocities, etc. */
+void fgSlewUpdate();
+
+
+#endif SLEW_H
+
+
+/* $Log$
+/* Revision 1.1  1997/05/29 02:29:43  curt
+/* Moved to their own directory.
+/*
+ * Revision 1.2  1997/05/23 15:40:38  curt
+ * Added GNU copyright headers.
+ *
+ * Revision 1.1  1997/05/16 16:04:46  curt
+ * Initial revision.
+ *
+ */