31 #ifndef vtkGeneralTransform_h
32 #define vtkGeneralTransform_h
61 this->Concatenation->Translate(x,y,z); };
71 void RotateWXYZ(
double angle,
double x,
double y,
double z) {
72 this->Concatenation->Rotate(angle,x,y,z); };
74 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]); };
76 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]); };
83 void RotateX(
double angle) { this->RotateWXYZ(angle, 1, 0, 0); };
84 void RotateY(
double angle) { this->RotateWXYZ(angle, 0, 1, 0); };
85 void RotateZ(
double angle) { this->RotateWXYZ(angle, 0, 0, 1); };
92 void Scale(
double x,
double y,
double z) {
93 this->Concatenation->Scale(x,y,z); };
94 void Scale(
const double s[3]) { this->
Scale(s[0], s[1], s[2]); };
95 void Scale(
const float s[3]) { this->
Scale(s[0], s[1], s[2]); };
102 this->Concatenate(*matrix->
Element); };
104 this->Concatenation->Concatenate(elements); };
121 if (this->Concatenation->GetPreMultiplyFlag()) {
return; }
122 this->Concatenation->SetPreMultiplyFlag(1); this->
Modified(); };
132 if (!this->Concatenation->GetPreMultiplyFlag()) {
return; }
133 this->Concatenation->SetPreMultiplyFlag(0); this->
Modified(); };
140 return this->Concatenation->GetNumberOfTransforms() +
141 (this->Input == NULL ? 0 : 1); };
151 if (this->Input == NULL) {
152 return this->Concatenation->GetTransform(i); }
153 else if (i < this->Concatenation->GetNumberOfPreTransforms()) {
154 return this->Concatenation->GetTransform(i); }
155 else if (i > this->Concatenation->GetNumberOfPreTransforms()) {
156 return this->Concatenation->GetTransform(i-1); }
157 else if (this->GetInverseFlag()) {
160 return this->Input; } };
180 return this->Concatenation->GetInverseFlag(); };
185 void Push() {
if (this->Stack == NULL) {
187 this->Stack->Push(&this->Concatenation);
194 void Pop() {
if (this->Stack == NULL) {
return; }
195 this->Stack->Pop(&this->Concatenation);
210 float derivative[3][3]);
212 double derivative[3][3]);
represent and manipulate 4x4 transformation matrices
a simple class to control print indentation