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
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 uint64_t getTriangleCountOfPatch(unsigned int patchIndex) const = 0;
77
83 DLL_IMPORT_OR_EXPORT virtual uint64_t 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 uint64_t getPatchCount() const override = 0;
116
118 DLL_IMPORT_OR_EXPORT static constexpr char const* XML_TAG = "TriangulatedSetRepresentation";
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
virtual void getTriangleNodeIndicesOfAllPatches(unsigned int *triangleNodeIndices) const =0
uint64_t getPatchCount() const override=0
virtual void getTriangleNodeIndicesOfPatch(unsigned int patchIndex, 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 uint64_t getTriangleCountOfAllPatches() const =0
virtual uint64_t getTriangleCountOfPatch(unsigned int patchIndex) const =0