Fesapi 2.10.1.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
common::DataObjectRepository Class Reference

A DataObjectRepository stores in memory all dataObjects. This is the in-memory container which holds deserialized (EPC) files and fetched ETP dataobjects. On the other direction, it is also used to store dataobjets which you want either to serialize in (EPC) files or pushed to an ETP store. It is not a database (it is much more a simple container). For instance, in most cases, you are not supposed to delete anything neither update relationships. It also controls the creation and the deletion of all contained dataobjects meaning that when you delete it, it also deletes all contained dataobjects. It does not store numerical values of the dataobjects but only their XML definitions. More...

#include <DataObjectRepository.h>

Public Types

enum class  openingMode : std::int8_t { READ_ONLY = 0 , READ_WRITE = 1 , READ_WRITE_DO_NOT_CREATE = 2 , OVERWRITE = 3 }
 
enum  CUD { CREATED = 0 , UPDATED = 1 , DELETED = 2 }
 
enum class  EnergisticsStandard : std::int8_t {
  RESQML2_0_1 = 0 , EML2_0 = 1 , EML2_3 = 2 , PRODML2_2 = 3 ,
  RESQML2_2 = 4 , WITSML2_1 = 5
}
 

Public Member Functions

 DataObjectRepository ()
 
 DataObjectRepository (const std::string &resourceDirectory)
 
virtual ~DataObjectRepository ()
 
soap * getGsoapContext () const
 
void setDefaultStandard (EnergisticsStandard version)
 
EnergisticsStandard getDefaultEmlVersion () const
 
EnergisticsStandard getDefaultProdmlVersion () const
 
EnergisticsStandard getDefaultResqmlVersion () const
 
EnergisticsStandard getDefaultWitsmlVersion () const
 
void clear ()
 
void addRelationship (common::AbstractObject *source, common::AbstractObject *target)
 
void registerDataFeeder (common::DataFeeder *dataFeeder)
 
void deleteRelationship (common::AbstractObject *source, common::AbstractObject *target)
 
void setHdfProxyFactory (common::HdfProxyFactory *factory)
 
const std::vector< std::tuple< std::chrono::time_point< std::chrono::system_clock >, common::DataObjectReference, CUD > > & getJournal () const
 
virtual void on_CreateDataObject (const std::vector< std::pair< std::chrono::time_point< std::chrono::system_clock >, common::AbstractObject * > > &)
 
virtual void on_UpdateDataObject (const std::vector< std::pair< std::chrono::time_point< std::chrono::system_clock >, common::AbstractObject * > > &)
 
common::AbstractObjectresolvePartial (common::AbstractObject *partialObj)
 
const std::vector< common::AbstractObject * > & getTargetObjects (common::AbstractObject const *dataObj) const
 
std::vector< common::AbstractObject * > getTargetObjects (common::AbstractObject const *dataObj, size_t depth, const std::vector< std::string > &filteredDatatypes=std::vector< std::string >()) const
 
template<class valueType >
std::vector< valueType * > getTargetObjects (common::AbstractObject const *dataObj) const
 
const std::vector< common::AbstractObject * > & getSourceObjects (common::AbstractObject const *dataObj) const
 
std::vector< common::AbstractObject * > getSourceObjects (common::AbstractObject const *dataObj, size_t depth, const std::vector< std::string > &filteredDatatypes=std::vector< std::string >()) const
 
template<class valueType >
std::vector< valueType * > getSourceObjects (common::AbstractObject const *dataObj) const
 
void updateAllRelationships ()
 
bool addDataObject (common::AbstractObject *proxy)
 
common::AbstractObjectaddOrReplaceDataObject (common::AbstractObject *proxy, bool replaceOnlyContent=false)
 
common::AbstractObjectaddOrReplaceGsoapProxy (const std::string &xml, const std::string &contentType, const std::string &uriSource)
 
uint64_t cascadeDeleteDataObject (common::AbstractObject *proxy)
 
const std::unordered_map< std::string, std::vector< common::AbstractObject * > > & getDataObjects () const
 
std::unordered_map< std::string, std::vector< common::AbstractObject * > > getDataObjectsGroupedByDataType () const
 
std::unordered_map< std::string, std::vector< common::AbstractObject * > > getDataObjectsGroupedByDataType (const std::string &filter) const
 
std::vector< common::AbstractObject * > getDataObjectsByContentType (const std::string &contentType) const
 
template<class valueType >
std::vector< valueType * > getDataObjects () const
 
eml2::AbstractLocal3dCrsgetDefaultCrs () const
 
void setDefaultCrs (eml2::AbstractLocal3dCrs *crs)
 
eml2::AbstractHdfProxygetDefaultHdfProxy () const
 
void setDefaultHdfProxy (eml2::AbstractHdfProxy *hdfProxy)
 
common::AbstractObjectgetDataObjectByUuid (const std::string &uuid) const
 
template<class valueType >
valueType * getDataObjectByUuid (const std::string &uuid) const
 
common::AbstractObjectgetDataObjectByUuidAndVersion (const std::string &uuid, const std::string &version) const
 
common::AbstractObjectgetDataObjectByUuidAndVersion (const std::array< uint8_t, 16 > &uuid, const std::string &version) const
 
template<class valueType >
valueType * getDataObjectByUuidAndVersion (const std::string &uuid, const std::string &version) const
 
std::vector< std::string > getUuids () const
 
common::AbstractObjectcreatePartial (const std::string &uuid, const std::string &title, const std::string &contentType, const std::string &version="")
 
common::AbstractObjectcreatePartial (const DataObjectReference &dor)
 
template<class valueType >
valueType * createPartial (const std::string &guid, const std::string &title, const std::string &version="")
 
eml2::AbstractHdfProxycreateHdfProxy (const std::string &guid, const std::string &title, const std::string &packageDirAbsolutePath, const std::string &filePath, DataObjectRepository::openingMode hdfPermissionAccess)
 Creates a non parallel access to an HDF5 file for writing to it. Resulting HDF5 file proxy is stored into this repository.
 
eml2::AbstractLocal3dCrscreateLocalDepth3dCrs (const std::string &guid, const std::string &title, double originOrdinal1, double originOrdinal2, double originOrdinal3, double arealRotation, gsoap_resqml2_0_1::eml20__LengthUom projectedUom, uint64_t projectedEpsgCode, gsoap_resqml2_0_1::eml20__LengthUom verticalUom, unsigned int verticalEpsgCode, bool isUpOriented)
 Creates a local depth 3d CRS which is fully identified by means of an EPSG code. Resulting local depth 3d CRS is stored into this repository.
 
eml2::AbstractLocal3dCrscreateLocalDepth3dCrs (const std::string &guid, const std::string &title, double originOrdinal1, double originOrdinal2, double originOrdinal3, double arealRotation, gsoap_resqml2_0_1::eml20__LengthUom projectedUom, const std::string &projectedUnknownReason, gsoap_resqml2_0_1::eml20__LengthUom verticalUom, const std::string &verticalUnknownReason, bool isUpOriented)
 Creates a local depth 3d CRS which is fully unknown. Resulting local depth 3d CRS is stored into this repository.
 
eml2::AbstractLocal3dCrscreateLocalDepth3dCrs (const std::string &guid, const std::string &title, double originOrdinal1, double originOrdinal2, double originOrdinal3, double arealRotation, gsoap_resqml2_0_1::eml20__LengthUom projectedUom, uint64_t projectedEpsgCode, gsoap_resqml2_0_1::eml20__LengthUom verticalUom, const std::string &verticalUnknownReason, bool isUpOriented)
 Creates a local depth 3d CRS which is identified by an EPSG code for its projected part and which is unknown for its vertical part. Resulting local depth 3d CRS is stored into this repository.
 
eml2::AbstractLocal3dCrscreateLocalDepth3dCrs (const std::string &guid, const std::string &title, double originOrdinal1, double originOrdinal2, double originOrdinal3, double arealRotation, gsoap_resqml2_0_1::eml20__LengthUom projectedUom, const std::string &projectedUnknownReason, gsoap_resqml2_0_1::eml20__LengthUom verticalUom, unsigned int verticalEpsgCode, bool isUpOriented)
 Creates a local depth 3d CRS which is unknown for its projected part and which is identified by an EPSG code for its vertical part. Resulting local depth 3d CRS is stored into this repository.
 
eml2::AbstractLocal3dCrscreateLocalTime3dCrs (const std::string &guid, const std::string &title, double originOrdinal1, double originOrdinal2, double originOrdinal3, double arealRotation, gsoap_resqml2_0_1::eml20__LengthUom projectedUom, uint64_t projectedEpsgCode, gsoap_resqml2_0_1::eml20__TimeUom timeUom, gsoap_resqml2_0_1::eml20__LengthUom verticalUom, unsigned int verticalEpsgCode, bool isUpOriented)
 Creates a local time 3d CRS which is fully identified by means of EPSG code. Resulting local time 3d CRS is stored into this repository.
 
eml2::AbstractLocal3dCrscreateLocalTime3dCrs (const std::string &guid, const std::string &title, double originOrdinal1, double originOrdinal2, double originOrdinal3, double arealRotation, gsoap_resqml2_0_1::eml20__LengthUom projectedUom, const std::string &projectedUnknownReason, gsoap_resqml2_0_1::eml20__TimeUom timeUom, gsoap_resqml2_0_1::eml20__LengthUom verticalUom, const std::string &verticalUnknownReason, bool isUpOriented)
 Creates a local time 3d CRS which is fully unknown. Resulting local time 3d CRS is stored into this repository.
 
eml2::AbstractLocal3dCrscreateLocalTime3dCrs (const std::string &guid, const std::string &title, double originOrdinal1, double originOrdinal2, double originOrdinal3, double arealRotation, gsoap_resqml2_0_1::eml20__LengthUom projectedUom, uint64_t projectedEpsgCode, gsoap_resqml2_0_1::eml20__TimeUom timeUom, gsoap_resqml2_0_1::eml20__LengthUom verticalUom, const std::string &verticalUnknownReason, bool isUpOriented)
 Creates a local time 3d CRS which is identified by an EPSG code for its projected part and which is unknown for its vertical part. Resulting local time 3d CRS is stored into this repository.
 
eml2::AbstractLocal3dCrscreateLocalTime3dCrs (const std::string &guid, const std::string &title, double originOrdinal1, double originOrdinal2, double originOrdinal3, double arealRotation, gsoap_resqml2_0_1::eml20__LengthUom projectedUom, const std::string &projectedUnknownReason, gsoap_resqml2_0_1::eml20__TimeUom timeUom, gsoap_resqml2_0_1::eml20__LengthUom verticalUom, unsigned int verticalEpsgCode, bool isUpOriented)
 Creates a local time 3d CRS which unknown for its projected part and which is identified by an EPSG code for its vertical part. Resulting local time 3d CRS is stored into this repository.
 
resqml2::MdDatumcreateMdDatum (const std::string &guid, const std::string &title, eml2::AbstractLocal3dCrs *locCrs, gsoap_eml2_3::eml23__ReferencePointKind originKind, double referenceLocationOrdinal1, double referenceLocationOrdinal2, double referenceLocationOrdinal3)
 Creates a measured depth (MD) datum into this repository.
 
resqml2::BoundaryFeaturecreateBoundaryFeature (const std::string &guid, const std::string &title)
 Creates a boundary feature into this repository.
 
resqml2::BoundaryFeaturecreateHorizon (const std::string &guid, const std::string &title)
 
resqml2::BoundaryFeaturecreateGeobodyBoundaryFeature (const std::string &guid, const std::string &title)
 
resqml2::RockVolumeFeaturecreateGeobodyFeature (const std::string &guid, const std::string &title)
 Creates a geobody feature into this repository.
 
resqml2::BoundaryFeaturecreateFault (const std::string &guid, const std::string &title)
 
resqml2::BoundaryFeaturecreateFracture (const std::string &guid, const std::string &title)
 
resqml2::WellboreFeaturecreateWellboreFeature (const std::string &guid, const std::string &title)
 Creates a wellbore feature into this repository.
 
resqml2::SeismicLatticeFeaturecreateSeismicLattice (const std::string &guid, const std::string &title, int inlineIncrement, int crosslineIncrement, unsigned int originInline, unsigned int originCrossline, unsigned int inlineCount, unsigned int crosslineCount)
 Creates a seismic lattice into this repository.
 
resqml2_0_1::SeismicLineFeaturecreateSeismicLine (const std::string &guid, const std::string &title, int traceIndexIncrement, unsigned int firstTraceIndex, unsigned int traceCount)
 
resqml2::CmpLineFeaturecreateCmpLine (const std::string &guid, const std::string &title, int nearestShotPointIndicesIncrement, int firstNearestShotPointIndex, unsigned int nearestShotPointCount)
 Creates a CMP line into this repository.
 
resqml2::ShotPointLineFeaturecreateShotPointLine (const std::string &guid, const std::string &title)
 
resqml2::SeismicLineSetFeaturecreateSeismicLineSet (const std::string &guid, const std::string &title)
 Creates a seismic line set into this repository.
 
resqml2::CulturalFeaturecreateCultural (const std::string &guid, const std::string &title, gsoap_eml2_3::resqml22__CulturalFeatureKind kind=gsoap_eml2_3::resqml22__CulturalFeatureKind::project_x0020boundaries)
 Creates a cultural into this repository.
 
resqml2::RockVolumeFeaturecreateStratigraphicUnitFeature (const std::string &guid, const std::string &title)
 
resqml2::RockVolumeFeaturecreateRockVolumeFeature (const std::string &guid, const std::string &title)
 
resqml2::ModelcreateModel (const std::string &guid, const std::string &title)
 
resqml2::ModelcreateStructuralModel (const std::string &guid, const std::string &title)
 
resqml2::ModelcreateStratigraphicModel (const std::string &guid, const std::string &title)
 
resqml2::ModelcreateRockFluidModel (const std::string &guid, const std::string &title)
 
resqml2::ModelcreateEarthModel (const std::string &guid, const std::string &title)
 
resqml2_0_1::FluidBoundaryFeaturecreateFluidBoundaryFeature (const std::string &guid, const std::string &title, gsoap_resqml2_0_1::resqml20__FluidContact fluidContact)
 
resqml2_0_1::RockFluidUnitFeaturecreateRockFluidUnit (const std::string &guid, const std::string &title, gsoap_resqml2_0_1::resqml20__Phase phase, resqml2_0_1::FluidBoundaryFeature *fluidBoundaryTop, resqml2_0_1::FluidBoundaryFeature *fluidBoundaryBottom)
 
resqml2::GenericFeatureInterpretationcreateGenericFeatureInterpretation (resqml2::AbstractFeature *feature, const std::string &guid, const std::string &title)
 Creates a generic feature interpretation into this repository.
 
resqml2::BoundaryFeatureInterpretationcreateBoundaryFeatureInterpretation (resqml2::BoundaryFeature *feature, const std::string &guid, const std::string &title)
 
resqml2::HorizonInterpretationcreateHorizonInterpretation (resqml2::BoundaryFeature *horizon, const std::string &guid, const std::string &title)
 Creates a horizon interpretation into this repository.
 
resqml2::GeobodyBoundaryInterpretationcreateGeobodyBoundaryInterpretation (resqml2::BoundaryFeature *geobodyBoundary, const std::string &guid, const std::string &title)
 Creates a geobody boundary interpretation into this repository.
 
resqml2::FaultInterpretationcreateFaultInterpretation (resqml2::BoundaryFeature *fault, const std::string &guid, const std::string &title)
 Creates a fault interpretation into this repository.
 
resqml2::FluidBoundaryInterpretationcreateFluidBoundaryInterpretation (resqml2::BoundaryFeature *boundary, const std::string &guid, const std::string &title, gsoap_eml2_3::resqml22__FluidContact fluidContact)
 Creates a fluid Boundary interpretation into this repository.
 
resqml2::WellboreInterpretationcreateWellboreInterpretation (resqml2::WellboreFeature *wellbore, const std::string &guid, const std::string &title, bool isDrilled)
 Creates a wellbore interpretation into this repository.
 
resqml2::EarthModelInterpretationcreateEarthModelInterpretation (resqml2::Model *orgFeat, const std::string &guid, const std::string &title)
 Creates an earth model interpretation into this repository.
 
resqml2::StructuralOrganizationInterpretationcreateStructuralOrganizationInterpretationInAge (resqml2::Model *orgFeat, const std::string &guid, const std::string &title)
 Creates a structural organization interpretation ordered by age into this repository.
 
resqml2::StructuralOrganizationInterpretationcreateStructuralOrganizationInterpretationInApparentDepth (resqml2::Model *orgFeat, const std::string &guid, const std::string &title)
 Creates a structural organization interpretation ordered by apparent depth into this repository.
 
resqml2::StructuralOrganizationInterpretationcreateStructuralOrganizationInterpretationInMeasuredDepth (resqml2::Model *orgFeat, const std::string &guid, const std::string &title)
 Creates a structural organization interpretation ordered by measured depth into this repository.
 
resqml2::RockFluidOrganizationInterpretationcreateRockFluidOrganizationInterpretation (resqml2::Model *orgFeat, const std::string &guid, const std::string &title)
 Creates a rock fluid organization interpretation into this repository.
 
resqml2::RockFluidUnitInterpretationcreateRockFluidUnitInterpretation (resqml2::RockVolumeFeature *rockFluidUnitFeature, const std::string &guid, const std::string &title)
 Creates a rock fluid unit interpretation into this repository.
 
resqml2::GeobodyInterpretationcreateGeobodyInterpretation (resqml2::RockVolumeFeature *geobody, const std::string &guid, const std::string &title)
 Creates a geobody interpretation into this repository.
 
resqml2::StratigraphicUnitInterpretationcreateStratigraphicUnitInterpretation (resqml2::RockVolumeFeature *stratiUnitFeature, const std::string &guid, const std::string &title)
 Creates a stratigraphic unit interpretation into this repository.
 
resqml2::StratigraphicColumncreateStratigraphicColumn (const std::string &guid, const std::string &title)
 Creates stratigraphic column into this repository.
 
resqml2::StratigraphicColumnRankInterpretationcreateStratigraphicColumnRankInterpretationInAge (resqml2::Model *orgFeat, const std::string &guid, const std::string &title, uint64_t rank)
 Creates a stratigraphic column rank interpretation ordered by age into this repository.
 
resqml2::StratigraphicColumnRankInterpretationcreateStratigraphicColumnRankInterpretationInApparentDepth (resqml2::Model *orgFeat, const std::string &guid, const std::string &title, uint64_t rank)
 Creates a stratigraphic column rank interpretation ordered by apparent depth into this repository.
 
