Fesapi  0.13.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
RESQML2_NS::AbstractRepresentation Class Referenceabstract
Inheritance diagram for RESQML2_NS::AbstractRepresentation:
COMMON_NS::AbstractObject RESQML2_0_1_NS::AbstractSurfaceRepresentation RESQML2_0_1_NS::DeviationSurveyRepresentation RESQML2_0_1_NS::PlaneSetRepresentation RESQML2_0_1_NS::PointSetRepresentation RESQML2_0_1_NS::PolylineRepresentation RESQML2_0_1_NS::PolylineSetRepresentation RESQML2_0_1_NS::WellboreFrameRepresentation RESQML2_0_1_NS::WellboreTrajectoryRepresentation RESQML2_NS::AbstractGridRepresentation RESQML2_NS::GridConnectionSetRepresentation RESQML2_NS::RepresentationSetRepresentation RESQML2_NS::SubRepresentation

Public Types

enum  indexableElement {
  NODE = 0, EDGE = 1, FACE = 2, VOLUME = 3,
  PILLAR = 4
}
 

Public Member Functions

virtual ~AbstractRepresentation ()
 
class AbstractLocal3dCrsgetLocalCrs () const
 
virtual gsoap_resqml2_0_1::eml20__DataObjectReference * getLocalCrsDor () const
 
std::string getLocalCrsUuid () const
 
COMMON_NS::AbstractHdfProxygetHdfProxy () const
 
virtual std::string getHdfProxyUuid () const =0
 
const std::vector< class AbstractProperty * > & getPropertySet () const
 
std::vector< class AbstractValuesProperty * > getValuesPropertySet () const
 
unsigned int getValuesPropertyCount () const
 
class AbstractValuesPropertygetValuesProperty (const unsigned int &index) const
 
void setInterpretation (class AbstractFeatureInterpretation *interp)
 
class AbstractFeatureInterpretationgetInterpretation () const
 
gsoap_resqml2_0_1::eml20__DataObjectReference * getInterpretationDor () const
 
std::string getInterpretationUuid () const
 
std::string getInterpretationContentType () const
 
void pushBackSubRepresentation (class SubRepresentation *subRep)
 
std::vector< SubRepresentation * > getSubRepresentationSet () const
 
unsigned int getSubRepresentationCount () const
 
SubRepresentationgetSubRepresentation (const unsigned int &index) const
 
std::vector< SubRepresentation * > getFaultSubRepresentationSet () const
 
unsigned int getFaultSubRepresentationCount () const
 
SubRepresentationgetFaultSubRepresentation (const unsigned int &index) const
 
virtual ULONG64 getXyzPointCountOfPatch (const unsigned int &patchIndex) const =0
 
ULONG64 getXyzPointCountOfAllPatches () const
 
virtual void getXyzPointsOfPatch (const unsigned int &patchIndex, double *xyzPoints) const =0
 
void getXyzPointsOfPatchInGlobalCrs (const unsigned int &patchIndex, double *xyzPoints) const
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 
void getXyzPointsOfAllPatchesInGlobalCrs (double *xyzPoints) const
 
AbstractRepresentationgetSeismicSupportOfPatch (const unsigned int &patchIndex) const
 
std::set< AbstractRepresentation * > getAllSeismicSupport () const
 
virtual unsigned int getPatchCount () const =0
 
void pushBackIntoRepresentationSet (class RepresentationSetRepresentation *repSet, bool xml=true)
 
ULONG64 getRepresentationSetRepresentationCount () const
 
RepresentationSetRepresentationgetRepresentationSetRepresentation (const ULONG64 &index) const
 
void setHdfProxy (COMMON_NS::AbstractHdfProxy *proxy)
 
void addSeismic3dCoordinatesToPatch (const unsigned int patchIndex, double *inlines, double *crosslines, const unsigned int &pointCount, RESQML2_NS::AbstractRepresentation *seismicSupport, COMMON_NS::AbstractHdfProxy *proxy)
 
void addSeismic3dCoordinatesToPatch (const unsigned int patchIndex, const double &startInline, const double &incrInline, const unsigned int &countInline, const double &startCrossline, const double &incrCrossline, const unsigned int &countCrossline, RESQML2_NS::AbstractRepresentation *seismicSupport)
 
void addSeismic2dCoordinatesToPatch (const unsigned int patchIndex, double *lineAbscissa, RESQML2_NS::AbstractRepresentation *seismicSupport, COMMON_NS::AbstractHdfProxy *proxy)
 
void getSeismicLineAbscissaOfPointsOfPatch (const unsigned int &patchIndex, double *values)
 
void getInlinesOfPointsOfPatch (const unsigned int &patchIndex, double *values)
 
void getCrosslinesOfPointsOfPatch (const unsigned int &patchIndex, double *values)
 
- Public Member Functions inherited from COMMON_NS::AbstractObject
bool isPartial () const
 
std::string getUuid () const
 
std::string getTitle () const
 
std::string getEditor () const
 
time_t getCreation () const
 
tm getCreationAsTimeStructure () const
 
std::string getOriginator () const
 
std::string getDescription () const
 
time_t getLastUpdate () const
 
tm getLastUpdateAsTimeStructure () const
 
std::string getFormat () const
 
std::string getDescriptiveKeywords () const
 
std::string getVersionString () const
 
void setTitle (const std::string &title)
 
void setEditor (const std::string &editor)
 
void setCreation (const time_t &creation)
 
void setCreation (const tm &creation)
 
void setOriginator (const std::string &originator)
 
void setDescription (const std::string &description)
 
void setLastUpdate (const time_t &lastUpdate)
 
void setLastUpdate (const tm &lastUpdate)
 
void setFormat (const std::string &format)
 
void setDescriptiveKeywords (const std::string &descriptiveKeywords)
 
void setVersionString (const std::string &versionString)
 
void setMetadata (const std::string &title, const std::string &editor, const time_t &creation, const std::string &originator, const std::string &description, const time_t &lastUpdate, const std::string &format, const std::string &descriptiveKeywords)
 
void serializeIntoStream (std::ostream *stream)
 
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * getGsoapProxy () const
 
soap * getGsoapContext () const
 
int getGsoapType () const
 
gsoap_resqml2_0_1::eml20__DataObjectReference * newResqmlReference () const
 
gsoap_eml2_1::eml21__DataObjectReference * newEmlReference () const
 
gsoap_resqml2_0_1::resqml2__ContactElementReference * newResqmlContactElementReference () const
 
COMMON_NS::EpcDocumentgetEpcDocument () const
 
virtual std::string getXmlNamespace () const
 
virtual std::string getXmlTag () const =0
 
virtual std::string getResqmlVersion () const
 
virtual std::string getContentType () const
 
virtual std::string getPartNameInEpcDocument () const
 
std::string serializeIntoString ()
 
void addAlias (const std::string &authority, const std::string &title)
 
unsigned int getAliasCount () const
 
std::string getAliasAuthorityAtIndex (const unsigned int &index) const
 
std::string getAliasTitleAtIndex (const unsigned int &index) const
 
const std::vector< RESQML2_NS::Activity * > & getActivitySet () const
 
unsigned int getActivityCount () const
 
RESQML2_NS::ActivitygetActivity (const unsigned int &index) const
 
void pushBackExtraMetadata (const std::string &key, const std::string &value)
 
std::tr1::unordered_map< std::string, std::string > getExtraMetadataSet () const
 
std::vector< std::string > getExtraMetadata (const std::string &key) const
 
unsigned int getExtraMetadataCount () const
 
std::string getExtraMetadataKeyAtIndex (const unsigned int &index) const
 
std::string getExtraMetadataStringValueAtIndex (const unsigned int &index) const
 

Static Public Attributes

static const char * XML_TAG = "AbstractRepresentation"
 

Protected Member Functions

 AbstractRepresentation (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
 
 AbstractRepresentation (class AbstractFeatureInterpretation *interp, class AbstractLocal3dCrs *crs)
 
 AbstractRepresentation (gsoap_resqml2_0_1::resqml2__AbstractRepresentation *fromGsoap)
 
void pushBackSeismicSupport (AbstractRepresentation *seismicSupport)
 
void setXmlInterpretation (class AbstractFeatureInterpretation *interp)
 
virtual gsoap_resqml2_0_1::resqml2__PointGeometry * getPointGeometry2_0_1 (const unsigned int &patchIndex) const
 
gsoap_resqml2_0_1::resqml2__PointGeometry * createPointGeometryPatch2_0_1 (const unsigned int &patchIndex, double *points, unsigned long long *numPoints, const unsigned int &numDimensionsInArray, COMMON_NS::AbstractHdfProxy *proxy)
 
std::string getHdfProxyUuidFromPointGeometryPatch (gsoap_resqml2_0_1::resqml2__PointGeometry *patch) const
 
gsoap_resqml2_0_1::resqml2__Seismic2dCoordinates * getSeismic2dCoordinates (const unsigned int &patchIndex) const
 
gsoap_resqml2_0_1::resqml2__Seismic3dCoordinates * getSeismic3dCoordinates (const unsigned int &patchIndex) const
 
virtual std::vector< epc::RelationshipgetAllEpcRelationships () const
 
virtual void importRelationshipSetFromEpc (COMMON_NS::EpcDocument *epcDoc)
 
- Protected Member Functions inherited from COMMON_NS::AbstractObject
 AbstractObject ()
 Indicate whether methods update the XML (gSoap) or only the C++ classes of the API.
 
 AbstractObject (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
 
 AbstractObject (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *proxy)
 
 AbstractObject (gsoap_eml2_1::eml21__AbstractObject *proxy)
 
void initMandatoryMetadata ()
 
void setMetadata (const std::string &guid, const std::string &title, const std::string &editor, const time_t &creation, const std::string &originator, const std::string &description, const time_t &lastUpdate, const std::string &format, const std::string &descriptiveKeywords)
 
void cannotBePartial () const
 
void changeToPartialObject ()
 

Protected Attributes

class AbstractFeatureInterpretationinterpretation
 
COMMON_NS::AbstractHdfProxyhdfProxy
 
class AbstractLocal3dCrslocalCrs
 
std::vector< SubRepresentation * > subRepresentationSet
 
std::vector< AbstractProperty * > propertySet
 
std::vector< AbstractRepresentation * > seismicSupportedRepSet
 
std::vector< class RepresentationSetRepresentation * > representationSetRepresentationSet
 
- Protected Attributes inherited from COMMON_NS::AbstractObject
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * gsoapProxy2_0_1
 
gsoap_eml2_1::eml21__AbstractObject * gsoapProxy2_1
 
COMMON_NS::EpcDocumentepcDocument
 
std::vector< RESQML2_NS::Activity * > activitySet
 
bool updateXml
 

Friends

void AbstractProperty::setRepresentation (AbstractRepresentation *rep)
 

Additional Inherited Members

- Protected Types inherited from COMMON_NS::AbstractObject
enum  EmlVersion { TWO_DOT_ZERO = 0, TWO_DOT_ONE = 1 }
 
- Static Protected Member Functions inherited from COMMON_NS::AbstractObject
static void addActivityToResqmlObject (RESQML2_NS::Activity *activity, AbstractObject *resqmlObject)
 

Constructor & Destructor Documentation

RESQML2_NS::AbstractRepresentation::AbstractRepresentation ( gsoap_resqml2_0_1::eml20__DataObjectReference *  partialObject)
inlineprotected

Only to be used in partial transfer context

AbstractRepresentation::AbstractRepresentation ( class AbstractFeatureInterpretation interp,
class AbstractLocal3dCrs crs 
)
protected

Set the domain of the interpretation according to the local CRS Does not set relationship with interp and crs because the gsoap proxy is not allocated yet. This must be done at concrete class level.

RESQML2_NS::AbstractRepresentation::AbstractRepresentation ( gsoap_resqml2_0_1::resqml2__AbstractRepresentation *  fromGsoap)
inlineprotected

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

virtual RESQML2_NS::AbstractRepresentation::~AbstractRepresentation ( )
inlinevirtual

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

Member Function Documentation

void AbstractRepresentation::addSeismic2dCoordinatesToPatch ( const unsigned int  patchIndex,
double *  lineAbscissa,
RESQML2_NS::AbstractRepresentation seismicSupport,
COMMON_NS::AbstractHdfProxy proxy 
)

Add seismic coordinates to an existing point geometry patch.

Parameters
patchIndexThe index of the geometry patch which receives the seismic coordinates
lineAbscissaThe abscissa of each points of the patch on the seismic line. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex).
seismicSupportThe representation of the seismic line.
proxyThe hdf proxy where the lineAbscissa are stored.
void AbstractRepresentation::addSeismic3dCoordinatesToPatch ( const unsigned int  patchIndex,
double *  inlines,
double *  crosslines,
const unsigned int &  pointCount,
RESQML2_NS::AbstractRepresentation seismicSupport,
COMMON_NS::AbstractHdfProxy proxy 
)

Push back a patch of seismic 3D coordinates info. The index this patch will be located must be consistent with the index of the geometry patch it is related to.

gsoap_resqml2_0_1::resqml2__PointGeometry * AbstractRepresentation::createPointGeometryPatch2_0_1 ( const unsigned int &  patchIndex,
double *  points,
unsigned long long *  numPoints,
const unsigned int &  numDimensionsInArray,
COMMON_NS::AbstractHdfProxy proxy 
)
protected

Creates a point geometry patch.

Parameters
patchIndexThe index of the patch which will contain this geometry.
pointsAll the points to set ordered according the topology of the representation it is based on. It should be 3 * numPoints sized.
numPointsThe number of points for each dimension of the array to write.
numDimensionsInArrayThe number of dimensions in the array to write.
proxyThe HDF proxy where to write the points. It must be already opened for writing and won't be closed in this method.
vector< Relationship > AbstractRepresentation::getAllEpcRelationships ( ) const
protectedvirtual
std::set< AbstractRepresentation * > AbstractRepresentation::getAllSeismicSupport ( ) const

Get all seismic support of the current geoemtry of this representation. This method does not return the seismic lattice representations which are support of 2D grid representation.

void AbstractRepresentation::getCrosslinesOfPointsOfPatch ( const unsigned int &  patchIndex,
double *  values 
)

Get all the crossline coordinates of the points of a specific patch related to seismic lattice.

Parameters
patchIndexThe index of the geometry patch which stores the seismic coordinates
valuesThe array where the crossline coordinates are going to be stored. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex).
SubRepresentation * AbstractRepresentation::getFaultSubRepresentation ( const unsigned int &  index) const

