/*========================================================================= Program: Visualization Toolkit Module: TestGPURayCastThreeComponentsAdditive.cxx Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ // Description // This test creates a vtkImageData with three components. // The data is volume rendered considering the three components as independent. #include "vtkCamera.h" #include "vtkColorTransferFunction.h" #include "vtkGPUVolumeRayCastMapper.h" #include "vtkImageData.h" #include "vtkInteractorStyleTrackballCamera.h" #include "vtkNew.h" #include "vtkPiecewiseFunction.h" #include "vtkRenderWindow.h" #include "vtkRenderWindowInteractor.h" #include "vtkRenderer.h" #include "vtkSphere.h" #include "vtkTestUtilities.h" #include "vtkTesting.h" #include "vtkVolume.h" #include "vtkVolumeProperty.h" static const char* TestGPURayCastThreeComponentsAdditiveLog = "# StreamVersion 1\n" "EnterEvent 282 37 0 0 0 0 0\n" "MouseMoveEvent 282 37 0 0 0 0 0\n" "MouseMoveEvent 263 37 0 0 0 0 0\n" "MouseMoveEvent 244 42 0 0 0 0 0\n" "MouseMoveEvent 231 44 0 0 0 0 0\n" "MouseMoveEvent 222 47 0 0 0 0 0\n" "MouseMoveEvent 213 49 0 0 0 0 0\n" "MouseMoveEvent 212 50 0 0 0 0 0\n" "MouseMoveEvent 211 50 0 0 0 0 0\n" "MouseMoveEvent 210 51 0 0 0 0 0\n" "MouseMoveEvent 209 51 0 0 0 0 0\n" "MouseMoveEvent 207 52 0 0 0 0 0\n" "MouseMoveEvent 205 54 0 0 0 0 0\n" "MouseMoveEvent 203 56 0 0 0 0 0\n" "MouseMoveEvent 200 59 0 0 0 0 0\n" "MouseMoveEvent 198 61 0 0 0 0 0\n" "MouseMoveEvent 197 62 0 0 0 0 0\n" "MouseMoveEvent 196 63 0 0 0 0 0\n" "MouseMoveEvent 195 64 0 0 0 0 0\n" "MouseMoveEvent 192 67 0 0 0 0 0\n" "MouseMoveEvent 189 70 0 0 0 0 0\n" "MouseMoveEvent 186 72 0 0 0 0 0\n" "MouseMoveEvent 185 73 0 0 0 0 0\n" "MouseMoveEvent 183 74 0 0 0 0 0\n" "MouseMoveEvent 183 76 0 0 0 0 0\n" "MouseMoveEvent 183 79 0 0 0 0 0\n" "MouseMoveEvent 183 81 0 0 0 0 0\n" "MouseMoveEvent 183 82 0 0 0 0 0\n" "MouseMoveEvent 183 83 0 0 0 0 0\n" "MouseMoveEvent 183 84 0 0 0 0 0\n" "MouseMoveEvent 183 85 0 0 0 0 0\n" "MouseMoveEvent 183 86 0 0 0 0 0\n" "MouseMoveEvent 183 88 0 0 0 0 0\n" "MouseMoveEvent 183 91 0 0 0 0 0\n" "MouseMoveEvent 184 93 0 0 0 0 0\n" "MouseMoveEvent 184 94 0 0 0 0 0\n" "MouseMoveEvent 184 95 0 0 0 0 0\n" "MouseMoveEvent 185 96 0 0 0 0 0\n" "MouseMoveEvent 185 97 0 0 0 0 0\n" "MouseMoveEvent 186 99 0 0 0 0 0\n" "MouseMoveEvent 187 100 0 0 0 0 0\n" "MouseMoveEvent 188 101 0 0 0 0 0\n" "MouseMoveEvent 188 102 0 0 0 0 0\n" "MouseMoveEvent 189 104 0 0 0 0 0\n" "MouseMoveEvent 191 107 0 0 0 0 0\n" "MouseMoveEvent 192 109 0 0 0 0 0\n" "MouseMoveEvent 193 111 0 0 0 0 0\n" "MouseMoveEvent 193 112 0 0 0 0 0\n" "MouseMoveEvent 194 114 0 0 0 0 0\n" "MouseMoveEvent 195 115 0 0 0 0 0\n" "MouseMoveEvent 195 116 0 0 0 0 0\n" "MouseMoveEvent 195 117 0 0 0 0 0\n" "MouseWheelForwardEvent 195 117 0 0 0 0 0\n" "StartInteractionEvent 195 117 0 0 0 0 0\n" "RenderEvent 195 117 0 0 0 0 0\n" "EndInteractionEvent 195 117 0 0 0 0 0\n" "RenderEvent 195 117 0 0 0 0 0\n" "MouseWheelForwardEvent 195 117 0 0 0 0 0\n" "StartInteractionEvent 195 117 0 0 0 0 0\n" "RenderEvent 195 117 0 0 0 0 0\n" "EndInteractionEvent 195 117 0 0 0 0 0\n" "RenderEvent 195 117 0 0 0 0 0\n" "MouseMoveEvent 195 118 0 0 0 0 0\n" "MouseMoveEvent 195 119 0 0 0 0 0\n" "MouseMoveEvent 194 121 0 0 0 0 0\n" "MouseMoveEvent 193 122 0 0 0 0 0\n" "MouseMoveEvent 192 123 0 0 0 0 0\n" "MouseMoveEvent 190 125 0 0 0 0 0\n" "MouseMoveEvent 187 127 0 0 0 0 0\n" "MouseMoveEvent 184 130 0 0 0 0 0\n" "MouseMoveEvent 177 137 0 0 0 0 0\n" "MouseMoveEvent 169 145 0 0 0 0 0\n" "MouseMoveEvent 161 153 0 0 0 0 0\n" "MouseMoveEvent 155 157 0 0 0 0 0\n" "MouseMoveEvent 150 162 0 0 0 0 0\n" "MouseMoveEvent 144 167 0 0 0 0 0\n" "MouseMoveEvent 139 171 0 0 0 0 0\n" "MouseMoveEvent 137 175 0 0 0 0 0\n" "MouseMoveEvent 134 179 0 0 0 0 0\n" "MouseMoveEvent 133 182 0 0 0 0 0\n" "MouseMoveEvent 133 184 0 0 0 0 0\n" "MouseMoveEvent 132 185 0 0 0 0 0\n" "MouseMoveEvent 131 187 0 0 0 0 0\n" "MouseMoveEvent 130 189 0 0 0 0 0\n" "MouseMoveEvent 129 190 0 0 0 0 0\n" "LeftButtonPressEvent 129 190 0 0 0 0 0\n" "StartInteractionEvent 129 190 0 0 0 0 0\n" "MouseMoveEvent 130 190 0 0 0 0 0\n" "RenderEvent 130 190 0 0 0 0 0\n" "InteractionEvent 130 190 0 0 0 0 0\n" "MouseMoveEvent 135 185 0 0 0 0 0\n" "RenderEvent 135 185 0 0 0 0 0\n" "InteractionEvent 135 185 0 0 0 0 0\n" "MouseMoveEvent 138 179 0 0 0 0 0\n" "RenderEvent 138 179 0 0 0 0 0\n" "InteractionEvent 138 179 0 0 0 0 0\n" "MouseMoveEvent 147 169 0 0 0 0 0\n" "RenderEvent 147 169 0 0 0 0 0\n" "InteractionEvent 147 169 0 0 0 0 0\n" "MouseMoveEvent 154 161 0 0 0 0 0\n" "RenderEvent 154 161 0 0 0 0 0\n" "InteractionEvent 154 161 0 0 0 0 0\n" "MouseMoveEvent 158 154 0 0 0 0 0\n" "RenderEvent 158 154 0 0 0 0 0\n" "InteractionEvent 158 154 0 0 0 0 0\n" "MouseMoveEvent 163 147 0 0 0 0 0\n" "RenderEvent 163 147 0 0 0 0 0\n" "InteractionEvent 163 147 0 0 0 0 0\n" "MouseMoveEvent 168 136 0 0 0 0 0\n" "RenderEvent 168 136 0 0 0 0 0\n" "InteractionEvent 168 136 0 0 0 0 0\n" "MouseMoveEvent 177 121 0 0 0 0 0\n" "RenderEvent 177 121 0 0 0 0 0\n" "InteractionEvent 177 121 0 0 0 0 0\n" "MouseMoveEvent 184 109 0 0 0 0 0\n" "RenderEvent 184 109 0 0 0 0 0\n" "InteractionEvent 184 109 0 0 0 0 0\n" "MouseMoveEvent 189 97 0 0 0 0 0\n" "RenderEvent 189 97 0 0 0 0 0\n" "InteractionEvent 189 97 0 0 0 0 0\n" "MouseMoveEvent 197 84 0 0 0 0 0\n" "RenderEvent 197 84 0 0 0 0 0\n" "InteractionEvent 197 84 0 0 0 0 0\n" "MouseMoveEvent 201 74 0 0 0 0 0\n" "RenderEvent 201 74 0 0 0 0 0\n" "InteractionEvent 201 74 0 0 0 0 0\n" "MouseMoveEvent 206 66 0 0 0 0 0\n" "RenderEvent 206 66 0 0 0 0 0\n" "InteractionEvent 206 66 0 0 0 0 0\n" "MouseMoveEvent 211 54 0 0 0 0 0\n" "RenderEvent 211 54 0 0 0 0 0\n" "InteractionEvent 211 54 0 0 0 0 0\n" "MouseMoveEvent 219 41 0 0 0 0 0\n" "RenderEvent 219 41 0 0 0 0 0\n" "InteractionEvent 219 41 0 0 0 0 0\n" "MouseMoveEvent 223 34 0 0 0 0 0\n" "RenderEvent 223 34 0 0 0 0 0\n" "InteractionEvent 223 34 0 0 0 0 0\n" "MouseMoveEvent 230 24 0 0 0 0 0\n" "RenderEvent 230 24 0 0 0 0 0\n" "InteractionEvent 230 24 0 0 0 0 0\n" "MouseMoveEvent 234 17 0 0 0 0 0\n" "RenderEvent 234 17 0 0 0 0 0\n" "InteractionEvent 234 17 0 0 0 0 0\n" "MouseMoveEvent 236 15 0 0 0 0 0\n" "RenderEvent 236 15 0 0 0 0 0\n" "InteractionEvent 236 15 0 0 0 0 0\n" "MouseMoveEvent 239 10 0 0 0 0 0\n" "RenderEvent 239 10 0 0 0 0 0\n" "InteractionEvent 239 10 0 0 0 0 0\n" "LeftButtonReleaseEvent 239 10 0 0 0 0 0\n" "EndInteractionEvent 239 10 0 0 0 0 0\n" "RenderEvent 239 10 0 0 0 0 0\n" "MouseMoveEvent 239 11 0 0 0 0 0\n" "MouseMoveEvent 239 12 0 0 0 0 0\n" "MouseMoveEvent 239 14 0 0 0 0 0\n" "MouseMoveEvent 239 15 0 0 0 0 0\n" "MouseMoveEvent 237 19 0 0 0 0 0\n" "MouseMoveEvent 234 24 0 0 0 0 0\n" "MouseMoveEvent 228 35 0 0 0 0 0\n" "MouseMoveEvent 220 48 0 0 0 0 0\n" "MouseMoveEvent 209 62 0 0 0 0 0\n" "MouseMoveEvent 198 77 0 0 0 0 0\n" "MouseMoveEvent 187 92 0 0 0 0 0\n" "MouseMoveEvent 176 107 0 0 0 0 0\n" "MouseMoveEvent 165 120 0 0 0 0 0\n" "MouseMoveEvent 156 133 0 0 0 0 0\n" "MouseMoveEvent 147 146 0 0 0 0 0\n" "MouseMoveEvent 140 155 0 0 0 0 0\n" "MouseMoveEvent 133 164 0 0 0 0 0\n" "MouseMoveEvent 126 173 0 0 0 0 0\n" "MouseMoveEvent 119 182 0 0 0 0 0\n" "MouseMoveEvent 112 191 0 0 0 0 0\n" "MouseMoveEvent 107 198 0 0 0 0 0\n" "MouseMoveEvent 102 205 0 0 0 0 0\n" "MouseMoveEvent 98 212 0 0 0 0 0\n" "MouseMoveEvent 98 213 0 0 0 0 0\n" "MouseMoveEvent 96 214 0 0 0 0 0\n" "MouseMoveEvent 96 215 0 0 0 0 0\n" "MouseMoveEvent 96 217 0 0 0 0 0\n" "MouseMoveEvent 96 218 0 0 0 0 0\n" "MouseMoveEvent 96 219 0 0 0 0 0\n" "MouseMoveEvent 96 220 0 0 0 0 0\n" "MouseMoveEvent 97 221 0 0 0 0 0\n" "MouseMoveEvent 98 221 0 0 0 0 0\n" "MouseMoveEvent 99 221 0 0 0 0 0\n" "MouseMoveEvent 101 221 0 0 0 0 0\n" "MouseMoveEvent 103 220 0 0 0 0 0\n" "MouseMoveEvent 104 219 0 0 0 0 0\n" "LeftButtonPressEvent 104 219 0 0 0 0 0\n" "StartInteractionEvent 104 219 0 0 0 0 0\n" "MouseMoveEvent 105 218 0 0 0 0 0\n" "RenderEvent 105 218 0 0 0 0 0\n" "InteractionEvent 105 218 0 0 0 0 0\n" "MouseMoveEvent 113 208 0 0 0 0 0\n" "RenderEvent 113 208 0 0 0 0 0\n" "InteractionEvent 113 208 0 0 0 0 0\n" "MouseMoveEvent 124 187 0 0 0 0 0\n" "RenderEvent 124 187 0 0 0 0 0\n" "InteractionEvent 124 187 0 0 0 0 0\n" "MouseMoveEvent 132 171 0 0 0 0 0\n" "RenderEvent 132 171 0 0 0 0 0\n" "InteractionEvent 132 171 0 0 0 0 0\n" "MouseMoveEvent 136 164 0 0 0 0 0\n" "RenderEvent 136 164 0 0 0 0 0\n" "InteractionEvent 136 164 0 0 0 0 0\n" "MouseMoveEvent 140 158 0 0 0 0 0\n" "RenderEvent 140 158 0 0 0 0 0\n" "InteractionEvent 140 158 0 0 0 0 0\n" "MouseMoveEvent 146 149 0 0 0 0 0\n" "RenderEvent 146 149 0 0 0 0 0\n" "InteractionEvent 146 149 0 0 0 0 0\n" "MouseMoveEvent 150 139 0 0 0 0 0\n" "RenderEvent 150 139 0 0 0 0 0\n" "InteractionEvent 150 139 0 0 0 0 0\n" "MouseMoveEvent 153 134 0 0 0 0 0\n" "RenderEvent 153 134 0 0 0 0 0\n" "InteractionEvent 153 134 0 0 0 0 0\n" "MouseMoveEvent 157 127 0 0 0 0 0\n" "RenderEvent 157 127 0 0 0 0 0\n" "InteractionEvent 157 127 0 0 0 0 0\n" "MouseMoveEvent 161 121 0 0 0 0 0\n" "RenderEvent 161 121 0 0 0 0 0\n" "InteractionEvent 161 121 0 0 0 0 0\n" "MouseMoveEvent 164 116 0 0 0 0 0\n" "RenderEvent 164 116 0 0 0 0 0\n" "InteractionEvent 164 116 0 0 0 0 0\n" "MouseMoveEvent 167 111 0 0 0 0 0\n" "RenderEvent 167 111 0 0 0 0 0\n" "InteractionEvent 167 111 0 0 0 0 0\n" "MouseMoveEvent 172 107 0 0 0 0 0\n" "RenderEvent 172 107 0 0 0 0 0\n" "InteractionEvent 172 107 0 0 0 0 0\n" "MouseMoveEvent 177 105 0 0 0 0 0\n" "RenderEvent 177 105 0 0 0 0 0\n" "InteractionEvent 177 105 0 0 0 0 0\n" "MouseMoveEvent 185 101 0 0 0 0 0\n" "RenderEvent 185 101 0 0 0 0 0\n" "InteractionEvent 185 101 0 0 0 0 0\n" "MouseMoveEvent 192 99 0 0 0 0 0\n" "RenderEvent 192 99 0 0 0 0 0\n" "InteractionEvent 192 99 0 0 0 0 0\n" "MouseMoveEvent 195 99 0 0 0 0 0\n" "RenderEvent 195 99 0 0 0 0 0\n" "InteractionEvent 195 99 0 0 0 0 0\n" "MouseMoveEvent 196 99 0 0 0 0 0\n" "RenderEvent 196 99 0 0 0 0 0\n" "InteractionEvent 196 99 0 0 0 0 0\n" "MouseMoveEvent 201 107 0 0 0 0 0\n" "RenderEvent 201 107 0 0 0 0 0\n" "InteractionEvent 201 107 0 0 0 0 0\n" "MouseMoveEvent 207 115 0 0 0 0 0\n" "RenderEvent 207 115 0 0 0 0 0\n" "InteractionEvent 207 115 0 0 0 0 0\n" "MouseMoveEvent 213 127 0 0 0 0 0\n" "RenderEvent 213 127 0 0 0 0 0\n" "InteractionEvent 213 127 0 0 0 0 0\n" "MouseMoveEvent 220 143 0 0 0 0 0\n" "RenderEvent 220 143 0 0 0 0 0\n" "InteractionEvent 220 143 0 0 0 0 0\n" "MouseMoveEvent 223 154 0 0 0 0 0\n" "RenderEvent 223 154 0 0 0 0 0\n" "InteractionEvent 223 154 0 0 0 0 0\n" "MouseMoveEvent 225 165 0 0 0 0 0\n" "RenderEvent 225 165 0 0 0 0 0\n" "InteractionEvent 225 165 0 0 0 0 0\n" "MouseMoveEvent 226 180 0 0 0 0 0\n" "RenderEvent 226 180 0 0 0 0 0\n" "InteractionEvent 226 180 0 0 0 0 0\n" "MouseMoveEvent 226 187 0 0 0 0 0\n" "RenderEvent 226 187 0 0 0 0 0\n" "InteractionEvent 226 187 0 0 0 0 0\n" "MouseMoveEvent 226 201 0 0 0 0 0\n" "RenderEvent 226 201 0 0 0 0 0\n" "InteractionEvent 226 201 0 0 0 0 0\n" "MouseMoveEvent 225 205 0 0 0 0 0\n" "RenderEvent 225 205 0 0 0 0 0\n" "InteractionEvent 225 205 0 0 0 0 0\n" "MouseMoveEvent 224 206 0 0 0 0 0\n" "RenderEvent 224 206 0 0 0 0 0\n" "InteractionEvent 224 206 0 0 0 0 0\n" "MouseMoveEvent 223 206 0 0 0 0 0\n" "RenderEvent 223 206 0 0 0 0 0\n" "InteractionEvent 223 206 0 0 0 0 0\n" "MouseMoveEvent 219 204 0 0 0 0 0\n" "RenderEvent 219 204 0 0 0 0 0\n" "InteractionEvent 219 204 0 0 0 0 0\n" "MouseMoveEvent 212 202 0 0 0 0 0\n" "RenderEvent 212 202 0 0 0 0 0\n" "InteractionEvent 212 202 0 0 0 0 0\n" "MouseMoveEvent 204 201 0 0 0 0 0\n" "RenderEvent 204 201 0 0 0 0 0\n" "InteractionEvent 204 201 0 0 0 0 0\n" "MouseMoveEvent 185 201 0 0 0 0 0\n" "RenderEvent 185 201 0 0 0 0 0\n" "InteractionEvent 185 201 0 0 0 0 0\n" "MouseMoveEvent 179 201 0 0 0 0 0\n" "RenderEvent 179 201 0 0 0 0 0\n" "InteractionEvent 179 201 0 0 0 0 0\n" "MouseMoveEvent 171 201 0 0 0 0 0\n" "RenderEvent 171 201 0 0 0 0 0\n" "InteractionEvent 171 201 0 0 0 0 0\n" "MouseMoveEvent 165 203 0 0 0 0 0\n" "RenderEvent 165 203 0 0 0 0 0\n" "InteractionEvent 165 203 0 0 0 0 0\n" "MouseMoveEvent 157 207 0 0 0 0 0\n" "RenderEvent 157 207 0 0 0 0 0\n" "InteractionEvent 157 207 0 0 0 0 0\n" "MouseMoveEvent 149 212 0 0 0 0 0\n" "RenderEvent 149 212 0 0 0 0 0\n" "InteractionEvent 149 212 0 0 0 0 0\n" "MouseMoveEvent 141 219 0 0 0 0 0\n" "RenderEvent 141 219 0 0 0 0 0\n" "InteractionEvent 141 219 0 0 0 0 0\n" "MouseMoveEvent 139 221 0 0 0 0 0\n" "RenderEvent 139 221 0 0 0 0 0\n" "InteractionEvent 139 221 0 0 0 0 0\n" "MouseMoveEvent 138 220 0 0 0 0 0\n" "RenderEvent 138 220 0 0 0 0 0\n" "InteractionEvent 138 220 0 0 0 0 0\n" "MouseMoveEvent 137 211 0 0 0 0 0\n" "RenderEvent 137 211 0 0 0 0 0\n" "InteractionEvent 137 211 0 0 0 0 0\n" "MouseMoveEvent 137 196 0 0 0 0 0\n" "RenderEvent 137 196 0 0 0 0 0\n" "InteractionEvent 137 196 0 0 0 0 0\n" "MouseMoveEvent 137 174 0 0 0 0 0\n" "RenderEvent 137 174 0 0 0 0 0\n" "InteractionEvent 137 174 0 0 0 0 0\n" "MouseMoveEvent 137 161 0 0 0 0 0\n" "RenderEvent 137 161 0 0 0 0 0\n" "InteractionEvent 137 161 0 0 0 0 0\n" "MouseMoveEvent 138 151 0 0 0 0 0\n" "RenderEvent 138 151 0 0 0 0 0\n" "InteractionEvent 138 151 0 0 0 0 0\n" "MouseMoveEvent 142 138 0 0 0 0 0\n" "RenderEvent 142 138 0 0 0 0 0\n" "InteractionEvent 142 138 0 0 0 0 0\n" "MouseMoveEvent 146 128 0 0 0 0 0\n" "RenderEvent 146 128 0 0 0 0 0\n" "InteractionEvent 146 128 0 0 0 0 0\n" "MouseMoveEvent 152 116 0 0 0 0 0\n" "RenderEvent 152 116 0 0 0 0 0\n" "InteractionEvent 152 116 0 0 0 0 0\n" "MouseMoveEvent 162 95 0 0 0 0 0\n" "RenderEvent 162 95 0 0 0 0 0\n" "InteractionEvent 162 95 0 0 0 0 0\n" "MouseMoveEvent 167 81 0 0 0 0 0\n" "RenderEvent 167 81 0 0 0 0 0\n" "InteractionEvent 167 81 0 0 0 0 0\n" "MouseMoveEvent 170 71 0 0 0 0 0\n" "RenderEvent 170 71 0 0 0 0 0\n" "InteractionEvent 170 71 0 0 0 0 0\n" "MouseMoveEvent 171 63 0 0 0 0 0\n" "RenderEvent 171 63 0 0 0 0 0\n" "InteractionEvent 171 63 0 0 0 0 0\n" "MouseMoveEvent 171 57 0 0 0 0 0\n" "RenderEvent 171 57 0 0 0 0 0\n" "InteractionEvent 171 57 0 0 0 0 0\n" "MouseMoveEvent 171 50 0 0 0 0 0\n" "RenderEvent 171 50 0 0 0 0 0\n" "InteractionEvent 171 50 0 0 0 0 0\n" "MouseMoveEvent 171 43 0 0 0 0 0\n" "RenderEvent 171 43 0 0 0 0 0\n" "InteractionEvent 171 43 0 0 0 0 0\n" "MouseMoveEvent 169 32 0 0 0 0 0\n" "RenderEvent 169 32 0 0 0 0 0\n" "InteractionEvent 169 32 0 0 0 0 0\n" "MouseMoveEvent 168 15 0 0 0 0 0\n" "RenderEvent 168 15 0 0 0 0 0\n" "InteractionEvent 168 15 0 0 0 0 0\n" "MouseMoveEvent 168 7 0 0 0 0 0\n" "RenderEvent 168 7 0 0 0 0 0\n" "InteractionEvent 168 7 0 0 0 0 0\n" "MouseMoveEvent 168 6 0 0 0 0 0\n" "RenderEvent 168 6 0 0 0 0 0\n" "InteractionEvent 168 6 0 0 0 0 0\n" "LeftButtonReleaseEvent 168 6 0 0 0 0 0\n" "EndInteractionEvent 168 6 0 0 0 0 0\n" "RenderEvent 168 6 0 0 0 0 0\n" "MouseMoveEvent 167 7 0 0 0 0 0\n" "MouseMoveEvent 167 8 0 0 0 0 0\n" "MouseMoveEvent 166 11 0 0 0 0 0\n" "MouseMoveEvent 164 14 0 0 0 0 0\n" "MouseMoveEvent 162 19 0 0 0 0 0\n" "MouseMoveEvent 158 28 0 0 0 0 0\n" "MouseMoveEvent 153 42 0 0 0 0 0\n" "MouseMoveEvent 146 57 0 0 0 0 0\n" "MouseMoveEvent 141 76 0 0 0 0 0\n" "MouseMoveEvent 136 95 0 0 0 0 0\n" "MouseMoveEvent 131 114 0 0 0 0 0\n" "MouseMoveEvent 129 131 0 0 0 0 0\n" "MouseMoveEvent 129 142 0 0 0 0 0\n" "MouseMoveEvent 127 153 0 0 0 0 0\n" "MouseMoveEvent 127 160 0 0 0 0 0\n" "MouseMoveEvent 126 166 0 0 0 0 0\n" "MouseMoveEvent 126 170 0 0 0 0 0\n" "MouseMoveEvent 126 173 0 0 0 0 0\n" "MouseMoveEvent 126 174 0 0 0 0 0\n" "MouseMoveEvent 126 175 0 0 0 0 0\n" "MouseMoveEvent 125 176 0 0 0 0 0\n" "MouseMoveEvent 125 177 0 0 0 0 0\n" "MouseMoveEvent 125 178 0 0 0 0 0\n" "MouseMoveEvent 125 176 0 0 0 0 0\n" "MouseMoveEvent 125 175 0 0 0 0 0\n" "MouseMoveEvent 125 173 0 0 0 0 0\n" "MouseMoveEvent 125 172 0 0 0 0 0\n" "LeftButtonPressEvent 125 172 0 0 0 0 0\n" "StartInteractionEvent 125 172 0 0 0 0 0\n" "MouseMoveEvent 125 170 0 0 0 0 0\n" "RenderEvent 125 170 0 0 0 0 0\n" "InteractionEvent 125 170 0 0 0 0 0\n" "MouseMoveEvent 125 160 0 0 0 0 0\n" "RenderEvent 125 160 0 0 0 0 0\n" "InteractionEvent 125 160 0 0 0 0 0\n" "MouseMoveEvent 125 154 0 0 0 0 0\n" "RenderEvent 125 154 0 0 0 0 0\n" "InteractionEvent 125 154 0 0 0 0 0\n" "MouseMoveEvent 124 149 0 0 0 0 0\n" "RenderEvent 124 149 0 0 0 0 0\n" "InteractionEvent 124 149 0 0 0 0 0\n" "MouseMoveEvent 122 140 0 0 0 0 0\n" "RenderEvent 122 140 0 0 0 0 0\n" "InteractionEvent 122 140 0 0 0 0 0\n" "MouseMoveEvent 120 131 0 0 0 0 0\n" "RenderEvent 120 131 0 0 0 0 0\n" "InteractionEvent 120 131 0 0 0 0 0\n" "MouseMoveEvent 119 122 0 0 0 0 0\n" "RenderEvent 119 122 0 0 0 0 0\n" "InteractionEvent 119 122 0 0 0 0 0\n" "MouseMoveEvent 117 117 0 0 0 0 0\n" "RenderEvent 117 117 0 0 0 0 0\n" "InteractionEvent 117 117 0 0 0 0 0\n" "MouseMoveEvent 116 111 0 0 0 0 0\n" "RenderEvent 116 111 0 0 0 0 0\n" "InteractionEvent 116 111 0 0 0 0 0\n" "MouseMoveEvent 114 105 0 0 0 0 0\n" "RenderEvent 114 105 0 0 0 0 0\n" "InteractionEvent 114 105 0 0 0 0 0\n" "MouseMoveEvent 112 91 0 0 0 0 0\n" "RenderEvent 112 91 0 0 0 0 0\n" "InteractionEvent 112 91 0 0 0 0 0\n" "MouseMoveEvent 111 87 0 0 0 0 0\n" "RenderEvent 111 87 0 0 0 0 0\n" "InteractionEvent 111 87 0 0 0 0 0\n" "MouseMoveEvent 111 84 0 0 0 0 0\n" "RenderEvent 111 84 0 0 0 0 0\n" "InteractionEvent 111 84 0 0 0 0 0\n" "MouseMoveEvent 111 81 0 0 0 0 0\n" "RenderEvent 111 81 0 0 0 0 0\n" "InteractionEvent 111 81 0 0 0 0 0\n" "MouseMoveEvent 112 78 0 0 0 0 0\n" "RenderEvent 112 78 0 0 0 0 0\n" "InteractionEvent 112 78 0 0 0 0 0\n" "MouseMoveEvent 115 74 0 0 0 0 0\n" "RenderEvent 115 74 0 0 0 0 0\n" "InteractionEvent 115 74 0 0 0 0 0\n" "MouseMoveEvent 116 73 0 0 0 0 0\n" "RenderEvent 116 73 0 0 0 0 0\n" "InteractionEvent 116 73 0 0 0 0 0\n" "MouseMoveEvent 118 72 0 0 0 0 0\n" "RenderEvent 118 72 0 0 0 0 0\n" "InteractionEvent 118 72 0 0 0 0 0\n" "MouseMoveEvent 121 72 0 0 0 0 0\n" "RenderEvent 121 72 0 0 0 0 0\n" "InteractionEvent 121 72 0 0 0 0 0\n" "MouseMoveEvent 123 72 0 0 0 0 0\n" "RenderEvent 123 72 0 0 0 0 0\n" "InteractionEvent 123 72 0 0 0 0 0\n" "MouseMoveEvent 125 73 0 0 0 0 0\n" "RenderEvent 125 73 0 0 0 0 0\n" "InteractionEvent 125 73 0 0 0 0 0\n" "MouseMoveEvent 127 74 0 0 0 0 0\n" "RenderEvent 127 74 0 0 0 0 0\n" "InteractionEvent 127 74 0 0 0 0 0\n" "MouseMoveEvent 128 74 0 0 0 0 0\n" "RenderEvent 128 74 0 0 0 0 0\n" "InteractionEvent 128 74 0 0 0 0 0\n" "LeftButtonReleaseEvent 128 74 0 0 0 0 0\n" "EndInteractionEvent 128 74 0 0 0 0 0\n" "RenderEvent 128 74 0 0 0 0 0\n" "MouseMoveEvent 131 75 0 0 0 0 0\n" "MouseMoveEvent 134 76 0 0 0 0 0\n" "MouseMoveEvent 139 77 0 0 0 0 0\n" "MouseMoveEvent 144 77 0 0 0 0 0\n" "MouseMoveEvent 151 80 0 0 0 0 0\n" "MouseMoveEvent 159 81 0 0 0 0 0\n" "MouseMoveEvent 166 84 0 0 0 0 0\n" "MouseMoveEvent 174 85 0 0 0 0 0\n" "MouseMoveEvent 181 87 0 0 0 0 0\n" "MouseMoveEvent 189 90 0 0 0 0 0\n" "MouseMoveEvent 193 92 0 0 0 0 0\n" "MouseMoveEvent 197 94 0 0 0 0 0\n" "MouseMoveEvent 201 96 0 0 0 0 0\n" "MouseMoveEvent 203 98 0 0 0 0 0\n" "MouseMoveEvent 205 100 0 0 0 0 0\n" "MouseMoveEvent 206 102 0 0 0 0 0\n" "MouseMoveEvent 207 104 0 0 0 0 0\n" "MouseMoveEvent 207 106 0 0 0 0 0\n" "MouseMoveEvent 208 108 0 0 0 0 0\n" "MouseMoveEvent 208 109 0 0 0 0 0\n" "MouseMoveEvent 209 111 0 0 0 0 0\n" "MouseMoveEvent 209 112 0 0 0 0 0\n" "MouseMoveEvent 209 113 0 0 0 0 0\n" "MouseMoveEvent 209 114 0 0 0 0 0\n" "MouseMoveEvent 210 116 0 0 0 0 0\n" "MouseMoveEvent 211 117 0 0 0 0 0\n" "MouseMoveEvent 212 117 0 0 0 0 0\n" "MouseMoveEvent 213 118 0 0 0 0 0\n" "MouseMoveEvent 214 118 0 0 0 0 0\n" "MouseMoveEvent 215 118 0 0 0 0 0\n" "MouseMoveEvent 216 118 0 0 0 0 0\n" "MouseMoveEvent 218 119 0 0 0 0 0\n" "MouseMoveEvent 219 119 0 0 0 0 0\n" "MouseMoveEvent 220 119 0 0 0 0 0\n" "MouseMoveEvent 221 120 0 0 0 0 0\n" "MouseMoveEvent 222 120 0 0 0 0 0\n" "MouseMoveEvent 224 121 0 0 0 0 0\n" "MouseMoveEvent 225 121 0 0 0 0 0\n" "MouseMoveEvent 226 121 0 0 0 0 0\n" "MouseMoveEvent 227 122 0 0 0 0 0\n" "MouseMoveEvent 228 122 0 0 0 0 0\n" "MouseMoveEvent 229 122 0 0 0 0 0\n" "MouseMoveEvent 230 122 0 0 0 0 0\n" "MouseMoveEvent 232 123 0 0 0 0 0\n" "MouseMoveEvent 233 123 0 0 0 0 0\n" "MouseMoveEvent 234 124 0 0 0 0 0\n" "MouseMoveEvent 235 123 0 0 0 0 0\n" "MouseMoveEvent 235 121 0 0 0 0 0\n" "MouseMoveEvent 234 120 0 0 0 0 0\n" "MouseMoveEvent 233 118 0 0 0 0 0\n" "MouseMoveEvent 233 117 0 0 0 0 0\n" "MouseMoveEvent 232 116 0 0 0 0 0\n" "MouseMoveEvent 232 114 0 0 0 0 0\n" "MouseMoveEvent 231 113 0 0 0 0 0\n" "MouseMoveEvent 231 111 0 0 0 0 0\n" "MouseMoveEvent 231 109 0 0 0 0 0\n" "MouseMoveEvent 231 107 0 0 0 0 0\n" "MouseMoveEvent 231 105 0 0 0 0 0\n" "MouseMoveEvent 231 103 0 0 0 0 0\n" "MouseMoveEvent 231 101 0 0 0 0 0\n" "MouseMoveEvent 231 99 0 0 0 0 0\n" "MouseMoveEvent 231 97 0 0 0 0 0\n" "MouseMoveEvent 231 96 0 0 0 0 0\n" "MouseMoveEvent 231 95 0 0 0 0 0\n" "MouseMoveEvent 231 94 0 0 0 0 0\n" "MouseMoveEvent 232 93 0 0 0 0 0\n" "MouseMoveEvent 233 92 0 0 0 0 0\n" "MouseMoveEvent 234 90 0 0 0 0 0\n" "MouseMoveEvent 235 89 0 0 0 0 0\n" "MouseMoveEvent 236 88 0 0 0 0 0\n" "MouseMoveEvent 237 87 0 0 0 0 0\n" "MouseMoveEvent 238 86 0 0 0 0 0\n" "MouseMoveEvent 239 85 0 0 0 0 0\n" "MouseMoveEvent 240 84 0 0 0 0 0\n" "MouseMoveEvent 241 83 0 0 0 0 0\n" "MouseMoveEvent 242 82 0 0 0 0 0\n" "MouseMoveEvent 243 82 0 0 0 0 0\n" "MouseMoveEvent 244 81 0 0 0 0 0\n" "MouseMoveEvent 245 81 0 0 0 0 0\n" "MouseMoveEvent 246 80 0 0 0 0 0\n" "MouseMoveEvent 247 79 0 0 0 0 0\n" "MouseMoveEvent 248 78 0 0 0 0 0\n" "MouseMoveEvent 249 77 0 0 0 0 0\n" "MouseMoveEvent 249 76 0 0 0 0 0\n" "MouseMoveEvent 250 75 0 0 0 0 0\n" "MouseMoveEvent 250 74 0 0 0 0 0\n" "MouseMoveEvent 250 73 0 0 0 0 0\n" "MouseMoveEvent 250 72 0 0 0 0 0\n" "MouseMoveEvent 250 71 0 0 0 0 0\n" "MouseMoveEvent 250 69 0 0 0 0 0\n" "MouseMoveEvent 250 68 0 0 0 0 0\n" "MouseMoveEvent 250 67 0 0 0 0 0\n" "MouseMoveEvent 250 66 0 0 0 0 0\n" "MouseMoveEvent 250 65 0 0 0 0 0\n" "MouseMoveEvent 248 67 0 0 0 0 0\n" "MouseMoveEvent 247 68 0 0 0 0 0\n" "MouseMoveEvent 246 69 0 0 0 0 0\n" "MouseMoveEvent 245 70 0 0 0 0 0\n" "MouseMoveEvent 244 71 0 0 0 0 0\n" "MouseMoveEvent 243 72 0 0 0 0 0\n" "MouseMoveEvent 241 74 0 0 0 0 0\n" "MouseMoveEvent 240 75 0 0 0 0 0\n" "MouseMoveEvent 239 76 0 0 0 0 0\n" "MouseMoveEvent 236 78 0 0 0 0 0\n" "MouseMoveEvent 235 80 0 0 0 0 0\n" "MouseMoveEvent 234 81 0 0 0 0 0\n" "MouseMoveEvent 234 82 0 0 0 0 0\n" "MouseMoveEvent 234 83 0 0 0 0 0\n" "MouseMoveEvent 234 85 0 0 0 0 0\n" "MouseMoveEvent 234 87 0 0 0 0 0\n" "MouseMoveEvent 233 88 0 0 0 0 0\n" "MouseMoveEvent 233 90 0 0 0 0 0\n" "MouseMoveEvent 232 93 0 0 0 0 0\n" "MouseMoveEvent 232 94 0 0 0 0 0\n" "MouseMoveEvent 232 97 0 0 0 0 0\n" "MouseMoveEvent 232 99 0 0 0 0 0\n" "MouseMoveEvent 231 102 0 0 0 0 0\n" "MouseMoveEvent 231 103 0 0 0 0 0\n" "MouseMoveEvent 231 105 0 0 0 0 0\n" "MouseMoveEvent 231 106 0 0 0 0 0\n" "MouseMoveEvent 231 108 0 0 0 0 0\n" "MouseMoveEvent 231 109 0 0 0 0 0\n" "MouseMoveEvent 231 110 0 0 0 0 0\n" "MouseMoveEvent 231 112 0 0 0 0 0\n" "MouseMoveEvent 231 113 0 0 0 0 0\n" "MouseMoveEvent 231 114 0 0 0 0 0\n" "MouseMoveEvent 231 115 0 0 0 0 0\n" "MouseMoveEvent 231 116 0 0 0 0 0\n" "MouseMoveEvent 231 117 0 0 0 0 0\n" "MouseMoveEvent 232 120 0 0 0 0 0\n" "MouseMoveEvent 232 123 0 0 0 0 0\n" "MouseMoveEvent 233 126 0 0 0 0 0\n" "MouseMoveEvent 233 129 0 0 0 0 0\n" "MouseMoveEvent 233 133 0 0 0 0 0\n" "MouseMoveEvent 234 136 0 0 0 0 0\n" "MouseMoveEvent 234 138 0 0 0 0 0\n" "MouseMoveEvent 234 139 0 0 0 0 0\n" "MouseMoveEvent 234 140 0 0 0 0 0\n" "MouseMoveEvent 234 141 0 0 0 0 0\n" "MouseWheelBackwardEvent 234 141 0 0 0 0 0\n" "StartInteractionEvent 234 141 0 0 0 0 0\n" "RenderEvent 234 141 0 0 0 0 0\n" "EndInteractionEvent 234 141 0 0 0 0 0\n" "RenderEvent 234 141 0 0 0 0 0\n" "MouseWheelForwardEvent 234 141 0 0 0 0 0\n" "StartInteractionEvent 234 141 0 0 0 0 0\n" "RenderEvent 234 141 0 0 0 0 0\n" "EndInteractionEvent 234 141 0 0 0 0 0\n" "RenderEvent 234 141 0 0 0 0 0\n" "MouseWheelForwardEvent 234 141 0 0 0 1 0\n" "StartInteractionEvent 234 141 0 0 0 1 0\n" "RenderEvent 234 141 0 0 0 1 0\n" "EndInteractionEvent 234 141 0 0 0 1 0\n" "RenderEvent 234 141 0 0 0 1 0\n" "MouseWheelBackwardEvent 234 141 0 0 0 0 0\n" "StartInteractionEvent 234 141 0 0 0 0 0\n" "RenderEvent 234 141 0 0 0 0 0\n" "EndInteractionEvent 234 141 0 0 0 0 0\n" "RenderEvent 234 141 0 0 0 0 0\n" "MouseWheelForwardEvent 234 141 0 0 0 0 0\n" "StartInteractionEvent 234 141 0 0 0 0 0\n" "RenderEvent 234 141 0 0 0 0 0\n" "EndInteractionEvent 234 141 0 0 0 0 0\n" "RenderEvent 234 141 0 0 0 0 0\n" "MouseMoveEvent 234 144 0 0 0 0 0\n" "MouseMoveEvent 237 148 0 0 0 0 0\n" "MouseMoveEvent 241 156 0 0 0 0 0\n" "MouseMoveEvent 246 166 0 0 0 0 0\n" "MouseMoveEvent 248 177 0 0 0 0 0\n" "MouseMoveEvent 251 192 0 0 0 0 0\n" "MouseMoveEvent 254 204 0 0 0 0 0\n" "MouseMoveEvent 256 213 0 0 0 0 0\n" "MouseMoveEvent 259 222 0 0 0 0 0\n" "MouseMoveEvent 261 227 0 0 0 0 0\n" "MouseMoveEvent 261 228 0 0 0 0 0\n" "MouseMoveEvent 262 229 0 0 0 0 0\n" "MouseMoveEvent 262 230 0 0 0 0 0\n" "MouseMoveEvent 263 231 0 0 0 0 0\n" "MouseMoveEvent 263 232 0 0 0 0 0\n" "MouseMoveEvent 263 233 0 0 0 0 0\n" "KeyPressEvent 263 233 1 0 3 1 c\n" "CharEvent 263 233 1 0 3 1 c\n" "KeyReleaseEvent 263 233 1 0 3 1 c\n" "KeyReleaseEvent 263 233 1 0 0 1 Control_L\n" "MouseMoveEvent 264 234 0 0 0 0 Control_L\n" "MouseMoveEvent 270 234 0 0 0 0 Control_L\n" "MouseMoveEvent 291 232 0 0 0 0 Control_L\n" "LeaveEvent 312 229 0 0 0 0 Control_L\n"; int TestGPURayCastThreeComponentsAdditive(int argc, char* argv[]) { cout << "CTEST_FULL_OUTPUT (Avoid ctest truncation of output)" << endl; int dims[3] = { 100, 100, 100 }; // Create a vtkImageData with two components vtkNew image; image->SetDimensions(dims[0], dims[1], dims[2]); image->AllocateScalars(VTK_DOUBLE, 3); // Fill the first half rectangular parallelopiped along X with the // first component values and the second half with second component values double* ptr = static_cast(image->GetScalarPointer(0, 0, 0)); double center1[3], center2[3], center3[3]; center1[0] = dims[0] / 3; center2[0] = center1[0] * 2; center3[0] = dims[0] / 2; center1[1] = center2[1] = dims[1] / 2; center3[1] = dims[1] / 3; center1[2] = center2[2] = center3[2] = dims[2] / 2; double radius; radius = center1[0]; vtkNew sphere1; sphere1->SetCenter(center1); sphere1->SetRadius(radius); vtkNew sphere2; sphere2->SetCenter(center2); sphere2->SetRadius(radius); vtkNew sphere3; sphere3->SetCenter(center3); sphere3->SetRadius(radius); for (int z = 0; z < dims[2]; ++z) { for (int y = 0; y < dims[1]; ++y) { for (int x = 0; x < dims[0]; ++x) { // Set first component if (sphere1->EvaluateFunction(x, y, z) > 0) { // point outside sphere 1 *ptr++ = 0.0; } else { *ptr++ = 0.33; } // Set second component if (sphere2->EvaluateFunction(x, y, z) > 0) { // point outside sphere 2 *ptr++ = 0.0; } else { *ptr++ = 0.33; } // Set third component if (sphere3->EvaluateFunction(x, y, z) > 0) { // point outside sphere 2 *ptr++ = 0.0; } else { *ptr++ = 0.33; } } } } vtkNew renWin; renWin->SetSize(301, 300); // Intentional NPOT size renWin->SetMultiSamples(0); vtkNew ren; renWin->AddRenderer(ren); vtkNew iren; vtkNew style; iren->SetInteractorStyle(style); iren->SetRenderWindow(renWin); renWin->Render(); // Volume render the dataset vtkNew mapper; mapper->AutoAdjustSampleDistancesOff(); mapper->SetSampleDistance(0.9); mapper->SetInputData(image); mapper->SetBlendModeToAdditive(); // Color transfer function vtkNew ctf1; ctf1->AddRGBPoint(0.0, 0.0, 0.0, 0.0); ctf1->AddRGBPoint(1.0, 1.0, 0.0, 0.0); vtkNew ctf2; ctf2->AddRGBPoint(0.0, 0.0, 0.0, 0.0); ctf2->AddRGBPoint(1.0, 0.0, 1.0, 0.0); vtkNew ctf3; ctf3->AddRGBPoint(0.0, 0.0, 0.0, 0.0); ctf3->AddRGBPoint(1.0, 0.0, 0.0, 1.0); // Opacity functions vtkNew pf1; pf1->AddPoint(0.0, 0.0); pf1->AddPoint(1.0, 0.005); vtkNew pf2; pf2->AddPoint(0.0, 0.0); pf2->AddPoint(1.0, 0.02); vtkNew pf3; pf3->AddPoint(0.0, 0.0); pf3->AddPoint(1.0, 0.01); // Volume property with independent components ON vtkNew property; property->IndependentComponentsOn(); // Set color and opacity functions property->SetColor(0, ctf1); property->SetColor(1, ctf2); property->SetColor(2, ctf3); property->SetScalarOpacity(0, pf1); property->SetScalarOpacity(1, pf2); property->SetScalarOpacity(2, pf3); vtkNew volume; volume->SetMapper(mapper); volume->SetProperty(property); ren->AddVolume(volume); ren->ResetCamera(); iren->Initialize(); renWin->Render(); return vtkTesting::InteractorEventLoop( argc, argv, iren, TestGPURayCastThreeComponentsAdditiveLog); }