Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Public Member Functions | Static Public Attributes | List of all members
resqml2_2::PolylineSetRepresentation Class Referencefinal

#include <PolylineSetRepresentation.h>

Inheritance diagram for resqml2_2::PolylineSetRepresentation:
resqml2::PolylineSetRepresentation resqml2::AbstractRepresentation common::AbstractObject

Public Member Functions

 PolylineSetRepresentation (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
 
 PolylineSetRepresentation (common::DataObjectRepository *repo, const std::string &guid, const std::string &title)
 
 PolylineSetRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title)
 Creates an instance of this class in a gsoap context. More...
 
 PolylineSetRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, gsoap_eml2_3::resqml22__LineRole roleKind)
 Creates an instance of this class in a gsoap context. More...
 
 PolylineSetRepresentation (gsoap_eml2_3::_resqml22__PolylineSetRepresentation *fromGsoap)
 
 ~PolylineSetRepresentation ()=default
 
common::DataObjectReference getHdfProxyDor () const final
 Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry). More...
 
unsigned int getPolylineCountOfPatch (unsigned int patchIndex) const final
 
unsigned int getPolylineCountOfAllPatches () const final
 
void getNodeCountPerPolylineInPatch (unsigned int patchIndex, unsigned int *nodeCountPerPolyline) const final
 
void getNodeCountPerPolylineOfAllPatches (unsigned int *NodeCountPerPolyline) const final
 
void getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const final
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS. More...
 
unsigned int getPatchCount () const final
 
void pushBackGeometryPatch (unsigned int const *nodeCountPerPolyline, double const *nodes, unsigned int polylineCount, bool allPolylinesClosedFlag, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr) final
 
void pushBackGeometryPatch (unsigned int const *nodeCountPerPolyline, double const *nodes, unsigned int polylineCount, bool *polylineClosedFlags, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr) final
 
bool areAllPolylinesClosedOfPatch (unsigned int patchIndex) const final
 
bool areAllPolylinesClosedOfAllPatches () const final
 
bool areAllPolylinesNonClosedOfPatch (unsigned int patchIndex) const final
 
bool areAllPolylinesNonClosedOfAllPatches () const final
 
void getClosedFlagPerPolylineOfPatch (unsigned int patchIndex, bool *closedFlagPerPolyline) const final
 
void getClosedFlagPerPolylineOfAllPatches (bool *closedFlagPerPolyline) const final
 
bool hasALineRole () const final
 
gsoap_eml2_3::resqml22__LineRole getLineRole () const final
 
void setLineRole (gsoap_eml2_3::resqml22__LineRole lineRole) final
 
std::string getXmlNamespace () const final
 
- Public Member Functions inherited from resqml2::PolylineSetRepresentation
uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) 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
 
std::vector< class AbstractProperty * > getPropertySet () const
 
void setInterpretation (class AbstractFeatureInterpretation *interp)
 
class AbstractFeatureInterpretationgetInterpretation () const
 
common::DataObjectReference getInterpretationDor () const
 
uint64_t getXyzPointCountOfAllPatches () const
 
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. More...
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 Gets all the xyz points of all patches of this representation. xyz points are given in the local CRS. More...
 
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, unsigned int 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 ()
 
- Public Member Functions inherited from common::AbstractObject
bool isPartial () const
 
virtual bool isTopLevelElement () const
 
std::string getUuid () const
 
std::string getTitle () const
 
std::string getEditor () const
 
time_t getCreation () const
 
tm getCreationAsTimeStructure () const
 
std::string getOriginator () const
 
std::string getDescription () const
 
time_t getLastUpdate () const
 
tm getLastUpdateAsTimeStructure () const
 
std::string getFormat () const
 
std::string getDescriptiveKeywords () const
 
std::string getVersion () const
 
void setTitle (const std::string &title)
 
void setEditor (const std::string &editor)
 
void setCreation (time_t creation)
 
void setCreation (const tm &creation)
 
