31 template <
typename Real>
41 Real inRadius0, Real inRadius1);
49 void Evaluate(Real u, Real
v,
unsigned int maxOrder,
69 template <
typename Real>
81 template <
typename Real>
84 Vector3<Real> const& inNormal, Real inRadius0, Real inRadius1)
95 template <
typename Real>
100 Real csu = cos(u), snu = sin(u), csv = cos(v), snv = sin(v);
103 Real r0pr1csv =
radius0 + r1csv;
107 values[0] =
center + r0pr1csvcombo0 + r1snvnormal;
113 values[1] = r0pr1csv * combo1;
114 values[2] = -r1snv * combo0 + r1csv *
normal;
119 values[3] = -r0pr1csvcombo0;
120 values[4] = -r1snv * combo1;
121 values[5] = -r1csv * combo0 - r1snvnormal;
126 for (
int i = 0; i < 6; ++i)
135 template <
typename Real>
143 Real r1csv = sqrt(dot0 * dot0 + dot1 * dot1) -
radius0;
144 u = atan2(dot1, dot0);
145 v = atan2(dot2, r1csv);
148 template <
typename Real>
159 template <
typename Real>
165 template <
typename Real>
221 template <
typename Real>
227 template <
typename Real>
233 template <
typename Real>
void Evaluate(Real u, Real v, unsigned int maxOrder, Vector3< Real > values[6]) const
Vector3< float > direction0
bool operator==(Torus3 const &torus) const
GLenum GLsizei GLsizei GLint * values
void GetParameters(Vector3< Real > const &X, Real &u, Real &v) const
bool operator!=(Torus3 const &torus) const
Vector3< float > direction1
DualQuaternion< Real > Dot(DualQuaternion< Real > const &d0, DualQuaternion< Real > const &d1)
bool operator>(Torus3 const &torus) const
bool operator<(Torus3 const &torus) const
bool operator>=(Torus3 const &torus) const
bool operator<=(Torus3 const &torus) const