Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
StreamlinesRepresentation.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 "../resqml2/StreamlinesRepresentation.h"
22 
23 namespace RESQML2_NS
24 {
25  class GenericFeatureInterpretation;
26 }
27 
28 namespace RESQML2_2_NS
29 {
37  class StreamlinesRepresentation final : public RESQML2_NS::StreamlinesRepresentation
38  {
39  public:
45  DLL_IMPORT_OR_EXPORT StreamlinesRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : RESQML2_NS::StreamlinesRepresentation(partialObject) {}
46 
52  StreamlinesRepresentation(gsoap_eml2_3::resqml22__StreamlinesRepresentation* fromGsoap) : RESQML2_NS::StreamlinesRepresentation(fromGsoap) {}
53 
65  StreamlinesRepresentation(RESQML2_NS::GenericFeatureInterpretation* interp,
66  const std::string & guid, const std::string & title, uint64_t lineCount);
67 
72 
80  DLL_IMPORT_OR_EXPORT uint32_t getLineCount() const final;
81 
82  //********************************
83  //**** WELLBORE INFO ************
84  //********************************
85 
94  DLL_IMPORT_OR_EXPORT uint16_t getWellboreTrajectoryCount() const final;
95 
106  COMMON_NS::DataObjectReference getWellboreTrajectoryDor(uint16_t index) const final;
107 
117  DLL_IMPORT_OR_EXPORT uint32_t getInjectorPerLine(uint32_t* injectorPerLine) const final;
118 
128  DLL_IMPORT_OR_EXPORT uint32_t getProducerPerLine(uint32_t* producerPerLine) const final;
129 
143  void setWellboreInformation(uint32_t const* injectorPerLine, uint32_t const* producerPerLine, const std::vector<RESQML2_NS::WellboreTrajectoryRepresentation*> & wellboreTrajectories,
144  uint32_t nullValue = (std::numeric_limits<uint32_t>::max)(), EML2_NS::AbstractHdfProxy* hdfProxy = nullptr) final;
145 
146  //********************************
147  //********** GEOMETRY ************
148  //********************************
149 
157  DLL_IMPORT_OR_EXPORT void getNodeCountPerLine(uint32_t * nodeCountPerPolyline) const final;
158 
162  DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const final;
163 
185  DLL_IMPORT_OR_EXPORT void setGeometry(
186  uint32_t const * nodeCountPerPolyline, double const * xyzPoints,
187  EML2_NS::AbstractHdfProxy* hdfProxy = nullptr, RESQML2_NS::AbstractLocal3dCrs* localCrs = nullptr) final;
188 
189  //********************************
190  //******* GRID INFO *************
191  //********************************
192 
233  DLL_IMPORT_OR_EXPORT void setIntervalGridCells(uint16_t const* gridIndices, uint16_t gridIndicesNullValue,
234  uint64_t const* cellIndices, uint64_t cellIndicesNullValue,
235  uint8_t const* localFacePairPerCellIndices, uint8_t localFacePairPerCellIndicesNullValue,
236  const std::vector<RESQML2_NS::AbstractGridRepresentation*> & supportingGrids,
237  EML2_NS::AbstractHdfProxy * hdfProxy = nullptr) final;
238 
253  DLL_IMPORT_OR_EXPORT uint16_t getGridIndices(uint16_t * gridIndices) const final;
254 
270  DLL_IMPORT_OR_EXPORT int64_t getCellIndices(uint64_t * cellIndices) const final;
271 
285  DLL_IMPORT_OR_EXPORT uint8_t getLocalFacePairPerCellIndices(uint8_t * localFacePairPerCellIndices) const final;
286 
295  DLL_IMPORT_OR_EXPORT uint16_t getGridRepresentationCount() const final;
296 
307  COMMON_NS::DataObjectReference getGridRepresentationDor(uint16_t index) const final;
308 
316  COMMON_NS::DataObjectReference getHdfProxyDor() const final;
317 
321  DLL_IMPORT_OR_EXPORT static const char* XML_NS;
322 
326  DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
327 
328  private:
329  gsoap_eml2_3::resqml22__PointGeometry* getPointGeometry2_2(unsigned int patchIndex) const final;
330  };
331 }
Specification of the vector field upon which the streamlines are based.
Definition: StreamlinesRepresentation.h:38
StreamlinesRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: StreamlinesRepresentation.h:45
uint32_t getLineCount() const final
StreamlinesRepresentation(gsoap_eml2_3::resqml22__StreamlinesRepresentation *fromGsoap)
Definition: StreamlinesRepresentation.h:52
StreamlinesRepresentation(resqml2::GenericFeatureInterpretation *interp, const std::string &guid, const std::string &title, uint64_t lineCount)
Creates an instance of this class in a gsoap context.
Definition: WellboreTrajectoryRepresentation.h:27