GMap3d::CGMap Class Reference

#include <g-map.hh>

Inherits GMap3d::CGMapBasic.

Inherited by GMap3d::CGMapGeneric.

Collaboration diagram for GMap3d::CGMap:

Collaboration graph
[legend]

List of all members.

Public Member Functions

bool canSew (CDart *ADart1, CDart *ADart2, int ADimension)
void sew (CDart *ADart1, CDart *ADart2, int ADimension)
void unsew (CDart *ADart, int ADimension)
 CGMap ()
virtual ~CGMap ()
bool canSew0 (CDart *ADart1, CDart *ADart2)
bool canSew1 (CDart *ADart1, CDart *ADart2)
bool canSew2 (CDart *ADart1, CDart *ADart2)
bool canSew3 (CDart *ADart1, CDart *ADart2)
void sew0 (CDart *ADart1, CDart *ADart2)
void sew1 (CDart *ADart1, CDart *ADart2)
void sew2 (CDart *ADart1, CDart *ADart2)
void sew3 (CDart *ADart1, CDart *ADart2)
void unsew0 (CDart *ADart)
void unsew1 (CDart *ADart)
void unsew2 (CDart *ADart)
void unsew3 (CDart *ADart)
Méthodes pour récupérer des parcours étant donné un brin et une
orbite. Voir les différents types de parcours dans dynamic-coverage.hh et static-coverage.hh.

CCoveragegetDynamicCoverage (const CDart *ADart, TOrbit AOrbit)
CCoveragegetStaticCoverage (const CDart *ADart, TOrbit AOrbit)
CCoveragegetMultiDynamicCoverage (const CDart *ADart, TOrbit AOrbit)
CCoveragegetBasicDynamicCoverage (const CDart *ADart, TOrbit AOrbit, int AMarkNumber)
Méthodes pour récupérer des parcours étant donné un brin et une
CAttributegetAttribute (const CDart *ADart, TOrbit, TAttributeId)
void addAttribute (CDart *ADart, TOrbit, CAttribute *)
CAttributeremoveAttribute (CDart *ADart, TOrbit, TAttributeId)
void deleteAttribute (CDart *ADart, TOrbit, TAttributeId)
bool isSameOrbit (CDart *ADart1, CDart *ADart2, TOrbit AOrbit)
CDartgetEmbeddingOwner (const CDart *ADart, TOrbit AOrbit)
Méthodes "non-sûres" pour la coutures. Le résultat de ces
méthodes entraîne l'obtention d'un objet éventuellement non valide (une 3-G-carte ne vérifiant pas les contraintes sur les alpha, ou plusieurs attributs sur une même orbite...). La responsabilité de la validité est laissé à l'appelant. Ces méthodes servent malgré tout pour optimiser des traitements particulier. A UTILISER AVEC ATTENTION.

void dartSew0 (CDart *, CDart *ADart2)
void dartSew1 (CDart *, CDart *ADart2)
void dartSew2 (CDart *, CDart *ADart2)
void dartSew3 (CDart *, CDart *ADart2)
void dartSew (CDart *, CDart *ADart2, int ADimension)
void dartUnsew0 (CDart *ADart)
void dartUnsew1 (CDart *ADart)
void dartUnsew2 (CDart *ADart)
void dartUnsew3 (CDart *ADart)
void dartUnsew (CDart *ADart, int ADimension)
void topoSew0 (CDart *ADart1, CDart *ADart2)
void topoSew1 (CDart *ADart1, CDart *ADart2)
void topoSew2 (CDart *ADart1, CDart *ADart2)
void topoSew3 (CDart *ADart1, CDart *ADart2)
void topoSew (CDart *ADart1, CDart *ADart2, int ADimension)
void topoUnsew0 (CDart *ADart)
void topoUnsew1 (CDart *ADart)
void topoUnsew2 (CDart *ADart)
void topoUnsew3 (CDart *ADart)
void topoUnsew (CDart *ADart, int ADimension)

Private Member Functions

bool isValidOrbit (CDart *ADart, TOrbit AOrbit)
void groupAttributes (CDart *ADart1, CDart *ADart2, TMask16)
void duplicateAttributes (CDart *ADart1, CDart *ADart2, TMask16)
bool isSameOrbit (CDart *ADart1, CDart *ADart2, TOrbit AOrbit, CDart *&ADartEmbeddingOwner1)


Detailed Description

Cette classe fournit tous les outils de base pour manipuler une G-carte, et notamment :

Author:
MOKA TEAM

Definition at line 49 of file g-map.hh.


Constructor & Destructor Documentation

INLINE GMap3d::CGMap::CGMap (  ) 

