本文整理汇总了C++中Vec3f::crossed方法的典型用法代码示例。如果您正苦于以下问题:C++ Vec3f::crossed方法的具体用法?C++ Vec3f::crossed怎么用?C++ Vec3f::crossed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vec3f
的用法示例。
在下文中一共展示了Vec3f::crossed方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addArrowVerts
// helper function
void EntityLinkDecorator::addArrowVerts(Vec4f::List &vList, const Vec3f &pointA, const Vec3f &pointB) {
if ((pointB - pointA).lengthSquared() < 0.0001f)
return;
vList.push_back(Vec4f(pointA, 0.0f));
vList.push_back(Vec4f(pointB, 1.0f));
#if 0
// calculate arrowhead
const Vec3f
lineVec = pointB - pointA,
lineDir = lineVec.normalized();
Vec3f
lineRight;
if( fabs( lineDir.dot( Vec3f::PosY )) < 0.9f ) {
lineRight = -lineDir.crossed( Vec3f::PosY );
} else {
lineRight = -lineDir.crossed( Vec3f::PosZ );
}
lineRight.normalize();
const Vec3f
lineUp = lineDir.crossed( lineRight );
const Vec3f
arrowBase = pointB - lineDir * 16.0f,
arrowCorner1 = arrowBase + lineUp * 4.0,
arrowCorner2 = arrowBase + lineRight * 4.0,
arrowCorner3 = arrowBase - lineUp * 4.0,
arrowCorner4 = arrowBase - lineRight * 4.0;
float
lineLength = lineVec.length(),
arrowCornerDist = ( lineLength - 16.0f ) / lineLength;
vList.push_back( Vec4f( pointB, 1.0f ) );
vList.push_back( Vec4f( arrowCorner1, arrowCornerDist ));
vList.push_back( Vec4f( pointB, 1.0f ) );
vList.push_back( Vec4f( arrowCorner2, arrowCornerDist ));
vList.push_back( Vec4f( pointB, 1.0f ) );
vList.push_back( Vec4f( arrowCorner3, arrowCornerDist ));
vList.push_back( Vec4f( pointB, 1.0f ) );
vList.push_back( Vec4f( arrowCorner4, arrowCornerDist ));
vList.push_back( Vec4f( arrowCorner1, arrowCornerDist ));
vList.push_back( Vec4f( arrowCorner2, arrowCornerDist ));
vList.push_back( Vec4f( arrowCorner2, arrowCornerDist ));
vList.push_back( Vec4f( arrowCorner3, arrowCornerDist ));
vList.push_back( Vec4f( arrowCorner3, arrowCornerDist ));
vList.push_back( Vec4f( arrowCorner4, arrowCornerDist ));
vList.push_back( Vec4f( arrowCorner4, arrowCornerDist ));
vList.push_back( Vec4f( arrowCorner1, arrowCornerDist ));
#endif
}