<
The Pulse Team is excited to announce the Pulse Physiology Engine 4.1.0 release. Upgrade now to get the best in dynamic simulation.
×
SECurve.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "cdm/properties/SEProperty.h"
6 #include "cdm/properties/SESegmentConstant.h"
7 #include "cdm/properties/SESegmentLinear.h"
8 #include "cdm/properties/SESegmentParabolic.h"
9 #include "cdm/properties/SESegmentSigmoidal.h"
10 
11 class CDM_DECL SECurve : public SEProperty
12 {
13 public:
14 
15  SECurve();
16  virtual ~SECurve();
17 
18  virtual void Invalidate();
19  virtual bool IsValid() const override;
20  virtual void Copy(const SECurve& src);
21 
22  virtual bool HasSegment() const;
23 
24  SESegmentConstant& AddConstantSegment();
25  SESegmentLinear& AddLinearSegment();
26  SESegmentParabolic& AddParabolicSegment();
27  SESegmentSigmoidal& AddSigmoidalSegment();
28 
29  virtual const std::vector<SESegment*>& GetSegments();
30  virtual const std::vector<const SESegment*>& GetSegments() const;
31 
32  virtual std::string ToString() const;
33  virtual void ToString(std::ostream& str) const;
34 
35 protected:
36 
37  std::vector<SESegment*> m_Segments;
38 };
virtual void Invalidate()=0
Definition: SECurve.h:11
Definition: SESegmentParabolic.h:8
virtual bool IsValid() const =0
std::vector< SESegment * > m_Segments
Definition: SECurve.h:37
Definition: SESegmentConstant.h:8
Definition: SEProperty.h:7
Definition: SESegmentLinear.h:8
Definition: SESegmentSigmoidal.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.