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: /**
30: * Classe mère abstraite pour les primitives topologiques orientées.
31: * Dans notre implémentation 2 TP_DirectedTopo opposés ont des identifiants opposés.
32: * Bien expliquer que dans la norme, ca n'herite pas de TP_Primitive, mais on a fait ca a cause du double heritage
33: * (heritage fictif)
34: *
35: * @author Thierry Badard & Arnaud Braun
36: * @version 1.0
37: *
38: */
39:
40: abstract public class TP_DirectedTopo extends TP_Primitive {
41:
42: /** Orientation (+1 ou -1). */
43: protected int orientation;
44:
45: /** Renvoie l'orientation. */
46: public int getOrientation() {
47: return this .orientation;
48: }
49:
50: /** Affecte une orientation */
51: public void setOrientation(int Ori) {
52: orientation = Ori;
53: }
54:
55: /** Crée un TP_Expression à partir de self.
56: * Sert de constructeur pour les TP_Expression. */
57: public TP_Expression asTP_Expression() {
58: TP_Expression result = new TP_Expression(this );
59: return result;
60: }
61:
62: ///////////////////////////////////////////////////////////////////////////////////////
63: /// methodes de la norme supprimees pour simplification /
64: /// cette methodes sont definies dans les sous-classes avec un bon typage en sortie //
65: //////////////////////////////////////////////////////////////////////////////////////
66: /** Primitive orientée d'orientation opposée. */
67: //abstract public TP_DirectedTopo negate(DataSource data) throws Exception ;
68: /** Primitive de self (de type TP_Node, ou TP_Edge, ou TP_Face, ou TP_Solid). */
69: //abstract public TP_Primitive topo (DataSource data) throws Exception ;
70: }
|