Moka kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GMap3d::CGMap Class Reference

#include <g-map.hh>

Inheritance diagram for GMap3d::CGMap:
GMap3d::CGMapBasic GMap3d::CGMapGeneric GMap3d::CGMapVertex

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 ()
 Constructeur.
 
virtual ~CGMap ()
 Destructeur.
 
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
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)
 
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)
 
- Public Member Functions inherited from GMap3d::CGMapBasic
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 ()
 Constructeur.
 
virtual ~CGMapBasic ()
 Destructeur.
 
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_MARKSgetMarks (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)
 
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)
 

Additional Inherited Members

- Protected Member Functions inherited from GMap3d::CGMapBasic
void addDartInList (CDart *ADart)
 
void removeDartInList (CDart *ADart)
 
- Protected Attributes inherited from GMap3d::CGMapBasic
CDartFFirstDart
 Premier brin de la liste des brins de la carte.
 
std::bitset< NB_MARKSFUsedMarks
 Tableau indiquant quelles sont les marques prises.
 
std::bitset< NB_MARKSFMaskMarks
 Masque des marques (modifié par la méthode negateMaskMark())
 
int FMarks [NB_MARKS]
 Liste des marques libres.
 
std::bitset< 16 > FUsedOrbits
 Tableau indiquant quelles sont les orbites utilisées.
 
std::bitset< NB_DIRECT_INFOFUsedDirectInfo
 Tableau indiquant quels sont les champs direct-info utilisés.
 
int FDirectInfos [NB_DIRECT_INFO]
 Liste des champs directInfo libres.
 

Detailed Description

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

  • les coutures et décousures (topologiques et géométrique),
  • les méthodes pour gérer les attributs (ajouter, enlever...),
  • des méthodes utilisées en interne pour gérer les attributs.
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
ADart1et ADart2 Deux brins
ADimensionUne 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
ADart1et 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
ADart1et 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
ADartUn 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 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
ADartUn brin
AOrbitUne 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 bool GMap3d::CGMap::isSameOrbit ( CDart ADart1,
CDart ADart2,
TOrbit  AOrbit 
)
Parameters
ADart1et ADart2 Deux brins
AOrbitUne 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 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
ADart1et ADart2 Deux brins
ADimensionUne 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
ADart1et 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
ADart1et 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
ADartUn 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
ADartUn brin
ADimensionUne 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
ADartUn 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: