1 // Created on: 2015-08-06
2 // Created by: Ilya Novikov
3 // Copyright (c) 2004-2014 OPEN CASCADE SAS
5 // This file is part of Open CASCADE Technology software library.
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.
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
17 #ifndef _XCAFDimTolObjects_GeomToleranceObject_HeaderFile
18 #define _XCAFDimTolObjects_GeomToleranceObject_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_Type.hxx>
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>
33 #include <TopoDS_Shape.hxx>
34 #include <TCollection_HAsciiString.hxx>
36 class XCAFDimTolObjects_GeomToleranceObject;
37 DEFINE_STANDARD_HANDLE(XCAFDimTolObjects_GeomToleranceObject, Standard_Transient)
39 //! attribute to store dimension and tolerance
40 class XCAFDimTolObjects_GeomToleranceObject : public Standard_Transient
45 Standard_EXPORT XCAFDimTolObjects_GeomToleranceObject();
47 Standard_EXPORT XCAFDimTolObjects_GeomToleranceObject(const Handle(XCAFDimTolObjects_GeomToleranceObject)& theObj);
49 Standard_EXPORT void SetType (const XCAFDimTolObjects_GeomToleranceType theType);
51 Standard_EXPORT XCAFDimTolObjects_GeomToleranceType GetType() const;
53 Standard_EXPORT void SetTypeOfValue (const XCAFDimTolObjects_GeomToleranceTypeValue theTypeOfValue);
55 Standard_EXPORT XCAFDimTolObjects_GeomToleranceTypeValue GetTypeOfValue() const;
57 Standard_EXPORT void SetValue (const Standard_Real theValue);
59 Standard_EXPORT Standard_Real GetValue() const;
61 Standard_EXPORT void SetMaterialRequirementModifier (const XCAFDimTolObjects_GeomToleranceMatReqModif theMatReqModif);
63 Standard_EXPORT XCAFDimTolObjects_GeomToleranceMatReqModif GetMaterialRequirementModifier() const;
65 Standard_EXPORT void SetZoneModifier (const XCAFDimTolObjects_GeomToleranceZoneModif theZoneModif);
67 Standard_EXPORT XCAFDimTolObjects_GeomToleranceZoneModif GetZoneModifier() const;
69 Standard_EXPORT void SetValueOfZoneModifier (const Standard_Real theValue);
71 Standard_EXPORT Standard_Real GetValueOfZoneModifier() const;
73 Standard_EXPORT void SetModifiers (const XCAFDimTolObjects_GeomToleranceModifiersSequence& theModifiers);
75 Standard_EXPORT void AddModifier (const XCAFDimTolObjects_GeomToleranceModif theModifier);
77 Standard_EXPORT XCAFDimTolObjects_GeomToleranceModifiersSequence GetModifiers() const;
79 Standard_EXPORT void SetMaxValueModifier (const Standard_Real theModifier);
81 Standard_EXPORT Standard_Real GetMaxValueModifier() const;
83 Standard_EXPORT void SetAxis (const gp_Ax2 theAxis);
85 Standard_EXPORT gp_Ax2 GetAxis() const;
87 Standard_EXPORT Standard_Boolean HasAxis () const;
89 void SetPlane (const gp_Ax2& thePlane)
92 myHasPlane = Standard_True;
95 const gp_Ax2& GetPlane() const { return myPlane; }
97 void SetPoint (const gp_Pnt& thePnt)
100 myHasPnt = Standard_True;
103 const gp_Pnt& GetPoint() const { return myPnt; }
105 void SetPointTextAttach (const gp_Pnt& thePntText)
107 myPntText = thePntText;
108 myHasPntText = Standard_True;
111 const gp_Pnt& GetPointTextAttach() const
115 Standard_Boolean HasPlane() const { return myHasPlane; }
117 Standard_Boolean HasPoint() const { return myHasPnt; }
119 Standard_Boolean HasPointText() const
125 //! Set graphical presentation for object
126 Standard_EXPORT void SetPresentation(const TopoDS_Shape& thePresentation,
127 const Handle(TCollection_HAsciiString)& thePresentationName)
129 myPresentation = thePresentation;
130 myPresentationName = thePresentationName;
133 //! Returns graphical presentation of the object
134 Standard_EXPORT TopoDS_Shape GetPresentation() const
136 return myPresentation;
139 //! Returns graphical presentation of the object
140 Standard_EXPORT Handle(TCollection_HAsciiString) GetPresentationName() const
142 return myPresentationName;
145 DEFINE_STANDARD_RTTIEXT(XCAFDimTolObjects_GeomToleranceObject,Standard_Transient)
149 XCAFDimTolObjects_GeomToleranceType myType;
150 XCAFDimTolObjects_GeomToleranceTypeValue myTypeOfValue;
151 Standard_Real myValue;
152 XCAFDimTolObjects_GeomToleranceMatReqModif myMatReqModif;
153 XCAFDimTolObjects_GeomToleranceZoneModif myZoneModif;
154 Standard_Real myValueOfZoneModif;
155 XCAFDimTolObjects_GeomToleranceModifiersSequence myModifiers;
156 Standard_Real myMaxValueModif;
158 Standard_Boolean myHasAxis;
162 Standard_Boolean myHasPlane;
163 Standard_Boolean myHasPnt;
164 Standard_Boolean myHasPntText;
165 TopoDS_Shape myPresentation;
166 Handle(TCollection_HAsciiString) myPresentationName;
176 #endif // _XCAFDimTolObjects_GeomToleranceObject_HeaderFile