https://blog.csdn.net/qq_37996632/article/details/106415402
https://kitware.github.io/vtk-examples/site/Cxx/Qt/BorderWidgetQt
#include "BorderWidgetQt.h"
#include <vtkBorderWidget.h>
#include <vtkCommand.h>
#include <vtkGenericOpenGLRenderWindow.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkPolyDataMapper.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkSphereSource.h>
#include <vtkVersion.h>
#include <vtkAxesActor.h>
#include <vtkCamera.h>
class BorderCallback : public vtkCommand
{
public:
BorderCallback()
{
}
static BorderCallback* New()
{
return new BorderCallback;
}
virtual void Execute(vtkObject* vtkNotUsed(caller), unsigned long, void*)
{
// vtkBorderWidget *borderWidget =
// reinterpret_cast<vtkBorderWidget*>(caller);
}
};
// Constructor
BorderWidgetQt::BorderWidgetQt(QWidget* parent)
: QMainWindow(parent)
{
this->resize(600, 400);
this->vtkWidget = new QVTKOpenGLNativeWidget(this);
this->setCentralWidget(vtkWidget);
vtkNew<vtkNamedColors> colors;
// Sphere
vtkNew<vtkSphereSource> sphereSource;
sphereSource->Update();
vtkNew<vtkPolyDataMapper> sphereMapper;
sphereMapper->SetInputConnection(sphereSource->GetOutputPort());
vtkNew<vtkActor> sphereActor;
sphereActor->SetMapper(sphereMapper);
sphereActor->GetProperty()->SetColor(colors->GetColor4d("Tomato").GetData());
// VTK Renderer
vtkNew<vtkRenderer> renderer;
renderer->AddActor(sphereActor);
renderer->SetBackground(colors->GetColor3d("SteelBlue").GetData());
// 相机拉远
renderer->ResetCamera();
renderer->GetActiveCamera()->Zoom(1.5);
// Connect VTK with Qt
this->vtkWidget->renderWindow()->AddRenderer(renderer);
// Add a border widget to the renderer
//vtkNew<vtkBorderWidget> bw;
//this->BorderWidget = bw;
//this->BorderWidget->SetInteractor(this->vtkWidget->interactor());
//this->BorderWidget->On();
vtkSmartPointer<vtkAxesActor> axes_actor = vtkSmartPointer<vtkAxesActor>::New();
axes_actor->SetPosition(0, 0, 0);
axes_actor->SetTotalLength(2, 2, 2);
axes_actor->SetShaftType(0);
axes_actor->SetCylinderRadius(0.02);
vtkSmartPointer<vtkOrientationMarkerWidget> widget =
vtkSmartPointer<vtkOrientationMarkerWidget>::New();;
this->BorderWidget = widget;
widget->SetOrientationMarker(axes_actor);
widget->SetInteractor(this->vtkWidget->interactor());
widget->SetEnabled(1);
widget->InteractiveOn();
}
文章浏览阅读166次。单张纹理实践Shader "Unity Shaders Book/Chapter 7/Single Texture" { Properties { _Color ("Color Tint", Color) = (1, 1, 1, 1) //white是内置纹理的名字 _MainTex ("Main Tex", 2D) = "white" {} _Specular ("Specular", Color) = (1, 1, 1, 1) _Gloss ("Gloss", Range(8._unity内置的shader通用纹理名有:
文章浏览阅读2.4k次。网站/论坛:CSDN网址:http://www.csdn.net介绍:由《程序员》杂志社主办,集新闻动态、技术文档、论坛一体的大型综合技术网站,涉及大多数主流的编程语言。内容以初、中级为主流,面向大多数人的网站。 论坛:java视线论坛网址:forum.javaeye.com介绍:讨论Java和企业开发的高端论坛,管理极其严格(甚于联盟),主要是上海_国外系统程序员基地论坛
文章浏览阅读3.2k次,点赞2次,收藏18次。1.首先创建form表单,设置input的type为file实现文件的上传,代码如下:<form action="" method="POST" enctype="multipart/form-data"> <tr> <td width="150" height="30" align="right" valign="middle">请选择上传文件:</td> <td width="250">..._php上传exe文件
文章浏览阅读2.8k次,点赞6次,收藏30次。使用Cef和Qt做一个跨平台浏览器?提示:这篇文章主要介绍提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录使用Cef和Qt做一个跨平台浏览器?前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas _cef3 多个标签
文章浏览阅读434次。本文介绍了什么是SPI,详细介绍了STM32的SPI并给出了详细的程序设计。_stm32f1 spi通信
文章浏览阅读7.1k次。绘制acf与pacf图像代码如下:其中AR模型看PACF,MA模型看ACFfrom statsmodels.graphics.tsaplots import plot_acf, plot_pacfimport pandas as pdimport matplotlib.pyplot as pltimport numpy as npdf = pd.DataFrame(np.random.randint(1, 10, size=(365, 1)), columns=['value'], index_stata acf图
文章浏览阅读64次。4.2寸Wifi标签不工作的时候电流的消耗主要来自两部分:待机时,醒来监听时。经过测量,4.2寸Wifi标签的待机电流是3.1uA , 醒来监听的峰值电流是32 mA。从上面三个图的电流消耗图中(包括待机和醒来监听),我们以最后的图来算,从图中可以看出醒来监听的峰值电流是123mA,平均电流是122uA=0.122mA。4.2寸Wifi标签系统设定每间隔1秒醒来一次监听是否有唤醒数据。用平均电流来计算1 小时醒来监听电量:0.122X1=0.122mAh。
文章浏览阅读1.3k次。详见SQL递归---------------------------------------获取所有子级/*----------------------------------------------------------*//* [PC1recursion] *//*----------------..._sql过滤树状图父类
文章浏览阅读126次,点赞5次,收藏3次。工人们可以迅速根据电子看板上的提示,安排自己的工作节奏,调整机器设备,确保生产流程的高效运转。这不仅减少了因信息不畅或误解而产生的延误和错误,更使得整个生产过程如同一个协调有序的交响乐团,每个成员都能够默契配合,共同奏响生产的华丽乐章。工业车间液晶SOP电子看板,这一创新工具,如同车间中的智慧之眼,为生产流程注入了活力与智慧。其神奇的魅力,不仅在于提升了生产效率,更在于优化了繁琐的工作流程,减少了可能的人为错误,从而极大地提高了工作的准确性和质量。工业车间液晶SOP电子看板是新型工具。
文章浏览阅读2.7k次。点云ICP算法是一种迭代的优化算法,旨在将两个或多个点云的位置和姿态进行校准,使其在空间中最佳匹配。ICP算法的核心思想是通过迭代的方式,不断寻找最小化两个点云之间距离误差的最佳变换矩阵。它基于最近点匹配的思想,将源点云的点与目标点云中最近的点进行匹配,并根据匹配点对之间的误差来更新变换矩阵。需要注意的是ICP算法对原始点云位置有一定要求,若点云初始姿态/位置相差较大,则难以直接通过原始的ICP算法完成准确配准。需要进一步结合粗配准算法或通过改进ICP算法实现配准。_python中点云配准icp算法
文章浏览阅读793次。lighttpd中带了一个监控模块,可以监控lighttpd服务器的流量。1. 确保安装lighttpd的时候,带了rrdtool模块,如果没有,手动安装参考 这里2. 在/etc/lighttpd/lighttpd.conf中,激活mod_rrdtool模块,并添加以下代码: rrdtool.binary = "/usr/bin/rrdtool" rrdtool.db-n_lighttpd流量
文章浏览阅读316次。从BeagleBone谈AM335x硬件系统设计[复制链接]日期:2012-04-25如果不是要试用BeagleBone,也不会花着大把的时间去研究AM335X的硬件系统设计,这些天翻阅了TI好多的文档资料,有一些小小的心得,和大家共享一下,全当做个记录,时间久了可以回来翻翻。我主要按以下的顺序,谈谈我最近的一些收获,仅供大家参考。BeagleBone的参考手册:《BeagleBone Rev A..._am335x需要在外设之前上电吗