| 839 | } |
| 840 | |
| 841 | void vtkBoxWidget::MoveFace( |
| 842 | double* p1, double* p2, double* dir, double* x1, double* x2, double* x3, double* x4, double* x5) |
| 843 | { |
| 844 | int i; |
| 845 | double v[3], v2[3]; |
| 846 | |
| 847 | for (i = 0; i < 3; i++) |
| 848 | { |
| 849 | v[i] = p2[i] - p1[i]; |
| 850 | v2[i] = dir[i]; |
| 851 | } |
| 852 | |
| 853 | vtkMath::Normalize(v2); |
| 854 | double f = vtkMath::Dot(v, v2); |
| 855 | |
| 856 | for (i = 0; i < 3; i++) |
| 857 | { |
| 858 | v[i] = f * v2[i]; |
| 859 | |
| 860 | x1[i] += v[i]; |
| 861 | x2[i] += v[i]; |
| 862 | x3[i] += v[i]; |
| 863 | x4[i] += v[i]; |
| 864 | x5[i] += v[i]; |
| 865 | } |
| 866 | this->PositionHandles(); |
| 867 | } |
| 868 | |
| 869 | void vtkBoxWidget::GetDirection( |
| 870 | const double Nx[3], const double Ny[3], const double Nz[3], double dir[3]) |
no test coverage detected