本文整理汇总了C++中Transform3D::position方法的典型用法代码示例。如果您正苦于以下问题:C++ Transform3D::position方法的具体用法?C++ Transform3D::position怎么用?C++ Transform3D::position使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transform3D
的用法示例。
在下文中一共展示了Transform3D::position方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ImGuiProperty
void ImGuiProperty(const Transform3D &transform3D) {
auto position = transform3D.position();
auto center = transform3D.center();
auto scale = transform3D.scale();
auto orientation = transform3D.orientation();
ImGui::InputFloat3("Position", &position[0]);
ImGui::InputFloat3("Center", ¢er[0]);
ImGui::InputFloat("Scale", &scale);
ImGui::InputFloat4("Orientation", &orientation[0]);
}
示例2:
Transform3D Transform3D::interpolated(const Transform3D & other, float v) const
{
Transform3D result;
result.setOrientation(glm::slerp(m_orientation, other.orientation(), v));
result.setPosition(glm::mix(m_position, other.position(), v));
result.setScale(glm::mix(m_scale, other.scale(), v));
result.setCenter(glm::mix(m_center, other.center(), v));
return result;
}
示例3:
Box::Box(const glm::vec3 & halfExtent, const Transform3D & transform)
{
m_p = transform.position();
auto x = transform.directionLocalToWorld(glm::vec3(halfExtent.x, 0.0f, 0.0f));
auto y = transform.directionLocalToWorld(glm::vec3(0.0f, halfExtent.y, 0.0f));
auto z = transform.directionLocalToWorld(glm::vec3(0.0f, 0.0f, halfExtent.z));
x = x != glm::vec3(0.0f) ? glm::normalize(x) : x;
y = y != glm::vec3(0.0f) ? glm::normalize(y) : y;
z = z != glm::vec3(0.0f) ? glm::normalize(z) : z;
m_halfExtent = halfExtent;
m_axes = glm::mat3(x, y, z);
}