Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Public Member Functions | Static Public Attributes | List of all members
resqml2::SealedSurfaceFrameworkRepresentation Class Referenceabstract

A collection of contact, which are a list of contact patches and their identities. This collection of contact is completed by a set of representations gathered at the representation set representation level. More...

#include <SealedSurfaceFrameworkRepresentation.h>

Inheritance diagram for resqml2::SealedSurfaceFrameworkRepresentation:
resqml2::AbstractSurfaceFrameworkRepresentation resqml2::RepresentationSetRepresentation resqml2::AbstractRepresentation common::AbstractObject resqml2_0_1::SealedSurfaceFrameworkRepresentation resqml2_2::SealedSurfaceFrameworkRepresentation

Public Member Functions

virtual ~SealedSurfaceFrameworkRepresentation ()=default
 
virtual void pushBackContact (gsoap_resqml2_0_1::resqml20__IdentityKind kind)=0
 
virtual void pushBackContact (gsoap_resqml2_0_1::resqml20__IdentityKind kind, unsigned int patchCount, unsigned int identicalNodesCount, int const *identicalNodes, eml2::AbstractHdfProxy *proxy)=0
 
virtual void pushBackContactPatch (unsigned int contactIdx, int const *nodeIndicesOnSupportingRepresentation, unsigned int nodeCount, AbstractRepresentation *supportingRepresentation, eml2::AbstractHdfProxy *proxy)=0
 
virtual unsigned int getContactCount () const override=0
 
virtual gsoap_resqml2_0_1::resqml20__IdentityKind getContactPatchIdentityKind (unsigned int contactIdx) const =0
 
virtual bool areAllContactPatchNodesIdentical (unsigned int contactIdx) const =0
 
virtual unsigned int getIdenticalContactPatchNodeCount (unsigned int contactIdx) const =0
 
virtual void getIdenticalContactPatchNodeIndices (unsigned int contactIdx, unsigned int *nodeIndices) const =0
 
virtual unsigned int getContactPatchCount (unsigned int contactIdx) const =0
 
virtual resqml2::AbstractRepresentationgetRepresentationOfContactPatch (unsigned int contactIdx, unsigned int cpIndex) const =0
 
virtual unsigned int getRepresentationIndexOfContactPatch (unsigned int contactIdx, unsigned int cpIndex) const =0
 
virtual unsigned int getContactPatchNodeCount (unsigned int contactIdx, unsigned int cpIndex) const =0
 
virtual void getContactPatchNodeIndices (unsigned int contactIdx, unsigned int cpIndex, unsigned int *nodeIndices) const =0
 
virtual std::string getXmlTag () const final
 
- Public Member Functions inherited from resqml2::AbstractSurfaceFrameworkRepresentation
virtual ~AbstractSurfaceFrameworkRepresentation ()=default
 
void pushBackContactIdentity (gsoap_resqml2_0_1::resqml20__IdentityKind kind, unsigned int contactCount, int const *contactIndices, eml2::AbstractHdfProxy *proxy)
 
void pushBackContactIdentity (gsoap_resqml2_0_1::resqml20__IdentityKind kind, unsigned int contactCount, int const *contactIndices, unsigned int identicalNodesCount, int const *identicalNodesIndexes, eml2::AbstractHdfProxy *proxy)
 
unsigned int getContactIdentityCount () const
 
gsoap_resqml2_0_1::resqml20__IdentityKind getContactIdentityKind (unsigned int ciIndex) const
 
unsigned int getContactCountInContactIdentity (unsigned int ciIndex) const
 
void getContactIndices (unsigned int ciIndex, unsigned int *contactRepIndices) const
 
bool areAllContactNodesIdentical (unsigned int ciIndex) const
 
unsigned int getIdenticalContactNodeCount (unsigned int ciIndex) const
 
void getIdenticalContactNodeIndices (unsigned int ciIndex, unsigned int *nodeIndices) const
 
- Public Member Functions inherited from resqml2::RepresentationSetRepresentation
virtual ~RepresentationSetRepresentation ()=default
 
common::DataObjectReference getHdfProxyDor () const final
 
uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) const override
 
void getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const override
 
unsigned int getPatchCount () const override
 
bool isHomogeneous () const
 
unsigned int getRepresentationCount () const
 
resqml2::AbstractRepresentationgetRepresentation (unsigned int index) const
 
