I have a 3 component vector struct called Vector3 with 3 int representing X, Y and Z. For each 3D point (I have more or less 200-300 different 3D points) I have a string.
What I want to do is to have a data structure that checks if there is a string for that location. I wanted to use a std::map and I made this code without good results:
The error it has is that It just runs the else part once, and keeps returning the same string over and over.
My Vector3 class is the one in Ogre3D: http://www.ogre3d.org/docs/api/html/classOgre_1_1Vector3.html
String WorldGenerator::createPlatformBorder(Vector3 size)
{
static std::map<Vector3, String> generatedBorders;
if (generatedBorders.find(size) != generatedBorders.end())
{
return generatedBorders[size];
}
else
{
String blockName = requestNewPlatformBorderName();
generatedBorders.insert(std::pair<Vector3, String>(size, blockName));
// some logic
return blockName;
}
}
Could you help me out, please?
Note that the function requestNewPlatformBorderName() works perfectly fine, so the bug isn't there. Here is the code for it:
String requestNewPlatformBorderName()
{
static int counter = 0;
return StringConverter::toString(++counter) + "-platform-border";
}