Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
resqml2::PolylineSetRepresentation Class Referenceabstract

A representation made up of a set of polylines or a set of polygonal chains (for more information, see PolylineRepresentation). More...

#include <PolylineSetRepresentation.h>

Inheritance diagram for resqml2::PolylineSetRepresentation:
resqml2::AbstractRepresentation

Public Member Functions

virtual ~PolylineSetRepresentation ()=default
 
virtual uint64_t getPolylineCountOfPatch (uint64_t patchIndex) const =0
 
virtual uint64_t getPolylineCountOfAllPatches () const =0
 
virtual void getNodeCountPerPolylineInPatch (unsigned int patchIndex, unsigned int *nodeCountPerPolyline) const =0
 
virtual void getNodeCountPerPolylineOfAllPatches (unsigned int *NodeCountPerPolyline) const =0
 
uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) const final
 
virtual void pushBackGeometryPatch (unsigned int const *nodeCountPerPolyline, double const *nodes, uint64_t polylineCount, bool allPolylinesClosedFlag, eml2 ::AbstractHdfProxy *proxy=nullptr, resqml2 ::AbstractLocal3dCrs *localCrs=nullptr)=0
 
virtual void pushBackGeometryPatch (unsigned int const *nodeCountPerPolyline, double const *nodes, uint64_t polylineCount, bool *polylineClosedFlags, eml2 ::AbstractHdfProxy *proxy=nullptr, resqml2 ::AbstractLocal3dCrs *localCrs=nullptr)=0
 
virtual bool areAllPolylinesClosedOfPatch (unsigned int patchIndex) const =0
 
virtual bool areAllPolylinesClosedOfAllPatches () const =0
 
virtual bool areAllPolylinesNonClosedOfPatch (unsigned int patchIndex) const =0
 
virtual bool areAllPolylinesNonClosedOfAllPatches () const =0
 
virtual void getClosedFlagPerPolylineOfPatch (unsigned int patchIndex, bool *closedFlagPerPolyline) const =0
 
virtual void getClosedFlagPerPolylineOfAllPatches (bool *closedFlagPerPolyline) const =0
 
virtual bool hasALineRole () const =0
 
virtual gsoap_eml2_3::resqml22__LineRole getLineRole () const =0
 
virtual void setLineRole (gsoap_eml2_3::resqml22__LineRole lineRole)=0
 
virtual std::string getXmlTag () const final
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()=default
 
class AbstractLocal3dCrsgetLocalCrs (unsigned int patchIndex) const
 
virtual common::DataObjectReference getLocalCrsDor (unsigned int patchIndex) const
 
virtual common::DataObjectReference getHdfProxyDor () const =0
 Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry).
 
void setTimeIndex (uint64_t timeIndex, eml2 ::TimeSeries *timeSeries)
 
uint64_t getTimeIndex () const
 Gets the time index of this representation in the associated TimeSeries. Be sure to first check that a TimeSeries is associated this representation by calling getTimeSeriesDor or getTimeSeries;.
 
eml2::TimeSeriesgetTimeSeries () const
 
common::DataObjectReference getTimeSeriesDor () const
 Gets the data object reference of the TimeSeries containing the time of this representation at a particular index. For now, this method only look for a TimeSeries at the first patch containing a point geometry.
 
std::vector< class AbstractProperty * > getPropertySet () const
 
void setInterpretation (class AbstractFeatureInterpretation *interp)
 
class AbstractFeatureInterpretationgetInterpretation () const
 
common::DataObjectReference getInterpretationDor () const
 
uint64_t getXyzPointCountOfAllPatches () const
 
virtual void getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const =0
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS.
 
void getXyzPointsOfPatchInGlobalCrs (unsigned int patchIndex, double *xyzPoints) const
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the global CRS.
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 Gets all the xyz points of all patches of this representation. xyz points are given in the local CRS.
 
bool isInSingleLocalCrs () const
 
bool isInSingleGlobalCrs () const
 
void getXyzPointsOfAllPatchesInGlobalCrs (double *xyzPoints) const
 
AbstractRepresentationgetSeismicSupportOfPatch (const unsigned int &patchIndex) const
 
std::set< AbstractRepresentation * > getAllSeismicSupport () const
 
virtual uint64_t getPatchCount () const =0
 
void pushBackIntoRepresentationSet (class RepresentationSetRepresentation *repSet)
 
void addSeismic3dCoordinatesToPatch (unsigned int patchIndex, double *inlines, double *crosslines, uint64_t pointCount, resqml2 ::AbstractRepresentation *seismicSupport, eml2 ::AbstractHdfProxy *proxy)
 
void addSeismic3dCoordinatesToPatch (unsigned int patchIndex, double startInline, double incrInline, unsigned int countInline, double startCrossline, double incrCrossline, unsigned int countCrossline, resqml2 ::AbstractRepresentation *seismicSupport)
 
void addSeismic2dCoordinatesToPatch (unsigned int patchIndex, double *lineAbscissa, resqml2 ::AbstractRepresentation *seismicSupport, eml2 ::AbstractHdfProxy *proxy)
 