resqml2::StratigraphicOccurrenceInterpretationcreateStratigraphicOccurrenceInterpretationInAge (resqml2::Model *orgFeat, const std::string &guid, const std::string &title)
 Creates a stratigraphic occurrence interpretation ordered by age into this repository.
 
resqml2::StratigraphicOccurrenceInterpretationcreateStratigraphicOccurrenceInterpretationInApparentDepth (resqml2::Model *orgFeat, const std::string &guid, const std::string &title)
 Creates a stratigraphic occurrence interpretation ordered by apparent depth into this repository.
 
resqml2::TriangulatedSetRepresentationcreateTriangulatedSetRepresentation (const std::string &guid, const std::string &title)
 Creates a triangulated set representation into this repository.
 
resqml2::TriangulatedSetRepresentationcreateTriangulatedSetRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title)
 Creates a triangulated set representation into this repository.
 
resqml2::PolylineSetRepresentationcreatePolylineSetRepresentation (const std::string &guid, const std::string &title)
 Creates a polyline set representation into this repository.
 
resqml2::PolylineSetRepresentationcreatePolylineSetRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title)
 Creates a polyline set representation into this repository.
 
resqml2::PolylineSetRepresentationcreatePolylineSetRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, gsoap_eml2_3::resqml22__LineRole roleKind)
 Creates a polyline set representation into this repository.
 
resqml2::PointSetRepresentationcreatePointSetRepresentation (const std::string &guid, const std::string &title)
 Creates a point set representation into this repository.
 
resqml2::PointSetRepresentationcreatePointSetRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title)
 Creates a point set representation into this repository.
 
resqml2::PlaneSetRepresentationcreatePlaneSetRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title)
 Creates a plane set representation into this repository.
 
resqml2::PolylineRepresentationcreatePolylineRepresentation (const std::string &guid, const std::string &title, bool isClosed=false)
 Creates a polyline representation into this repository.
 
resqml2::PolylineRepresentationcreatePolylineRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, bool isClosed=false)
 Creates a polyline representation into this repository.
 
resqml2::PolylineRepresentationcreatePolylineRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, gsoap_eml2_3::resqml22__LineRole roleKind, bool isClosed=false)
 Creates a polyline representation into this repository.
 
resqml2::Grid2dRepresentationcreateGrid2dRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title)
 
resqml2::WellboreTrajectoryRepresentationcreateWellboreTrajectoryRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2::MdDatum *mdInfo)
 Creates a wellbore trajectory representation into this repository.
 
resqml2_0_1::WellboreTrajectoryRepresentationcreateWellboreTrajectoryRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2_0_1::DeviationSurveyRepresentation *deviationSurvey)
 
resqml2_0_1::DeviationSurveyRepresentationcreateDeviationSurveyRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, bool isFinal, resqml2::MdDatum *mdInfo)
 Creates a deviation survey representation into this repository.
 
resqml2::WellboreFrameRepresentationcreateWellboreFrameRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2::WellboreTrajectoryRepresentation *traj)
 Creates a wellbore frame representation into this repository.
 
resqml2::SeismicWellboreFrameRepresentationcreateSeismicWellboreFrameRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2::WellboreTrajectoryRepresentation *traj, double seismicReferenceDatum, double weatheringVelocity, eml2::AbstractLocal3dCrs *crs)
 Creates a seismic wellbore frame representation into this repository.
 
resqml2::WellboreMarkerFrameRepresentationcreateWellboreMarkerFrameRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2::WellboreTrajectoryRepresentation *traj)
 
resqml2::WellboreMarkercreateWellboreMarker (resqml2::WellboreMarkerFrameRepresentation *wellboreMarkerFrame, const std::string &guid, const std::string &title)
 Creates a wellbore marker within a given wellbore marker frame representation.
 
resqml2::WellboreMarkercreateWellboreMarker (resqml2::WellboreMarkerFrameRepresentation *wellboreMarkerFrame, const std::string &guid, const std::string &title, gsoap_resqml2_0_1::resqml20__GeologicBoundaryKind geologicBoundaryKind)
 Creates a wellbore marker within a given wellbore marker frame representation.
 
resqml2::BlockedWellboreRepresentationcreateBlockedWellboreRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2::WellboreTrajectoryRepresentation *traj)
 Creates a blocked wellbore representation into this repository.
 
resqml2::RepresentationSetRepresentationcreateRepresentationSetRepresentation (resqml2::AbstractOrganizationInterpretation *interp, const std::string &guid, const std::string &title)
 Creates a representation set representation into this repository.
 
resqml2::RepresentationSetRepresentationcreateRepresentationSetRepresentation (const std::string &guid, const std::string &title)
 Creates a representation set representation into this repository.
 
resqml2::NonSealedSurfaceFrameworkRepresentationcreateNonSealedSurfaceFrameworkRepresentation (resqml2::StructuralOrganizationInterpretation *interp, const std::string &guid, const std::string &title)
 Creates a non sealed surface framework representation into this repository.
 
resqml2::SealedSurfaceFrameworkRepresentationcreateSealedSurfaceFrameworkRepresentation (resqml2::StructuralOrganizationInterpretation *interp, const std::string &guid, const std::string &title)
 Creates a sealed surface framework representation into this repository.
 
resqml2::SealedVolumeFrameworkRepresentationcreateSealedVolumeFrameworkRepresentation (resqml2::StratigraphicColumnRankInterpretation *interp, const std::string &guid, const std::string &title, resqml2::SealedSurfaceFrameworkRepresentation *ssf)
 Creates a sealed volume framework representation into this repository.
 
resqml2::AbstractIjkGridRepresentationcreatePartialIjkGridRepresentation (const std::string &guid, const std::string &title)
 
resqml2::AbstractIjkGridRepresentationcreatePartialTruncatedIjkGridRepresentation (const std::string &guid, const std::string &title)
 
resqml2::IjkGridExplicitRepresentationcreateIjkGridExplicitRepresentation (const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount, bool *kGaps=nullptr, eml2::AbstractHdfProxy *proxy=nullptr)
 Creates an ijk grid explicit representation into this repository.
 
resqml2::IjkGridExplicitRepresentationcreateIjkGridExplicitRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount, bool *kGaps=nullptr, eml2::AbstractHdfProxy *proxy=nullptr)
 Creates an ijk grid explicit representation into this repository.
 
resqml2::IjkGridParametricRepresentationcreateIjkGridParametricRepresentation (const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount, bool *kGaps=nullptr, eml2::AbstractHdfProxy *proxy=nullptr)
 Creates an ijk grid parametric representation into this repository.
 
resqml2::IjkGridParametricRepresentationcreateIjkGridParametricRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount, bool *kGaps=nullptr, eml2::AbstractHdfProxy *proxy=nullptr)
 Creates an ijk grid parametric representation into this repository.
 
resqml2::IjkGridLatticeRepresentationcreateIjkGridLatticeRepresentation (const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount)
 Creates an ijk grid lattice representation into this repository.
 
resqml2::IjkGridLatticeRepresentationcreateIjkGridLatticeRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount)
 Creates an ijk grid lattice representation into this repository.
 
resqml2::IjkGridNoGeometryRepresentationcreateIjkGridNoGeometryRepresentation (const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount, bool *kGaps=nullptr, eml2::AbstractHdfProxy *proxy=nullptr)
 Creates an ijk grid with no geometry representation into this repository.
 
resqml2::IjkGridNoGeometryRepresentationcreateIjkGridNoGeometryRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount, bool *kGaps=nullptr, eml2::AbstractHdfProxy *proxy=nullptr)
 Creates an ijk grid with no geometry representation into this repository.
 
resqml2::UnstructuredGridRepresentationcreateUnstructuredGridRepresentation (const std::string &guid, const std::string &title, const uint64_t &cellCount)
 Creates an unstructured grid representation into this repository.
 
resqml2::UnstructuredGridRepresentationcreateUnstructuredGridRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, const uint64_t &cellCount)
 Creates an unstructured grid representation into this repository.
 
resqml2::SubRepresentationcreateSubRepresentation (const std::string &guid, const std::string &title)
 Creates a sub-representation into this repository.
 
resqml2::SubRepresentationcreateSubRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title)
 Creates a sub-representation into this repository.
 
resqml2::GridConnectionSetRepresentationcreateGridConnectionSetRepresentation (const std::string &guid, const std::string &title)
 Creates a grid connection set representation into this repository.
 
resqml2::GridConnectionSetRepresentationcreateGridConnectionSetRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title)
 Creates a grid connection set representation into this repository.
 
resqml2::StreamlinesFeaturecreateStreamlinesFeature (const std::string &guid, const std::string &title, uint64_t timeIndex, eml2::TimeSeries *timeSeries)
 Creates a streamlines feature into this repository.
 
resqml2::StreamlinesRepresentationcreateStreamlinesRepresentation (resqml2::GenericFeatureInterpretation *interp, const std::string &guid, const std::string &title, uint64_t lineCount)
 Creates a streamlines representation into this repository.
 
eml2::TimeSeriescreateTimeSeries (const std::string &guid, const std::string &title)
 Creates a time series into this repository.
 
resqml2::DoubleTableLookupcreateDoubleTableLookup (const std::string &guid, const std::string &title)
 Creates a double table lookup into this repository.
 
resqml2::StringTableLookupcreateStringTableLookup (const std::string &guid, const std::string &title)
 Creates a string table lookup into this repository.
 
resqml2_0_1::PropertyKindcreatePropertyKind (const std::string &guid, const std::string &title, const std::string &namingSystem, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, bool isAbstract, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind parentEnergisticsPropertyKind)
 
resqml2_0_1::PropertyKindcreatePropertyKind (const std::string &guid, const std::string &title, const std::string &namingSystem, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, bool isAbstract, eml2::PropertyKind *parentPropType)
 Creates a property kind into this repository.
 
resqml2_0_1::PropertyKindcreatePropertyKind (const std::string &guid, const std::string &title, const std::string &namingSystem, const std::string &nonStandardUom, bool isAbstract, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind parentEnergisticsPropertyKind)
 
resqml2_0_1::PropertyKindcreatePropertyKind (const std::string &guid, const std::string &title, const std::string &namingSystem, const std::string &nonStandardUom, bool isAbstract, eml2::PropertyKind *parentPropType)
 
eml2::PropertyKindcreatePropertyKind (const std::string &guid, const std::string &title, gsoap_eml2_3::eml23__QuantityClassKind quantityClass, bool isAbstract=false, eml2::PropertyKind *parentPropertyKind=nullptr)
 Creates a property kind starting with EML2.1 version into this repository. Don't use it at all if you want a full RESQML2.0.1 EPC!!! Use other same name methods instead please.
 
eml2::PropertyKindcreatePropertyKind (const std::string &guid, const std::string &title, const std::string &quantityClass, bool isAbstract=false, eml2::PropertyKind *parentPropertyKind=nullptr)
 Creates a property kind starting with EML2.1 version into this repository. Don't use it at all if you want a full RESQML2.0.1 EPC!!! Use other same name methods instead please.
 
resqml2_0_1::PropertySetcreatePropertySet (const std::string &guid, const std::string &title, bool hasMultipleRealizations, bool hasSinglePropertyKind, gsoap_resqml2_0_1::resqml20__TimeSetKind timeSetKind)
 Creates a property set into this repository.
 
resqml2_0_1::CommentPropertycreateCommentProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
 
resqml2::CommentPropertycreateCommentProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, eml2::PropertyKind *localPropType)
 
resqml2_0_1::ContinuousPropertycreateContinuousProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
 
resqml2::ContinuousPropertycreateContinuousProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, eml2::PropertyKind *localPropType)
 
resqml2_0_1::ContinuousPropertycreateContinuousProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, std::string nonStandardUom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
 
resqml2::ContinuousPropertycreateContinuousProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, const std::string &nonStandardUom, eml2::PropertyKind *localPropType)
 
resqml2_0_1::DiscretePropertycreateDiscreteProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
 
resqml2::DiscretePropertycreateDiscreteProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, eml2::PropertyKind *localPropType)
 
resqml2_0_1::CategoricalPropertycreateCategoricalProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, resqml2::StringTableLookup *strLookup, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
 
resqml2_0_1::CategoricalPropertycreateCategoricalProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, resqml2::DoubleTableLookup *dblLookup, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
 
resqml2::CategoricalPropertycreateCategoricalProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, resqml2::StringTableLookup *strLookup, eml2::PropertyKind *localPropType)
 
resqml2::CategoricalPropertycreateCategoricalProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, resqml2::DoubleTableLookup *dblLookup, eml2::PropertyKind *localPropType)
 
resqml2_0_1::PointsPropertycreatePointsProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, eml2::AbstractLocal3dCrs *localCrs, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind=gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind::length)
 
resqml2::PointsPropertycreatePointsProperty (resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, eml2::AbstractLocal3dCrs *localCrs, eml2::PropertyKind *localPropType)
 
eml2::ActivityTemplatecreateActivityTemplate (const std::string &guid, const std::string &title)
 Creates an activity template into this repository.
 
eml2::ActivitycreateActivity (eml2::ActivityTemplate *activityTemplate, const std::string &guid, const std::string &title)
 Creates an activity into this repository.
 
WITSML2_NS::WellcreateWell (const std::string &guid, const std::string &title, bool isActive)
 
WITSML2_NS::WellcreateWell (const std::string &guid, const std::string &title, bool isActive, gsoap_eml2_3::eml23__WellStatus statusWell, gsoap_eml2_3::witsml21__WellDirection directionWell)
 
WITSML2_NS::WellborecreateWellbore (WITSML2_NS::Well *witsmlWell, const std::string &guid, const std::string &title, bool isActive)
 Creates a wellbore into this repository.
 
WITSML2_NS::WellborecreateWellbore (WITSML2_NS::Well *witsmlWell, const std::string &guid, const std::string &title, gsoap_eml2_3::eml23__WellStatus statusWellbore, bool isActive, bool achievedTD)
 Creates a wellbore into this repository.
 
witsml2_1::WellCompletioncreateWellCompletion (WITSML2_NS::Well *witsmlWell, const std::string &guid, const std::string &title)
 Creates a well completion into this repository.
 
witsml2_1::WellboreCompletioncreateWellboreCompletion (WITSML2_NS::Wellbore *witsmlWellbore, const std::string &guid, const std::string &title)
 
witsml2_1::WellboreGeometrycreateWellboreGeometry (WITSML2_NS::Wellbore *witsmlWellbore, const std::string &guid, const std::string &title, bool isActive)
 Creates a wellbore geometry into this repository. It is used to capture information about the configuration of the permanently installed components in a wellbore.
 
WITSML2_NS::TrajectorycreateTrajectory (WITSML2_NS::Wellbore *witsmlWellbore, const std::string &guid, const std::string &title, bool isActive)
 Creates a wellbore trajectory into this repository.
 
witsml2_1::LogcreateLog (WITSML2_NS::Wellbore *witsmlWellbore, const std::string &guid, const std::string &title, bool isActive)
 Creates a wellbore log into this repository.
 
witsml2_1::ChannelSetcreateChannelSet (const std::string &guid, const std::string &title, bool isActive)
 
witsml2_1::ChannelcreateChannel (eml2::PropertyKind *propertyKind, const std::string &guid, const std::string &title, const std::string &mnemonic, gsoap_eml2_3::eml23__UnitOfMeasure uom, gsoap_eml2_3::witsml21__ChannelDataKind dataKind, bool isActive)
 Creates a channel into this repository.
 
witsml2_1::WellboreMarkercreateWellboreMarker (const std::string &guid, const std::string &title, double md, gsoap_eml2_3::eml23__LengthUom mdUom)
 Creates a WITSML2.0 Wellbore Marker into this repository.
 
witsml2_1::WellboreMarkercreateWellboreMarker (WITSML2_NS::Wellbore *witsmlWellbore, const std::string &guid, const std::string &title, double md, gsoap_eml2_3::eml23__LengthUom mdUom)
 Creates a WITSML2.0 Wellbore Marker into this repository.
 
prodml2_2::FluidSystemcreateFluidSystem (const std::string &guid, const std::string &title, double temperatureValue, gsoap_eml2_3::eml23__ThermodynamicTemperatureUom temperatureUom, double pressureValue, gsoap_eml2_3::eml23__PressureUom pressureUom, gsoap_eml2_3::prodml22__ReservoirFluidKind reservoirFluidKind, double gasOilRatio, gsoap_eml2_3::eml23__VolumePerVolumeUom gasOilRatioUom)
 
prodml2_2::FluidSystemcreateFluidSystem (const std::string &guid, const std::string &title, gsoap_eml2_3::eml23__ReferenceCondition referenceCondition, gsoap_eml2_3::prodml22__ReservoirFluidKind reservoirFluidKind, double gasOilRatio, gsoap_eml2_3::eml23__VolumePerVolumeUom gasOilRatioUom)
 
prodml2_2::FluidCharacterizationcreateFluidCharacterization (const std::string &guid, const std::string &title)
 
prodml2_2::TimeSeriesDatacreateTimeSeriesData (const std::string &guid, const std::string &title)
 
eml2::GraphicalInformationSetcreateGraphicalInformationSet (const std::string &guid, const std::string &title)
 
resqml2::DiscreteColorMapcreateDiscreteColorMap (const std::string &guid, const std::string &title)
 
resqml2::ContinuousColorMapcreateContinuousColorMap (const std::string &guid, const std::string &title, gsoap_eml2_3::resqml22__InterpolationDomain interpolationDomain, gsoap_eml2_3::resqml22__InterpolationMethod interpolationMethod)
 
resqml2_0_1::PropertyKindMappergetPropertyKindMapper () const
 
void clearWarnings ()
 
void addWarning (const std::string &warning)
 
const std::vector< std::string > & getWarnings () const
 
DataObjectRepositorynewTransactionRepo ()
 
void commitTransactionRepo (DataObjectRepository *transactionRepo)
 
gsoap_uom1_0::uom10__uomDictionary const * getUomDictionary () const
 

Detailed Description

A DataObjectRepository stores in memory all dataObjects. This is the in-memory container which holds deserialized (EPC) files and fetched ETP dataobjects. On the other direction, it is also used to store dataobjets which you want either to serialize in (EPC) files or pushed to an ETP store. It is not a database (it is much more a simple container). For instance, in most cases, you are not supposed to delete anything neither update relationships. It also controls the creation and the deletion of all contained dataobjects meaning that when you delete it, it also deletes all contained dataobjects. It does not store numerical values of the dataobjects but only their XML definitions.

Member Enumeration Documentation

◆ EnergisticsStandard

