66 #ifndef __OSL_VECTOR_3D_H
67 #define __OSL_VECTOR_3D_H
107 operator const real *()
const {
return (
const real *)&
x;}
134 {
return (
x-b.
x)*(
x-b.
x)+(
y-b.
y)*(
y-b.
y)+(
z-b.
z)*(
z-b.
z);}
209 {
return n.
dot(pt)+
d;}
222 #endif //__OSL_VECTOR3D_H
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed by
polar3d(real Nt, real Np, real Nr)
void operator-=(const vector3d &b)
vector3d(const real *arr)
vector3d cross(const vector3d &b) const
vector3d operator-(void) const
real dist(const vector3d &b) const
NVec< 3, T > cross(const NVec< 3, T > &u, const NVec< 3, T > &v)
void initCheck(cv &p1, cv &p2, cv &p3, cv &in)
halfspace3d(cv &norm, cv &p0)
void operator*=(const real scale)
vector3d operator*(const real scale) const
int operator==(const vector3d &b) const
real cosAng(const vector3d &b) const
vector3d operator-(const vector3d &b) const
T norm(const NVec< DIM, T > &v)
halfspace3d(cv &p1, cv &p2, cv &p3)
real distSqr(const vector3d &b) const
real intersect(cv &pos, cv &dir) const
friend vector3d operator*(const real scale, const vector3d &v)
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
vector3d(const real Nx, const real Ny, const real Nz)
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to ** copy
void init(cv &p1, cv &p2, cv &p3)
void operator/=(const real div)
halfspace3d(cv &p1, cv &p2, cv &p3, cv &in)
vector3d operator/(const real &div) const
void enlarge(const vector3d &by)
vector3d intersectPt(cv &start, cv &dir) const
vector3d(const vector3d ©)
void operator+=(const vector3d &b)
int operator!=(const vector3d &b) const
vector3d(const real init)
vector3d & operator=(const vector3d &b)
real dot(const vector3d &b) const
void add(const vector3d &p)
vector3d operator+(const vector3d &b) const