void setOriginator (const std::string &originator)
 
void setDescription (const std::string &description)
 
void setLastUpdate (time_t lastUpdate)
 
void setLastUpdate (const tm &lastUpdate)
 
void setDescriptiveKeywords (const std::string &descriptiveKeywords)
 
void setVersion (const std::string &version)
 
void setMetadata (const std::string &title, const std::string &editor, time_t creation, const std::string &originator, const std::string &description, time_t lastUpdate, const std::string &descriptiveKeywords)
 
void serializeIntoStream (std::ostream *stream)
 
void setGsoapProxy (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *gsoapProxy)
 
void setGsoapProxy (gsoap_eml2_1::eml21__AbstractObject *gsoapProxy)
 
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * getEml20GsoapProxy () const
 
gsoap_eml2_1::eml21__AbstractObject * getEml21GsoapProxy () const
 
gsoap_eml2_2::eml22__AbstractObject * getEml22GsoapProxy () const
 
void setGsoapProxy (gsoap_eml2_2::eml22__AbstractObject *gsoapProxy)
 
gsoap_eml2_3::eml23__AbstractObject * getEml23GsoapProxy () const
 
void setGsoapProxy (gsoap_eml2_3::eml23__AbstractObject *gsoapProxy)
 
soap * getGsoapContext () const
 
int getGsoapType () const
 
gsoap_resqml2_0_1::eml20__DataObjectReference * newResqmlReference () const
 
gsoap_eml2_1::eml21__DataObjectReference * newEmlReference () const
 
gsoap_eml2_2::eml22__DataObjectReference * newEml22Reference () const
 
gsoap_eml2_3::eml23__DataObjectReference * newEml23Reference () const
 
gsoap_resqml2_0_1::resqml20__ContactElementReference * newContactElementReference2_0_1 () const
 
gsoap_eml2_3::resqml22__ContactElement * newContactElementReference2_2 () const
 
common::DataObjectRepositorygetRepository () const
 
virtual std::string getXmlNamespaceVersion () const
 
virtual std::string getContentType () const
 
virtual std::string getQualifiedType () const
 
virtual std::string getPartNameInEpcDocument () const
 
std::string serializeIntoString ()
 
void addAlias (const std::string &authority, const std::string &title)
 
unsigned int getAliasCount () const
 
std::string getAliasAuthorityAtIndex (unsigned int index) const
 
std::string getAliasTitleAtIndex (unsigned int index) const
 
std::vector< eml2::Activity * > getActivitySet () const
 
unsigned int getActivityCount () const
 
eml2::ActivitygetActivity (unsigned int index) const
 
void pushBackExtraMetadata (const std::string &key, const std::string &value)
 
std::unordered_map< std::string, std::string > getExtraMetadataSet () const
 
std::vector< std::string > getExtraMetadata (const std::string &key) const
 
unsigned int getExtraMetadataCount () const
 
std::string getExtraMetadataKeyAtIndex (unsigned int index) const
 
std::string getExtraMetadataStringValueAtIndex (unsigned int index) const
 

Static Public Attributes

static const char * XML_NS
 
- Static Public Attributes inherited from resqml2::PolylineSetRepresentation
static const char * XML_TAG
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static const char * XML_TAG
 

Additional Inherited Members

- Public Types inherited from resqml2::AbstractRepresentation
enum  indexableElement {
  NODE = 0 , EDGE = 1 , FACE = 2 , VOLUME = 3 ,
  PILLAR = 4
}
 
- Public Types inherited from common::AbstractObject
enum  hdfDatatypeEnum {
  UNKNOWN = 0 , DOUBLE = 1 , FLOAT = 2 , LONG_64 = 3 ,
  ULONG_64 = 4 , INT = 5 , UINT = 6 , SHORT = 7 ,
  USHORT = 8 , CHAR = 9 , UCHAR = 10
}
 
