9ebaae37 |
1 | // Copyright (c) 1999-2014 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 | #include <XCAFDoc_GeomTolerance.hxx> |
15 | |
16 | #include <TDF_RelocationTable.hxx> |
1c9d3225 |
17 | #include <TDF_ChildIterator.hxx> |
9ebaae37 |
18 | #include <XCAFDoc.hxx> |
19 | #include <TDataStd_TreeNode.hxx> |
20 | #include <TDataStd_Integer.hxx> |
21 | #include <TDataStd_IntegerArray.hxx> |
1c9d3225 |
22 | #include <TDataStd_RealArray.hxx> |
9ebaae37 |
23 | #include <TDataStd_Real.hxx> |
b8bf9595 |
24 | #include <TDataXtd_Geometry.hxx> |
25 | #include <TDataXtd_Plane.hxx> |
9ebaae37 |
26 | #include <XCAFDimTolObjects_GeomToleranceObject.hxx> |
5df609e7 |
27 | #include <TNaming_Tool.hxx> |
28 | #include <TNaming_Builder.hxx> |
29 | #include <TCollection_ExtendedString.hxx> |
30 | #include <TDataStd_Name.hxx> |
9ebaae37 |
31 | |
92efcf78 |
32 | IMPLEMENT_STANDARD_RTTIEXT(XCAFDoc_GeomTolerance,TDF_Attribute) |
33 | |
9ebaae37 |
34 | enum ChildLab |
35 | { |
36 | ChildLab_Type = 1, |
37 | ChildLab_TypeOfValue, |
38 | ChildLab_Value, |
39 | ChildLab_MatReqModif, |
40 | ChildLab_ZoneModif, |
41 | ChildLab_ValueOfZoneModif, |
42 | ChildLab_Modifiers, |
1c9d3225 |
43 | ChildLab_aMaxValueModif, |
fbcef69b |
44 | ChildLab_AxisLoc, |
45 | ChildLab_AxisN, |
46 | ChildLab_AxisRef, |
47 | ChildLab_PlaneLoc, |
48 | ChildLab_PlaneN, |
49 | ChildLab_PlaneRef, |
5df609e7 |
50 | ChildLab_Pnt, |
51 | ChildLab_PntText, |
b8bf9595 |
52 | ChildLab_Presentation, |
53 | ChildLab_AffectedPlane |
9ebaae37 |
54 | }; |
55 | |
56 | //======================================================================= |
57 | //function : XCAFDoc_GeomTolerance |
58 | //purpose : |
59 | //======================================================================= |
60 | |
61 | XCAFDoc_GeomTolerance::XCAFDoc_GeomTolerance() |
62 | { |
63 | } |
64 | |
65 | |
66 | //======================================================================= |
67 | //function : GetID |
68 | //purpose : |
69 | //======================================================================= |
70 | |
71 | const Standard_GUID& XCAFDoc_GeomTolerance::GetID() |
72 | { |
73 | static Standard_GUID DGTID ("58ed092f-44de-11d8-8776-001083004c77"); |
74 | //static Standard_GUID ID("efd212e9-6dfd-11d4-b9c8-0060b0ee281b"); |
75 | return DGTID; |
76 | //return ID; |
77 | } |
78 | |
79 | //======================================================================= |
80 | //function : |
81 | //purpose : |
82 | //======================================================================= |
83 | |
84 | Handle(XCAFDoc_GeomTolerance) XCAFDoc_GeomTolerance::Set (const TDF_Label& theLabel) |
85 | { |
86 | Handle(XCAFDoc_GeomTolerance) A; |
87 | if (!theLabel.FindAttribute(XCAFDoc_GeomTolerance::GetID(), A)) { |
88 | A = new XCAFDoc_GeomTolerance(); |
89 | theLabel.AddAttribute(A); |
90 | } |
91 | return A; |
92 | } |
93 | |
94 | //======================================================================= |
95 | //function : SetObject |
96 | //purpose : |
97 | //======================================================================= |
98 | |
99 | void XCAFDoc_GeomTolerance::SetObject (const Handle(XCAFDimTolObjects_GeomToleranceObject)& theObject) |
100 | { |
101 | Backup(); |
102 | |
eacdb38f |
103 | if (theObject->GetSemanticName()) |
104 | { |
105 | TCollection_ExtendedString str(theObject->GetSemanticName()->String()); |
106 | TDataStd_Name::Set(Label(), str); |
107 | } |
108 | |
1c9d3225 |
109 | TDF_ChildIterator anIter(Label()); |
110 | for(;anIter.More(); anIter.Next()) |
9ebaae37 |
111 | { |
1c9d3225 |
112 | anIter.Value().ForgetAllAttributes(); |
9ebaae37 |
113 | } |
1c9d3225 |
114 | |
fa53efef |
115 | Handle(TDataStd_Integer) aType = TDataStd_Integer::Set(Label().FindChild(ChildLab_Type), theObject->GetType()); |
9ebaae37 |
116 | |
1c9d3225 |
117 | if(theObject->GetTypeOfValue() != XCAFDimTolObjects_GeomToleranceTypeValue_None) |
fa53efef |
118 | Handle(TDataStd_Integer) aTypeOfValue = TDataStd_Integer::Set(Label().FindChild(ChildLab_TypeOfValue), |
5a1271c8 |
119 | theObject->GetTypeOfValue()); |
9ebaae37 |
120 | |
fa53efef |
121 | Handle(TDataStd_Real) aValue = TDataStd_Real::Set(Label().FindChild(ChildLab_Value), theObject->GetValue()); |
9ebaae37 |
122 | |
123 | Handle(TDataStd_Integer) aMatReqModif; |
1c9d3225 |
124 | if(theObject->GetMaterialRequirementModifier() != XCAFDimTolObjects_GeomToleranceMatReqModif_None) |
5a1271c8 |
125 | aMatReqModif = TDataStd_Integer::Set(Label().FindChild(ChildLab_MatReqModif), |
126 | theObject->GetMaterialRequirementModifier()); |
9ebaae37 |
127 | |
1c9d3225 |
128 | if(theObject->GetZoneModifier() != XCAFDimTolObjects_GeomToleranceZoneModif_None) |
fa53efef |
129 | Handle(TDataStd_Integer) aZoneModif = TDataStd_Integer::Set(Label().FindChild(ChildLab_ZoneModif), |
5a1271c8 |
130 | theObject->GetZoneModifier()); |
1c9d3225 |
131 | |
132 | if(theObject->GetValueOfZoneModifier() > 0) |
fa53efef |
133 | Handle(TDataStd_Real) aValueOfZoneModif = TDataStd_Real::Set(Label().FindChild(ChildLab_ValueOfZoneModif), |
5a1271c8 |
134 | theObject->GetValueOfZoneModifier()); |
9ebaae37 |
135 | |
1c9d3225 |
136 | if(theObject->GetModifiers().Length() > 0) |
9ebaae37 |
137 | { |
9ebaae37 |
138 | Handle(TColStd_HArray1OfInteger) anArr = new TColStd_HArray1OfInteger(1,theObject->GetModifiers().Length()); |
139 | for(Standard_Integer i = 1; i <= theObject->GetModifiers().Length(); i++) |
140 | anArr->SetValue(i,theObject->GetModifiers().Value(i)); |
5a1271c8 |
141 | Handle(TDataStd_IntegerArray) aModifiers = TDataStd_IntegerArray::Set(Label().FindChild(ChildLab_Modifiers), |
142 | 1, theObject->GetModifiers().Length()); |
143 | if(!aModifiers.IsNull()) |
144 | aModifiers->ChangeArray(anArr); |
9ebaae37 |
145 | } |
146 | |
1c9d3225 |
147 | if(theObject->GetMaxValueModifier() > 0) |
fa53efef |
148 | Handle(TDataStd_Real) aMaxValueModif = TDataStd_Real::Set(Label().FindChild(ChildLab_aMaxValueModif), |
5a1271c8 |
149 | theObject->GetMaxValueModifier()); |
1c9d3225 |
150 | |
b8bf9595 |
151 | if (theObject->HasAxis()) |
1c9d3225 |
152 | { |
fbcef69b |
153 | gp_Ax2 anAx = theObject->GetAxis(); |
154 | |
155 | Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3); |
156 | for (Standard_Integer i = 1; i <= 3; i++) |
157 | aLocArr->SetValue(i, anAx.Location().Coord(i)); |
158 | Handle(TDataStd_RealArray) aLoc = TDataStd_RealArray::Set(Label().FindChild(ChildLab_AxisLoc), 1, 3); |
159 | if (!aLoc.IsNull()) |
160 | aLoc->ChangeArray(aLocArr); |
161 | |
162 | Handle(TColStd_HArray1OfReal) aNArr = new TColStd_HArray1OfReal(1, 3); |
163 | for (Standard_Integer i = 1; i <= 3; i++) |
164 | aNArr->SetValue(i, anAx.Direction().Coord(i)); |
165 | Handle(TDataStd_RealArray) aN = TDataStd_RealArray::Set(Label().FindChild(ChildLab_AxisN), 1, 3); |
166 | if (!aN.IsNull()) |
167 | aN->ChangeArray(aNArr); |
168 | |
169 | Handle(TColStd_HArray1OfReal) aRArr = new TColStd_HArray1OfReal(1, 3); |
170 | for (Standard_Integer i = 1; i <= 3; i++) |
171 | aRArr->SetValue(i, anAx.XDirection().Coord(i)); |
172 | Handle(TDataStd_RealArray) aR = TDataStd_RealArray::Set(Label().FindChild(ChildLab_AxisRef), 1, 3); |
173 | if (!aR.IsNull()) |
174 | aR->ChangeArray(aRArr); |
1c9d3225 |
175 | } |
5df609e7 |
176 | |
177 | if (theObject->HasPlane()) |
178 | { |
fbcef69b |
179 | gp_Ax2 anAx = theObject->GetPlane(); |
180 | |
181 | Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3); |
182 | for (Standard_Integer i = 1; i <= 3; i++) |
183 | aLocArr->SetValue(i, anAx.Location().Coord(i)); |
184 | Handle(TDataStd_RealArray) aLoc = TDataStd_RealArray::Set(Label().FindChild(ChildLab_PlaneLoc), 1, 3); |
185 | if (!aLoc.IsNull()) |
186 | aLoc->ChangeArray(aLocArr); |
187 | |
188 | Handle(TColStd_HArray1OfReal) aNArr = new TColStd_HArray1OfReal(1, 3); |
189 | for (Standard_Integer i = 1; i <= 3; i++) |
190 | aNArr->SetValue(i, anAx.Direction().Coord(i)); |
191 | Handle(TDataStd_RealArray) aN = TDataStd_RealArray::Set(Label().FindChild(ChildLab_PlaneN), 1, 3); |
192 | if (!aN.IsNull()) |
193 | aN->ChangeArray(aNArr); |
194 | |
195 | Handle(TColStd_HArray1OfReal) aRArr = new TColStd_HArray1OfReal(1, 3); |
196 | for (Standard_Integer i = 1; i <= 3; i++) |
197 | aRArr->SetValue(i, anAx.XDirection().Coord(i)); |
198 | Handle(TDataStd_RealArray) aR = TDataStd_RealArray::Set(Label().FindChild(ChildLab_PlaneRef), 1, 3); |
199 | if (!aR.IsNull()) |
200 | aR->ChangeArray(aRArr); |
5df609e7 |
201 | } |
202 | |
203 | if (theObject->HasPoint()) |
204 | { |
fbcef69b |
205 | gp_Pnt aPnt = theObject->GetPoint(); |
206 | |
207 | Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3); |
208 | for (Standard_Integer i = 1; i <= 3; i++) |
209 | aLocArr->SetValue(i, aPnt.Coord(i)); |
210 | Handle(TDataStd_RealArray) aLoc = TDataStd_RealArray::Set(Label().FindChild(ChildLab_Pnt), 1, 3); |
211 | if (!aLoc.IsNull()) |
212 | aLoc->ChangeArray(aLocArr); |
5df609e7 |
213 | } |
214 | |
215 | if (theObject->HasPointText()) |
216 | { |
fbcef69b |
217 | gp_Pnt aPntText = theObject->GetPointTextAttach(); |
218 | |
219 | Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3); |
220 | for (Standard_Integer i = 1; i <= 3; i++) |
221 | aLocArr->SetValue(i, aPntText.Coord(i)); |
222 | Handle(TDataStd_RealArray) aLoc = TDataStd_RealArray::Set(Label().FindChild(ChildLab_PntText), 1, 3); |
223 | if (!aLoc.IsNull()) |
224 | aLoc->ChangeArray(aLocArr); |
5df609e7 |
225 | } |
226 | |
227 | TopoDS_Shape aPresentation = theObject->GetPresentation(); |
228 | if( !aPresentation.IsNull()) |
229 | { |
230 | TDF_Label aLPres = Label().FindChild( ChildLab_Presentation); |
231 | TNaming_Builder tnBuild(aLPres); |
232 | tnBuild.Generated(aPresentation); |
233 | Handle(TCollection_HAsciiString) aName = theObject->GetPresentationName(); |
234 | if( !aName.IsNull() ) |
235 | { |
236 | TCollection_ExtendedString str ( aName->String() ); |
237 | TDataStd_Name::Set ( aLPres, str ); |
238 | } |
239 | } |
b8bf9595 |
240 | |
241 | if (theObject->HasAffectedPlane()) |
242 | { |
243 | TDF_Label aLAffectedPlane = Label().FindChild(ChildLab_AffectedPlane); |
244 | TDataStd_Integer::Set(aLAffectedPlane, (Standard_Integer)theObject->GetAffectedPlaneType()); |
245 | TDataXtd_Plane::Set(aLAffectedPlane, theObject->GetAffectedPlane()); |
246 | } |
9ebaae37 |
247 | } |
248 | |
249 | //======================================================================= |
250 | //function :GetObject |
251 | //purpose : |
252 | //======================================================================= |
253 | |
254 | Handle(XCAFDimTolObjects_GeomToleranceObject) XCAFDoc_GeomTolerance::GetObject() const |
255 | { |
256 | Handle(XCAFDimTolObjects_GeomToleranceObject) anObj = new XCAFDimTolObjects_GeomToleranceObject(); |
257 | |
eacdb38f |
258 | Handle(TDataStd_Name) aSemanticNameAttr; |
259 | Handle(TCollection_HAsciiString) aSemanticName; |
260 | if (Label().FindAttribute(TDataStd_Name::GetID(), aSemanticNameAttr)) |
261 | { |
262 | const TCollection_ExtendedString& aName = aSemanticNameAttr->Get(); |
263 | if (!aName.IsEmpty()) |
264 | aSemanticName = new TCollection_HAsciiString(aName); |
265 | } |
266 | anObj->SetSemanticName(aSemanticName); |
267 | |
9ebaae37 |
268 | Handle(TDataStd_Integer) aType; |
269 | if(Label().FindChild(ChildLab_Type).FindAttribute(TDataStd_Integer::GetID(), aType)) |
270 | { |
271 | anObj->SetType((XCAFDimTolObjects_GeomToleranceType)aType->Get()); |
272 | } |
273 | |
274 | Handle(TDataStd_Integer) aTypeOfValue; |
275 | if(Label().FindChild(ChildLab_TypeOfValue).FindAttribute(TDataStd_Integer::GetID(), aTypeOfValue)) |
276 | { |
277 | anObj->SetTypeOfValue((XCAFDimTolObjects_GeomToleranceTypeValue)aTypeOfValue->Get()); |
278 | } |
279 | |
280 | Handle(TDataStd_Real) aValue; |
281 | if(Label().FindChild(ChildLab_Value).FindAttribute(TDataStd_Real::GetID(), aValue)) |
282 | { |
283 | anObj->SetValue(aValue->Get()); |
284 | } |
285 | |
286 | Handle(TDataStd_Integer) aMatReqModif; |
287 | if(Label().FindChild(ChildLab_MatReqModif).FindAttribute(TDataStd_Integer::GetID(), aMatReqModif)) |
288 | { |
289 | anObj->SetMaterialRequirementModifier((XCAFDimTolObjects_GeomToleranceMatReqModif)aMatReqModif->Get()); |
290 | } |
291 | |
292 | Handle(TDataStd_Integer) aZoneModif; |
293 | if(Label().FindChild(ChildLab_ZoneModif).FindAttribute(TDataStd_Integer::GetID(), aZoneModif)) |
294 | { |
295 | anObj->SetZoneModifier((XCAFDimTolObjects_GeomToleranceZoneModif)aZoneModif->Get()); |
296 | } |
297 | |
298 | Handle(TDataStd_Real) aValueOfZoneModif; |
299 | if(Label().FindChild(ChildLab_ValueOfZoneModif).FindAttribute(TDataStd_Real::GetID(), aValueOfZoneModif)) |
300 | { |
301 | anObj->SetValueOfZoneModifier(aValueOfZoneModif->Get()); |
302 | } |
303 | |
304 | Handle(TDataStd_IntegerArray) anArr; |
305 | if(Label().FindChild(ChildLab_Modifiers).FindAttribute(TDataStd_IntegerArray::GetID(), anArr) |
306 | && !anArr->Array().IsNull()) |
307 | { |
308 | XCAFDimTolObjects_GeomToleranceModifiersSequence aModifiers; |
309 | for(Standard_Integer i = 1; i <= anArr->Length(); i++) |
310 | aModifiers.Append((XCAFDimTolObjects_GeomToleranceModif)anArr->Value(i)); |
311 | anObj->SetModifiers(aModifiers); |
312 | } |
313 | |
314 | Handle(TDataStd_Real) aMaxValueModif; |
315 | if(Label().FindChild(ChildLab_aMaxValueModif).FindAttribute(TDataStd_Real::GetID(), aMaxValueModif)) |
316 | { |
317 | anObj->SetMaxValueModifier(aMaxValueModif->Get()); |
318 | } |
1c9d3225 |
319 | |
fbcef69b |
320 | Handle(TDataStd_RealArray) aLoc; |
321 | Handle(TDataStd_RealArray) aN; |
322 | Handle(TDataStd_RealArray) aR; |
323 | if (Label().FindChild(ChildLab_AxisLoc).FindAttribute(TDataStd_RealArray::GetID(), aLoc) && aLoc->Length() == 3 && |
324 | Label().FindChild(ChildLab_AxisN).FindAttribute(TDataStd_RealArray::GetID(), aN) && aN->Length() == 3 && |
325 | Label().FindChild(ChildLab_AxisRef).FindAttribute(TDataStd_RealArray::GetID(), aR) && aR->Length() == 3) |
1c9d3225 |
326 | { |
fbcef69b |
327 | gp_Pnt aL(aLoc->Value(aLoc->Lower()), aLoc->Value(aLoc->Lower() + 1), aLoc->Value(aLoc->Lower() + 2)); |
328 | gp_Dir aD(aN->Value(aN->Lower()), aN->Value(aN->Lower() + 1), aN->Value(aN->Lower() + 2)); |
329 | gp_Dir aDR(aR->Value(aR->Lower()), aR->Value(aR->Lower() + 1), aR->Value(aR->Lower() + 2)); |
330 | gp_Ax2 anAx(aL, aD, aDR); |
1c9d3225 |
331 | anObj->SetAxis(anAx); |
332 | } |
5df609e7 |
333 | |
fbcef69b |
334 | if (Label().FindChild(ChildLab_PlaneLoc).FindAttribute(TDataStd_RealArray::GetID(), aLoc) && aLoc->Length() == 3 && |
335 | Label().FindChild(ChildLab_PlaneN).FindAttribute(TDataStd_RealArray::GetID(), aN) && aN->Length() == 3 && |
336 | Label().FindChild(ChildLab_PlaneRef).FindAttribute(TDataStd_RealArray::GetID(), aR) && aR->Length() == 3) |
5df609e7 |
337 | { |
fbcef69b |
338 | gp_Pnt aL(aLoc->Value(aLoc->Lower()), aLoc->Value(aLoc->Lower() + 1), aLoc->Value(aLoc->Lower() + 2)); |
339 | gp_Dir aD(aN->Value(aN->Lower()), aN->Value(aN->Lower() + 1), aN->Value(aN->Lower() + 2)); |
340 | gp_Dir aDR(aR->Value(aR->Lower()), aR->Value(aR->Lower() + 1), aR->Value(aR->Lower() + 2)); |
341 | gp_Ax2 anAx(aL, aD, aDR); |
5df609e7 |
342 | anObj->SetPlane(anAx); |
343 | } |
344 | |
fbcef69b |
345 | Handle(TDataStd_RealArray) aPnt; |
346 | if (Label().FindChild(ChildLab_Pnt).FindAttribute(TDataStd_RealArray::GetID(), aPnt) && aPnt->Length() == 3) |
5df609e7 |
347 | { |
5859be38 |
348 | gp_Pnt aP(aPnt->Value(aPnt->Lower()), aPnt->Value(aPnt->Lower() + 1), aPnt->Value(aPnt->Lower() + 2)); |
fbcef69b |
349 | anObj->SetPoint(aP); |
5df609e7 |
350 | } |
351 | |
fbcef69b |
352 | Handle(TDataStd_RealArray) aPntText; |
353 | if (Label().FindChild(ChildLab_PntText).FindAttribute(TDataStd_RealArray::GetID(), aPntText) && aPntText->Length() == 3) |
5df609e7 |
354 | { |
fbcef69b |
355 | gp_Pnt aP(aPntText->Value(aPntText->Lower()), aPntText->Value(aPntText->Lower() + 1), aPntText->Value(aPntText->Lower() + 2)); |
356 | anObj->SetPointTextAttach(aP); |
5df609e7 |
357 | } |
358 | |
359 | Handle(TNaming_NamedShape) aNS; |
360 | TDF_Label aLPres = Label().FindChild( ChildLab_Presentation); |
361 | if ( aLPres.FindAttribute(TNaming_NamedShape::GetID(), aNS) ) |
362 | { |
363 | |
364 | TopoDS_Shape aPresentation = TNaming_Tool::GetShape(aNS); |
365 | if( !aPresentation.IsNull()) |
366 | { |
367 | Handle(TDataStd_Name) aNameAtrr; |
368 | Handle(TCollection_HAsciiString) aPresentName; |
369 | if (aLPres.FindAttribute(TDataStd_Name::GetID(),aNameAtrr)) |
370 | { |
371 | const TCollection_ExtendedString& aName = aNameAtrr->Get(); |
372 | |
373 | if( !aName.IsEmpty()) |
374 | aPresentName = new TCollection_HAsciiString(aName); |
375 | } |
376 | |
377 | anObj->SetPresentation(aPresentation, aPresentName); |
378 | } |
379 | } |
380 | |
b8bf9595 |
381 | Handle(TDataXtd_Plane) anAffectedPlaneAttr; |
382 | if (Label().FindChild(ChildLab_AffectedPlane).FindAttribute(TDataXtd_Plane::GetID(), anAffectedPlaneAttr)) |
383 | { |
384 | gp_Pln aPlane; |
385 | TDataXtd_Geometry::Plane(anAffectedPlaneAttr->Label(), aPlane); |
386 | Handle(TDataStd_Integer) aTypeAttr; |
387 | Label().FindChild(ChildLab_AffectedPlane).FindAttribute(TDataStd_Integer::GetID(), aTypeAttr); |
388 | anObj->SetAffectedPlane(aPlane, (XCAFDimTolObjects_ToleranceZoneAffectedPlane)aTypeAttr->Get()); |
389 | } |
390 | |
9ebaae37 |
391 | return anObj; |
392 | } |
393 | |
394 | //======================================================================= |
395 | //function : ID |
396 | //purpose : |
397 | //======================================================================= |
398 | |
399 | const Standard_GUID& XCAFDoc_GeomTolerance::ID() const |
400 | { |
401 | return GetID(); |
402 | } |
403 | |
404 | //======================================================================= |
405 | //function : Restore |
406 | //purpose : |
407 | //======================================================================= |
408 | |
409 | void XCAFDoc_GeomTolerance::Restore(const Handle(TDF_Attribute)& /*With*/) |
410 | { |
411 | } |
412 | |
413 | |
414 | //======================================================================= |
415 | //function : NewEmpty |
416 | //purpose : |
417 | //======================================================================= |
418 | |
419 | Handle(TDF_Attribute) XCAFDoc_GeomTolerance::NewEmpty() const |
420 | { |
421 | return new XCAFDoc_GeomTolerance(); |
422 | } |
423 | |
424 | |
425 | //======================================================================= |
426 | //function : Paste |
427 | //purpose : |
428 | //======================================================================= |
429 | |
430 | void XCAFDoc_GeomTolerance::Paste(const Handle(TDF_Attribute)& /*Into*/, |
431 | const Handle(TDF_RelocationTable)& /*RT*/) const |
432 | { |
433 | } |