common::DataObjectReference getRepresentationDor (unsigned int index) const
 
void pushBack (resqml2::AbstractRepresentation *rep)
 
virtual void loadTargetRelationships () override
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()=default
 
class AbstractLocal3dCrsgetLocalCrs (unsigned int patchIndex) const
 
virtual common::DataObjectReference getLocalCrsDor (unsigned int patchIndex) const
 
std::vector< class AbstractProperty * > getPropertySet () const
 
void setInterpretation (class AbstractFeatureInterpretation *interp)
 
class AbstractFeatureInterpretationgetInterpretation () const
 
common::DataObjectReference getInterpretationDor () const
 
uint64_t getXyzPointCountOfAllPatches () const
 
void getXyzPointsOfPatchInGlobalCrs (unsigned int patchIndex, double *xyzPoints) const
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the global CRS. More...
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 Gets all the xyz points of all patches of this representation. xyz points are given in the local CRS. More...
 
bool isInSingleLocalCrs () const
 
bool isInSingleGlobalCrs () const
 
void getXyzPointsOfAllPatchesInGlobalCrs (double *xyzPoints) const
 
AbstractRepresentationgetSeismicSupportOfPatch (const unsigned int &patchIndex) const
 
std::set< AbstractRepresentation * > getAllSeismicSupport () const
 
void pushBackIntoRepresentationSet (class RepresentationSetRepresentation *repSet)
 
void addSeismic3dCoordinatesToPatch (unsigned int patchIndex, double *inlines, double *crosslines, unsigned int pointCount, resqml2::AbstractRepresentation *seismicSupport, eml2::AbstractHdfProxy *proxy)
 
void addSeismic3dCoordinatesToPatch (unsigned int patchIndex, double startInline, double incrInline, unsigned int countInline, double startCrossline, double incrCrossline, unsigned int countCrossline, resqml2::AbstractRepresentation *seismicSupport)
 
void addSeismic2dCoordinatesToPatch (unsigned int patchIndex, double *lineAbscissa, resqml2::AbstractRepresentation *seismicSupport, eml2::AbstractHdfProxy *proxy)
 
void getSeismicLineAbscissaOfPointsOfPatch (unsigned int patchIndex, double *values) const
 
void getInlinesOfPointsOfPatch (unsigned int patchIndex, double *values) const
 
void getCrosslinesOfPointsOfPatch (unsigned int patchIndex, double *values) const
 
- Public Member Functions inherited from common::AbstractObject
bool isPartial () const
 
virtual bool isTopLevelElement () const
 
std::string getUuid () const
 
std::string getTitle () const
 
std::string getEditor () const
 
time_t getCreation () const
 
tm getCreationAsTimeStructure () const
 
std::string getOriginator () const
 
std::string getDescription () const
 
time_t getLastUpdate () const
 
tm getLastUpdateAsTimeStructure () const
 
std::string getFormat () const
 
std::string getDescriptiveKeywords () const
 
std::string getVersion () const
 
void setTitle (const std::string &title)
 
void setEditor (const std::string &editor)
 
void setCreation (time_t creation)
 
void setCreation (const tm &creation)
 
void setOriginator (const std::string &originator)
 
void setDescription (const std::string &description)
 
void setLastUpdate (time_t lastUpdate)
 
void setLastUpdate (const tm &lastUpdate)
 
void setDescriptiveKeywords (const std::string &descriptiveKeywords)
 
void setVersion (const std::string &version)
 
void setMetadata (const std::string &title, const std::string &editor, time_t creation, const std::string &originator, const std::string &description, time_t lastUpdate, const std::string &descriptiveKeywords)
 
void serializeIntoStream (std::ostream *stream)
 
void setGsoapProxy (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *gsoapProxy)
 
void setGsoapProxy (gsoap_eml2_1::eml21__AbstractObject *gsoapProxy)
 
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * getEml20GsoapProxy () const
 
gsoap_eml2_1::eml21__AbstractObject * getEml21GsoapProxy () const
 
gsoap_eml2_2::eml22__AbstractObject * getEml22GsoapProxy () const
 
void setGsoapProxy (gsoap_eml2_2::eml22__AbstractObject *gsoapProxy)
 
gsoap_eml2_3::eml23__AbstractObject * getEml23GsoapProxy () const
 
void setGsoapProxy (gsoap_eml2_3::eml23__AbstractObject *gsoapProxy)
 
