summaryrefslogtreecommitdiff
path: root/inc/GraphDS_Edge.gxx
blob: 664145aa450edc0e0043693cd63bca3e9b118fa2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// File:	GraphDS_Edge.gxx
// Created:	Tue Mar 16 15:37:56 1993
// Author:	Denis PASCAL
//		<dp@bravox>


#include <Standard_NoMoreObject.hxx>
#include <Standard_NoSuchObject.hxx>


//=======================================================================
//function : GraphDS_Edge
//purpose  : 
//=======================================================================

GraphDS_Edge::GraphDS_Edge
  (const Handle(GraphDS_Vertex)& source, 
   const Handle(GraphDS_Vertex)& destination, 
   const GraphDS_Attribute& value) : myAttribute (value)
{
  mySource      = source;
  myDestination = destination;
}


//=======================================================================
//function : GetAttribute
//purpose  : 
//=======================================================================

const GraphDS_Attribute& GraphDS_Edge::GetAttribute () const 
{
  return myAttribute;
}


//=======================================================================
//function : SetAttribute
//purpose  : 
//=======================================================================

void GraphDS_Edge::SetAttribute (const GraphDS_Attribute& Value) 
{
  myAttribute = Value;
}

//=======================================================================
//function : Contains
//purpose  : 
//=======================================================================

Standard_Boolean GraphDS_Edge::Contains (const Handle(GraphDS_Vertex)& V) const 
{
  return (mySource == V || myDestination == V);
}

//=======================================================================
//function : Source
//purpose  : 
//=======================================================================

const Handle(GraphDS_Vertex)& GraphDS_Edge::Source () const 
{
  return mySource;
}


//=======================================================================
//function : Destination
//purpose  : 
//=======================================================================

const Handle(GraphDS_Vertex)& GraphDS_Edge::Destination () const 
{
  return myDestination;
}


//=======================================================================
//function : Reverse
//purpose  : 
//=======================================================================

void GraphDS_Edge::Reverse () 
{
  Handle (GraphDS_Vertex) temp = myDestination;
  myDestination = mySource;
  mySource = temp;
}


//=======================================================================
//function : IsLoop
//purpose  : 
//=======================================================================

Standard_Boolean GraphDS_Edge::IsLoop () const 
{
  return (myDestination == mySource);
}