| 148 | { |
| 149 | public: |
| 150 | Implementation() |
| 151 | { |
| 152 | this->historyOn = false; |
| 153 | |
| 154 | this->MainNodeTable.Buffer = (vtkReebNode*)malloc(sizeof(vtkReebNode) * 2); |
| 155 | this->MainArcTable.Buffer = (vtkReebArc*)malloc(sizeof(vtkReebArc) * 2); |
| 156 | this->MainLabelTable.Buffer = (vtkReebLabel*)malloc(sizeof(vtkReebLabel) * 2); |
| 157 | |
| 158 | this->MainNodeTable.Size = 2; |
| 159 | this->MainNodeTable.Number = 1; // the item "0" is blocked |
| 160 | this->MainArcTable.Size = 2; |
| 161 | this->MainArcTable.Number = 1; |
| 162 | this->MainLabelTable.Size = 2; |
| 163 | this->MainLabelTable.Number = 1; |
| 164 | |
| 165 | this->MainNodeTable.FreeZone = 1; |
| 166 | // Clear node |
| 167 | this->GetNode(1)->ArcUpId = -2; |
| 168 | // Initialize DownArc |
| 169 | this->GetNode(1)->ArcDownId = 0; |
| 170 | this->MainArcTable.FreeZone = 1; |
| 171 | // Clear Arc label 1 |
| 172 | this->GetArc(1)->LabelId1 = -2; |
| 173 | // Initialize Arc label 0 |
| 174 | this->GetArc(1)->LabelId0 = 0; |
| 175 | this->MainLabelTable.FreeZone = 1; |
| 176 | // Clear label |
| 177 | this->GetLabel(1)->HNext = -2; |
| 178 | // Initialize Arc id |
| 179 | this->GetLabel(1)->ArcId = 0; |
| 180 | |
| 181 | this->MinimumScalarValue = 0; |
| 182 | this->MaximumScalarValue = 0; |
| 183 | |
| 184 | this->ArcNumber = 0; |
| 185 | this->NodeNumber = 0; |
| 186 | this->LoopNumber = 0; |
| 187 | this->RemovedLoopNumber = 0; |
| 188 | this->ArcLoopTable = nullptr; |
| 189 | |
| 190 | this->currentNodeId = 0; |
| 191 | this->currentArcId = 0; |
| 192 | |
| 193 | // streaming support |
| 194 | this->VertexMapSize = 0; |
| 195 | this->VertexMapAllocatedSize = 0; |
| 196 | this->TriangleVertexMapSize = 0; |
| 197 | this->TriangleVertexMapAllocatedSize = 0; |
| 198 | } |
| 199 | ~Implementation() |
| 200 | { |
| 201 | free(this->MainNodeTable.Buffer); |