#include <HYDROData_Image.h>
%End
-class HYDROData_Image : HYDROData_Object
+class HYDROData_Image : HYDROData_Entity
{
%ConvertToSubClassCode
- if ( !Handle(HYDROData_Image)::DownCast( sipCpp ).IsNull() )
- sipClass = sipClass_HYDROData_Image;
- else
- sipClass = NULL;
+ switch ( sipCpp->GetKind() )
+ {
+ case KIND_IMAGE:
+ sipClass = sipClass_HYDROData_Image;
+ break;
+
+ default:
+ // We don't recognise the type.
+ sipClass = NULL;
+ }
%End
%TypeHeaderCode
#include <HYDROData_Image.h>
%End
-public:
-
- const ObjectKind GetKind() const;
-
public:
/**
*/
void SetImage( const QImage& theImage );
+ /**
+ * Load the image from file
+ * \param theFilePath path to image
+ */
+ bool LoadImage( const QString& theFilePath );
+
/**
* Returns the kept image
*/
/**
* Stores the image transformation points (3 input + 3 output)
- * \param thePointAIn input point A
- * \param thePointBIn input point B
- * \param thePointCIn input point C
- * \param thePointAOut output point A
- * \param thePointBOut output point B
- * \param thePointCOut output point C
+ * \param thePointA input point A
+ * \param thePointB input point B
+ * \param thePointC input point C
+ * \param theLambertPointA output point A in Lambert93 coordinates
+ * \param theLambertPointB output point B in Lambert93 coordinates
+ * \param theLambertPointC output point C in Lambert93 coordinates
+ * \param theCartesianPointA output point A in Cartesian coordinates
+ * \param theCartesianPointB output point B in Cartesian coordinates
+ * \param theCartesianPointC output point C in Cartesian coordinates
*/
- void SetTrsfPoints( const QPoint& thePointAIn,
- const QPoint& thePointBIn,
- const QPoint& thePointCIn,
- const QPointF& thePointAOut,
- const QPointF& thePointBOut,
- const QPointF& thePointCOut );
+ void SetTrsfPoints( const QPoint& thePointA,
+ const QPoint& thePointB,
+ const QPoint& thePointC,
+ const QPointF& theLambertPointA,
+ const QPointF& theLambertPointB,
+ const QPointF& theLambertPointC,
+ const QPointF& theCartesianPointA,
+ const QPointF& theCartesianPointB,
+ const QPointF& theCartesianPointC );
/**
* Returns the image transformation points (3 input + 3 output)
- * \param thePointAIn input point A
- * \param thePointBIn input point B
- * \param thePointCIn input point C
- * \param thePointAOut output point A
- * \param thePointBOut output point B
- * \param thePointCOut output point C
+ * \param thePointA input point A
+ * \param thePointB input point B
+ * \param thePointC input point C
+ * \param theLambertPointA output point A in Lambert93 coordinates
+ * \param theLambertPointB output point B in Lambert93 coordinates
+ * \param theLambertPointC output point C in Lambert93 coordinates
+ * \param theCartesianPointA output point A in Cartesian coordinates
+ * \param theCartesianPointB output point B in Cartesian coordinates
+ * \param theCartesianPointC output point C in Cartesian coordinates
+ */
+ void TrsfPoints( QPoint& thePointA,
+ QPoint& thePointB,
+ QPoint& thePointC,
+ QPointF& theLambertPointA,
+ QPointF& theLambertPointB,
+ QPointF& theLambertPointC,
+ QPointF& theCartesianPointA,
+ QPointF& theCartesianPointB,
+ QPointF& theCartesianPointC ) const;
+
+ /**
+ * Returns true if the image has stored transformation points
+ */
+ bool HasTrsfPoints() const;
+
+ /**
+ * Stores the transformation mode (0 - Lambert93, 1 - Cartesian)
+ */
+ void SetTrsfMode(const int theMode);
+
+ /**
+ * Returns the transformation mode (0 - Lambert93, 1 - Cartesian)
*/
- void TrsfPoints( QPoint& thePointAIn,
- QPoint& thePointBIn,
- QPoint& thePointCIn,
- QPointF& thePointAOut,
- QPointF& thePointBOut,
- QPointF& thePointCOut );
+ int TrsfMode() const;
+
+
+ /**
+ * Returns the number of referenced images
+ * \return zero if there is no references
+ */
+ int NbReferences();
/**
* Appends reference to other image.
* \param theReferenced the image referenced by this
*/
- void AppendReference( HYDROData_Image theReferenced ) [void (Handle_HYDROData_Image)];
+ void AppendReference( HYDROData_Entity theReferenced ) [void (Handle_HYDROData_Entity)];
%MethodCode
- Handle(HYDROData_Image) anImage =
- Handle(HYDROData_Image)::DownCast( createHandle( a0 ) );
- if ( !anImage.IsNull() )
+ Handle(HYDROData_Entity) aRefObj = createHandle( a0 );
+ if ( !aRefObj.IsNull() )
{
Py_BEGIN_ALLOW_THREADS
- sipSelfWasArg ? sipCpp->HYDROData_Image::AppendReference( anImage ) :
- sipCpp->AppendReference( anImage );
+ sipSelfWasArg ? sipCpp->HYDROData_Image::AppendReference( aRefObj ) :
+ sipCpp->AppendReference( aRefObj );
Py_END_ALLOW_THREADS
}
%End
- /**
- * Returns the number of referenced images
- * \return zero if there is no references
- */
- int NbReferences();
-
/**
* Returns reference by index.
* \param theIndex number of reference [0; NbReference)
* \returns the referenced image, or Null if index is invalid
*/
- HYDROData_Image Reference( const int theIndex ) const [Handle_HYDROData_Image (const int)];
+ HYDROData_Entity Reference( const int theIndex ) const [Handle_HYDROData_Entity (const int)];
%MethodCode
- Handle(HYDROData_Image) anImage;
+ Handle(HYDROData_Entity) aRefObj;
Py_BEGIN_ALLOW_THREADS
- sipSelfWasArg ? sipCpp->HYDROData_Image::Reference( a0 ) :
- sipCpp->Reference( a0 );
+ aRefObj = sipSelfWasArg ? sipCpp->HYDROData_Image::Reference( a0 ) :
+ sipCpp->Reference( a0 );
Py_END_ALLOW_THREADS
- sipRes = dynamic_cast<HYDROData_Image*>( createPointer( anImage ) );
+ sipRes = createPointer( aRefObj );
%End
* \param theIndex number of reference [0; NbReference]
* \param theReferenced the image referenced by this
*/
- void ChangeReference( const int theIndex, HYDROData_Image theReferenced ) [void (const int, Handle_HYDROData_Image)];
+ void ChangeReference( const int theIndex, HYDROData_Entity theReferenced ) [void (const int, Handle_HYDROData_Entity)];
%MethodCode
- Handle(HYDROData_Image) anImage =
- Handle(HYDROData_Image)::DownCast( createHandle( a1 ) );
- if ( !anImage.IsNull() )
+ Handle(HYDROData_Entity) aRefObj = createHandle( a1 );
+ if ( !aRefObj.IsNull() )
{
Py_BEGIN_ALLOW_THREADS
- sipSelfWasArg ? sipCpp->HYDROData_Image::ChangeReference( a0, anImage ) :
- sipCpp->ChangeReference( a0, anImage );
+ sipSelfWasArg ? sipCpp->HYDROData_Image::ChangeReference( a0, aRefObj ) :
+ sipCpp->ChangeReference( a0, aRefObj );
Py_END_ALLOW_THREADS
}