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;
52 unsigned int maxControlPointCount;
53 unsigned int parametricLineCount;
54 unsigned int splitLineCount;
55 double * controlPoints;
56 double * controlPointParameters;
58 unsigned int* pillarOfSplitCoordLines;
59 std::vector< std::vector< geometry::BSpline > > splines;
61 PillarInformation():maxControlPointCount(0), parametricLineCount(0), splitLineCount(0),
62 controlPoints(
nullptr), controlPointParameters(
nullptr), pillarKind(
nullptr), pillarOfSplitCoordLines(
nullptr) {}
69 if (controlPoints !=
nullptr)
delete[] controlPoints;
70 if (controlPointParameters !=
nullptr)
delete[] controlPointParameters;
71 if (pillarKind !=
nullptr)
delete[] pillarKind;
72 if (pillarOfSplitCoordLines !=
nullptr)
delete[] pillarOfSplitCoordLines;
77 const std::string & guid,
const std::string & title,
78 const unsigned int & iCount,
const unsigned int & jCount,
const unsigned int & kCount,
79 bool withTruncatedPillars =
false);
82 const std::string & guid,
const std::string & title,
83 const unsigned int & iCount,
const unsigned int & jCount,
const unsigned int & kCount,
84 bool withTruncatedPillars =
false);
97 std::string getHdfProxyUuid()
const;
102 ULONG64 getXyzPointCountOfKInterfaceOfPatch(
const unsigned int & patchIndex)
const;
107 ULONG64 getXyzPointCountOfPatch(
const unsigned int & patchIndex)
const;
124 void getXyzPointsOfKInterfaceOfPatch(
const unsigned int & kInterface,
const unsigned int & patchIndex,
double * xyzPoints,
const PillarInformation & pillarInfo)
const;
131 void getXyzPointsOfPatch(
const unsigned int & patchIndex,
double * xyzPoints)
const;
136 unsigned int getControlPointMaxCountPerPillar()
const;
143 void getControlPoints(
double * controlPoints,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
149 bool hasControlPointParameters()
const;
157 void getControlPointParameters(
double * controlPointParameters,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
162 bool isParametricLineKindConstant()
const;
167 short getConstantParametricLineKind()
const;
174 void getParametricLineKind(
short * pillarKind,
bool reverseIAxis =
false,
bool reverseJAxis=
false)
const;
181 void getParametersOfNodes(
double * parameters,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
197 void setGeometryAsParametricNonSplittedPillarNodes(
198 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
199 double * parameters,
double * controlPoints,
double * controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
short * pillarKind,
resqml2::AbstractHdfProxy* proxy);
205 void setGeometryAsParametricNonSplittedPillarNodesUsingExistingDatasets(
206 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
207 const std::string & parameters,
const std::string & controlPoints,
const std::string & controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
const std::string & pillarKind,
const std::string & definedPillars,
resqml2::AbstractHdfProxy* proxy);
226 void setGeometryAsParametricSplittedPillarNodes(
227 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
228 double * parameters,
double * controlPoints,
double * controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
short * pillarKind,
resqml2::AbstractHdfProxy* proxy,
229 const unsigned long & splitCoordinateLineCount,
unsigned int * pillarOfCoordinateLine,
230 unsigned int * splitCoordinateLineColumnCumulativeCount,
unsigned int * splitCoordinateLineColumns);
236 void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
237 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
238 const std::string & parameters,
const std::string & controlPoints,
const std::string & controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
const std::string & pillarKind,
const std::string & definedPillars,
resqml2::AbstractHdfProxy* proxy,
239 const unsigned long & splitCoordinateLineCount,
const std::string & pillarOfCoordinateLine,
240 const std::string & splitCoordinateLineColumnCumulativeCount,
const std::string & splitCoordinateLineColumns);
258 void setGeometryAsParametricSplittedPillarNodes(
259 const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
260 double * parameters,
double * controlPoints,
double * controlPointParameters,
const unsigned int & controlPointCountPerPillar,
short pillarKind,
resqml2::AbstractHdfProxy* proxy,
261 const unsigned long & splitCoordinateLineCount,
unsigned int * pillarOfCoordinateLine,
262 unsigned int * splitCoordinateLineColumnCumulativeCount,
unsigned int * splitCoordinateLineColumns);
267 void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
268 const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
269 const std::string & parameters,
const std::string & controlPoints,
const std::string & controlPointParameters,
const unsigned int & controlPointCountPerPillar,
short pillarKind,
resqml2::AbstractHdfProxy* proxy,
270 const unsigned long & splitCoordinateLineCount,
const std::string & pillarOfCoordinateLine,
271 const std::string & splitCoordinateLineColumnCumulativeCount,
const std::string & splitCoordinateLineColumns);
273 geometryKind getGeometryKind()
const;
Definition: AbstractIjkGridRepresentation.h:46
Definition: AbstractHdfProxy.h:44
Definition: AbstractLocal3dCrs.h:40
virtual ~IjkGridParametricRepresentation()
Definition: IjkGridParametricRepresentation.h:95
Definition: EpcDocument.h:79
Definition: IjkGridParametricRepresentation.h:42
Definition: AbstractFeatureInterpretation.h:45
IjkGridParametricRepresentation(gsoap_resqml2_0_1::_resqml2__IjkGridRepresentation *fromGsoap)
Definition: IjkGridParametricRepresentation.h:89