[vtk-developers] add method to vtkCamera
Jeff Lee
jeff at cdnorthamerica.com
Wed Mar 20 07:15:58 EST 2002
Hi All,
I was wondering if anyone had objections to having a method in vtkCamera
which takes a vtkTransform and converts it into FocalPoint, Position and
ViewUp so that you can have more control of the camera.
Something like
vtkCamera::ApplyTransform(vtkTransform t) {
double posOld[4], posNew[4], fpOld[4], fpNew[4], vuOld[4], vuNew[4];
for (int i = 0; i < 3; ++i) {
posOld[i] = this->Position[i];
fpOld[i] = this->FocalPoint[i];
vuOld[i] = this->ViewUp[i];
}
posOld[3] = 1.0;
fpOld[3] = 1.0;
vuOld[3] = 1.0;
vuOld[0] += posOld[0];
vuOld[1] += posOld[1];
vuOld[2] += posOld[2];
t->MultiplyPoint(posOld, posNew);
t->MultiplyPoint(fpOld, fpNew);
t->MultiplyPoint(vuOld, vuNew);
vuNew[0] -= posNew[0];
vuNew[1] -= posNew[1];
vuNew[2] -= posNew[2];
for (int i = 0; i < 3; ++i) {
this->Position[i] = posNew[i];
this->FocalPoint[i] = fpNew[i];
this->ViewUp[i] = vuNew[i];
}
}
-It's simple and doesn't really clutter up anything and it adds alot of
flexibility for those writing their own interactors. Thanks,
-Jeff
More information about the vtk-developers
mailing list