Constructeur.

Definition at line 35 of file g-map.icc.

CGMap::~CGMap (  )  [virtual]

Destructeur.

Definition at line 29 of file g-map.cc.


Member Function Documentation

INLINE void GMap3d::CGMap::addAttribute ( CDart ADart,
TOrbit  orbit,
CAttribute A 
)

Ajoute l'attribut donné à l'orbite donné du brin ADart. ATTENTION : cette méthode ne doit pas être appelé si un tel attribut existe déjà. Cette précondition doit être assurée par l'appelant. À UTILISER AVEC ATTENTION.

Definition at line 191 of file g-map.icc.

INLINE bool GMap3d::CGMap::canSew ( CDart ADart1,
CDart ADart2,
int  ADimension 
)

Parameters:
ADart1 et ADart2 Deux brins
ADimension Une dimension
Returns:
si la [ADimension]-couture de ces deux brins est possible.

Definition at line 352 of file g-map.icc.

INLINE bool GMap3d::CGMap::canSew0 ( CDart ADart1,
CDart ADart2 
)

Parameters:
ADart1 et ADart2 Deux brins
Returns:
vrai si la [i]-couture de ces deux brins est possible, faux sinon.

Definition at line 325 of file g-map.icc.

INLINE bool GMap3d::CGMap::canSew1 ( CDart ADart1,
CDart ADart2 
)

Definition at line 332 of file g-map.icc.

INLINE bool GMap3d::CGMap::canSew2 ( CDart ADart1,
CDart ADart2 
)

Definition at line 339 of file g-map.icc.

INLINE bool GMap3d::CGMap::canSew3 ( CDart ADart1,
CDart ADart2 
)

Definition at line 346 of file g-map.icc.

INLINE void GMap3d::CGMap::dartSew ( CDart ADart1,
CDart ADart2,
int  ADimension 
)

Definition at line 406 of file g-map.icc.

INLINE void GMap3d::CGMap::dartSew0 ( CDart ADart1,
CDart ADart2 
)

