// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _StepFEA_Curve3dElementProperty_HeaderFile
#define _StepFEA_Curve3dElementProperty_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_StepFEA_Curve3dElementProperty.hxx>

#include <Handle_TCollection_HAsciiString.hxx>
#include <Handle_StepFEA_HArray1OfCurveElementInterval.hxx>
#include <Handle_StepFEA_HArray1OfCurveElementEndOffset.hxx>
#include <Handle_StepFEA_HArray1OfCurveElementEndRelease.hxx>
#include <MMgt_TShared.hxx>
class TCollection_HAsciiString;
class StepFEA_HArray1OfCurveElementInterval;
class StepFEA_HArray1OfCurveElementEndOffset;
class StepFEA_HArray1OfCurveElementEndRelease;


//! Representation of STEP entity Curve3dElementProperty
class StepFEA_Curve3dElementProperty : public MMgt_TShared
{

public:

  
  //! Empty constructor
  Standard_EXPORT StepFEA_Curve3dElementProperty();
  
  //! Initialize all fields (own and inherited)
  Standard_EXPORT   void Init (const Handle(TCollection_HAsciiString)& aPropertyId, const Handle(TCollection_HAsciiString)& aDescription, const Handle(StepFEA_HArray1OfCurveElementInterval)& aIntervalDefinitions, const Handle(StepFEA_HArray1OfCurveElementEndOffset)& aEndOffsets, const Handle(StepFEA_HArray1OfCurveElementEndRelease)& aEndReleases) ;
  
  //! Returns field PropertyId
  Standard_EXPORT   Handle(TCollection_HAsciiString) PropertyId()  const;
  
  //! Set field PropertyId
  Standard_EXPORT   void SetPropertyId (const Handle(TCollection_HAsciiString)& PropertyId) ;
  
  //! Returns field Description
  Standard_EXPORT   Handle(TCollection_HAsciiString) Description()  const;
  
  //! Set field Description
  Standard_EXPORT   void SetDescription (const Handle(TCollection_HAsciiString)& Description) ;
  
  //! Returns field IntervalDefinitions
  Standard_EXPORT   Handle(StepFEA_HArray1OfCurveElementInterval) IntervalDefinitions()  const;
  
  //! Set field IntervalDefinitions
  Standard_EXPORT   void SetIntervalDefinitions (const Handle(StepFEA_HArray1OfCurveElementInterval)& IntervalDefinitions) ;
  
  //! Returns field EndOffsets
  Standard_EXPORT   Handle(StepFEA_HArray1OfCurveElementEndOffset) EndOffsets()  const;
  
  //! Set field EndOffsets
  Standard_EXPORT   void SetEndOffsets (const Handle(StepFEA_HArray1OfCurveElementEndOffset)& EndOffsets) ;
  
  //! Returns field EndReleases
  Standard_EXPORT   Handle(StepFEA_HArray1OfCurveElementEndRelease) EndReleases()  const;
  
  //! Set field EndReleases
  Standard_EXPORT   void SetEndReleases (const Handle(StepFEA_HArray1OfCurveElementEndRelease)& EndReleases) ;




  DEFINE_STANDARD_RTTI(StepFEA_Curve3dElementProperty)

protected:




private: 


  Handle(TCollection_HAsciiString) thePropertyId;
  Handle(TCollection_HAsciiString) theDescription;
  Handle(StepFEA_HArray1OfCurveElementInterval) theIntervalDefinitions;
  Handle(StepFEA_HArray1OfCurveElementEndOffset) theEndOffsets;
  Handle(StepFEA_HArray1OfCurveElementEndRelease) theEndReleases;


};







#endif // _StepFEA_Curve3dElementProperty_HeaderFile
