VidesoController.java :  » Java-3D » videso3d » fr » crnan » videso3d » Java Open Source

Java Open Source » Java 3D » videso3d 
videso3d » fr » crnan » videso3d » VidesoController.java
/*
 * This file is part of ViDESO.
 * ViDESO 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 3 of the License, or
 * (at your option) any later version.
 *
 * ViDESO 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 ViDESO.  If not, see <http://www.gnu.org/licenses/>.
 */

package fr.crnan.videso3d;

import java.awt.Color;
import java.util.Collection;

import gov.nasa.worldwind.layers.Layer;

/**
 * Controleur d'lments 3D
 * @author Bruno Spyckerelle
 * @version 0.3.1
 */
public interface VidesoController {

  /**
   * Mets en valeur l'lment <code>name</code>
   * @param name Nom de l'lment  mettre en valeur
   */
  public void highlight(int type, String name);
  
  /**
   * Supprime le cas chant la mise en valeur de l'lment <code>name</code>
   * @param name Nom de l'lment  remettre dans son tat normal
   */
  public void unHighlight(int type, String name);
  
  /**
   * Ajoute un calque. Le calque est affich en mme temps.
   * @param name Nom du calque
   * @param layer Calque  ajouter
   */
  public void addLayer(String name, Layer layer);
  
  /**
   * Supprime un calque
   * @param name Nom du calque
   * @param layer Calque  supprimer
   */
  public void removeLayer(String name, Layer layer);
  
  /**
   * Supprime tous les calques <br />
   * Ne supprime pas ncessairement les lments contenus par ces calques.
   */
  public void removeAllLayers();
  
  /**
   * Affiche ou non un calque
   * @param layer Calque dont l'tat est  changer
   * @param state Nouvel tat du calque
   */
  public void toggleLayer(Layer layer, Boolean state);
  
  /**
   * Affiche l'objet
   * @param type Type de l'objet
   * @param name Nom de l'objet
   */
  public void showObject(int type, String name);
  
  /**
   * Cache l'objet : l'objet n'est pas supprim de la vue
   * @param type Type de l'objet
   * @param name Nom de l'objet
   */
  public void hideObject(int type, String name);
  
  /**
   * Transforme un string en int conformment aux types grs par le controlleur
   * @param type 
   * @return
   */
  public int string2type(String type);
  
  /**
   * Transforme un type en chaine conformment aux types grs par le contrleur
   * @param type
   * @return
   */
  public String type2string(int type);
  
  /**
   * Affiche les objets en 2D
   * @param flat 2D si vrai, 3D si faux
   */
  public void set2D(Boolean flat);
  
  /**
   * Remet  zro la vue.
   */
  public void reset();

  /**
   * 
   * @param type
   * @return tous les objets correspondant au type demand
   */
  public Collection<Object> getObjects(int type);

  /**
   * Change the color of an object
   * @param color
   * @param type
   * @param name
   */
  public void setColor(Color color, int type, String name);
  
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.