BiomInterpolator.h 918 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include <ReferenceCounter.h>
  3. #include <Either.h>
  4. #include "Noise.h"
  5. class Block;
  6. class BiomInterpolator : public virtual Framework::ReferenceCounter
  7. {
  8. public:
  9. /// <summary>
  10. /// interpolates two different blocks
  11. /// the block with a heigher weight has a heigher propability to be returned
  12. /// the block that is not returned will be deleted
  13. /// </summary>
  14. /// <param name="a">the block with weight aWeight</param>
  15. /// <param name="b">the block with weight bWeight</param>
  16. /// <param name="aWeight">the weight for block a</param>
  17. /// <param name="bWeight">the weight for block b</param>
  18. /// <param name="zNoise">the noise to use</param>
  19. /// <returns>either a or b</returns>
  20. virtual Framework::Either<Block*, int> interpolateBlocks( Framework::Either<Block*, int> a, Framework::Either<Block*, int> b, double aWeight, double bWeight, Noise* zNoise ) = 0;
  21. };