// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.elevation;
import java.util.List;
public interface IElevationModel {
/**
* Adds a model listener to this instance.
*
* @param listener
* The listener to add.
*/
void addModelListener(IElevationModelListener listener);
/**
* Removes a model listener from this instance.
*
* @param listener
* The listener to remove.
*/
void removeModelListener(IElevationModelListener listener);
/**
* Removes all listeners from this instance.
*/
void removeAllListeners();
/**
* Gets the elevation profiles. In most GPX files there may by
*
* @return the profiles
*/
List<IElevationProfile> getProfiles();
/**
* Gets the current profile.
*
* @return the current profile
*/
IElevationProfile getCurrentProfile();
/**
* Sets the current profile.
*
* @param newProfile the new current profile
*/
void setCurrentProfile(IElevationProfile newProfile);
/**
* Sets the current profile by index.
*
* @param index the new current profile. Valied numbers are 0 to (profileCount - 1)
*/
void setCurrentProfile(int index);
/**
* Gets the number of elevation profiles within the model.
*
* @return the int
*/
int profileCount();
}