void getSeismicLineAbscissaOfPointsOfPatch (unsigned int patchIndex, double *values) const
 
void getInlinesOfPointsOfPatch (unsigned int patchIndex, double *values) const
 
void getCrosslinesOfPointsOfPatch (unsigned int patchIndex, double *values) const
 
virtual void loadTargetRelationships () override
 

Static Public Attributes

static const char * XML_TAG
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static constexpr char const * XML_TAG = "AbstractRepresentation"
 

Detailed Description

A representation made up of a set of polylines or a set of polygonal chains (for more information, see PolylineRepresentation).

For compactness, it is organized by line patch as a unique polyline set patch.

A closed polyline is connected between the first and the last point.

Constructor & Destructor Documentation

◆ ~PolylineSetRepresentation()

virtual resqml2::PolylineSetRepresentation::~PolylineSetRepresentation ( )
virtualdefault

Destructor does nothing since the memory is managed by the gSOAP context.

Member Function Documentation

◆ areAllPolylinesClosedOfAllPatches()

virtual bool resqml2::PolylineSetRepresentation::areAllPolylinesClosedOfAllPatches ( ) const
pure virtual

Checks if all polylines of all patches are closed. Notice that a returned "false" does not mean they are all not closed (it means that at least one polyline in one patch is not closed). Indeed they can be mixed i.e. some closed and some not.

Returns
True if all polylines of all patches are closed, false if not.

◆ areAllPolylinesClosedOfPatch()

virtual bool resqml2::PolylineSetRepresentation::areAllPolylinesClosedOfPatch ( unsigned int patchIndex) const
pure virtual

Checks if all polylines contained in a given patch are closed. Notice that a returned "false" does not mean they are all not closed (it means that at least one polyline is not closed). Indeed they can be mixed i.e. some closed and some not.

Exceptions
std::out_of_rangeIf patchIndex >= getPatchCount().
Parameters
patchIndexThe index of the patch for which we want to know if all polylines are closed.
Returns
True if all polylines of patch patchIndex are closed, false if not.

◆ areAllPolylinesNonClosedOfAllPatches()

virtual bool resqml2::PolylineSetRepresentation::areAllPolylinesNonClosedOfAllPatches ( ) const
pure virtual

Checks if all polylines of all patches are not closed. Notice that a returned "false" does not mean they are all closed (it means that at least one polyline in one patch is closed). Indeed they can be mixed i.e. some closed and some not.

Returns
True if all polylines of all patches are not closed, false if not.

◆ areAllPolylinesNonClosedOfPatch()

virtual bool resqml2::PolylineSetRepresentation::areAllPolylinesNonClosedOfPatch ( unsigned int patchIndex) const
pure virtual

Checks if all polylines contained in a given patch are not closed. Notice that a returned "false" does not mean they are all closed (it means that at least one polyline is closed). Indeed they can be mixed i.e. some closed and some not.

Exceptions
std::out_of_rangeIf patchIndex >= getPatchCount().
Parameters
patchIndexThe index of the patch for which we want to know if all polylines are not closed.
Returns
True if all polylines of patch patchIndex are not closed, false if not.

◆ getClosedFlagPerPolylineOfAllPatches()

virtual void resqml2::PolylineSetRepresentation::getClosedFlagPerPolylineOfAllPatches ( bool * closedFlagPerPolyline) const
pure virtual

Gets the closed flag of all polylines of all patches.

Parameters
[out]closedFlagPerPolylineA preallocated array to receive the closed flags. It is ordered first by polyline then by patch. Its size must be getPolylineCountOfAllPatches().

◆ getClosedFlagPerPolylineOfPatch()

virtual void resqml2::PolylineSetRepresentation::getClosedFlagPerPolylineOfPatch ( unsigned int patchIndex,
bool * closedFlagPerPolyline ) const
pure virtual

Gets the closed flag of all polylines of a given patch.

Exceptions
std::out_of_rangeIf patchIndex >= getPatchCount().
Parameters
patchIndexThe index of the patch for which we want to get the closed flag of the polylines.
[out]closedFlagPerPolylineA preallocated array to receive the closed flags. It is ordered by polyline. Its size must be getPolylineCountOfPatch(patchIndex).

◆ getLineRole()

virtual gsoap_eml2_3::resqml22__LineRole resqml2::PolylineSetRepresentation::getLineRole ( ) const
pure virtual

Gets the line role of this polyline set representation.

