0026689: Necessary to improve STEPCAFControl_Reader to read GD&T data from STEP model...
[occt.git] / src / XCAFDimTolObjects / XCAFDimTolObjects_GeomToleranceObject.hxx
1 // Created on: 2015-08-06
2 // Created by: Ilya Novikov
3 // Copyright (c) 2004-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16
17 #ifndef _XCAFDimTolObjects_GeomToleranceObject_HeaderFile
18 #define _XCAFDimTolObjects_GeomToleranceObject_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_Type.hxx>
22
23 #include <XCAFDimTolObjects_GeomToleranceObjectSequence.hxx>
24 #include <XCAFDimTolObjects_GeomToleranceType.hxx>
25 #include <XCAFDimTolObjects_GeomToleranceTypeValue.hxx>
26 #include <Standard_Real.hxx>
27 #include <XCAFDimTolObjects_GeomToleranceMatReqModif.hxx>
28 #include <XCAFDimTolObjects_GeomToleranceZoneModif.hxx>
29 #include <XCAFDimTolObjects_GeomToleranceModifiersSequence.hxx>
30 #include <Standard_Transient.hxx>
31 #include <XCAFDimTolObjects_GeomToleranceModif.hxx>
32 #include <gp_Ax2.hxx>
33
34 class XCAFDimTolObjects_GeomToleranceObject;
35 DEFINE_STANDARD_HANDLE(XCAFDimTolObjects_GeomToleranceObject, Standard_Transient)
36
37 //! attribute to store dimension and tolerance
38 class XCAFDimTolObjects_GeomToleranceObject : public Standard_Transient
39 {
40
41 public:
42   
43   Standard_EXPORT XCAFDimTolObjects_GeomToleranceObject();
44   
45   Standard_EXPORT XCAFDimTolObjects_GeomToleranceObject(const Handle(XCAFDimTolObjects_GeomToleranceObject)& theObj);
46   
47   Standard_EXPORT void SetType (const XCAFDimTolObjects_GeomToleranceType theType);
48   
49   Standard_EXPORT XCAFDimTolObjects_GeomToleranceType GetType() const;
50   
51   Standard_EXPORT void SetTypeOfValue (const XCAFDimTolObjects_GeomToleranceTypeValue theTypeOfValue);
52   
53   Standard_EXPORT XCAFDimTolObjects_GeomToleranceTypeValue GetTypeOfValue() const;
54   
55   Standard_EXPORT void SetValue (const Standard_Real theValue);
56   
57   Standard_EXPORT Standard_Real GetValue() const;
58   
59   Standard_EXPORT void SetMaterialRequirementModifier (const XCAFDimTolObjects_GeomToleranceMatReqModif theMatReqModif);
60   
61   Standard_EXPORT XCAFDimTolObjects_GeomToleranceMatReqModif GetMaterialRequirementModifier() const;
62   
63   Standard_EXPORT void SetZoneModifier (const XCAFDimTolObjects_GeomToleranceZoneModif theZoneModif);
64   
65   Standard_EXPORT XCAFDimTolObjects_GeomToleranceZoneModif GetZoneModifier() const;
66   
67   Standard_EXPORT void SetValueOfZoneModifier (const Standard_Real theValue);
68   
69   Standard_EXPORT Standard_Real GetValueOfZoneModifier() const;
70   
71   Standard_EXPORT void SetModifiers (const XCAFDimTolObjects_GeomToleranceModifiersSequence& theModifiers);
72   
73   Standard_EXPORT void AddModifier (const XCAFDimTolObjects_GeomToleranceModif theModifier);
74   
75   Standard_EXPORT XCAFDimTolObjects_GeomToleranceModifiersSequence GetModifiers() const;
76   
77   Standard_EXPORT void SetMaxValueModifier (const Standard_Real theModifier);
78   
79   Standard_EXPORT Standard_Real GetMaxValueModifier() const;
80
81   Standard_EXPORT void SetAxis (const gp_Ax2 theAxis);
82   
83   Standard_EXPORT gp_Ax2 GetAxis() const;
84    
85   Standard_EXPORT Standard_Boolean HasAxis () const;
86
87   DEFINE_STANDARD_RTTI(XCAFDimTolObjects_GeomToleranceObject,Standard_Transient)
88
89 private: 
90
91   XCAFDimTolObjects_GeomToleranceType myType;
92   XCAFDimTolObjects_GeomToleranceTypeValue myTypeOfValue;
93   Standard_Real myValue;
94   XCAFDimTolObjects_GeomToleranceMatReqModif myMatReqModif;
95   XCAFDimTolObjects_GeomToleranceZoneModif myZoneModif;
96   Standard_Real myValueOfZoneModif;
97   XCAFDimTolObjects_GeomToleranceModifiersSequence myModifiers;
98   Standard_Real myMaxValueModif;
99   gp_Ax2 myAxis;
100   Standard_Boolean myHasAxis;
101 };
102
103
104
105
106
107
108
109 #endif // _XCAFDimTolObjects_GeomToleranceObject_HeaderFile