本文整理汇总了C++中LocalVector::x方法的典型用法代码示例。如果您正苦于以下问题:C++ LocalVector::x方法的具体用法?C++ LocalVector::x怎么用?C++ LocalVector::x使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LocalVector
的用法示例。
在下文中一共展示了LocalVector::x方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: thePos
std::pair<LocalPoint,LocalVector> secondOrderAccurate(
const GlobalPoint& startingPos,
const GlobalVector& startingDir,
double rho, const Plane& plane)
{
typedef Basic2DVector<float> Vector2D;
// translate problem to local frame of the plane
LocalPoint lPos = plane.toLocal(startingPos);
LocalVector lDir = plane.toLocal(startingDir);
LocalVector yPrime = plane.toLocal( GlobalVector(0,0,1.f));
float sinPhi=0, cosPhi=0;
Vector2D pos;
Vector2D dir;
sinPhi = yPrime.y();
cosPhi = yPrime.x();
pos = Vector2D( lPos.x()*cosPhi + lPos.y()*sinPhi,
-lPos.x()*sinPhi + lPos.y()*cosPhi);
dir = Vector2D( lDir.x()*cosPhi + lDir.y()*sinPhi,
-lDir.x()*sinPhi + lDir.y()*cosPhi);
double d = -lPos.z();
double x = pos.x() + dir.x()/lDir.z()*d - 0.5*rho*d*d;
double y = pos.y() + dir.y()/lDir.z()*d;
LocalPoint thePos( x*cosPhi - y*sinPhi,
x*sinPhi + y*cosPhi, 0);
float px = dir.x()+rho*d;
LocalVector theDir( px*cosPhi - dir.y()*sinPhi,
px*sinPhi + dir.y()*cosPhi, lDir.z());
return std::pair<LocalPoint,LocalVector>(thePos,theDir);
}