36 #include "resqml2_0_1/AbstractIjkGridRepresentation.h" 38 #include "tools/BSpline.h" 45 void getXyzPointsOfPatchFromParametricPoints(gsoap_resqml2_0_1::resqml2__Point3dParametricArray* parametricPoint3d,
double * xyzPoints)
const;
47 class PillarInformation
51 unsigned int maxControlPointCount;
52 unsigned int parametricLineCount;
53 unsigned int splitLineCount;
54 double * controlPoints;
55 double * controlPointParameters;
57 unsigned int* pillarOfSplitCoordLines;
58 std::vector< std::vector< geometry::BSpline > > splines;
60 PillarInformation():maxControlPointCount(0), parametricLineCount(0), splitLineCount(0),
61 controlPoints(
nullptr), controlPointParameters(
nullptr), pillarKind(
nullptr), pillarOfSplitCoordLines(
nullptr) {}
63 ~PillarInformation() {
68 if (controlPoints !=
nullptr)
delete[] controlPoints;
69 if (controlPointParameters !=
nullptr)
delete[] controlPointParameters;
70 if (pillarKind !=
nullptr)
delete[] pillarKind;
71 if (pillarOfSplitCoordLines !=
nullptr)
delete[] pillarOfSplitCoordLines;
79 void loadPillarInformation(PillarInformation & pillarInfo)
const;
81 PillarInformation* pillarInformation;
85 const std::string & guid,
const std::string & title,
86 const unsigned int & iCount,
const unsigned int & jCount,
const unsigned int & kCount,
87 bool withTruncatedPillars =
false);
90 const std::string & guid,
const std::string & title,
91 const unsigned int & iCount,
const unsigned int & jCount,
const unsigned int & kCount,
92 bool withTruncatedPillars =
false);
104 if (pillarInformation !=
nullptr)
105 delete pillarInformation;
108 std::string getHdfProxyUuid()
const;
113 ULONG64 getXyzPointCountOfPatch(
const unsigned int & patchIndex)
const;
123 void getXyzPointsOfKInterfaceSequenceOfPatch(
const unsigned int & kInterfaceStart,
const unsigned int & kInterfaceEnd,
const unsigned int & patchIndex,
double * xyzPoints);
130 void getXyzPointsOfPatch(
const unsigned int & patchIndex,
double * xyzPoints)
const;
135 unsigned int getControlPointMaxCountPerPillar()
const;
142 void getControlPoints(
double * controlPoints,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
148 bool hasControlPointParameters()
const;
156 void getControlPointParameters(
double * controlPointParameters,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
161 bool isParametricLineKindConstant()
const;
166 short getConstantParametricLineKind()
const;
173 void getParametricLineKind(
short * pillarKind,
bool reverseIAxis =
false,
bool reverseJAxis=
false)
const;
180 void getParametersOfNodes(
double * parameters,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
196 void setGeometryAsParametricNonSplittedPillarNodes(
197 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
198 double * parameters,
double * controlPoints,
double * controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
short * pillarKind,
common::AbstractHdfProxy* proxy);
204 void setGeometryAsParametricNonSplittedPillarNodesUsingExistingDatasets(
205 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
206 const std::string & parameters,
const std::string & controlPoints,
const std::string & controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
const std::string & pillarKind,
const std::string & definedPillars,
common::AbstractHdfProxy* proxy);
225 void setGeometryAsParametricSplittedPillarNodes(
226 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
227 double * parameters,
double * controlPoints,
double * controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
short * pillarKind,
common::AbstractHdfProxy* proxy,
228 const unsigned long & splitCoordinateLineCount,
unsigned int * pillarOfCoordinateLine,
229 unsigned int * splitCoordinateLineColumnCumulativeCount,
unsigned int * splitCoordinateLineColumns);
235 void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
236 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
237 const std::string & parameters,
const std::string & controlPoints,
const std::string & controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
const std::string & pillarKind,
const std::string & definedPillars,
common::AbstractHdfProxy* proxy,
238 const unsigned long & splitCoordinateLineCount,
const std::string & pillarOfCoordinateLine,
239 const std::string & splitCoordinateLineColumnCumulativeCount,
const std::string & splitCoordinateLineColumns);
257 void setGeometryAsParametricSplittedPillarNodes(
258 const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
259 double * parameters,
double * controlPoints,
double * controlPointParameters,
const unsigned int & controlPointCountPerPillar,
short pillarKind,
common::AbstractHdfProxy* proxy,
260 const unsigned long & splitCoordinateLineCount,
unsigned int * pillarOfCoordinateLine,
261 unsigned int * splitCoordinateLineColumnCumulativeCount,
unsigned int * splitCoordinateLineColumns);
266 void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
267 const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
268 const std::string & parameters,
const std::string & controlPoints,
const std::string & controlPointParameters,
const unsigned int & controlPointCountPerPillar,
short pillarKind,
common::AbstractHdfProxy* proxy,
269 const unsigned long & splitCoordinateLineCount,
const std::string & pillarOfCoordinateLine,
270 const std::string & splitCoordinateLineColumnCumulativeCount,
const std::string & splitCoordinateLineColumns);
272 geometryKind getGeometryKind()
const;
Definition: AbstractIjkGridRepresentation.h:46
Definition: AbstractLocal3dCrs.h:40
virtual ~IjkGridParametricRepresentation()
Definition: IjkGridParametricRepresentation.h:103
Definition: EpcDocument.h:78
Definition: IjkGridParametricRepresentation.h:42
Definition: AbstractHdfProxy.h:45
Definition: AbstractFeatureInterpretation.h:45
IjkGridParametricRepresentation(gsoap_resqml2_0_1::_resqml2__IjkGridRepresentation *fromGsoap)
Definition: IjkGridParametricRepresentation.h:97