/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef _PRCPICTURE_INCLUDED_ #define _PRCPICTURE_INCLUDED_ #include "PrcBase.h" #include "Gi/GiRasterImage.h" SMARTPTR(OdPrcPicture); class OdPrcFileStructure; /** \details The class represents a picture embedded in the .prc file. */ class PRC_TOOLKIT OdPrcPicture : public OdPrcBase { public: //DOM-IGNORE-BEGIN ODPRC_DECLARE_MEMBERS_PRCBASE(OdPrcPicture) //DOM-IGNORE-END /** \details Sets the picture format. \param format [in] A signed 32-bit integer value that contains the new picture format value. */ void setFormat(OdInt32 format); /** \details Requests the picture format. \returns A signed 32-bit integer value that contains the current picture format code. */ OdInt32 format() const; /** \details Sets a new picture height in pixels. \param pixel_height [in] An unsigned 32-bit integer value that contains the new height in pixels to be set. */ void setPixelHeight(OdUInt32 pixel_height); /** \details Requests the picture height in pixels. \returns An unsigned 32-bit integer value that contains the current picture height in pixels. */ OdUInt32 pixelHeight() const; /** \details Sets a new picture width in pixels. \param pixel_width [in] An unsigned 32-bit integer value that contains the new width in pixels to be set. */ void setPixelWidth(OdUInt32 pixel_width); /** \details Requests the picture width in pixels. \returns An unsigned 32-bit integer value that contains the current picture width in pixels. */ OdUInt32 pixelWidth() const; /** \details Sets a new value for the uncompressed file index. \param uncompressed_file_index [in] An unsigned 32-bit integer value that contains the new index value to be set. */ void setUncompressedFileIndex(OdUInt32 uncompressed_file_index); /** \details Requests the current value of the uncompressed file index. \returns An unsigned 32-bit integer value that contains the current value of the uncompressed file index. */ OdUInt32 uncompressedFileIndex() const; /** \details Creates a object from a specified raster image. The method adds the created to a specified . \param pImage [in] A smart pointer to the raster image to be used as a base for the picture creation. \param fileStructure [out] A reference to a where the created picture object is added. \param bPreventDuplicate [in] A flag that determines whether duplication of pictures is allowed (if it is equal to false) or not (if it is equal to true). \returns A smart pointer to the created object. */ static OdPrcPicturePtr createByImage(const OdGiRasterImagePtr &pImage, OdPrcFileStructure &fileStructure, bool bPreventDuplicate = true); /** \details Creates a object from a specified raster image. The method adds the created to a specified . \param filename [in] A string that contains the full path to the origin raster image file. \param fileStructure [out] A reference to a where the created picture object is added. \param bPreventDuplicate [in] A flag that determines whether duplication of pictures is allowed (if it is equal to false) or not (if it is equal to true). \returns A smart pointer to the created object. */ static OdPrcPicturePtr createByImage(const OdString &filename, OdPrcFileStructure &fileStructure, bool bPreventDuplicate = true); }; #endif // _PRCPICTURE_INCLUDED_