21 #include "AbstractRepresentation.h"
25 class AbstractGridRepresentation;
147 void virtual setWellboreInformation(uint32_t
const* injectorPerLine, uint32_t
const* producerPerLine,
const std::vector<RESQML2_NS::WellboreTrajectoryRepresentation*> & wellboreTrajectories,
148 uint32_t nullValue = (std::numeric_limits<uint32_t>::max)(), EML2_NS::AbstractHdfProxy* hdfProxy =
nullptr) = 0;
167 if (patchIndex > 0) {
168 throw std::out_of_range(
"The patch index is out of range and should only be zero.");
171 const uint32_t lineCount = getLineCount();
172 std::unique_ptr<uint32_t[]> nodeCountPerPolyline(
new uint32_t[lineCount]);
173 getNodeCountPerLine(nodeCountPerPolyline.get());
176 for (uint32_t lineIndex = 0; lineIndex < lineCount; ++lineIndex) {
177 result += nodeCountPerPolyline[lineIndex];
190 getNodeCountPerLine(intervalCountPerPolyline);
192 const uint32_t lineCount = getLineCount();
193 for (uint32_t lineIndex = 0; lineIndex < lineCount; ++lineIndex) {
194 intervalCountPerPolyline[lineIndex] -= 1;
206 const uint32_t lineCount = getLineCount();
207 std::unique_ptr<uint32_t[]> intervalCountPerPolyline(
new uint32_t[lineCount]);
208 getIntervalCountPerLine (intervalCountPerPolyline.get());
211 for (uint32_t lineIndex = 0; lineIndex < lineCount; ++lineIndex) {
212 result += intervalCountPerPolyline[lineIndex];
241 uint32_t
const * nodeCountPerPolyline,
double const * xyzPoints,
242 EML2_NS::AbstractHdfProxy* hdfProxy =
nullptr, RESQML2_NS::AbstractLocal3dCrs* localCrs =
nullptr) = 0;
288 DLL_IMPORT_OR_EXPORT
virtual void setIntervalGridCells(uint16_t
const* gridIndices, uint16_t gridIndicesNullValue,
289 uint64_t
const* cellIndices, uint64_t cellIndicesNullValue,
290 uint8_t
const* localFacePairPerCellIndices, uint8_t localFacePairPerCellIndicesNullValue,
291 const std::vector<RESQML2_NS::AbstractGridRepresentation*> & supportingGrids,
292 EML2_NS::AbstractHdfProxy * hdfProxy =
nullptr) = 0;
308 DLL_IMPORT_OR_EXPORT
virtual uint16_t
getGridIndices(uint16_t * gridIndices)
const = 0;
325 DLL_IMPORT_OR_EXPORT
virtual int64_t
getCellIndices(uint64_t * cellIndices)
const = 0;
385 DLL_IMPORT_OR_EXPORT static const
char* XML_TAG;
387 DLL_IMPORT_OR_EXPORT virtual std::
string getXmlTag() const final {
return XML_TAG; }
Proxy class for an abstract representation.
Definition: AbstractRepresentation.h:32
Representation of streamlines associated with a streamline feature and interpretation....
Definition: StreamlinesRepresentation.h:33
virtual uint32_t getProducerPerLine(uint32_t *producerPerLine) const =0
Gets all the wellbore indices which are producers. Null values signify that that line does not termin...
virtual uint32_t getLineCount() const =0
virtual uint8_t getLocalFacePairPerCellIndices(uint8_t *localFacePairPerCellIndices) const =0
resqml2::WellboreTrajectoryRepresentation * getWellboreTrajectory(uint16_t index) const
StreamlinesRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: StreamlinesRepresentation.h:43
virtual void getNodeCountPerLine(uint32_t *nodeCountPerPolyline) const =0
virtual common::DataObjectReference getGridRepresentationDor(uint16_t index) const =0
uint64_t getIntervalCount() const
Definition: StreamlinesRepresentation.h:205
void loadTargetRelationships() final
virtual common::DataObjectReference getWellboreTrajectoryDor(uint16_t index) const =0
virtual int64_t getCellIndices(uint64_t *cellIndices) const =0
virtual uint16_t getGridRepresentationCount() const =0
StreamlinesRepresentation(gsoap_resqml2_0_1::_resqml20__StreamlinesRepresentation *fromGsoap)
Definition: StreamlinesRepresentation.h:50
virtual uint16_t getWellboreTrajectoryCount() const =0
virtual void setWellboreInformation(uint32_t const *injectorPerLine, uint32_t const *producerPerLine, const std::vector< resqml2::WellboreTrajectoryRepresentation * > &wellboreTrajectories, uint32_t nullValue=(std::numeric_limits< uint32_t >::max)(), eml2::AbstractHdfProxy *hdfProxy=nullptr)=0
virtual uint32_t getInjectorPerLine(uint32_t *injectorPerLine) const =0
Gets all the wellbore indices which are injectors. Null values signify that that line does not initia...
virtual uint16_t getGridIndices(uint16_t *gridIndices) const =0
void getIntervalCountPerLine(uint32_t *intervalCountPerPolyline) const
Definition: StreamlinesRepresentation.h:189
uint64_t getXyzPointCountOfPatch(unsigned int patchIndex) const final
Definition: StreamlinesRepresentation.h:166
resqml2::AbstractGridRepresentation * getGridRepresentation(uint16_t index) const
StreamlinesRepresentation(gsoap_eml2_3::_resqml22__StreamlinesRepresentation *fromGsoap)
Definition: StreamlinesRepresentation.h:57
virtual void setIntervalGridCells(uint16_t const *gridIndices, uint16_t gridIndicesNullValue, uint64_t const *cellIndices, uint64_t cellIndicesNullValue, uint8_t const *localFacePairPerCellIndices, uint8_t localFacePairPerCellIndicesNullValue, const std::vector< resqml2::AbstractGridRepresentation * > &supportingGrids, eml2::AbstractHdfProxy *hdfProxy=nullptr)=0
virtual void setGeometry(uint32_t const *nodeCountPerPolyline, double const *xyzPoints, eml2::AbstractHdfProxy *hdfProxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr)=0
virtual ~StreamlinesRepresentation()=default
unsigned int getPatchCount() const final
Definition: StreamlinesRepresentation.h:377