- Static Public Member Functions inherited from common::AbstractObject
static void setFormat (const std::string &vendor, const std::string &applicationName, const std::string &applicationVersionNumber)
 

Detailed Description

A polyline set representation.

Constructor & Destructor Documentation

◆ PolylineSetRepresentation() [1/5]

resqml2_2::PolylineSetRepresentation::PolylineSetRepresentation ( gsoap_resqml2_0_1::eml20__DataObjectReference *  partialObject)
inline

Only to be used in partial transfer context

Parameters
[in,out]partialObjectIf non-null, the partial object.

◆ PolylineSetRepresentation() [2/5]

resqml2_2::PolylineSetRepresentation::PolylineSetRepresentation ( common::DataObjectRepository repo,
const std::string &  guid,
const std::string &  title 
)

Creates an instance of this class in a gsoap context.

Parameters
[in,out]repoIf non-null, the repo.
guidThe guid to set to the new instance. If empty then a new guid will be generated.
titleA title for the instance to create.

◆ PolylineSetRepresentation() [3/5]

resqml2_2::PolylineSetRepresentation::PolylineSetRepresentation ( resqml2::AbstractFeatureInterpretation interp,
const std::string &  guid,
const std::string &  title 
)

Creates an instance of this class in a gsoap context.

Exceptions
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe interpretation this representation represents.
guidThe guid to set to the new instance. If empty then a new guid will be generated.
titleA title for the instance to create.

◆ PolylineSetRepresentation() [4/5]

resqml2_2::PolylineSetRepresentation::PolylineSetRepresentation ( resqml2::AbstractFeatureInterpretation interp,
const std::string &  guid,
const std::string &  title,
gsoap_eml2_3::resqml22__LineRole  roleKind 
)

Creates an instance of this class in a gsoap context.

Exceptions
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe interpretation this representation represents.
guidThe guid to set to the new instance. If empty then a new guid will be generated.
titleA title for the instance to create.
roleKindIndicates the role of this representation.

◆ PolylineSetRepresentation() [5/5]

resqml2_2::PolylineSetRepresentation::PolylineSetRepresentation ( gsoap_eml2_3::_resqml22__PolylineSetRepresentation *  fromGsoap)
inline

Creates an instance of this class by wrapping a gsoap instance.

Parameters
[in,out]fromGsoapIf non-null, from gsoap.

◆ ~PolylineSetRepresentation()

resqml2_2::PolylineSetRepresentation::~PolylineSetRepresentation ( )
virtualdefault

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

Reimplemented from resqml2::PolylineSetRepresentation.

Member Function Documentation

◆ areAllPolylinesClosedOfAllPatches()

bool resqml2_2::PolylineSetRepresentation::areAllPolylinesClosedOfAllPatches ( ) const
finalvirtual

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.

Implements resqml2::PolylineSetRepresentation.

◆ areAllPolylinesClosedOfPatch()

bool resqml2_2::PolylineSetRepresentation::areAllPolylinesClosedOfPatch ( unsigned int  patchIndex) const
finalvirtual

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.

Implements resqml2::PolylineSetRepresentation.

◆ areAllPolylinesNonClosedOfAllPatches()

bool resqml2_2::PolylineSetRepresentation::areAllPolylinesNonClosedOfAllPatches ( ) const
finalvirtual

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.

Implements resqml2::PolylineSetRepresentation.

◆ areAllPolylinesNonClosedOfPatch()

bool resqml2_2::PolylineSetRepresentation::areAllPolylinesNonClosedOfPatch ( unsigned int  patchIndex) const
finalvirtual

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.

Implements resqml2::PolylineSetRepresentation.

◆ getClosedFlagPerPolylineOfAllPatches()

void resqml2_2::PolylineSetRepresentation::getClosedFlagPerPolylineOfAllPatches ( bool *  closedFlagPerPolyline) const
finalvirtual

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().

Implements resqml2::PolylineSetRepresentation.

◆ getClosedFlagPerPolylineOfPatch()

