21 #include "resqml2_0_1/AbstractIjkGridRepresentation.h" 23 #include "tools/BSpline.h" 30 void getXyzPointsOfPatchFromParametricPoints(gsoap_resqml2_0_1::resqml2__Point3dParametricArray* parametricPoint3d,
double * xyzPoints)
const;
32 class PillarInformation
36 unsigned int maxControlPointCount;
37 unsigned int parametricLineCount;
38 unsigned int splitLineCount;
39 double * controlPoints;
40 double * controlPointParameters;
42 unsigned int* pillarOfSplitCoordLines;
43 std::vector< std::vector< geometry::BSpline > > splines;
45 PillarInformation():maxControlPointCount(0), parametricLineCount(0), splitLineCount(0),
46 controlPoints(
nullptr), controlPointParameters(
nullptr), pillarKind(
nullptr), pillarOfSplitCoordLines(
nullptr) {}
48 ~PillarInformation() {
53 if (controlPoints !=
nullptr)
delete[] controlPoints;
54 if (controlPointParameters !=
nullptr)
delete[] controlPointParameters;
55 if (pillarKind !=
nullptr)
delete[] pillarKind;
56 if (pillarOfSplitCoordLines !=
nullptr)
delete[] pillarOfSplitCoordLines;
64 void loadPillarInformation(PillarInformation & pillarInfo)
const;
69 gsoap_resqml2_0_1::resqml2__KDirection computeKDirection(
double * controlPoints,
const unsigned int & controlPointCountPerPillar);
71 PillarInformation* pillarInformation;
75 const std::string & guid,
const std::string & title,
76 const unsigned int & iCount,
const unsigned int & jCount,
const unsigned int & kCount,
77 bool withTruncatedPillars =
false);
80 const std::string & guid,
const std::string & title,
81 const unsigned int & iCount,
const unsigned int & jCount,
const unsigned int & kCount,
82 bool withTruncatedPillars =
false);
94 if (pillarInformation !=
nullptr)
95 delete pillarInformation;
98 std::string getHdfProxyUuid()
const;
103 ULONG64 getXyzPointCountOfPatch(
const unsigned int & patchIndex)
const;
113 void getXyzPointsOfKInterfaceSequenceOfPatch(
const unsigned int & kInterfaceStart,
const unsigned int & kInterfaceEnd,
const unsigned int & patchIndex,
double * xyzPoints);
120 void getXyzPointsOfBlockOfPatch(
const unsigned int & patchIndex,
double * xyzPoints);
127 void getXyzPointsOfPatch(
const unsigned int & patchIndex,
double * xyzPoints)
const;
132 unsigned int getControlPointMaxCountPerPillar()
const;
139 void getControlPoints(
double * controlPoints,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
145 bool hasControlPointParameters()
const;
153 void getControlPointParameters(
double * controlPointParameters,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
158 bool isParametricLineKindConstant()
const;
163 short getConstantParametricLineKind()
const;
170 void getParametricLineKind(
short * pillarKind,
bool reverseIAxis =
false,
bool reverseJAxis=
false)
const;
177 void getParametersOfNodes(
double * parameters,
bool reverseIAxis =
false,
bool reverseJAxis=
false,
bool reverseKAxis=
false)
const;
192 void setGeometryAsParametricNonSplittedPillarNodes(
193 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const bool & isRightHanded,
194 double * parameters,
double * controlPoints,
double * controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
short * pillarKind,
COMMON_NS::AbstractHdfProxy* proxy);
200 void setGeometryAsParametricNonSplittedPillarNodesUsingExistingDatasets(
201 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
202 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_NS::AbstractHdfProxy* proxy);
220 void setGeometryAsParametricSplittedPillarNodes(
221 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const bool & isRightHanded,
222 double * parameters,
double * controlPoints,
double * controlPointParameters,
const unsigned int & controlPointMaxCountPerPillar,
short * pillarKind,
COMMON_NS::AbstractHdfProxy* proxy,
223 const unsigned long & splitCoordinateLineCount,
unsigned int * pillarOfCoordinateLine,
224 unsigned int * splitCoordinateLineColumnCumulativeCount,
unsigned int * splitCoordinateLineColumns);
230 void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
231 const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
232 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_NS::AbstractHdfProxy* proxy,
233 const unsigned long & splitCoordinateLineCount,
const std::string & pillarOfCoordinateLine,
234 const std::string & splitCoordinateLineColumnCumulativeCount,
const std::string & splitCoordinateLineColumns);
251 void setGeometryAsParametricSplittedPillarNodes(
const bool & isRightHanded,
252 double * parameters,
double * controlPoints,
double * controlPointParameters,
const unsigned int & controlPointCountPerPillar,
short pillarKind,
COMMON_NS::AbstractHdfProxy* proxy,
253 const unsigned long & splitCoordinateLineCount,
unsigned int * pillarOfCoordinateLine,
254 unsigned int * splitCoordinateLineColumnCumulativeCount,
unsigned int * splitCoordinateLineColumns);
259 void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
260 const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
const bool & isRightHanded,
261 const std::string & parameters,
const std::string & controlPoints,
const std::string & controlPointParameters,
const unsigned int & controlPointCountPerPillar,
short pillarKind,
COMMON_NS::AbstractHdfProxy* proxy,
262 const unsigned long & splitCoordinateLineCount,
const std::string & pillarOfCoordinateLine,
263 const std::string & splitCoordinateLineColumnCumulativeCount,
const std::string & splitCoordinateLineColumns);
265 geometryKind getGeometryKind()
const;
Definition: AbstractIjkGridRepresentation.h:32
Definition: AbstractFeatureInterpretation.h:30
Definition: EpcDocument.h:65
virtual ~IjkGridParametricRepresentation()
Definition: IjkGridParametricRepresentation.h:93
Definition: IjkGridParametricRepresentation.h:27
Definition: AbstractHdfProxy.h:30
Definition: AbstractLocal3dCrs.h:25
IjkGridParametricRepresentation(gsoap_resqml2_0_1::_resqml2__IjkGridRepresentation *fromGsoap)
Definition: IjkGridParametricRepresentation.h:87