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.topoprim;
28:
29: import java.util.List;
30:
31: /**
32: * Solide topologique orienté. Supporte la classe TP_Solid pour les TP_Expression.
33: * Dans notre implémentation, l'identifiant d'un TP_DirectedTopo est celui de sa primitive avec le signe de l'orientation.
34: * EXPLIQUER QUE C'EST PAS PERISTANT et que A PRIORI ca n'a pas de GEOMETRIE
35: *
36: * @author Thierry Badard, Arnaud Braun & Audrey Simon
37: * @version 1.0
38: *
39: */
40:
41: class TP_DirectedSolid extends TP_DirectedTopo {
42:
43: /////////////////////////////////////////////////////////////////////////////////////
44: // constructeur /////////////////////////////////////////////////////////////////////
45: /////////////////////////////////////////////////////////////////////////////////////
46: /** Constructeur par défaut. */
47: public TP_DirectedSolid() {
48: }
49:
50: /////////////////////////////////////////////////////////////////////////////////////
51: // topo() ///////////////////////////////////////////////////////////////////////////
52: /////////////////////////////////////////////////////////////////////////////////////
53: /** Primitive de this. */
54: protected TP_Solid topo;
55:
56: /** Primitive de this. */
57: public TP_Solid topo() {
58: return topo;
59: }
60:
61: /////////////////////////////////////////////////////////////////////////////////////
62: // negate() /////////////////////////////////////////////////////////////////////////
63: /////////////////////////////////////////////////////////////////////////////////////
64: /** Renvoie le TP_DirectedSolid d'orientation opposée. */
65: public TP_DirectedSolid negate() {
66: if (orientation < 0)
67: return topo.proxy[0];
68: else
69: return topo.proxy[1];
70: }
71:
72: /////////////////////////////////////////////////////////////////////////////////////
73: // boundary() ///////////////////////////////////////////////////////////////////////
74: /////////////////////////////////////////////////////////////////////////////////////
75: /** non implémenté (renvoie null). Renvoie la frontière de self.*/
76: public TP_SolidBoundary boundary() {
77: return null;
78: }
79:
80: /////////////////////////////////////////////////////////////////////////////////////
81: // coboundary() /////////////////////////////////////////////////////////////////////
82: /////////////////////////////////////////////////////////////////////////////////////
83: /** Renvoie null. */
84: public List coBoundary() {
85: return null;
86: }
87:
88: }
|