Fesapi 2.10.1.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
|
Proxy class for an points property. More...
#include <PointsProperty.h>
Public Member Functions | |
virtual | ~PointsProperty ()=default |
common::AbstractObject::numericalDatatypeEnum | getValuesHdfDatatype () const final |
uint64_t | getValuesCountOfDimensionOfPatch (uint64_t dimIndex, uint64_t patchIndex) const final |
uint64_t | getDimensionsCountOfPatch (uint64_t patchIndex) const final |
uint64_t | getXyzPointCountOfPatch (unsigned int patchIndex) const |
uint64_t | getXyzPointCountOfAllPatches () const |
void | getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const |
Gets all the xyz points of a particular patch of this property. 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 property. xyz points are given in the global CRS. | |
void | getXyzPointsOfAllPatches (double *xyzPoints) const |
Gets all the xyz points of all patches of this property. xyz points are given in the local CRS. | |
void | getXyzPointsOfAllPatchesInGlobalCrs (double *xyzPoints) const |
void | pushBackArray1dOfXyzPoints (const double *xyzPoints, uint64_t pointCount, eml2::AbstractHdfProxy *proxy=nullptr) |
Adds a 1d array of points (in local CRS) to the property. | |
void | pushBackArray2dOfXyzPoints (const double *xyzPoints, uint64_t pointCountInFastestDim, uint64_t pointCountInSlowestDim, eml2::AbstractHdfProxy *proxy=nullptr) |
Adds a 2d array of points (in local CRS) to the property. | |
void | pushBackArray3dOfXyzPoints (const double *xyzPoints, uint64_t pointCountInFastestDim, uint64_t pointCountInMiddleDim, uint64_t pointCountInSlowestDim, eml2::AbstractHdfProxy *proxy=nullptr) |
Adds a 3d array of points (in local CRS) to the property. | |
void | pushBackArrayOfXyzPoints (double const *xyzPoints, uint64_t const *pointCountByDimension, unsigned int numArrayDimensions, eml2::AbstractHdfProxy *proxy=nullptr) |
Adds an nd array of points (in local CRS) to the property. | |
virtual std::string | pushBackRefToExistingDataset (eml2::AbstractHdfProxy *proxy, const std::string &datasetName="")=0 |
bool | validatePropertyKindAssociation (eml2::PropertyKind *) final |
bool | validatePropertyKindAssociation (gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind) final |
std::string | getXmlTag () const final |
Public Member Functions inherited from resqml2::AbstractProperty | |
virtual | ~AbstractProperty ()=default |
void | setRepresentation (AbstractRepresentation *rep) |
common::DataObjectReference | getRepresentationDor () const |
AbstractRepresentation * | getRepresentation () const |
unsigned int | getElementCountPerValue () const |
gsoap_eml2_3::eml23__IndexableElement | getAttachmentKind () const |
virtual uint64_t | getPatchCount () const =0 |
uint64_t | getValuesCountOfPatch (unsigned int patchIndex) const |
std::vector< resqml2_0_1::PropertySet * > | getPropertySets () const |
uint64_t | getPropertySetCount () const |
resqml2_0_1::PropertySet * | getPropertySet (uint64_t index) const |
void | setLocalCrs (eml2::AbstractLocal3dCrs *crs) |
eml2::AbstractLocal3dCrs * | getLocalCrs () const |
common::DataObjectReference | getLocalCrsDor () const |
bool | hasRealizationIndices () const |
std::vector< unsigned int > | getRealizationIndices () const |
void | setRealizationIndices (int64_t startRealizationIndex, int64_t countRealizationIndices) |
void | setRealizationIndices (const std::vector< unsigned int > &realizationIndices, eml2::AbstractHdfProxy *hdfProxy=nullptr) |
Sets the realization indices of this property. | |
void | setTimeSeries (eml2::TimeSeries *ts) |
void | setSingleTimestamp (time_t timestamp, LONG64 yearOffset=0) |
time_t | getSingleTimestamp () const |
eml2::TimeSeries * | getTimeSeries () const |
common::DataObjectReference | getTimeSeriesDor () const |
bool | useInterval () const |
bool | isAssociatedToOneStandardEnergisticsPropertyKind () const |
std::string | getPropertyKindDescription () const |
std::string | getPropertyKindAsString () const |
std::string | getPropertyKindParentAsString () const |
void | setPropertyKind (eml2::PropertyKind *propKind) |
common::DataObjectReference | getPropertyKindDor () const |
eml2::PropertyKind * | getPropertyKind () const |
bool | validate () |
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) |
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * | getEml20GsoapProxy () const |
void | setGsoapProxy (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *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_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) |
uint64_t | getAliasCount () const |
std::string | getAliasAuthorityAtIndex (uint64_t index) const |
std::string | getAliasTitleAtIndex (uint64_t index) const |
std::vector< eml2::Activity * > | getActivitySet () const |
uint64_t | getActivityCount () const |
eml2::Activity * | getActivity (uint64_t 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 |
std::string | buildEtp12Uri () const |
void | setUriSource (const std::string &uriSource) |
const std::string & | getUriSource () const |
std::string | getEpcSourceFolder () const |
void | changeToPartialObject () |
Static Public Attributes | |
static const char * | XML_TAG |
Additional Inherited Members | |
Public Types inherited from common::AbstractObject | |
enum class | numericalDatatypeEnum { UNKNOWN = 0 , DOUBLE = 1 , FLOAT = 2 , INT64 = 3 , UINT64 = 4 , INT32 = 5 , UINT32 = 6 , INT16 = 7 , UINT16 = 8 , INT8 = 9 , UINT8 = 10 } |
Static Public Member Functions inherited from common::AbstractObject | |
static void | setFormat (const std::string &vendor, const std::string &applicationName, const std::string &applicationVersionNumber) |
Proxy class for an points property.
|
virtualdefault |
Destructor does nothing since the memory is managed by the gsoap context.
Reimplemented in resqml2_0_1::PointsProperty, and resqml2_2::PointsProperty.
|
finalvirtual |
Gets the count of dimensions of the underlying HDF5 dataset of a given patch of this property.
std::range_error | If patchIndex is strictly greater than patch count. |
patchIndex | The index of the patch we want to count the dimensions from. |
Implements resqml2::AbstractProperty.
|
finalvirtual |
Gets the count of values on a specific dimension of the underlying HDF5 dataset of a given patch of this property.
std::out_of_range | If dimIndex is strictly greater than dimension count. |
std::range_error | If patchIndex is strictly greater than patch count. |
dimIndex | The index of the dimension we want to count the values from. |
patchIndex | The index of the patch we want to count the values from. |
dimIndex
dimension of patchIndex
patch. Implements resqml2::AbstractProperty.
|
finalvirtual |
Get the values data type in the HDF dataset
UNKNOWN
. Implements resqml2::AbstractProperty.
|
inlinefinalvirtual |
Gets the standard XML tag without XML namespace for serializing this data object.
Implements common::AbstractObject.
uint64_t resqml2::PointsProperty::getXyzPointCountOfAllPatches | ( | ) | const |
Get the xyz point count of all patches of this property.
|
inline |
Get the xyz point count in a given patch of this property.
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
. void resqml2::PointsProperty::getXyzPointsOfAllPatches | ( | double * | xyzPoints | ) | const |
Gets all the xyz points of all patches of this property. xyz points are given in the local CRS.
[out] | xyzPoints | A 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 * getXyzPointCountOfAllPatches() . |
void resqml2::PointsProperty::getXyzPointsOfAllPatchesInGlobalCrs | ( | double * | xyzPoints | ) | const |
Gets all the xyz points of all patches of this property. xyz points are given in the global CRS.
[out] | xyzPoints | A linearized 2d array where the first (quickest) dimension is the coordinate dimension (x, y or Z) and second dimension is vertex dimension. Thus, its size is 3*(3*[count of all xyz points]). It must be preallocated. |
void resqml2::PointsProperty::getXyzPointsOfPatch | ( | unsigned int | patchIndex, |
double * | xyzPoints ) const |
Gets all the xyz points of a particular patch of this property. xyz points are given in the local CRS.
std::out_of_range | If patchIndex is out of range. |
std::logic_error | If this property is partial. |
patchIndex | Zero-based index of the patch from which we look for the xyz points. | |
[out] | xyzPoints | A 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) . |
void resqml2::PointsProperty::getXyzPointsOfPatchInGlobalCrs | ( | unsigned int | patchIndex, |
double * | xyzPoints ) const |
Gets all the xyz points of a particular patch of this property. xyz points are given in the global CRS.
std::out_of_range | If patchIndex is out of range. |
patchIndex | Zero-based index of the patch from which we look for the xyz points. | |
[out] | xyzPoints | A 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) . |
void resqml2::PointsProperty::pushBackArray1dOfXyzPoints | ( | const double * | xyzPoints, |
uint64_t | pointCount, | ||
eml2::AbstractHdfProxy * | proxy = nullptr ) |
Adds a 1d array of points (in local CRS) to the property.
std::invalid_argument | If proxy is nullptr and no default HDF proxy is defined in the repository. |
xyzPoints | All the property values to set ordered according the topology of the representation it is based on. | |
pointCount | The number of points to write. | |
[in,out] | proxy | (Optional) The HDF proxy where to write the property points. It must be already opened for writing and won't be closed in this method. If nullptr (default value), then a default HDF proxy must be defined in the repository. |
void resqml2::PointsProperty::pushBackArray2dOfXyzPoints | ( | const double * | xyzPoints, |
uint64_t | pointCountInFastestDim, | ||
uint64_t | pointCountInSlowestDim, | ||
eml2::AbstractHdfProxy * | proxy = nullptr ) |
Adds a 2d array of points (in local CRS) to the property.
std::invalid_argument | If proxy is nullptr and no default HDF proxy is defined in the repository. |
xyzPoints | All the property values to set ordered according the topology of the representation it is based on. | |
pointCountInFastestDim | The number of points to write in the fastest dimension (mainly I dimension). | |
pointCountInSlowestDim | The number of points to write in the slowest dimension (mainly J dimension). | |
[in,out] | proxy | (Optional) The HDF proxy where to write the property points. It must be already opened for writing and won't be closed in this method. If nullptr (default value), then a default HDF proxy must be defined in the repository. |
void resqml2::PointsProperty::pushBackArray3dOfXyzPoints | ( | const double * | xyzPoints, |
uint64_t | pointCountInFastestDim, | ||
uint64_t | pointCountInMiddleDim, | ||
uint64_t | pointCountInSlowestDim, | ||
eml2::AbstractHdfProxy * | proxy = nullptr ) |
Adds a 3d array of points (in local CRS) to the property.
std::invalid_argument | If proxy is nullptr and no default HDF proxy is defined in the repository. |
xyzPoints | All the property values to set ordered according the topology of the representation it is based on. | |
pointCountInFastestDim | The number of points to write in the fastest dimension (mainly I dimension). | |
pointCountInMiddleDim | The number of points to write in the middle dimension (mainly J dimension). | |
pointCountInSlowestDim | The number of points to write in the slowest dimension (mainly K dimension). | |
[in,out] | proxy | (Optional) The HDF proxy where to write the property points. It must be already opened for writing and won't be closed in this method. If nullptr (default value), then a default HDF proxy must be defined in the repository. |
void resqml2::PointsProperty::pushBackArrayOfXyzPoints | ( | double const * | xyzPoints, |
uint64_t const * | pointCountByDimension, | ||
unsigned int | numArrayDimensions, | ||
eml2::AbstractHdfProxy * | proxy = nullptr ) |
Adds an nd array of points (in local CRS) to the property.
std::invalid_argument | If proxy is nullptr and no default HDF proxy is defined in the repository. |
xyzPoints | All the property values to set ordered according the topology of the representation it is based on. | |
pointCountByDimension | The number of property points ordered by dimension of the array to write. | |
numArrayDimensions | The number of dimensions of the array to write. | |
[in,out] | proxy | (Optional) The HDF proxy where to write the property points. It must be already opened for writing and won't be closed in this method. If nullptr (default value), then a default HDF proxy must be defined in the repository. |
|
pure virtual |
Pushes back a reference to an existing (or a "to exist") HDF dataset in a particular HDF proxy. The reason can be that the values already exist in an external file (only HDF5 for now) or that the writing of the values in the external file is differed in time.
std::invalid_argument | If proxy is nullptr and no default HDF proxy is defined in the repository. |
[in] | proxy | The HDF5 proxy where the values are already or will be stored. If nullptr , then a default HDF proxy must be defined in the repository. |
datasetName | (Optional) The HDF5 dataset name where the values are stored. If empty, the dataset will be named the same as the dataset naming convention of fesapi : getHdfGroup() + "/points_patch" + patchIndex |
Implemented in resqml2_0_1::PointsProperty, and resqml2_2::PointsProperty.
|
inlinefinalvirtual |
Checks if it is allowed to associate a given property kind to this property. TODO : think about how to validate such a property.
[in] | pk | The local property kind to check. |
Implements resqml2::AbstractProperty.
|
inlinefinalvirtual |
Checks if it is allowed to associate a given standard Energistics property kind to this property. TODO : think about how to validate such a property.
pk | The standard Energistics property kind to check. |
Implements resqml2::AbstractProperty.
|
static |
The standard XML tag without XML namespace for serializing this data object.