Fesapi 2.10.1.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
resqml2_2::TriangulatedSetRepresentation Class Referencefinal

#include <TriangulatedSetRepresentation.h>

Inheritance diagram for resqml2_2::TriangulatedSetRepresentation:
resqml2::TriangulatedSetRepresentation resqml2::AbstractSurfaceRepresentation resqml2::AbstractRepresentation common::AbstractObject

Public Member Functions

 TriangulatedSetRepresentation (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
 
 TriangulatedSetRepresentation (common::DataObjectRepository *repo, const std::string &guid, const std::string &title)
 
 TriangulatedSetRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title)
 Creates an instance of this class in a gsoap context.
 
 TriangulatedSetRepresentation (gsoap_eml2_3::_resqml22__TriangulatedSetRepresentation *fromGsoap)
 
 ~TriangulatedSetRepresentation ()=default
 
common::DataObjectReference getHdfProxyDor () const
 Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry).
 
void pushBackTrianglePatch (unsigned int nodeCount, double const *nodes, unsigned int triangleCount, unsigned int const *triangleNodeIndices, eml2::AbstractHdfProxy *proxy=nullptr, eml2::AbstractLocal3dCrs *localCrs=nullptr) final
 
uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) const final
 
void getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const final
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS.
 
uint64_t getTriangleCountOfPatch (unsigned int patchIndex) const final
 
uint64_t getTriangleCountOfAllPatches () const final
 
void getTriangleNodeIndicesOfPatch (unsigned int patchIndex, unsigned int *triangleNodeIndices) const final
 
void getTriangleNodeIndicesOfAllPatches (unsigned int *triangleNodeIndices) const final
 
uint64_t getPatchCount () const final
 
std::string getXmlNamespace () const final
 
- Public Member Functions inherited from resqml2::TriangulatedSetRepresentation
virtual std::string getXmlTag () const final
 
- Public Member Functions inherited from resqml2::AbstractSurfaceRepresentation
virtual ~AbstractSurfaceRepresentation ()=default
 
unsigned int getBoundariesCount () const
 
common::DataObjectReference getOuterRingDor (unsigned int index) const
 
void pushBackOuterRing (PolylineRepresentation *outerRing)
 
void setSurfaceRole (gsoap_resqml2_0_1::resqml20__SurfaceRole surfaceRole)
 
gsoap_resqml2_0_1::resqml20__SurfaceRole getSurfaceRole () const
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()=default
 
eml2::AbstractLocal3dCrsgetLocalCrs (uint64_t patchIndex) const
 
virtual common::DataObjectReference getLocalCrsDor (uint64_t patchIndex) const
 
void setTimeIndex (uint64_t timeIndex, eml2::TimeSeries *timeSeries)
 
uint64_t getTimeIndex () const
 Gets the time index of this representation in the associated TimeSeries. Be sure to first check that a TimeSeries is associated this representation by calling getTimeSeriesDor or getTimeSeries;.
 
eml2::TimeSeriesgetTimeSeries () const
 
common::DataObjectReference getTimeSeriesDor () const
 Gets the data object reference of the TimeSeries containing the time of this representation at a particular index. For now, this method only look for a TimeSeries at the first patch containing a point geometry.
 
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.
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 Gets all the xyz points of all patches of this representation. xyz points are given in the local CRS.
 
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, uint64_t 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)
 
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * getEml20GsoapProxy () const
 
void setGsoapProxy (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *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_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 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)
 
uint64_t getAliasCount () const
 
std::string getAliasAuthorityAtIndex (uint64_t index) const
 
std::string getAliasTitleAtIndex (uint64_t index) const
 
std::vector< eml2::Activity * > getActivitySet () const
 
uint64_t getActivityCount () const
 
