Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
FrictionTheorySpecification.h
1 /*-----------------------------------------------------------------------
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"; you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9 
10 http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18 -----------------------------------------------------------------------*/
19 #pragma once
20 
21 #include "CompositionalViscositySpecification.h"
22 
23 #include <limits>
24 
25 namespace PRODML2_1_NS
26 {
29  {
30  public:
31 
37  FrictionTheorySpecification(gsoap_eml2_2::prodml21__FrictionTheory* fromGsoap): CompositionalViscositySpecification(fromGsoap) {}
38 
41 
49  DLL_IMPORT_OR_EXPORT unsigned int getPrsvParameterCount() const {
50  size_t count = static_cast<gsoap_eml2_2::prodml21__FrictionTheory*>(gsoapProxy)->PrsvParameter.size();
51  if (count > (std::numeric_limits<unsigned int>::max)()) {
52  throw std::out_of_range("There are too much Prsv parameters");
53  }
54  return static_cast<unsigned int>(count);
55  }
56 
66  DLL_IMPORT_OR_EXPORT double getPrsvParameterA1(unsigned int index) const
67  {
68  if (index >= getPrsvParameterCount()) {
69  throw std::out_of_range("The index is out of range");
70  }
71 
72  return static_cast<gsoap_eml2_2::prodml21__FrictionTheory*>(gsoapProxy)->PrsvParameter[index]->a1;
73  }
74 
84  DLL_IMPORT_OR_EXPORT double getPrsvParameterA2(unsigned int index) const
85  {
86  if (index >= getPrsvParameterCount()) {
87  throw std::out_of_range("The index is out of range");
88  }
89 
90  return static_cast<gsoap_eml2_2::prodml21__FrictionTheory*>(gsoapProxy)->PrsvParameter[index]->a2;
91  }
92 
102  DLL_IMPORT_OR_EXPORT double getPrsvParameterB1(unsigned int index) const
103  {
104  if (index >= getPrsvParameterCount()) {
105  throw std::out_of_range("The index is out of range");
106  }
107 
108  return static_cast<gsoap_eml2_2::prodml21__FrictionTheory*>(gsoapProxy)->PrsvParameter[index]->b1;
109  }
110 
120  DLL_IMPORT_OR_EXPORT double getPrsvParameterB2(unsigned int index) const
121  {
122  if (index >= getPrsvParameterCount()) {
123  throw std::out_of_range("The index is out of range");
124  }
125 
126  return static_cast<gsoap_eml2_2::prodml21__FrictionTheory*>(gsoapProxy)->PrsvParameter[index]->b2;
127  }
128 
138  DLL_IMPORT_OR_EXPORT double getPrsvParameterC2(unsigned int index) const
139  {
140  if (index >= getPrsvParameterCount()) {
141  throw std::out_of_range("The index is out of range");
142  }
143 
144  return static_cast<gsoap_eml2_2::prodml21__FrictionTheory*>(gsoapProxy)->PrsvParameter[index]->c2;
145  }
146 
156  DLL_IMPORT_OR_EXPORT std::string getPrsvParameterFluidComponentReference(unsigned int index) const
157  {
158  if (index >= getPrsvParameterCount()) {
159  throw std::out_of_range("The index is out of range");
160  }
161 
162  return static_cast<gsoap_eml2_2::prodml21__FrictionTheory*>(gsoapProxy)->PrsvParameter[index]->fluidComponentReference;
163  }
164 
175  DLL_IMPORT_OR_EXPORT void pushBackPrsvParameter(double a1, double a2, double b1, double b2, double c2, const std::string & fluidComponentReference);
176  };
177 }
Definition: CompositionalViscositySpecification.h:27
Definition: FrictionTheorySpecification.h:29
double getPrsvParameterB2(unsigned int index) const
Definition: FrictionTheorySpecification.h:120
double getPrsvParameterA2(unsigned int index) const
Definition: FrictionTheorySpecification.h:84
FrictionTheorySpecification(gsoap_eml2_2::prodml21__FrictionTheory *fromGsoap)
Definition: FrictionTheorySpecification.h:37
std::string getPrsvParameterFluidComponentReference(unsigned int index) const
Definition: FrictionTheorySpecification.h:156
void pushBackPrsvParameter(double a1, double a2, double b1, double b2, double c2, const std::string &fluidComponentReference)
double getPrsvParameterA1(unsigned int index) const
Definition: FrictionTheorySpecification.h:66
double getPrsvParameterC2(unsigned int index) const
Definition: FrictionTheorySpecification.h:138
double getPrsvParameterB1(unsigned int index) const
Definition: FrictionTheorySpecification.h:102
unsigned int getPrsvParameterCount() const
Definition: FrictionTheorySpecification.h:49