GMap3d::CGMapBasic Class Reference

#include <g-map-basic.hh>

Inherited by GMap3d::CGMap.

Collaboration diagram for GMap3d::CGMapBasic:

Collaboration graph
[legend]

List of all members.

Public Member Functions

bool isFree (const CDart *ADart, int ADimension) const
CDartalpha (const CDart *ADart, int ADimension) const
void linkAlpha (CDart *ADart1, CDart *ADart2, int ADimension)
void unlinkAlpha (CDart *ADart, int ADimension)
 CGMapBasic ()
virtual ~CGMapBasic ()
void randomizeDarts ()
void removeAllDarts ()
virtual void empty ()
int getNewDirectInfo ()
void freeDirectInfo (int ADirectIndex)
void * getDirectInfo (CDart *ADart, int ADirectIndex) const
void setDirectInfo (CDart *ADart, int ADirectIndex, void *APointer)
CDartgetFirstDart () const
void setFirstDart (CDart *ADart)
int getNewMark ()
bool getMaskMark (int AMarkNumber) const
void freeMark (int AMarkNumber)
void negateMaskMark (int AMarkNumber)
bool isWholeMapUnmarked (int AMarkNumber)
int getNbUsedMarks () const
bool isMarked (const CDart *ADart, int AMarkNumber) const
void setMarkTo (CDart *ADart, int AMarkNumber, bool AState)
void setMark (CDart *ADart, int AMarkNumber)
void unsetMark (CDart *ADart, int AMarkNumber)
void setMarks (CDart *ADart, const std::bitset< NB_MARKS > &AMarks) const
std::bitset< NB_MARKS > getMarks (CDart *ADart) const
bool isOrbitUsed (TOrbit AOrbit) const
void setOrbitUsed (TOrbit AOrbit)
void unsetOrbitUsed (TOrbit AOrbit)
bool isOrbitUsed (CDart *ADart, TOrbit AOrbit) const
virtual CDartnewDart ()
virtual void delDart (CDart *ADart)
CDartaddMapDart ()
void delMapDart (CDart *ADart)
Accès aux involutions
Attention, les méthodes d'accès en écritures qui suivent ne sont pas sûres car elles ne préservent pas forcément les contraintes des cartes. Elles ne mettent pas non plus à jour les éventuels plongements.

bool isFree0 (const CDart *ADart) const
bool isFree1 (const CDart *ADart) const
bool isFree2 (const CDart *ADart) const
bool isFree3 (const CDart *ADart) const
CDartalpha0 (const CDart *ADart) const
CDartalpha1 (const CDart *ADart) const
CDartalpha2 (const CDart *ADart) const
CDartalpha3 (const CDart *ADart) const
void linkAlpha0 (CDart *ADart1, CDart *ADart2)
void linkAlpha1 (CDart *ADart1, CDart *ADart2)
void linkAlpha2 (CDart *ADart1, CDart *ADart2)
void linkAlpha3 (CDart *ADart1, CDart *ADart2)
void unlinkAlpha0 (CDart *ADart)
void unlinkAlpha1 (CDart *ADart)
void unlinkAlpha2 (CDart *ADart)
void unlinkAlpha3 (CDart *ADart)

Protected Attributes

CDartFFirstDart
std::bitset< NB_MARKS > FUsedMarks
std::bitset< NB_MARKS > FMaskMarks
int FMarks [NB_MARKS]
std::bitset< 16 > FUsedOrbits
std::bitset< NB_DIRECT_INFO > FUsedDirectInfo
int FDirectInfos [NB_DIRECT_INFO]

Private Attributes

int FNbUsedMarks
int FNbUsedDirectInfos
int FMaxNbUsedMarks
int FMaxNbUsedDirectInfos


Detailed Description

Cette classe regroupe uniquement des méthodes de base :

Les méthodes permettant d'explorer la carte et de gérer les plongements sont définies dans la classe CGMap.

