18 #ifndef viskores_rendering_MatrixHelpers_h
19 #define viskores_rendering_MatrixHelpers_h
68 matrix(0, 0) = right[0];
69 matrix(0, 1) = right[1];
70 matrix(0, 2) = right[2];
74 matrix(2, 0) = viewDir[0];
75 matrix(2, 1) = viewDir[1];
76 matrix(2, 2) = viewDir[2];
78 matrix(0, 3) = -viskores::Dot(right, position);
79 matrix(1, 3) = -viskores::Dot(ru, position);
80 matrix(2, 3) = -viskores::Dot(viewDir, position);
94 matrix(0, 0) = newx[0];
95 matrix(0, 1) = newy[0];
96 matrix(0, 2) = newz[0];
97 matrix(1, 0) = newx[1];
98 matrix(1, 1) = newy[1];
99 matrix(1, 2) = newz[1];
100 matrix(2, 0) = newx[2];
101 matrix(2, 1) = newy[2];
102 matrix(2, 2) = newz[2];
104 matrix(0, 3) = neworigin[0];
105 matrix(1, 3) = neworigin[1];
106 matrix(2, 3) = neworigin[2];
136 if (p1x == p2x && p1y == p2y)
147 t = viskores::Min(viskores::Max(t, -1.0f), 1.0f);
161 static_cast<viskores::Float32>(sqrt(q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3]));
167 matrix(0, 0) = 1 - 2 * (q[1] * q[1] + q[2] * q[2]);
168 matrix(0, 1) = 2 * (q[0] * q[1] + q[2] * q[3]);
169 matrix(0, 2) = (2 * (q[2] * q[0] - q[1] * q[3]));
171 matrix(1, 0) = 2 * (q[0] * q[1] - q[2] * q[3]);
172 matrix(1, 1) = 1 - 2 * (q[2] * q[2] + q[0] * q[0]);
173 matrix(1, 2) = (2 * (q[1] * q[2] + q[0] * q[3]));
175 matrix(2, 0) = (2 * (q[2] * q[0] + q[1] * q[3]));
176 matrix(2, 1) = (2 * (q[1] * q[2] - q[0] * q[3]));
177 matrix(2, 2) = (1 - 2 * (q[1] * q[1] + q[0] * q[0]));
185 #endif // viskores_rendering_MatrixHelpers_h