[i]-couture géométrique des 2 brins uniquement (et pas de toute l'orbite contrairement à sew[i]). Les attributs sont mis à jour lorsque c'est nécessaire (quand deux orbites sont fusionnées et que chacune avait un attribut).

Parameters:
ADart1 et ADart2 Deux brins

Definition at line 378 of file g-map.icc.

INLINE void GMap3d::CGMap::dartSew1 ( CDart ADart1,
CDart ADart2 
)

Definition at line 385 of file g-map.icc.

INLINE void GMap3d::CGMap::dartSew2 ( CDart ADart1,
CDart ADart2 
)

Definition at line 392 of file g-map.icc.

INLINE void GMap3d::CGMap::dartSew3 ( CDart ADart1,
CDart ADart2 
)

Definition at line 399 of file g-map.icc.

INLINE void GMap3d::CGMap::dartUnsew ( CDart ADart,
int  ADimension 
)

Definition at line 462 of file g-map.icc.

INLINE void GMap3d::CGMap::dartUnsew0 ( CDart ADart  ) 

[i]-décousure géométrique uniquement du brin (et pas de toute l'orbite contrairement à unsew[i]). Les attributs sont mis à jour lorsque c'est nécessaire (quand on coupe une orbites en deux).

Parameters:
ADart Un brin

Definition at line 418 of file g-map.icc.

INLINE void GMap3d::CGMap::dartUnsew1 ( CDart ADart  ) 

Definition at line 429 of file g-map.icc.

INLINE void GMap3d::CGMap::dartUnsew2 ( CDart ADart  ) 

Definition at line 440 of file g-map.icc.

INLINE void GMap3d::CGMap::dartUnsew3 ( CDart ADart  ) 

Definition at line 451 of file g-map.icc.

INLINE void GMap3d::CGMap::deleteAttribute ( CDart ADart,
TOrbit  orbit,
TAttributeId  typeAttr 
)

Détruit l'attribut de type donné appartenant à l'orbite donné du brin ADart et enlève cet attribut de cette orbite. Rien ne se passe si un tel attribut n'existe pas.

Definition at line 217 of file g-map.icc.

INLINE void GMap3d::CGMap::duplicateAttributes ( CDart ADart1,
CDart ADart2,
TMask16  AMask 
) [private]

Met à jour tout les attributs des deux brins lorsque c'est nécessaire. Cette méthode est appelée après une opération de décousure. Elle teste pour chaque orbite qui ont été concernés par la décousure, s'il existe un embedding d'un coté et pas de l'autre. Si c'est le cas, l'embedding existant est dupliqué (méthode copy de la classe CEmbedding) et ajouté du coté qui n'en avait pas.

Parameters:
ADart1 et ADart2 Deux brins
AMask un masque de 16 booléens.

Definition at line 292 of file g-map.icc.

INLINE CAttribute * GMap3d::CGMap::getAttribute ( const CDart ADart,
TOrbit  orbit,
TAttributeId  typeAttr 
)

Returns:
Un pointeur vers l'attribut de type donné appartenant à l'orbite donné du brin ADart. NULL si un tel attribut n'existe pas.

Definition at line 178 of file g-map.icc.

INLINE CCoverage * GMap3d::CGMap::getBasicDynamicCoverage ( const CDart ADart,
TOrbit  AOrbit,
int  AMarkNumber 
)

Definition at line 101 of file g-map.icc.

INLINE CCoverage * GMap3d::CGMap::getDynamicCoverage ( const CDart ADart,
TOrbit  AOrbit 
)

Definition at line 41 of file g-map.icc.

INLINE CDart * GMap3d::CGMap::getEmbeddingOwner ( const CDart ADart,
TOrbit  AOrbit 
)

Parameters:
ADart Un brin
AOrbit Une orbite
Returns:
un pointeur vers le brin appartenant à l'orbite <AOrbit> de ADart contenant l'embedding pour cette orbite. Retourne NULL si un tel brin n'existe pas (pas d'embedding).

Definition at line 155 of file g-map.icc.

INLINE CCoverage * GMap3d::CGMap::getMultiDynamicCoverage ( const CDart ADart,
TOrbit  AOrbit 
)

Definition at line 126 of file g-map.icc.

INLINE CCoverage * GMap3d::CGMap::getStaticCoverage ( const CDart ADart,
TOrbit  AOrbit 
)

Definition at line 71 of file g-map.icc.

INLINE void GMap3d::CGMap::groupAttributes ( CDart ADart1,
CDart ADart2,
TMask16  AMask 
) [private]

Met à jour tout les attributs des deux brins lorsque c'est nécessaire. Cette méthode est appelée avant une opération de couture. Elle teste pour chaque orbite qui vont être regroupé par la couture, s'il existe un embedding à la fois pour l'orbite contenant ADart1 et celle contenant ADart2. Si c'est le cas, l'embedding associé à ADart1 est supprimée, et l'embedding de ADart2 récupère les éventuels attributs qu'il n'avait pas déjà. Les autres attributs sont détruits.

Parameters:
ADart1 et ADart2 Deux brins
AMask un masque de 16 booléens.

Definition at line 258 of file g-map.icc.

INLINE bool GMap3d::CGMap::isSameOrbit ( CDart ADart1,
CDart ADart2,
TOrbit  AOrbit,
CDart *&  ADartEmbeddingOwner1 
) [private]

Optimisation pour les méthodes {duplicate/group}Attributes

Méthode équivalente à isSameOrbit. Le paramètre ADartEmbeddingOwner1 contient le propriétaire de l'embedding si celui-ci est trouvé lors du parcours, sinon NULL. Méthode équivalente à : if (isSameOrbit(ADart1,ADart2)) ADartEmbeddingOwner1=getEmbeddingOwner(ADart1,AOrbit); mais en un seul parcours de l'orbite.

Definition at line 223 of file g-map.icc.

INLINE bool GMap3d::CGMap::isSameOrbit ( CDart ADart1,
CDart ADart2,
TOrbit  AOrbit 
)

Parameters:
ADart1 et ADart2 Deux brins
AOrbit Une orbite
Returns:
vrai si ADart1 et ADart2 appartiennent à la même orbite <AOrbit> faux sinon

Definition at line 139 of file g-map.icc.

INLINE bool GMap3d::CGMap::isValidOrbit ( CDart ADart,
TOrbit  AOrbit 
) [private]

Teste si l'orbite <AOrbit>(ADart) est localement valide, c'est-à-dire si les compositions d'involution contenues dans AOrbit sont vérifiées pour le brin ADart (attention, la vérification n'est pas faite pour toute l'orbite).

Parameters:
ADart un brin
AOrbit une orbite
Returns:
un booléen indiquant si l'orbite est localement valide

Definition at line 246 of file g-map.icc.

INLINE CAttribute * GMap3d::CGMap::removeAttribute ( CDart ADart,
TOrbit  orbit,
TAttributeId  typeAttr 
)

Returns:
Un pointeur vers l'attribut de type donné appartenant à l'orbite donné du brin ADart et enlève cet attribut de cette orbite. Retourne NULL si un tel attribut n'existe pas.

Definition at line 203 of file g-map.icc.

INLINE void GMap3d::CGMap::sew ( CDart ADart1,
CDart ADart2,
int  ADimension 
)

Couture géométrique des deux brins pour la dimension donnée (cf. sew[i])

Parameters:
ADart1 et ADart2 Deux brins
ADimension Une dimension canSew(ADart1, ADart2, ADimension)

Definition at line 698 of file g-map.icc.

INLINE void GMap3d::CGMap::sew0 ( CDart ADart1,
CDart ADart2 
)

[i]-couture géométrique des 2 brins. Les attributs sont mis à jour lorsque c'est nécessaire (quand deux orbites sont fusionnées et que chacune avait un attribut). De plus, la couture est effectuée sur l'orbite concernée afin de garantir la validité de la G-carte obtenue.

Parameters:
ADart1 et ADart2 Deux brins canSew[i](ADart1, ADart2)

Definition at line 585 of file g-map.icc.

INLINE void GMap3d::CGMap::sew1 ( CDart ADart1,
CDart ADart2 
)

Definition at line 624 of file g-map.icc.

INLINE void GMap3d::CGMap::sew2 ( CDart ADart1,
CDart ADart2 
)

Definition at line 641 of file g-map.icc.

INLINE void GMap3d::CGMap::sew3 ( CDart ADart1,
CDart ADart2 
)

Definition at line 659 of file g-map.icc.

INLINE void GMap3d::CGMap::topoSew ( CDart ADart1,
CDart ADart2,
int  ADimension 
)

Definition at line 521 of file g-map.icc.

INLINE void GMap3d::CGMap::topoSew0 ( CDart ADart1,
CDart ADart2 
)

[i]-couture topologique des 2 brins (les attributs ne sont pas mis à jour contrairement à sew[i]). La couture est effectuée sur l'orbite concernée afin de garantir la validité de la G-carte obtenue.

Parameters:
ADart1 et ADart2 Deux brins canSew[i](ADart1, ADart2)

Definition at line 474 of file g-map.icc.

INLINE void GMap3d::CGMap::topoSew1 ( CDart ADart1,
CDart ADart2 
)

Definition at line 486 of file g-map.icc.

INLINE void GMap3d::CGMap::topoSew2 ( CDart ADart1,
CDart ADart2 
)

Definition at line 497 of file g-map.icc.

INLINE void GMap3d::CGMap::topoSew3 ( CDart ADart1,
CDart ADart2 
)

Definition at line 509 of file g-map.icc.

INLINE void GMap3d::CGMap::topoUnsew ( CDart ADart,
int  ADimension 
)

Definition at line 573 of file g-map.icc.

INLINE void GMap3d::CGMap::topoUnsew0 ( CDart ADart  ) 

[i]-décousure topologique (les attributs ne sont pas mis à jour contrairement à unsew[i]). La décousure est effectuée sur l'orbite concernée afin de garantir la validité de la G-carte obtenue.

Parameters:
ADart Un brin

Definition at line 533 of file g-map.icc.

INLINE void GMap3d::CGMap::topoUnsew1 ( CDart ADart  ) 

Definition at line 543 of file g-map.icc.

INLINE void GMap3d::CGMap::topoUnsew2 ( CDart ADart  ) 

Definition at line 553 of file g-map.icc.

INLINE void GMap3d::CGMap::topoUnsew3 ( CDart ADart  ) 

Definition at line 563 of file g-map.icc.

INLINE void GMap3d::CGMap::unsew ( CDart ADart,
int  ADimension 
)

Décousure géométrique du brin pour la dimension donnée. (cf. unsew[i])

Parameters:
ADart Un brin
ADimension Une dimension

Definition at line 840 of file g-map.icc.

INLINE void GMap3d::CGMap::unsew0 ( CDart ADart  ) 

[i]-décousure géométrique. Les attributs sont mis à jour lorsque c'est nécessaire (quand on coupe une orbites en deux). De plus, la décousure est effectuée sur l'orbite concernée afin de garantir la validité de la G-carte obtenue.

Parameters:
ADart Un brin

Definition at line 711 of file g-map.icc.

INLINE void GMap3d::CGMap::unsew1 ( CDart ADart  ) 

Definition at line 753 of file g-map.icc.

INLINE void GMap3d::CGMap::unsew2 ( CDart ADart  ) 

Definition at line 776 of file g-map.icc.

INLINE void GMap3d::CGMap::unsew3 ( CDart ADart  ) 

Definition at line 799 of file g-map.icc.


The documentation for this class was generated from the following files:

Generated on Tue Jul 7 15:20:28 2009 for Moka gmapkernel by  doxygen 1.5.8