本文整理汇总了C++中Mod::WrapTwoPI方法的典型用法代码示例。如果您正苦于以下问题:C++ Mod::WrapTwoPI方法的具体用法?C++ Mod::WrapTwoPI怎么用?C++ Mod::WrapTwoPI使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mod
的用法示例。
在下文中一共展示了Mod::WrapTwoPI方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AxisAngletoHomochoric
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
void OrientationMath::AxisAngletoHomochoric(float w, float n1, float n2, float n3, float& r1, float& r2, float& r3)
{
// Bring omega into proper range.
Mod<float> mod;
w = mod.WrapTwoPI(w);
float denom = 0.0f;
denom = (n1 * n1) + (n2 * n2) + (n3 * n3);
denom = sqrt(denom);
if(denom == 0.0)
{
r1 = 0.0, r2 = 0.0, r3 = 0.0;
return;
}
n1 = n1 / denom;
n2 = n2 / denom;
n3 = n3 / denom;
if (w >= 0.0f && w < DREAM3D::Constants::k_Pi)
{
float temp = powf(((0.75f) * (w - sinf(w))), DREAM3D::Constants::k_1Over3);
r1 = n1 * temp;
r2 = n2 * temp;
r3 = n3 * temp;
}
else
{
float temp = powf(((0.75f) * (DREAM3D::Constants::k_2Pi - w + sinf(w))), DREAM3D::Constants::k_1Over3);
r1 = n1 * temp;
r2 = n2 * temp;
r3 = n3 * temp;
}
}