21 #include "../common/AbstractObject.h"
23 #include "../MacroDefinitions.h"
28 class RockFluidOrganizationInterpretation;
38 #define GETTER_FLUID_COMPONENT_ATTRIBUTE(componentName, attributeName, attributeDatatype)\
39 DLL_IMPORT_OR_EXPORT attributeDatatype get##componentName##attributeName() const {\
40 if (static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName == nullptr) { throw std::logic_error("The component does not exist"); }\
41 return static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName->attributeName;\
51 #define GETTER_AND_SETTER_FLUID_COMPONENT_OPTIONAL_ATTRIBUTE(componentName, attributeName, attributeDatatype)\
52 DLL_IMPORT_OR_EXPORT void set##componentName##attributeName(const attributeDatatype& value);\
53 DLL_IMPORT_OR_EXPORT bool has##componentName##attributeName() const {\
54 return static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName != nullptr &&\
55 static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName->attributeName != nullptr;\
57 DLL_IMPORT_OR_EXPORT attributeDatatype get##componentName##attributeName() const {\
58 if (!has##componentName##attributeName()) { throw std::logic_error("This attribute in this component attribute does not exist"); }\
59 return *static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName->attributeName;\
69 #define GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(componentName, attributeName, uomDatatype)\
70 DLL_IMPORT_OR_EXPORT void set##componentName##attributeName(double value, uomDatatype uom);\
71 DLL_IMPORT_OR_EXPORT bool has##componentName##attributeName() const {\
72 return static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName != nullptr &&\
73 static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName->attributeName != nullptr;\
75 DLL_IMPORT_OR_EXPORT double get##componentName##attributeName##Value() const {\
76 if (!has##componentName##attributeName()) { throw std::logic_error("This attribute in this component attribute does not exist"); }\
77 return static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName->attributeName->__item;\
79 DLL_IMPORT_OR_EXPORT uomDatatype get##componentName##attributeName##Uom() const {\
80 if (!has##componentName##attributeName()) { throw std::logic_error("This attribute in this component attribute does not exist"); }\
81 return static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName->attributeName->uom;\
89 #define GETTER_AND_SETTER_FLUID_COMPONENT_COMMON_ATTRIBUTES(componentName)\
90 DLL_IMPORT_OR_EXPORT bool has##componentName() const {\
91 return static_cast<gsoap_eml2_2::prodml21__FluidSystem*>(gsoapProxy2_2)->componentName != nullptr;\
93 GETTER_FLUID_COMPONENT_ATTRIBUTE(componentName, uid, std::string)\
94 GETTER_AND_SETTER_FLUID_COMPONENT_OPTIONAL_ATTRIBUTE(componentName, Remark, std::string)\
95 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(componentName, MassFraction, gsoap_eml2_2::eml22__MassPerMassUom)\
96 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(componentName, MoleFraction, gsoap_eml2_2::eml22__AmountOfSubstancePerAmountOfSubstanceUom)
99 namespace PRODML2_1_NS
113 DLL_IMPORT_OR_EXPORT
FluidSystem(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
134 const std::string & guid,
135 const std::string & title,
136 double temperatureValue, gsoap_eml2_2::eml22__ThermodynamicTemperatureUom temperatureUom,
137 double pressureValue, gsoap_eml2_2::eml22__PressureUom pressureUom,
138 gsoap_eml2_2::prodml21__ReservoirFluidKind reservoirFluidKind,
139 double gasOilRatio, gsoap_eml2_2::eml22__VolumePerVolumeUom gasOilRatioUom);
157 const std::string & guid,
158 const std::string & title,
159 gsoap_eml2_2::eml22__ReferenceCondition referenceCondition,
160 gsoap_eml2_2::prodml21__ReservoirFluidKind reservoirFluidKind,
161 double gasOilRatio, gsoap_eml2_2::eml22__VolumePerVolumeUom gasOilRatioUom);
168 FluidSystem(gsoap_eml2_2::prodml21__FluidSystem* fromGsoap):AbstractObject(fromGsoap) {}
173 GETTER_SETTER_ATTRIBUTE(gsoap_eml2_2::prodml21__FluidSystem, gsoapProxy2_2, ReservoirFluidKind, gsoap_eml2_2::prodml21__ReservoirFluidKind)
175 GETTER_SETTER_OPTIONAL_ATTRIBUTE(gsoap_eml2_2::prodml21__FluidSystem, gsoapProxy2_2, PhasesPresent, gsoap_eml2_2::prodml21__PhasePresent)
176 GETTER_SETTER_OPTIONAL_ATTRIBUTE(gsoap_eml2_2::prodml21__FluidSystem, gsoapProxy2_2, ReservoirLifeCycleState, gsoap_eml2_2::prodml21__ReservoirLifeCycleState)
177 GETTER_SETTER_OPTIONAL_ATTRIBUTE(gsoap_eml2_2::prodml21__FluidSystem, gsoapProxy2_2, Remark, std::string)
184 DLL_IMPORT_OR_EXPORT
double getStandardTemperatureValue() const;
191 DLL_IMPORT_OR_EXPORT gsoap_eml2_2::eml22__ThermodynamicTemperatureUom getStandardTemperatureUom() const;
198 DLL_IMPORT_OR_EXPORT
double getStandardPressureValue() const;
205 DLL_IMPORT_OR_EXPORT gsoap_eml2_2::eml22__PressureUom getStandardPressureUom() const;
212 DLL_IMPORT_OR_EXPORT
double getSolutionGORValue() const;
219 DLL_IMPORT_OR_EXPORT gsoap_eml2_2::eml22__VolumePerVolumeUom getSolutionGORUom() const;
224 DLL_IMPORT_OR_EXPORT
void setSaturationPressure(
double value, gsoap_eml2_2::eml22__PressureUom pressureUom, gsoap_eml2_2::prodml21__SaturationPointKind saturationPointKind);
231 DLL_IMPORT_OR_EXPORT
bool hasSaturationPressureValue() const;
238 DLL_IMPORT_OR_EXPORT
double getSaturationPressureValue() const;
245 DLL_IMPORT_OR_EXPORT gsoap_eml2_2::eml22__PressureUom getSaturationPressureUom() const;
252 DLL_IMPORT_OR_EXPORT gsoap_eml2_2::prodml21__SaturationPointKind getSaturationPressurePointKind() const;
257 GETTER_AND_SETTER_FLUID_COMPONENT_COMMON_ATTRIBUTES(FormationWater)
258 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(FormationWater, Salinity, gsoap_eml2_2::eml22__MassPerMassUom)
259 GETTER_AND_SETTER_FLUID_COMPONENT_OPTIONAL_ATTRIBUTE(FormationWater, SpecificGravity,
double)
264 GETTER_AND_SETTER_FLUID_COMPONENT_COMMON_ATTRIBUTES(StockTankOil)
265 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, APIGravity, gsoap_eml2_2::eml22__APIGravityUom)
266 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, MolecularWeight, gsoap_eml2_2::eml22__MolecularWeightUom)
267 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, GrossEnergyContentPerUnitMass, gsoap_eml2_2::eml22__EnergyPerMassUom)
268 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, NetEnergyContentPerUnitMass, gsoap_eml2_2::eml22__EnergyPerMassUom)
269 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, GrossEnergyContentPerUnitVolume, gsoap_eml2_2::eml22__EnergyPerVolumeUom)
270 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, NetEnergyContentPerUnitVolume, gsoap_eml2_2::eml22__EnergyPerVolumeUom)
275 GETTER_AND_SETTER_FLUID_COMPONENT_COMMON_ATTRIBUTES(NaturalGas)
276 GETTER_AND_SETTER_FLUID_COMPONENT_OPTIONAL_ATTRIBUTE(NaturalGas, GasGravity,
double)
277 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, MolecularWeight, gsoap_eml2_2::eml22__MolecularWeightUom)
278 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, GrossEnergyContentPerUnitMass, gsoap_eml2_2::eml22__EnergyPerMassUom)
279 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, NetEnergyContentPerUnitMass, gsoap_eml2_2::eml22__EnergyPerMassUom)
280 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, GrossEnergyContentPerUnitVolume, gsoap_eml2_2::eml22__EnergyPerVolumeUom)
281 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, NetEnergyContentPerUnitVolume, gsoap_eml2_2::eml22__EnergyPerVolumeUom)
288 DLL_IMPORT_OR_EXPORT
void setRockFluidOrganization(RESQML2_NS::RockFluidOrganizationInterpretation* rockFluidOrg);
295 COMMON_NS::DataObjectReference getRockFluidOrganizationDor() const;
302 DLL_IMPORT_OR_EXPORT RESQML2_NS::RockFluidOrganizationInterpretation* getRockFluidOrganization() const;
316 DLL_IMPORT_OR_EXPORT uint64_t getFluidCharacterizationCount() const;
335 DLL_IMPORT_OR_EXPORT static const
char* XML_TAG;
342 DLL_IMPORT_OR_EXPORT virtual std::
string getXmlTag()
const {
return XML_TAG; }
347 DLL_IMPORT_OR_EXPORT
static const char*
XML_NS;
Definition: FluidCharacterization.h:110
Definition: FluidSystem.h:103
FluidSystem(common::DataObjectRepository *repo, const std::string &guid, const std::string &title, gsoap_eml2_2::eml22__ReferenceCondition referenceCondition, gsoap_eml2_2::prodml21__ReservoirFluidKind reservoirFluidKind, double gasOilRatio, gsoap_eml2_2::eml22__VolumePerVolumeUom gasOilRatioUom)
Creates an instance of this class in a gsoap context.
std::string getXmlNamespace() const final
Definition: FluidSystem.h:352
FluidSystem(gsoap_eml2_2::prodml21__FluidSystem *fromGsoap)
Definition: FluidSystem.h:168
void loadTargetRelationships() final
static const char * XML_NS
Definition: FluidSystem.h:347
FluidSystem(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: FluidSystem.h:113
FluidSystem(common::DataObjectRepository *repo, const std::string &guid, const std::string &title, double temperatureValue, gsoap_eml2_2::eml22__ThermodynamicTemperatureUom temperatureUom, double pressureValue, gsoap_eml2_2::eml22__PressureUom pressureUom, gsoap_eml2_2::prodml21__ReservoirFluidKind reservoirFluidKind, double gasOilRatio, gsoap_eml2_2::eml22__VolumePerVolumeUom gasOilRatioUom)
Creates an instance of this class in a gsoap context.