// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // %ExportedHeaderCode #include %End class HYDROData_Image : HYDROData_Object { %ConvertToSubClassCode if ( !Handle(HYDROData_Image)::DownCast( sipCpp ).IsNull() ) sipClass = sipClass_HYDROData_Image; else sipClass = NULL; %End %TypeHeaderCode #include %End public: const ObjectKind GetKind() const; public: /** * Stores the image * \param theImage new image */ void SetImage( const QImage& theImage ); /** * Returns the kept image */ QImage Image(); /** * Stores the image transformation * \param theTrsf new transformation */ void SetTrsf( const QTransform& theTrsf ); /** * Returns the kept transformation, or "identity" if not yet stored */ QTransform Trsf(); /** * 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 */ void SetTrsfPoints( const QPoint& thePointAIn, const QPoint& thePointBIn, const QPoint& thePointCIn, const QPointF& thePointAOut, const QPointF& thePointBOut, const QPointF& thePointCOut ); /** * 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 */ void TrsfPoints( QPoint& thePointAIn, QPoint& thePointBIn, QPoint& thePointCIn, QPointF& thePointAOut, QPointF& thePointBOut, QPointF& thePointCOut ); /** * Appends reference to other image. * \param theReferenced the image referenced by this */ void AppendReference( HYDROData_Image theReferenced ) [void (Handle_HYDROData_Image)]; %MethodCode Handle(HYDROData_Image) anImage = Handle(HYDROData_Image)::DownCast( createHandle( a0 ) ); if ( !anImage.IsNull() ) { Py_BEGIN_ALLOW_THREADS sipSelfWasArg ? sipCpp->HYDROData_Image::AppendReference( anImage ) : sipCpp->AppendReference( anImage ); 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)]; %MethodCode Handle(HYDROData_Image) anImage; Py_BEGIN_ALLOW_THREADS sipSelfWasArg ? sipCpp->HYDROData_Image::Reference( a0 ) : sipCpp->Reference( a0 ); Py_END_ALLOW_THREADS sipRes = dynamic_cast( createPointer( anImage ) ); %End /** * Updates reference by index. If index is one-bigger than \a NbReferences, * this method appends it to the end (NbReferences is incremented). * \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)]; %MethodCode Handle(HYDROData_Image) anImage = Handle(HYDROData_Image)::DownCast( createHandle( a1 ) ); if ( !anImage.IsNull() ) { Py_BEGIN_ALLOW_THREADS sipSelfWasArg ? sipCpp->HYDROData_Image::ChangeReference( a0, anImage ) : sipCpp->ChangeReference( a0, anImage ); Py_END_ALLOW_THREADS } %End /** * Removes reference by index * \param theIndex number of reference [0; NbReference) */ void RemoveReference( const int theIndex ); /** * Removes all references. */ void ClearReferences(); /** * Stores the operator name * \param theOpName name of the operator that must be executed for image update */ void SetOperatorName( const QString theOpName ); /** * Returns the operator name * \returns the name of the operator that must be executed for image update */ QString OperatorName(); /** * Stores the operator arguments * \param theArgs array that stores the operator arguments, needed for execution */ void SetArgs( const QByteArray& theArgs ); /** * Returns the operator arguments * \returns array that stores the operator arguments, needed for execution */ QByteArray Args(); /** * Sets the "MustBeUpdated" flag: if image is depended on updated features. * \param theFlag is true for images that must be updated, false for up-to-date */ void MustBeUpdated( bool theFlag ); /** * Returns the "MustBeUpdated" flag: is image must be recomputed or not * \returns false if image is up to date */ bool MustBeUpdated(); protected: /** * Creates new object in the internal data structure. Use higher level objects * to create objects with real content. */ HYDROData_Image(); /** * Destructs properties of the object and object itself, removes it from the document. */ ~HYDROData_Image(); };