0022904: Clean up sccsid variables
[occt.git] / src / Expr / Expr_SingleRelation.cxx
1 // Copyright:   Matra-Datavision 1991
2 // File:        Expr_SingleRelation.cxx
3 // Created:     Mon Jun 10 17:41:30 1991
4 // Author:      Arnaud BOUZY
5 //              <adn>
6
7 #include <Expr_SingleRelation.ixx>
8 #include <Standard_OutOfRange.hxx>
9
10 void Expr_SingleRelation::SetFirstMember (const Handle(Expr_GeneralExpression)& exp)
11 {
12   myFirstMember = exp;
13 }
14
15 void Expr_SingleRelation::SetSecondMember (const Handle(Expr_GeneralExpression)& exp)
16 {
17   mySecondMember = exp;
18 }
19
20 Handle(Expr_GeneralExpression) Expr_SingleRelation::FirstMember () const
21 {
22   return myFirstMember;
23 }
24
25 Handle(Expr_GeneralExpression) Expr_SingleRelation::SecondMember () const
26 {
27   return mySecondMember;
28 }
29
30 Standard_Boolean Expr_SingleRelation::IsLinear () const
31 {
32   if (!myFirstMember->IsLinear()) {
33     return Standard_False;
34   }
35   if (!mySecondMember->IsLinear()) {
36     return Standard_False;
37   }
38   return Standard_True;
39 }
40
41 Standard_Boolean Expr_SingleRelation::Contains(const Handle(Expr_GeneralExpression)& exp) const
42 {
43   if (myFirstMember == exp) {
44     return Standard_True;
45   }
46   if (mySecondMember == exp) {
47     return Standard_True;
48   }
49   if (myFirstMember->Contains(exp)) {
50     return Standard_True;
51   }
52   return mySecondMember->Contains(exp);
53 }
54
55 void Expr_SingleRelation::Replace(const Handle(Expr_NamedUnknown)& var, const Handle(Expr_GeneralExpression)& with)
56 {
57   if (myFirstMember == var) {
58     SetFirstMember(with);
59   }
60   else {
61     if (myFirstMember->Contains(var)) {
62       myFirstMember->Replace(var,with);
63     }
64   }
65   if (mySecondMember == var) {
66     SetSecondMember(with);
67   }
68   else {
69     if (mySecondMember->Contains(var)) {
70       mySecondMember->Replace(var,with);
71     }
72   }
73 }
74
75 Standard_Integer Expr_SingleRelation::NbOfSubRelations () const
76 {
77   return 0;
78 }
79
80 Handle(Expr_GeneralRelation) Expr_SingleRelation::SubRelation (const Standard_Integer ) const
81 {
82  Standard_OutOfRange::Raise();
83  Handle(Expr_GeneralRelation) bid;
84  return bid;
85 }
86
87 Standard_Integer Expr_SingleRelation::NbOfSingleRelations() const
88 {
89   return 1;
90 }