Exceptions
std::logic_errorIf no line role is associated to this polyline set representation (please use hasALineRole().
Returns
The line role of this polyline set representation.

◆ getNodeCountPerPolylineInPatch()

virtual void resqml2::PolylineSetRepresentation::getNodeCountPerPolylineInPatch ( unsigned int patchIndex,
unsigned int * nodeCountPerPolyline ) const
pure virtual

Gets the node count per polyline in a given patch.

Exceptions
std::out_of_rangeIf patchIndex >= getPatchCount().
Parameters
patchIndexZero-based index of the patch for which we want to count the nodes per polyline.
[out]nodeCountPerPolylineA preallocated array to receive the node count per polyline. It is ordered by polyline in the patch patchIndex. Its size must be getPolylineCountOfPatch(patchIndex).

◆ getNodeCountPerPolylineOfAllPatches()

virtual void resqml2::PolylineSetRepresentation::getNodeCountPerPolylineOfAllPatches ( unsigned int * NodeCountPerPolyline) const
pure virtual

Gets all the node count per polyline for all the patches of this representation.

Parameters
[out]NodeCountPerPolylineA preallocated array to receive the node count per polyline per patch. It is ordered first by polyline and then by patch. Its size must be getPolylineCountOfAllPatches().

◆ getPolylineCountOfAllPatches()

virtual uint64_t resqml2::PolylineSetRepresentation::getPolylineCountOfAllPatches ( ) const
pure virtual

Gets the polyline count of all patches.

Returns
The polyline count of all patches.

◆ getPolylineCountOfPatch()

virtual uint64_t resqml2::PolylineSetRepresentation::getPolylineCountOfPatch ( uint64_t patchIndex) const
pure virtual

Gets the number of polylines in a given patch.

Exceptions
std::out_of_rangeIf patchIndex >= getPatchCount().
Parameters
patchIndexZero-based index of the patch for which we want to count the number of polylines.
Returns
The polyline count of patch patchIndex.

◆ getXyzPointCountOfPatch()

uint64_t resqml2::PolylineSetRepresentation::getXyzPointCountOfPatch ( unsigned int patchIndex) const
finalvirtual

Get the xyz point count in a given patch of this representation.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::logic_errorIf this representation is partial.
Parameters
patchIndexZero-based index of the patch from which we look for the xyz points.
Returns
The xyz point count of the patch at position patchIndex.

Implements resqml2::AbstractRepresentation.

◆ hasALineRole()

virtual bool resqml2::PolylineSetRepresentation::hasALineRole ( ) const
pure virtual

Indicates if this polyline set reprsentation is associated to a particular line role.

Returns
True if this polyline set is associated to a line role, false if not.

◆ pushBackGeometryPatch() [1/2]

virtual void resqml2::PolylineSetRepresentation::pushBackGeometryPatch ( unsigned int const * nodeCountPerPolyline,
double const * nodes,
uint64_t polylineCount,
bool * polylineClosedFlags,
eml2 ::AbstractHdfProxy * proxy = nullptr,
resqml2 ::AbstractLocal3dCrs * localCrs = nullptr )
pure virtual

Pushes back a new patch of polylines.

Exceptions
std::invalid_argumentIf proxy == nullptr and no default HDF proxy is defined in the repository.
std::invalid_argumentIf localCrs == nullptr and no default local CRS id defined in the repository.
Parameters
[in]nodeCountPerPolylineThe node count per polyline in this patch. It is ordered by polyline. There must be polylineCount values in this array.
[in]nodesThe xyz values of the nodes. Ordered by xyz, then by node and then by polyline. It must be three times the total count of nodes.
polylineCountThe polyline count in this patch.
[in]polylineClosedFlagsIndicates the closed flags for each of the polyline. The count of this array must be polylineCount.
[in,out]proxy(Optional) The HDF proxy which defines where the nodes will be stored. If nullptr (default), then the repository default HDF proxy will be used.
[in]localCrs(Optional) The local CRS where the points are defined. If nullptr (default value), then the repository default local CRS will be used.

◆ pushBackGeometryPatch() [2/2]

virtual void resqml2::PolylineSetRepresentation::pushBackGeometryPatch ( unsigned int const * nodeCountPerPolyline,
double const * nodes,
uint64_t polylineCount,
bool allPolylinesClosedFlag,
eml2 ::AbstractHdfProxy * proxy = nullptr,
resqml2 ::AbstractLocal3dCrs * localCrs = nullptr )
pure virtual

Pushes back a new patch of polylines. Here, the closed flag of all of the polylines is the same.

Exceptions
std::invalid_argumentIf proxy == nullptr and no default HDF proxy is defined in the repository.
std::invalid_argumentIf localCrs == nullptr and no default local CRS id defined in the repository.
Parameters
[in]nodeCountPerPolylineThe node count per polyline in this patch. It is ordered by polyline. There must be polylineCount values in this array.
[in]nodesThe xyz values of the nodes. Ordered by xyz, then by node and then by polyline. It must be three times the total count of nodes.
polylineCountThe polyline count in this patch.
allPolylinesClosedFlagIndicates the closed flags of all the polylines.
[in,out]proxy(Optional) The HDF proxy which defines where the nodes will be stored. If nullptr (default), then the repository default HDF proxy will be used.
[in]localCrs(Optional) The local CRS where the points are defined. If nullptr (default value), then the repository default local CRS will be used.

◆ setLineRole()

virtual void resqml2::PolylineSetRepresentation::setLineRole ( gsoap_eml2_3::resqml22__LineRole lineRole)
pure virtual

Sets the line role of this instance.

Parameters
lineRoleThe line role to set.

Member Data Documentation

◆ XML_TAG

const char* resqml2::PolylineSetRepresentation::XML_TAG
static

The standard XML tag without XML namespace for serializing this data object.


The documentation for this class was generated from the following file: