Fesapi
2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
|
A representation made up of a set of polylines or a set of polygonal chains (for more information, see PolylineRepresentation). More...
#include <PolylineSetRepresentation.h>
Public Member Functions | |
virtual | ~PolylineSetRepresentation ()=default |
virtual unsigned int | getPolylineCountOfPatch (unsigned int patchIndex) const =0 |
virtual unsigned int | 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, unsigned int polylineCount, bool allPolylinesClosedFlag, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr)=0 |
virtual void | pushBackGeometryPatch (unsigned int const *nodeCountPerPolyline, double const *nodes, unsigned int 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 AbstractLocal3dCrs * | getLocalCrs (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). More... | |
std::vector< class AbstractProperty * > | getPropertySet () const |
void | setInterpretation (class AbstractFeatureInterpretation *interp) |
class AbstractFeatureInterpretation * | getInterpretation () 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. More... | |
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 |
AbstractRepresentation * | getSeismicSupportOfPatch (const unsigned int &patchIndex) const |
std::set< AbstractRepresentation * > | getAllSeismicSupport () const |
virtual unsigned int | getPatchCount () const =0 |
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::DataObjectRepository * | getRepository () const |
virtual std::string | getXmlNamespace () const =0 |
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::Activity * | getActivity (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_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) |
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.
|
virtualdefault |
Destructor does nothing since the memory is managed by the gSOAP context.
Reimplemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
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.
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
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.
std::out_of_range | If patchIndex >= getPatchCount(). |
patchIndex | The index of the patch for which we want to know if all polylines are closed. |
patchIndex
are closed, false if not. Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
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.
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
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.
std::out_of_range | If patchIndex >= getPatchCount(). |
patchIndex | The index of the patch for which we want to know if all polylines are not closed. |
patchIndex
are not closed, false if not. Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Gets the closed flag of all polylines of all patches.
[out] | closedFlagPerPolyline | A preallocated array to receive the closed flags. It is ordered first by polyline then by patch. Its size must be getPolylineCountOfAllPatches(). |
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Gets the closed flag of all polylines of a given patch.
std::out_of_range | If patchIndex >= getPatchCount(). |
patchIndex | The index of the patch for which we want to get the closed flag of the polylines. | |
[out] | closedFlagPerPolyline | A preallocated array to receive the closed flags. It is ordered by polyline. Its size must be getPolylineCountOfPatch(patchIndex) . |
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Gets the line role of this polyline set representation.
std::logic_error | If no line role is associated to this polyline set representation (please use hasALineRole(). |
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Gets the node count per polyline in a given patch.
std::out_of_range | If patchIndex >= getPatchCount(). |
patchIndex | Zero-based index of the patch for which we want to count the nodes per polyline. | |
[out] | nodeCountPerPolyline | A preallocated array to receive the node count per polyline. It is ordered by polyline in the patch patchIndex . Its size must be getPolylineCountOfPatch(patchIndex) . |
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Gets all the node count per polyline for all the patches of this representation.
[out] | NodeCountPerPolyline | A 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(). |
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Gets the polyline count of all patches.
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Gets the number of polylines in a given patch.
std::out_of_range | If patchIndex >= getPatchCount(). |
patchIndex | Zero-based index of the patch for which we want to count the number of polylines. |
patchIndex
. Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
inlinefinalvirtual |
Gets the standard XML tag without XML namespace for serializing this data object.
Implements common::AbstractObject.
|
finalvirtual |
Get the xyz point count in a given patch of this representation.
std::out_of_range | If patchIndex is out of range. |
std::logic_error | If this representation is partial. |
patchIndex | Zero-based index of the patch from which we look for the xyz points. |
patchIndex
. Implements resqml2::AbstractRepresentation.
|
pure virtual |
Indicates if this polyline set reprsentation is associated to a particular line role.
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Pushes back a new patch of polylines.
std::invalid_argument | If proxy == nullptr and no default HDF proxy is defined in the repository. |
std::invalid_argument | If localCrs == nullptr and no default local CRS id defined in the repository. |
[in] | nodeCountPerPolyline | The node count per polyline in this patch. It is ordered by polyline. There must be polylineCount values in this array. |
[in] | nodes | The 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. |
polylineCount | The polyline count in this patch. | |
[in] | polylineClosedFlags | Indicates 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. |
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Pushes back a new patch of polylines. Here, the closed flag of all of the polylines is the same.
std::invalid_argument | If proxy == nullptr and no default HDF proxy is defined in the repository. |
std::invalid_argument | If localCrs == nullptr and no default local CRS id defined in the repository. |
[in] | nodeCountPerPolyline | The node count per polyline in this patch. It is ordered by polyline. There must be polylineCount values in this array. |
[in] | nodes | The 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. |
polylineCount | The polyline count in this patch. | |
allPolylinesClosedFlag | Indicates 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. |
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
pure virtual |
Sets the line role of this instance.
lineRole | The line role to set. |
Implemented in resqml2_2::PolylineSetRepresentation, and resqml2_0_1::PolylineSetRepresentation.
|
static |
The standard XML tag without XML namespace for serializing this data object.