|
KiCad PCB EDA Suite
|
A vertical truncated cone with different radii at top and bottom. More...
#include <frustum_3d.h>
Public Member Functions | |
| TRUNCATED_CONE (SFVEC2F aCenterPoint, float aZmin, float aZmax, float aRadiusMin, float aRadiusMax) | |
| 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 | |
| SFVEC2F | m_center |
| float | m_radiusMin |
| float | m_radiusMax |
| float | m_zMin |
| float | m_zMax |
| float | m_height |
| float | m_slope |
| SFVEC3F | m_diffusecolor |
A vertical truncated cone with different radii at top and bottom.
Used for visualizing countersink hole shapes.
Definition at line 38 of file frustum_3d.h.
| TRUNCATED_CONE::TRUNCATED_CONE | ( | SFVEC2F | aCenterPoint, |
| float | aZmin, | ||
| float | aZmax, | ||
| float | aRadiusMin, | ||
| float | aRadiusMax ) |
| aCenterPoint | = position of the vertical cone axis in the XY plane |
| aZmin | = bottom position (Z axis) |
| aZmax | = top position (Z axis) |
| aRadiusMin | = radius at aZmin |
| aRadiusMax | = radius at aZmax |
Definition at line 37 of file frustum_3d.cpp.
References OBJECT_3D::m_bbox, m_center, OBJECT_3D::m_centroid, m_height, m_radiusMax, m_radiusMin, m_slope, m_zMax, m_zMin, and OBJECT_3D::OBJECT_3D().
|
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 58 of file frustum_3d.cpp.
References std::abs(), RAY::at(), m_center, RAY::m_Dir, HITINFO::m_HitNormal, HITINFO::m_HitPoint, OBJECT_3D::m_material, RAY::m_Origin, m_radiusMin, m_slope, HITINFO::m_tHit, m_zMax, m_zMin, and HITINFO::pHitObject.
|
overridevirtual |
| aMaxDistance | is the maximum distance of the test. |
Implements OBJECT_3D.
Definition at line 163 of file frustum_3d.cpp.
References std::abs(), m_center, RAY::m_Dir, RAY::m_Origin, m_radiusMin, m_slope, m_zMax, and m_zMin.
|
overridevirtual |
Implements OBJECT_3D.
Definition at line 216 of file frustum_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 51 of file frustum_3d.h.
References m_diffusecolor.
Referenced by RENDER_3D_RAYTRACE_BASE::backfillPostMachine().
|
inlineinherited |
Definition at line 58 of file object_3d.h.
References MATERIAL::GetTransparency(), m_material, and m_modelTransparency.
Referenced by RENDER_3D_RAYTRACE_BASE::addCounterborePlating(), RENDER_3D_RAYTRACE_BASE::addCountersinkPlating(), RENDER_3D_RAYTRACE_BASE::addModels(), RENDER_3D_RAYTRACE_BASE::backfillPostMachine(), 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(), TRUNCATED_CONE::Intersects(), XY_PLANE::Intersects(), LAYER_ITEM::LAYER_ITEM(), TRIANGLE::pre_calc_const(), ROUND_SEGMENT::ROUND_SEGMENT(), TRUNCATED_CONE::TRUNCATED_CONE(), 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 59 of file frustum_3d.h.
Referenced by Intersect(), IntersectP(), and TRUNCATED_CONE().
|
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(), TRUNCATED_CONE::TRUNCATED_CONE(), XY_PLANE::XY_PLANE(), and XY_PLANE::XY_PLANE().
|
private |
Definition at line 66 of file frustum_3d.h.
Referenced by GetDiffuseColor(), and SetColor().
|
private |
Definition at line 64 of file frustum_3d.h.
Referenced by TRUNCATED_CONE().
|
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(), TRUNCATED_CONE::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 61 of file frustum_3d.h.
Referenced by TRUNCATED_CONE().
|
private |
Definition at line 60 of file frustum_3d.h.
Referenced by Intersect(), IntersectP(), and TRUNCATED_CONE().
|
private |
Definition at line 65 of file frustum_3d.h.
Referenced by Intersect(), IntersectP(), and TRUNCATED_CONE().
|
private |
Definition at line 63 of file frustum_3d.h.
Referenced by Intersect(), IntersectP(), and TRUNCATED_CONE().
|
private |
Definition at line 62 of file frustum_3d.h.
Referenced by Intersect(), IntersectP(), and TRUNCATED_CONE().