本文整理汇总了C++中Visualizer::setCameraTransform方法的典型用法代码示例。如果您正苦于以下问题:C++ Visualizer::setCameraTransform方法的具体用法?C++ Visualizer::setCameraTransform怎么用?C++ Visualizer::setCameraTransform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Visualizer
的用法示例。
在下文中一共展示了Visualizer::setCameraTransform方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: offset
void Visualizer::BodyFollower::generateControls(
const Visualizer& viz,
const State& state,
Array_< DecorativeGeometry >& geometry)
{
// Offset.
Vec3 offset(m_offset);
if (m_offset.isNaN()) {
// Default: offset is based on system up direction and ground height.
offset = Vec3(1, 1, 1);
offset[viz.getSystemUpDirection().getAxis()] += viz.getGroundHeight();
}
// Up direction. Default: use System up direction.
const UnitVec3& upDirection = m_upDirection.isNaN() ?
UnitVec3(viz.getSystemUpDirection()) : m_upDirection;
const Vec3 P = m_mobodB.findStationLocationInGround(state, m_stationPinB);
// Position of camera (C) from ground origin (G), expressed in ground.
const Vec3 p_GC = P + offset;
// Rotation of camera frame (C) in ground frame (G).
// To get the camera to point at P, we require the camera's z direction
// (which points "back") to be parallel to the offset. We also want the
// camera's y direction (which points to the top of the screen) to be as
// closely aligned with the provided up direction as is possible.
const Rotation R_GC(UnitVec3(offset), ZAxis, upDirection, YAxis);
viz.setCameraTransform(Transform(R_GC, p_GC));
}
示例2: generateControls
void generateControls(const Visualizer& viz,
const State& state,
Array_< DecorativeGeometry >& geometry) override
{
const Vec3 Bo = m_body.getBodyOriginLocation(state);
//const Vec3 p_GC = Bo + Vec3(0,4,2);
//const Rotation R1(-SimTK::Pi/3, XAxis);
const Vec3 p_GC = Bo + Vec3(-1.,4.,0.5);
const Rotation R1(-1.6, XAxis);
const Rotation R2(SimTK::Pi, ZAxis);
viz.setCameraTransform(Transform(R1*R2, p_GC));
}