My Project
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
resqml2::AbstractRepresentation Class Referenceabstract
Inheritance diagram for resqml2::AbstractRepresentation:
resqml2::AbstractObject resqml2::AbstractGridRepresentation resqml2::GridConnectionSetRepresentation resqml2::RepresentationSetRepresentation resqml2::SubRepresentation resqml2_0_1::AbstractSurfaceRepresentation resqml2_0_1::PlaneSetRepresentation resqml2_0_1::PointSetRepresentation resqml2_0_1::PolylineRepresentation resqml2_0_1::PolylineSetRepresentation resqml2_0_1::WellboreFrameRepresentation resqml2_0_1::WellboreTrajectoryRepresentation

Public Types

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

Public Member Functions

virtual ~AbstractRepresentation ()
 
class AbstractLocal3dCrsgetLocalCrs () const
 
virtual std::string getLocalCrsUuid () const
 
class 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
 
std::string getInterpretationUuid () const
 
std::string getInterpretationContentType () const
 
void addSubRepresentation (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)
 
virtual unsigned int getPatchCount () const =0
 
void pushBackIntoRepresentationSet (class RepresentationSetRepresentation *repSet, bool xml=true)
 
void setHdfProxy (resqml2::AbstractHdfProxy *proxy)
 
void addSeismic3dCoordinatesToPatch (const unsigned int patchIndex, double *inlines, double *crosslines, const unsigned int &pointCount, resqml2::AbstractRepresentation *seismicSupport, resqml2::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::AbstractRepresentation *seismicSupport)
 
void addSeismic2dCoordinatesToPatch (const unsigned int patchIndex, double *lineAbscissa, const unsigned int &pointCount, resqml2::AbstractRepresentation *seismicSupport, resqml2::AbstractHdfProxy *proxy)
 
void getSeismicLineAbscissaOfPointsOfPatch (const unsigned int &patchIndex, double *values)
 
- Public Member Functions inherited from resqml2::AbstractObject
bool isPartial () const
 
std::string getUuid () const
 
std::string getTitle () const
 
std::string getEditor () const
 
time_t getCreation () const
 
std::string getOriginator () const
 
std::string getDescription () const
 
time_t getLastUpdate () const
 
std::string getFormat () const
 
std::string getDescriptiveKeywords () const
 
void setTitle (const std::string &title)
 
void setEditor (const std::string &editor)
 
void setCreation (const time_t &creation)
 
void setOriginator (const std::string &originator)
 
void setDescription (const std::string &description)
 
void setLastUpdate (const time_t &lastUpdate)
 
void setFormat (const std::string &format)
 
void setDescriptiveKeywords (const std::string &descriptiveKeywords)
 
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::eml__AbstractCitedDataObject * getGsoapProxy () const
 
soap * getGsoapContext () const
 
int getGsoapType () const
 
gsoap_resqml2_0_1::eml__DataObjectReference * newResqmlReference () const
 
gsoap_resqml2_0_1::resqml2__ContactElementReference * newResqmlContactElementReference () const
 
common::EpcDocumentgetEpcDocument () const
 
virtual std::string getXmlNamespace () const
 
virtual std::string getXmlTag () const =0
 
virtual std::string getResqmlVersion () const
 
std::string getContentType () const
 
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::Activity * > & getActivitySet () const
 
void addOrSetExtraMetadata (const std::string &key, const std::string &value)
 
std::tr1::unordered_map< std::string, std::string > getExtraMetadataSet () const
 
std::string getExtraMetadata (const std::string &key)
 
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 (common::EpcDocument *epcDoc, gsoap_resqml2_0_1::eml__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, resqml2::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::EpcDocument *epcDoc)
 
- Protected Member Functions inherited from resqml2::AbstractObject
 AbstractObject (common::EpcDocument *epcDoc, gsoap_resqml2_0_1::eml__DataObjectReference *partialObject)
 Indicate whether methods update the XML (gSoap) or only the C++ classes of the API. More...
 
 AbstractObject (gsoap_resqml2_0_1::eml__AbstractCitedDataObject *proxy=nullptr)
 
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)
 

