
/**
 * MPConstants - DESCRIPTION
 * <p/>
 * An extension to the Processing project - http://Proce55ing.net
 * <p/>
 * Copyright (c) 2004 Simon Greenwold
 * Created: Feb 11, 2004
 * <p/>
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * <p/>
 * This library 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
 * Lesser General Public License for more details.
 * <p/>
 * You should have received a copy of the GNU Lesser General
 * Public License along with the Processing project; if not,
 * write to the Free Software Foundation, Inc., 59 Temple Place,
 * Suite 330, Boston, MA  02111-1307  USA
 */

public interface MPConstants {

  public static final int X = 0;
  public static final int Y = 1;
  public static final int Z = 2;

  public static final int DIMENSIONS = 3;
  // These are the boundaries of the system
  // if you want to expand them, go ahead.
  public static int SYS_X_MAX = 100000;
  public static int SYS_Y_MAX = 100000;
  public static int SYS_Z_MAX = 100000;
  public static int SYS_X_MIN = -100000;
  public static int SYS_Y_MIN = -100000;
  public static int SYS_Z_MIN = -100000;

  public static final int START_PARTICLES = 1000;
  public static final int START_FORCES = 1000;


  // Global constant indexes
  // We store the global constants as a single vector indexed
  // by these indices below so as to simplify the get/set interface
  public static final int NUM_GLOBALS = 12;
  public static final int GX = 0;
  public static final int GY = 1;
  public static final int GRAVITY = 1;  // <-- synonym for Gy
  public static final int GZ = 2;
  public static final int DRAG = 3;
  public static final int SPRING_DAMPING = 4;
  public static final int SPRING_STRENGTH = 5;
  public static final int SPRING_REST_LENGTH = 6;
  public static final int TIME_STEP = 7;
  public static final int MASS = 8;
  public static final int COLLISION_RADIUS = 9;
  public static final int MIN_COLLISION_FORCE = 10;
  public static final int MAX_COLLISION_FORCE = 11;
}
