Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
TriangulatedSetRepresentation.h
1/*-----------------------------------------------------------------------
2Licensed to the Apache Software Foundation (ASF) under one
3or more contributor license agreements. See the NOTICE file
4distributed with this work for additional information
5regarding copyright ownership. The ASF licenses this file
6to you under the Apache License, Version 2.0 (the
7"License"; you may not use this file except in compliance
8with the License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12Unless required by applicable law or agreed to in writing,
13software distributed under the License is distributed on an
14"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15KIND, either express or implied. See the License for the
16specific language governing permissions and limitations
17under the License.
18-----------------------------------------------------------------------*/
19#pragma once
20
21#include "AbstractSurfaceRepresentation.h"
22
23namespace RESQML2_NS
24{
31 {
32 public:
33
35 virtual ~TriangulatedSetRepresentation() = default;
36
65 DLL_IMPORT_OR_EXPORT virtual void pushBackTrianglePatch(unsigned int nodeCount, double const * nodes, unsigned int triangleCount, unsigned int const * triangleNodeIndices, EML2_NS::AbstractHdfProxy* proxy = nullptr, RESQML2_NS::AbstractLocal3dCrs* localCrs = nullptr) = 0;
66
76 DLL_IMPORT_OR_EXPORT virtual unsigned int getTriangleCountOfPatch(unsigned int patchIndex) const = 0;
77
83 DLL_IMPORT_OR_EXPORT virtual unsigned int getTriangleCountOfAllPatches() const = 0;
84
101 DLL_IMPORT_OR_EXPORT virtual void getTriangleNodeIndicesOfPatch(unsigned int patchIndex, unsigned int * triangleNodeIndices) const = 0;
102
113 DLL_IMPORT_OR_EXPORT virtual void getTriangleNodeIndicesOfAllPatches(unsigned int * triangleNodeIndices) const = 0;
114
115 DLL_IMPORT_OR_EXPORT unsigned int getPatchCount() const override = 0;
116
118 DLL_IMPORT_OR_EXPORT static const char* XML_TAG;
119
120 DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const final { return XML_TAG; }
121
122 protected:
123
131 DLL_IMPORT_OR_EXPORT TriangulatedSetRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : AbstractSurfaceRepresentation(partialObject) {}
132
136 TriangulatedSetRepresentation() {}
137
143 TriangulatedSetRepresentation(gsoap_resqml2_0_1::_resqml20__TriangulatedSetRepresentation* fromGsoap) : AbstractSurfaceRepresentation(fromGsoap) {}
144
150 TriangulatedSetRepresentation(gsoap_eml2_3::_resqml22__TriangulatedSetRepresentation* fromGsoap) : AbstractSurfaceRepresentation(fromGsoap) {}
151 };
152}
An abstract surface representation. It is the parent class of structural surface representations,...
Definition: AbstractSurfaceRepresentation.h:33
A triangulated representation is a representation (most of time a surface) which is constituted by tr...
Definition: TriangulatedSetRepresentation.h:31
virtual ~TriangulatedSetRepresentation()=default
static const char * XML_TAG
Definition: TriangulatedSetRepresentation.h:118
virtual void getTriangleNodeIndicesOfAllPatches(unsigned int *triangleNodeIndices) const =0
virtual void pushBackTrianglePatch(unsigned int nodeCount, double const *nodes, unsigned int triangleCount, unsigned int const *triangleNodeIndices, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr)=0
virtual unsigned int getTriangleCountOfAllPatches() const =0
unsigned int getPatchCount() const override=0
virtual void getTriangleNodeIndicesOfPatch(unsigned int patchIndex, unsigned int *triangleNodeIndices) const =0
virtual unsigned int getTriangleCountOfPatch(unsigned int patchIndex) const =0
virtual std::string getXmlTag() const final
Definition: TriangulatedSetRepresentation.h:120