调用函数返回一个场景renderer并实现多场景在同一窗口显示

问题:函数调用想要返回renderer场景

智能指针类型同样也可以作为函数的返回值。正确的写法类似:
vtkSmartPointerMyFunction()

{
vtkSmartPointer myObject= vtkSmartPointer::New();

return myObject;
}

调用时则是:
vtkSmartPointerMyImageData = MyFunction();
函数MyFunction()的返回值是通过拷贝的方式,将数据赋予调用的变量,因此该数据的引用计数保持不变,而且函数MyFunction里的myObject对象也不会删除

此函数目的是生成一个柱体添加进场景里并且将最后的场景renderer作为函数返回值返回;只需要修改函数返回值。
总结:
只能指针也可以作函数返回值

完整代码

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
#include "vtkSmartPointer.h"

#include "vtkRenderWindow.h"

#include "vtkRenderer.h"

#include "vtkRenderWindowInteractor.h"

#include "vtkInteractorStyleTrackballCamera.h"

#include "vtkCylinderSource.h"

#include "vtkPolyDataMapper.h"

#include "vtkActor.h"
#include "vtkProperty.h"
#include "vtkBMPReader.h"
#include"vtkTexture.h"
#include"vtkLight.h"
#include"vtkCamera.h"


vtkSmartPointer<vtkRenderer> SolidFigureCreate(float height, float radius, 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值