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 | 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

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, uint64_t 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, 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)
 
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 void loadTargetRelationships () override
 

Static Public Attributes

static constexpr char const * XML_TAG = "SealedSurfaceFrameworkRepresentation"
 
- Static Public Attributes inherited from resqml2::RepresentationSetRepresentation
static const char * XML_TAG
 

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.

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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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().

◆ 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.

◆ 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.

◆ getXmlTag()

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

◆ 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.

◆ 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.

◆ pushBackContactPatch()

virtual void resqml2::SealedSurfaceFrameworkRepresentation::pushBackContactPatch ( unsigned int contactIdx,
int const * nodeIndicesOnSupportingRepresentation,
uint64_t 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.

Member Data Documentation

◆ XML_TAG

constexpr char const* resqml2::SealedSurfaceFrameworkRepresentation::XML_TAG = "SealedSurfaceFrameworkRepresentation"
staticconstexpr

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


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