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 fr.ign.cogit.geoxygene.spatial.geomprim.GM_Primitive;
30: import fr.ign.cogit.geoxygene.spatial.toporoot.TP_Object;
31:
32: /**
33: * Classe mère abstraite pour les primitives topologiques.
34: * Par définition, une primitive est orientée positivement.
35: * Une primitive possède 2 TP_DirectedTopo orientés positivement et négativement.
36: * Le TP_DirectedTopo orienté positivement est sa propre primitive.
37: *
38: * @author Thierry Badard, Arnaud Braun & Audrey Simon
39: * @version 1.0
40: *
41: */
42:
43: abstract public class TP_Primitive extends TP_Object {
44:
45: /////////////////////////////////////////////////////////////////////////////////////
46: /// lien vers les complexes, non implemente /////////////////////////////////////////
47: /////////////////////////////////////////////////////////////////////////////////////
48: // Quand un complexe géométrique est la réalisation d'un complexe topologique,
49: // alors les primitives doivent être en correspondance 1-1.
50:
51: // mettre une liste (une primitive peut appartenir a plusieurs complexes)
52: //protected long TP_ComplexID;
53:
54: // accesseurs
55: // long getTP_ComplexID(){return TP_ComplexID;}
56: // void setTP_ComplexID(int id){TP_ComplexID=id;}
57:
58: /////////////////////////////////////////////////////////////////////////////////////
59: /// lien vers la primitive geometrique - ce lien n'est pas dans la norme ////////////
60: /////////////////////////////////////////////////////////////////////////////////////
61: /** Lien vers la géométrie correspondant à self. */
62: protected GM_Primitive geom;
63:
64: /** Renvoie la géométrie de self. */
65: public GM_Primitive getGeom() {
66: return this .geom;
67: }
68:
69: /** Affecte une géométrie à self. */
70: public void setGeom(GM_Primitive value) {
71: this .geom = value;
72: }
73:
74: /** Renvoie 1 si self possède une géométrie, 0 sinon. */
75: public int sizeGeom() {
76: if (this .geom == null)
77: return 0;
78: else
79: return 1;
80: }
81:
82: /////////////////////////////////////////////////////////////////////////////////////
83: /// methode de la norme supprimee pour simplification //
84: /// cette methodes est definie dans les sous-classes avec un bon typage en sortie ///
85: /////////////////////////////////////////////////////////////////////////////////////
86: // Conversion en TP_DirectedTopo.
87: // public TP_DirectedTopo asTP_DirectedTopo(DataSource data, int orientation) throws Exception {
88: // return null;
89: // }
90:
91: }
|