| 
    KiCad PCB EDA Suite
    
   | 
 
A plane that is parallel to XY plane. More...
#include <plane_3d.h>
  
Public Member Functions | |
| XY_PLANE (const BBOX_3D &aBBox) | |
| XY_PLANE (SFVEC3F aCenterPoint, float aXSize, float aYSize) | |
| void | SetColor (SFVEC3F aObjColor) | 
| bool | Intersect (const RAY &aRay, HITINFO &aHitInfo) const override | 
| bool | IntersectP (const RAY &aRay, float aMaxDistance) const override | 
| bool | Intersects (const BBOX_3D &aBBox) const override | 
| SFVEC3F | GetDiffuseColor (const HITINFO &aHitInfo) const override | 
| void | SetBoardItem (BOARD_ITEM *aBoardItem) | 
| BOARD_ITEM * | GetBoardItem () const | 
| void | SetMaterial (const MATERIAL *aMaterial) | 
| const MATERIAL * | GetMaterial () const | 
| float | GetModelTransparency () const | 
| void | SetModelTransparency (float aModelTransparency) | 
| const BBOX_3D & | GetBBox () const | 
| const SFVEC3F & | GetCentroid () const | 
Protected Attributes | |
| BBOX_3D | m_bbox | 
| SFVEC3F | m_centroid | 
| OBJECT_3D_TYPE | m_obj_type | 
| const MATERIAL * | m_material | 
| BOARD_ITEM * | m_boardItem | 
| float | m_modelTransparency | 
Private Attributes | |
| SFVEC3F | m_centerPoint | 
| float | m_xsize | 
| float | m_ysize | 
| float | m_xsize_inv2 | 
| float | m_ysize_inv2 | 
| SFVEC3F | m_diffusecolor | 
A plane that is parallel to XY plane.
Definition at line 37 of file plane_3d.h.
      
  | 
  explicit | 
Definition at line 32 of file plane_3d.cpp.
References BBOX_3D::GetCenter(), BBOX_3D::GetExtent(), OBJECT_3D::m_bbox, m_centerPoint, OBJECT_3D::m_centroid, m_xsize, m_xsize_inv2, m_ysize, m_ysize_inv2, OBJECT_3D::OBJECT_3D(), and XYPLANE.
| XY_PLANE::XY_PLANE | ( | SFVEC3F | aCenterPoint, | 
| float | aXSize, | ||
| float | aYSize ) | 
| aCenterPoint | = position of the center of the plane | 
| aXSize | = size by X axis | 
| aYSize | = size by Y axis | 
Definition at line 46 of file plane_3d.cpp.
References OBJECT_3D::m_bbox, m_centerPoint, OBJECT_3D::m_centroid, m_xsize, m_xsize_inv2, m_ysize, m_ysize_inv2, OBJECT_3D::OBJECT_3D(), and XYPLANE.
      
  | 
  inlineinherited | 
Definition at line 92 of file object_3d.h.
References m_bbox.
Referenced by CONTAINER_3D_BASE::Add(), and BVH_PBRT::Intersect().
      
  | 
  inlineinherited | 
Definition at line 56 of file object_3d.h.
References m_boardItem.
Referenced by RENDER_3D_RAYTRACE_BASE::IntersectBoardItem().
      
  | 
  inlineinherited | 
Definition at line 94 of file object_3d.h.
References m_centroid.
      
  | 
  inlineinherited | 
Definition at line 64 of file object_3d.h.
References m_material.
Referenced by BVH_PBRT::IntersectP(), and RENDER_3D_RAYTRACE_BASE::shadeHit().
      
  | 
  inlineinherited | 
Definition at line 65 of file object_3d.h.
References m_modelTransparency.
Referenced by RENDER_3D_RAYTRACE_BASE::shadeHit().
Implements OBJECT_3D.
Definition at line 62 of file plane_3d.cpp.
References RAY::at(), m_centerPoint, RAY::m_Dir, RAY::m_dirIsNeg, HITINFO::m_HitNormal, HITINFO::m_HitPoint, RAY::m_InvDir, OBJECT_3D::m_material, RAY::m_Origin, HITINFO::m_tHit, m_xsize, m_ysize, and HITINFO::pHitObject.
      
  | 
  overridevirtual | 
| aMaxDistance | is the maximum distance of the test. | 
Implements OBJECT_3D.
Definition at line 94 of file plane_3d.cpp.
References m_centerPoint, RAY::m_Dir, RAY::m_InvDir, RAY::m_Origin, m_xsize, and m_ysize.
      
  | 
  overridevirtual | 