void resqml2_2::PolylineSetRepresentation::getClosedFlagPerPolylineOfPatch ( unsigned int  patchIndex,
bool *  closedFlagPerPolyline 
) const
finalvirtual

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).

Implements resqml2::PolylineSetRepresentation.

◆ getHdfProxyDor()

common::DataObjectReference resqml2_2::PolylineSetRepresentation::getHdfProxyDor ( ) const
finalvirtual

Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry).

Exceptions
std::logic_errorIf this representation is partial.
Returns
The data object reference of the HDF proxy used for storing the geometry, or empty data object reference if it fails.

Implements resqml2::AbstractRepresentation.

◆ getLineRole()

gsoap_eml2_3::resqml22__LineRole resqml2_2::PolylineSetRepresentation::getLineRole ( ) const
finalvirtual

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.

Implements resqml2::PolylineSetRepresentation.

◆ getNodeCountPerPolylineInPatch()

void resqml2_2::PolylineSetRepresentation::getNodeCountPerPolylineInPatch ( unsigned int  patchIndex,
unsigned int *  nodeCountPerPolyline 
) const
finalvirtual

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).

Implements resqml2::PolylineSetRepresentation.

◆ getNodeCountPerPolylineOfAllPatches()

void resqml2_2::PolylineSetRepresentation::getNodeCountPerPolylineOfAllPatches ( unsigned int *  NodeCountPerPolyline) const
finalvirtual

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().

Implements resqml2::PolylineSetRepresentation.

◆ getPatchCount()

unsigned int resqml2_2::PolylineSetRepresentation::getPatchCount ( ) const
finalvirtual

Gets the patch count.

Returns
The patch count.

Implements resqml2::AbstractRepresentation.

◆ getPolylineCountOfAllPatches()

unsigned int resqml2_2::PolylineSetRepresentation::getPolylineCountOfAllPatches ( ) const
finalvirtual

Gets the polyline count of all patches.

Returns
The polyline count of all patches.

Implements resqml2::PolylineSetRepresentation.

◆ getPolylineCountOfPatch()

unsigned int resqml2_2::PolylineSetRepresentation::getPolylineCountOfPatch ( unsigned int  patchIndex) const
finalvirtual

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.

Implements resqml2::PolylineSetRepresentation.

◆ getXmlNamespace()

std::string resqml2_2::PolylineSetRepresentation::getXmlNamespace ( ) const
inlinefinalvirtual

Get the standard XML namespace for serializing this data object.

Implements common::AbstractObject.

◆ getXyzPointsOfPatch()

void resqml2_2::PolylineSetRepresentation::getXyzPointsOfPatch ( unsigned int  patchIndex,
double *  xyzPoints 
) const
finalvirtual

Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS.

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.
[out]xyzPointsA linearized 2d array where the first (quickest) dimension is the coordinate dimension (x, y or z) and second dimension is vertex dimension. It must be preallocated with a size of 3 * getXyzPointCountOfPatch(patchIndex).

Implements resqml2::AbstractRepresentation.

◆ hasALineRole()

bool resqml2_2::PolylineSetRepresentation::hasALineRole ( ) const
finalvirtual

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.

Implements resqml2::PolylineSetRepresentation.

◆ pushBackGeometryPatch() [1/2]

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

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.

Implements resqml2::PolylineSetRepresentation.

◆ pushBackGeometryPatch() [2/2]

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

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.

Implements resqml2::PolylineSetRepresentation.

◆ setLineRole()

void resqml2_2::PolylineSetRepresentation::setLineRole ( gsoap_eml2_3::resqml22__LineRole  lineRole)
finalvirtual

Sets the line role of this instance.

Parameters
lineRoleThe line role to set.

Implements resqml2::PolylineSetRepresentation.

Member Data Documentation

◆ XML_NS

const char* resqml2_2::PolylineSetRepresentation::XML_NS
static

The standard XML namespace for serializing this data object.


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