summaryrefslogtreecommitdiff
path: root/inc/MAT_Arc.hxx
blob: b0e146ccfb7d72e795fa8ea9324f61c2b5fdb79e (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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _MAT_Arc_HeaderFile
#define _MAT_Arc_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_MAT_Arc_HeaderFile
#include <Handle_MAT_Arc.hxx>
#endif

#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_MAT_BasicElt_HeaderFile
#include <Handle_MAT_BasicElt.hxx>
#endif
#ifndef _Handle_MAT_Node_HeaderFile
#include <Handle_MAT_Node.hxx>
#endif
#ifndef _Standard_Address_HeaderFile
#include <Standard_Address.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _MAT_Side_HeaderFile
#include <MAT_Side.hxx>
#endif
class MAT_BasicElt;
class MAT_Node;
class Standard_DomainError;


//! An Arc is associated to each Bisecting of the mat. <br>
class MAT_Arc : public MMgt_TShared {

public:

  
  Standard_EXPORT   MAT_Arc(const Standard_Integer ArcIndex,const Standard_Integer GeomIndex,const Handle(MAT_BasicElt)& FirstElement,const Handle(MAT_BasicElt)& SecondElement);
  //! Returns the index of <me> in Graph.theArcs. <br>
  Standard_EXPORT     Standard_Integer Index() const;
  //! Returns  the index associated  of the  geometric <br>
//!            representation of <me>. <br>
  Standard_EXPORT     Standard_Integer GeomIndex() const;
  //! Returns one of the BasicElt equidistant from <me>. <br>
  Standard_EXPORT     Handle_MAT_BasicElt FirstElement() const;
  //! Returns the other BasicElt equidistant from <me>. <br>
  Standard_EXPORT     Handle_MAT_BasicElt SecondElement() const;
  //! Returns one Node extremity of <me>. <br>
  Standard_EXPORT     Handle_MAT_Node FirstNode() const;
  //! Returns the other Node extremity of <me>. <br>
  Standard_EXPORT     Handle_MAT_Node SecondNode() const;
  //! an Arc has two Node, if <aNode> egal one <br>
//!            Returns the other. <br>
//! <br>//! if <aNode> is not oh <me> <br>
  Standard_EXPORT     Handle_MAT_Node TheOtherNode(const Handle(MAT_Node)& aNode) const;
  //! Returnst True is there is an arc linked to <br>
//!            the Node <aNode> located on the side <aSide> of <me>; <br>//! if <aNode> is not on <me> <br>
  Standard_EXPORT     Standard_Boolean HasNeighbour(const Handle(MAT_Node)& aNode,const MAT_Side aSide) const;
  //! Returns the first arc linked to the Node <aNode> <br>
//!            located on the side <aSide> of <me>; <br>//! if HasNeighbour() returns FALSE. <br>
  Standard_EXPORT     Handle_MAT_Arc Neighbour(const Handle(MAT_Node)& aNode,const MAT_Side aSide) const;
  
  Standard_EXPORT     void SetIndex(const Standard_Integer anInteger) ;
  
  Standard_EXPORT     void SetGeomIndex(const Standard_Integer anInteger) ;
  
  Standard_EXPORT     void SetFirstElement(const Handle(MAT_BasicElt)& aBasicElt) ;
  
  Standard_EXPORT     void SetSecondElement(const Handle(MAT_BasicElt)& aBasicElt) ;
  
  Standard_EXPORT     void SetFirstNode(const Handle(MAT_Node)& aNode) ;
  
  Standard_EXPORT     void SetSecondNode(const Handle(MAT_Node)& aNode) ;
  
  Standard_EXPORT     void SetFirstArc(const MAT_Side aSide,const Handle(MAT_Arc)& anArc) ;
  
  Standard_EXPORT     void SetSecondArc(const MAT_Side aSide,const Handle(MAT_Arc)& anArc) ;
  
  Standard_EXPORT     void SetNeighbour(const MAT_Side aSide,const Handle(MAT_Node)& aNode,const Handle(MAT_Arc)& anArc) ;




  DEFINE_STANDARD_RTTI(MAT_Arc)

protected:




private: 


Standard_Integer arcIndex;
Standard_Integer geomIndex;
Handle_MAT_BasicElt firstElement;
Handle_MAT_BasicElt secondElement;
Handle_MAT_Node firstNode;
Handle_MAT_Node secondNode;
Standard_Address firstArcLeft;
Standard_Address firstArcRight;
Standard_Address secondArcRight;
Standard_Address secondArcLeft;
Standard_Real firstParameter;
Standard_Real secondParameter;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif