#  Copyright (c) 1997-2006
#  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 7161 2006-03-07 17:50:53Z gawrilow $

CONFIGURE : common::javaview_configure

package JavaView::Viewer;

global_method javaview.geometry: draw(Visual::Surface, @) {
   my ($self, $S)=@_;
   my @params = ( name => $S->Name,
		  points => $S->Vertices,
		  pointSet_dim => $S->Dim,
		  faces => [ map { /\{(.*)\}/ ? $1 : $_ } @{$S->Facets} ],
		  faceSet_backface_flag => $S->Dim==3 && $S->Closed ? "hide" : "show",
		  vertex_labels($S),
		  vertex_colors($S),
		  vertex_thicknesses($S),
		  facet_colors($S),
		  facet_style($S),
		  edges($S),
		  material($S),
		  visible($S)
		);
   if (defined $S->FacetNeighbors) {
      push @params, neighbours => [ map { /\{(.*)\}/ ? $1 : $_ } @{$S->FacetNeighbors} ];
   }
   $self->append(new JavaView::solid(@params));
}


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