BRL-CAD
OpenNURBS Ray Routines

Implement the concept of a geometry ray in terms of OpenNURBS data types. More...

Collaboration diagram for OpenNURBS Ray Routines:

Files

file  ray.h
 

Data Structures

class  plane_ray
 
class  ON_Ray
 

Functions

int brep_get_plane_ray (const ON_Ray &r, plane_ray &pr)
 
void brep_r (const ON_Surface *surf, const plane_ray &pr, pt2d_t uv, ON_3dPoint &pt, ON_3dVector &su, ON_3dVector &sv, pt2d_t R)
 
void brep_newton_iterate (const plane_ray &pr, pt2d_t R, const ON_3dVector &su, const ON_3dVector &sv, pt2d_t uv, pt2d_t out_uv)
 
void utah_ray_planes (const ON_Ray &r, ON_3dVector &p1, double &p1d, ON_3dVector &p2, double &p2d)
 
 ON_Ray (ON_3dPoint &origin, ON_3dVector &dir)
 
 ON_Ray (ON_2dPoint &origin, ON_2dVector &dir)
 
 ON_Ray (const ON_Ray &r)
 
ON_Rayoperator= (const ON_Ray &r)
 
ON_3dPoint PointAt (double t) const
 
double DistanceTo (const ON_3dPoint &pt, double *out_t=NULL) const
 
bool IntersectRay (const ON_Ray &v, ON_2dPoint &isect) const
 

Detailed Description

Implement the concept of a geometry ray in terms of OpenNURBS data types.

Function Documentation

◆ brep_get_plane_ray()

int brep_get_plane_ray ( const ON_Ray r,
plane_ray pr 
)

◆ brep_r()

void brep_r ( const ON_Surface *  surf,
const plane_ray pr,
pt2d_t  uv,
ON_3dPoint &  pt,
ON_3dVector &  su,
ON_3dVector &  sv,
pt2d_t  R 
)

◆ brep_newton_iterate()

void brep_newton_iterate ( const plane_ray pr,
pt2d_t  R,
const ON_3dVector &  su,
const ON_3dVector &  sv,
pt2d_t  uv,
pt2d_t  out_uv 
)

◆ utah_ray_planes()

void utah_ray_planes ( const ON_Ray r,
ON_3dVector &  p1,
double &  p1d,
ON_3dVector &  p2,
double &  p2d 
)

◆ ON_Ray() [1/3]

ON_Ray ( ON_3dPoint &  origin,
ON_3dVector &  dir 
)
inline

Definition at line 81 of file ray.h.

◆ ON_Ray() [2/3]

ON_Ray ( ON_2dPoint &  origin,
ON_2dVector &  dir 
)
inline

Definition at line 87 of file ray.h.

◆ ON_Ray() [3/3]

ON_Ray ( const ON_Ray r)
inline

Definition at line 93 of file ray.h.

◆ operator=()

ON_Ray & operator= ( const ON_Ray r)
inline

Definition at line 100 of file ray.h.

References ON_Ray::m_dir, and ON_Ray::m_origin.

◆ PointAt()

ON_3dPoint PointAt ( double  t) const
inline

Definition at line 109 of file ray.h.

References ON_Ray::m_dir, and ON_Ray::m_origin.

Referenced by ON_Ray::IntersectRay().

◆ DistanceTo()

double DistanceTo ( const ON_3dPoint &  pt,
double *  out_t = NULL 
) const
inline

Definition at line 117 of file ray.h.

References ON_Ray::m_dir, and ON_Ray::m_origin.

◆ IntersectRay()

bool IntersectRay ( const ON_Ray v,
ON_2dPoint &  isect 
) const
inline
  • Intersect two 2d Rays
    • Parameters
      v[in] other ray to intersect with
      isect[out] point of intersection
      Returns
      true if single point of intersection is found

Definition at line 135 of file ray.h.

References ON_Ray::m_dir, ON_Ray::m_origin, ON_Ray::PointAt(), V2CROSS, and ZERO.

Here is the call graph for this function: