#include "GenerationTemplate.h" GenerationTemplate::GenerationTemplate(float propability, int minSurfaceDist, int maxSurfaceDist, Framework::Vec3 minPosOffset, Framework::Vec3 maxSize) : ReferenceCounter(), propability(propability), minSurfaceDist(minSurfaceDist), maxSurfaceDist(maxSurfaceDist), minPosOffset(minPosOffset), maxSize(maxSize) {} bool GenerationTemplate::canEffect(Framework::Vec3 location, Framework::Vec3 affectedLocation) const { Framework::Vec3 localPos = affectedLocation - (location + minPosOffset); return localPos.x >= 0 && localPos.y >= 0 && localPos.z >= 0 && localPos.x < maxSize.x&& localPos.y < maxSize.y&& localPos.z < maxSize.z; } bool GenerationTemplate::isGenerationPossable(Framework::Vec3 location, int distToSurface) const { return distToSurface >= minSurfaceDist && distToSurface <= maxSurfaceDist; } float GenerationTemplate::getPropability() const { return propability; } Framework::Vec3 GenerationTemplate::getMinAffectedOffset() const { return minPosOffset; } Framework::Vec3 GenerationTemplate::getMaxAffectedOffset() const { return minPosOffset + maxSize; }