eml2::ActivitygetActivity (uint64_t 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
 
std::string buildEtp12Uri () const
 
void setUriSource (const std::string &uriSource)
 
const std::string & getUriSource () const
 
std::string getEpcSourceFolder () const
 
void changeToPartialObject ()
 

Static Public Attributes

static const char * XML_NS
 
- Static Public Attributes inherited from resqml2::TriangulatedSetRepresentation
static constexpr char const * XML_TAG = "TriangulatedSetRepresentation"
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static constexpr char const * XML_TAG = "AbstractRepresentation"
 

Additional Inherited Members

- Public Types inherited from common::AbstractObject
enum class  numericalDatatypeEnum {
  UNKNOWN = 0 , DOUBLE = 1 , FLOAT = 2 , INT64 = 3 ,
  UINT64 = 4 , INT32 = 5 , UINT32 = 6 , INT16 = 7 ,
  UINT16 = 8 , INT8 = 9 , UINT8 = 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 triangulated representation is a representation (most of time a surface) which is constituted by triangles. Usually all triangles are connected to each others by means of their nodes and edges.

Constructor & Destructor Documentation

◆ TriangulatedSetRepresentation() [1/4]

resqml2_2::TriangulatedSetRepresentation::TriangulatedSetRepresentation ( gsoap_resqml2_0_1::eml20__DataObjectReference * partialObject)
inline

Only to be used in partial transfer context

Parameters
[in,out]partialObjectIf non-null, the partial object.

◆ TriangulatedSetRepresentation() [2/4]

resqml2_2::TriangulatedSetRepresentation::TriangulatedSetRepresentation ( common::DataObjectRepository * repo,
const std::string & guid,
const std::string & title )

Constructor

Parameters
[in,out]repoIf non-null, the repo.
guidUnique identifier.
titleThe title.

◆ TriangulatedSetRepresentation() [3/4]

resqml2_2::TriangulatedSetRepresentation::TriangulatedSetRepresentation ( resqml2::AbstractFeatureInterpretation * interp,
const std::string & guid,
const std::string & title )

Creates an instance of this class in a gsoap context.

Exceptions
std::invalid_argumentIf interp == nullptr.
Parameters
[in]interpThe interpretation this representation represents.
guidThe guid to set to the new instance. If empty then a new guid will be generated.
titleA title for the instance to create.

◆ TriangulatedSetRepresentation() [4/4]

resqml2_2::TriangulatedSetRepresentation::TriangulatedSetRepresentation ( gsoap_eml2_3::_resqml22__TriangulatedSetRepresentation * fromGsoap)
inline

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

Parameters
[in,out]fromGsoapIf non-null, from gsoap.

◆ ~TriangulatedSetRepresentation()

resqml2_2::TriangulatedSetRepresentation::~TriangulatedSetRepresentation ( )
virtualdefault

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

Reimplemented from resqml2::TriangulatedSetRepresentation.

Member Function Documentation

◆ getHdfProxyDor()

common::DataObjectReference resqml2_2::TriangulatedSetRepresentation::getHdfProxyDor ( ) const
virtual

Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry).

Exceptions
std::logic_errorIf this representation is partial.
Returns
The data object reference of the HDF proxy used for storing the geometry, or empty data object reference if it fails.

Implements resqml2::AbstractRepresentation.

◆ getPatchCount()

uint64_t resqml2_2::TriangulatedSetRepresentation::getPatchCount ( ) const
finalvirtual

Gets the patch count.

Returns
The patch count.

Implements resqml2::TriangulatedSetRepresentation.

◆ getTriangleCountOfAllPatches()

uint64_t resqml2_2::TriangulatedSetRepresentation::getTriangleCountOfAllPatches ( ) const
finalvirtual

Get the triangle count of all patches of this representation.

Returns
The triangle count of all patches.

Implements resqml2::TriangulatedSetRepresentation.

◆ getTriangleCountOfPatch()

uint64_t resqml2_2::TriangulatedSetRepresentation::getTriangleCountOfPatch ( unsigned int patchIndex) const
finalvirtual

Gets the triangle count in a given patch of this representation.

Exceptions
std::out_of_rangeIf patchIndex >= getPatchCount().
Parameters
patchIndexA patch index.
Returns
The triangle count of the patch at position patchIndex.

Implements resqml2::TriangulatedSetRepresentation.

◆ getTriangleNodeIndicesOfAllPatches()

void resqml2_2::TriangulatedSetRepresentation::getTriangleNodeIndicesOfAllPatches ( unsigned int * triangleNodeIndices) const
finalvirtual

Gets all the triangle node indices of all patches of this representation. See resqml2::AbstractRepresentation::getXyzPointsOfPatch method to read the xyz coordinates of the triangle nodes.

Parameters
[out]triangleNodeIndicesA preallocated array of size 3 * getTriangleCountOfAllPatches() to receive the triangle node indices. It is ordered first by nodes, then by triangles and then by patches.

Implements resqml2::TriangulatedSetRepresentation.

◆ getTriangleNodeIndicesOfPatch()

void resqml2_2::TriangulatedSetRepresentation::getTriangleNodeIndicesOfPatch ( unsigned int patchIndex,
unsigned int * triangleNodeIndices ) const
finalvirtual

Gets all the triangle node indices of a particular patch of this representation. See resqml2::AbstractRepresentation::getXyzPointsOfPatch method to read the xyz coordinates of the triangle nodes.

Exceptions
std::out_of_rangeIf patchIndex >= getPatchCount().
Parameters
patchIndexThe index of the patch which contains the triangle node indices we want to get.
[out]triangleNodeIndicesA preallocated array of size 3 * getTriangleCountOfPatch(patchIndex) to receive the triangle node indices. The three first values give the 3 indices of the 3 vertices of the first triangle. The three following values define the 3 vertices of the second triangle and so on.

Implements resqml2::TriangulatedSetRepresentation.

◆ getXmlNamespace()

std::string resqml2_2::TriangulatedSetRepresentation::getXmlNamespace ( ) const
inlinefinalvirtual

Get the standard XML namespace for serializing this data object.

Implements common::AbstractObject.

◆ getXyzPointCountOfPatch()

uint64_t resqml2_2::TriangulatedSetRepresentation::getXyzPointCountOfPatch ( unsigned int patchIndex) const
finalvirtual

Get the xyz point count in a given patch of this representation.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::logic_errorIf this representation is partial.
Parameters
patchIndexZero-based index of the patch from which we look for the xyz points.
Returns
The xyz point count of the patch at position patchIndex.

Implements resqml2::AbstractRepresentation.

◆ getXyzPointsOfPatch()

void resqml2_2::TriangulatedSetRepresentation::getXyzPointsOfPatch ( unsigned int patchIndex,
double * xyzPoints ) const
finalvirtual

Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::logic_errorIf this representation is partial.
Parameters
patchIndexZero-based index of the patch from which we look for the xyz points.
[out]xyzPointsA linearized 2d array where the first (quickest) dimension is the coordinate dimension (x, y or z) and second dimension is vertex dimension. It must be preallocated with a size of 3 * getXyzPointCountOfPatch(patchIndex).

Implements resqml2::AbstractRepresentation.

◆ pushBackTrianglePatch()

void resqml2_2::TriangulatedSetRepresentation::pushBackTrianglePatch ( unsigned int nodeCount,
double const * nodes,
unsigned int triangleCount,
unsigned int const * triangleNodeIndices,
eml2::AbstractHdfProxy * proxy = nullptr,
eml2::AbstractLocal3dCrs * localCrs = nullptr )
finalvirtual

Pushes back a new patch of triangles.

Exceptions
std::invalid_argumentIf proxy == nullptr and no default HDF proxy is defined in the repository.
std::invalid_argumentIf localCrs == nullptr and no default local CRS id defined in the repository.
Parameters
nodeCountThe node count in this patch.
[in]nodesAn array of size 3 * nodeCount containing the xyz values of the nodes. It is ordered first by xyz and then by nodes.
triangleCountThe triangle count in this patch.
[in]triangleNodeIndicesAn array of size 3 * triangleCount containing the definition of the triangles of the triangulated topology by means of the indices of their vertices in the node list. The three first values give the 3 indices of the 3 vertices of the first triangle. The three following values define the 3 vertices of the second triangle and so on.
[in,out]proxy(Optional) The HDF proxy which defines where the nodes and triangle indices will be stored. If nullptr (default), then the repository default HDF proxy will be used.
[in]localCrs(Optional) The local CRS where the nodes are defined. If nullptr (default value), then the repository default local CRS will be used.

Implements resqml2::TriangulatedSetRepresentation.

Member Data Documentation

◆ XML_NS

const char* resqml2_2::TriangulatedSetRepresentation::XML_NS
static

The standard XML namespace for serializing this data object.


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