| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #pragma once
- #include "TypeRegistry.h"
- class Noise;
- class FloatDistribution : public Framework::ReferenceCounter
- {
- public:
- FloatDistribution();
- virtual ~FloatDistribution() = default;
- virtual float getValue(
- int x, int y, int z, int dimenstionId, Noise* zNoise) const
- = 0;
- };
- class ConstantFloatDistribution : public FloatDistribution
- {
- private:
- float value;
- public:
- ConstantFloatDistribution(float value);
- float getValue(
- int x, int y, int z, int dimenstionId, Noise* zNoise) const override;
- float getValue() const;
- };
- class ConstantFloatDistributionFactory
- : public SubTypeFactory<FloatDistribution, ConstantFloatDistribution>
- {
- public:
- ConstantFloatDistributionFactory();
- JSONObjectValidationBuilder* addToValidator(
- JSONObjectValidationBuilder* builder) const override;
- ConstantFloatDistribution* fromJson(
- Framework::JSON::JSONObject* zJson) const override;
- Framework::JSON::JSONObject* toJsonObject(
- ConstantFloatDistribution* zObject) const override;
- const char* getTypeToken() const override;
- };
- class EqualyDistributedFloatDistribution : public FloatDistribution
- {
- private:
- float minValue;
- float maxValue;
- public:
- EqualyDistributedFloatDistribution(float minValue, float maxValue);
- float getValue(
- int x, int y, int z, int dimenstionId, Noise* zNoise) const override;
- float getMinValue() const;
- float getMaxValue() const;
- };
- class EqualyDistributedFloatDistributionFactory
- : public SubTypeFactory<FloatDistribution,
- EqualyDistributedFloatDistribution>
- {
- public:
- EqualyDistributedFloatDistributionFactory();
- JSONObjectValidationBuilder* addToValidator(
- JSONObjectValidationBuilder* builder) const override;
- EqualyDistributedFloatDistribution* fromJson(
- Framework::JSON::JSONObject* zJson) const override;
- Framework::JSON::JSONObject* toJsonObject(
- EqualyDistributedFloatDistribution* zObject) const override;
- const char* getTypeToken() const override;
- };
|