Implements OBJECT_3D.
Definition at line 115 of file plane_3d.cpp.
References OBJECT_3D::m_bbox.
      
  | 
  inlineinherited | 
Definition at line 55 of file object_3d.h.
References m_boardItem.
Referenced by RENDER_3D_RAYTRACE_BASE::addModels().
      
  | 
  inline | 
Definition at line 49 of file plane_3d.h.
References m_diffusecolor.
Referenced by RENDER_3D_RAYTRACE_BASE::createObject().
      
  | 
  inlineinherited | 
Definition at line 58 of file object_3d.h.
References MATERIAL::GetTransparency(), m_material, and m_modelTransparency.
Referenced by RENDER_3D_RAYTRACE_BASE::addModels(), RENDER_3D_RAYTRACE_BASE::createItemsFromContainer(), RENDER_3D_RAYTRACE_BASE::createObject(), RENDER_3D_RAYTRACE_BASE::insertHole(), RENDER_3D_RAYTRACE_BASE::insertHole(), and RENDER_3D_RAYTRACE_BASE::Reload().
      
  | 
  inlineinherited | 
Definition at line 66 of file object_3d.h.
References m_modelTransparency.
Referenced by RENDER_3D_RAYTRACE_BASE::addModels().
      
  | 
  protectedinherited | 
Definition at line 97 of file object_3d.h.
Referenced by CYLINDER::CYLINDER(), DUMMY_BLOCK::DUMMY_BLOCK(), GetBBox(), CYLINDER::Intersect(), DUMMY_BLOCK::Intersect(), LAYER_ITEM::Intersect(), ROUND_SEGMENT::Intersect(), CYLINDER::IntersectP(), DUMMY_BLOCK::IntersectP(), LAYER_ITEM::IntersectP(), ROUND_SEGMENT::IntersectP(), CYLINDER::Intersects(), DUMMY_BLOCK::Intersects(), LAYER_ITEM::Intersects(), ROUND_SEGMENT::Intersects(), TRIANGLE::Intersects(), XY_PLANE::Intersects(), LAYER_ITEM::LAYER_ITEM(), TRIANGLE::pre_calc_const(), ROUND_SEGMENT::ROUND_SEGMENT(), XY_PLANE::XY_PLANE(), and XY_PLANE::XY_PLANE().
      
  | 
  protectedinherited | 
Definition at line 102 of file object_3d.h.
Referenced by GetBoardItem(), OBJECT_3D(), and SetBoardItem().
      
  | 
  private | 
Definition at line 57 of file plane_3d.h.
Referenced by Intersect(), IntersectP(), XY_PLANE(), and XY_PLANE().
      
  | 
  protectedinherited | 
Definition at line 98 of file object_3d.h.
Referenced by CYLINDER::CYLINDER(), DUMMY_BLOCK::DUMMY_BLOCK(), GetCentroid(), LAYER_ITEM::LAYER_ITEM(), TRIANGLE::pre_calc_const(), ROUND_SEGMENT::ROUND_SEGMENT(), XY_PLANE::XY_PLANE(), and XY_PLANE::XY_PLANE().
      
  | 
  private | 
Definition at line 62 of file plane_3d.h.
Referenced by GetDiffuseColor(), and SetColor().
      
  | 
  protectedinherited | 
Definition at line 100 of file object_3d.h.
Referenced by GetMaterial(), CYLINDER::Intersect(), DUMMY_BLOCK::Intersect(), LAYER_ITEM::Intersect(), ROUND_SEGMENT::Intersect(), TRIANGLE::Intersect(), XY_PLANE::Intersect(), OBJECT_3D(), and SetMaterial().
      
  | 
  protectedinherited | 
Definition at line 106 of file object_3d.h.
Referenced by GetModelTransparency(), OBJECT_3D(), SetMaterial(), and SetModelTransparency().
      
  | 
  protectedinherited | 
Definition at line 99 of file object_3d.h.
Referenced by OBJECT_3D().
      
  | 
  private | 
Definition at line 58 of file plane_3d.h.
Referenced by Intersect(), IntersectP(), XY_PLANE(), and XY_PLANE().
      
  | 
  private | 
Definition at line 60 of file plane_3d.h.
Referenced by XY_PLANE(), and XY_PLANE().
      
  | 
  private | 
Definition at line 59 of file plane_3d.h.
Referenced by Intersect(), IntersectP(), XY_PLANE(), and XY_PLANE().
      
  | 
  private | 
Definition at line 61 of file plane_3d.h.
Referenced by XY_PLANE(), and XY_PLANE().