enum class common::DataObjectRepository::EnergisticsStandard : std::int8_t
strong

Enumeration for the various Energistics standards.

◆ openingMode

enum class common::DataObjectRepository::openingMode : std::int8_t
strong

Values that represent the HDF5 file permission access

Constructor & Destructor Documentation

◆ DataObjectRepository() [1/2]

common::DataObjectRepository::DataObjectRepository ( )

Default constructor

◆ DataObjectRepository() [2/2]

common::DataObjectRepository::DataObjectRepository ( const std::string & resourceDirectory)
explicit

Constructor initializing the datobject repository based on a resource directory.

Parameters
resourceDirectoryPathname of the resource directory. For now it supports reading Energistics UOM 1.0 XML file and a proprietary PropertyKindMapping.xml file waiting for PWLS support.

◆ ~DataObjectRepository()

virtual common::DataObjectRepository::~DataObjectRepository ( )
virtual

Destructor

Member Function Documentation

◆ addDataObject()

bool common::DataObjectRepository::addDataObject ( common::AbstractObject * proxy)

CAUTION : not to use outside of the construction time of a dataobject. It does not update the relationships of the added or replaced data object. It is sometimes necessary to add an invalid dataobject to the DataObject Repository. For example, at construction time of the dataobjects, we may have to put the dataobject into the repo even if it is not complete yet (geometry is not part of construction time). We may have to put it into the repo in order to create relationships with this dataobject. Longer term, a staging phase should be created in FESAPI

Parameters
[in]proxyThe data object to add.
Returns
True if the addition has been done, false if it already exists a same UUID in the repository

◆ addOrReplaceDataObject()

common::AbstractObject * common::DataObjectRepository::addOrReplaceDataObject ( common::AbstractObject * proxy,
bool replaceOnlyContent = false )

Adds or replaces (based on UUID and version) a data object in the repository. It does also update the relationships of the added or replaced data object

Exceptions
std::invalid_argumentIf, during a replacement, the content type of the data object has changed.
Parameters
[in]proxyThe data object to add or to replace.
replaceOnlyContentIf true, it does not replace the full object(not the pointer) but only replace the content of the object.

◆ addOrReplaceGsoapProxy()

common::AbstractObject * common::DataObjectRepository::addOrReplaceGsoapProxy ( const std::string & xml,
const std::string & contentType,
const std::string & uriSource )

Adds or replaces (based on Energistics XML definition) a data object in the repository. It does also update the relationships of the added or replaced data object

Exceptions
std::invalid_argumentIf, during a replacement, the content type of the data object has changed.
Parameters
xmlThe XML which is the serialization of the Energistics data object to add or to replace.
contentOrDataTypeThe content or qualified data type of the Energistics dataobject to add or to replace.
uriSourceThe EPC document absolute path or the ETP dataspace URI where this dataobject comes from
Returns
Null if the content type of the data object cannot be wrapped by fesapi, else a pointer the added or replaced data object.

◆ addRelationship()

void common::DataObjectRepository::addRelationship ( common::AbstractObject * source,
common::AbstractObject * target )

Adds a directed relationship between two objects. Source and target of the relationship are defined by the Energistics data model. Usually, the easiest way is to look at Energistics UML diagrams. Another way is to rely on XSD/XML: explicit relationships are contained by the source objects and point to target objects.

Exceptions
std::invalid_argumentif the source or target object is null.
Parameters
[in]sourceThe source object of the relationship.
[in]targetThe target object of the relationship.

◆ addWarning()

void common::DataObjectRepository::addWarning ( const std::string & warning)

Adds a warning to this repository

Parameters
warningThe warning.

◆ cascadeDeleteDataObject()

uint64_t common::DataObjectRepository::cascadeDeleteDataObject ( common::AbstractObject * proxy)

Delete a dataobject wich has not got any backward relationships. Throw an exception if the dataobejct ot delte has got backward relationships. It also goes on every forward related dataobject and delete them if they have no more backward relationships. It does that recursively. Remark : it is mainly used to delete properties because usually no dataobject points to them. For now, this method only deletes the XML part of the dataobject, not the HDF5 part.

Parameters
[in]proxyThe data object to delete.
Returns
The count of deleted objects

◆ clear()

void common::DataObjectRepository::clear ( )

Removes and cleans all data objects from this repository

◆ clearWarnings()

void common::DataObjectRepository::clearWarnings ( )
inline

Clears the repository the warnings

◆ commitTransactionRepo()

void common::DataObjectRepository::commitTransactionRepo ( DataObjectRepository * transactionRepo)

Commit a transaction into this master repository.

◆ createActivity()

eml2::Activity * common::DataObjectRepository::createActivity ( eml2::ActivityTemplate * activityTemplate,
const std::string & guid,
const std::string & title )

Creates an activity into this repository.

Exceptions
std::invalid_argumentIf the default EML version is unrecognized.
std::invalid_argumentIf activityTemplate == nullptr.
Parameters
[in]activityTemplateThe activity template on which this activity is based on.
guidThe guid to set to the activity. If empty then a new guid will be generated.
titleThe title to set to the activity. If empty then "unknown" title will be set.
Returns
A pointer to the new activity.

◆ createActivityTemplate()

eml2::ActivityTemplate * common::DataObjectRepository::createActivityTemplate ( const std::string & guid,
const std::string & title )

Creates an activity template into this repository.

Exceptions
std::invalid_argumentIf the default EML version is unrecognized.
Parameters
guidThe guid to set to the activity template. If empty then a new guid will be generated.
titleThe title to set to the activity template. If empty then "unknown" title will be set.
Returns
A pointer to the new activity template.

◆ createBlockedWellboreRepresentation()

resqml2::BlockedWellboreRepresentation * common::DataObjectRepository::createBlockedWellboreRepresentation ( resqml2::WellboreInterpretation * interp,
const std::string & guid,
const std::string & title,
resqml2::WellboreTrajectoryRepresentation * traj )

Creates a blocked wellbore representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf traj == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the blocked wellbore representation. If empty then a new guid will be generated.
titleThe title to set to the blocked wellbore representation. If empty then "unknown" title will be set.
[in]trajThe wellbore trajectory that refers this blocked wellbore representation. It cannot be null.
Returns
A pointer to the new blocked wellbore representation.

◆ createBoundaryFeature()

resqml2::BoundaryFeature * common::DataObjectRepository::createBoundaryFeature ( const std::string & guid,
const std::string & title )

Creates a boundary feature into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the boundary feature. If empty then a new guid will be generated.
titleThe title to set to the boundary feature. If empty then "unknown" title will be set.
Returns
A pointer to the new boundary feature.

◆ createBoundaryFeatureInterpretation()

resqml2::BoundaryFeatureInterpretation * common::DataObjectRepository::createBoundaryFeatureInterpretation ( resqml2::BoundaryFeature * feature,
const std::string & guid,
const std::string & title )

Creates a boundary feature interpretation into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf feature is nullptr.
Parameters
[in]featureThe interpreted boundary feature. It cannot be null.
guidThe guid to set to the boundary feature interpretation. If empty then a new guid will be generated.
titleThe title to set to the boundary feature interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new boundary feature interpretation.

◆ createCategoricalProperty() [1/4]

resqml2::CategoricalProperty * common::DataObjectRepository::createCategoricalProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
resqml2::DoubleTableLookup * dblLookup,
eml2::PropertyKind * localPropType )

Creates a categorical property (which is of a local property kind) into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf rep, strLookup or localPropKind is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
[in]dblLookupThe double lookup which defines a discrete function associated with the property values.
[in]localPropTypeThe property kind of these property values which must be defined in the EPC document as a local property kind. It cannot be null.
Returns
A pointer to the new categorical property.

◆ createCategoricalProperty() [2/4]

resqml2_0_1::CategoricalProperty * common::DataObjectRepository::createCategoricalProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
resqml2::DoubleTableLookup * dblLookup,
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind )

Creates a categorical property (which is of a standard Energistics property kind) into this repository

Exceptions
std::invalid_argumentIf rep or strLookup is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
[in]dblLookupThe double lookup which defines a discrete function associated with the property values.
energisticsPropertyKindThe property kind of these property values which must be defined in the standard Energistics property type dictionary.
Returns
A pointer to new categorical property.

◆ createCategoricalProperty() [3/4]

resqml2::CategoricalProperty * common::DataObjectRepository::createCategoricalProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
resqml2::StringTableLookup * strLookup,
eml2::PropertyKind * localPropType )

Creates a categorical property (which is of a local property kind) into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf rep, strLookup or localPropKind is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
[in]strLookupThe string lookup which defines the possible string values and their keys. It cannot be null.
[in]localPropTypeThe property kind of these property values which must be defined in the EPC document as a local property kind. It cannot be null.
Returns
A pointer to the new categorical property.

◆ createCategoricalProperty() [4/4]

resqml2_0_1::CategoricalProperty * common::DataObjectRepository::createCategoricalProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
resqml2::StringTableLookup * strLookup,
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind )

Creates a categorical property (which is of a standard Energistics property kind) into this repository

Exceptions
std::invalid_argumentIf rep or strLookup is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
[in]strLookupThe string lookup which defines the possible string values and their keys.
energisticsPropertyKindThe property kind of these property values which must be defined in the standard Energistics property type dictionary.
Returns
A pointer to new categorical property.

◆ createChannel()

witsml2_1::Channel * common::DataObjectRepository::createChannel ( eml2::PropertyKind * propertyKind,
const std::string & guid,
const std::string & title,
const std::string & mnemonic,
gsoap_eml2_3::eml23__UnitOfMeasure uom,
gsoap_eml2_3::witsml21__ChannelDataKind dataKind,
bool isActive )

Creates a channel into this repository.

Exceptions
std::invalid_argumentIf propertyKind == nullptr.
Parameters
[in]propertyKindThe property kind associated to this channel. It cannot be null.
guidThe guid to set to the channel. If empty then a new guid will be generated.
titleThe title to set to the channel. If empty then "unknown" title will be set.
mnemonicThe mnemonic name to set to this channel.
uomThe underlying unit of measure of the value.
dataKindThe underlying data kind of the value.
isActiveTrue if is active, false if not.
Returns
A pointer to the new channel.

◆ createChannelSet()

witsml2_1::ChannelSet * common::DataObjectRepository::createChannelSet ( const std::string & guid,
const std::string & title,
bool isActive )

Creates a channel set into this repository

Parameters
guidThe guid to set to the channel set. If empty then a new guid will be generated.
titleThe title to set to the channel set. If empty then "unknown" title will be set.
isActiveTrue if is active, false if not.
Returns
A pointer to the new channel set.

◆ createCmpLine()

resqml2::CmpLineFeature * common::DataObjectRepository::createCmpLine ( const std::string & guid,
const std::string & title,
int nearestShotPointIndicesIncrement,
int firstNearestShotPointIndex,
unsigned int nearestShotPointCount )

Creates a CMP line into this repository.

Parameters
guidThe guid to set to the CMP line. If empty then a new guid will be generated.
titleThe title to set to the CMP line. If empty then "unknown" title will be set.
nearestShotPointIndicesIncrementThe constant index increment between two consecutive shot points indices.
firstNearestShotPointIndexThe index of the first shot point of the CMP line.
nearestShotPointCountNumber of shot point.
Returns
A pointer to the new CMP line.

◆ createCommentProperty() [1/2]

resqml2::CommentProperty * common::DataObjectRepository::createCommentProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
eml2::PropertyKind * localPropType )

Creates a comment property (which is of a local property kind) into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf rep or localPropKind is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
[in]localPropTypeThe property kind of these property values which must be defined in the EPC document as a local property kind. It cannot be null.
Returns
A pointer to the new comment property.

◆ createCommentProperty() [2/2]

resqml2_0_1::CommentProperty * common::DataObjectRepository::createCommentProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind )

Creates a comment property (which is of a well known Energistics property kind) into this repository.

Exceptions
std::invalid_argumentIf rep is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
energisticsPropertyKindThe property kind of these property values which must be defined in the standard Energistics property type dictionary.
Returns
A pointer to the new comment property.

◆ createContinuousColorMap()

resqml2::ContinuousColorMap * common::DataObjectRepository::createContinuousColorMap ( const std::string & guid,
const std::string & title,
gsoap_eml2_3::resqml22__InterpolationDomain interpolationDomain,
gsoap_eml2_3::resqml22__InterpolationMethod interpolationMethod )

Creates a continuous color map into this repository

Parameters
guidThe guid to set to the continuous color map. If empty then a new guid will be generated.
titleThe title to set to the continuous color map. If empty then "unknown" title will be set.
interpolationDomainThe interpolation domain (the color space).
interpolationMethodThe interpolation method.
Returns
A pointer to the new continuous color map.

◆ createContinuousProperty() [1/4]

resqml2::ContinuousProperty * common::DataObjectRepository::createContinuousProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
const std::string & nonStandardUom,
eml2::PropertyKind * localPropType )

Creates a continuous property (which is of local unit of measure and property kind) into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf rep or localPropType is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
nonStandardUomThe property unit of measure. Please check COMMON_NS::EnumStringMapper::getEnergisticsUnitOfMeasure in order to minimize the use of non standard unit of measure.
[in]localPropTypeThe property kind of these property values which must be defined in the EPC document as a local property kind. It cannot be null.
Returns
A pointer to the new continuous property.

◆ createContinuousProperty() [2/4]

resqml2::ContinuousProperty * common::DataObjectRepository::createContinuousProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
gsoap_resqml2_0_1::resqml20__ResqmlUom uom,
eml2::PropertyKind * localPropType )

Creates a continuous property (which is of a well known unit of measure and a local property kind) into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf rep or localPropType is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
uomThe property unit of measure taken from the standard Energistics units of measure catalog. Please check COMMON_NS::EnumStringMapper::getEnergisticsUnitOfMeasure in order to minimize the use of non standard unit of measure.
[in]localPropTypeThe property kind of these property values which must be defined in the EPC document as a local property kind. It cannot be null.
Returns
A pointer to the new continuous property.

◆ createContinuousProperty() [3/4]

resqml2_0_1::ContinuousProperty * common::DataObjectRepository::createContinuousProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
gsoap_resqml2_0_1::resqml20__ResqmlUom uom,
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind )

Creates a continuous property (which is of well known Energistics unit of measure and property kind) into this repository

Exceptions
std::invalid_argumentIf rep is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
uomThe property unit of measure taken from the standard Energistics units of measure catalog. Please check COMMON_NS::EnumStringMapper::getEnergisticsUnitOfMeasure in order to minimize the use of non standard unit of measure.
energisticsPropertyKindThe property kind of these property values which must be defined in the standard Energistics property type dictionary.
Returns
A pointer to the new continuous property.

◆ createContinuousProperty() [4/4]

resqml2_0_1::ContinuousProperty * common::DataObjectRepository::createContinuousProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
std::string nonStandardUom,
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind )

Creates a continuous property (which is of a local unit of measure and a well known property kind) into this repository

Exceptions
std::invalid_argumentIf rep is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
nonStandardUomThe property unit of measure. Please check COMMON_NS::EnumStringMapper::getEnergisticsUnitOfMeasure in order to minimize the use of non standard unit of measure.
energisticsPropertyKindThe property kind of these property values which must be defined in the standard Energistics property type dictionary.
Returns
A pointer to the new continuous property.

◆ createCultural()

resqml2::CulturalFeature * common::DataObjectRepository::createCultural ( const std::string & guid,
const std::string & title,
gsoap_eml2_3::resqml22__CulturalFeatureKind kind = gsoap_eml2_3::resqml22__CulturalFeatureKind::project_x0020boundaries )

Creates a cultural into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the cultural. If empty then a new guid will be generated.
titleThe title to set to the cultural. If empty then "unknown" title will be set.
kind(Optional) The kind to set to the cultural. It is defaulted to gsoap_eml2_3::resqml22__CulturalFeatureKind::project_x0020boundaries for easing 2.0.1 compatibility.
Returns
A pointer to the new cultural.

◆ createDeviationSurveyRepresentation()

resqml2_0_1::DeviationSurveyRepresentation * common::DataObjectRepository::createDeviationSurveyRepresentation ( resqml2::WellboreInterpretation * interp,
const std::string & guid,
const std::string & title,
bool isFinal,
resqml2::MdDatum * mdInfo )

Creates a deviation survey representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr or mdInfo == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the deviation survey representation. If empty then a new guid will be generated.
titleThe title to set to the deviation survey representation. If empty then "unknown" title will be set.
isFinalUsed to indicate that this is a final version of the deviation survey (true), as distinct from the interim interpretations (false).
[in]mdInfoThe MD datum that refers this deviation survey representation. It cannot be null.
Returns
A pointer to the new deviation survey representation.

◆ createDiscreteColorMap()

resqml2::DiscreteColorMap * common::DataObjectRepository::createDiscreteColorMap ( const std::string & guid,
const std::string & title )

Creates a discrete color map into this repository

Parameters
guidThe guid to set to the discrete color map. If empty then a new guid will be generated.
titleThe title to set to the discrete color map. If empty then "unknown" title will be set.
Returns
A pointer to the new discrete color map.

◆ createDiscreteProperty() [1/2]

resqml2::DiscreteProperty * common::DataObjectRepository::createDiscreteProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
eml2::PropertyKind * localPropType )

Creates a discrete property (which is of a local property kind) into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf or localPropKind is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
[in]localPropTypeThe property kind of these property values which must be defined in the EPC document as a local property kind. It cannot be null.
Returns
A pointer to the new discrete property.

◆ createDiscreteProperty() [2/2]

resqml2_0_1::DiscreteProperty * common::DataObjectRepository::createDiscreteProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind )

Creates a discrete property (which is of a well known Energistics property kind) into this repository

Exceptions
std::invalid_argumentIf rep is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
energisticsPropertyKindThe property kind of these property values which must be defined in the standard Energistics property type dictionary.
Returns
A pointer to the new discrete property.

◆ createDoubleTableLookup()

resqml2::DoubleTableLookup * common::DataObjectRepository::createDoubleTableLookup ( const std::string & guid,
const std::string & title )

Creates a double table lookup into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the double table lookup. If empty then a new guid will be generated.
titleThe title to set to the double table lookup. If empty then "unknown" title will be set.
Returns
A pointer to the new double table lookup.

◆ createEarthModel()

resqml2::Model * common::DataObjectRepository::createEarthModel ( const std::string & guid,
const std::string & title )
Deprecated
Use createModel() method for RESQML post v2.0.1 Creates an earth model into this repository
Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the earth model. If empty then a new guid will be generated.
titleThe title to set to the earth model. If empty then "unknown" title will be set.
Returns
A pointer to the new earth model.

◆ createEarthModelInterpretation()

resqml2::EarthModelInterpretation * common::DataObjectRepository::createEarthModelInterpretation ( resqml2::Model * orgFeat,
const std::string & guid,
const std::string & title )

Creates an earth model interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf orgFeat == nullptr.
Parameters
[in]orgFeatThe interpreted organization. It cannot be null.
guidThe guid to set to the earth model interpretation. If empty then a new guid will be generated.
titleThe title to set to the earth model interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new earth model interpretation.

◆ createFault()

resqml2::BoundaryFeature * common::DataObjectRepository::createFault ( const std::string & guid,
const std::string & title )
Deprecated
Use createBoundaryFeature() method for RESQML post v2.0.1 Creates a fault into this repository
Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the fault. If empty then a new guid will be generated.
titleThe title to set to the fault. If empty then "unknown" title will be set.
Returns
A pointer to the new fault.

◆ createFaultInterpretation()

resqml2::FaultInterpretation * common::DataObjectRepository::createFaultInterpretation ( resqml2::BoundaryFeature * fault,
const std::string & guid,
const std::string & title )

Creates a fault interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf fault == nullptr.
Parameters
[in]faultThe interpreted fault. It cannot be null.
guidThe guid to set to the fault interpretation. If empty then a new guid will be generated.
titleThe title to set to the fault interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new fault interpretation.

◆ createFluidBoundaryFeature()

resqml2_0_1::FluidBoundaryFeature * common::DataObjectRepository::createFluidBoundaryFeature ( const std::string & guid,
const std::string & title,
gsoap_resqml2_0_1::resqml20__FluidContact fluidContact )

Creates a fluid boundary feature into this repository

Parameters
guidThe guid to set to the fluid boundary feature. If empty then a new guid will be generated.
titleThe title to set to the fluid boundary feature. If empty then "unknown" title will be set.
fluidContactThe fluid contact.
Returns
A pointer to the new fluid boundary feature.

◆ createFluidBoundaryInterpretation()

resqml2::FluidBoundaryInterpretation * common::DataObjectRepository::createFluidBoundaryInterpretation ( resqml2::BoundaryFeature * boundary,
const std::string & guid,
const std::string & title,
gsoap_eml2_3::resqml22__FluidContact fluidContact )

Creates a fluid Boundary interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf fault == nullptr.
Parameters
[in]boundaryThe interpreted boundary. It cannot be null.
guidThe guid to set to the interpretation. If empty then a new guid will be generated.
titleThe title to set to the interpretation. If empty then "unknown" title will be set.
fluidContactThe fluid contact this boundary is.
Returns
A pointer to the new interpretation.

◆ createFluidCharacterization()

prodml2_2::FluidCharacterization * common::DataObjectRepository::createFluidCharacterization ( const std::string & guid,
const std::string & title )

Creates a fluid characterization into this repository

Parameters
guidThe guid to set to the fluid characterization. If empty then a new guid will be generated.
titleThe title to set to the fluid characterization. If empty then "unknown" title will be set.
Returns
A pointer to the new fluid characterization.

◆ createFluidSystem() [1/2]

prodml2_2::FluidSystem * common::DataObjectRepository::createFluidSystem ( const std::string & guid,
const std::string & title,
double temperatureValue,
gsoap_eml2_3::eml23__ThermodynamicTemperatureUom temperatureUom,
double pressureValue,
gsoap_eml2_3::eml23__PressureUom pressureUom,
gsoap_eml2_3::prodml22__ReservoirFluidKind reservoirFluidKind,
double gasOilRatio,
gsoap_eml2_3::eml23__VolumePerVolumeUom gasOilRatioUom )

Creates a fluid system into this repository

Parameters
guidThe guid to set to the fluid system. If empty then a new guid will be generated.
titleThe title to set to the fluid system. If empty then "unknown" title will be set.
temperatureValueThe temperature value.
temperatureUomThe temperature unit of measure.
pressureValueThe pressure value.
pressureUomThe pressure unit of measure.
reservoirFluidKindThe kind of the reservoir fluid.
gasOilRatioThe gas oil ratio.
gasOilRatioUomThe gas oil ratio unit of measure.
Returns
A pointer to the new fluid system.

◆ createFluidSystem() [2/2]

prodml2_2::FluidSystem * common::DataObjectRepository::createFluidSystem ( const std::string & guid,
const std::string & title,
gsoap_eml2_3::eml23__ReferenceCondition referenceCondition,
gsoap_eml2_3::prodml22__ReservoirFluidKind reservoirFluidKind,
double gasOilRatio,
gsoap_eml2_3::eml23__VolumePerVolumeUom gasOilRatioUom )

Creates a fluid system into this repository

Parameters
guidThe guid to set to the fluid system. If empty then a new guid will be generated.
titleThe title to set to the fluid system. If empty then "unknown" title will be set.
referenceConditionA wellknown couple of temperature-pressure.
reservoirFluidKindThe kind of the reservoir fluid.
gasOilRatioThe gas oil ratio.
gasOilRatioUomThe gas oil ratio unit of measure.
Returns
A pointer to the new fluid system.

◆ createFracture()

resqml2::BoundaryFeature * common::DataObjectRepository::createFracture ( const std::string & guid,
const std::string & title )
Deprecated
Use createBoundaryFeature() method for RESQML post v2.0.1 Creates a fracture into this repository
Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the fracture. If empty then a new guid will be generated.
titleThe title to set to the fracture. If empty then "unknown" title will be set.
Returns
A pointer to the new fracture.

◆ createGenericFeatureInterpretation()

resqml2::GenericFeatureInterpretation * common::DataObjectRepository::createGenericFeatureInterpretation ( resqml2::AbstractFeature * feature,
const std::string & guid,
const std::string & title )

Creates a generic feature interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf feature == nullptr.
Parameters
[in]featureThe interpreted feature. It cannot be null.
guidThe guid to set to the generic feature interpretation. If empty then a new guid will be generated.
titleThe title to set to the generic feature interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new generic feature interpretation.

◆ createGeobodyBoundaryFeature()

resqml2::BoundaryFeature * common::DataObjectRepository::createGeobodyBoundaryFeature ( const std::string & guid,
const std::string & title )
Deprecated
Use createBoundaryFeature() method for RESQML post v2.0.1 Creates a geobody boundary feature into this repository
Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the geobody boundary feature. If empty then a new guid will be generated.
titleThe title to set to the geobody boundary feature. If empty then "unknown" title will be set.
Returns
A pointer to the new geobody boundary feature.

◆ createGeobodyBoundaryInterpretation()

resqml2::GeobodyBoundaryInterpretation * common::DataObjectRepository::createGeobodyBoundaryInterpretation ( resqml2::BoundaryFeature * geobodyBoundary,
const std::string & guid,
const std::string & title )

Creates a geobody boundary interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf geobodyBoundary == nullptr.
Parameters
[in]geobodyBoundaryThe interpreted geobody boundary. It cannot be null.
guidThe guid to set to the geobody boundary interpretation. If empty then a new guid will be generated.
titleThe title to set to the geobody boundary interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new geobody boundary interpretation.

◆ createGeobodyFeature()

resqml2::RockVolumeFeature * common::DataObjectRepository::createGeobodyFeature ( const std::string & guid,
const std::string & title )

Creates a geobody feature into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the geobody feature. If empty then a new guid will be generated.
titleThe title to set to the geobody feature. If empty then "unknown" title will be set.
Returns
A pointer to the new geobody feature.

◆ createGeobodyInterpretation()

resqml2::GeobodyInterpretation * common::DataObjectRepository::createGeobodyInterpretation ( resqml2::RockVolumeFeature * geobody,
const std::string & guid,
const std::string & title )

Creates a geobody interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf geobody == nullptr or if in a RESQML v2.0 context, geobody is not an actual geobody feature.
Parameters
[in]geobodyThe interpreted geobody. It cannot be null.
guidThe guid to set to the geobody interpretation. If empty then a new guid will be generated.
titleThe title to set to the geobody interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new geobody interpretation.

◆ createGraphicalInformationSet()

eml2::GraphicalInformationSet * common::DataObjectRepository::createGraphicalInformationSet ( const std::string & guid,
const std::string & title )

Creates a graphical information set into this repository

Parameters
guidThe guid to set to the graphical information set. If empty then a new guid will be generated.
titleThe title to set to the graphical information set. If empty then "unknown" title will be set.
Returns
A pointer to the new graphical information set.

◆ createGrid2dRepresentation()

resqml2::Grid2dRepresentation * common::DataObjectRepository::createGrid2dRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a 2d grid representation into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the 2d grid representation. If empty then a new guid will be generated.
titleThe title to set to the 2d grid representation. If empty then "unknown" title will be set.
Returns
A pointer to the new 2d grid representation.

◆ createGridConnectionSetRepresentation() [1/2]

resqml2::GridConnectionSetRepresentation * common::DataObjectRepository::createGridConnectionSetRepresentation ( const std::string & guid,
const std::string & title )

Creates a grid connection set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the grid connection set representation. If empty then a new guid will be generated.
titleThe title to set to the grid connection set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new grid connection set representation.

◆ createGridConnectionSetRepresentation() [2/2]

resqml2::GridConnectionSetRepresentation * common::DataObjectRepository::createGridConnectionSetRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a grid connection set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null. You can alternatively use createGridConnectionSetRepresentation if no interpretation is associated to this representation.
guidThe guid to set to the grid connection set representation. If empty then a new guid will be generated.
titleThe title to set to the grid connection set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new grid connection set representation.

◆ createHdfProxy()

eml2::AbstractHdfProxy * common::DataObjectRepository::createHdfProxy ( const std::string & guid,
const std::string & title,
const std::string & packageDirAbsolutePath,
const std::string & filePath,
DataObjectRepository::openingMode hdfPermissionAccess )

Creates a non parallel access to an HDF5 file for writing to it. Resulting HDF5 file proxy is stored into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the HDF5 file proxy. If empty then a new guid will be generated.
titleThe title to set to the HDF5 file proxy. If empty then "unknown" title will be set.
packageDirAbsolutePathPath of the directory where the HDF5 file must be created.
filePathPath of the HDF5 file relative to packageDirAbsolutePath.
hdfPermissionAccessThe HDF5 file permission access. It is read only by default.
Returns
A pointer to an instantiated HDF5 file proxy.

◆ createHorizon()

resqml2::BoundaryFeature * common::DataObjectRepository::createHorizon ( const std::string & guid,
const std::string & title )
Deprecated
Use createBoundaryFeature() method for RESQML post v2.0.1 Creates a horizon into this repository
Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the horizon. If empty then a new guid will be generated.
titleThe title to set to the horizon. If empty then "unknown" title will be set.
Returns
A pointer to the new horizon.

◆ createHorizonInterpretation()

resqml2::HorizonInterpretation * common::DataObjectRepository::createHorizonInterpretation ( resqml2::BoundaryFeature * horizon,
const std::string & guid,
const std::string & title )

Creates a horizon interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf horizon == nullptr.
Parameters
[in]horizonThe interpreted horizon. It cannot be null.
guidThe guid to set to the horizon interpretation. If empty then a new guid will be generated.
titleThe title to set to the horizon interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new horizon interpretation.

◆ createIjkGridExplicitRepresentation() [1/2]

resqml2::IjkGridExplicitRepresentation * common::DataObjectRepository::createIjkGridExplicitRepresentation ( const std::string & guid,
const std::string & title,
unsigned int iCount,
unsigned int jCount,
unsigned int kCount,
bool * kGaps = nullptr,
eml2::AbstractHdfProxy * proxy = nullptr )

Creates an ijk grid explicit representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the ijk grid explicit representation. If empty then a new guid will be generated.
titleThe title to set to the ijk grid explicit representation. If empty then "unknown" title will be set.
iCountCount of cells in the I direction in the grid.
jCountCount of cells in the J direction in the grid.
kCountNumber of layers in the grid.
kGaps(Optional) Boolean array of length KCellCount-1. TRUE if there is a gap after the corresponding layer. Won't be freed by FESAPI.
[in]proxy(Optional) The HDF proxy for writing the enabledCells values. If nullptr (default), then the default HDF proxy will be used.
Returns
A pointer to the new ijk grid explicit representation.

◆ createIjkGridExplicitRepresentation() [2/2]

resqml2::IjkGridExplicitRepresentation * common::DataObjectRepository::createIjkGridExplicitRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title,
unsigned int iCount,
unsigned int jCount,
unsigned int kCount,
bool * kGaps = nullptr,
eml2::AbstractHdfProxy * proxy = nullptr )

Creates an ijk grid explicit representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the ijk grid explicit representation. If empty then a new guid will be generated.
titleThe title to set to the ijk grid explicit representation. If empty then "unknown" title will be set.
iCountCount of cells in the I direction in the grid.
jCountCount of cells in the J direction in the grid.
kCountNumber of layers in the grid.
kGaps(Optional) Boolean array of length KCellCount-1. TRUE if there is a gap after the corresponding layer. Won't be freed by FESAPI.
[in]proxy(Optional) The HDF proxy for writing the enabledCells values. If nullptr (default), then the default HDF proxy will be used.
Returns
A pointer to the new ijk grid explicit representation.

◆ createIjkGridLatticeRepresentation() [1/2]

resqml2::IjkGridLatticeRepresentation * common::DataObjectRepository::createIjkGridLatticeRepresentation ( const std::string & guid,
const std::string & title,
unsigned int iCount,
unsigned int jCount,
unsigned int kCount )

Creates an ijk grid lattice representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the ijk grid lattice representation. If empty then a new guid will be generated.
titleThe title to set to the ijk grid lattice representation. If empty then "unknown" title will be set.
iCountCount of cells in the I direction in the grid.
jCountCount of cells in the J direction in the grid.
kCountNumber of layers in the grid.
Returns
A pointer to the new ijk grid lattice representation.

◆ createIjkGridLatticeRepresentation() [2/2]

resqml2::IjkGridLatticeRepresentation * common::DataObjectRepository::createIjkGridLatticeRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title,
unsigned int iCount,
unsigned int jCount,
unsigned int kCount )

Creates an ijk grid lattice representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the ijk grid lattice representation. If empty then a new guid will be generated.
titleThe title to set to the ijk grid lattice representation. If empty then "unknown" title will be set.
iCountCount of cells in the I direction in the grid.
jCountCount of cells in the J direction in the grid.
kCountNumber of layers in the grid.
Returns
A pointer to the new ijk grid lattice representation.

◆ createIjkGridNoGeometryRepresentation() [1/2]

resqml2::IjkGridNoGeometryRepresentation * common::DataObjectRepository::createIjkGridNoGeometryRepresentation ( const std::string & guid,
const std::string & title,
unsigned int iCount,
unsigned int jCount,
unsigned int kCount,
bool * kGaps = nullptr,
eml2::AbstractHdfProxy * proxy = nullptr )

Creates an ijk grid with no geometry representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the ijk grid with no geometry representation. If empty then a new guid will be generated.
titleThe title to set to the ijk grid with no geometry representation. If empty then "unknown" title will be set.
iCountCount of cells in the I direction in the grid.
jCountCount of cells in the J direction in the grid.
kCountNumber of layers in the grid.
kGaps(Optional) Boolean array of length KCellCount-1. TRUE if there is a gap after the corresponding layer. Won't be freed by FESAPI.
[in]proxy(Optional) The HDF proxy for writing the enabledCells values. If nullptr (default), then the default HDF proxy will be used.
Returns
A pointer to the new ijk grid with no geometry representation.

◆ createIjkGridNoGeometryRepresentation() [2/2]

resqml2::IjkGridNoGeometryRepresentation * common::DataObjectRepository::createIjkGridNoGeometryRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title,
unsigned int iCount,
unsigned int jCount,
unsigned int kCount,
bool * kGaps = nullptr,
eml2::AbstractHdfProxy * proxy = nullptr )

Creates an ijk grid with no geometry representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the ijk grid with no geometry representation. If empty then a new guid will be generated.
titleThe title to set to the ijk grid with no geometry representation. If empty then "unknown" title will be set.
iCountCount of cells in the I direction in the grid.
jCountCount of cells in the J direction in the grid.
kCountNumber of layers in the grid.
kGaps(Optional) Boolean array of length KCellCount-1. TRUE if there is a gap after the corresponding layer. Won't be freed by FESAPI.
[in]proxy(Optional) The HDF proxy for writing the enabledCells values. If nullptr (default), then the default HDF proxy will be used.
Returns
A pointer to the new ijk grid with no geometry representation.

◆ createIjkGridParametricRepresentation() [1/2]

resqml2::IjkGridParametricRepresentation * common::DataObjectRepository::createIjkGridParametricRepresentation ( const std::string & guid,
const std::string & title,
unsigned int iCount,
unsigned int jCount,
unsigned int kCount,
bool * kGaps = nullptr,
eml2::AbstractHdfProxy * proxy = nullptr )

Creates an ijk grid parametric representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the ijk grid parametric representation. If empty then a new guid will be generated.
titleThe title to set to the ijk grid parametric representation. If empty then "unknown" title will be set.
iCountCount of cells in the I direction in the grid.
jCountCount of cells in the J direction in the grid.
kCountNumber of layers in the grid.
kGaps(Optional) Boolean array of length KCellCount-1. TRUE if there is a gap after the corresponding layer. Won't be freed by FESAPI.
[in]proxy(Optional) The HDF proxy for writing the enabledCells values. If nullptr (default), then the default HDF proxy will be used.
Returns
A pointer to the new ijk grid parametric representation.

◆ createIjkGridParametricRepresentation() [2/2]

resqml2::IjkGridParametricRepresentation * common::DataObjectRepository::createIjkGridParametricRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title,
unsigned int iCount,
unsigned int jCount,
unsigned int kCount,
bool * kGaps = nullptr,
eml2::AbstractHdfProxy * proxy = nullptr )

Creates an ijk grid parametric representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the ijk grid parametric representation. If empty then a new guid will be generated.
titleThe title to set to the ijk grid parametric representation. If empty then "unknown" title will be set.
iCountCount of cells in the I direction in the grid.
jCountCount of cells in the J direction in the grid.
kCountNumber of layers in the grid.
kGaps(Optional) Boolean array of length KCellCount-1. TRUE if there is a gap after the corresponding layer. Won't be freed by FESAPI.
[in]proxy(Optional) The HDF proxy for writing the enabledCells values. If nullptr (default), then the default HDF proxy will be used.
Returns
A pointer to the new ijk grid parametric representation.

◆ createLocalDepth3dCrs() [1/4]