Author:
MOKA TEAM

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


Constructor & Destructor Documentation

INLINE GMap3d::CGMapBasic::CGMapBasic (  ) 

Constructeur.

Definition at line 184 of file g-map-basic.icc.

CGMapBasic::~CGMapBasic (  )  [virtual]

Destructeur.

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


Member Function Documentation

INLINE CDart * GMap3d::CGMapBasic::addMapDart (  ) 

Permet de créer un nouveau brin (avec la méthode addDart()) et de l'insérer dans la carte.

Returns:
Le brin inséré

Reimplemented in GMap3d::CGMapVertex.

Definition at line 57 of file g-map-basic.icc.

INLINE CDart * GMap3d::CGMapBasic::alpha ( const CDart ADart,
int  ADimension 
) const

Parameters:
ADart Un brin de la carte
ADimension Une dimension comprise entre 0 et 3 inclus
Returns:
l'image par alpha-ADimension de ADart.

Definition at line 221 of file g-map-basic.icc.

INLINE CDart * GMap3d::CGMapBasic::alpha0 ( const CDart ADart  )  const

Parameters:
ADart Un brin de la carte
Returns:
L'image par alpha-i de ADart

Definition at line 227 of file g-map-basic.icc.

INLINE CDart * GMap3d::CGMapBasic::alpha1 ( const CDart ADart  )  const

Definition at line 233 of file g-map-basic.icc.

INLINE CDart * GMap3d::CGMapBasic::alpha2 ( const CDart ADart  )  const

Definition at line 239 of file g-map-basic.icc.

INLINE CDart * GMap3d::CGMapBasic::alpha3 ( const CDart ADart  )  const

Definition at line 245 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::delDart ( CDart ADart  )  [virtual]

Permet de détruire un brin. Cette méthode doit être surchargée dans les classes qui dérivent de CGMapBasic. N'utilisez pas cette méthode mais la méthode delMapDart() pour supprimer un brin de la carte.

Parameters:
ADart Un brin de la carte

Reimplemented in GMap3d::CGMapVertex.

Definition at line 51 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::delMapDart ( CDart ADart  ) 

Ote un brin de la liste des brins de la carte, puis le supprime avec la méthode delDart().

Parameters:
ADart Le brin à supprimer

Definition at line 76 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::empty (  )  [virtual]

Réinitialise la carte. La méthode removeAllDarts est appelée, puis toutes les marques, champs direct-info, etc, sont réinitialisés.

Reimplemented in GMap3d::CGMapVertex.

Definition at line 156 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::freeDirectInfo ( int  ADirectIndex  ) 

Libère un champ direct-info préalablement réservé avec la méthode getNewDirectInfo.

Parameters:
ADirectIndex Un indice de champ direct-info.

Definition at line 268 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::freeMark ( int  AMarkNumber  ) 

Libère la marque AMarkNumber préalablement réservée avec la méthode getNewMark().

Parameters:
AMarkNumber 

Definition at line 381 of file g-map-basic.icc.

INLINE void * GMap3d::CGMapBasic::getDirectInfo ( CDart ADart,
int  ADirectIndex 
) const

Retourne la valeur du champ direct-info[ADirectIndex] du brin ADart.

Parameters:
ADart Un brin de la carte
ADirectIndex Un indice de champ direct-info
Returns:
Un pointeur

Definition at line 278 of file g-map-basic.icc.

INLINE CDart * GMap3d::CGMapBasic::getFirstDart (  )  const

Retourne le brin situé en tête de la liste des brins de la carte.

Returns:
Le premier brin de la carte

Definition at line 33 of file g-map-basic.icc.

INLINE std::bitset< NB_MARKS > GMap3d::CGMapBasic::getMarks ( CDart ADart  )  const

Retourne l'état des marques du brin, en tenant compte du masque des marques.

