{
const QString& anObjName = aSplitData.ObjectNames.at( i );
- Handle(HYDROData_Object) aRefObject = Handle(HYDROData_Object)::DownCast(
- HYDROData_Tool::FindObjectByName( aDocument, anObjName ) );
+ Handle(HYDROData_Object) aRefObject =
+ Handle(HYDROData_Object)::DownCast( aDocument->FindObjectByName( anObjName ) );
if ( aRefObject.IsNull() )
continue;
double HYDROData_CalculationCase::GetAltitudeForPoint( const gp_XY& thePoint ) const
{
- double aResAltitude = HYDROData_IAltitudeObject::GetInvalidAltitude();
-
Handle(HYDROData_Zone) aZone = GetZoneFromPoint( thePoint );
- if ( aZone.IsNull() )
+ return GetAltitudeForPoint( thePoint, aZone );
+}
+
+double HYDROData_CalculationCase::GetAltitudeForPoint( const gp_XY& thePoint,
+ const Handle(HYDROData_Zone)& theZone ) const
+{
+ double aResAltitude = HYDROData_IAltitudeObject::GetInvalidAltitude();
+ if ( theZone.IsNull() )
return aResAltitude;
- HYDROData_Zone::MergeAltitudesType aZoneMergeType = aZone->GetMergeType();
- if ( !aZone->IsMergingNeed() )
+ HYDROData_Zone::MergeAltitudesType aZoneMergeType = theZone->GetMergeType();
+ if ( !theZone->IsMergingNeed() )
{
aZoneMergeType = HYDROData_Zone::Merge_UNKNOWN;
}
if ( aZoneMergeType == HYDROData_Zone::Merge_Object )
{
- Handle(HYDROData_IAltitudeObject) aMergeAltitude = aZone->GetMergeAltitude();
+ Handle(HYDROData_IAltitudeObject) aMergeAltitude = theZone->GetMergeAltitude();
if ( !aMergeAltitude.IsNull() )
aResAltitude = aMergeAltitude->GetAltitudeForPoint( thePoint );
}
else
{
- HYDROData_SequenceOfObjects aZoneObjects = aZone->GetGeometryObjects();
+ HYDROData_SequenceOfObjects aZoneObjects = theZone->GetGeometryObjects();
HYDROData_SequenceOfObjects::Iterator anIter( aZoneObjects );
for ( ; anIter.More(); anIter.Next() )
{
* \param thePoint the point to examine
* \return result altitude value
*/
- double GetAltitudeForPoint( const gp_XY& thePoint ) const;
+ double GetAltitudeForPoint( SIP_PYTUPLE thePoint ) const [double ( const gp_XY& )];
+ %MethodCode
+ double aRes = 0.0;
+
+ double x = 0.0, y = 0.0;
+ if ( PyArg_ParseTuple( a0, "dd", &x, &y ) )
+ {
+ gp_XY aPnt( x, y );
+
+ Py_BEGIN_ALLOW_THREADS
+ aRes = sipSelfWasArg ? sipCpp->HYDROData_CalculationCase::GetAltitudeForPoint( aPnt ) :
+ sipCpp->GetAltitudeForPoint( aPnt );
+ Py_END_ALLOW_THREADS
+ }
+
+ sipRes = aRes;
+ %End
+
+ /**
+ * Returns altitude for given point.
+ * \param thePoint the point to examine
+ * \return result altitude value
+ */
+ double GetAltitudeForPoint( SIP_PYTUPLE thePoint,
+ HYDROData_Zone theZone ) const
+ [double ( const Handle_HYDROData_Zone&, const gp_XY& )];
+ %MethodCode
+ double aRes = 0.0;
+
+ double x = 0.0, y = 0.0;
+ if ( PyArg_ParseTuple( a0, "dd", &x, &y ) )
+ {
+ gp_XY aPnt( x, y );
+
+ Handle(HYDROData_Zone) aRef =
+ Handle(HYDROData_Zone)::DownCast( createHandle( a1 ) );
+
+ Py_BEGIN_ALLOW_THREADS
+ aRes = sipSelfWasArg ? sipCpp->HYDROData_CalculationCase::GetAltitudeForPoint( aPnt, aRef ) :
+ sipCpp->GetAltitudeForPoint( aPnt, aRef );
+ Py_END_ALLOW_THREADS
+ }
+
+ sipRes = aRes;
+ %End
/**
* Returns zone to which the point is belongs.
* \param thePoint the point to examine
* \return result zone
*/
- HYDROData_Zone GetZoneFromPoint( SIP_PYTUPLE ) const [Handle_HYDROData_Zone ( const gp_XY& )];
+ HYDROData_Zone GetZoneFromPoint( SIP_PYTUPLE thePoint ) const [Handle_HYDROData_Zone ( const gp_XY& )];
%MethodCode
Handle(HYDROData_Zone) aRes;
* \param theZone the zone to examine
* \return result classification
*/
- PointClassification GetPointClassification(
- const gp_XY& thePoint,
- HYDROData_Zone theZone ) const
- [PointClassification ( const gp_XY&, const Handle_HYDROData_Zone& )];
-
+ PointClassification GetPointClassification( SIP_PYTUPLE thePoint,
+ HYDROData_Zone theZone ) const
+ [PointClassification ( const gp_XY&, const Handle_HYDROData_Zone& )];
%MethodCode
- Handle(HYDROData_Zone) aRef =
- Handle(HYDROData_Zone)::DownCast( createHandle( a1 ) );
-
- if ( !aRef.IsNull() )
+ HYDROData_CalculationCase::PointClassification aRes = HYDROData_CalculationCase::POINT_OUT;
+
+ double x = 0.0, y = 0.0;
+ if ( PyArg_ParseTuple( a0, "dd", &x, &y ) )
{
+ gp_XY aPnt( x, y );
+
+ Handle(HYDROData_Zone) aRef =
+ Handle(HYDROData_Zone)::DownCast( createHandle( a1 ) );
+
Py_BEGIN_ALLOW_THREADS
- sipRes = sipSelfWasArg ? sipCpp->HYDROData_CalculationCase::GetPointClassification( *a0, aRef ) :
- sipCpp->GetPointClassification( *a0, aRef );
+ aRes = sipSelfWasArg ? sipCpp->HYDROData_CalculationCase::GetPointClassification( aPnt, aRef ) :
+ sipCpp->GetPointClassification( aPnt, aRef );
Py_END_ALLOW_THREADS
}
+
+ sipRes = aRes;
%End
protected: