STE-Industries: utilities testing
Bitmap.h
Go to the documentation of this file.
1 
13 # if !defined BITMAP_H
14 
15 # define BITMAP_H
16 
17 # include "RandomGenerator.h"
18 # include "Mutex.h"
19 
20 # include <stddef.h>
21 # include <stdlib.h>
22 
23 namespace GraphicSpace
24 {
25 
31 
32 class Bitmap
33  {
34  public:
35 
38  static constexpr unsigned int SHORT_DATA_SIZE = 2;
39 
42  static constexpr unsigned int LONG_DATA_SIZE = 4;
43 
46  static constexpr unsigned int HEADER_SIZE = 14;
47 
50  static constexpr unsigned int HEADER_NAME_LENGTH = 2;
51 
54  static constexpr unsigned int
56 
59  static constexpr unsigned int OFFSET_OF_FILE_SIZE = 2;
60 
63  static constexpr unsigned int DIB_HEADER_SIZE = 40;
64 
67  static constexpr unsigned int OFFSET_OF_WIDTH = 4;
68 
71  static constexpr unsigned int OFFSET_OF_HEIGHT = 8;
72 
75  static constexpr unsigned int OFFSET_OF_COLOR_PLANES =
76  12;
77 
80  static constexpr unsigned int
82 
85  static constexpr unsigned int OFFSET_OF_COMPRESSION =
86  16;
89  static constexpr unsigned int OFFSET_OF_IMAGE_SIZE =
90  20;
91 
94  static constexpr unsigned int
96 
99  static constexpr unsigned int
101 
104  static constexpr unsigned int
106 
109  static constexpr unsigned int
111 
114  static constexpr unsigned int NUMBER_OF_COLORS = 3;
115 
118  static constexpr unsigned int MAXIMUM_WIDTH = 10000;
119 
122  static constexpr unsigned int MAXIMUM_HEIGHT = 10000;
123 
126  static constexpr unsigned int MAXIMUM_BITMAP_SIZE =
127  20000000;
128 
131  static constexpr unsigned int NUMBER_OF_COLOR_PLANES =
132  1;
135  static constexpr unsigned int VALID_COMPRESSION = 0;
136 
139  static constexpr unsigned int
141 
144  static constexpr unsigned int
146  1000;
147 
150  static constexpr unsigned int
152 
155  typedef uint_fast32_t IndexType;
156 
163 
164  enum class ChoiceType
165  {
168  RANDOM,
169 
171  MAXIMUM
172 
173  };
174 
181 
183  {
184 
187  unsigned int Threads;
188 
191  unsigned int Termites;
192 
195  unsigned int Steps;
196 
200 
203  float Alpha;
204 
207  float Beta;
208 
213 
217 
222 
226  bool Quiet;
227 
228  };
229 
230  private:
231 
234  static constexpr const char* STRIP_INDEX_FORMAT =
235  "Processing strip %" PRIuFAST32 "\n";
236 
240  static constexpr unsigned int INITIAL_GENERATION =
241  1000;
242 
245  static constexpr unsigned int NUMBER_OF_NEIGHBOURS =
246  8;
255  static constexpr unsigned int ATTRACTION_SCALE =
256  0x800;
257 
266  static constexpr unsigned int REPULSION_SCALE = 0x400;
267 
276  static constexpr unsigned int TERMITES_SUM_SCALE =
277  0x4000;
278 
284  static constexpr size_t REPULSION_TABLE_SIZE =
285  static_cast<size_t>
287  static_cast<size_t>
289 
292  static constexpr unsigned int STRIP_HEIGHT = 5;
293 
300 
302  {
303 
310  unsigned short Repulsion;
311 
314  unsigned short Visitors;
315 
316  };
317 
324 
326  {
327 
334 
336  {
337 
340  uint_least32_t Index;
341 
348  uint_least32_t Attraction;
349 
350  bool SetLink(const Bitmap& Image,
351  unsigned int Row,
352  unsigned int Colum)
353  noexcept;
354 
355  };
356 
359  unsigned int NumberOfNeighbours;
360 
366 
367  void SetLinks(const Bitmap& Image,
368  unsigned int Row,
369  unsigned int Colum) noexcept;
370 
371  void SetAttraction(register const Bitmap&
372  Image, register const uint8_t*
373  ColorPointer, register
374  IndexType PixelIndex,
375  register const uint_least32_t
376  OrthogonalAttraction
377  [UINT8_MAX + 1],
378  register const uint_least32_t
379  DiagonalAttraction
380  [UINT8_MAX + 1]) noexcept;
381 
383  CurrentGenerator, register const
384  RepulsionType* RepulsionPointer)
385  const noexcept;
386 
388  CurrentGenerator, register const
389  RepulsionType* RepulsionPointer)
390  const noexcept;
391 
392  };
393 
402  CurrentGenerator, const
403  RepulsionType* RepulsionPointer)
404  const;
405 
412 
414  {
415 
418  unsigned int StartRow;
419 
422  unsigned int EndRow;
423 
428 
431  const uint8_t* OriginalColorPointer;
432 
435  unsigned int MaximumValue;
436 
439  const CorrectionParameters*
441 
444  const PixelInformationType*
446 
450 
456  const uint_least32_t* DivisionTablePointer;
457 
458  };
459 
462  uint_fast32_t Width;
463 
466  uint_fast32_t Height;
467 
470  uint_fast32_t BitmapSize;
471 
474  uint16_t BitsPerPixel;
475 
478  uint_fast32_t HorizontalResolution;
479 
482  uint_fast32_t VerticalResolution;
483 
487 
497  mutable unsigned short RepulsionTable [REPULSION_TABLE_SIZE];
498 
507 
515 
518  uint_fast32_t Strips;
519 
523 
527 
530  static const char HeaderName [HEADER_NAME_LENGTH];
531 
534  static const char* const OpenReadBinary;
535 
538  static const char* const OpenWriteBinary;
539 
540  void AllocateImage(void) noexcept;
541 
542  void DestroyImage(void) noexcept;
543 
544  bool ValidIndex(unsigned int Row,
545  unsigned int Column) const
546  noexcept;
547 
548  IndexType MakeIndex(unsigned int Row,
549  unsigned int Column) const
550  noexcept;
551 
552  bool IsOrthogonal(IndexType FirstIndex,
553  IndexType SecondIndex) const
554  noexcept;
555 
556  unsigned int ComputeTermite(register unsigned int
557  MaximumValue,
558  register IndexType PixelIndex,
559  register const uint8_t*
560  ColorPointer,
561  register unsigned int Steps,
562  register const
564  PixelInformationPointer,
565  register RepulsionType*
566  RepulsionPointer,
567  register RandomGenerator&
568  CurrentGenerator, register
569  PathFunction PathFinder) const
570  noexcept;
571 
572  void CorrectStrip(register uint8_t*
573  CorrectedColorPointer,
574  register const uint8_t*
575  OriginalColorPointer,
576  register unsigned int StartRow,
577  register unsigned int EndRow,
578  register unsigned int
579  MaximumValue,
580  register const
582  Parameters,
583  register const
585  PixelInformationPointer,
586  register PathFunction
587  PathFinder,
588  register const uint_least32_t
589  DivisionTable [UINT8_MAX + 1])
590  const noexcept;
591 
592  void CorrectColor(register uint8_t*
593  CorrectedColorPointer,
594  register const uint8_t*
595  OriginalColorPointer,
596  register unsigned int
597  MaximumValue,
598  register const
600  Parameters,
601  register const
603  PixelInformationPointer,
604  register PathFunction
605  PathFinder,
606  const uint_least32_t
607  DivisionTable [UINT8_MAX + 1])
608  noexcept;
609 
611  GetStripDescriptor(void) noexcept;
612 
613  static uint_fast32_t RoundedDivide(uint_fast32_t Dividend,
614  uint_fast32_t Divisor) noexcept;
615 
616  static uint_fast32_t LoadInteger(const uint8_t Buffer [],
617  unsigned int Size) noexcept;
618 
619  static void StoreInteger(uint8_t Buffer [],
620  uint_fast32_t Value,
621  unsigned int Size) noexcept;
622 
623  public:
624 
625  Bitmap(void) noexcept;
626 
627  Bitmap(const Bitmap& thisBitmap) noexcept;
628 
629  Bitmap(Bitmap&& thisBitmap) noexcept;
630 
631  ~Bitmap(void) noexcept;
632 
633  Bitmap& operator = (const Bitmap& thisBitmap) noexcept;
634 
635  Bitmap& operator = (Bitmap&& thisBitmap) noexcept;
636 
637  uint_fast32_t GetWidth(void) const noexcept;
638 
639  uint_fast32_t GetHeight(void) const noexcept;
640 
641  uint_fast32_t GetSize(void) const noexcept;
642 
643  unsigned int GetBitsPerPixel(void) const noexcept;
644 
645  uint_fast32_t GetHorizontalResolution(void) const noexcept;
646 
647  uint_fast32_t GetVerticalResolution(void) const noexcept;
648 
649  uint_fast32_t ComputeLineSize(void) const noexcept;
650 
651  void ReadFile(const char* Path) noexcept(false);
652 
653  void WriteFile(const char* Path) noexcept(false);
654 
655  void Randomize(uint_fast32_t Seed [RandomGenerator::
656  NUMBER_OF_GENERATORS + 1]) noexcept;
657 
658  Bitmap Correct(register const CorrectionParameters&
659  Parameters) noexcept(false);
660 
661  static void* CorrectFunction(void* Argument) noexcept(false);
662 
663  };
664 
665 }
666 
667 # include "Bitmap.inl"
668 
669 # endif
GraphicSpace::Bitmap::ATTRACTION_SCALE
static constexpr unsigned int ATTRACTION_SCALE
Definition: Bitmap.h:255
GraphicSpace::Bitmap::LoadInteger
static uint_fast32_t LoadInteger(const uint8_t Buffer[], unsigned int Size) noexcept
Definition: Bitmap.inl:292
GraphicSpace::Bitmap::OFFSET_OF_BITS_PER_PIXEL
static constexpr unsigned int OFFSET_OF_BITS_PER_PIXEL
Definition: Bitmap.h:81
GraphicSpace::Bitmap::OFFSET_OF_COMPRESSION
static constexpr unsigned int OFFSET_OF_COMPRESSION
Definition: Bitmap.h:85
GraphicSpace::Bitmap::PixelInformationType::NextPixelRandom
IndexType NextPixelRandom(RandomGenerator &CurrentGenerator, register const RepulsionType *RepulsionPointer) const noexcept
Definition: Bitmap.cpp:217
GraphicSpace::Bitmap::ChoiceType::RANDOM
@ RANDOM
GraphicSpace::Bitmap::HEADER_SIZE
static constexpr unsigned int HEADER_SIZE
Definition: Bitmap.h:46
GraphicSpace::Bitmap::CorrectionParameters::Threads
unsigned int Threads
Definition: Bitmap.h:187
GraphicSpace::Bitmap::DestroyImage
void DestroyImage(void) noexcept
Definition: Bitmap.inl:164
GraphicSpace::Bitmap::ComputeTermite
unsigned int ComputeTermite(register unsigned int MaximumValue, register IndexType PixelIndex, register const uint8_t *ColorPointer, register unsigned int Steps, register const PixelInformationType *PixelInformationPointer, register RepulsionType *RepulsionPointer, register RandomGenerator &CurrentGenerator, register PathFunction PathFinder) const noexcept
Definition: Bitmap.cpp:298
GraphicSpace::Bitmap::MakeIndex
IndexType MakeIndex(unsigned int Row, unsigned int Column) const noexcept
Definition: Bitmap.inl:210
GraphicSpace::Bitmap::OFFSET_OF_HEIGHT
static constexpr unsigned int OFFSET_OF_HEIGHT
Definition: Bitmap.h:71
GraphicSpace::Bitmap::RepulsionTable
unsigned short RepulsionTable[REPULSION_TABLE_SIZE]
Definition: Bitmap.h:497
GraphicSpace::Bitmap::PixelInformationType::SetAttraction
void SetAttraction(register const Bitmap &Image, register const uint8_t *ColorPointer, register IndexType PixelIndex, register const uint_least32_t OrthogonalAttraction[UINT8_MAX+1], register const uint_least32_t DiagonalAttraction[UINT8_MAX+1]) noexcept
Definition: Bitmap.inl:113
GraphicSpace::Bitmap::PixelPointer
uint8_t * PixelPointer[NUMBER_OF_COLORS]
Definition: Bitmap.h:486
GraphicSpace::Bitmap::HEADER_NAME_LENGTH
static constexpr unsigned int HEADER_NAME_LENGTH
Definition: Bitmap.h:50
GraphicSpace::Bitmap::PixelInformationType::NeighbourType
Definition: Bitmap.h:335
GraphicSpace::Bitmap::STRIP_INDEX_FORMAT
static constexpr const char * STRIP_INDEX_FORMAT
Definition: Bitmap.h:234
GraphicSpace::Bitmap::ComputeLineSize
uint_fast32_t ComputeLineSize(void) const noexcept
Definition: Bitmap.inl:468
GraphicSpace::Bitmap::OFFSET_OF_IMAGE_SIZE
static constexpr unsigned int OFFSET_OF_IMAGE_SIZE
Definition: Bitmap.h:89
GraphicSpace::Bitmap::CorrectFunction
static void * CorrectFunction(void *Argument) noexcept(false)
Definition: Bitmap.cpp:1190
GraphicSpace::Bitmap::CorrectionParameters::Beta
float Beta
Definition: Bitmap.h:207
GraphicSpace::Bitmap::GetWidth
uint_fast32_t GetWidth(void) const noexcept
Definition: Bitmap.inl:363
GraphicSpace::Bitmap::ValidIndex
bool ValidIndex(unsigned int Row, unsigned int Column) const noexcept
Definition: Bitmap.inl:186
GraphicSpace::Bitmap::STRIP_HEIGHT
static constexpr unsigned int STRIP_HEIGHT
Definition: Bitmap.h:292
GraphicSpace::Bitmap::CorrectionParameters::Steps
unsigned int Steps
Definition: Bitmap.h:195
GraphicSpace::RandomGenerator
Definition: RandomGenerator.h:31
GraphicSpace::Bitmap::CorrectionDescriptorType::CorrectedColorPointer
uint8_t * CorrectedColorPointer
Definition: Bitmap.h:427
GraphicSpace::Bitmap::CorrectionDescriptorType::OriginalColorPointer
const uint8_t * OriginalColorPointer
Definition: Bitmap.h:431
GraphicSpace::Bitmap::HorizontalResolution
uint_fast32_t HorizontalResolution
Definition: Bitmap.h:478
GraphicSpace::Bitmap::ChoiceType::MAXIMUM
@ MAXIMUM
The step with maximum probability is chosen.
GraphicSpace::Bitmap::PixelInformationType::Neighbour
NeighbourType Neighbour[NUMBER_OF_NEIGHBOURS]
Definition: Bitmap.h:365
GraphicSpace::Bitmap::CorrectionDescriptorType::MaximumValue
unsigned int MaximumValue
Definition: Bitmap.h:435
GraphicSpace::Bitmap::RepulsionType::Visitors
unsigned short Visitors
Definition: Bitmap.h:314
GraphicSpace::Bitmap::REPULSION_TABLE_SIZE
static constexpr size_t REPULSION_TABLE_SIZE
Definition: Bitmap.h:284
GraphicSpace::Bitmap::Correct
Bitmap Correct(register const CorrectionParameters &Parameters) noexcept(false)
Definition: Bitmap.cpp:1076
GraphicSpace::Bitmap::OFFSET_OF_BITMAP_OFFSET
static constexpr unsigned int OFFSET_OF_BITMAP_OFFSET
Definition: Bitmap.h:55
GraphicSpace::Bitmap::RepulsionType::Repulsion
unsigned short Repulsion
Definition: Bitmap.h:310
GraphicSpace::Bitmap::LONG_DATA_SIZE
static constexpr unsigned int LONG_DATA_SIZE
Definition: Bitmap.h:42
GraphicSpace::Bitmap::PixelInformationType::NextPixelMaximum
IndexType NextPixelMaximum(RandomGenerator &CurrentGenerator, register const RepulsionType *RepulsionPointer) const noexcept
Definition: Bitmap.cpp:74
GraphicSpace::Bitmap::OFFSET_OF_COLOR_PLANES
static constexpr unsigned int OFFSET_OF_COLOR_PLANES
Definition: Bitmap.h:75
GraphicSpace::Bitmap::GetSize
uint_fast32_t GetSize(void) const noexcept
Definition: Bitmap.inl:399
GraphicSpace::Bitmap::OFFSET_OF_FILE_SIZE
static constexpr unsigned int OFFSET_OF_FILE_SIZE
Definition: Bitmap.h:59
GraphicSpace::Bitmap::CorrectionParameters::Alpha
float Alpha
Definition: Bitmap.h:203
GraphicSpace::Bitmap::CorrectionDescriptorType::PixelInformationPointer
const PixelInformationType * PixelInformationPointer
Definition: Bitmap.h:445
GraphicSpace::Bitmap::WriteFile
void WriteFile(const char *Path) noexcept(false)
Definition: Bitmap.cpp:973
GraphicSpace::Bitmap::PixelInformationType::NeighbourType::SetLink
bool SetLink(const Bitmap &Image, unsigned int Row, unsigned int Colum) noexcept
Definition: Bitmap.inl:34
GraphicSpace::Bitmap::StoreInteger
static void StoreInteger(uint8_t Buffer[], uint_fast32_t Value, unsigned int Size) noexcept
Definition: Bitmap.inl:337
GraphicSpace::Bitmap::RoundedDivide
static uint_fast32_t RoundedDivide(uint_fast32_t Dividend, uint_fast32_t Divisor) noexcept
Definition: Bitmap.inl:265
GraphicSpace::Bitmap::CorrectionDescriptorType::ParametersPointer
const CorrectionParameters * ParametersPointer
Definition: Bitmap.h:440
GraphicSpace::Bitmap::Randomize
void Randomize(uint_fast32_t Seed[RandomGenerator::NUMBER_OF_GENERATORS+1]) noexcept
Definition: Bitmap.inl:491
GraphicSpace::Bitmap::CorrectionDescriptorType::EndRow
unsigned int EndRow
Definition: Bitmap.h:422
GraphicSpace::Bitmap::CorrectionParameters::RandomizeFlag
bool RandomizeFlag
Definition: Bitmap.h:212
GraphicSpace::Bitmap::MAXIMUM_NUMBER_OF_THREADS
static constexpr unsigned int MAXIMUM_NUMBER_OF_THREADS
Definition: Bitmap.h:140
GraphicSpace::Bitmap::PixelInformationType::NeighbourType::Index
uint_least32_t Index
Definition: Bitmap.h:340
GraphicSpace::Bitmap::PixelInformationType::NumberOfNeighbours
unsigned int NumberOfNeighbours
Definition: Bitmap.h:359
GraphicSpace::Bitmap::ReadFile
void ReadFile(const char *Path) noexcept(false)
Definition: Bitmap.cpp:824
GraphicSpace::Bitmap::IsOrthogonal
bool IsOrthogonal(IndexType FirstIndex, IndexType SecondIndex) const noexcept
Definition: Bitmap.inl:235
GraphicSpace::Bitmap::CorrectionParameters::Termites
unsigned int Termites
Definition: Bitmap.h:191
GraphicSpace::Bitmap::OFFSET_OF_NUMBER_OF_COLORS
static constexpr unsigned int OFFSET_OF_NUMBER_OF_COLORS
Definition: Bitmap.h:105
GraphicSpace::Bitmap::StripMutex
Mutex StripMutex
Definition: Bitmap.h:522
GraphicSpace::Bitmap::PixelInformationType::NeighbourType::Attraction
uint_least32_t Attraction
Definition: Bitmap.h:348
GraphicSpace::Bitmap::MAXIMUM_NUMBER_OF_STEPS
static constexpr unsigned int MAXIMUM_NUMBER_OF_STEPS
Definition: Bitmap.h:151
GraphicSpace::Bitmap::SHORT_DATA_SIZE
static constexpr unsigned int SHORT_DATA_SIZE
Definition: Bitmap.h:38
GraphicSpace::Bitmap::DIB_HEADER_SIZE
static constexpr unsigned int DIB_HEADER_SIZE
Definition: Bitmap.h:63
GraphicSpace::Bitmap::VALID_COMPRESSION
static constexpr unsigned int VALID_COMPRESSION
Definition: Bitmap.h:135
GraphicSpace::Bitmap::CorrectionParameters::ChoiceKind
ChoiceType ChoiceKind
Definition: Bitmap.h:216
GraphicSpace::Bitmap::CorrectionDescriptorType::StartRow
unsigned int StartRow
Definition: Bitmap.h:418
GraphicSpace::Bitmap::REPULSION_SCALE
static constexpr unsigned int REPULSION_SCALE
Definition: Bitmap.h:266
GraphicSpace::Bitmap::GetVerticalResolution
uint_fast32_t GetVerticalResolution(void) const noexcept
Definition: Bitmap.inl:453
GraphicSpace::Bitmap::ChoiceType
ChoiceType
Definition: Bitmap.h:164
GraphicSpace::Bitmap::BitmapSize
uint_fast32_t BitmapSize
Definition: Bitmap.h:470
GraphicSpace::Bitmap::AllocateImage
void AllocateImage(void) noexcept
Definition: Bitmap.inl:143
GraphicSpace::Bitmap::OFFSET_OF_VERTICAL_RESOLUTION
static constexpr unsigned int OFFSET_OF_VERTICAL_RESOLUTION
Definition: Bitmap.h:100
GraphicSpace::Bitmap::MAXIMUM_HEIGHT
static constexpr unsigned int MAXIMUM_HEIGHT
Definition: Bitmap.h:122
GraphicSpace::Bitmap::INITIAL_GENERATION
static constexpr unsigned int INITIAL_GENERATION
Definition: Bitmap.h:240
GraphicSpace::Bitmap::DescriptorPointer
CorrectionDescriptorType * DescriptorPointer
Definition: Bitmap.h:526
Mutex.h
GraphicSpace::Bitmap::CorrectionParameters::RepulsionStep
float RepulsionStep
Definition: Bitmap.h:199
GraphicSpace::Bitmap::BitsPerPixel
uint16_t BitsPerPixel
Definition: Bitmap.h:474
GraphicSpace::Bitmap::GetBitsPerPixel
unsigned int GetBitsPerPixel(void) const noexcept
Definition: Bitmap.inl:417
GraphicSpace::Bitmap::CorrectStrip
void CorrectStrip(register uint8_t *CorrectedColorPointer, register const uint8_t *OriginalColorPointer, register unsigned int StartRow, register unsigned int EndRow, register unsigned int MaximumValue, register const CorrectionParameters &Parameters, register const PixelInformationType *PixelInformationPointer, register PathFunction PathFinder, register const uint_least32_t DivisionTable[UINT8_MAX+1]) const noexcept
Definition: Bitmap.cpp:377
GraphicSpace::Bitmap::PixelInformationType::SetLinks
void SetLinks(const Bitmap &Image, unsigned int Row, unsigned int Colum) noexcept
Definition: Bitmap.inl:64
GraphicSpace::Bitmap::CorrectionParameters
Definition: Bitmap.h:182
GraphicSpace::Bitmap::VerticalResolution
uint_fast32_t VerticalResolution
Definition: Bitmap.h:482
GraphicSpace::Mutex
Definition: Mutex.h:28
GraphicSpace::Bitmap::InitialRepulsionPointer
RepulsionType * InitialRepulsionPointer
Definition: Bitmap.h:506
GraphicSpace
Definition: Bitmap.cpp:29
GraphicSpace::Bitmap::CorrectionDescriptorType::PathFinder
PathFunction PathFinder
Definition: Bitmap.h:449
RandomGenerator.h
GraphicSpace::Bitmap::MAXIMUM_WIDTH
static constexpr unsigned int MAXIMUM_WIDTH
Definition: Bitmap.h:118
GraphicSpace::Bitmap::GetHeight
uint_fast32_t GetHeight(void) const noexcept
Definition: Bitmap.inl:381
GraphicSpace::Bitmap::OpenReadBinary
static const char *const OpenReadBinary
Definition: Bitmap.h:534
GraphicSpace::Bitmap::CorrectionDescriptorType
Definition: Bitmap.h:413
GraphicSpace::Bitmap::Strips
uint_fast32_t Strips
Definition: Bitmap.h:518
GraphicSpace::Bitmap::CorrectionParameters::TruncatePath
bool TruncatePath
Definition: Bitmap.h:221
GraphicSpace::Bitmap::CorrectionParameters::Quiet
bool Quiet
Definition: Bitmap.h:226
GraphicSpace::Bitmap::CorrectionDescriptorType::DivisionTablePointer
const uint_least32_t * DivisionTablePointer
Definition: Bitmap.h:456
GraphicSpace::Bitmap::MAXIMUM_NUMBER_OF_TERMITES
static constexpr unsigned int MAXIMUM_NUMBER_OF_TERMITES
Definition: Bitmap.h:145
GraphicSpace::Bitmap::NUMBER_OF_COLORS
static constexpr unsigned int NUMBER_OF_COLORS
Definition: Bitmap.h:114
GraphicSpace::Bitmap::GetStripDescriptor
const CorrectionDescriptorType * GetStripDescriptor(void) noexcept
Definition: Bitmap.cpp:543
GraphicSpace::Bitmap::NUMBER_OF_NEIGHBOURS
static constexpr unsigned int NUMBER_OF_NEIGHBOURS
Definition: Bitmap.h:245
GraphicSpace::Bitmap::IndexType
uint_fast32_t IndexType
Definition: Bitmap.h:155
GraphicSpace::Bitmap::OFFSET_OF_WIDTH
static constexpr unsigned int OFFSET_OF_WIDTH
Definition: Bitmap.h:67
GraphicSpace::Bitmap::HeaderName
static const char HeaderName[HEADER_NAME_LENGTH]
Definition: Bitmap.h:530
GraphicSpace::Bitmap
Definition: Bitmap.h:32
GraphicSpace::Bitmap::OFFSET_OF_HORIZONTAL_RESOLUTION
static constexpr unsigned int OFFSET_OF_HORIZONTAL_RESOLUTION
Definition: Bitmap.h:95
GraphicSpace::Bitmap::TERMITES_SUM_SCALE
static constexpr unsigned int TERMITES_SUM_SCALE
Definition: Bitmap.h:276
GraphicSpace::Bitmap::GetHorizontalResolution
uint_fast32_t GetHorizontalResolution(void) const noexcept
Definition: Bitmap.inl:435
GraphicSpace::Bitmap::PathFunction
IndexType(PixelInformationType::* PathFunction)(RandomGenerator &CurrentGenerator, const RepulsionType *RepulsionPointer) const
Definition: Bitmap.h:401
GraphicSpace::Bitmap::CorrectColor
void CorrectColor(register uint8_t *CorrectedColorPointer, register const uint8_t *OriginalColorPointer, register unsigned int MaximumValue, register const CorrectionParameters &Parameters, register const PixelInformationType *PixelInformationPointer, register PathFunction PathFinder, const uint_least32_t DivisionTable[UINT8_MAX+1]) noexcept
GraphicSpace::Bitmap::OpenWriteBinary
static const char *const OpenWriteBinary
Definition: Bitmap.h:538
GraphicSpace::Bitmap::Generator
RandomGenerator Generator
Definition: Bitmap.h:514
GraphicSpace::Bitmap::PixelInformationType
Definition: Bitmap.h:325
GraphicSpace::Bitmap::MAXIMUM_BITMAP_SIZE
static constexpr unsigned int MAXIMUM_BITMAP_SIZE
Definition: Bitmap.h:126
GraphicSpace::Bitmap::NUMBER_OF_COLOR_PLANES
static constexpr unsigned int NUMBER_OF_COLOR_PLANES
Definition: Bitmap.h:131
GraphicSpace::Bitmap::Width
uint_fast32_t Width
Definition: Bitmap.h:462
GraphicSpace::Bitmap::RepulsionType
Definition: Bitmap.h:301
GraphicSpace::Bitmap::OFFSET_OF_NUMBER_OF_IMPORTANT_COLORS
static constexpr unsigned int OFFSET_OF_NUMBER_OF_IMPORTANT_COLORS
Definition: Bitmap.h:110
GraphicSpace::Bitmap::Height
uint_fast32_t Height
Definition: Bitmap.h:466