本文整理汇总了C++中Quat::FromEulerAngle方法的典型用法代码示例。如果您正苦于以下问题:C++ Quat::FromEulerAngle方法的具体用法?C++ Quat::FromEulerAngle怎么用?C++ Quat::FromEulerAngle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Quat
的用法示例。
在下文中一共展示了Quat::FromEulerAngle方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnOK
void PropertyFieldQuaternion::OnOK(const MGUI::ClickEvent * e)
{
mLayout->SetVisible(false);
String x_text, y_text, z_text;
x_text.FromUnicode(mEditBoxX->GetCaption().c_str());
y_text.FromUnicode(mEditBoxY->GetCaption().c_str());
z_text.FromUnicode(mEditBoxZ->GetCaption().c_str());
Float3 val;
val.x = x_text.ToFloat();
val.y = y_text.ToFloat();
val.z = z_text.ToFloat();
Quat q;
q.FromEulerAngle(val);
mObject->SetPropertyData(mProperty, &q);
String text =
f2str(val.x, true) + " " +
f2str(val.y, true) + " " +
f2str(val.z, true);
mButton->SetCaption(text.c_wstr());
}
示例2: OnTextChanged
void GizmoBar::OnTextChanged(const MGUI::FocusEvent * e)
{
Node * n = Editor::Instance()->GetSelectNode();
if (n == NULL)
return ;
String x_str, y_str, z_str;
x_str.FromUnicode(mEditBox_X->GetCaption().c_str());
y_str.FromUnicode(mEditBox_Y->GetCaption().c_str());
z_str.FromUnicode(mEditBox_Z->GetCaption().c_str());
Float3 v;
v.x = x_str.ToFloat();
v.y = y_str.ToFloat();
v.z = z_str.ToFloat();
switch (Gizmo::Instance()->GetOperator())
{
case Gizmo::OP_MOVE:
{
UndoRedoManager::Instance()->Push(new UndoRedo_Move(n->GetUID(), n->GetPosition(), v));
n->SetPosition(v);
Editor::Instance()->E_NodePositionChanged();
}
break;
case Gizmo::OP_ROTATE:
{
Quat q;
q.FromEulerAngle(v);
UndoRedoManager::Instance()->Push(new UndoRedo_Rotate(n->GetUID(), n->GetRotation(), q));
n->SetRotation(q);
Editor::Instance()->E_NodeRotationChanged();
}
break;
case Gizmo::OP_SCALE:
{
UndoRedoManager::Instance()->Push(new UndoRedo_Scale(n->GetUID(), n->GetScale(), v));
n->SetScale(v);
Editor::Instance()->E_NodeScaleChanged();
}
break;
}
}