Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
Public Member Functions | List of all members
resqml2::AbstractSurfaceFrameworkRepresentation Class Referenceabstract

Parent class for a sealed or non-sealed surface framework representation. Each one instantiates a representation set representation. The difference between the sealed and non- sealed frameworks is that, in the non-sealed case, we do not have all of the contacts, or we have all of the contacts but they are not all sealed. More...

#include <AbstractSurfaceFrameworkRepresentation.h>

Inheritance diagram for resqml2::AbstractSurfaceFrameworkRepresentation:
resqml2::RepresentationSetRepresentation resqml2::NonSealedSurfaceFrameworkRepresentation resqml2::SealedSurfaceFrameworkRepresentation

Public Member Functions

virtual ~AbstractSurfaceFrameworkRepresentation ()=default
 
void pushBackContactIdentity (gsoap_resqml2_0_1::resqml20__IdentityKind kind, uint64_t contactCount, int const *contactIndices, eml2 ::AbstractHdfProxy *proxy)
 
void pushBackContactIdentity (gsoap_resqml2_0_1::resqml20__IdentityKind kind, uint64_t contactCount, int const *contactIndices, unsigned int identicalNodesCount, int const *identicalNodesIndexes, eml2 ::AbstractHdfProxy *proxy)
 
virtual unsigned int getContactCount () const =0
 
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
 
uint64_t getPatchCount () const override
 
bool isHomogeneous () const
 
uint64_t getRepresentationCount () const
 
resqml2::AbstractRepresentationgetRepresentation (uint64_t index) const
 
common::DataObjectReference getRepresentationDor (uint64_t index) const
 
void pushBack (resqml2 ::AbstractRepresentation *rep)
 
virtual std::string getXmlTag () const override
 
virtual void loadTargetRelationships () override
 

Additional Inherited Members

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

Detailed Description

Parent class for a sealed or non-sealed surface framework representation. Each one instantiates a representation set representation. The difference between the sealed and non- sealed frameworks is that, in the non-sealed case, we do not have all of the contacts, or we have all of the contacts but they are not all sealed.

Constructor & Destructor Documentation

◆ ~AbstractSurfaceFrameworkRepresentation()

virtual resqml2::AbstractSurfaceFrameworkRepresentation::~AbstractSurfaceFrameworkRepresentation ( )
virtualdefault

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

Member Function Documentation

◆ areAllContactNodesIdentical()

bool resqml2::AbstractSurfaceFrameworkRepresentation::areAllContactNodesIdentical ( unsigned int ciIndex) const

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

Exceptions
std::out_of_rangeIf ciIndex is out of range.
std::logic_errorIf the RESQML version is unknown.
Parameters
ciIndexZero-based index of the contact identity in the contact identity list.
Returns
True if all nodes of contacts are identical else false.

◆ getContactCount()

virtual unsigned int resqml2::AbstractSurfaceFrameworkRepresentation::getContactCount ( ) const
pure 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.

Implemented in resqml2::NonSealedSurfaceFrameworkRepresentation, and resqml2::SealedSurfaceFrameworkRepresentation.

◆ getContactCountInContactIdentity()

unsigned int resqml2::AbstractSurfaceFrameworkRepresentation::getContactCountInContactIdentity ( unsigned int ciIndex) const

Gets the count of contacts of a particular contact identity.

Exceptions
std::out_of_rangeIf ciIndex is out of range.
std::range_errorIf the count of contacts is strictly greater than unsigned int max.
std::logic_errorIf the RESQML version is unknown.
Parameters
ciIndexZero-based index of the contact identity in the contact identity list.
Returns
The count of contacts of the contact identity at position ciIndex.

◆ getContactIdentityCount()

unsigned int resqml2::AbstractSurfaceFrameworkRepresentation::getContactIdentityCount ( ) const

Gets the count of contact identities in this framework.

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

◆ getContactIdentityKind()

gsoap_resqml2_0_1::resqml20__IdentityKind resqml2::AbstractSurfaceFrameworkRepresentation::getContactIdentityKind ( unsigned int ciIndex) const

Gets the kind of a contact identity located at a particular index.

