vtk类之vtkLineSource:用2点来创建线的poly data

vtkLineSource 通过两点(x, y, z) 来创建一条线的poly data。

基本方法:

  SetPoint1SetPoint2设置先的2个端点。

virtual voidSetPoint1 (double, double, double)
virtual voidSetPoint1 (double[3])
virtual double *GetPoint1 ()
virtual voidGetPoint1 (double data[3])
 
 
virtual voidSetPoint2 (double, double, double)
virtual voidSetPoint2 (double[3])

例子:

#-*- coding: UTF-8 -*-
#-------------------------------------------------------------------------------
# Name:        lineActorFactory2 package
# Purpose:     通过两个点,创建一条直线
#
# Author:      ankier
#
# Created:     08-12-2012
# Copyright:   (c) ankier 2012
# Licence:     <your licence>
#-------------------------------------------------------------------------------

from ActorFactory import ActorFactory 
from vtk import *

## @brief 直线的actor factory
class LineActorFactory2(ActorFactory):
    def __init__(self):
        ActorFactory.__init__(self)
        self.__LineSource = vtkLineSource()
       
    def __del__(self):
        del self.__LineSource
    
    ## @brief 更新线的poly data
    def __UpdateData(self):
        self.__LineSource.SetPoint1(0, 0, 0)
        self.__LineSource.SetPoint2(100, 200, 300)
        self.__LineSource.SetResolution(10)
    
    ## @brief 重写基类方法
    #  see    ActorFactory._MakeActors
    def _MakeActors(self): 
        self.__UpdateData()       
        polyDataMapper = vtkPolyDataMapper()
        polyDataMapper.SetInputConnection(self.__LineSource.GetOutputPort())
        actor = self._NewActor()
        actor.SetMapper(polyDataMapper)
        actor.GetProperty().SetColor((1, 0, 0.3))
        del polyDataMapper
        return [actor]
        
        

运行效果图:

 

转载于:https://www.cnblogs.com/ankier/archive/2012/12/08/2808807.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值