#  Copyright (c) 1997-2004
#  Ewgenij Gawrilow, Michael Joswig (Technische Universitaet Berlin, Germany)
#  http://www.math.tu-berlin.de/polymake,  mailto:polymake@math.tu-berlin.de
#
#  This program 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 2, or (at your option) any
#  later version: http://www.gnu.org/licenses/gpl.txt.
#
#  This program 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.
#-----------------------------------------------------------------------------
#  $Project: polymake $$Id: javaview.rules,v 1.61 2004/10/26 18:53:46 gawrilow Exp $

CONFIGURE : common::javaview_configure

package JavaView::Viewer;

global_method javaview.geometry: draw(Visual::Polytope, @) {
   my ($self, $P)=@_;
   my @params = ( name => $P->Name,
		  points => $P->Vertices,
		  pointSet_dim => $P->Dim,
		  faces => [ map { /\{(.*)\}/ ? $1 : $_ } @{$P->Facets} ],
		  faceSet_backface_flag => $P->Dim==3 && $P->Closed ? "hide" : "show",
		  vertex_labels($P), vertex_colors($P), vertex_thicknesses($P),
		  facet_colors($P), edges($P),
		  visible($P),
		);

   if (defined $P->FacetNeighbors) {
      push @params, neighbours => [ map { /\{(.*)\}/ ? $1 : $_ } @{$P->FacetNeighbors} ];
   }
   $self->append(new JavaView::solid(@params));
}


INCLUDE
  interactive.rules


# Local Variables:
# mode: perl
# c-basic-offset:3
# End:
