0031682: Visualization - Prs3d_ShadingAspect::SetTransparency() has no effect with...
[occt.git] / src / StdObject / StdObject_gp_Vectors.hxx
1 // Copyright (c) 2015 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14
15 #ifndef _StdObject_gp_Vectors_HeaderFile
16 #define _StdObject_gp_Vectors_HeaderFile
17
18
19 #include <StdObjMgt_ReadData.hxx>
20 #include <StdObjMgt_WriteData.hxx>
21
22 #include <gp_Pnt2d.hxx>
23 #include <gp_Vec2d.hxx>
24 #include <gp_Dir2d.hxx>
25 #include <gp_Pnt.hxx>
26 #include <gp_Vec.hxx>
27 #include <gp_Dir.hxx>
28
29
30 inline StdObjMgt_ReadData& operator >>
31   (StdObjMgt_ReadData& theReadData, gp_XY& theXY)
32 {
33   StdObjMgt_ReadData::ObjectSentry aSentry (theReadData);
34
35   Standard_Real aX, aY;
36   theReadData >> aX >> aY;
37   theXY.SetCoord (aX, aY);
38   return theReadData;
39 }
40
41 inline StdObjMgt_WriteData& operator <<
42   (StdObjMgt_WriteData& theWriteData, const gp_XY& theXY)
43 {
44   StdObjMgt_WriteData::ObjectSentry aSentry (theWriteData);
45
46   Standard_Real aX = theXY.X(), aY = theXY.Y();
47   theWriteData << aX << aY;
48   return theWriteData;
49 }
50
51 inline StdObjMgt_ReadData& operator >>
52   (StdObjMgt_ReadData& theReadData, gp_Pnt2d& thePnt)
53 {
54   StdObjMgt_ReadData::ObjectSentry aSentry (theReadData);
55
56   gp_XY aXY;
57   theReadData >> aXY;
58   thePnt.SetXY (aXY);
59   return theReadData;
60 }
61
62 inline StdObjMgt_WriteData& operator <<
63   (StdObjMgt_WriteData& theWriteData, const gp_Pnt2d& thePnt)
64 {
65   StdObjMgt_WriteData::ObjectSentry aSentry (theWriteData);
66
67   theWriteData << thePnt.XY();
68   return theWriteData;
69 }
70
71 inline StdObjMgt_ReadData& operator >>
72   (StdObjMgt_ReadData& theReadData, gp_Vec2d& theVec)
73 {
74   StdObjMgt_ReadData::ObjectSentry aSentry (theReadData);
75
76   gp_XY aXY;
77   theReadData >> aXY;
78   theVec.SetXY (aXY);
79   return theReadData;
80 }
81
82 inline StdObjMgt_WriteData& operator <<
83   (StdObjMgt_WriteData& theWriteData, const gp_Vec2d& theVec)
84 {
85   StdObjMgt_WriteData::ObjectSentry aSentry (theWriteData);
86
87   theWriteData << theVec.XY();
88   return theWriteData;
89 }
90
91 inline StdObjMgt_ReadData& operator >>
92   (StdObjMgt_ReadData& theReadData, gp_Dir2d& theDir)
93 {
94   StdObjMgt_ReadData::ObjectSentry aSentry (theReadData);
95
96   gp_XY aXY;
97   theReadData >> aXY;
98   theDir.SetXY (aXY);
99   return theReadData;
100 }
101
102 inline StdObjMgt_WriteData& operator <<
103   (StdObjMgt_WriteData& theWriteData, const gp_Dir2d& theDir)
104 {
105   StdObjMgt_WriteData::ObjectSentry aSentry (theWriteData);
106
107   theWriteData << theDir.XY();
108   return theWriteData;
109 }
110
111 inline StdObjMgt_ReadData& operator >>
112   (StdObjMgt_ReadData& theReadData, gp_XYZ& theXYZ)
113 {
114   StdObjMgt_ReadData::ObjectSentry aSentry (theReadData);
115
116   Standard_Real aX, aY, aZ;
117   theReadData >> aX >> aY >> aZ;
118   theXYZ.SetCoord(aX, aY, aZ);
119   return theReadData;
120 }
121
122 inline StdObjMgt_WriteData& operator <<
123   (StdObjMgt_WriteData& theWriteData, const gp_XYZ& theXYZ)
124 {
125   StdObjMgt_WriteData::ObjectSentry aSentry (theWriteData);
126
127   Standard_Real aX = theXYZ.X(), aY = theXYZ.Y(), aZ = theXYZ.Z();
128   theWriteData << aX << aY << aZ;
129   return theWriteData;
130 }
131
132 inline StdObjMgt_ReadData& operator >>
133   (StdObjMgt_ReadData& theReadData, gp_Pnt& thePnt)
134 {
135   StdObjMgt_ReadData::ObjectSentry aSentry (theReadData);
136
137   gp_XYZ aXYZ;
138   theReadData >> aXYZ;
139   thePnt.SetXYZ (aXYZ);
140   return theReadData;
141 }
142
143 inline StdObjMgt_WriteData& operator <<
144   (StdObjMgt_WriteData& theWriteData, const gp_Pnt& thePnt)
145 {
146   StdObjMgt_WriteData::ObjectSentry aSentry (theWriteData);
147
148   theWriteData << thePnt.XYZ();
149   return theWriteData;
150 }
151
152 inline StdObjMgt_ReadData& operator >>
153   (StdObjMgt_ReadData& theReadData, gp_Vec& theVec)
154 {
155   StdObjMgt_ReadData::ObjectSentry aSentry (theReadData);
156
157   gp_XYZ aXYZ;
158   theReadData >> aXYZ;
159   theVec.SetXYZ (aXYZ);
160   return theReadData;
161 }
162
163 inline StdObjMgt_WriteData& operator <<
164   (StdObjMgt_WriteData& theWriteData, const gp_Vec& theVec)
165 {
166   StdObjMgt_WriteData::ObjectSentry aSentry (theWriteData);
167
168   theWriteData << theVec.XYZ();
169   return theWriteData;
170 }
171
172 inline StdObjMgt_ReadData& operator >>
173   (StdObjMgt_ReadData& theReadData, gp_Dir& theDir)
174 {
175   StdObjMgt_ReadData::ObjectSentry aSentry (theReadData);
176
177   gp_XYZ aXYZ;
178   theReadData >> aXYZ;
179   theDir.SetXYZ(aXYZ);
180   return theReadData;
181 }
182
183 inline StdObjMgt_WriteData& operator <<
184   (StdObjMgt_WriteData& theWriteData, const gp_Dir& theDir)
185 {
186   StdObjMgt_WriteData::ObjectSentry aSentry (theWriteData);
187
188   theWriteData << theDir.XYZ();
189   return theWriteData;
190 }
191
192
193 #endif