Protected Attributes

class AbstractFeatureInterpretationinterpretation
 
resqml2::AbstractHdfProxyhdfProxy
 
class AbstractLocal3dCrslocalCrs
 
std::vector< AbstractRepresentation * > seismicSupportSet
 
std::vector< SubRepresentation * > subRepresentationSet
 
std::vector< AbstractProperty * > propertySet
 
std::vector< AbstractRepresentation * > seismicSupportedRepSet
 
std::vector< class RepresentationSetRepresentation * > representationSetRepresentationSet
 
- Protected Attributes inherited from resqml2::AbstractObject
gsoap_resqml2_0_1::eml__AbstractCitedDataObject * gsoapProxy2_0_1
 
common::EpcDocumentepcDocument
 
std::vector< resqml2::Activity * > activitySet
 
bool updateXml
 

Friends

void AbstractProperty::setRepresentation (AbstractRepresentation *rep)
 

Additional Inherited Members

- Static Protected Member Functions inherited from resqml2::AbstractObject
static void addActivityToResqmlObject (resqml2::Activity *activity, AbstractObject *resqmlObject)
 

Constructor & Destructor Documentation

resqml2::AbstractRepresentation::AbstractRepresentation ( common::EpcDocument epcDoc,
gsoap_resqml2_0_1::eml__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::AbstractRepresentation::AbstractRepresentation ( gsoap_resqml2_0_1::resqml2__AbstractRepresentation *  fromGsoap)
inlineprotected

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

virtual resqml2::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,
const unsigned int &  pointCount,
resqml2::AbstractRepresentation seismicSupport,
resqml2::AbstractHdfProxy proxy 
)

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

Parameters
Theindex of the geometry patch which receives these seismic coordinates
void AbstractRepresentation::addSeismic3dCoordinatesToPatch ( const unsigned int  patchIndex,
double *  inlines,
double *  crosslines,
const unsigned int &  pointCount,
resqml2::AbstractRepresentation seismicSupport,
resqml2::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.

void AbstractRepresentation::addSubRepresentation ( SubRepresentation subRep)

Add a subrepresentation to this representation Does not add the inverse relationship i.e. from the subrepresentation to this representation.

gsoap_resqml2_0_1::resqml2__PointGeometry * AbstractRepresentation::createPointGeometryPatch2_0_1 ( const unsigned int &  patchIndex,
double *  points,
unsigned long long *  numPoints,
const unsigned int &  numDimensionsInArray,
resqml2::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
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.

AbstractHdfProxy * AbstractRepresentation::getHdfProxy ( ) const

Getter (read/write access) for the hdf Proxy

AbstractFeatureInterpretation * AbstractRepresentation::getInterpretation ( ) const

Get the interpretation of this representation

std::string AbstractRepresentation::getInterpretationContentType ( ) const

Get the interpretation content type of this representation

std::string AbstractRepresentation::getInterpretationUuid ( ) const

Get the interpretation uuid of this representation

AbstractLocal3dCrs * AbstractRepresentation::getLocalCrs ( ) const

Getter (read/write access) for the localCrs

std::string AbstractRepresentation::getLocalCrsUuid ( ) const
virtual

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

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

virtual gsoap_resqml2_0_1::resqml2__PointGeometry* resqml2::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::AbstractIjkGridRepresentation, resqml2::RepresentationSetRepresentation, resqml2_0_1::WellboreFrameRepresentation, and resqml2_0_1::RepresentationSetRepresentation.

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

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

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.

Returns
nullptr if seismic info have not been provided.
AbstractRepresentation * AbstractRepresentation::getSeismicSupportOfPatch ( const unsigned int &  patchIndex)

Get the seismic support representation set of this representation Get the seismic support representation uuid set of this representation. Useful when one of the seismic support representation is not accessible. At least we know its uuid. Get the count of seismic points in a particular patch of this representation 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::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::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::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

Push back the seismic support of this representation and sets the opposite relationship i.e. from the base rep to the child rep. Only updates memory, no XML.

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: