File: TestScalarMaterialMode.py

package info (click to toggle)
vtk6 6.3.0%2Bdfsg2-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 118,880 kB
  • sloc: cpp: 1,442,792; ansic: 113,395; python: 72,383; tcl: 46,998; xml: 8,119; yacc: 4,525; java: 4,239; perl: 3,108; lex: 1,694; sh: 1,093; asm: 154; makefile: 103; objc: 17
file content (92 lines) | stat: -rwxr-xr-x 3,231 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/usr/bin/env python

# Test interactions of scalar coloring with various ScalarMaterialMode
# settings.
import vtk
from vtk.test import Testing

renWin = vtk.vtkRenderWindow()
iRen = vtk.vtkRenderWindowInteractor()
iRen.SetRenderWindow(renWin)
renWin.SetSize(500, 600)

sphere = vtk.vtkSphereSource()

elev = vtk.vtkElevationFilter()
elev.SetLowPoint(-0.25, -0.25, -0.25)
elev.SetHighPoint(.25, .25, .25)
elev.SetInputConnection(sphere.GetOutputPort())

lut = vtk.vtkLookupTable()
lut.SetSaturationRange(0, 0)
lut.SetValueRange(0, 1)
lut.SetRange(0, 1)
lut.Build()


def add(**kwargs):
    ren = vtk.vtkRenderer()
    ren.SetBackground(0.5, 0.5, 0.5)
    #ren.SetViewport(0, 0, 0.5, 1)
    renWin.AddRenderer(ren)

    mapper = vtk.vtkPolyDataMapper()
    mapper.SetInputConnection(elev.GetOutputPort())
    mapper.SetLookupTable(lut)
    mapper.SetInterpolateScalarsBeforeMapping(kwargs['interpolate_scalars_before_mapping'])
    mapper.SetScalarMaterialMode(kwargs["material_mode"])

    actor = vtk.vtkActor()
    actor.SetMapper(mapper)
    ren.AddActor(actor)

    prop = actor.GetProperty()
    prop.SetAmbient(kwargs['ambient'])
    prop.SetDiffuse(kwargs['diffuse'])
    prop.SetAmbientColor(1, 0, 0)
    prop.SetDiffuseColor(0, 1, 0)

    textActorL = vtk.vtkTextActor()
    txt = " InterpolateScalarsBeforeMapping: %d\n"\
          " ScalarMaterialMode: %s\n"\
          " Ambient: %.2f\t Ambient Color: 1, 0, 0\n"\
          " Diffuse: %.2f\t Diffuse Color: 0, 1, 0"
    txt = txt % (kwargs['interpolate_scalars_before_mapping'],
            mapper.GetScalarMaterialModeAsString(), prop.GetAmbient(), prop.GetDiffuse())
    textActorL.SetInput(txt)
    ren.AddActor(textActorL)
    return (ren, actor, mapper)

ren, actor, mapper = add(interpolate_scalars_before_mapping=1, ambient=0.49,
        diffuse=0.51, material_mode=vtk.VTK_MATERIALMODE_DEFAULT)
ren.SetViewport(0, 0, 0.5, 0.25)

ren, actor, mapper = add(interpolate_scalars_before_mapping=0, ambient=0.49,
        diffuse=0.51, material_mode=vtk.VTK_MATERIALMODE_DEFAULT)
ren.SetViewport(0.5, 0, 1, 0.25)

ren, actor, mapper = add(interpolate_scalars_before_mapping=1, ambient=0.49,
        diffuse=0.51, material_mode=vtk.VTK_MATERIALMODE_AMBIENT)
ren.SetViewport(0, 0.25, 0.5, 0.5)

ren, actor, mapper = add(interpolate_scalars_before_mapping=0, ambient=0.49,
        diffuse=0.51, material_mode=vtk.VTK_MATERIALMODE_AMBIENT)
ren.SetViewport(0.5, 0.25, 1, 0.5)

ren, actor, mapper = add(interpolate_scalars_before_mapping=1, ambient=0.49,
        diffuse=0.51, material_mode=vtk.VTK_MATERIALMODE_DIFFUSE)
ren.SetViewport(0, 0.5, 0.5, 0.75)

ren, actor, mapper = add(interpolate_scalars_before_mapping=0, ambient=0.49,
        diffuse=0.51, material_mode=vtk.VTK_MATERIALMODE_DIFFUSE)
ren.SetViewport(0.5, 0.5, 1, 0.75)

ren, actor, mapper = add(interpolate_scalars_before_mapping=1, ambient=0.49,
        diffuse=0.51, material_mode=vtk.VTK_MATERIALMODE_AMBIENT_AND_DIFFUSE)
ren.SetViewport(0, 0.75, 0.5, 1)

ren, actor, mapper = add(interpolate_scalars_before_mapping=0, ambient=0.49,
        diffuse=0.51, material_mode=vtk.VTK_MATERIALMODE_AMBIENT_AND_DIFFUSE)
ren.SetViewport(0.5, 0.75, 1, 1)

#---------------------------------------------------------