Exceptions
std::out_of_rangeIf ciIndex is out of range.
std::logic_errorIf the RESQML version is unknown.
Parameters
ciIndexZero-based index of the contact identity in the contact identity list.
Returns
The kind of the contact identity at position ciIndex in the contact identity list.

◆ getContactIndices()

void resqml2::AbstractSurfaceFrameworkRepresentation::getContactIndices ( unsigned int ciIndex,
unsigned int * contactRepIndices ) const

Gets the contact indices of a particular contact identity. The returned indices are in the interval [0..getContactCount()[.

Exceptions
std::out_of_rangeIf ciIndex is out of range.
std::logic_errorIf the RESQML version is unknown.
Parameters
ciIndexZero-based index of the contact identity in the contact identity list.
[out]contactRepIndicesAn array to receive contact indices. It must be preallocated with getContactCountInContactIdentity(). It won't be deleted by fesapi.

◆ getIdenticalContactNodeCount()

unsigned int resqml2::AbstractSurfaceFrameworkRepresentation::getIdenticalContactNodeCount ( unsigned int ciIndex) const

Gets the count of all identical nodes of a particular contact identity.

Exceptions
std::invalid_argumentIf all nodes are identical (see areAllContactNodesIdentical()).
std::out_of_rangeIf ciIndex is out of range.
std::logic_errorIf the RESQML version is unknown.
std::range_errorIf the count of identical nodes is strictly greater than unsigned int max.
Parameters
ciIndexZero-based index of the contact identity in the contact identity list.
Returns
The count of identical nodes of a particular contact identity.

◆ getIdenticalContactNodeIndices()

void resqml2::AbstractSurfaceFrameworkRepresentation::getIdenticalContactNodeIndices ( unsigned int ciIndex,
unsigned int * nodeIndices ) const

Gets the indices of all identical nodes of a particular contact identity.

Exceptions
std::invalid_argumentIf if all nodes are identical (see areAllContactRepNodesIdenticalInContactIdentity()).
std::out_of_rangeIf ciIndex is out of range.
std::logic_errorIf the RESQML version is unknown.
Parameters
ciIndexciIndex Zero-based index of the contact identity in the contact identity list.
[out]nodeIndicesAn array to receive the identical nodes indices. It must be preallocated with a count of getIdenticalContactNodeCount(). It won't be deleted by fesapi.

◆ pushBackContactIdentity() [1/2]

void resqml2::AbstractSurfaceFrameworkRepresentation::pushBackContactIdentity ( gsoap_resqml2_0_1::resqml20__IdentityKind kind,
uint64_t contactCount,
int const * contactIndices,
eml2 ::AbstractHdfProxy * proxy )

Pushes back a contact identity in this structural framework with implicit identical nodes.

Exceptions
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined into the data object repository.
std::logic_errorIf the RESQML version is unknown.
Parameters
kindThe identity kind (colocation, previous colocation, equivalence or previous equivalence).
contactCountThe number of sealed contact representations involved within the identity.
contactIndicesThe indices of the sealed contact representations involved within the identity. Count is contactCount.
[in,out]proxyThe HDF proxy where to write the contactIndices values. If nullptr, then a default HDF proxy must be defined in the repository.

◆ pushBackContactIdentity() [2/2]

void resqml2::AbstractSurfaceFrameworkRepresentation::pushBackContactIdentity ( gsoap_resqml2_0_1::resqml20__IdentityKind kind,
uint64_t contactCount,
int const * contactIndices,
unsigned int identicalNodesCount,
int const * identicalNodesIndexes,
eml2 ::AbstractHdfProxy * proxy )

Push back a contact identity in this structural framework.

Exceptions
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined into the data object repository.
std::logic_errorIf the RESQML version is unknown.
Parameters
kindThe identity kind (colocation, previous colocation, equivalence or previous equivalence).
contactCountThe number of sealed contact representations involved within the identity.
contactIndicesThe indices of the sealed contact representations involved within the identity. Count is contactCount.
identicalNodesCountThe number of identical nodes.
identicalNodesIndexesIndicates which nodes (identified by their common index in all contact representations) of the contact representations are identical. Count is identicalNodesCount.
[in,out]proxyThe HDF proxy where to write the contactIndices and identicalNodesIndexes values. Id f nullptr, then a default HDF proxy must be defined in the repository.

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