| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #include "FloatDistribution.h"
- #include "Noise.h"
- FloatDistribution::FloatDistribution()
- : Framework::ReferenceCounter()
- {}
- ConstantFloatDistribution::ConstantFloatDistribution(float value)
- : FloatDistribution(),
- value(value)
- {}
- float ConstantFloatDistribution::getValue(
- int x, int y, int z, int dimenstionId, Noise* zNoise) const
- {
- return value;
- }
- float ConstantFloatDistribution::getValue() const
- {
- return value;
- }
- ConstantFloatDistributionFactory::ConstantFloatDistributionFactory()
- : SubTypeFactory()
- {}
- JSONObjectValidationBuilder* ConstantFloatDistributionFactory::addToValidator(
- JSONObjectValidationBuilder* builder) const
- {
- return builder->withRequiredNumber("value")->finishNumber();
- }
- ConstantFloatDistribution* ConstantFloatDistributionFactory::fromJson(
- Framework::JSON::JSONObject* zJson) const
- {
- return new ConstantFloatDistribution(
- (float)zJson->zValue("value")->asNumber()->getNumber());
- }
- Framework::JSON::JSONObject* ConstantFloatDistributionFactory::toJsonObject(
- ConstantFloatDistribution* zObject) const
- {
- Framework::JSON::JSONObject* zJson = new Framework::JSON::JSONObject();
- zJson->addValue(
- "value", new Framework::JSON::JSONNumber(zObject->getValue()));
- return zJson;
- }
- const char* ConstantFloatDistributionFactory::getTypeToken() const
- {
- return "constant";
- }
- EqualyDistributedFloatDistribution::EqualyDistributedFloatDistribution(
- float minValue, float maxValue)
- : FloatDistribution(),
- minValue(minValue),
- maxValue(maxValue)
- {}
- float EqualyDistributedFloatDistribution::getValue(
- int x, int y, int z, int dimenstionId, Noise* zNoise) const
- {
- return zNoise->getNoise((float)z, (float)x, (float)y)
- * (maxValue - minValue)
- + minValue;
- }
- float EqualyDistributedFloatDistribution::getMinValue() const
- {
- return minValue;
- }
- float EqualyDistributedFloatDistribution::getMaxValue() const
- {
- return maxValue;
- }
- EqualyDistributedFloatDistributionFactory::
- EqualyDistributedFloatDistributionFactory()
- : SubTypeFactory()
- {}
- JSONObjectValidationBuilder*
- EqualyDistributedFloatDistributionFactory::addToValidator(
- JSONObjectValidationBuilder* builder) const
- {
- return builder->withRequiredNumber("minValue")
- ->finishNumber()
- ->withRequiredNumber("maxValue")
- ->finishNumber();
- }
- EqualyDistributedFloatDistribution*
- EqualyDistributedFloatDistributionFactory::fromJson(
- Framework::JSON::JSONObject* zJson) const
- {
- return new EqualyDistributedFloatDistribution(
- (float)zJson->zValue("minValue")->asNumber()->getNumber(),
- (float)zJson->zValue("maxValue")->asNumber()->getNumber());
- }
- Framework::JSON::JSONObject*
- EqualyDistributedFloatDistributionFactory::toJsonObject(
- EqualyDistributedFloatDistribution* zObject) const
- {
- Framework::JSON::JSONObject* zJson = new Framework::JSON::JSONObject();
- zJson->addValue(
- "minValue", new Framework::JSON::JSONNumber(zObject->getMinValue()));
- zJson->addValue(
- "maxValue", new Framework::JSON::JSONNumber(zObject->getMaxValue()));
- return zJson;
- }
- const char* EqualyDistributedFloatDistributionFactory::getTypeToken() const
- {
- return "equalyDistributed";
- }
|