Parameters:
ADart Un brin de la carte
Returns:
L'état des marques du brin

Definition at line 312 of file g-map-basic.icc.

INLINE bool GMap3d::CGMapBasic::getMaskMark ( int  AMarkNumber  )  const

Retourne l'état de la marque. Initialement, cette valeur vaut false. Elle est modifiée à chaque appel à la méthode negateMaskMark().

Parameters:
AMarkNumber Un numéro de marque
Returns:
Un booléen indiquant l'état de la marque

Definition at line 294 of file g-map-basic.icc.

INLINE int GMap3d::CGMapBasic::getNbUsedMarks (  )  const

Cette méthode permet de savoir à tout moment combien de marques sont utilisées simultanément. Sert au debugging.

Returns:
Le nombre de marques utilisées

Definition at line 300 of file g-map-basic.icc.

INLINE int GMap3d::CGMapBasic::getNewDirectInfo (  ) 

Réserve un champ direct info libre.

Returns:
L'indice du champ direct-info réservé.

Definition at line 251 of file g-map-basic.icc.

INLINE int GMap3d::CGMapBasic::getNewMark (  ) 

Réserve une marque inutilisée de la carte.

Returns:
Un numéro de marque

Definition at line 318 of file g-map-basic.icc.

INLINE bool GMap3d::CGMapBasic::isFree ( const CDart ADart,
int  ADimension 
) const

Teste si le brin ADart est libre en dimension ADimension, c'est-à-dire s'il est sa propre image par alpha-ADimension.

Parameters:
ADart Un brin de la carte
ADimension Une dimension comprise entre 0 et 3 inclus

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

INLINE bool GMap3d::CGMapBasic::isFree0 ( const CDart ADart  )  const

Teste si le brin ADart est libre par alpha-i, c'est-à-dire s'il est sa propre image par alpha-i.

Parameters:
ADart Un brin de la carte

Definition at line 197 of file g-map-basic.icc.

INLINE bool GMap3d::CGMapBasic::isFree1 ( const CDart ADart  )  const

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

INLINE bool GMap3d::CGMapBasic::isFree2 ( const CDart ADart  )  const

Definition at line 209 of file g-map-basic.icc.

INLINE bool GMap3d::CGMapBasic::isFree3 ( const CDart ADart  )  const

Definition at line 215 of file g-map-basic.icc.

INLINE bool GMap3d::CGMapBasic::isMarked ( const CDart ADart,
int  AMarkNumber 
) const

Teste si la marque AMarkNumber du brin ADart est activée. Cette méthode est redirigée sur la méthode équivalente de CDart.

Parameters:
ADart Un brin de la carte
AMarkNumber Un numéro de marque
Returns:
Un booléen indiquant l'état de la marque AMarkNumber du brin ADart.

Definition at line 343 of file g-map-basic.icc.

INLINE bool GMap3d::CGMapBasic::isOrbitUsed ( CDart ADart,
TOrbit  AOrbit 
) const

Permet de savoir si un brin contient un plongement sans avoir à parcourir la liste de ses attributs.

Parameters:
ADart Un brin de la carte
AOrbit Une des 16 orbites classiques
Returns:
Un booléen indiquant si l'orbite AOrbit du brin ADart contient un plongement

Definition at line 400 of file g-map-basic.icc.

INLINE bool GMap3d::CGMapBasic::isOrbitUsed ( TOrbit  AOrbit  )  const

Permet de savoir si une orbite est utilisée. Cette méthode est utilisée par la classe CGMap pour la gestion des plongements.

Parameters:
AOrbit Une des 16 orbites classiques (pas les orbites de bord)
Returns:
Un booléen indiquant si l'orbite est utilisée

Definition at line 394 of file g-map-basic.icc.

INLINE bool GMap3d::CGMapBasic::isWholeMapUnmarked ( int  AMarkNumber  ) 

Cette méthode est utilisée (en assertion) par la méthode freeMark. En effet, lorqu'on libère une marque, il faut nécessairement que tous les brins de la carte soient démarqués.

Parameters:
AMarkNumber Un numéro de marque
Returns:
Un booléen indiquant si tous les brins de la carte sont démarqués

Definition at line 371 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::linkAlpha ( CDart ADart1,
CDart ADart2,
int  ADimension 
)

Lie par alpha-ADimension les brins ADart1 et ADart2.

Parameters:
ADart1 Un brin de la carte
ADart2 Un brin de la carte
ADimension Une dimension entre 0 et 3 inclus.

Definition at line 427 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::linkAlpha0 ( CDart ADart1,
CDart ADart2 
)

Lie par alpha-[i] les brins ADart1 et ADart2.

Parameters:
ADart1 Un brin de la carte
ADart2 Un brin de la carte

Definition at line 436 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::linkAlpha1 ( CDart ADart1,
CDart ADart2 
)

Definition at line 442 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::linkAlpha2 ( CDart ADart1,
CDart ADart2 
)

Definition at line 448 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::linkAlpha3 ( CDart ADart1,
CDart ADart2 
)

Definition at line 454 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::negateMaskMark ( int  AMarkNumber  ) 

Inverse l'état d'une marque. Cette méthode permet de changer l'état de la marque AMarkNumber de tous les brins de la carte en O(1). C'est utile par exemple pour démarquer tous les brins à la fin d'un traitement.

Parameters:
AMarkNumber Un numéro de marque

Definition at line 335 of file g-map-basic.icc.

INLINE CDart * GMap3d::CGMapBasic::newDart (  )  [virtual]

Permet de créer un nouveau brin. Cette méthode doit être surchargée dans les classes qui dérivent de CGMapBasic (car un constructeur ne peut être virtuel). N'utilisez pas cette méthode mais la méthode addMapDart() pour insérer un nouveau brin dans la carte.

Returns:
Un nouveau brin de la carte

Reimplemented in GMap3d::CGMapVertex.

Definition at line 45 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::randomizeDarts (  ) 

Secoue la liste des brins pour avoir un ordre aléatoire. n'a pas d'effet sur le contenue de la carte mais juste sur l'ordre dans lequel seront parcouru les brins.

Definition at line 98 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::removeAllDarts (  ) 

Vide la carte. Tous les brins sont détruits.

Definition at line 141 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::setDirectInfo ( CDart ADart,
int  ADirectIndex,
void *  APointer 
)

Affecte la valeur APointer au champ direct-info[ADirectIndex] du brin ADart.

Parameters:
ADart Un brin de la carte
ADirectIndex Un indice de champ direct-info
APointer La valeur à affecter

Definition at line 286 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::setFirstDart ( CDart ADart  ) 

Définit le premier brin de la carte.

Parameters:
ADart Un brin de la carte.

Definition at line 39 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::setMark ( CDart ADart,
int  AMarkNumber 
)

Permet d'activer la marque AMarkNumber du brin ADart. Cette méthode équivaut à setMarkTo(ADart, AMarkNumber, true).

Parameters:
ADart Un brin de la carte
AMarkNumber Un numéro de marque

Definition at line 359 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::setMarks ( CDart ADart,
const std::bitset< NB_MARKS > &  AMarks 
) const

Cette méthode permet d'initialiser toutes les marques du brin ADart. AMarks est modifié pour prendre en comte le masque des marques.

Parameters:
ADart Un brin de la carte
AMarks un tableau indiquant l'état de toutes les marques

Definition at line 306 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::setMarkTo ( CDart ADart,
int  AMarkNumber,
bool  AState 
)

Permet de modifier l'état de la marque AMarkNumber du brin ADart. Cette méthode est redirigée sur la méthode équivalente de CDart.

Parameters:
ADart Un brin de la carte
AMarkNumber Un numéro de marque
AState Un booléen indiquant s'il faut activer ou désactiver la marque

Definition at line 351 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::setOrbitUsed ( TOrbit  AOrbit  ) 

Permet d'activer l'utilisation d'une orbite. Lorsqu'une orbite est activée, les plongements qui lui correspondent sont mis à jour lors des opérations de couture et de décousure (celles avec gestion des plongements de la classe CGMap).

Parameters:
AOrbit Une orbite classique (pas une orbite de bord)

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

INLINE void GMap3d::CGMapBasic::unlinkAlpha ( CDart ADart,
int  ADimension 
)

Délie par alpha-ADimension les brins ADart et alpha-ADimension(ADart2).

Parameters:
ADart1 Un brin de la carte
ADart2 Un brin de la carte
ADimension Une dimension entre 0 et 3 inclus.

Definition at line 460 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::unlinkAlpha0 ( CDart ADart  ) 

Délie par alpha-[i] les brins ADart et alpha-[i](ADart).

Parameters:
ADart Un brin de la carte

Definition at line 469 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::unlinkAlpha1 ( CDart ADart  ) 

Definition at line 475 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::unlinkAlpha2 ( CDart ADart  ) 

Definition at line 481 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::unlinkAlpha3 ( CDart ADart  ) 

Definition at line 487 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::unsetMark ( CDart ADart,
int  AMarkNumber 
)

Permet de désactiver la marque AMarkNumber du brin ADart. Cette méthode équivaut à setMarkTo(ADart, AMarkNumber, false).

Parameters:
ADart Un brin de la carte
AMarkNumber Un numéro de marque

Definition at line 365 of file g-map-basic.icc.

INLINE void GMap3d::CGMapBasic::unsetOrbitUsed ( TOrbit  AOrbit  ) 

Permet de désactiver l'utilistion d'une orbite. Lorsqu'une orbite est désactivée, auncun plongement qui lui correspond n'est mis à jour par les opérations de couture et de décousure de la classe CGMap. Initialement, toutes les orbites sont désactivées.

Parameters:
AOrbit Une orbite classique (pas une orbite de bord)

Definition at line 412 of file g-map-basic.icc.


Member Data Documentation

int GMap3d::CGMapBasic::FDirectInfos[NB_DIRECT_INFO] [protected]

Liste des champs directInfo libres.

Definition at line 461 of file g-map-basic.hh.

Premier brin de la liste des brins de la carte.

Definition at line 443 of file g-map-basic.hh.

int GMap3d::CGMapBasic::FMarks[NB_MARKS] [protected]

Liste des marques libres.

Definition at line 452 of file g-map-basic.hh.

std::bitset<NB_MARKS> GMap3d::CGMapBasic::FMaskMarks [protected]

Masque des marques (modifié par la méthode negateMaskMark()).

Definition at line 449 of file g-map-basic.hh.

Nombre maximum de champs directInfo utilisés simultanément.

Definition at line 480 of file g-map-basic.hh.

Nombre maximum de marques utilisées simultanément.

Definition at line 477 of file g-map-basic.hh.

Nombre de champs directInfo utilisés.

Definition at line 473 of file g-map-basic.hh.

Nombre de marques utilisées.

Definition at line 470 of file g-map-basic.hh.

std::bitset<NB_DIRECT_INFO> GMap3d::CGMapBasic::FUsedDirectInfo [protected]

Tableau indiquant quels sont les champs direct-info utilisés.

Definition at line 458 of file g-map-basic.hh.

std::bitset<NB_MARKS> GMap3d::CGMapBasic::FUsedMarks [protected]

Tableau indiquant quelles sont les marques prises.

Definition at line 446 of file g-map-basic.hh.

std::bitset<16> GMap3d::CGMapBasic::FUsedOrbits [protected]

Tableau indiquant quelles sont les orbites utilisées.

Definition at line 455 of file g-map-basic.hh.


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