001/*
002*   Airfoil -- The interface in common to all airfoil type objects.
003*
004*   Copyright (C) 2000-2025, by Joseph A. Huwaldt. All rights reserved.
005*   
006*   This library is free software; you can redistribute it and/or
007*   modify it under the terms of the GNU Lesser General Public
008*   License as published by the Free Software Foundation; either
009*   version 2.1 of the License, or (at your option) any later version.
010*   
011*   This library is distributed in the hope that it will be useful,
012*   but WITHOUT ANY WARRANTY; without even the implied warranty of
013*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
014*   Lesser General Public License for more details.
015*
016*   You should have received a copy of the GNU Lesser General Public License
017*   along with this program; if not, write to the Free Software
018*   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
019*   Or visit:  http://www.gnu.org/licenses/lgpl.html
020*/
021package jahuwaldt.aero.airfoils;
022
023import java.util.List;
024import java.awt.geom.Point2D;
025
026
027/**
028*  Defines the interface in common to all airfoil type objects.
029*
030*  <p>  Modified by:  Joseph A. Huwaldt  </p>
031*
032*  @author  Joseph A. Huwaldt   Date:  October 8, 2000
033*  @version February 22, 2025
034*/
035public interface Airfoil extends java.io.Serializable {
036
037        /**
038        *  Returns a list of points containing the abscissas (X coordinate) and
039        *  ordinates (Y coordinate) of the points defining the upper surface of the airfoil.
040        *
041        * @return A list of points containing the abscissas (X coordinate) and
042        *  ordinates (Y coordinate) of the points defining the upper surface of the airfoil.
043        */
044        public List<Point2D> getUpper();
045        
046        /**
047        *  Returns a list of points containing the abscissas (X coordinate) and
048        *  ordinates (Y coordinate) of the points defining the lower surface of the airfoil.
049        *
050        * @return A list of points containing the abscissas (X coordinate) and
051        *  ordinates (Y coordinate) of the points defining the lower surface of the airfoil.
052        */
053        public List<Point2D> getLower();
054        
055        /**
056        *  Returns a list of points containing the camber line of the airfoil.
057        *
058        * @return A list of points containing the camber line of the airfoil.
059        */
060        public List<Point2D> getCamber();
061        
062        /**
063        *  Returns a list containing the slope (dy/dx) of the upper
064        *  surface of the airfoil at each ordinate.
065        *
066        * @return A list containing the slope (dy/dx) of the upper
067        *  surface of the airfoil at each ordinate.
068        */
069        public List<Double> getUpperYp();
070        
071        /**
072        *  Returns a list containing the slope (dy/dx) of the lower
073        *  surface of the airfoil at each ordinate.
074        *
075        * @return A list containing the slope (dy/dx) of the lower
076        *  surface of the airfoil at each ordinate.
077        */
078        public List<Double> getLowerYp();
079        
080}
081