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::PolylineRepresentation Class Referenceabstract

A representation made up of a single polyline or "polygonal chain", which may be closed or not. See definition here: http://en.wikipedia.org/wiki/Piecewise_linear_curve. More...

#include <PolylineRepresentation.h>

Inheritance diagram for resqml2::PolylineRepresentation:
resqml2::AbstractRepresentation

Public Member Functions

virtual ~PolylineRepresentation ()=default
 
virtual void setGeometry (double const *points, unsigned int pointCount, eml2 ::AbstractHdfProxy *proxy=nullptr, resqml2 ::AbstractLocal3dCrs *localCrs=nullptr)=0
 
virtual bool isClosed () const =0
 
virtual bool hasALineRole () const =0
 
bool isASeismicLine () const
 
bool isAFaciesLine () const
 
virtual gsoap_eml2_3::resqml22__LineRole getLineRole () const =0
 
virtual void setLineRole (gsoap_eml2_3::resqml22__LineRole lineRole)=0
 
uint64_t getPatchCount () const final
 
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
 
virtual uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) const =0
 
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
 
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 single polyline or "polygonal chain", which may be closed or not. See definition here: http://en.wikipedia.org/wiki/Piecewise_linear_curve.

BUSINESS RULE: To record a polyline the writer software must give the values of the geometry of each node in an order corresponding to the logical series of segments (edges). The geometry of a polyline must be a 1D array of points.

A simple polygonal chain is one in which only consecutive (or the first and the last) segments intersect and only at their endpoints.

Constructor & Destructor Documentation

◆ ~PolylineRepresentation()

virtual resqml2::PolylineRepresentation::~PolylineRepresentation ( )
virtualdefault

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

Member Function Documentation

◆ getLineRole()

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

Gets the line role of this polyline.

Exceptions
std::logic_errorIf this polyline has no line role (see hasALineRole()).
Returns
The line role.

◆ getPatchCount()

uint64_t resqml2::PolylineRepresentation::getPatchCount ( ) const
inlinefinalvirtual

Gets the patch count.

Returns
The patch count.

Implements resqml2::AbstractRepresentation.

◆ hasALineRole()

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

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

Returns
True if this polyline has a line role, false if not.

◆ isAFaciesLine()

bool resqml2::PolylineRepresentation::isAFaciesLine ( ) const

Indicates whether this instance corresponds to a facies 2d line or not.

Returns
True if it is a facies line, false if not.

◆ isASeismicLine()

bool resqml2::PolylineRepresentation::isASeismicLine ( ) const

Indicates whether this instance corresponds to a seismic 2d line or not.

Returns
True if is a seismic line, false if not.

◆ isClosed()

virtual bool resqml2::PolylineRepresentation::isClosed ( ) const
pure virtual

Indicates if this representation is a closed polyline or a non closed polyline. A closed polyline is one in which the first vertex coincides with the last one, or the first and the last vertices are connected by a line segment.

Returns
True if this polyline representation is closed, false if not.

◆ setGeometry()

virtual void resqml2::PolylineRepresentation::setGeometry ( double const * points,
unsigned int pointCount,
eml2 ::AbstractHdfProxy * proxy = nullptr,
resqml2 ::AbstractLocal3dCrs * localCrs = nullptr )
pure virtual

Sets the geometry of this polyline representation.

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]pointsThe points which constitute the polyline. Ordered by xyz and then points. Size is 3 * pointCount.
pointCountThe count of points in the polyline.
[in,out]proxy(Optional) The HDF proxy which defines where the xyz points 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 given. If nullptr (default), then the repository default local CRS will be used.

◆ setLineRole()

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

Sets the line role of this instance.

Parameters
lineRoleThe line role.

Member Data Documentation

◆ XML_TAG

const char* resqml2::PolylineRepresentation::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: