MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
Référence de la classe HypergraphLib::Arc

#include <hypergraphlib_arc.h>

Graphe d'héritage de HypergraphLib::Arc:
Graphe de collaboration de HypergraphLib::Arc:

Types publics

typedef std::multimap< int, Node * > MultimapNodesById
 
typedef std::pair< int, Node * > Int_Node_Pair
 

Fonctions membres publiques

 Arc (Graph *__owner, int __id)
 
 Arc (Graph *__owner, int __id, const std::vector< int > &__nodesId)
 
 Arc (const Arc &, Graph *__owner=0)
 
 ~Arc ()
 
MultimapNodesByIdNodes ()
 
void Add (Node *)
 
int Remove (int __id)
 
int Remove (Node *__node)
 
int Rank () const
 
int NodeCount (int) const
 
NodeFirst () const
 
NodeLast () const
 
bool IsLoopOfNode (int __NodeId)
 
bool IsLoop ()
 
- Fonctions membres publiques hérités de HypergraphLib::GraphObject
 GraphObject (const Graph *__owner, const int __id)
 
 GraphObject (const GraphObject &, const Graph *__owner)
 
int Id () const
 
const GraphOwner () const
 
void * GetUserData () const
 
void SetUserData (void *)
 
void * GetUserData (unsigned i) const
 
void SetUserData (unsigned i, void *)
 

Attributs privés

MultimapNodesById _nodes
 

Membres hérités additionnels

- Attributs protégés hérités de HypergraphLib::GraphObject
const Graph_owner
 
const int _id
 
std::map< int, void * > _userData
 

Description détaillée

Définition à la ligne 37 du fichier hypergraphlib_arc.h.

Documentation des définitions de type membres

◆ Int_Node_Pair

typedef std::pair< int, Node * > HypergraphLib::Arc::Int_Node_Pair

Définition à la ligne 40 du fichier hypergraphlib_arc.h.

◆ MultimapNodesById

typedef std::multimap< int, Node * > HypergraphLib::Arc::MultimapNodesById

Définition à la ligne 39 du fichier hypergraphlib_arc.h.

Documentation des constructeurs et destructeur

◆ Arc() [1/3]

HypergraphLib::Arc::Arc ( Graph __owner,
int  __id 
)

Constructs an empty Arc

Définition à la ligne 34 du fichier hypergraphlib_arc.cpp.

◆ Arc() [2/3]

HypergraphLib::Arc::Arc ( Graph __owner,
int  __id,
const std::vector< int > &  __nodesId 
)

Constructor taking the graph, the arc's ID, and the array of node IDs of the arc

◆ Arc() [3/3]

HypergraphLib::Arc::Arc ( const Arc __from,
Graph __owner = 0 
)

Copy constructor

Définition à la ligne 39 du fichier hypergraphlib_arc.cpp.

Références _nodes, HypergraphLib::GraphObject::_owner, Add(), et HypergraphLib::Graph::GetNode().

Voici le graphe d'appel pour cette fonction :

◆ ~Arc()

HypergraphLib::Arc::~Arc ( )

Définition à la ligne 54 du fichier hypergraphlib_arc.cpp.

Documentation des fonctions membres

◆ Add()

void HypergraphLib::Arc::Add ( Node __node)

Adds one node to the arc

Définition à la ligne 59 du fichier hypergraphlib_arc.cpp.

Références _nodes, et HypergraphLib::GraphObject::Id().

Référencé par Arc(), CAD4FE::MCBody::ContractEdgeToVertex(), HypergraphLib::Graph::Graph(), CAD4FE::ShortestPath::InitializeAdjacencyGraph(), CAD4FE::MCBody::MergeVertices(), et CAD4FE::MCBody::SplitEdge().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ First()

Node * HypergraphLib::Arc::First ( ) const

Returns the first node in the arc

Définition à la ligne 102 du fichier hypergraphlib_arc.cpp.

Références _nodes.

Référencé par IsLoop(), et CAD4FE::MCBody::SuppressMCEdge().

Voici le graphe des appelants de cette fonction :

◆ IsLoop()

bool HypergraphLib::Arc::IsLoop ( )

Returns wether this arc is a simple loop : has rank = 2 and 2 times the same node

Définition à la ligne 120 du fichier hypergraphlib_arc.cpp.

Références _nodes, First(), et Last().

Référencé par CAD4FE::MCBody::ExportBRep(), CAD4FE::VertexCriteria::GetScore(), CAD4FE::MCBody::SuppressMCEdge(), et CAD4FE::VertexCriteria::Update().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ IsLoopOfNode()

bool HypergraphLib::Arc::IsLoopOfNode ( int  __NodeId)

Returns wether this arc is a loop of the node X

Définition à la ligne 115 du fichier hypergraphlib_arc.cpp.

Références NodeCount().

Référencé par CAD4FE::MCBody::ContractEdgeToVertex(), et CAD4FE::MCBody::Face_GetCycles().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ Last()

Node * HypergraphLib::Arc::Last ( ) const

Returns the last node in the arc

Définition à la ligne 108 du fichier hypergraphlib_arc.cpp.

Références _nodes.

Référencé par IsLoop().

Voici le graphe des appelants de cette fonction :

◆ NodeCount()

int HypergraphLib::Arc::NodeCount ( int  __id) const

Returns the number of ocurences of the specified node in this arc : this function will return "2" if it is a loop on this node

Définition à la ligne 92 du fichier hypergraphlib_arc.cpp.

Références _nodes.

Référencé par IsLoopOfNode().

Voici le graphe des appelants de cette fonction :

◆ Nodes()

◆ Rank()

int HypergraphLib::Arc::Rank ( ) const

◆ Remove() [1/2]

int HypergraphLib::Arc::Remove ( int  __id)

Removes one occurence of the node ID in this arc Returns 1 if one occurence was found, but 0 if no occurences were found

Définition à la ligne 69 du fichier hypergraphlib_arc.cpp.

Références _nodes.

Référencé par Remove(), et HypergraphLib::Graph::RemoveArc().

Voici le graphe des appelants de cette fonction :

◆ Remove() [2/2]

int HypergraphLib::Arc::Remove ( Node __node)

Définition à la ligne 64 du fichier hypergraphlib_arc.cpp.

Références HypergraphLib::GraphObject::Id(), et Remove().

Voici le graphe d'appel pour cette fonction :

Documentation des données membres

◆ _nodes

MultimapNodesById HypergraphLib::Arc::_nodes
private

Définition à la ligne 100 du fichier hypergraphlib_arc.h.

Référencé par Add(), Arc(), First(), IsLoop(), Last(), NodeCount(), Nodes(), Rank(), et Remove().


La documentation de cette classe a été générée à partir des fichiers suivants :