![]() |
MAGiC
V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
|
#include <hypergraphlib_arc.h>


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 () | |
| MultimapNodesById & | Nodes () |
| void | Add (Node *) |
| int | Remove (int __id) |
| int | Remove (Node *__node) |
| int | Rank () const |
| int | NodeCount (int) const |
| Node * | First () const |
| Node * | Last () 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 Graph * | Owner () 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 |
Définition à la ligne 37 du fichier hypergraphlib_arc.h.
| typedef std::pair< int, Node * > HypergraphLib::Arc::Int_Node_Pair |
Définition à la ligne 40 du fichier hypergraphlib_arc.h.
| typedef std::multimap< int, Node * > HypergraphLib::Arc::MultimapNodesById |
Définition à la ligne 39 du fichier hypergraphlib_arc.h.
| HypergraphLib::Arc::Arc | ( | Graph * | __owner, |
| int | __id | ||
| ) |
Constructs an empty Arc
Définition à la ligne 34 du fichier hypergraphlib_arc.cpp.
| 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
Copy constructor
Définition à la ligne 39 du fichier hypergraphlib_arc.cpp.
Références _nodes, HypergraphLib::GraphObject::_owner, Add(), et HypergraphLib::Graph::GetNode().

| HypergraphLib::Arc::~Arc | ( | ) |
Définition à la ligne 54 du fichier hypergraphlib_arc.cpp.
| 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().


| 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().

| 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().


| 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().


| 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().

| 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().

| Arc::MultimapNodesById & HypergraphLib::Arc::Nodes | ( | ) |
Returns the array of nodes of the arc
Définition à la ligne 97 du fichier hypergraphlib_arc.cpp.
Références _nodes.
Référencé par HypergraphLib::Node::AdjacentNodes(), CAD4FE::MCBody::ContractEdgeToVertex(), HypergraphLib::dfsCycle(), HypergraphLib::Dijkstra(), HypergraphLib::Graph::DuplicateArc(), CAD4FE::MCBody::Edge_GetAdjacentFaces(), HypergraphLib::Filaments(), HypergraphLib::Node::GetNbArcsToNode(), HypergraphLib::Graph::Graph(), HypergraphLib::Node::IsAdjacentToNode(), CAD4FE::MCBody::MergeVertices(), CAD4FE::MCAA::Node_Segment_Same_Face(), HypergraphLib::Graph::RemoveArc(), CAD4FE::MCBody::SplitEdge(), CAD4FE::MCAA::SplitEdge(), CAD4FE::MCBody::SuppressMCEdge(), et CAD4FE::MCBody::SuppressMCVertex().

| int HypergraphLib::Arc::Rank | ( | ) | const |
Returns the rank of this node
Définition à la ligne 87 du fichier hypergraphlib_arc.cpp.
Références _nodes.
Référencé par CAD4FE::ShortestPathByClosestPointOnEdge::ComputeDistance(), CAD4FE::LocalEdgeCriteria::DeletionScore(), CAD4FE::EdgeCollapseCriteria::GetScore(), CAD4FE::VertexCriteria::GetScore(), CAD4FE::MCBody::SplitEdge(), CAD4FE::MCBody::SuppressMCVertex(), et CAD4FE::VertexCriteria::Update().

| 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().

| int HypergraphLib::Arc::Remove | ( | Node * | __node | ) |
Définition à la ligne 64 du fichier hypergraphlib_arc.cpp.
Références HypergraphLib::GraphObject::Id(), et Remove().

|
private |