1 // Created on: 2002-12-10 2 // Created by: data exchange team 3 // Copyright (c) 2002-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 #ifndef _StepElement_CurveElementFreedom_HeaderFile 17 #define _StepElement_CurveElementFreedom_HeaderFile 18 19 #include <Standard.hxx> 20 #include <Standard_DefineAlloc.hxx> 21 #include <Standard_Handle.hxx> 22 23 #include <StepData_SelectType.hxx> 24 #include <Standard_Integer.hxx> 25 #include <StepElement_EnumeratedCurveElementFreedom.hxx> 26 class Standard_Transient; 27 class StepData_SelectMember; 28 class TCollection_HAsciiString; 29 30 31 //! Representation of STEP SELECT type CurveElementFreedom 32 class StepElement_CurveElementFreedom : public StepData_SelectType 33 { 34 public: 35 36 DEFINE_STANDARD_ALLOC 37 38 39 //! Empty constructor 40 Standard_EXPORT StepElement_CurveElementFreedom(); 41 42 //! Recognizes a kind of CurveElementFreedom select type 43 //! return 0 44 Standard_EXPORT Standard_Integer CaseNum (const Handle(Standard_Transient)& ent) const Standard_OVERRIDE; 45 46 //! Recognizes a items of select member CurveElementFreedomMember 47 //! 1 -> EnumeratedCurveElementFreedom 48 //! 2 -> ApplicationDefinedDegreeOfFreedom 49 //! 0 else 50 Standard_EXPORT virtual Standard_Integer CaseMem (const Handle(StepData_SelectMember)& ent) const Standard_OVERRIDE; 51 52 //! Returns a new select member the type CurveElementFreedomMember 53 Standard_EXPORT virtual Handle(StepData_SelectMember) NewMember() const Standard_OVERRIDE; 54 55 //! Set Value for EnumeratedCurveElementFreedom 56 Standard_EXPORT void SetEnumeratedCurveElementFreedom (const StepElement_EnumeratedCurveElementFreedom aVal); 57 58 //! Returns Value as EnumeratedCurveElementFreedom (or Null if another type) 59 Standard_EXPORT StepElement_EnumeratedCurveElementFreedom EnumeratedCurveElementFreedom() const; 60 61 //! Set Value for ApplicationDefinedDegreeOfFreedom 62 Standard_EXPORT void SetApplicationDefinedDegreeOfFreedom (const Handle(TCollection_HAsciiString)& aVal); 63 64 //! Returns Value as ApplicationDefinedDegreeOfFreedom (or Null if another type) 65 Standard_EXPORT Handle(TCollection_HAsciiString) ApplicationDefinedDegreeOfFreedom() const; 66 67 68 69 70 protected: 71 72 73 74 75 76 private: 77 78 79 80 81 82 }; 83 84 85 86 87 88 89 90 #endif // _StepElement_CurveElementFreedom_HeaderFile 91