soap * getGsoapContext () const
 
int getGsoapType () const
 
gsoap_resqml2_0_1::eml20__DataObjectReference * newResqmlReference () const
 
gsoap_eml2_1::eml21__DataObjectReference * newEmlReference () const
 
gsoap_eml2_2::eml22__DataObjectReference * newEml22Reference () const
 
gsoap_eml2_3::eml23__DataObjectReference * newEml23Reference () const
 
gsoap_resqml2_0_1::resqml20__ContactElementReference * newContactElementReference2_0_1 () const
 
gsoap_eml2_3::resqml22__ContactElement * newContactElementReference2_2 () const
 
common::DataObjectRepositorygetRepository () const
 
virtual std::string getXmlNamespace () const =0
 
virtual std::string getXmlNamespaceVersion () const
 
virtual std::string getContentType () const
 
virtual std::string getQualifiedType () const
 
virtual std::string getPartNameInEpcDocument () const
 
std::string serializeIntoString ()
 
void addAlias (const std::string &authority, const std::string &title)
 
unsigned int getAliasCount () const
 
std::string getAliasAuthorityAtIndex (unsigned int index) const
 
std::string getAliasTitleAtIndex (unsigned int index) const
 
std::vector< eml2::Activity * > getActivitySet () const
 
unsigned int getActivityCount () const
 
eml2::ActivitygetActivity (unsigned int index) const
 
void pushBackExtraMetadata (const std::string &key, const std::string &value)
 
std::unordered_map< std::string, std::string > getExtraMetadataSet () const
 
std::vector< std::string > getExtraMetadata (const std::string &key) const
 
unsigned int getExtraMetadataCount () const
 
std::string getExtraMetadataKeyAtIndex (unsigned int index) const
 
std::string getExtraMetadataStringValueAtIndex (unsigned int index) const
 

Static Public Attributes

static const char * XML_TAG
 
- Static Public Attributes inherited from resqml2::RepresentationSetRepresentation
static const char * XML_TAG
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static const char * XML_TAG
 

Additional Inherited Members

- Public Types inherited from resqml2::AbstractRepresentation
enum  indexableElement {
  NODE = 0 , EDGE = 1 , FACE = 2 , VOLUME = 3 ,
  PILLAR = 4
}
 
- Public Types inherited from common::AbstractObject
enum  hdfDatatypeEnum {
  UNKNOWN = 0 , DOUBLE = 1 , FLOAT = 2 , LONG_64 = 3 ,
  ULONG_64 = 4 , INT = 5 , UINT = 6 , SHORT = 7 ,
  USHORT = 8 , CHAR = 9 , UCHAR = 10
}
 
- Static Public Member Functions inherited from common::AbstractObject
static void setFormat (const std::string &vendor, const std::string &applicationName, const std::string &applicationVersionNumber)
 

Detailed Description

A collection of contact, which are a list of contact patches and their identities. This collection of contact is completed by a set of representations gathered at the representation set representation level.

Constructor & Destructor Documentation

◆ ~SealedSurfaceFrameworkRepresentation()

virtual resqml2::SealedSurfaceFrameworkRepresentation::~SealedSurfaceFrameworkRepresentation ( )
virtualdefault

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

Reimplemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

Member Function Documentation

◆ areAllContactPatchNodesIdentical()

virtual bool resqml2::SealedSurfaceFrameworkRepresentation::areAllContactPatchNodesIdentical ( unsigned int  contactIdx) const
pure virtual

Checks if all nodes of contact patches are identical in a particular contact.

Exceptions
std::out_of_rangeIf contactIdx is out of range.
Parameters
contactIdxZero-based index of the contact for which we want to check if all nodes of contact patches are identical.
Returns
True if all nodes of contact patches are identical else false.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getContactCount()

virtual unsigned int resqml2::SealedSurfaceFrameworkRepresentation::getContactCount ( ) const
overridepure virtual

Gets the count of contacts in this framework.

Exceptions
std::range_errorIf the count of contacts is strictly greater than unsigned int max.
Returns
The count of contacts in this framework.

Implements resqml2::AbstractSurfaceFrameworkRepresentation.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getContactPatchCount()

virtual unsigned int resqml2::SealedSurfaceFrameworkRepresentation::getContactPatchCount ( unsigned int  contactIdx) const
pure virtual

Gets the count of contact patches in a particular contact of this framework.

