Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
TriangulatedSetRepresentation.h
1 /*-----------------------------------------------------------------------
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"; you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18 -----------------------------------------------------------------------*/
19 #pragma once
20 
21 #include "AbstractSurfaceRepresentation.h"
22 
23 namespace 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