0028832: MMgt_TShared can be replaced by Standard_Transient
[occt.git] / src / StepDimTol / StepDimTol_ProjectedZoneDefinition.hxx
1 // Created on: 2015-07-13
2 // Created by: Irina KRYLOVA
3 // Copyright (c) 2015 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 #ifndef _StepDimTol_ProjectedZoneDefinition_HeaderFile
17 #define _StepDimTol_ProjectedZoneDefinition_HeaderFile
18
19 #include <Standard.hxx>
20 #include <Standard_Type.hxx>
21
22 #include <Standard_Integer.hxx>
23 #include <StepBasic_LengthMeasureWithUnit.hxx>
24 #include <StepDimTol_ToleranceZoneDefinition.hxx>
25 #include <StepRepr_ShapeAspect.hxx>
26
27 class StepDimTol_ProjectedZoneDefinition;
28 DEFINE_STANDARD_HANDLE(StepDimTol_ProjectedZoneDefinition, StepDimTol_ToleranceZoneDefinition)
29 //! Representation of STEP entity ProjectedZoneDefinition
30 class StepDimTol_ProjectedZoneDefinition : public StepDimTol_ToleranceZoneDefinition
31 {
32
33 public:
34   
35   //! Empty constructor
36   Standard_EXPORT StepDimTol_ProjectedZoneDefinition();
37   
38   //! Initialize all fields (own and inherited)
39   Standard_EXPORT   void Init (const Handle(StepDimTol_ToleranceZone)& theZone,
40                                const Handle(StepRepr_HArray1OfShapeAspect)& theBoundaries,
41                                const Handle(StepRepr_ShapeAspect)& theProjectionEnd,
42                                const Handle(StepBasic_LengthMeasureWithUnit)& theProjectionLength);
43   
44   //! Returns field ProjectionEnd
45   inline Handle(StepRepr_ShapeAspect) ProjectionEnd () const
46   {
47     return myProjectionEnd;
48   }
49   
50   //! Set field ProjectionEnd
51   inline void SetProjectionEnd (const Handle(StepRepr_ShapeAspect) &theProjectionEnd)
52   {
53     myProjectionEnd = theProjectionEnd;
54   }
55   
56   //! Returns field ProjectionLength
57   inline Handle(StepBasic_LengthMeasureWithUnit) ProjectionLength()
58   {
59     return myProjectionLength;
60   }
61   
62   //! Set field ProjectionLength
63   inline void SetProjectionLength(const Handle(StepBasic_LengthMeasureWithUnit)& theProjectionLength)
64   {
65     myProjectionLength = theProjectionLength;
66   }
67   
68   DEFINE_STANDARD_RTTIEXT(StepDimTol_ProjectedZoneDefinition,StepDimTol_ToleranceZoneDefinition)
69
70 private: 
71   Handle(StepRepr_ShapeAspect) myProjectionEnd;
72   Handle(StepBasic_LengthMeasureWithUnit) myProjectionLength;
73 };
74 #endif // _StepDimTol_ProjectionZoneDefinition_HeaderFile