eml2::AbstractLocal3dCrs * common::DataObjectRepository::createLocalDepth3dCrs ( const std::string & guid,
const std::string & title,
double originOrdinal1,
double originOrdinal2,
double originOrdinal3,
double arealRotation,
gsoap_resqml2_0_1::eml20__LengthUom projectedUom,
const std::string & projectedUnknownReason,
gsoap_resqml2_0_1::eml20__LengthUom verticalUom,
const std::string & verticalUnknownReason,
bool isUpOriented )

Creates a local depth 3d CRS which is fully unknown. Resulting local depth 3d CRS is stored into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the local 3d CRS. If empty then a new guid will be generated.
titleThe title to set to the local 3d CRS. If empty then "unknown" title will be set.
originOrdinal1The offset of the global 2d CRS on its first axis.
originOrdinal2The offset of the global 2d CRS on its second axis.
originOrdinal3The offset in depth of the local CRS regarding the depth origin of the vertical CRS.
arealRotationThe areal rotation in radians regarding the projected CRS.
projectedUomThe unit of measure of the projected axis of this instance.
projectedUnknownReasonIndicates why the projected CRS cannot be provided using EPSG or GML.
verticalUomThe unit of measure of the vertical axis of this instance.
verticalUnknownReasonIndicates why the vertical CRS cannot be provided using EPSG or GML.
isUpOrientedIf true, indicates that this depth CRS is actually an elevation CRS.
Returns
A pointer to the new local depth 3d CRS.

◆ createLocalDepth3dCrs() [2/4]

eml2::AbstractLocal3dCrs * common::DataObjectRepository::createLocalDepth3dCrs ( const std::string & guid,
const std::string & title,
double originOrdinal1,
double originOrdinal2,
double originOrdinal3,
double arealRotation,
gsoap_resqml2_0_1::eml20__LengthUom projectedUom,
const std::string & projectedUnknownReason,
gsoap_resqml2_0_1::eml20__LengthUom verticalUom,
unsigned int verticalEpsgCode,
bool isUpOriented )

Creates a local depth 3d CRS which is unknown for its projected part and which is identified by an EPSG code for its vertical part. Resulting local depth 3d CRS is stored into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf verticalEpsgCode == 0.
Parameters
guidThe guid to set to the local 3d CRS. If empty then a new guid will be generated.
titleThe title to set to the local 3d CRS. If empty then "unknown" title will be set.
originOrdinal1The offset of the global 2d CRS on its first axis.
originOrdinal2The offset of the global 2d CRS on its second axis.
originOrdinal3The offset in depth of the local CRS regarding the depth origin of the vertical CRS.
arealRotationThe areal rotation in radians regarding the projected CRS.
projectedUomThe unit of measure of the projected axis of this instance.
projectedUnknownReasonIndicates why the projected CRS cannot be provided using EPSG or GML.
verticalUomThe unit of measure of the vertical axis of this instance.
verticalEpsgCodeThe EPSG code of the associated vertical CRS.
isUpOrientedIf true, indicates that this depth CRS is actually an elevation CRS.
Returns
A pointer to the new local depth 3d CRS.

◆ createLocalDepth3dCrs() [3/4]

eml2::AbstractLocal3dCrs * common::DataObjectRepository::createLocalDepth3dCrs ( const std::string & guid,
const std::string & title,
double originOrdinal1,
double originOrdinal2,
double originOrdinal3,
double arealRotation,
gsoap_resqml2_0_1::eml20__LengthUom projectedUom,
uint64_t projectedEpsgCode,
gsoap_resqml2_0_1::eml20__LengthUom verticalUom,
const std::string & verticalUnknownReason,
bool isUpOriented )

Creates a local depth 3d CRS which is identified by an EPSG code for its projected part and which is unknown for its vertical part. Resulting local depth 3d CRS is stored into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf projectedEpsgCode == 0.
Parameters
guidThe guid to set to the local 3d CRS. If empty then a new guid will be generated.
titleThe title to set to the local 3d CRS. If empty then "unknown" title will be set.
originOrdinal1The offset of the global 2d CRS on its first axis.
originOrdinal2The offset of the global 2d CRS on its second axis.
originOrdinal3The offset in depth of the local CRS regarding the depth origin of the vertical CRS.
arealRotationThe areal rotation in radians regarding the projected CRS.
projectedUomThe unit of measure of the projected axis of this instance.
projectedEpsgCodeThe EPSG code of the associated projected CRS.
verticalUomThe unit of measure of the vertical axis of this instance.
verticalUnknownReasonIndicates why the vertical CRS cannot be provided using EPSG or GML.
isUpOrientedIf true, indicates that this depth CRS is actually an elevation CRS.
Returns
A pointer to the new local depth 3d CRS.

◆ createLocalDepth3dCrs() [4/4]

eml2::AbstractLocal3dCrs * common::DataObjectRepository::createLocalDepth3dCrs ( const std::string & guid,
const std::string & title,
double originOrdinal1,
double originOrdinal2,
double originOrdinal3,
double arealRotation,
gsoap_resqml2_0_1::eml20__LengthUom projectedUom,
uint64_t projectedEpsgCode,
gsoap_resqml2_0_1::eml20__LengthUom verticalUom,
unsigned int verticalEpsgCode,
bool isUpOriented )

Creates a local depth 3d CRS which is fully identified by means of an EPSG code. Resulting local depth 3d CRS is stored into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf projectedEpsgCode == 0 || verticalEpsgCode == 0.
Parameters
guidThe guid to set to the local 3d CRS. If empty then a new guid will be generated.
titleThe title to set to the local 3d CRS. If empty then "unknown" title will be set.
originOrdinal1The offset of the global 2d CRS on its first axis.
originOrdinal2The offset of the global 2d CRS on its second axis.
originOrdinal3The offset in depth of the local CRS regarding the depth origin of the vertical CRS.
arealRotationThe areal rotation in radians regarding the projected CRS.
projectedUomThe unit of measure of the projected axis of this instance.
projectedEpsgCodeThe EPSG code of the associated projected CRS.
verticalUomThe unit of measure of the vertical axis of this instance.
verticalEpsgCodeThe EPSG code of the associated vertical CRS.
isUpOrientedIf true, indicates that this depth CRS is actually an elevation CRS.
Returns
A pointer to the new local depth 3d CRS.

◆ createLocalTime3dCrs() [1/4]

eml2::AbstractLocal3dCrs * common::DataObjectRepository::createLocalTime3dCrs ( const std::string & guid,
const std::string & title,
double originOrdinal1,
double originOrdinal2,
double originOrdinal3,
double arealRotation,
gsoap_resqml2_0_1::eml20__LengthUom projectedUom,
const std::string & projectedUnknownReason,
gsoap_resqml2_0_1::eml20__TimeUom timeUom,
gsoap_resqml2_0_1::eml20__LengthUom verticalUom,
const std::string & verticalUnknownReason,
bool isUpOriented )

Creates a local time 3d CRS which is fully unknown. Resulting local time 3d CRS is stored into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the local 3d CRS. If empty then a new guid will be generated.
titleThe title to set to the local 3d CRS. If empty then "unknown" title will be set.
originOrdinal1The offset of the global 2d CRS on its first axis.
originOrdinal2The offset of the global 2d CRS on its second axis.
originOrdinal3The offset in depth of the local CRS regarding the depth origin of the vertical CRS.
arealRotationThe areal rotation in radians regarding the projected CRS.
projectedUomThe unit of measure of the projected axis of this instance.
projectedUnknownReasonIndicates why the projected CRS cannot be provided using EPSG or GML.
timeUomThe unit of measure of the Z offset of this instance.
verticalUomThe unit of measure of the vertical axis of this instance.
verticalUnknownReasonIndicates why the vertical CRS cannot be provided using EPSG or GML.
isUpOrientedIf true, indicates that the Z offset if an elevation when positive. If false, the Z offset if a depth when positive.
Returns
A pointer to the new local time 3d CRS.

◆ createLocalTime3dCrs() [2/4]

eml2::AbstractLocal3dCrs * common::DataObjectRepository::createLocalTime3dCrs ( const std::string & guid,
const std::string & title,
double originOrdinal1,
double originOrdinal2,
double originOrdinal3,
double arealRotation,
gsoap_resqml2_0_1::eml20__LengthUom projectedUom,
const std::string & projectedUnknownReason,
gsoap_resqml2_0_1::eml20__TimeUom timeUom,
gsoap_resqml2_0_1::eml20__LengthUom verticalUom,
unsigned int verticalEpsgCode,
bool isUpOriented )

Creates a local time 3d CRS which unknown for its projected part and which is identified by an EPSG code for its vertical part. Resulting local time 3d CRS is stored into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf verticalEpsgCode == 0.
Parameters
guidThe guid to set to the local 3d CRS. If empty then a new guid will be generated.
titleThe title to set to the local 3d CRS. If empty then "unknown" title will be set.
originOrdinal1The offset of the global 2d CRS on its first axis.
originOrdinal2The offset of the global 2d CRS on its second axis.
originOrdinal3The offset in depth of the local CRS regarding the depth origin of the vertical CRS.
arealRotationThe areal rotation in radians regarding the projected CRS.
projectedUomThe unit of measure of the projected axis of this instance.
projectedUnknownReasonIndicates why the projected CRS cannot be provided using EPSG or GML.
timeUomThe unit of measure of the Z offset of this instance.
verticalUomThe unit of measure of the vertical axis of this instance.
verticalEpsgCodeThe EPSG code of the associated vertical CRS.
isUpOrientedIf true, indicates that the Z offset if an elevation when positive. If false, the Z offset if a depth when positive.
Returns
A pointer to the new local time 3d CRS.

◆ createLocalTime3dCrs() [3/4]

eml2::AbstractLocal3dCrs * common::DataObjectRepository::createLocalTime3dCrs ( const std::string & guid,
const std::string & title,
double originOrdinal1,
double originOrdinal2,
double originOrdinal3,
double arealRotation,
gsoap_resqml2_0_1::eml20__LengthUom projectedUom,
uint64_t projectedEpsgCode,
gsoap_resqml2_0_1::eml20__TimeUom timeUom,
gsoap_resqml2_0_1::eml20__LengthUom verticalUom,
const std::string & verticalUnknownReason,
bool isUpOriented )

Creates a local time 3d CRS which is identified by an EPSG code for its projected part and which is unknown for its vertical part. Resulting local time 3d CRS is stored into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf projectedEpsgCode == 0.
Parameters
guidThe guid to set to the local 3d CRS. If empty then a new guid will be generated.
titleThe title to set to the local 3d CRS. If empty then "unknown" title will be set.
originOrdinal1The offset of the global 2d CRS on its first axis.
originOrdinal2The offset of the global 2d CRS on its second axis.
originOrdinal3The offset in depth of the local CRS regarding the depth origin of the vertical CRS.
arealRotationThe areal rotation in radians regarding the projected CRS.
projectedUomThe unit of measure of the projected axis of this instance.
projectedEpsgCodeThe EPSG code of the associated projected CRS.
timeUomThe unit of measure of the Z offset of this instance.
verticalUomThe unit of measure of the vertical axis of this instance.
verticalUnknownReasonIndicates why the vertical CRS cannot be provided using EPSG or GML.
isUpOrientedIf true, indicates that the Z offset if an elevation when positive. If false, the Z offset if a depth when positive.
Returns
A pointer to the new local time 3d CRS.

◆ createLocalTime3dCrs() [4/4]

eml2::AbstractLocal3dCrs * common::DataObjectRepository::createLocalTime3dCrs ( const std::string & guid,
const std::string & title,
double originOrdinal1,
double originOrdinal2,
double originOrdinal3,
double arealRotation,
gsoap_resqml2_0_1::eml20__LengthUom projectedUom,
uint64_t projectedEpsgCode,
gsoap_resqml2_0_1::eml20__TimeUom timeUom,
gsoap_resqml2_0_1::eml20__LengthUom verticalUom,
unsigned int verticalEpsgCode,
bool isUpOriented )

Creates a local time 3d CRS which is fully identified by means of EPSG code. Resulting local time 3d CRS is stored into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf projectedEpsgCode == 0 || verticalEpsgCode == 0.
Parameters
guidThe guid to set to the local 3d CRS. If empty then a new guid will be generated.
titleThe title to set to the local 3d CRS. If empty then "unknown" title will be set.
originOrdinal1The offset of the global 2d CRS on its first axis.
originOrdinal2The offset of the global 2d CRS on its second axis.
originOrdinal3The offset in depth of the local CRS regarding the depth origin of the vertical CRS.
arealRotationThe areal rotation in radians regarding the projected CRS.
projectedUomThe unit of measure of the projected axis of this instance.
projectedEpsgCodeThe EPSG code of the associated projected CRS.
timeUomThe unit of measure of the Z offset of this instance.
verticalUomThe unit of measure of the vertical axis of this instance.
verticalEpsgCodeThe EPSG code of the associated vertical CRS.
isUpOrientedIf true, indicates that the Z offset if an elevation when positive. If false, the Z offset if a depth when positive.
Returns
A pointer to the new local time 3d CRS.

◆ createLog()

witsml2_1::Log * common::DataObjectRepository::createLog ( WITSML2_NS::Wellbore * witsmlWellbore,
const std::string & guid,
const std::string & title,
bool isActive )

Creates a wellbore log into this repository.

Exceptions
std::invalid_argumentIf witsmlWellbore == nullptr.
Parameters
[in]witsmlWellboreThe wellbore associated to this log. It cannot be null.
guidThe guid to set to the log. If empty then a new guid will be generated.
titleThe title to set to the log. If empty then "unknown" title will be set.
isActiveTrue if is active, false if not.
Returns
A pointer to the new log.

◆ createMdDatum()

resqml2::MdDatum * common::DataObjectRepository::createMdDatum ( const std::string & guid,
const std::string & title,
eml2::AbstractLocal3dCrs * locCrs,
gsoap_eml2_3::eml23__ReferencePointKind originKind,
double referenceLocationOrdinal1,
double referenceLocationOrdinal2,
double referenceLocationOrdinal3 )

Creates a measured depth (MD) datum into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the MD datum. If empty then a new guid will be generated.
titleThe title to set to the MD datum. If empty then "unknown" title will be set.
[in]locCrsThe local 3d CRS associated to this datum if non-null, else the default local 3d CRS.
originKindThe reference location of the MD datum.
referenceLocationOrdinal1The first reference location ordinal relative to the local 3d CRS.
referenceLocationOrdinal2The second reference location ordinal relative to the local 3d CRS.
referenceLocationOrdinal3The third reference location ordinal relative to the local 3d CRS.
Returns
A pointer to the new MD datum.

◆ createModel()

resqml2::Model * common::DataObjectRepository::createModel ( const std::string & guid,
const std::string & title )

Creates a model into this repository.

Parameters
guidThe guid to set to the model. If empty then a new guid will be generated.
titleThe title to set to the model. If empty then "unknown" title will be set.
Returns
A pointer to the new model.

◆ createNonSealedSurfaceFrameworkRepresentation()

resqml2::NonSealedSurfaceFrameworkRepresentation * common::DataObjectRepository::createNonSealedSurfaceFrameworkRepresentation ( resqml2::StructuralOrganizationInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a non sealed surface framework representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the non sealed surface framework representation. If empty then a new guid will be generated.
titleThe title to set to the non sealed surface framework representation. If empty then "unknown" title will be set.
Returns
A pointer to the new non sealed surface framework representation.

◆ createPartial() [1/3]

common::AbstractObject * common::DataObjectRepository::createPartial ( const DataObjectReference & dor)

Creates a partial object in this repository based on a data object reference.

Exceptions
std::invalid_argumentIf no partial object can be created from dor.
Parameters
dorA data object reference.
Returns
A pointer to the created partial object.

◆ createPartial() [2/3]

template<class valueType >
valueType * common::DataObjectRepository::createPartial ( const std::string & guid,
const std::string & title,
const std::string & version = "" )
inline

Creates a partial object (i.e. a data object reference - or DOR - based on both uuid, title and version). Such an object is useful to describe the underlying data object by means of a minimal amount of information: uuid, title and version. However, such an object has often a lot of limitations when we want to access the data object.

Template Parameters
valueTypeThe data type of the partial object to create.
Parameters
guidThe guid to set to the partial object. If empty then a new guid will be generated.
titleThe title of the partial object to create.
version(Optional) The version of the partial object to create.
Returns
A pointer to the new partial object.

◆ createPartial() [3/3]

common::AbstractObject * common::DataObjectRepository::createPartial ( const std::string & uuid,
const std::string & title,
const std::string & contentType,
const std::string & version = "" )

Create a partial object i.e. a data object reference (DOR) based on an UUID + a title + a content type + a version

◆ createPartialIjkGridRepresentation()

resqml2::AbstractIjkGridRepresentation * common::DataObjectRepository::createPartialIjkGridRepresentation ( const std::string & guid,
const std::string & title )

Creates a partial ijk grid representation into this repository

Parameters
guidThe guid to set to the sealed volume framework representation. If empty then a new guid will be generated.
titleThe title to set to the sealed volume framework representation.
Returns
A pointer to the new partial ijk grid representation.

◆ createPartialTruncatedIjkGridRepresentation()

resqml2::AbstractIjkGridRepresentation * common::DataObjectRepository::createPartialTruncatedIjkGridRepresentation ( const std::string & guid,
const std::string & title )

Creates a partial truncated ijk grid representation into this repository

Parameters
guidThe guid to set to the sealed volume framework representation.
titleThe title to set to the sealed volume framework representation.
Returns
A pointer to the new partial truncated ijk grid representation.

◆ createPlaneSetRepresentation()

resqml2::PlaneSetRepresentation * common::DataObjectRepository::createPlaneSetRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a plane set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the plane set representation. If empty then a new guid will be generated.
titleThe title to set to the plane set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new plane set representation.

◆ createPointSetRepresentation() [1/2]

resqml2::PointSetRepresentation * common::DataObjectRepository::createPointSetRepresentation ( const std::string & guid,
const std::string & title )

Creates a point set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the point set representation. If empty then a new guid will be generated.
titleThe title to set to the point set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new point set representation.

◆ createPointSetRepresentation() [2/2]

resqml2::PointSetRepresentation * common::DataObjectRepository::createPointSetRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a point set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the point set representation. If empty then a new guid will be generated.
titleThe title to set to the point set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new point set representation.

◆ createPointsProperty() [1/2]

resqml2::PointsProperty * common::DataObjectRepository::createPointsProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
eml2::AbstractLocal3dCrs * localCrs,
eml2::PropertyKind * localPropType )

Creates a points property (which is of a local property kind) into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf or localPropKind is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
[in]localPropTypeThe property kind of these property values which must be defined in the EPC document as a local property kind. It cannot be null.
Returns
A pointer to the new points property.

◆ createPointsProperty() [2/2]

resqml2_0_1::PointsProperty * common::DataObjectRepository::createPointsProperty ( resqml2::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
unsigned int dimension,
gsoap_eml2_3::eml23__IndexableElement attachmentKind,
eml2::AbstractLocal3dCrs * localCrs,
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind = gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind::length )

Creates a points property (which is of a well known Energistics property kind) into this repository

Exceptions
std::invalid_argumentIf rep is null.
Parameters
[in]repThe representation on which this property is attached to. It cannot be null.
guidThe guid to set to the property. If empty then a new guid will be generated.
titleThe title to set to the property. If empty then "unknown" title will be set.
dimensionThe dimension of each value of this property. Dimension is 1 for a scalar property.
attachmentKindThe topological element on which the property values are attached to.
energisticsPropertyKindThe property kind of these property values which must be defined in the standard Energistics property type dictionary. Defautl is length
Returns
A pointer to the new points property.

◆ createPolylineRepresentation() [1/3]

resqml2::PolylineRepresentation * common::DataObjectRepository::createPolylineRepresentation ( const std::string & guid,
const std::string & title,
bool isClosed = false )

Creates a polyline representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the polyline representation. If empty then a new guid will be generated.
titleThe title to set to the polyline representation. If empty then "unknown" title will be set.
isClosed(Optional) True if the polyline is closed, false (default) if it is not.
Returns
A pointer to the new polyline representation.

◆ createPolylineRepresentation() [2/3]

resqml2::PolylineRepresentation * common::DataObjectRepository::createPolylineRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title,
bool isClosed = false )

Creates a polyline representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null. You can alternatively use createPolylineRepresentation if no interpretation is associated to this representation.
guidThe guid to set to the polyline representation. If empty then a new guid will be generated.
titleThe title to set to the polyline representation. If empty then "unknown" title will be set.
isClosed(Optional) True if the polyline is closed, false (default) if it is not.
Returns
A pointer to the new polyline representation.

◆ createPolylineRepresentation() [3/3]

resqml2::PolylineRepresentation * common::DataObjectRepository::createPolylineRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title,
gsoap_eml2_3::resqml22__LineRole roleKind,
bool isClosed = false )

Creates a polyline representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null. You can alternatively use createPolylineRepresentation if no interpretation is associated to this representation.
guidThe guid to set to the polyline representation. If empty then a new guid will be generated.
titleThe title to set to the polyline representation. If empty then "unknown" title will be set.
roleKindThe polyline role kind.
isClosed(Optional) True if the polyline is closed, false (default) if it is not.
Returns
A pointer to the new polyline representation.

◆ createPolylineSetRepresentation() [1/3]

resqml2::PolylineSetRepresentation * common::DataObjectRepository::createPolylineSetRepresentation ( const std::string & guid,
const std::string & title )

Creates a polyline set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the polyline set representation. If empty then a new guid will be generated.
titleThe title to set to the polyline set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new polyline set representation.

◆ createPolylineSetRepresentation() [2/3]

resqml2::PolylineSetRepresentation * common::DataObjectRepository::createPolylineSetRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a polyline set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null. You can alternatively use createPolylineSetRepresentation if no interpretation is associated to this representation.
guidThe guid to set to the polyline set representation. If empty then a new guid will be generated.
titleThe title to set to the polyline set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new polyline set representation.

◆ createPolylineSetRepresentation() [3/3]

resqml2::PolylineSetRepresentation * common::DataObjectRepository::createPolylineSetRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title,
gsoap_eml2_3::resqml22__LineRole roleKind )

Creates a polyline set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
std::invalid_argumentIf in a RESQML v2.0 context, roleKind is a break line role.
Parameters
[in]interpThe represented interpretation. It cannot be null. You can alternatively use createPolylineSetRepresentation if no interpretation is associated to this representation.
guidThe guid to set to the polyline set representation. If empty then a new guid will be generated.
titleThe title to set to the polyline set representation. If empty then "unknown" title will be set.
roleKindThe polyline set role kind.
Returns
A pointer to the new polyline set representation.

◆ createPropertyKind() [1/6]

resqml2_0_1::PropertyKind * common::DataObjectRepository::createPropertyKind ( const std::string & guid,
const std::string & title,
const std::string & namingSystem,
const std::string & nonStandardUom,
bool isAbstract,
eml2::PropertyKind * parentPropType )

Creates a property kind into this repository

Parameters
guidThe guid to set to the property kind. If empty then a new guid will be generated.
titleThe title to set to the property kind. If empty then "unknown" title will be set.
namingSystemThe name of the dictionary within which the property is unique. This also defines the name of the controlling authority. Use a URN of the form "urn:x- resqml:domainOrEmail:dictionaryName".
nonStandardUomThe property kind unit of measure.
isAbstractIndicates whether the property kind should be used as a real (default) property or not.
[in]parentPropTypeThe parent property kind. It cannot be null.
Returns
A pointer to the new property kind.

◆ createPropertyKind() [2/6]

resqml2_0_1::PropertyKind * common::DataObjectRepository::createPropertyKind ( const std::string & guid,
const std::string & title,
const std::string & namingSystem,
const std::string & nonStandardUom,
bool isAbstract,
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind parentEnergisticsPropertyKind )

Creates a property kind into this repository.

Parameters
guidThe guid to set to the property kind. If empty then a new guid will be generated.
titleThe title to set to the property kind. If empty then "unknown" title will be set.
namingSystemThe name of the dictionary within which the property is unique. This also defines the name of the controlling authority. Use a URN of the form "urn:x- resqml:domainOrEmail:dictionaryName".
nonStandardUomThe property kind unit of measure.
isAbstractIndicates whether the property kind should be used as a real (default) property or not.
parentEnergisticsPropertyKindThe parent property kind taken from the standard set of RESQML property kinds.
Returns
A pointer to the new property kind.

◆ createPropertyKind() [3/6]

resqml2_0_1::PropertyKind * common::DataObjectRepository::createPropertyKind ( const std::string & guid,
const std::string & title,
const std::string & namingSystem,
gsoap_resqml2_0_1::resqml20__ResqmlUom uom,
bool isAbstract,
eml2::PropertyKind * parentPropType )

Creates a property kind into this repository.

Exceptions
std::invalid_argumentIf parentPropType == nullptr.
Parameters
guidThe guid to set to the property kind. If empty then a new guid will be generated.
titleThe title to set to the property kind. If empty then "unknown" title will be set.
namingSystemThe name of the dictionary within which the property is unique. This also defines the name of the controlling authority. Use a URN of the form "urn:x- resqml:domainOrEmail:dictionaryName".
uomThe property kind unit of measure taken from the standard RESQML units of measure catalog.
isAbstractIndicates whether the property kind should be used as a real (default) property or not.
[in]parentPropTypeThe parent property kind. It cannot be null.
Returns
A pointer to the new property kind.

◆ createPropertyKind() [4/6]

resqml2_0_1::PropertyKind * common::DataObjectRepository::createPropertyKind ( const std::string & guid,
const std::string & title,
const std::string & namingSystem,
gsoap_resqml2_0_1::resqml20__ResqmlUom uom,
bool isAbstract,
gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind parentEnergisticsPropertyKind )

Creates a property kind into this repository

Parameters
guidThe guid to set to the property kind. If empty then a new guid will be generated.
titleThe title to set to the property kind. If empty then "unknown" title will be set.
namingSystemThe name of the dictionary within which the property is unique. This also defines the name of the controlling authority. Use a URN of the form urn:x- resqml:domainOrEmail:dictionaryName.
uomThe property kind unit of measure taken from the standard RESQML units of measure catalog.
isAbstractIndicates whether the property kind should be used as a real (default) property or not.
parentEnergisticsPropertyKindThe parent property kind taken from the standard set of RESQML property kinds.
Returns
A pointer to the new property kind.

◆ createPropertyKind() [5/6]

eml2::PropertyKind * common::DataObjectRepository::createPropertyKind ( const std::string & guid,
const std::string & title,
const std::string & quantityClass,
bool isAbstract = false,
eml2::PropertyKind * parentPropertyKind = nullptr )

Creates a property kind starting with EML2.1 version into this repository. Don't use it at all if you want a full RESQML2.0.1 EPC!!! Use other same name methods instead please.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the property kind. If empty then a new guid will be generated.
titleThe title to set to the property kind. If empty then "unknown" title will be set.
quantityClassA reference to the name of a quantity class in the Energistics units of measure dictionary or in another dictionary.
isAbstract(Optional) Indicates whether the property kind should be used as a real (default) property or not. False by default.
[in]parentPropertyKind(Optional) If non-null, the parent property kind. If null, a default partial parent property kind will be created.
Returns
A pointer to the new property kind.

◆ createPropertyKind() [6/6]

eml2::PropertyKind * common::DataObjectRepository::createPropertyKind ( const std::string & guid,
const std::string & title,
gsoap_eml2_3::eml23__QuantityClassKind quantityClass,
bool isAbstract = false,
eml2::PropertyKind * parentPropertyKind = nullptr )

Creates a property kind starting with EML2.1 version into this repository. Don't use it at all if you want a full RESQML2.0.1 EPC!!! Use other same name methods instead please.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the property kind. If empty then a new guid will be generated.
titleThe title to set to the property kind. If empty then "unknown" title will be set.
quantityClassA reference to the name of a quantity class in the Energistics units of measure dictionary.
isAbstract(Optional) Indicates whether the property kind should be used as a real (default) property or not. False by default.
[in]parentPropertyKind(Optional) If non-null, the parent property kind. If null, a default partial parent property kind will be created.
Returns
A pointer to the new property kind.

◆ createPropertySet()

resqml2_0_1::PropertySet * common::DataObjectRepository::createPropertySet ( const std::string & guid,
const std::string & title,
bool hasMultipleRealizations,
bool hasSinglePropertyKind,
gsoap_resqml2_0_1::resqml20__TimeSetKind timeSetKind )

Creates a property set into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf, in a RESQML v2.0 context, timeSetKind is single time series.
Parameters
guidThe guid to set to the property set. If empty then a new guid will be generated.
titleThe title to set to the property set. If empty then "unknown" title will be set.
hasMultipleRealizationsTrue if the set contains properties with defined realization indices, false if not.
hasSinglePropertyKindTrue if the set contains only property values associated with a single property kind, false if not.
timeSetKindThe time relationship that share the properties of this set, if any.
Returns
A pointer to the new property set.

◆ createRepresentationSetRepresentation() [1/2]

resqml2::RepresentationSetRepresentation * common::DataObjectRepository::createRepresentationSetRepresentation ( const std::string & guid,
const std::string & title )

Creates a representation set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the representation set representation. If empty then a new guid will be generated.
titleThe title to set to the representation set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new representation set representation.

◆ createRepresentationSetRepresentation() [2/2]

resqml2::RepresentationSetRepresentation * common::DataObjectRepository::createRepresentationSetRepresentation ( resqml2::AbstractOrganizationInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a representation set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null. You can alternatively use createRepresentationSetRepresentation if no interpretation is associated to this representation.
guidThe guid to set to the representation set representation. If empty then a new guid will be generated.
titleThe title to set to the representation set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new representation set representation.

◆ createRockFluidModel()

resqml2::Model * common::DataObjectRepository::createRockFluidModel ( const std::string & guid,
const std::string & title )
Deprecated
Use createModel() method for RESQML post v2.0.1 Creates a rock fluid model into this repository
Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the rock fluid model. If empty then a new guid will be generated.
titleThe title to set to the rock fluid model. If empty then "unknown" title will be set.
Returns
A pointer to the new rock fluid model.

◆ createRockFluidOrganizationInterpretation()

resqml2::RockFluidOrganizationInterpretation * common::DataObjectRepository::createRockFluidOrganizationInterpretation ( resqml2::Model * orgFeat,
const std::string & guid,
const std::string & title )

Creates a rock fluid organization interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf orgFeat == nullptr or if in a RESQML v2.0 context, orgFeat is not a fluid organization.
Parameters
[in]orgFeatThe interpreted organization. It cannot be null.
guidThe guid to set to the rock fluid organization interpretation. If empty then a new guid will be generated.
titleThe title to set to the rock fluid organization interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new rock fluid organization interpretation.

◆ createRockFluidUnit()

resqml2_0_1::RockFluidUnitFeature * common::DataObjectRepository::createRockFluidUnit ( const std::string & guid,
const std::string & title,
gsoap_resqml2_0_1::resqml20__Phase phase,
resqml2_0_1::FluidBoundaryFeature * fluidBoundaryTop,
resqml2_0_1::FluidBoundaryFeature * fluidBoundaryBottom )

Creates rock fluid unit into this repository

Parameters
guidThe guid to set to the rock fluid unit. If empty then a new guid will be generated.
titleThe title to set to the rock fluid unit. If empty then "unknown" title will be set.
phaseThe phase to set to the rock fluid unit.
[in]fluidBoundaryTopThe rock fluid unit top boundary. It cannot be null.
[in]fluidBoundaryBottomThe rock fluid unit bottom boundary. It cannot be null.
Returns
A pointer to the new rock fluid unit.

◆ createRockFluidUnitInterpretation()

resqml2::RockFluidUnitInterpretation * common::DataObjectRepository::createRockFluidUnitInterpretation ( resqml2::RockVolumeFeature * rockFluidUnitFeature,
const std::string & guid,
const std::string & title )

Creates a rock fluid unit interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf feature == nullptr.
Parameters
[in]rockFluidUnitFeatureThe interpreted rock fluid unit. It cannot be null.
guidThe guid to set to the rock fluid unit interpretation. If empty then a new guid will be generated.
titleThe title to set to the rock fluid unit interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new rock fluid unit interpretation.

◆ createRockVolumeFeature()

resqml2::RockVolumeFeature * common::DataObjectRepository::createRockVolumeFeature ( const std::string & guid,
const std::string & title )
Deprecated
Use createRockVolumeFeature() method for RESQML post v2.0.1 Creates a RockVolume feature into this repository
Parameters
guidThe guid to set to the RockVolume feature. If empty then a new guid will be generated.
titleThe title to set to the RockVolume feature. If empty then "unknown" title will be set.
Returns
A pointer to the new RockVolume feature.

◆ createSealedSurfaceFrameworkRepresentation()

resqml2::SealedSurfaceFrameworkRepresentation * common::DataObjectRepository::createSealedSurfaceFrameworkRepresentation ( resqml2::StructuralOrganizationInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a sealed surface framework representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the sealed surface framework representation. If empty then a new guid will be generated.
titleThe title to set to the sealed surface framework representation. If empty then "unknown" title will be set.
Returns
A pointer to the new sealed surface framework representation.

◆ createSealedVolumeFrameworkRepresentation()

resqml2::SealedVolumeFrameworkRepresentation * common::DataObjectRepository::createSealedVolumeFrameworkRepresentation ( resqml2::StratigraphicColumnRankInterpretation * interp,
const std::string & guid,
const std::string & title,
resqml2::SealedSurfaceFrameworkRepresentation * ssf )

Creates a sealed volume framework representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr or ssf == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the sealed volume framework representation. If empty then a new guid will be generated.
titleThe title to set to the sealed volume framework representation. If empty then "unknown" title will be set.
[in]ssfThe sealed surface framework that refers this sealed volume framework. It cannot be null.
Returns
A pointer to the new sealed volume framework representation.

◆ createSeismicLattice()

resqml2::SeismicLatticeFeature * common::DataObjectRepository::createSeismicLattice ( const std::string & guid,
const std::string & title,
int inlineIncrement,
int crosslineIncrement,
unsigned int originInline,
unsigned int originCrossline,
unsigned int inlineCount,
unsigned int crosslineCount )

Creates a seismic lattice into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the seismic lattice. If empty then a new guid will be generated.
titleThe title to set to the seismic lattice. If empty then "unknown" title will be set.
inlineIncrementThe constant index increment between two consecutive inlines of the seismic lattice.
crosslineIncrementThe constant index increment between two consecutive crosslines of the seismic lattice.
originInlineThe index of the first inline of the seismic lattice.
originCrosslineThe index of the first crossline of the seismic lattice.
inlineCountNumber of inlines.
crosslineCountNumber of crosslines.
Returns
A pointer to the new seismic lattice.

◆ createSeismicLine()

resqml2_0_1::SeismicLineFeature * common::DataObjectRepository::createSeismicLine ( const std::string & guid,
const std::string & title,
int traceIndexIncrement,
unsigned int firstTraceIndex,
unsigned int traceCount )

Creates a seismic line into this repository

Parameters
guidThe guid to set to the seismic line. If empty then a new guid will be generated.
titleThe title to set to the seismic line. If empty then "unknown" title will be set.
traceIndexIncrementThe constant index increment between two consecutive traces.
firstTraceIndexThe index of the first trace of the seismic line.
traceCountNumber of traces.
Returns
A pointer to the new seismic line.

◆ createSeismicLineSet()

resqml2::SeismicLineSetFeature * common::DataObjectRepository::createSeismicLineSet ( const std::string & guid,
const std::string & title )

Creates a seismic line set into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the seismic line set. If empty then a new guid will be generated.
titleThe title to set to the seismic line set. If empty then "unknown".
Returns
A pointer to the new seismic line set.

◆ createSeismicWellboreFrameRepresentation()

resqml2::SeismicWellboreFrameRepresentation * common::DataObjectRepository::createSeismicWellboreFrameRepresentation ( resqml2::WellboreInterpretation * interp,
const std::string & guid,
const std::string & title,
resqml2::WellboreTrajectoryRepresentation * traj,
double seismicReferenceDatum,
double weatheringVelocity,
eml2::AbstractLocal3dCrs * crs )

Creates a seismic wellbore frame representation into this repository.

Exceptions
std::invalid_argumentIf interp, traj or crs is nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the seismic wellbore frame representation. If empty then a new guid will be generated.
titleThe title to set to the seismic wellbore frame representation. If empty then "unknown" title will be set.
[in]trajThe wellbore trajectory that refers this seismic wellbore frame. It cannot be null.
seismicReferenceDatumThe Z value where the seismic time is equal to zero for this survey wellbore frame.
weatheringVelocityThe weathering velocity. Sometimes also called seismic velocity replacement.
[in]crsThe local time 3d CRS that refers this seismic wellbore frame.
Returns
A pointer to the new seismic wellbore frame representation.

◆ createShotPointLine()

resqml2::ShotPointLineFeature * common::DataObjectRepository::createShotPointLine ( const std::string & guid,
const std::string & title )

Creates a shot point line into this repository

Parameters
guidThe guid to set to the shot point line. If empty then a new guid will be generated.
titleThe title to set to the shot point line. If empty then "unknown" title will be set.
Returns
A pointer to the new CMP line.

◆ createStratigraphicColumn()

resqml2::StratigraphicColumn * common::DataObjectRepository::createStratigraphicColumn ( const std::string & guid,
const std::string & title )

Creates stratigraphic column into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the stratigraphic column. If empty then a new guid will be generated.
titleThe title to set to the stratigraphic column. If empty then "unknown" title will be set.
Returns
A pointer to the new stratigraphic column.

◆ createStratigraphicColumnRankInterpretationInAge()

resqml2::StratigraphicColumnRankInterpretation * common::DataObjectRepository::createStratigraphicColumnRankInterpretationInAge ( resqml2::Model * orgFeat,
const std::string & guid,
const std::string & title,
uint64_t rank )

Creates a stratigraphic column rank interpretation ordered by age into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf orgFeat == nullptr or if in a RESQML v2.0 context, orgFeat is not a stratigraphic organization.
Parameters
[in]orgFeatThe interpreted organization. It cannot be null.
guidThe guid to set to the stratigraphic column rank interpretation. If empty then a new guid will be generated.
titleThe title to set to the stratigraphic column rank interpretation. If empty then "unknown" title will be set.
rankThe rank of the stratigraphic column rank interpretation.
Returns
A pointer to the new stratigraphic column rank interpretation.

◆ createStratigraphicColumnRankInterpretationInApparentDepth()

resqml2::StratigraphicColumnRankInterpretation * common::DataObjectRepository::createStratigraphicColumnRankInterpretationInApparentDepth ( resqml2::Model * orgFeat,
const std::string & guid,
const std::string & title,
uint64_t rank )

Creates a stratigraphic column rank interpretation ordered by apparent depth into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf orgFeat == nullptr or if in a RESQML v2.0 context, orgFeat is not a stratigraphic organization.
Parameters
[in]orgFeatThe interpreted organization. It cannot be null.
guidThe guid to set to the stratigraphic column rank interpretation. If empty then a new guid will be generated.
titleThe title to set to the stratigraphic column rank interpretation. If empty then "unknown" title will be set.
rankThe rank of the stratigraphic column rank interpretation.
Returns
A pointer to the new stratigraphic column rank interpretation.

◆ createStratigraphicModel()

resqml2::Model * common::DataObjectRepository::createStratigraphicModel ( const std::string & guid,
const std::string & title )
Deprecated
Use createModel() method for RESQML post v2.0.1 Creates a stratigraphic model into this repository
Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the stratigraphic model. If empty then a new guid will be generated.
titleThe title to set to the stratigraphic model. If empty then "unknown" title will be set.
Returns
A pointer to the new stratigraphic model.

◆ createStratigraphicOccurrenceInterpretationInAge()

resqml2::StratigraphicOccurrenceInterpretation * common::DataObjectRepository::createStratigraphicOccurrenceInterpretationInAge ( resqml2::Model * orgFeat,
const std::string & guid,
const std::string & title )

Creates a stratigraphic occurrence interpretation ordered by age into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf orgFeat == nullptr or if in a RESQML v2.0 context, orgFeat is not a stratigraphic organization.
Parameters
[in]orgFeatThe interpreted organization. It cannot be null.
guidThe guid to set to the stratigraphic occurrence interpretation. If empty then a new guid will be generated.
titleThe title to set to the stratigraphic occurrence interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new stratigraphic occurrence interpretation.

◆ createStratigraphicOccurrenceInterpretationInApparentDepth()

resqml2::StratigraphicOccurrenceInterpretation * common::DataObjectRepository::createStratigraphicOccurrenceInterpretationInApparentDepth ( resqml2::Model * orgFeat,
const std::string & guid,
const std::string & title )

Creates a stratigraphic occurrence interpretation ordered by apparent depth into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf orgFeat == nullptr or if in a RESQML v2.0 context, orgFeat is not a stratigraphic organization.
Parameters
[in]orgFeatThe interpreted organization. It cannot be null.
guidThe guid to set to the stratigraphic occurrence interpretation. If empty then a new guid will be generated.
titleThe title to set to the stratigraphic occurrence interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new stratigraphic occurrence interpretation.

◆ createStratigraphicUnitFeature()

resqml2::RockVolumeFeature * common::DataObjectRepository::createStratigraphicUnitFeature ( const std::string & guid,
const std::string & title )
Deprecated
Use createRockVolumeFeature() method for RESQML post v2.0.1 Creates a stratigraphic unit into this repository
Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the stratigraphic unit. If empty then a new guid will be generated.
titleThe title to set to the stratigraphic unit. If empty then "unknown" title will be set.
Returns
A pointer to the new stratigraphic unit.

◆ createStratigraphicUnitInterpretation()

resqml2::StratigraphicUnitInterpretation * common::DataObjectRepository::createStratigraphicUnitInterpretation ( resqml2::RockVolumeFeature * stratiUnitFeature,
const std::string & guid,
const std::string & title )

Creates a stratigraphic unit interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf stratiUnitFeature == nullptr.
Parameters
[in]stratiUnitFeatureThe interpreted stratigraphic unit. It cannot be null.
guidThe guid to set to the stratigraphic unit interpretation. If empty then a new guid will be generated.
titleThe title to set to the stratigraphic unit interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new stratigraphic unit interpretation.

◆ createStreamlinesFeature()

resqml2::StreamlinesFeature * common::DataObjectRepository::createStreamlinesFeature ( const std::string & guid,
const std::string & title,
uint64_t timeIndex,
eml2::TimeSeries * timeSeries )

Creates a streamlines feature into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the streamlines feature. If empty then a new guid will be generated.
titleThe title to set to the streamlines feature. If empty then "unknown" title will be set.
timeIndexThe time index in the time series of the this streamlines feature.
timeSeriesThe time series where the time index of this streamlines feature is given.
Returns
A pointer to the new wellbore feature.

◆ createStreamlinesRepresentation()

resqml2::StreamlinesRepresentation * common::DataObjectRepository::createStreamlinesRepresentation ( resqml2::GenericFeatureInterpretation * interp,
const std::string & guid,
const std::string & title,
uint64_t lineCount )

Creates a streamlines representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
[in]interpThe represented interpretation. It cannot be null.
[in]guidThe guid to set to the streamlines representation. If empty then a new guid will be generated.
[in]titleThe title to set to the streamlines representation. If empty then "unknown" title will be set.
[in]lineCountThe count of line in this representation
Returns
A pointer to the new wellbore feature.

◆ createStringTableLookup()

resqml2::StringTableLookup * common::DataObjectRepository::createStringTableLookup ( const std::string & guid,
const std::string & title )

Creates a string table lookup into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the string table lookup. If empty then a new guid will be generated.
titleThe title to set to the string table lookup. If empty then "unknown" title will be set.
Returns
A pointer to the new string table lookup.

◆ createStructuralModel()

resqml2::Model * common::DataObjectRepository::createStructuralModel ( const std::string & guid,
const std::string & title )
Deprecated
Use createModel() method for RESQML post v2.0.1 Creates a structural model into this repository
Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the structural model. If empty then a new guid will be generated.
titleThe title to set to the structural model. If empty then "unknown" title will be set.
Returns
A pointer to the new structural model.

◆ createStructuralOrganizationInterpretationInAge()

resqml2::StructuralOrganizationInterpretation * common::DataObjectRepository::createStructuralOrganizationInterpretationInAge ( resqml2::Model * orgFeat,
const std::string & guid,
const std::string & title )

Creates a structural organization interpretation ordered by age into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf orgFeat == nullptr or if in a RESQML v2.0 context, orgFeat is not a structural organization.
Parameters
[in]orgFeatThe interpreted organization. It cannot be null.
guidThe guid to set to the structural organization interpretation. If empty then a new guid will be generated.
titleThe title to set to the structural organization interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new structural organization interpretation.

◆ createStructuralOrganizationInterpretationInApparentDepth()

resqml2::StructuralOrganizationInterpretation * common::DataObjectRepository::createStructuralOrganizationInterpretationInApparentDepth ( resqml2::Model * orgFeat,
const std::string & guid,
const std::string & title )

Creates a structural organization interpretation ordered by apparent depth into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf orgFeat == nullptr or if in a RESQML v2.0 context, orgFeat is not a structural organization.
Parameters
[in]orgFeatThe interpreted organization. It cannot be null.
guidThe guid to set to the structural organization interpretation. If empty then a new guid will be generated.
titleThe title to set to the structural organization interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new structural organization interpretation.

◆ createStructuralOrganizationInterpretationInMeasuredDepth()

resqml2::StructuralOrganizationInterpretation * common::DataObjectRepository::createStructuralOrganizationInterpretationInMeasuredDepth ( resqml2::Model * orgFeat,
const std::string & guid,
const std::string & title )

Creates a structural organization interpretation ordered by measured depth into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf orgFeat == nullptr or if in a RESQML v2.0 context, orgFeat is not a structural organization.
Parameters
[in]orgFeatThe interpreted organization. It cannot be null.
guidThe guid to set to the structural organization interpretation. If empty then a new guid will be generated.
titleThe title to set to the structural organization interpretation. If empty then "unknown" title will be set.
Returns
A pointer to the new structural organization interpretation.

◆ createSubRepresentation() [1/2]

resqml2::SubRepresentation * common::DataObjectRepository::createSubRepresentation ( const std::string & guid,
const std::string & title )

Creates a sub-representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the sub-representation. If empty then a new guid will be generated.
titleThe title to set to the sub-representation. If empty then "unknown" title will be set.
Returns
A pointer to the new sub-representation.

◆ createSubRepresentation() [2/2]

resqml2::SubRepresentation * common::DataObjectRepository::createSubRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a sub-representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null. You can alternatively use createSubRepresentation if no interpretation is associated to this representation.
guidThe guid to set to the sub-representation. If empty then a new guid will be generated.
titleThe title to set to the sub-representation. If empty then "unknown" title will be set.
Returns
A pointer to the new sub-representation.

◆ createTimeSeries()

eml2::TimeSeries * common::DataObjectRepository::createTimeSeries ( const std::string & guid,
const std::string & title )

Creates a time series into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the time series. If empty then a new guid will be generated.
titleThe title to set to the time series. If empty then "unknown" title will be set.
Returns
A pointer to the new time series.

◆ createTimeSeriesData()

prodml2_2::TimeSeriesData * common::DataObjectRepository::createTimeSeriesData ( const std::string & guid,
const std::string & title )

Creates a time series data into this repository

Parameters
guidThe guid to set to the time series data. If empty then a new guid will be generated.
titleThe title to set to the time series data. If empty then "unknown" title will be set.
Returns
A pointer to the new time series data.

◆ createTrajectory()

WITSML2_NS::Trajectory * common::DataObjectRepository::createTrajectory ( WITSML2_NS::Wellbore * witsmlWellbore,
const std::string & guid,
const std::string & title,
bool isActive )

Creates a wellbore trajectory into this repository.

Exceptions
std::invalid_argumentIf witsmlWellbore == nullptr.
Parameters
[in]witsmlWellboreThe wellbore associated to this wellbore trajectory. It cannot be null.
guidThe guid to set to the trajectory. If empty then a new guid will be generated.
titleThe title to set to the trajectory. If empty then "unknown" title will be set.
isActiveTrue if is active, false if not.
Returns
A pointer to the new trajectory.

◆ createTriangulatedSetRepresentation() [1/2]

resqml2::TriangulatedSetRepresentation * common::DataObjectRepository::createTriangulatedSetRepresentation ( const std::string & guid,
const std::string & title )

Creates a triangulated set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the triangulated set representation. If empty then a new guid will be generated.
titleThe title to set to the triangulated set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new triangulated set representation.

◆ createTriangulatedSetRepresentation() [2/2]

resqml2::TriangulatedSetRepresentation * common::DataObjectRepository::createTriangulatedSetRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates a triangulated set representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null. You can alternatively use createTriangulatedSetRepresentation if no interpretation is associated to this representation.
guidThe guid to set to the triangulated set representation. If empty then a new guid will be generated.
titleThe title to set to the triangulated set representation. If empty then "unknown" title will be set.
Returns
A pointer to the new triangulated set representation.

◆ createUnstructuredGridRepresentation() [1/2]

resqml2::UnstructuredGridRepresentation * common::DataObjectRepository::createUnstructuredGridRepresentation ( const std::string & guid,
const std::string & title,
const uint64_t & cellCount )

Creates an unstructured grid representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the unstructured grid representation. If empty then a new guid will be generated.
titleThe title to set to the unstructured grid representation. If empty then "unknown" title will be set.
cellCountNumber of cells in the grid.
Returns
A pointer to the new unstructured grid representation.

◆ createUnstructuredGridRepresentation() [2/2]

resqml2::UnstructuredGridRepresentation * common::DataObjectRepository::createUnstructuredGridRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title,
const uint64_t & cellCount )

Creates an unstructured grid representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the unstructured grid representation. If empty then a new guid will be generated.
titleThe title to set to the unstructured grid representation. If empty then "unknown" title will be set.
cellCountNumber of cells in the grid.
Returns
A pointer to the new unstructured grid representation.

◆ createWell() [1/2]

WITSML2_NS::Well * common::DataObjectRepository::createWell ( const std::string & guid,
const std::string & title,
bool isActive )

Creates a well into this repository

Parameters
guidThe guid to set to the well. If empty then a new guid will be generated.
titleThe title to set to the well. If empty then "unknown" title will be set.
isActiveTrue if is active, false if not.
Returns
A pointer to the new well.

◆ createWell() [2/2]

WITSML2_NS::Well * common::DataObjectRepository::createWell ( const std::string & guid,
const std::string & title,
bool isActive,
gsoap_eml2_3::eml23__WellStatus statusWell,
gsoap_eml2_3::witsml21__WellDirection directionWell )

Creates a well into this repository

Parameters
guidThe guid to set to the well. If empty then a new guid will be generated.
titleThe title to set to the well. If empty then "unknown" title will be set.
isActiveTrue if is active, false if not.
statusWellPOSC well status.
directionWellPOSC well direction. The direction of the flow of the fluids in a well facility (generally, injected or produced, or some combination).
Returns
A pointer to the new well.

◆ createWellbore() [1/2]

WITSML2_NS::Wellbore * common::DataObjectRepository::createWellbore ( WITSML2_NS::Well * witsmlWell,
const std::string & guid,
const std::string & title,
bool isActive )

Creates a wellbore into this repository.

Exceptions
std::invalid_argumentIf witsmlWell == nullptr.
Parameters
[in]witsmlWellThe well associated to this wellbore. It cannot be null.
guidThe guid to set to the wellbore. If empty then a new guid will be generated.
titleThe title to set to the wellbore. If empty then "unknown" title will be set.
isActiveTrue if is active, false if not.
Returns
A pointer to the new wellbore.

◆ createWellbore() [2/2]

WITSML2_NS::Wellbore * common::DataObjectRepository::createWellbore ( WITSML2_NS::Well * witsmlWell,
const std::string & guid,
const std::string & title,
gsoap_eml2_3::eml23__WellStatus statusWellbore,
bool isActive,
bool achievedTD )

Creates a wellbore into this repository.

Exceptions
std::invalid_argumentIf witsmlWell == nullptr.
Parameters
[in]witsmlWellThe well associated to this wellbore. It cannot be null.
guidThe guid to set to the wellbore. If empty then a new guid will be generated.
titleThe title to set to the wellbore. If empty then "unknown" title will be set.
statusWellborePOSC wellbore status.
isActiveTrue if is active, false if not.
achievedTDTrue indicates that the wellbore has achieved total depth. That is, drilling has completed. False indicates otherwise.
Returns
A pointer to the new wellbore.

◆ createWellboreCompletion()

witsml2_1::WellboreCompletion * common::DataObjectRepository::createWellboreCompletion ( WITSML2_NS::Wellbore * witsmlWellbore,
const std::string & guid,
const std::string & title )

Creates a wellbore completion into this repository

Parameters
[in]witsmlWellboreThe wellbore associated to this wellbore completion. It cannot be null.
guidThe guid to set to the wellbore completion. If empty then a new guid will be generated.
titleThe title to set to the wellbore completion. If empty then "unknown" title will be set.
Returns
A pointer to the new wellbore completion.

◆ createWellboreFeature()

resqml2::WellboreFeature * common::DataObjectRepository::createWellboreFeature ( const std::string & guid,
const std::string & title )

Creates a wellbore feature into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
Parameters
guidThe guid to set to the wellbore feature. If empty then a new guid will be generated.
titleThe title to set to the wellbore feature. If empty then "unknown" title will be set.
Returns
A pointer to the new wellbore feature.

◆ createWellboreFrameRepresentation()

resqml2::WellboreFrameRepresentation * common::DataObjectRepository::createWellboreFrameRepresentation ( resqml2::WellboreInterpretation * interp,
const std::string & guid,
const std::string & title,
resqml2::WellboreTrajectoryRepresentation * traj )

Creates a wellbore frame representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp or traj is nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the wellbore frame representation. If empty then a new guid will be generated.
titleThe title to set to the wellbore frame representation. If empty then "unknown" title will be set.
[in]trajThe wellbore trajectory that refers this wellbore frame. It cannot be null.
Returns
A pointer to the new wellbore frame representation.

◆ createWellboreGeometry()

witsml2_1::WellboreGeometry * common::DataObjectRepository::createWellboreGeometry ( WITSML2_NS::Wellbore * witsmlWellbore,
const std::string & guid,
const std::string & title,
bool isActive )

Creates a wellbore geometry into this repository. It is used to capture information about the configuration of the permanently installed components in a wellbore.

Exceptions
std::invalid_argumentIf witsmlWellbore == nullptr.
Parameters
[in]witsmlWellboreThe wellbore associated to this wellbore geometry. It cannot be null.
guidThe guid to set to the geometry. If empty then a new guid will be generated.
titleThe title to set to the geometry. If empty then "unknown" title will be set.
isActiveTrue if is active, false if not.
Returns
A pointer to the new wellbore geometry.

◆ createWellboreInterpretation()

resqml2::WellboreInterpretation * common::DataObjectRepository::createWellboreInterpretation ( resqml2::WellboreFeature * wellbore,
const std::string & guid,
const std::string & title,
bool isDrilled )

Creates a wellbore interpretation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf wellbore is nullptr.
Parameters
[in]wellboreThe interpreted wellbore feature. It cannot be null.
guidThe guid to set to the wellbore interpretation. If empty then a new guid will be generated.
titleThe title to set to the wellbore interpretation. If empty then "unknown" title will be set.
isDrilledIndicate if the wellbore is interpreted wether as drilled (true) or not (false).
Returns
A pointer to the new wellbore interpretation.

◆ createWellboreMarker() [1/4]

witsml2_1::WellboreMarker * common::DataObjectRepository::createWellboreMarker ( const std::string & guid,
const std::string & title,
double md,
gsoap_eml2_3::eml23__LengthUom mdUom )

Creates a WITSML2.0 Wellbore Marker into this repository.

Parameters
guidThe guid to set to the marker. If empty then a new guid will be generated.
titleThe title to set to the marker. If empty then "unknown" title will be set.
mdThe Measured Depth to set to this marker.
mdUomThe underlying unit of measure of the MD value.
Returns
A pointer to the new Wellbore Marker.

◆ createWellboreMarker() [2/4]

resqml2::WellboreMarker * common::DataObjectRepository::createWellboreMarker ( resqml2::WellboreMarkerFrameRepresentation * wellboreMarkerFrame,
const std::string & guid,
const std::string & title )

Creates a wellbore marker within a given wellbore marker frame representation.

Exceptions
std::invalid_argumentIf wellboreMarkerFrame == nullptr.
Parameters
[in]wellboreMarkerFrameThe wellbore marker frame representation where to push back the wellbore marker.
guidThe guid to set to the wellbore marker. If empty then a new guid will be generated.
titleThe title to set to the wellbore marker. If empty then "unknown" title will be set.
Returns
A pointer to the new wellbore marker.

◆ createWellboreMarker() [3/4]

resqml2::WellboreMarker * common::DataObjectRepository::createWellboreMarker ( resqml2::WellboreMarkerFrameRepresentation * wellboreMarkerFrame,
const std::string & guid,
const std::string & title,
gsoap_resqml2_0_1::resqml20__GeologicBoundaryKind geologicBoundaryKind )

Creates a wellbore marker within a given wellbore marker frame representation.

Exceptions
std::invalid_argumentIf wellboreMarkerFrame == nullptr.
Parameters
[in]wellboreMarkerFrameThe wellbore marker frame representation where to push back the wellbore marker.
guidThe guid to set to the wellbore marker. If empty then a new guid will be generated.
titleThe title to set to the wellbore marker. If empty then "unknown" title will be set.
geologicBoundaryKindThe geologic boundary kind.
Returns
A pointer to the new wellbore marker.

◆ createWellboreMarker() [4/4]

witsml2_1::WellboreMarker * common::DataObjectRepository::createWellboreMarker ( WITSML2_NS::Wellbore * witsmlWellbore,
const std::string & guid,
const std::string & title,
double md,
gsoap_eml2_3::eml23__LengthUom mdUom )

Creates a WITSML2.0 Wellbore Marker into this repository.

Exceptions
std::invalid_argumentIf witsmlWellbore == nullptr.
Parameters
[in]witsmlWellboreThe wellbore associated to this marker. It cannot be null.
guidThe guid to set to the marker. If empty then a new guid will be generated.
titleThe title to set to the marker. If empty then "unknown" title will be set.
mdThe Measured Depth to set to this marker.
mdUomThe underlying unit of measure of the MD value.
Returns
A pointer to the new Wellbore Marker.

◆ createWellboreMarkerFrameRepresentation()

resqml2::WellboreMarkerFrameRepresentation * common::DataObjectRepository::createWellboreMarkerFrameRepresentation ( resqml2::WellboreInterpretation * interp,
const std::string & guid,
const std::string & title,
resqml2::WellboreTrajectoryRepresentation * traj )

Creates a wellbore marker frame representation into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp of traj is nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the wellbore marker frame representation. If empty then a new guid will be generated.
titleThe title to set to the wellbore marker frame representation. If empty then "unknown" title will be set.
[in]trajThe wellbore trajectory that refers this wellbore marker frame. It cannot be null.
Returns
A pointer to the new wellbore marker frame representation.

◆ createWellboreTrajectoryRepresentation() [1/2]

resqml2::WellboreTrajectoryRepresentation * common::DataObjectRepository::createWellboreTrajectoryRepresentation ( resqml2::WellboreInterpretation * interp,
const std::string & guid,
const std::string & title,
resqml2::MdDatum * mdInfo )

Creates a wellbore trajectory representation into this repository.

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp or mdInfo is nullptr.
Parameters
[in]interpThe represented wellbore interpretation. It cannot be null.
guidThe guid to set to the wellbore trajectory representation. If empty then a new guid will be generated.
titleThe title to set to the wellbore trajectory representation. If empty then "unknown" title will be set.
[in]mdInfoThe MD information of the trajectory, mainly the well reference point. The unit of measure used for the mdInfo coordinates must also be used for the start and end MD of the trajectory. It cannot be null.
Returns
A pointer to the new wellbore trajectory representation.

◆ createWellboreTrajectoryRepresentation() [2/2]

resqml2_0_1::WellboreTrajectoryRepresentation * common::DataObjectRepository::createWellboreTrajectoryRepresentation ( resqml2::WellboreInterpretation * interp,
const std::string & guid,
const std::string & title,
resqml2_0_1::DeviationSurveyRepresentation * deviationSurvey )

Creates a wellbore trajectory representation (with an existing deviation survey as its origin) into this repository

Exceptions
std::invalid_argumentIf the default RESQML version is unrecognized.
std::invalid_argumentIf interp or deviationSurvey is nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the wellbore trajectory representation. If empty then a new guid will be generated.
titleThe title to set to the wellbore trajectory representation. If empty then "unknown" title will be set.
[in]deviationSurveyThe deviation survey on which this wellbore trajectory relies on. MD data will be retrieve from it. It cannot be null.
Returns
A pointer to the new wellbore trajectory representation.

◆ createWellCompletion()

witsml2_1::WellCompletion * common::DataObjectRepository::createWellCompletion ( WITSML2_NS::Well * witsmlWell,
const std::string & guid,
const std::string & title )

Creates a well completion into this repository.

Exceptions
std::invalid_argumentIf witsmlWell == nullptr.
Parameters
[in]witsmlWellThe well associated to this well completion. It cannot be null.
guidThe guid to set to the well completion. If empty then a new guid will be generated.
titleThe title to set to the well completion. If empty then "unknown" title will be set.
Returns
A pointer to the new well completion.

◆ getDataObjectByUuid() [1/2]

common::AbstractObject * common::DataObjectRepository::getDataObjectByUuid ( const std::string & uuid) const

Gets a data object from the repository by means of its uuid. If several data object correspond to this uuid in the repository, the first one in memory will be arbitrarily returned.

Parameters
uuidThe uuid of the requested data object.
Returns
A pointer to the data object which corresponds to the uuid, nullptr if there exists no such data object.

◆ getDataObjectByUuid() [2/2]

template<class valueType >
valueType * common::DataObjectRepository::getDataObjectByUuid ( const std::string & uuid) const
inline

Gets a data object from the repository by means of its uuid and try to cast it to valueType. valueType must be a child of AbstractObject

Exceptions
std::invalid_argumentIf the uuid does not resolve to the expected valueType data type.
Template Parameters
valueTypeThe data type to which the requested data object will be cast.
Parameters
uuidThe uuid of the requested data object.
Returns
A pointer to the data object which corresponds to the uuid and cast to valueType, nullptr if there exists no such data object.

◆ getDataObjectByUuidAndVersion() [1/3]

common::AbstractObject * common::DataObjectRepository::getDataObjectByUuidAndVersion ( const std::array< uint8_t, 16 > & uuid,
const std::string & version ) const

Get a data object from the repository by means of its uuid and from its version.

Parameters
uuidThe uuid of the requested data object.
versionThe version of the requested data object.
Returns
nullptr if no dataobject corresponds to the uuid + version

◆ getDataObjectByUuidAndVersion() [2/3]

common::AbstractObject * common::DataObjectRepository::getDataObjectByUuidAndVersion ( const std::string & uuid,
const std::string & version ) const

Gets a data object from the repository by means of both its uuid and version.

Parameters
uuidThe uuid of the requested data object.
versionThe version of the requested data object.
Returns
A pointer to the data object which corresponds to both uuid and version, nullptr if there exists no such data object.

◆ getDataObjectByUuidAndVersion() [3/3]

template<class valueType >
valueType * common::DataObjectRepository::getDataObjectByUuidAndVersion ( const std::string & uuid,
const std::string & version ) const
inline

Gets a data object from the repository by means of both its uuid and version and try to cast it to valueType. valueType must be a child of AbstractObject

Exceptions
std::invalid_argumentIf the combination of uuid and version does not resolve to the expected valueType data type.
Template Parameters
valueTypeThe data type to which the requested data object will be cast.
Parameters
uuidThe uuid of the requested data object.
versionThe version of the requested data object.
Returns
A pointer to the data object which corresponds to both uuid and version and cast to valueType, nullptr if there exists no such data object.

◆ getDataObjects() [1/2]

const std::unordered_map< std::string, std::vector< common::AbstractObject * > > & common::DataObjectRepository::getDataObjects ( ) const
inline

Gets all the data objects which are part of this repository

Returns
A map where the key is the UUID of a data object and the value is a vector of pointers to all different versions of this data object.

◆ getDataObjects() [2/2]

template<class valueType >
std::vector< valueType * > common::DataObjectRepository::getDataObjects ( ) const
inline

Gets all the data objects of a particular valueType type

Template Parameters
valueTypeThe type of data objects we look for.
Returns
A vector of pointers to all valueType typed data object in this repository.

◆ getDataObjectsByContentType()

std::vector< common::AbstractObject * > common::DataObjectRepository::getDataObjectsByContentType ( const std::string & contentType) const

Gets all the data objects which honor a given content type

Parameters
contentTypeA content type.
Returns
A vector of pointers to all data objects in this repository which honor the content type.

◆ getDataObjectsGroupedByDataType() [1/2]

std::unordered_map< std::string, std::vector< common::AbstractObject * > > common::DataObjectRepository::getDataObjectsGroupedByDataType ( ) const

Gets all the data object and groups them by datatype

Returns
A map where the key is a content type and the value is a vector of pointers to all data objects of this datatype.

◆ getDataObjectsGroupedByDataType() [2/2]

std::unordered_map< std::string, std::vector< common::AbstractObject * > > common::DataObjectRepository::getDataObjectsGroupedByDataType ( const std::string & filter) const

Group Data objects of the repository by datatype based on a filtered list

Parameters
filterA string that the returned Dataobject must contain in their datatype.
Returns
A map where the key is a datatype and where the value is the collection of Data objects of this datatype

◆ getDefaultCrs()

eml2::AbstractLocal3dCrs * common::DataObjectRepository::getDefaultCrs ( ) const
inline

Gets the default CRS for writing. It is used in all writing methods if no explicit CRS is provided.

Returns
A pointer to the default CRS if it is defined, else null.

◆ getDefaultEmlVersion()

EnergisticsStandard common::DataObjectRepository::getDefaultEmlVersion ( ) const
inline

Gets the default EML version used when creating a EML data object.

Returns
The default EML version.

◆ getDefaultHdfProxy()

eml2::AbstractHdfProxy * common::DataObjectRepository::getDefaultHdfProxy ( ) const
inline

Gets the default HDF5 file proxy for writing. It is used in all writing methods if no explicit HDF5 file proxy is provided.

Returns
nullptr if no default HDF5 file proxy is defined, else a pointer to the default HDF5 file proxy.

◆ getDefaultProdmlVersion()

EnergisticsStandard common::DataObjectRepository::getDefaultProdmlVersion ( ) const
inline

Gets the default PRODML version used when creating a PRODML data object.

Returns
The default PRODML version.

◆ getDefaultResqmlVersion()

EnergisticsStandard common::DataObjectRepository::getDefaultResqmlVersion ( ) const
inline

Gets the default RESQML version used when creating a RESQML data object.

Returns
The default RESQML version.

◆ getDefaultWitsmlVersion()

EnergisticsStandard common::DataObjectRepository::getDefaultWitsmlVersion ( ) const
inline

Gets the default WITSML version used when creating a WITSML data object.

Returns
The default WITSML version.

◆ getGsoapContext()

soap * common::DataObjectRepository::getGsoapContext ( ) const
inline

Gets the gSOAP context.

Returns
The gSOAP context.

◆ getJournal()

const std::vector< std::tuple< std::chrono::time_point< std::chrono::system_clock >, common::DataObjectReference, CUD > > & common::DataObjectRepository::getJournal ( ) const
inline

Get the journal of the DataObject repository.

◆ getPropertyKindMapper()

resqml2_0_1::PropertyKindMapper * common::DataObjectRepository::getPropertyKindMapper ( ) const
inline

Gets the property kind mapper if it was given at repository construction time

Returns
The property kind mapper, or nullptr if no property kind mapper was given at repository construction time.

◆ getSourceObjects() [1/3]

const std::vector< common::AbstractObject * > & common::DataObjectRepository::getSourceObjects ( common::AbstractObject const * dataObj) const
inline

Gets the source objects of a particular data object

Exceptions
std::out_of_rangeIf the source objects have not been defined yet.
Parameters
dataObjThe data object.
Returns
A vector of pointers to all source objects.

◆ getSourceObjects() [2/3]

template<class valueType >
std::vector< valueType * > common::DataObjectRepository::getSourceObjects ( common::AbstractObject const * dataObj) const
inline

Gets the valueType typed source objects

Exceptions
std::out_of_rangeIf the source objects have not been defined yet.
Template Parameters
valueTypeThe type of source objects we look for.
Parameters
dataObjThe data object.
Returns
A vector of pointer to all source objects.

◆ getSourceObjects() [3/3]

std::vector< common::AbstractObject * > common::DataObjectRepository::getSourceObjects ( common::AbstractObject const * dataObj,
size_t depth,
const std::vector< std::string > & filteredDatatypes = std::vector< std::string >() ) const

Get the source objects of a particular data object and potentially sources of sources, etc...

Parameters
dataObjThe dataobject which we want to know the sources about.
depthHow much sources of sources do we want? A depth of 0 means that we only want the dataobject itself. A depth of 1 means that we only want the direct sources. A depth of 2 means that we want the direct sources + the sources of the direct sources, etc...
filteredDatatypesThe returned sources will be filtered based on this list of authorized datatypes. A qualified type "namespace.*" means a filter on the namespace.

◆ getTargetObjects() [1/3]

const std::vector< common::AbstractObject * > & common::DataObjectRepository::getTargetObjects ( common::AbstractObject const * dataObj) const
inline

Get the direct target objects (by reference) of a particular data object.

◆ getTargetObjects() [2/3]

template<class valueType >
std::vector< valueType * > common::DataObjectRepository::getTargetObjects ( common::AbstractObject const * dataObj) const
inline

Gets the valueType typed target objects of a particular data object.

Exceptions
std::out_of_rangeIf the target objects have not been defined yet.
Template Parameters
valueTypeThe type of target objects we look for.
Parameters
dataObjThe data object.
Returns
A vector of pointers to all target objects.

◆ getTargetObjects() [3/3]

std::vector< common::AbstractObject * > common::DataObjectRepository::getTargetObjects ( common::AbstractObject const * dataObj,
size_t depth,
const std::vector< std::string > & filteredDatatypes = std::vector< std::string >() ) const

Get the target objects of a particular data object and potentially targets of targets, etc...

Parameters
dataObjThe dataobject which we want to know the targets about.
depthHow much targets of targets do we want? A depth of 0 means that we only want the dataobject itself. A depth of 1 means that we only want the direct targets. A depth of 2 means that we want the direct targets + the targets of the direct targets, etc...
filteredDatatypesThe returned targets will be filtered based on this list of authorized datatypes. A qualified type "namespace.*" means a filter on the namespace.

◆ getUuids()

std::vector< std::string > common::DataObjectRepository::getUuids ( ) const

Gets all the data object uuids which are part of this repository

Returns
A vector of uuids.

◆ getWarnings()

const std::vector< std::string > & common::DataObjectRepository::getWarnings ( ) const

Gets the repository warnings

Returns
A vector of all repository warnings.

◆ newTransactionRepo()

DataObjectRepository * common::DataObjectRepository::newTransactionRepo ( )

Creates a transaction. The transaction is actually a child dataobject repository which will be merged into this master dataobject repository.

◆ on_CreateDataObject()

virtual void common::DataObjectRepository::on_CreateDataObject ( const std::vector< std::pair< std::chrono::time_point< std::chrono::system_clock >, common::AbstractObject * > > & )
inlinevirtual

Allow a specialization of a DataObjectRepository to provide a special behaviour when a dataobject is created

◆ on_UpdateDataObject()

virtual void common::DataObjectRepository::on_UpdateDataObject ( const std::vector< std::pair< std::chrono::time_point< std::chrono::system_clock >, common::AbstractObject * > > & )
inlinevirtual

Allow a specialization of a DataObjectRepository to provide a special behaviour when a dataobject is update

◆ registerDataFeeder()

void common::DataObjectRepository::registerDataFeeder ( common::DataFeeder * dataFeeder)

Register a data feeder to allow partial objects resolution. It is your responsability to manage the memory of your data feeder. DataObject repository won't never free memory of a data feeder.

◆ resolvePartial()

common::AbstractObject * common::DataObjectRepository::resolvePartial ( common::AbstractObject * partialObj)

Resolve a partial object thanks to a data feeder into this data repository. This method needs some registered data feeder in order to work.

◆ setDefaultCrs()

void common::DataObjectRepository::setDefaultCrs ( eml2::AbstractLocal3dCrs * crs)
inline

Sets a default CRS for writing. It will be used in all writing methods if no explicit CRS is provided

Parameters
[in]crsIf non-null, the default CRS.

◆ setDefaultHdfProxy()

void common::DataObjectRepository::setDefaultHdfProxy ( eml2::AbstractHdfProxy * hdfProxy)
inline

Sets a default HDF5 file proxy for writing. It will be used in all writing methods if no explicit HDF5 file proxy is provided.

Parameters
[in]hdfProxyIf non-null, the HDF5 file proxy.

◆ setDefaultStandard()

void common::DataObjectRepository::setDefaultStandard ( EnergisticsStandard version)
inline

Set the used standard when creating a new dataobject

◆ setHdfProxyFactory()

void common::DataObjectRepository::setHdfProxyFactory ( common::HdfProxyFactory * factory)

Set the factory used to create HDF proxy and takes ownership of this HDF Proxy factory (don't delete it!)

Parameters
[in]factoryIf non-null, the factory.

◆ updateAllRelationships()

void common::DataObjectRepository::updateAllRelationships ( )

Update all the relationships of the data objects contained in this repository


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