| 115 | } |
| 116 | |
| 117 | void vtkUnstructuredGridVolumeRayCastMapper::StoreRenderTime( |
| 118 | vtkRenderer* ren, vtkVolume* vol, float time) |
| 119 | { |
| 120 | int i; |
| 121 | for (i = 0; i < this->RenderTableEntries; i++) |
| 122 | { |
| 123 | if (this->RenderVolumeTable[i] == vol && this->RenderRendererTable[i] == ren) |
| 124 | { |
| 125 | this->RenderTimeTable[i] = time; |
| 126 | return; |
| 127 | } |
| 128 | } |
| 129 | |
| 130 | // Need to increase size |
| 131 | if (this->RenderTableEntries >= this->RenderTableSize) |
| 132 | { |
| 133 | if (this->RenderTableSize == 0) |
| 134 | { |
| 135 | this->RenderTableSize = 10; |
| 136 | } |
| 137 | else |
| 138 | { |
| 139 | this->RenderTableSize *= 2; |
| 140 | } |
| 141 | |
| 142 | float* oldTimePtr = this->RenderTimeTable; |
| 143 | vtkVolume** oldVolumePtr = this->RenderVolumeTable; |
| 144 | vtkRenderer** oldRendererPtr = this->RenderRendererTable; |
| 145 | |
| 146 | this->RenderTimeTable = new float[this->RenderTableSize]; |
| 147 | this->RenderVolumeTable = new vtkVolume*[this->RenderTableSize]; |
| 148 | this->RenderRendererTable = new vtkRenderer*[this->RenderTableSize]; |
| 149 | |
| 150 | for (i = 0; i < this->RenderTableEntries; i++) |
| 151 | { |
| 152 | this->RenderTimeTable[i] = oldTimePtr[i]; |
| 153 | this->RenderVolumeTable[i] = oldVolumePtr[i]; |
| 154 | this->RenderRendererTable[i] = oldRendererPtr[i]; |
| 155 | } |
| 156 | |
| 157 | delete[] oldTimePtr; |
| 158 | delete[] oldVolumePtr; |
| 159 | delete[] oldRendererPtr; |
| 160 | } |
| 161 | |
| 162 | this->RenderTimeTable[this->RenderTableEntries] = time; |
| 163 | this->RenderVolumeTable[this->RenderTableEntries] = vol; |
| 164 | this->RenderRendererTable[this->RenderTableEntries] = ren; |
| 165 | |
| 166 | this->RenderTableEntries++; |
| 167 | } |
| 168 | |
| 169 | void vtkUnstructuredGridVolumeRayCastMapper::ReleaseGraphicsResources(vtkWindow*) {} |
| 170 | |