MCPcopy Create free account
hub / github.com/Kitware/VTK / SetNumberOfTransforms

Method SetNumberOfTransforms

Filters/Hybrid/vtkWeightedTransformFilter.cxx:77–144  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

75
76//------------------------------------------------------------------------------
77void vtkWeightedTransformFilter::SetNumberOfTransforms(int num)
78{
79 int i;
80 vtkAbstractTransform** newTransforms;
81
82 if (num < 0)
83 {
84 vtkErrorMacro(<< "Cannot set transform count below zero");
85 return;
86 }
87
88 if (this->Transforms == nullptr)
89 {
90 // first time
91 this->Transforms = new vtkAbstractTransform*[num];
92 for (i = 0; i < num; i++)
93 {
94 this->Transforms[i] = nullptr;
95 }
96 this->NumberOfTransforms = num;
97 return;
98 }
99
100 if (num == this->NumberOfTransforms)
101 {
102 return;
103 }
104
105 if (num < this->NumberOfTransforms)
106 {
107 // create a smaller array, free up references to cut-off elements,
108 // and copy other elements
109 for (i = num; i < this->NumberOfTransforms; i++)
110 {
111 if (this->Transforms[i] != nullptr)
112 {
113 this->Transforms[i]->UnRegister(this);
114 this->Transforms[i] = nullptr;
115 }
116 }
117 newTransforms = new vtkAbstractTransform*[num];
118 for (i = 0; i < num; i++)
119 {
120 newTransforms[i] = this->Transforms[i];
121 }
122 delete[] this->Transforms;
123 this->Transforms = newTransforms;
124 }
125 else
126 {
127 // create a new array and copy elements, no unregistering needed.
128 newTransforms = new vtkAbstractTransform*[num];
129 for (i = 0; i < this->NumberOfTransforms; i++)
130 {
131 newTransforms[i] = this->Transforms[i];
132 }
133
134 for (i = this->NumberOfTransforms; i < num; i++)

Callers 2

banana.pyFile · 0.80

Calls 2

UnRegisterMethod · 0.45
ModifiedMethod · 0.45

Tested by

no test coverage detected