//
// TriangleJ3D.java
//

/*
VisAD system for interactive analysis and visualization of numerical
data.  Copyright (C) 1996 - 2017 Bill Hibbard, Curtis Rueden, Tom
Rink, Dave Glowacki, Steve Emmerson, Tom Whittaker, Don Murray, and
Tommy Jasmin.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.

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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA
*/

package visad.bom.annotations;

import visad.DisplayImpl;
import visad.java3d.DisplayImplJ3D;

/**
 *  Meant to encapsulate information representing a Triangle which is
 *  going to be rendered on a VisAD display without being
 *  subject to the usual VisAD transformations. Thus the label should
 *  stick in Screen Coordinates.
 */
public class TriangleJ3D implements ScreenAnnotation
{
  /** fill style POINT */
  public static final int POINT = 1;
  /** fill style LINE */
  public static final int LINE = 2;
  /** fill style FILL */
  public static final int FILL = 3;

  private int style;
  private int x1, y1;   // points of triangle in screen coordinates
  private int x2, y2;
  private int x3, y3;
  private float[] colour;
  private double zValue;
  private double thickness;          // for line and point style

  /**
   *  Simple constructor which makes a zero size triangle at (0, 0)
   *  coloured white. Set more meaningful values after construction.
   */
  public TriangleJ3D()
  {
    this(FILL, 0, 0, 0, 0, 0, 0, new float[] {1,1,1}, 0, 1.0);
  }

  /**
   *  Constructs a TriangleJ3D from 3 points specified in
   *  screen coordinates.
   *
   *  @param style  one of 

Ads help maintain this website.