Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:19:11

0001 // Created on: 2015-07-13
0002 // Created by: Irina KRYLOVA
0003 // Copyright (c) 2015 OPEN CASCADE SAS
0004 //
0005 // This file is part of Open CASCADE Technology software library.
0006 //
0007 // This library is free software; you can redistribute it and/or modify it under
0008 // the terms of the GNU Lesser General Public License version 2.1 as published
0009 // by the Free Software Foundation, with special exception defined in the file
0010 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0011 // distribution for complete text of the license and disclaimer of any warranty.
0012 //
0013 // Alternatively, this file may be used under the terms of Open CASCADE
0014 // commercial license or contractual agreement.
0015 
0016 #ifndef _StepDimTol_ToleranceZoneDefinition_HeaderFile
0017 #define _StepDimTol_ToleranceZoneDefinition_HeaderFile
0018 
0019 #include <Standard.hxx>
0020 
0021 #include <Standard_Transient.hxx>
0022 #include <Standard_Integer.hxx>
0023 #include <StepRepr_ShapeAspect.hxx>
0024 #include <NCollection_Array1.hxx>
0025 #include <NCollection_HArray1.hxx>
0026 #include <StepDimTol_ToleranceZone.hxx>
0027 
0028 //! Representation of STEP entity ToleranceZoneDefinition
0029 class StepDimTol_ToleranceZoneDefinition : public Standard_Transient
0030 {
0031 
0032 public:
0033   //! Empty constructor
0034   Standard_EXPORT StepDimTol_ToleranceZoneDefinition();
0035 
0036   //! Initialize all fields (own and inherited)
0037   Standard_EXPORT void Init(
0038     const occ::handle<StepDimTol_ToleranceZone>&                               theZone,
0039     const occ::handle<NCollection_HArray1<occ::handle<StepRepr_ShapeAspect>>>& theBoundaries);
0040 
0041   //! Returns field Boundaries
0042   inline occ::handle<NCollection_HArray1<occ::handle<StepRepr_ShapeAspect>>> Boundaries() const
0043   {
0044     return myBoundaries;
0045   }
0046 
0047   //! Set field Boundaries
0048   inline void SetBoundaries(
0049     const occ::handle<NCollection_HArray1<occ::handle<StepRepr_ShapeAspect>>>& theBoundaries)
0050   {
0051     myBoundaries = theBoundaries;
0052   }
0053 
0054   //! Returns number of Boundaries
0055   inline int NbBoundaries() const { return (myBoundaries.IsNull() ? 0 : myBoundaries->Length()); }
0056 
0057   //! Returns Boundaries with the given number
0058   inline occ::handle<StepRepr_ShapeAspect> BoundariesValue(const int theNum) const
0059   {
0060     return myBoundaries->Value(theNum);
0061   }
0062 
0063   //! Sets Boundaries with given number
0064   inline void SetBoundariesValue(const int theNum, const occ::handle<StepRepr_ShapeAspect>& theItem)
0065   {
0066     myBoundaries->SetValue(theNum, theItem);
0067   }
0068 
0069   //! Returns field Zone
0070   inline occ::handle<StepDimTol_ToleranceZone> Zone() { return myZone; }
0071 
0072   //! Set field Zone
0073   inline void SetZone(const occ::handle<StepDimTol_ToleranceZone>& theZone) { myZone = theZone; }
0074 
0075   DEFINE_STANDARD_RTTIEXT(StepDimTol_ToleranceZoneDefinition, Standard_Transient)
0076 
0077 private:
0078   occ::handle<NCollection_HArray1<occ::handle<StepRepr_ShapeAspect>>> myBoundaries;
0079   occ::handle<StepDimTol_ToleranceZone>                               myZone;
0080 };
0081 #endif // _StepDimTol_ToleranceZoneDefinition_HeaderFile