01: /*
02: * This file is part of the GeOxygene project source files.
03: *
04: * GeOxygene aims at providing an open framework which implements OGC/ISO specifications for
05: * the development and deployment of geographic (GIS) applications. It is a open source
06: * contribution of the COGIT laboratory at the Institut Géographique National (the French
07: * National Mapping Agency).
08: *
09: * See: http://oxygene-project.sourceforge.net
10: *
11: * Copyright (C) 2005 Institut Géographique National
12: *
13: * This library is free software; you can redistribute it and/or modify it under the terms
14: * of the GNU Lesser General Public License as published by the Free Software Foundation;
15: * either version 2.1 of the License, or any later version.
16: *
17: * This library is distributed in the hope that it will be useful, but WITHOUT ANY
18: * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
19: * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
20: *
21: * You should have received a copy of the GNU Lesser General Public License along with
22: * this library (see file LICENSE if present); if not, write to the Free Software
23: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24: *
25: */
26:
27: package fr.ign.cogit.geoxygene.spatial.coordgeom;
28:
29: import java.util.List;
30:
31: /** NON IMPLEMENTE, A FAIRE.
32: * Surface triangulée avec la méthode de Delaunay ou un algorithme similaire, et prenant en considération des stoplines, des breaklines et une longueur maximale pour les arêtes des triangles.
33: *
34: * @author Thierry Badard & Arnaud Braun
35: * @version 1.0
36: *
37: */
38:
39: class GM_Tin extends GM_TriangulatedSurface {
40:
41: /**
42: * Lignes où la continuité locale ou la régularité de la surface est remise en cause : un triangle intersectant une telle ligne doit être enlevé du TIN en laissant un trou à la place.
43: */
44: protected List stopLines;
45:
46: public GM_LineString getStopLines(int i) {
47: return (GM_LineString) this .stopLines.get(i);
48: }
49:
50: public int cardStopLines() {
51: return this .stopLines.size();
52: }
53:
54: /**
55: * Lignes qui doivent être incluses dans la triangulation, même en violant les critères de Delaunay.
56: */
57: protected List breakLines;
58:
59: public GM_LineString getBreakLines(int i) {
60: return (GM_LineString) this .breakLines.get(i);
61: }
62:
63: public int cardBreakLines() {
64: return this .breakLines.size();
65: }
66:
67: /**
68: * Longueur maximum de l'arête d'un triangle du TIN. Tout triangle adjacent à une arête dont la longueur est supérieure à maxLength doit être supprimé de la triangulation. (NORME : cet attribut est de type Distance.)
69: */
70: protected double maxLength;
71:
72: public double getMaxLength() {
73: return this .maxLength;
74: }
75:
76: /**
77: * Points servant à construire la grille.
78: */
79: protected List controlPoint;
80:
81: public GM_Position getControlPoint(int i) {
82: return (GM_Position) this .controlPoint.get(i);
83: }
84:
85: public int sizeControlPoint() {
86: return this .controlPoint.size();
87: }
88:
89: /**
90: * Constructeur.
91: */
92: public GM_Tin(final GM_Position[] post,
93: final GM_LineString[] stopLines,
94: final GM_LineString[] breakLines, final float maxLength) {
95:
96: }
97: }
|