Exceptions
std::out_of_rangeIf contactIdx is out of range.
std::range_errorIf the count of identical nodes is strictly greater than unsigned int max.
Parameters
contactIdxZero-based index of the contact for which we look for the contact patches count.
Returns
The count of contact patches in the contact at position contactIdx.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getContactPatchIdentityKind()

virtual gsoap_resqml2_0_1::resqml20__IdentityKind resqml2::SealedSurfaceFrameworkRepresentation::getContactPatchIdentityKind ( unsigned int  contactIdx) const
pure virtual

Gets the identity kind of a particular contact.

Exceptions
std::out_of_rangeIf contactIdx is out of range.
Parameters
contactIdxZero-based index of the contact for which we look for the identity kind.
Returns
The identity kind of the contact located at a contactIdx.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getContactPatchNodeCount()

virtual unsigned int resqml2::SealedSurfaceFrameworkRepresentation::getContactPatchNodeCount ( unsigned int  contactIdx,
unsigned int  cpIndex 
) const
pure virtual

Get the count of nodes of a particular contact patch.

Exceptions
std::out_of_rangeIf contactIdx or cpIndex is out of range.
std::range_errorIf the count of nodes is strictly greater than unsigned int max.
Parameters
contactIdxZero-based index of the contact in the contact list.
cpIndexZero-based index of the contact patch in the contact.
Returns
The count of nodes of a particular contact patch.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getContactPatchNodeIndices()

virtual void resqml2::SealedSurfaceFrameworkRepresentation::getContactPatchNodeIndices ( unsigned int  contactIdx,
unsigned int  cpIndex,
unsigned int *  nodeIndices 
) const
pure virtual

Gets the nodes indices of a particular contact patch. The returned indices are associated to the node array of the representation of the particular contact patch (see getRepresentationOfContactPatch()).

Exceptions
std::out_of_rangeIf contactIdx or cpIndex is out of range.
Parameters
contactIdxZero-based index of the contact in the contact list.
cpIndexZero-based index of the contact patch in the contact.
[out]nodeIndicesAn array to received the nodes indices. This array must be preallocated with getContactPatchNodeCount(). It won't be deleted by fesapi.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getIdenticalContactPatchNodeCount()

virtual unsigned int resqml2::SealedSurfaceFrameworkRepresentation::getIdenticalContactPatchNodeCount ( unsigned int  contactIdx) const
pure virtual

Gets the count of identical nodes of a particular contact.

Exceptions
std::invalid_argumentIf all nodes of contact patches are identical (see areAllContactPatchNodesIdentical()).
std::out_of_rangeIf contactIdx is out of range.
std::range_errorIf the count of identical nodes is strictly greater than unsigned int max.
Parameters
contactIdxZero-based index of the contact for which we look for the count of identical nodes.
Returns
The count of identical nodes in the contact at position contactIdx.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getIdenticalContactPatchNodeIndices()

virtual void resqml2::SealedSurfaceFrameworkRepresentation::getIdenticalContactPatchNodeIndices ( unsigned int  contactIdx,
unsigned int *  nodeIndices 
) const
pure virtual

Gets the node indices of all contact patches which are identical in a particular contact.

Exceptions
std::invalid_argumentIf all nodes of contact patches are identical (see areAllContactPatchNodesIdentical()).
std::out_of_rangeIf contactIdx is out of range.*.
Parameters
contactIdxZero-based index of the contact for which we look for the identical nodes indices.
[out]nodeIndicesAn array to receive the identical nodes indices. This array must be preallocated with getIdenticalContactPatchNodeCount().

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getRepresentationIndexOfContactPatch()

virtual unsigned int resqml2::SealedSurfaceFrameworkRepresentation::getRepresentationIndexOfContactPatch ( unsigned int  contactIdx,
unsigned int  cpIndex 
) const
pure virtual

