#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; }