------------------------------------------------------------------------------
| 690 | |
| 691 | //------------------------------------------------------------------------------ |
| 692 | vtkAbstractTransform* vtkTransformConcatenation::GetTransform(int i) |
| 693 | { |
| 694 | // we walk through the list in reverse order if InverseFlag is set |
| 695 | if (this->InverseFlag) |
| 696 | { |
| 697 | int j = this->NumberOfTransforms - i - 1; |
| 698 | vtkTransformPair* tuple = &this->TransformList[j]; |
| 699 | // if inverse is nullptr, then get it from the forward transform |
| 700 | if (tuple->InverseTransform == nullptr) |
| 701 | { |
| 702 | tuple->InverseTransform = tuple->ForwardTransform->GetInverse(); |
| 703 | tuple->InverseTransform->Register(nullptr); |
| 704 | } |
| 705 | return tuple->InverseTransform; |
| 706 | } |
| 707 | else |
| 708 | { |
| 709 | vtkTransformPair* tuple = &this->TransformList[i]; |
| 710 | // if transform is nullptr, then get it from its inverse |
| 711 | if (tuple->ForwardTransform == nullptr) |
| 712 | { |
| 713 | tuple->ForwardTransform = tuple->InverseTransform->GetInverse(); |
| 714 | tuple->ForwardTransform->Register(nullptr); |
| 715 | } |
| 716 | return tuple->ForwardTransform; |
| 717 | } |
| 718 | } |
| 719 | |
| 720 | //------------------------------------------------------------------------------ |
| 721 | vtkMTimeType vtkTransformConcatenation::GetMaxMTime() |