Get a particular fault subrepresentation according to its position in the EPC document. It is mainly used in SWIG context for parsing the vector from a non C++ language.

unsigned int AbstractRepresentation::getFaultSubRepresentationCount ( ) const

Get the subrepresentation count into this EPC document which are representations of a fault. It is mainly used in SWIG context for parsing the vector from a non C++ language.

std::vector< SubRepresentation * > AbstractRepresentation::getFaultSubRepresentationSet ( ) const

Get all the subrepresentations of this instance which represent a fault.

COMMON_NS::AbstractHdfProxy * AbstractRepresentation::getHdfProxy ( ) const

Getter (read/write access) for the hdf Proxy

void AbstractRepresentation::getInlinesOfPointsOfPatch ( const unsigned int &  patchIndex,
double *  values 
)

Get all the inline coordinates of the points of a specific patch related to seismic lattice.

Parameters
patchIndexThe index of the geometry patch which stores the seismic coordinates
valuesThe array where the inlines coordinates are going to be stored. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex).
AbstractFeatureInterpretation * AbstractRepresentation::getInterpretation ( ) const

Get the interpretation of this representation

std::string AbstractRepresentation::getInterpretationContentType ( ) const

Get the interpretation content type of this representation

gsoap_resqml2_0_1::eml20__DataObjectReference * AbstractRepresentation::getInterpretationDor ( ) const
Returns
null pointer if no interpretation is associated to this representation. Otherwise return the data object reference of the associated interpretation.
std::string AbstractRepresentation::getInterpretationUuid ( ) const

Get the interpretation uuid of this representation

AbstractLocal3dCrs * AbstractRepresentation::getLocalCrs ( ) const

Getter (read/write access) for the localCrs

gsoap_resqml2_0_1::eml20__DataObjectReference * AbstractRepresentation::getLocalCrsDor ( ) const
virtual

Get the Local 3d CRS dor where the reference point ordinals are given

Reimplemented in RESQML2_0_1_NS::WellboreTrajectoryRepresentation, and RESQML2_0_1_NS::WellboreFrameRepresentation.

std::string AbstractRepresentation::getLocalCrsUuid ( ) const

Get the Local 3d CRS uuid where the reference point ordinals are given

virtual gsoap_resqml2_0_1::resqml2__PointGeometry* RESQML2_NS::AbstractRepresentation::getPointGeometry2_0_1 ( const unsigned int &  patchIndex) const
inlineprotectedvirtual

Get the point geometry of a specific patch of the representation.

Returns
nullptr if there is no point geometry for this particular patch otherwise the found point geometry.

Reimplemented in RESQML2_0_1_NS::AbstractIjkGridRepresentation, RESQML2_NS::RepresentationSetRepresentation, RESQML2_0_1_NS::WellboreFrameRepresentation, and RESQML2_0_1_NS::RepresentationSetRepresentation.

const std::vector< AbstractProperty * > & AbstractRepresentation::getPropertySet ( ) const

Getter (read only) of all the properties which use this representation as support.

RepresentationSetRepresentation * AbstractRepresentation::getRepresentationSetRepresentation ( const ULONG64 &  index) const

Get the parent representation set representations at the specified index of the representation set representation list.

ULONG64 AbstractRepresentation::getRepresentationSetRepresentationCount ( ) const

Get the count of representation set representations which contain this representation

void AbstractRepresentation::getSeismicLineAbscissaOfPointsOfPatch ( const unsigned int &  patchIndex,
double *  values 
)

Get all the abscissa of the points of a specific patch related to seismic line 2d.

