本文整理汇总了C++中StaticObject::getUnitPos方法的典型用法代码示例。如果您正苦于以下问题:C++ StaticObject::getUnitPos方法的具体用法?C++ StaticObject::getUnitPos怎么用?C++ StaticObject::getUnitPos使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StaticObject
的用法示例。
在下文中一共展示了StaticObject::getUnitPos方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getWrappingUnitDist
const double getWrappingUnitDist(const StaticObject& obj1, const StaticObject& obj2) {
pair<double,double> pos1 = obj1.getUnitPos();
pair<double,double> pos2 = obj2.getUnitPos();
double x = std::abs(pos1.first - pos2.first);
if(x > .5)
x = 1 - x;
double y = std::abs(pos1.second - pos2.second);
if(y > .5)
y = 1 - y;
return std::sqrt(x*x + y*y);
}
示例2: getWrappingDistSq
const unsigned getWrappingDistSq(const StaticObject& obj1, const StaticObject& obj2) {
pair<double,double> pos1 = obj1.getUnitPos();
pair<double,double> pos2 = obj2.getUnitPos();
double x = std::abs(pos1.first - pos2.first);
if(x > .5)
x = 1 - x;
double y = std::abs(pos1.second - pos2.second);
if(y > .5)
y = 1 - y;
x *= UNIVERSE_WIDTH * UNIVERSE_TOTAL_SCALE;
y *= UNIVERSE_HEIGHT * UNIVERSE_TOTAL_SCALE;
return static_cast<unsigned>(x*x + y*y);
}