本文整理汇总了C++中Point3::rotateY方法的典型用法代码示例。如果您正苦于以下问题:C++ Point3::rotateY方法的具体用法?C++ Point3::rotateY怎么用?C++ Point3::rotateY使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Point3
的用法示例。
在下文中一共展示了Point3::rotateY方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
void Renderer2D::drawListOfTriangleSets(const vector<hesperia::decorator::models::TriangleSet> &listOfTriangleSets, const hesperia::data::environment::Point3 &position, const hesperia::data::environment::Point3 &rotation) {
vector<TriangleSet>::const_iterator it = listOfTriangleSets.begin();
while (it != listOfTriangleSets.end()) {
if ((*it).m_vertices.size() > 0) {
setColor((*it).m_material.getDiffuse());
setLineWidth(1.0);
// Fix inside OBJ-Wavefront-Models (OBJXArchive) (rotated 90°)!
vector<Point3> vertices = (*it).m_vertices;
vector<Point3> rotatedVertices;
vector<Point3>::iterator jt = vertices.begin();
while (jt != vertices.end()) {
Point3 p = (*jt).rotateX(cartesian::Constants::PI/2.0);
p.rotateX(rotation.getX());
p.rotateY(rotation.getY());
p.rotateZ(rotation.getZ());
p += position;
rotatedVertices.push_back(p);
jt++;
}
drawPolyLine(rotatedVertices);
}
it++;
}
}
示例2: transformInversely
Point3 Transformation::transformInversely(const Point3 &coordinate, const Position &position) const {
Point3 cc = coordinate;
// Rotate the coordinate.
cc.rotateX(-1 * position.getRotation().getX());
cc.rotateY(-1 * position.getRotation().getY());
cc.rotateZ(-1 * position.getRotation().getZ());
// Translate the coordinate.
cc -= position.getPosition();
return cc;
}