KiCad PCB EDA Suite
|
#include <ray.h>
Public Member Functions | |
void | Init (const SFVEC3F &o, const SFVEC3F &d) |
bool | IntersectSphere (const SFVEC3F &aCenter, float aRadius, float &aOutT0, float &aOutT1) const |
SFVEC3F | at (float t) const |
SFVEC2F | at2D (float t) const |
Public Attributes | |
SFVEC3F | m_Origin |
unsigned int | rayID |
unique ray ID - not used - dummy | |
SFVEC3F | m_Dir |
RAY_CLASSIFICATION | m_Classification |
SFVEC3F | m_InvDir |
float | ibyj |
float | jbyi |
float | kbyj |
float | jbyk |
float | ibyk |
float | kbyi |
float | c_xy |
float | c_xz |
float | c_yx |
float | c_yz |
float | c_zx |
float | c_zy |
unsigned int | m_dirIsNeg [3] |
|
inline |
Definition at line 84 of file ray.h.
References m_Dir, and m_Origin.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetHitLookAt(), CYLINDER::Intersect(), DUMMY_BLOCK::Intersect(), LAYER_ITEM::Intersect(), XY_PLANE::Intersect(), ROUND_SEGMENT::Intersect(), TRIANGLE::Intersect(), LAYER_ITEM::IntersectP(), ROUND_SEGMENT::IntersectP(), EDA_3D_CANVAS::move_pivot_based_on_cur_mouse_position(), RENDER_3D_RAYTRACE_BASE::renderBlockTracing(), and RENDER_3D_RAYTRACE_BASE::shadeHit().
|
inline |
Definition at line 35 of file ray.cpp.
References c_xy, c_xz, c_yx, c_yz, c_zx, c_zy, ibyj, ibyk, jbyi, jbyk, kbyi, kbyj, m_Classification, m_Dir, m_dirIsNeg, m_InvDir, m_Origin, and rayID.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::GetHitLookAt(), EDA_3D_CANVAS::getRayAtCurrentMousePosition(), RAYPACKET::RAYPACKET(), RAYPACKET_InitRays(), RAYPACKET_InitRays_with2DDisplacement(), RENDER_3D_RAYTRACE_BASE::renderPreview(), and RENDER_3D_RAYTRACE_BASE::shadeHit().
bool RAY::IntersectSphere | ( | const SFVEC3F & | aCenter, |
float | aRadius, | ||
float & | aOutT0, | ||
float & | aOutT1 | ||
) | const |
float RAY::c_xy |
Definition at line 73 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::c_xz |
Definition at line 73 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::c_yx |
Definition at line 73 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::c_yz |
Definition at line 73 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::c_zx |
Definition at line 73 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::c_zy |
Definition at line 73 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::ibyj |
Definition at line 72 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::ibyk |
Definition at line 72 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::jbyi |
Definition at line 72 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::jbyk |
Definition at line 72 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::kbyi |
Definition at line 72 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
float RAY::kbyj |
Definition at line 72 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
RAY_CLASSIFICATION RAY::m_Classification |
Definition at line 68 of file ray.h.
Referenced by Init(), and BBOX_3D::Intersect().
SFVEC3F RAY::m_Dir |
Definition at line 67 of file ray.h.
Referenced by at(), at2D(), FRUSTUM::GenerateFrustum(), Init(), CYLINDER::Intersect(), LAYER_ITEM::Intersect(), XY_PLANE::Intersect(), ROUND_SEGMENT::Intersect(), TRIANGLE::Intersect(), CYLINDER::IntersectP(), LAYER_ITEM::IntersectP(), XY_PLANE::IntersectP(), ROUND_SEGMENT::IntersectP(), TRIANGLE::IntersectP(), IntersectSphere(), BLINN_PHONG_MATERIAL::Shade(), and RENDER_3D_RAYTRACE_BASE::shadeHit().
unsigned int RAY::m_dirIsNeg[3] |
Definition at line 75 of file ray.h.
Referenced by Init(), BBOX_3D::Intersect(), BVH_PBRT::Intersect(), DUMMY_BLOCK::Intersect(), XY_PLANE::Intersect(), ROUND_SEGMENT::Intersect(), BVH_PBRT::IntersectP(), and ROUND_SEGMENT::IntersectP().
SFVEC3F RAY::m_InvDir |
Definition at line 70 of file ray.h.
Referenced by Init(), BBOX_3D::Intersect(), LAYER_ITEM::Intersect(), XY_PLANE::Intersect(), ROUND_SEGMENT::Intersect(), LAYER_ITEM::IntersectP(), XY_PLANE::IntersectP(), and ROUND_SEGMENT::IntersectP().
SFVEC3F RAY::m_Origin |
Definition at line 64 of file ray.h.
Referenced by at(), at2D(), COPPER_NORMAL::Generate(), FRUSTUM::GenerateFrustum(), Init(), BBOX_3D::Intersect(), CYLINDER::Intersect(), LAYER_ITEM::Intersect(), XY_PLANE::Intersect(), ROUND_SEGMENT::Intersect(), TRIANGLE::Intersect(), CYLINDER::IntersectP(), LAYER_ITEM::IntersectP(), XY_PLANE::IntersectP(), ROUND_SEGMENT::IntersectP(), TRIANGLE::IntersectP(), and IntersectSphere().
unsigned int RAY::rayID |