Parameters
patchIndexThe index of the geometry patch which stores the seismic coordinates
valuesThe array where the abscissa are going to be stored. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex).
AbstractRepresentation * AbstractRepresentation::getSeismicSupportOfPatch ( const unsigned int &  patchIndex) const

Get the seismic support of a specific patch.

Returns
nullptr if seismic info have not been provided.
SubRepresentation * AbstractRepresentation::getSubRepresentation ( const unsigned int &  index) const

Get a particular subrepresentation according to its position in the EPC document. It is mainly used in SWIG context for parsing the vector from a non C++ language.

unsigned int AbstractRepresentation::getSubRepresentationCount ( ) const

Get the subrepresentation count into this EPC document. It is mainly used in SWIG context for parsing the vector from a non C++ language.

std::vector< SubRepresentation * > AbstractRepresentation::getSubRepresentationSet ( ) const

Get all the subrepresentations of this instance.

AbstractValuesProperty * AbstractRepresentation::getValuesProperty ( const unsigned int &  index) const

Getter of a particular values property which use this representation as support. It is identified by its index. Necessary for now in SWIG context because I ma not sure if I can always wrap a vector of polymorphic class yet. Throw an out of bound exception if the index is superior or equal to the count of values property.

unsigned int AbstractRepresentation::getValuesPropertyCount ( ) const

Getter of the count of values properties which use this representation as support. Necessary for now in SWIG context because I ma not sure if I can always wrap a vector of polymorphic class yet.

std::vector< AbstractValuesProperty * > AbstractRepresentation::getValuesPropertySet ( ) const

Getter of all the properties values which use this representation as support.

ULONG64 AbstractRepresentation::getXyzPointCountOfAllPatches ( ) const

Get the xyz point count of all patches of this representation.

virtual ULONG64 RESQML2_NS::AbstractRepresentation::getXyzPointCountOfPatch ( const unsigned int &  patchIndex) const
pure virtual
void AbstractRepresentation::getXyzPointsOfAllPatches ( double *  xyzPoints) const

Get all the XYZ points of all patches of this individual representation XYZ points are given in the local CRS.

Parameters
xyzPointsA linearized 2d array where the first (quickest) dimension is coordinate dimension (XYZ) and second dimension is vertex dimension. It must be pre allocated.
void AbstractRepresentation::getXyzPointsOfAllPatchesInGlobalCrs ( double *  xyzPoints) const

Get all the XYZ points of all patches of this individual representation XYZ points are given in the global CRS.

Parameters
xyzPointsA linearized 2d array where the first (quickest) dimension is coordinate dimension (XYZ) and second dimension is vertex dimension. It must be pre allocated.
virtual void RESQML2_NS::AbstractRepresentation::getXyzPointsOfPatch ( const unsigned int &  patchIndex,
double *  xyzPoints 
) const
pure virtual
void AbstractRepresentation::getXyzPointsOfPatchInGlobalCrs ( const unsigned int &  patchIndex,
double *  xyzPoints 
) const

Get all the XYZ points of a particular patch of this representation. XYZ points are given in the global CRS.

Parameters
xyzPointsA linearized 2d array where the first (quickest) dimension is coordinate dimension (XYZ) and second dimension is vertex dimension. It must be pre allocated.
void AbstractRepresentation::importRelationshipSetFromEpc ( COMMON_NS::EpcDocument epcDoc)
protectedvirtual
void AbstractRepresentation::pushBackIntoRepresentationSet ( class RepresentationSetRepresentation repSet,
bool  xml = true 
)

Pushes back this representaiton into a representation set

Parameters
repSetThe representation set representation which will contain this representation.
xmlIf set to true (default), then xml relationships will be updated. If set to no, only memory (and epc) relationships will be updated.
void AbstractRepresentation::pushBackSeismicSupport ( AbstractRepresentation seismicSupport)
protected

Create if necessary (i.e if it does not already exist) a link from a seismic suport rep to this instance. Only updates memory, no XML.

Parameters
seismicSupportThe seismic representation which is a seismic support for this instance.
void AbstractRepresentation::pushBackSubRepresentation ( class SubRepresentation subRep)

DO NOT USE THIS METHOD EXCEPT IF YOU REALLY KNOW WHAT YOU ARE DOING. Push back a subrepresentation to this representation. Does not add the inverse relationship i.e. from the subrepresentation to this representation.

void AbstractRepresentation::setInterpretation ( class AbstractFeatureInterpretation interp)

Set the interpretation which is associated to this representation. And push back this representation as a representation of the interpreation as well.

void AbstractRepresentation::setXmlInterpretation ( class AbstractFeatureInterpretation interp)
protected

Set the interpretation of the isntance only at the XML level


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