Fesapi
2.0.0.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 |
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. More... | |
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. More... | |
void | getXyzPointsOfAllPatches (double *xyzPoints) const |
Gets all the xyz points of all patches of this property. xyz points are given in the local CRS. More... | |
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. More... | |
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. More... | |
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. More... | |
void | pushBackArrayOfXyzPoints (double const *xyzPoints, unsigned long long const *pointCountByDimension, unsigned int numArrayDimensions, eml2::AbstractHdfProxy *proxy=nullptr) |
Adds an nd array of points (in local CRS) to the property. More... | |
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::resqml22__IndexableElement | getAttachmentKind () const |
virtual unsigned int | getPatchCount () const =0 |
common::AbstractObject::hdfDatatypeEnum | getValuesHdfDatatype () const |
unsigned int | getValuesCountOfPatch (unsigned int patchIndex) const |
unsigned int | getValuesCountOfDimensionOfPatch (unsigned int dimIndex, unsigned int patchIndex) const |
unsigned int | getDimensionsCountOfPatch (unsigned int patchIndex) const |
std::vector< resqml2::PropertySet * > | getPropertySets () const |
unsigned int | getPropertySetCount () const |
resqml2::PropertySet * | getPropertySet (unsigned int index) const |
void | setLocalCrs (class AbstractLocal3dCrs *crs) |
class AbstractLocal3dCrs * | getLocalCrs () const |
common::DataObjectReference | getLocalCrsDor () const |
bool | hasRealizationIndices () const |
std::vector< unsigned int > | getRealizationIndices () const |
void | setRealizationIndices (uint64_t startRealizationIndex, uint64_t countRealizationIndices) |
void | setRealizationIndices (const std::vector< unsigned int > &realizationIndices, eml2::AbstractHdfProxy *hdfProxy=nullptr) |
Sets the realization indices of this property. More... | |
void | setTimeSeries (eml2::TimeSeries *ts) |
eml2::TimeSeries * | getTimeSeries () const |
common::DataObjectReference | getTimeSeriesDor () const |
void | setTimeIndices (uint64_t startTimeIndex, uint64_t countTimeIndices, eml2::TimeSeries *ts, bool useInterval=false) |
Sets the timestamps of this property by means of an index in a time series. More... | |
unsigned int | getTimeIndexStart () const |
unsigned int | getTimeIndicesCount () 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) |
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 |
Additional Inherited Members | |
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) |
Proxy class for an points property.
|
virtualdefault |
Destructor does nothing since the memory is managed by the gsoap context.
Reimplemented in resqml2_2::PointsProperty, and resqml2_0_1::PointsProperty.
|
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, |
unsigned long long 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_2::PointsProperty, and resqml2_0_1::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.