SESegmentLinear.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 SESegmentLinear : public SESegment
9 {
10 protected:
11  friend class PBProperty;//friend the serialization class
12  friend class SECurve;
14 public:
15  virtual ~SESegmentLinear();
16 
17  virtual void Clear() override;
18  virtual bool IsValid() const override;
19 
20  virtual bool HasSlope() const;
21  virtual SEScalarPressurePerVolume& GetSlope();
22  virtual double GetSlope(const PressurePerVolumeUnit& unit) const;
23 
24  virtual bool HasYIntercept() const;
25  virtual SEScalarPressure& GetYIntercept();
26  virtual double GetYIntercept(const PressureUnit& unit) const;
27 
28  virtual std::string ToString() const override;
29  virtual void ToString(std::ostream& str) const override;
30 
31 protected:
32  virtual void Abstract() override { };
33 
36 };
Definition: PBProperties.h:87
Definition: SEScalarPressurePerVolume.h:8
Definition: SEScalarPressure.h:8
Definition: SECurve.h:12
Definition: SEScalarPressure.h:29
Definition: SEScalarPressurePerVolume.h:26
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: SESegmentLinear.h:9
virtual void Abstract() override
Definition: SESegmentLinear.h:32
SEScalarPressure * m_YIntercept
Definition: SESegmentLinear.h:35
SEScalarPressurePerVolume * m_Slope
Definition: SESegmentLinear.h:32

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.