Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
PolylineSetRepresentation.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 "AbstractRepresentation.h"
22 
23 namespace RESQML2_NS
24 {
34  {
35  public:
36 
38  virtual ~PolylineSetRepresentation() = default;
39 
50  DLL_IMPORT_OR_EXPORT virtual unsigned int getPolylineCountOfPatch(unsigned int patchIndex) const = 0;
51 
57  DLL_IMPORT_OR_EXPORT virtual unsigned int getPolylineCountOfAllPatches() const = 0;
58 
71  DLL_IMPORT_OR_EXPORT virtual void getNodeCountPerPolylineInPatch(unsigned int patchIndex, unsigned int * nodeCountPerPolyline) const = 0;
72 
80  DLL_IMPORT_OR_EXPORT virtual void getNodeCountPerPolylineOfAllPatches(unsigned int * NodeCountPerPolyline) const = 0;
81 
82  DLL_IMPORT_OR_EXPORT uint64_t getXyzPointCountOfPatch(unsigned int patchIndex) const final;
83 
108  DLL_IMPORT_OR_EXPORT virtual void pushBackGeometryPatch(
109  unsigned int const * nodeCountPerPolyline, double const * nodes,
110  unsigned int polylineCount, bool allPolylinesClosedFlag,
111  EML2_NS::AbstractHdfProxy* proxy = nullptr, RESQML2_NS::AbstractLocal3dCrs* localCrs = nullptr) = 0;
112 
137  DLL_IMPORT_OR_EXPORT virtual void pushBackGeometryPatch(
138  unsigned int const * nodeCountPerPolyline, double const * nodes,
139  unsigned int polylineCount, bool * polylineClosedFlags,
140  EML2_NS::AbstractHdfProxy* proxy = nullptr, RESQML2_NS::AbstractLocal3dCrs* localCrs = nullptr) = 0;
141 
154  DLL_IMPORT_OR_EXPORT bool virtual areAllPolylinesClosedOfPatch(unsigned int patchIndex) const = 0;
155 
163  DLL_IMPORT_OR_EXPORT virtual bool areAllPolylinesClosedOfAllPatches() const = 0;
164 
177  DLL_IMPORT_OR_EXPORT virtual bool areAllPolylinesNonClosedOfPatch(unsigned int patchIndex) const = 0;
178 
186  DLL_IMPORT_OR_EXPORT virtual bool areAllPolylinesNonClosedOfAllPatches() const = 0;
187 
199  DLL_IMPORT_OR_EXPORT virtual void getClosedFlagPerPolylineOfPatch(unsigned int patchIndex, bool * closedFlagPerPolyline) const = 0;
200 
208  DLL_IMPORT_OR_EXPORT virtual void getClosedFlagPerPolylineOfAllPatches(bool * closedFlagPerPolyline) const = 0;
209 
215  DLL_IMPORT_OR_EXPORT virtual bool hasALineRole() const = 0;
216 
224  DLL_IMPORT_OR_EXPORT virtual gsoap_eml2_3::resqml22__LineRole getLineRole() const = 0;
225 
231  DLL_IMPORT_OR_EXPORT virtual void setLineRole(gsoap_eml2_3::resqml22__LineRole lineRole) = 0;
232 
234  DLL_IMPORT_OR_EXPORT static const char* XML_TAG;
235 
236  DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const final { return XML_TAG; }
237 
238  protected:
239 
247  DLL_IMPORT_OR_EXPORT PolylineSetRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : AbstractRepresentation(partialObject) {}
248 
252  PolylineSetRepresentation() {}
253 
259  PolylineSetRepresentation(gsoap_resqml2_0_1::_resqml20__PolylineSetRepresentation* fromGsoap) : AbstractRepresentation(fromGsoap) {}
260 
266  PolylineSetRepresentation(gsoap_eml2_3::_resqml22__PolylineSetRepresentation* fromGsoap) : AbstractRepresentation(fromGsoap) {}
267  };
268 }
Proxy class for an abstract representation.
Definition: AbstractRepresentation.h:32
A representation made up of a set of polylines or a set of polygonal chains (for more information,...
Definition: PolylineSetRepresentation.h:34
virtual void getClosedFlagPerPolylineOfAllPatches(bool *closedFlagPerPolyline) const =0
virtual bool areAllPolylinesNonClosedOfAllPatches() const =0
virtual gsoap_eml2_3::resqml22__LineRole getLineRole() const =0
virtual void getNodeCountPerPolylineOfAllPatches(unsigned int *NodeCountPerPolyline) const =0
virtual unsigned int getPolylineCountOfAllPatches() const =0
uint64_t getXyzPointCountOfPatch(unsigned int patchIndex) const final
virtual bool areAllPolylinesNonClosedOfPatch(unsigned int patchIndex) const =0
virtual void getClosedFlagPerPolylineOfPatch(unsigned int patchIndex, bool *closedFlagPerPolyline) const =0
virtual void pushBackGeometryPatch(unsigned int const *nodeCountPerPolyline, double const *nodes, unsigned int polylineCount, bool *polylineClosedFlags, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr)=0
virtual void setLineRole(gsoap_eml2_3::resqml22__LineRole lineRole)=0
virtual bool hasALineRole() const =0
virtual bool areAllPolylinesClosedOfAllPatches() const =0
virtual std::string getXmlTag() const final
Definition: PolylineSetRepresentation.h:236
virtual void getNodeCountPerPolylineInPatch(unsigned int patchIndex, unsigned int *nodeCountPerPolyline) const =0
virtual unsigned int getPolylineCountOfPatch(unsigned int patchIndex) const =0
static const char * XML_TAG
Definition: PolylineSetRepresentation.h:234
virtual void pushBackGeometryPatch(unsigned int const *nodeCountPerPolyline, double const *nodes, unsigned int polylineCount, bool allPolylinesClosedFlag, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr)=0
virtual ~PolylineSetRepresentation()=default
virtual bool areAllPolylinesClosedOfPatch(unsigned int patchIndex) const =0