| java.lang.Object fr.ign.cogit.geoxygene.feature.FT_Feature fr.ign.cogit.geoxygene.contrib.cartetopo.ElementCarteTopo fr.ign.cogit.geoxygene.contrib.cartetopo.Arc
All known Subclasses: fr.ign.cogit.geoxygene.contrib.appariement.reseaux.topologie.ArcApp, fr.ign.cogit.geoxygene.contrib.cartetopo.exemple.MonArc, fr.ign.cogit.geoxygene.contrib.delaunay.ArcDelaunay,
Arc | public class Arc extends ElementCarteTopo (Code) | | Classe des arcs de la carte topo.
Les arcs ont pour géométrie une GM_LineString, et peuvent être orientés.
Des méthodes sont prévues pour une gestion de réseau, de graphe, et de carte topologique.
English: arcs of a topological map
author: Mustière/Bonin version: 1.0 |
Constructor Summary | |
public | Arc() |
Method Summary | |
public void | addGroupe(Groupe groupe) | public List | arcPrecedentDebut() Arc précédent self à son noeud initial, au sens des cartes topologiques. | public List | arcPrecedentFin() Arc précédant self à son noeud final, au sens des cartes topologiques. | public List | arcSuivantDebut() Arc suivant self à son noeud initial, au sens des cartes topologiques. | public List | arcSuivantFin() Arc suivant self à son noeud final, au sens des cartes topologiques. | public void | calculeRectangleEnglobant() | public List | cycleADroite() Recherche du cycle du réseau à droite de l'arc en se basant sur la topologie de RESEAU uniquement.
Renvoie une liste (ArrayList) de 3 éléments :
- get(0): Liste des arcs dans l'ordre de parcours du cycle
Liste classée dans le sens anti-trigonometrique (sauf pour la face exterieure).
(liste de type "ArrayList", contenant elle-même des "Arc").
- get(1): Liste des orientations des arc : true si l'arc à sa face à droite, false sinon
(liste de type "ArrayList", contenant elle-même des objets "Boolean").
- get(2) : La géométrie du polygone faisant le tour du cycle
(de type "GM_Polygon)
NB: la liste retournée est égale à null si on n'a pas trouvé de cycle
(cas pouvant arriver si la topologie arcs/noeuds n'est pas complète.
NB: ne nécessite PAS d'avoir une topologie arcs/faces instanciée. | public List | cycleAGauche() Recherche du cycle du réseau à gauche de l'arc en se basant sur la topologie de RESEAU uniquement.
Renvoie une liste (ArrayList) de 3 éléments :
- get(0): Liste des arcs dans l'ordre de parcours du cycle. | public double | distance(Noeud noeud) | public List | faces() | public List | finsOrientes() | public DirectPositionList | getCoord() | public Face | getFaceDroite() | public Face | getFaceGauche() | public GM_LineString | getGeometrie() | public Collection | getListeGroupes() | public Noeud | getNoeudFin() | public Noeud | getNoeudIni() | public int | getOrientation() Renvoie l'orientation. | public double | getPoids() | public Rectangle | getRectangleEnglobant() Rectangle englobant de l'arc, orienté le long des axes des x,y. | public double | hausdorff(Arc arc) Distance de Hausdorff entre self et l'arc. | public List | inisOrientes() | public double | longueur() Longueur euclidienne de l'arc. | public List | noeuds() | public double | premiereComposanteHausdorff(Arc arc) Première composante de la distance de Hausdorff de self vers l'arc. | protected boolean | proche(Arc arc, double distance) | public void | projeteEtDecoupe(GM_Point P) Projete le point P sur l'arc et découpe l'arc en 2 avec ce point projeté. | public void | setCoord(DirectPositionList dpl) | public void | setFaceDroite(Face face) Définit la face à droite de self. | public void | setFaceGauche(Face face) Définit la face à gauche de self. | public void | setGeometrie(GM_LineString geometrie) | public void | setListegroupes(Collection liste) | public void | setNoeudFin(Noeud noeud) Définit le noeud final de self. | public void | setNoeudIni(Noeud noeud) Définit le noeud initial de self. | public void | setOrientation(int orientation) Définit l'orientation. | public void | setPoids(double d) |
addGroupe | public void addGroupe(Groupe groupe)(Code) | | Ajoute un groupe à self
|
arcPrecedentDebut | public List arcPrecedentDebut()(Code) | | Arc précédent self à son noeud initial, au sens des cartes topologiques.
L'arc précédent est l'arc incident au noeud initial de self,
et précédent self dans l'ordre trigonométrique autour de ce noeud initial.
NB: renvoie une liste de 2 éléments :
element 1, liste.get(0) = l'arc
element 2, liste.get(1) = Boolean, true si entrant, false si sortant
NB: calcul réalisé pour chaque appel de la méthode.
NB : l'arc précédent peut être self, en cas de cul de sac sur le noeud initial.
|
arcPrecedentFin | public List arcPrecedentFin()(Code) | | Arc précédant self à son noeud final, au sens des cartes topologiques.
L'arc précédent est l'arc incident au noeud final de self,
et précédant self dans l'ordre trigonométrique autour de ce noeud final.
NB: renvoie une liste de 2 éléments :
element 1, liste.get(0) = l'arc
element 2, liste.get(1) = Boolean, true si entrant, false si sortant
NB: calcul réalisé pour chaque appel de la méthode.
NB : l'arc précédent peut être self, en cas de cul de sac sur le noeud final.
|
arcSuivantDebut | public List arcSuivantDebut()(Code) | | Arc suivant self à son noeud initial, au sens des cartes topologiques.
L'arc suivant est l'arc incident au noeud initial de self,
et suivant self dans l'ordre trigonométrique autour de ce noeud initial.
NB: renvoie une liste de 2 éléments :
element 1, liste.get(0) = l'arc
element 2, liste.get(1) = Boolean, true si entrant, false si sortant
NB: calcul réalisé pour chaque appel de la méthode.
NB : l'arcSuivant peut être self, en cas de cul de sac sur le noeud initial.
|
arcSuivantFin | public List arcSuivantFin()(Code) | | Arc suivant self à son noeud final, au sens des cartes topologiques.
L'arc suivant est l'arc incident au noeud final de self,
et suivant self dans l'ordre trigonométrique autour de ce noeud final.
NB: renvoie une liste de 2 éléments :
element 1, liste.get(0) = l'arc
element 2, liste.get(1) = Boolean, true si entrant, false si sortant
NB: calcul réalisé pour chaque appel de la méthode.
NB : l'arcSuivant peut être self, en cas de cul de sac sur le noeud final.
|
calculeRectangleEnglobant | public void calculeRectangleEnglobant()(Code) | | Calcule le rectangle englobant x,y en fonction de la géométrie
|
cycleADroite | public List cycleADroite()(Code) | | Recherche du cycle du réseau à droite de l'arc en se basant sur la topologie de RESEAU uniquement.
Renvoie une liste (ArrayList) de 3 éléments :
- get(0): Liste des arcs dans l'ordre de parcours du cycle
Liste classée dans le sens anti-trigonometrique (sauf pour la face exterieure).
(liste de type "ArrayList", contenant elle-même des "Arc").
- get(1): Liste des orientations des arc : true si l'arc à sa face à droite, false sinon
(liste de type "ArrayList", contenant elle-même des objets "Boolean").
- get(2) : La géométrie du polygone faisant le tour du cycle
(de type "GM_Polygon)
NB: la liste retournée est égale à null si on n'a pas trouvé de cycle
(cas pouvant arriver si la topologie arcs/noeuds n'est pas complète.
NB: ne nécessite PAS d'avoir une topologie arcs/faces instanciée.
NB: nécessite d'avoir une topologie arcs/noeuds instanciée.
NB: un cycle passe 2 fois (une fois dans chaque sens) par les cul-de-sac si il y en a.
|
cycleAGauche | public List cycleAGauche()(Code) | | Recherche du cycle du réseau à gauche de l'arc en se basant sur la topologie de RESEAU uniquement.
Renvoie une liste (ArrayList) de 3 éléments :
- get(0): Liste des arcs dans l'ordre de parcours du cycle.
Liste classée dans le sens trigonometrique (sauf pour la face exterieure).
(liste de type "ArrayList", contenant elle-même des "Arc").
- get(1): Liste des orientations des arc : true si l'arc à sa face à gauche, false sinon
(liste de type "ArrayList", contenant elle-même des objets "Boolean").
- get(2) : La géométrie du polygone faisant le tour du cycle
(de type "GM_Polygon)
NB: la liste retournée est égale à null si on n'a pas trouvé de cycle
(cas pouvant arriver si la topologie arcs/noeuds n'est pas complète.
NB: ne nécessite PAS d'avoir une topologie arcs/faces instanciée.
NB: nécessite d'avoir une topologie arcs/noeuds instanciée.
NB: un cycle passe 2 fois (une fois dans chaque sens) par les cul-de-sac si il y en a.
|
distance | public double distance(Noeud noeud)(Code) | | Distance euclidienne entre le noeud et self
|
faces | public List faces()(Code) | | Renvoie la face à gauche et à droite de self
|
getCoord | public DirectPositionList getCoord()(Code) | | Renvoie la liste de DirectPosition qui définit les coordonnées de self
|
getFaceDroite | public Face getFaceDroite()(Code) | | Renvoie la face à droite de self
|
getFaceGauche | public Face getFaceGauche()(Code) | | Renvoie la face à gauche de self
|
getGeometrie | public GM_LineString getGeometrie()(Code) | | Renvoie le GM_LineString qui définit la géométrie de self
|
getListeGroupes | public Collection getListeGroupes()(Code) | | Renvoie la liste des groupes de self
|
getNoeudFin | public Noeud getNoeudFin()(Code) | | Renvoie le noeud final de self
|
getNoeudIni | public Noeud getNoeudIni()(Code) | | Renvoie le noeud initial de self
|
getOrientation | public int getOrientation()(Code) | | Renvoie l'orientation. L'orientation vaut 2 dans les deux sens, -1 en sens indirect et 1 en sens direct
|
getPoids | public double getPoids()(Code) | | Renvoie le poids de l'arc, pour les calculs de plus court chemin
|
getRectangleEnglobant | public Rectangle getRectangleEnglobant()(Code) | | Rectangle englobant de l'arc, orienté le long des axes des x,y.
NB: le rectangle est calculé au premier appel de cette fonction.
Si l'arc est modifié, la valeur n'est pas mise à jour : il faut le faire explicitement au besoin avec calculeRectangleEnglobant.
|
hausdorff | public double hausdorff(Arc arc)(Code) | | Distance de Hausdorff entre self et l'arc.
Elle est calculee comme le maximum des distances d'un point intermediaire
d'une des lignes a l'autre ligne. Dans certains cas cette definition
differe de la definition theorique car la distance de Hausdorff ne se
realise pas necessairement sur un point intermediaire. Mais cela est rare
sur des données réel. Cette implementation est un bon compromis entre
simplicité et précision.
NB : défini en théorie à 3D, mais non vérifié en profondeur
|
longueur | public double longueur()(Code) | | Longueur euclidienne de l'arc. Est calculé en 3D si la géométrie est définie en 3D
|
noeuds | public List noeuds()(Code) | | Renvoie le noeud initial et final de self
|
premiereComposanteHausdorff | public double premiereComposanteHausdorff(Arc arc)(Code) | | Première composante de la distance de Hausdorff de self vers l'arc.
Elle est calculee comme le maximum des distances d'un point intermediaire
de self à l'arc. Cette approximation peut différer sensiblement
de la definition theorique.
NB : défini en théorie à 3D, mais non vérifié en profondeur
|
proche | protected boolean proche(Arc arc, double distance)(Code) | | |
projeteEtDecoupe | public void projeteEtDecoupe(GM_Point P)(Code) | | Projete le point P sur l'arc et découpe l'arc en 2 avec ce point projeté.
NB: si la projection tombe sur une extrémité de l'arc : ne fait rien.
|
setCoord | public void setCoord(DirectPositionList dpl)(Code) | | Définit la liste de DirectPosition qui définit les coordonnées de self
|
setFaceDroite | public void setFaceDroite(Face face)(Code) | | Définit la face à droite de self.
NB: met à jour la relation inverse "arsc indirects" de face
|
setFaceGauche | public void setFaceGauche(Face face)(Code) | | Définit la face à gauche de self.
NB: met à jour la relation inverse "arsc directs" de face
|
setGeometrie | public void setGeometrie(GM_LineString geometrie)(Code) | | Définit le GM_LineString qui définit la géométrie de self
|
setListegroupes | public void setListegroupes(Collection liste)(Code) | | Définit la liste des groupes de self
|
setNoeudFin | public void setNoeudFin(Noeud noeud)(Code) | | Définit le noeud final de self.
NB: met à jour la relation inverse "entrants" de noeud
|
setNoeudIni | public void setNoeudIni(Noeud noeud)(Code) | | Définit le noeud initial de self.
NB: met à jour la relation inverse "sortants" de noeud
|
setOrientation | public void setOrientation(int orientation)(Code) | | Définit l'orientation. L'orientation vaut 2 dans les deux sens, -1 en sens indirect et 1 en sens direct
|
setPoids | public void setPoids(double d)(Code) | | Définit le poids de l'arc, pour les calculs de plus court chemin
|
Methods inherited from fr.ign.cogit.geoxygene.contrib.cartetopo.ElementCarteTopo | public CarteTopo getCarteTopo()(Code)(Java Doc)
|
|
|