//$Header: /home/deegree/jail/deegreerepository/deegree/src/org/deegree/ogcwebservices/wpvs/j3d/Attic/ElevationModelFactory.java,v 1.6 2006/11/27 09:07:52 poth Exp $
/*---------------- FILE HEADER ------------------------------------------
This file is part of deegree.
Copyright (C) 2001-2006 by:
Department of Geography, University of Bonn
http://www.giub.uni-bonn.de/deegree/
lat/lon GmbH
http://www.lat-lon.de
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.
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.
You should have received a copy of the GNU Lesser 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
Contact:
Andreas Poth
lat/lon GmbH
Aennchenstraße 19
53177 Bonn
Germany
E-Mail: poth@lat-lon.de
Prof. Dr. Klaus Greve
Department of Geography
University of Bonn
Meckenheimer Allee 166
53115 Bonn
Germany
E-Mail: greve@giub.uni-bonn.de
---------------------------------------------------------------------------*/
package org.deegree.ogcwebservices.wpvs.j3d;
/**
* This class is used to construct Shapes3D, which represent digital elevation models in the deegree
* Web Perspective View Service
*
* @author <a href="mailto:taddei@lat-lon.de">Ugo Taddei</a>
* @author last edited by: $Author: poth $
*
* @version 2.0, $Revision: 1.6 $, $Date: 2006/11/27 09:07:52 $
*
* @since 2.0
*/
//public class ElevationModelFactory {
//
// /**
// * Creates an array (len = 0) of Java 3D shapes.
// * @param triangleList the List containing individual triangles, which will be triangulated by this method.
// * @param masterEnvelope the envelope coverign the whole area (defined by all surfaces). This envelope is used in scale texture coordinates.
// * @param boxes the boxes to be used for the individual TextureUnitStates
// * @param scale the value by which elevation data will be scaled (for vertical exaggeration)
// * @param texImages image used for multiple texturing
// * @return a new Shape3D[1] (with an instance of a TriangleArray).
// * @throws IllegalArgumentException if number of boxes is not equal to number if texture images
// */
// public Shape3D[] createElevationModel( List<float[][]> triangleList,
// Envelope masterEnvelope, /*Surface[]*/ ArrayList<ResolutionStripe> boxes,
// float scale, BufferedImage[] texImages ){
//
// if( boxes != null && texImages != null && boxes.size() != texImages.length ){
// throw new IllegalArgumentException( "number of surfaces must be equal to the number of images.");
// }
//
// /*GeometryArray geom = TINtoTINArrayConverter.createGeometryArray( triangleList,
// masterEnvelope, boxes,
// scale );
// */
// GeometryArray geom = null;
// Shape3D tinObject = new Shape3D();
// tinObject.setCapability( Shape3D.ALLOW_GEOMETRY_WRITE );
// tinObject.setGeometry( geom );
//
// Appearance app = AppearanceFactory.createAppearance( texImages );
// tinObject.setAppearance( app );
//
// return new Shape3D[] { tinObject };
// }
// /**
// * Creates an array (len = triangleStripList.size() ) of Java 3D shapes.
// * @param triangleStripList the list of TriangleStripHelpers
// * @param texImages the images used for texturing the individual GeometryArrays
// * @return an array Shape3D[ triangleStripList.size() ] of TriangleStripArrays
// * @throws IllegalArgumentException if size of triangleStripList is not equal to number if texture images
//
// */
// public Shape3D[] createElevationModel( List<TriangleStripHelper> triangleStripList,
// BufferedImage[] texImages ) {
//
// if( triangleStripList != null && texImages != null && triangleStripList.size() != texImages.length ){
// throw new IllegalArgumentException( "Size of triangleStripList must be equal to the number of images.");
// }
//
// BufferedImage[] bis = new BufferedImage[ texImages.length ];
// for ( int i = 0; i < bis.length; i++ ) {
// bis[ i ] = texImages[ bis.length - 1 - i ];
// }
//
// ImageToGeoArrayConverter.TriangleStripHelper[] tt =
// new ImageToGeoArrayConverter.TriangleStripHelper[ triangleStripList.size() ];
// TriangleStripHelper[] triHelpers = triangleStripList.toArray( tt );
//
// Shape3D[] tinObjects = new Shape3D[ triHelpers.length ];
//
// for ( int i = 0; i < triHelpers.length; i++ ) {
// tinObjects[i] = new Shape3D();
// GeometryArray geom = new ImageToGeoArrayConverter().createTriangleStripArray( triHelpers[i] );
//
// tinObjects[i].setGeometry( geom );
// Appearance app = AppearanceFactory.createAppearance( new BufferedImage[]{bis[i]} );
// tinObjects[i].setAppearance( app );
//
// }
//
// return tinObjects;
// }
//}
/* ********************************************************************
Changes to this class. What the people have been up to:
$Log: ElevationModelFactory.java,v $
Revision 1.6 2006/11/27 09:07:52 poth
JNI integration of proj4 has been removed. The CRS functionality now will be done by native deegree code.
Revision 1.5 2006/11/23 11:47:21 bezema
The initial version of the new wpvs
Revision 1.3 2006/08/24 06:42:16 poth
File header corrected
Revision 1.2 2006/08/23 06:51:42 poth
code formating
Revision 1.1 2006/07/18 15:14:45 taddei
changes in DEM (WCS) geometry
********************************************************************** */