- /*Handle(HYDROData_PolylineXY) aPolylineXY = Handle(HYDROData_PolylineXY)::DownCast( doc()->CreateObject( KIND_POLYLINEXY ) );
-
- Handle(HYDROData_Polyline3D) aPolylineObj = Handle(HYDROData_Polyline3D)::DownCast( doc()->CreateObject( KIND_POLYLINE ) );
- */
- //TODO - move to hydro data
- std::vector<Handle(HYDROData_Entity)> anEntities;
- for ( int i = 0; i < myCurveBlocks.size(); i++ )
- {
- if (myCurveBlocks[i].myType == 4) /// scatter plot -> to bathy
- {
- Handle(HYDROData_Bathymetry) aBath = Handle(HYDROData_Bathymetry)::DownCast( doc()->CreateObject( KIND_BATHYMETRY ) );
- HYDROData_Bathymetry::AltitudePoints aAPoints;
- for (int j = 0; j < myCurveBlocks[i].myXYZPoints.size(); j++)
- aAPoints.Append(gp_XYZ (myCurveBlocks[i].myXYZPoints[j]));
-
- aBath->SetAltitudePoints(aAPoints);
- aBath->SetName(myCurveBlocks[i].myName);
- anEntities.push_back(aBath);
- }
- if (myCurveBlocks[i].myType == 1 || myCurveBlocks[i].myType == 3)
- {
- NCollection_Sequence<gp_XYZ> aPoints;
- for (int j = 0; j < myCurveBlocks[i].myXYZPoints.size(); j++)
- aPoints.Append(gp_XYZ (myCurveBlocks[i].myXYZPoints[j]));
- if (myCurveBlocks[i].myIsClosed)
- aPoints.Append(gp_XYZ (myCurveBlocks[i].myXYZPoints[0]));
- Handle(HYDROData_ProfileUZ) aProfileUZ = Handle(HYDROData_ProfileUZ)::DownCast( doc()->CreateObject( KIND_PROFILEUZ ) );
- Handle(HYDROData_PolylineXY) aPolyXY = Handle(HYDROData_PolylineXY)::DownCast( doc()->CreateObject( KIND_POLYLINEXY ) );
- aPolyXY->AddSection( "", myCurveBlocks[i].myIsSpline ? HYDROData_PolylineXY::SECTION_SPLINE : HYDROData_PolylineXY::SECTION_POLYLINE, false );
- aProfileUZ->CalculateAndAddPoints(aPoints, aPolyXY);
- Handle(HYDROData_Profile) aProfile = Handle(HYDROData_Profile)::DownCast( doc()->CreateObject( KIND_PROFILE ) );
- aProfile->SetParametricPoints(aProfileUZ->GetPoints());
- aPolyXY->SetName(myCurveBlocks[i].myName + "_polyXY");
- aProfileUZ->SetName(myCurveBlocks[i].myName + "_profileUZ");
- aProfile->SetName(myCurveBlocks[i].myName + "_profile");
- anEntities.push_back(aPolyXY);
- anEntities.push_back(aProfileUZ);
- anEntities.push_back(aProfile);
- }
- if (myCurveBlocks[i].myType == 2)
- {
- if (myCurveBlocks[i].myCurvePlane == 2)
- {
- if (myCurveBlocks[i].myAdditionalCurveInfo.size() == 4)
- {
- Handle(HYDROData_Profile) aProfile = Handle(HYDROData_Profile)::DownCast( doc()->CreateObject( KIND_PROFILE ) );
- HYDROData_ProfileUZ::PointsList aPointList;
- for (int j = 0; j < myCurveBlocks[i].myXYZPoints.size(); j++)
- aPointList.Append(gp_XY (myCurveBlocks[i].myXYZPoints[j].X(), myCurveBlocks[i].myXYZPoints[j].Z()));
-
- aProfile->SetParametricPoints(aPointList);
- if ( ! (myCurveBlocks[i].myAdditionalCurveInfo[0] == 0 && myCurveBlocks[i].myAdditionalCurveInfo[1] == 0 &&
- myCurveBlocks[i].myAdditionalCurveInfo[2] == 0 && myCurveBlocks[i].myAdditionalCurveInfo[3] == 0) )
- {
- aProfile->SetLeftPoint(gp_XY(myCurveBlocks[i].myAdditionalCurveInfo[0], myCurveBlocks[i].myAdditionalCurveInfo[1]));
- aProfile->SetRightPoint(gp_XY(myCurveBlocks[i].myAdditionalCurveInfo[2], myCurveBlocks[i].myAdditionalCurveInfo[3]));
- aProfile->Update();
- }
- aProfile->SetName(myCurveBlocks[i].myName + "_profile");
- anEntities.push_back(aProfile);
- }
- }
- if (myCurveBlocks[i].myCurvePlane == 0)
- {
- Handle(HYDROData_Profile) aProfile = Handle(HYDROData_Profile)::DownCast( doc()->CreateObject( KIND_PROFILE ) );
- HYDROData_Profile::ProfilePoints aPointList;
- for (int j = 0; j < myCurveBlocks[i].myXYZPoints.size(); j++)
- aPointList.Append(myCurveBlocks[i].myXYZPoints[j]);
- aProfile->SetProfilePoints(aPointList);
- aProfile->SetName(myCurveBlocks[i].myName + "_profile");
- anEntities.push_back(aProfile);
- }
- }
- }
-
- /////
-