Gets the representation index where a particular contact patch has been defined. The index is in the range [0..getRepresentationCount()[.

Exceptions
std::out_of_rangeIf contactIdx or cpIndex is out of range.
std::range_errorIf the representation index is strictly greater than unsigned int max.
Parameters
contactIdxZero-based index of the contact in the contact list.
cpIndexZero-based index of the contact patch in the contact.
Returns
The representation index where the contact patch has been defined.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getRepresentationOfContactPatch()

virtual resqml2::AbstractRepresentation* resqml2::SealedSurfaceFrameworkRepresentation::getRepresentationOfContactPatch ( unsigned int  contactIdx,
unsigned int  cpIndex 
) const
pure virtual

Gets the representation (for instance the triangulated surface) where a particular contact patch has been defined.

Exceptions
std::out_of_rangeIf contactIdx or cpIndex is out of range.
std::range_errorIf the index of the representation provided in the contact patch is strictly greater than unsigned int max.
Parameters
contactIdxZero-based index of the contact in the contact list.
cpIndexZero-based index of the contact patch in the contact.
Returns
The representation where the contact patch has been defined.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ getXmlTag()

virtual std::string resqml2::SealedSurfaceFrameworkRepresentation::getXmlTag ( ) const
inlinefinalvirtual

Gets the standard XML tag without XML namespace for serializing this data object.

Returns
The XML tag.

Reimplemented from resqml2::RepresentationSetRepresentation.

◆ pushBackContact() [1/2]

virtual void resqml2::SealedSurfaceFrameworkRepresentation::pushBackContact ( gsoap_resqml2_0_1::resqml20__IdentityKind  kind)
pure virtual

Pushes back a contact in this structural framework with implicit identical nodes. After calling the following method, the contact patches container of the newly pushed contact remains empty. After this call, do not forget to call the pushBackContactPatch() method for each contact patch of the contact.

Parameters
kindThe identity kind (colocation, previous colocation, equivalence or previous equivalence) of the contact to push.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ pushBackContact() [2/2]

virtual void resqml2::SealedSurfaceFrameworkRepresentation::pushBackContact ( gsoap_resqml2_0_1::resqml20__IdentityKind  kind,
unsigned int  patchCount,
unsigned int  identicalNodesCount,
int const *  identicalNodes,
eml2::AbstractHdfProxy proxy 
)
pure virtual

Pushes back a contact in this structural framework.After calling the following method, the contact patches container of the newly pushed contact remains empty. After this call, do not forget to call the pushBackContactPatch() method for each contact patch of the contact.

Exceptions
std::invalid_argumentIf patchCount is strictly lesser than 2.
std::invalid_argumentIf identicalNodesCount is 0.
std::invalid_argumentIf identicalNodes is nullptr.
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined into the data object repository.
Parameters
kindThe identity kind (colocation, previous colocation, equivalence or previous equivalence) of the contact to push.
patchCountThe number of contact patches within this sealed contact.
identicalNodesCountThe number of identical nodes along this sealed contact.
[in]identicalNodesA 1d array of identical nodes indices. The size of this array is patchCount * identicalNodesCount. It indicates which nodes (identified by their common index in all contact patches) of the contact patches are identical.
[in,out]proxyThe HDF proxy where to write the identicalNodes values. If nullptr, then a default HDF proxy must be defined in the repository.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

◆ pushBackContactPatch()

virtual void resqml2::SealedSurfaceFrameworkRepresentation::pushBackContactPatch ( unsigned int  contactIdx,
int const *  nodeIndicesOnSupportingRepresentation,
unsigned int  nodeCount,
AbstractRepresentation supportingRepresentation,
eml2::AbstractHdfProxy proxy 
)
pure virtual

Pushes back a contact patch in a particular contact of this structural framework.

Exceptions
std::invalid_argumentIf nodeIndicesOnSupportingRepresentation is nullptr.
std::invalid_argumentIf nodeCount is 0.
std::invalid_argumentIf supportingRepresentation is nullptr or if it is not referenced by this sealed surface framework.
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined into the data object repository.
std::out_of_rangeIf contactIdx is out of range.
Parameters
contactIdxZero-base index of the contact which will contain this contact patch.
nodeIndicesOnSupportingRepresentationThe nodes defining the contact patch on the supporting representation. Size if nodeCount.
nodeCountThe node count of this contact patch.
[in]supportingRepresentationThe supporting representation of this contact patch.
[in,out]proxyThe HDF proxy where to write the nodeIndicesOnSupportingRepresentation values. If nullptr, then a default HDF proxy must be defined in the repository.

Implemented in resqml2_2::SealedSurfaceFrameworkRepresentation, and resqml2_0_1::SealedSurfaceFrameworkRepresentation.

Member Data Documentation

◆ XML_TAG

const char* resqml2::SealedSurfaceFrameworkRepresentation::XML_TAG
static

The standard XML tag without XML namespace for serializing this data object.


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