fr.ign.cogit.geoxygene.spatial.geomcomp
Class GM_CompositeCurve

java.lang.Object
  extended by fr.ign.cogit.geoxygene.spatial.geomroot.GM_Object
      extended by fr.ign.cogit.geoxygene.spatial.geomcomp.GM_Complex
          extended by fr.ign.cogit.geoxygene.spatial.geomcomp.GM_Composite
              extended by fr.ign.cogit.geoxygene.spatial.geomcomp.GM_CompositeCurve
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
GM_Ring

public class GM_CompositeCurve
extends GM_Composite

Complexe ayant toutes les propriétés géométriques d'une courbe. C'est une liste de courbes orientées (GM_OrientableCurve) de telle manière que le noeud final d'une courbe correspond au noeud initial de la courbe suivante dans la liste. Hérite de GM_OrientableCurve, mais le lien n'apparaît pas explicitement (problème de double héritage en java). Les méthodes et attributs ont été reportés.

ATTENTION : normalement, il faudrait remplir le set "element" (contrainte : toutes les primitives du generateur sont dans le complexe). Ceci n'est pas implémenté pour le moment.

A FAIRE AUSSI : iterateur sur "generator"

Version:
1.0
Author:
Thierry Badard & Arnaud Braun

Field Summary
protected  java.util.List generator
          Les GM_OrientableCurve constituant self.
protected  GM_Curve primitive
          Primitive.
protected  GM_OrientableCurve[] proxy
          Attribut stockant les primitives orientées de cette primitive.
 
Fields inherited from class fr.ign.cogit.geoxygene.spatial.geomcomp.GM_Complex
element, subComplex, superComplex
 
Fields inherited from class fr.ign.cogit.geoxygene.spatial.geomroot.GM_Object
CRS
 
Constructor Summary
GM_CompositeCurve()
          Constructeur par défaut
GM_CompositeCurve(GM_OrientableCurve oCurve)
          Constructeur à partir d'une et d'une seule GM_OrientableCurve.
 
Method Summary
 void addGenerator(GM_OrientableCurve value)
          Ajoute une GM_OrientableCurve en fin de liste.
 void addGenerator(GM_OrientableCurve value, double tolerance)
          Ajoute une GM_OrientableCurve en fin de liste avec un contrôle de continuité avec la tolérance passée en paramètre.
 void addGenerator(int i, GM_OrientableCurve value)
          Ajoute une GM_OrientableCurve au rang i.
 void addGeneratorTry(GM_OrientableCurve value, double tolerance)
          Ajoute une GM_OrientableCurve en fin de liste avec un contrôle de continuité avec la tolérance passée en paramètre.
 GM_CurveBoundary boundary()
          Redéfinition de l'opérateur "boundary" sur GM_OrientableCurve.
 java.util.List getGenerator()
          Renvoie la liste des GM_OrientableCurve
 GM_OrientableCurve getGenerator(int i)
          Renvoie la GM_OrientableCurve de rang i
 GM_OrientableCurve getNegative()
          Renvoie la primitive orientée négativement.
 GM_OrientableCurve getPositive()
          Renvoie la primitive orientée positivement.
 GM_Curve getPrimitive()
          Renvoie la primitive de self.
 void removeGenerator(GM_OrientableCurve value)
          Efface la (ou les) GM_OrientableCurve passé en paramètre.
 void removeGenerator(int i)
          Efface la GM_OrientableCurve de rang i.
 void setGenerator(int i, GM_OrientableCurve value)
          Affecte une GM_OrientableCurve au rang i.
 int sizeGenerator()
          Nombre de GM_OrientableCurve constituant self
 boolean validate(double tolerance)
          Vérifie le chaînage des composants.
 
Methods inherited from class fr.ign.cogit.geoxygene.spatial.geomcomp.GM_Complex
addElement, addSubComplex, addSuperComplex, coord, getElement, getSubComplex, getSuperComplex, isMaximal, removeElement, removeSubComplex, removeSuperComplex, sizeElement, sizeSubComplex, sizeSuperComplex
 
Methods inherited from class fr.ign.cogit.geoxygene.spatial.geomroot.GM_Object
area, buffer, buffer, centroid, clone, contains, convexHull, crosses, difference, dimension, disjoint, distance, envelope, equals, equalsExact, equalsExact, exportImage, exportSvgz, exportWkt, getCRS, intersection, intersects, intersectsStrictement, isEmpty, isSimple, isValid, isWithinDistance, length, mbRegion, numPoints, overlaps, relate, setCRS, symmetricDifference, toString, touches, translate, union, within
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

generator

protected java.util.List generator
Les GM_OrientableCurve constituant self.


primitive

protected GM_Curve primitive
Primitive. Elle doit etre recalculée à chaque modification de self : fait dans getPrimitive().


proxy

protected GM_OrientableCurve[] proxy
Attribut stockant les primitives orientées de cette primitive. Proxy[0] est celle orientée positivement. Proxy[1] est celle orientée négativement. On accède aux primitives orientées par getPositive() et getNegative().

Constructor Detail

GM_CompositeCurve

public GM_CompositeCurve()
Constructeur par défaut


GM_CompositeCurve

public GM_CompositeCurve(GM_OrientableCurve oCurve)
Constructeur à partir d'une et d'une seule GM_OrientableCurve. L'orientation vaut +1.

Method Detail

getGenerator

public java.util.List getGenerator()
Renvoie la liste des GM_OrientableCurve


getGenerator

public GM_OrientableCurve getGenerator(int i)
Renvoie la GM_OrientableCurve de rang i


setGenerator

public void setGenerator(int i,
                         GM_OrientableCurve value)
Affecte une GM_OrientableCurve au rang i. Attention : aucun contrôle de continuité n'est effectué.


addGenerator

public void addGenerator(GM_OrientableCurve value)
Ajoute une GM_OrientableCurve en fin de liste. Attention : aucun contrôle de continuité n'est effectué.


addGenerator

public void addGenerator(GM_OrientableCurve value,
                         double tolerance)
                  throws java.lang.Exception
Ajoute une GM_OrientableCurve en fin de liste avec un contrôle de continuité avec la tolérance passée en paramètre. Envoie une exception en cas de problème.

Throws:
java.lang.Exception

addGeneratorTry

public void addGeneratorTry(GM_OrientableCurve value,
                            double tolerance)
                     throws java.lang.Exception
Ajoute une GM_OrientableCurve en fin de liste avec un contrôle de continuité avec la tolérance passée en paramètre. Eventuellement change le sens d'orientation de la courbe pour assurer la continuite. Envoie une exception en cas de problème.

Throws:
java.lang.Exception

addGenerator

public void addGenerator(int i,
                         GM_OrientableCurve value)
Ajoute une GM_OrientableCurve au rang i. Attention : aucun contrôle de continuité n'est effectué.


removeGenerator

public void removeGenerator(GM_OrientableCurve value)
                     throws java.lang.Exception
Efface la (ou les) GM_OrientableCurve passé en paramètre. Attention : aucun contrôle de continuité n'est effectué.

Throws:
java.lang.Exception

removeGenerator

public void removeGenerator(int i)
                     throws java.lang.Exception
Efface la GM_OrientableCurve de rang i. Attention : aucun contrôle de continuité n'est effectué.

Throws:
java.lang.Exception

sizeGenerator

public int sizeGenerator()
Nombre de GM_OrientableCurve constituant self


getPrimitive

public GM_Curve getPrimitive()
Renvoie la primitive de self.


getPositive

public GM_OrientableCurve getPositive()
Renvoie la primitive orientée positivement.


getNegative

public GM_OrientableCurve getNegative()
Renvoie la primitive orientée négativement.


boundary

public GM_CurveBoundary boundary()
Redéfinition de l'opérateur "boundary" sur GM_OrientableCurve. Renvoie une GM_CurveBoundary, c'est-à-dire deux GM_Point.


validate

public boolean validate(double tolerance)
Vérifie le chaînage des composants. Renvoie TRUE s'ils sont chaînés, FALSE sinon.