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
8class CDM_DECL SESegmentLinear : public SESegment
9{
10protected:
11 friend class PBProperty;//friend the serialization class
12 friend class SECurve;
14public:
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
31protected:
32 virtual void Abstract() override { };
33
36};
Definition: PBProperties.h:86
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:34

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.