SESegmentSigmoidal.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 
6 #include "cdm/properties/SESegment.h"
7 
8 class CDM_DECL SESegmentSigmoidal : public SESegment
9 {
10 protected:
11  friend class PBProperty;//friend the serialization class
12  friend class SECurve;
14 public:
15  virtual ~SESegmentSigmoidal();
16 
17  virtual void Clear() override;
18  virtual bool IsValid() const override;
19 
20  virtual bool HasLowerCorner() const;
21  virtual SEScalarPressure& GetLowerCorner();
22  virtual double GetLowerCorner(const PressureUnit& unit) const;
23 
24  virtual bool HasUpperCorner() const;
25  virtual SEScalarPressure& GetUpperCorner();
26  virtual double GetUpperCorner(const PressureUnit& unit) const;
27 
28  virtual bool HasBaselineCompliance() const;
29  virtual SEScalarVolumePerPressure& GetBaselineCompliance();
30  virtual double GetBaselineCompliance(const VolumePerPressureUnit& unit) const;
31 
32  virtual std::string ToString() const override;
33  virtual void ToString(std::ostream& str) const override;
34 
35 protected:
36  virtual void Abstract() override { };
37 
41 };
Definition: PBProperties.h:87
Definition: SEScalarPressure.h:8
Definition: SECurve.h:12
Definition: SEScalarPressure.h:29
Definition: SEScalarVolumePerPressure.h:28
Definition: SESegment.h:7
virtual bool IsValid() const
Definition: SESegment.cpp:27
virtual std::string ToString() const
Definition: SESegment.cpp:66
virtual void Clear()
Definition: SESegment.cpp:21
Definition: SESegmentSigmoidal.h:9
SEScalarVolumePerPressure * m_BaselineCompliance
Definition: SESegmentSigmoidal.h:40
virtual void Abstract() override
Definition: SESegmentSigmoidal.h:36
SEScalarPressure * m_LowerCorner
Definition: SESegmentSigmoidal.h:36
SEScalarPressure * m_UpperCorner
Definition: SESegmentSigmoidal.h:39
Definition: SEScalarVolumePerPressure.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.