本文整理汇总了C++中Plane::SetNormal方法的典型用法代码示例。如果您正苦于以下问题:C++ Plane::SetNormal方法的具体用法?C++ Plane::SetNormal怎么用?C++ Plane::SetNormal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Plane
的用法示例。
在下文中一共展示了Plane::SetNormal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RenderDragTemplate
void SceneEditorApp::RenderDragTemplate() {
if (currentLevel == nullptr) {
return;
}
if (dragNow == false) {
return;
}
// qDebug() << dragTemplateName.c_str();
if (dragTemplateName != "") {
SceneObjectGeometry* g =
GetGeometryManager().GetGeometry(dragTemplateName);
if (g == nullptr) {
return;
}
SceneObjectParams params;
Vec3f position;
Vec2f cpos = GetCursorPos();
Plane plane;
plane.SetNormal(Vec3f(0, 0, 1));
plane.SetPoint(Vec3f(0, 0, 0));
// LOG_INFO(cpos);
camera->CastRay(cpos, plane, position);
// v = vv;
params.pos = position;
// LOG_INFO(position);
GetDebugRenderer().RenderObject(*g, params);
}
}
示例2: SetDragDropProcessors
void SceneEditorApp::SetDragDropProcessors() {
GetEventSystem().SetProcessor("DRL", AppEventProcessor([this]() {
dragNow = false;
// dragTemplateName = "";
}));
GetEventSystem().SetProcessor(
"DRDP", AppEventProcessor([this]() {
if (currentLevel != nullptr) {
// qDebug() << "Proccess enter";
dragTemplateName =
getSelectedTemplateHandler();
dragNow = true;
}
},
[this]() {}, [this]() {
if (dragNow == true) {
Plane plane;
plane.SetNormal(Vec3f(0, 0, 1));
plane.SetPoint(Vec3f(0, 0, 0));
Vec3f position;
Vec2f cpos = GetCursorPos();
camera->CastRay(cpos, plane, position);
AddObject(dragTemplateName, position);
dragNow = false;
dragTemplateName = "";
}
}));
}