36 #include "resqml2/AbstractColumnLayerGridRepresentation.h" 54 const std::string & guid,
const std::string & title,
55 const unsigned int & iCount,
const unsigned int & jCount,
const unsigned int & kCount,
56 bool withTruncatedPillars);
63 AbstractIjkGridRepresentation(gsoap_resqml2_0_1::_resqml2__IjkGridRepresentation* fromGsoap) : AbstractColumnLayerGridRepresentation(fromGsoap, false), splitInformation(nullptr) {}
64 AbstractIjkGridRepresentation(gsoap_resqml2_0_1::_resqml2__TruncatedIjkGridRepresentation* fromGsoap) : AbstractColumnLayerGridRepresentation(fromGsoap,
true), splitInformation(
nullptr) {}
66 gsoap_resqml2_0_1::_resqml2__IjkGridRepresentation* getSpecializedGsoapProxy()
const;
67 gsoap_resqml2_0_1::_resqml2__TruncatedIjkGridRepresentation* getSpecializedTruncatedGsoapProxy()
const;
69 gsoap_resqml2_0_1::resqml2__PointGeometry* getPointGeometry2_0_1(
const unsigned int & patchIndex)
const;
71 std::vector< std::pair< unsigned int, std::vector<unsigned int> > >* splitInformation;
75 enum geometryKind { UNKNOWN = 0, EXPLICIT = 1, PARAMETRIC = 2, LATTICE = 3, NO_GEOMETRY = 4};
81 const std::string & guid,
const std::string & title,
82 const unsigned int & iCount,
const unsigned int & jCount,
const unsigned int & kCount,
83 bool withTruncatedPillars =
false);
86 const std::string & guid,
const std::string & title,
87 const unsigned int & iCount,
const unsigned int & jCount,
const unsigned int & kCount,
88 bool withTruncatedPillars =
false);
94 bool withTruncatedPillars =
false) :
95 AbstractColumnLayerGridRepresentation(nullptr, partialObject, withTruncatedPillars), splitInformation(nullptr)
107 unsigned int getICellCount()
const;
112 void setICellCount(
const unsigned int & iCount);
117 unsigned int getJCellCount()
const;
122 void setJCellCount(
const unsigned int & jCount);
127 ULONG64
getCellCount()
const {
return getICellCount() * getJCellCount() * getKCellCount();}
137 unsigned int getPillarCount()
const {
return (getICellCount()+1) * (getJCellCount()+1);}
143 unsigned int getFaceCount()
const;
148 unsigned int getIPillarFromGlobalIndex(
const unsigned int & globalIndex)
const;
153 unsigned int getJPillarFromGlobalIndex(
const unsigned int & globalIndex)
const;
158 unsigned int getGlobalIndexPillarFromIjIndex(
const unsigned int & iPillar,
const unsigned int & jPillar)
const;
163 unsigned int getIColumnFromGlobalIndex(
const unsigned int & globalIndex)
const;
168 unsigned int getJColumnFromGlobalIndex(
const unsigned int & globalIndex)
const;
173 unsigned int getGlobalIndexColumnFromIjIndex(
const unsigned int & iColumn,
const unsigned int & jColumn)
const;
178 unsigned int getGlobalIndexCellFromIjkIndex(
const unsigned int & iCell,
const unsigned int & jCell,
const unsigned int & kCell)
const;
180 bool isRightHanded()
const;
187 void getPillarsOfSplitCoordinateLines(
unsigned int * pillarIndices,
bool reverseIAxis =
false,
bool reverseJAxis =
false)
const;
193 void getColumnsOfSplitCoordinateLines(
unsigned int * columnIndices,
bool reverseIAxis =
false,
bool reverseJAxis =
false)
const;
194 void getColumnCountOfSplitCoordinateLines(
unsigned int * columnIndexCountPerSplitCoordinateLine)
const;
199 unsigned long getSplitCoordinateLineCount()
const;
204 ULONG64 getSplitNodeCount()
const;
206 void getPillarGeometryIsDefined(
bool * pillarGeometryIsDefined,
bool reverseIAxis =
false,
bool reverseJAxis =
false)
const;
211 bool hasEnabledCellInformation()
const;
219 void getEnabledCells(
bool * enabledCells,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
226 void setEnabledCells(
unsigned char* enabledCells);
232 void loadSplitInformation();
237 void unloadSplitInformation();
249 bool isColumnEdgeSplitted(
const unsigned int & iColumn,
const unsigned int & jColumn,
const unsigned int & edge)
const;
267 ULONG64 getXyzPointIndexFromCellCorner(
const unsigned int & iCell,
const unsigned int & jCell,
const unsigned int & kCell,
const unsigned int & corner)
const;
272 ULONG64 getXyzPointCountOfKInterfaceOfPatch(
const unsigned int & patchIndex)
const;
282 void getXyzPointsOfKInterfaceOfPatch(
const unsigned int & kInterface,
const unsigned int & patchIndex,
double * xyzPoints);
284 virtual void getXyzPointsOfKInterfaceSequenceOfPatch(
const unsigned int & kInterfaceStart,
const unsigned int & kInterfaceEnd,
const unsigned int & patchIndex,
double * xyzPoints) {
throw std::logic_error(
"Partial object"); }
289 gsoap_resqml2_0_1::resqml2__KDirection getKDirection()
const;
291 virtual geometryKind getGeometryKind()
const {
return UNKNOWN; }
292 virtual std::string getHdfProxyUuid()
const {
throw std::logic_error(
"Partial object"); }
294 virtual void getXyzPointsOfPatch(
const unsigned int & patchIndex,
double * xyzPoints)
const {
throw std::logic_error(
"Partial object"); }
296 static const char* XML_TAG;
297 static const char* XML_TAG_TRUNCATED;
298 virtual std::string getXmlTag()
const;
300 unsigned int getPatchCount()
const {
return 1;}
virtual ~AbstractIjkGridRepresentation()
Definition: AbstractIjkGridRepresentation.h:102
Definition: AbstractIjkGridRepresentation.h:46
Definition: AbstractLocal3dCrs.h:40
virtual ULONG64 getXyzPointCountOfPatch(const unsigned int &patchIndex) const
Definition: AbstractIjkGridRepresentation.h:293
unsigned int getPillarCount() const
Definition: AbstractIjkGridRepresentation.h:137
Definition: EpcDocument.h:78
unsigned int getColumnCount() const
Definition: AbstractIjkGridRepresentation.h:132
Definition: AbstractColumnLayerGridRepresentation.h:45
ULONG64 getCellCount() const
Definition: AbstractIjkGridRepresentation.h:127
virtual void getXyzPointsOfPatch(const unsigned int &patchIndex, double *xyzPoints) const
Definition: AbstractIjkGridRepresentation.h:294
AbstractIjkGridRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject, bool withTruncatedPillars=false)
Definition: AbstractIjkGridRepresentation.h:93
Definition: AbstractFeatureInterpretation.h:45
AbstractIjkGridRepresentation(gsoap_resqml2_0_1::_resqml2__IjkGridRepresentation *fromGsoap)
Definition: AbstractIjkGridRepresentation.h:63