All Downloads are FREE. Search and download functionalities are using the official Maven repository.

src.gov.nasa.worldwind.render.airspaces.editor.AirspaceEditor Maven / Gradle / Ivy

Go to download

World Wind is a collection of components that interactively display 3D geographic information within Java applications or applets.

There is a newer version: 2.0.0-986
Show newest version
/*
 * Copyright (C) 2012 United States Government as represented by the Administrator of the
 * National Aeronautics and Space Administration.
 * All Rights Reserved.
 */
package gov.nasa.worldwind.render.airspaces.editor;

import gov.nasa.worldwind.WorldWindow;
import gov.nasa.worldwind.render.airspaces.Airspace;
import gov.nasa.worldwind.layers.Layer;

import java.awt.*;

/**
 * @author dcollins
 * @version $Id: AirspaceEditor.java 1171 2013-02-11 21:45:02Z dcollins $
 */
public interface AirspaceEditor extends Layer
{
    Airspace getAirspace();

    boolean isArmed();

    void setArmed(boolean armed);

    boolean isUseRubberBand();

    void setUseRubberBand(boolean state);

    boolean isKeepControlPointsAboveTerrain();

    void setKeepControlPointsAboveTerrain(boolean state);

    AirspaceControlPointRenderer getControlPointRenderer();

    void setControlPointRenderer(AirspaceControlPointRenderer renderer);

    AirspaceEditListener[] getEditListeners();

    void addEditListener(AirspaceEditListener listener);

    void removeEditListener(AirspaceEditListener listener);

    // TODO
    // the purposes of these methods may be okay, but there are some obvious problems:
    //
    // 1. any change in parameters would require a signature change (params should be bundled)
    //
    // 2. they do not allow the editor any control over how to respond to input
    //
    // 3. they assume the editor can do something reasonable with the call

    void moveAirspaceLaterally(WorldWindow wwd, Airspace airspace,
        Point mousePoint, Point previousMousePoint);

    void moveAirspaceVertically(WorldWindow wwd, Airspace airspace,
        Point mousePoint, Point previousMousePoint);

    AirspaceControlPoint addControlPoint(WorldWindow wwd, Airspace airspace, 
        Point mousePoint);

    void removeControlPoint(WorldWindow wwd, AirspaceControlPoint controlPoint);

    void moveControlPoint(WorldWindow wwd, AirspaceControlPoint controlPoint,
        Point mousePoint, Point previousMousePoint);

    void resizeAtControlPoint(WorldWindow wwd, AirspaceControlPoint controlPoint,
        Point mousePoint, Point previousMousePoint);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy