31 #ifndef __vtkGeneralTransform_h
32 #define __vtkGeneralTransform_h
60 this->Concatenation->Translate(x,y,z); };
70 void RotateWXYZ(
double angle,
double x,
double y,
double z) {
71 this->Concatenation->Rotate(angle,x,y,z); };
73 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]); };
75 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]); };
82 void RotateX(
double angle) { this->RotateWXYZ(angle, 1, 0, 0); };
83 void RotateY(
double angle) { this->RotateWXYZ(angle, 0, 1, 0); };
84 void RotateZ(
double angle) { this->RotateWXYZ(angle, 0, 0, 1); };
91 void Scale(
double x,
double y,
double z) {
92 this->Concatenation->Scale(x,y,z); };
93 void Scale(
const double s[3]) { this->
Scale(s[0], s[1], s[2]); };
94 void Scale(
const float s[3]) { this->
Scale(s[0], s[1], s[2]); };
101 this->Concatenate(*matrix->
Element); };
103 this->Concatenation->Concatenate(elements); };
120 if (this->Concatenation->GetPreMultiplyFlag()) {
return; }
121 this->Concatenation->SetPreMultiplyFlag(1); this->
Modified(); };
131 if (!this->Concatenation->GetPreMultiplyFlag()) {
return; }
132 this->Concatenation->SetPreMultiplyFlag(0); this->
Modified(); };
139 return this->Concatenation->GetNumberOfTransforms() +
140 (this->Input == NULL ? 0 : 1); };
150 if (this->Input == NULL) {
151 return this->Concatenation->GetTransform(i); }
152 else if (i < this->Concatenation->GetNumberOfPreTransforms()) {
153 return this->Concatenation->GetTransform(i); }
154 else if (i > this->Concatenation->GetNumberOfPreTransforms()) {
155 return this->Concatenation->GetTransform(i-1); }
156 else if (this->GetInverseFlag()) {
159 return this->Input; } };
179 return this->Concatenation->GetInverseFlag(); };
184 void Push() {
if (this->Stack == NULL) {
186 this->Stack->Push(&this->Concatenation);
193 void Pop() {
if (this->Stack == NULL) {
return; }
194 this->Stack->Pop(&this->Concatenation);
209 float derivative[3][3]);
211 double derivative[3][3]);
represent and manipulate 4x4 transformation matrices
a simple class to control print indentation