ICF 3.0.5.47
Technical documentation of ICF Libraries
iimg::IBitmap Class Referenceabstract

Definition of single plane bitmap. More...

#include <IBitmap.h>

Inheritance diagram for iimg::IBitmap:
Collaboration diagram for iimg::IBitmap:

Public Types

enum  PixelFormat {
  PF_UNKNOWN = 0 , PF_MONO , PF_GRAY , PF_RGB ,
  PF_RGBA , PF_RGB24 , PF_GRAY16 , PF_GRAY32 ,
  PF_FLOAT32 , PF_FLOAT64 , PF_XYZ32 , PF_XY32 ,
  PF_USER = 256
}
 Bitmap pixel format description. More...
 
- Public Types inherited from i2d::IObject2d
enum  ChangeFlags { CF_OBJECT_POSITION = 0x6ba340 }
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 

Public Member Functions

virtual PixelFormat GetPixelFormat () const =0
 Get the bitmap's pixel format.
 
virtual bool IsFormatSupported (PixelFormat pixelFormat) const =0
 Get true if the pixel format is supported by the bitmap implementation.
 
virtual bool CreateBitmap (PixelFormat pixelFormat, const istd::CIndex2d &size, int pixelBitsCount=0, int componentsCount=0)=0
 Create bitmap with specified size and format.
 
virtual bool CreateBitmap (PixelFormat pixelFormat, const istd::CIndex2d &size, istd::COptMemory &&data, int linesDifference=0)=0
 Create bitmap with specified size and format using external image data buffer.
 
virtual int GetLineBytesCount () const =0
 Number of bytes per single line.
 
virtual int GetLinesDifference () const =0
 Get address difference between next and previous line.
 
virtual int GetPixelsDifference () const =0
 Get address difference between next and previous pixel.
 
virtual int GetComponentBitsCount (int componentIndex=0) const =0
 Get number of bits per single pixel component.
 
virtual int GetPixelBitsCount () const =0
 Get total number of bits per single pixel.
 
virtual const void * GetLinePtr (int positionY) const =0
 Get pointer to buffer for single line.
 
virtual void * GetLinePtr (int positionY)=0
 Get pointer to buffer for single line.
 
- Public Member Functions inherited from iimg::IRasterImage
virtual bool IsEmpty () const =0
 Return true if this image is empty.
 
virtual void ResetImage ()=0
 Reset this image.
 
virtual void ClearImage ()=0
 Cleat this image.
 
virtual istd::CIndex2d GetImageSize () const =0
 Get size of this raster image.
 
virtual int GetComponentsCount () const =0
 Get number of color components.
 
virtual icmm::CVarColor GetColorAt (const istd::CIndex2d &position) const =0
 Get color at specified pixel.
 
virtual bool SetColorAt (const istd::CIndex2d &position, const icmm::CVarColor &color)=0
 Set color at specified pixel.
 
- Public Member Functions inherited from i2d::IObject2d
virtual CVector2d GetCenter () const =0
 Returns center of this 2D-object.
 
virtual void MoveCenterTo (const CVector2d &position)=0
 Move object to position position.
 
virtual CRectangle GetBoundingBox () const =0
 Get bounding box of this shape.
 
virtual void SetCalibration (istd::TOptDelPtr< const ICalibration2d > &&calibrationPtr)=0
 Set calibration of this object.
 
virtual bool Transform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr)=0
 Transform this object using some transformation.
 
virtual bool InvTransform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr)=0
 Do inverse transformation of this object.
 
virtual bool GetTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) const =0
 Calulate transformation of the object into second one.
 
virtual bool GetInvTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) const =0
 Calulate inverse transformation of the object into second one.
 
- Public Member Functions inherited from iser::IObject
virtual QByteArray GetFactoryId () const
 
- Public Member Functions inherited from iser::ISerializable
virtual bool Serialize (IArchive &archive)=0
 Load or store state of this object as a archive stream.
 
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations.
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one.
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
virtual std::unique_ptr< IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object.
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state.
 
virtual QMutex * GetChangesLock () const
 Get mutex beeing locked during changes, if available.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 
- Public Member Functions inherited from i2d::ICalibration2dProvider
virtual const ICalibration2dGetCalibration () const =0
 Get access to transformation object, which transforms a local logical coordinate system to global one.
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 

Detailed Description

Definition of single plane bitmap.

Definition at line 23 of file IBitmap.h.

Member Enumeration Documentation

◆ PixelFormat

Bitmap pixel format description.

Enumerator
PF_UNKNOWN 

Unknown image format.

PF_MONO 

Monochrome bitmap.

PF_GRAY 

8-bit grayscale bitmap.

PF_RGB 

32-bit RGB-bitmap, alpha channel can be ignored.

PF_RGBA 

32-bit RGB bitmap with alpha channel.

PF_RGB24 

24-bit RGB-bitmap packed bitmap.

PF_GRAY16 

16-bit grayscale bitmap.

PF_GRAY32 

32-bit grayscale bitmap.

PF_FLOAT32 

32-bit floating point coded bitmap (type float).

PF_FLOAT64 

64-bit floating point coded bitmap (type double).

PF_XYZ32 

Pixel value is a 32-bit floating 3D-coordinate (X,Y,Z) In this mode the bitmap represents an organized 3D-point cloud.

PF_XY32 

Pixel value is a 32-bit floating 2D-coordinate (X,Y) In this mode the bitmap represents 2D calibration from pixel to mm.

PF_USER 

First user defined pixel format.

Definition at line 29 of file IBitmap.h.

Member Function Documentation

◆ CreateBitmap() [1/2]

virtual bool iimg::IBitmap::CreateBitmap ( PixelFormat pixelFormat,
const istd::CIndex2d & size,
int pixelBitsCount = 0,
int componentsCount = 0 )
pure virtual

Create bitmap with specified size and format.

Parameters
pixelFormatbitmap format.
See also
PixelFormat
Parameters
sizebitmap size.
pixelBitsCountbits per pixel. Default value 0 means that the number of bits per pixel is defined by format specification.
componentsCountcomponents per pixel. Default value 0 means that the number of bits per pixel is defined by format specification.

Implemented in ialgo::CHoughSpace2d, iimg::CBitmap, iimg::CBitmapSlice, and iimg::CGeneralBitmap.

Referenced by ialgo::TGeneralHoughSpace< Dimensions, Element >::ExtractToBitmap(), and iipr::TUnaryTransformProcessorComp< PixelType, Predicate >::ProcessImage().

◆ CreateBitmap() [2/2]

virtual bool iimg::IBitmap::CreateBitmap ( PixelFormat pixelFormat,
const istd::CIndex2d & size,
istd::COptMemory && data,
int linesDifference = 0 )
pure virtual

Create bitmap with specified size and format using external image data buffer.

Parameters
pixelFormatbitmap format.
See also
PixelFormat
Parameters
sizebitmap size.
dataexternal image buffer.
linesDifferenceaddress difference between next and previos line. If it equals 0, the value will be taken from size and number of bits per pixel.

Implemented in ialgo::CHoughSpace2d, iimg::CBitmap, iimg::CBitmapSlice, and iimg::CGeneralBitmap.

◆ GetComponentBitsCount()

virtual int iimg::IBitmap::GetComponentBitsCount ( int componentIndex = 0) const
pure virtual

Get number of bits per single pixel component.

Implemented in iimg::CBitmapBase.

◆ GetLineBytesCount()

virtual int iimg::IBitmap::GetLineBytesCount ( ) const
pure virtual

Number of bytes per single line.

Implemented in iimg::CBitmapBase.

◆ GetLinePtr() [1/2]

virtual const void * iimg::IBitmap::GetLinePtr ( int positionY) const
pure virtual

◆ GetLinePtr() [2/2]

virtual void * iimg::IBitmap::GetLinePtr ( int positionY)
pure virtual

Get pointer to buffer for single line.

Parameters
positionYposition Y. It must be smaller than bitmap size Y component.

Implemented in iimg::CBitmap, iimg::CBitmapSlice, and iimg::CGeneralBitmap.

◆ GetLinesDifference()

virtual int iimg::IBitmap::GetLinesDifference ( ) const
pure virtual

Get address difference between next and previous line.

Returns
address difference between next and previous line or 0, if it is not available.

Implemented in iimg::CBitmap, iimg::CBitmapSlice, and iimg::CGeneralBitmap.

Referenced by iipr::TImagePixelInterpolator< PixelComponentType >::TImagePixelInterpolator().

◆ GetPixelBitsCount()

virtual int iimg::IBitmap::GetPixelBitsCount ( ) const
pure virtual

◆ GetPixelFormat()

virtual PixelFormat iimg::IBitmap::GetPixelFormat ( ) const
pure virtual

◆ GetPixelsDifference()

virtual int iimg::IBitmap::GetPixelsDifference ( ) const
pure virtual

Get address difference between next and previous pixel.

Implemented in iimg::CBitmap, iimg::CBitmapSlice, and iimg::CGeneralBitmap.

◆ IsFormatSupported()

virtual bool iimg::IBitmap::IsFormatSupported ( PixelFormat pixelFormat) const
pure virtual

Get true if the pixel format is supported by the bitmap implementation.

Parameters
pixelFormatbitmap format.
See also
PixelFormat

Implemented in iimg::CBitmap, iimg::CBitmapSlice, and iimg::CGeneralBitmap.


The documentation for this class was generated from the following file:

© Witold Gantzke and Kirill Lepskiy