SEFunctionVolumeVsTime.h
1 /**************************************************************************************
2 Copyright 2015 Applied Research Associates, Inc.
3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 this file except in compliance with the License. You may obtain a copy of the License
5 at:
6 http://www.apache.org/licenses/LICENSE-2.0
7 Unless required by applicable law or agreed to in writing, software distributed under
8 the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
9 CONDITIONS OF ANY KIND, either express or implied. See the License for the
10 specific language governing permissions and limitations under the License.
11 **************************************************************************************/
12 
13 #pragma once
14 #include <biogears/cdm/properties/SEFunction.h>
15 #include <biogears/schema/cdm/Properties.hxx>
16 #include <biogears/cdm/properties/SEScalarTime.h>
17 #include <biogears/cdm/properties/SEScalarVolume.h>
18 
19 namespace biogears {
20 class BIOGEARS_API SEFunctionVolumeVsTime : public SEFunction {
21 public:
23  virtual ~SEFunctionVolumeVsTime();
24 
25  virtual void Clear();
26 
27  virtual bool Load(const CDM::FunctionVolumeVsTimeData& in);
28  virtual CDM::FunctionVolumeVsTimeData* Unload() const;
29 
30 protected:
31  virtual void Unload(CDM::FunctionVolumeVsTimeData& data) const;
32 
33 public:
34  double GetIndependentValue(unsigned int index) = delete;
35  virtual double GetTimeValue(unsigned int index, const TimeUnit& unit);
36  virtual std::vector<double>& GetTime();
37  virtual const TimeUnit* GetTimeUnit();
38  virtual void SetTimeUnit(const TimeUnit& unit);
39 
40  double GetDependentValue(unsigned int index) = delete;
41  virtual double GetVolumeValue(unsigned int index, const VolumeUnit& unit);
42  virtual std::vector<double>& GetVolume();
43  virtual const VolumeUnit* GetVolumeUnit();
44  virtual void SetVolumeUnit(const VolumeUnit& unit);
45 
46 protected:
49 };
50 }
Definition: SEFunction.h:23
const VolumeUnit * m_VolumeUnit
Definition: SEFunctionVolumeVsTime.h:48
Definition: SEScalarTime.h:18
Definition: SEFunctionVolumeVsTime.h:20
Definition: SEScalarVolume.h:18
const TimeUnit * m_TimeUnit
Definition: SEFunctionVolumeVsTime.h:47
Class corresponding to the FunctionVolumeVsTimeData schema type.
Definition: Properties.hxx:8847
Definition: SEElectricalCircuit.h:18