KiCad PCB EDA Suite
|
Store arrays of triangles to be used to create display lists. More...
#include <layer_triangles.h>
Public Member Functions | |
TRIANGLE_DISPLAY_LIST (unsigned int aNrReservedTriangles) | |
Initialize arrays with reserved triangles. | |
~TRIANGLE_DISPLAY_LIST () | |
bool | IsLayersSizeValid () |
Check if the vertex arrays of the layers are as expected. | |
void | AddToMiddleContourns (const SHAPE_LINE_CHAIN &outlinePath, float zBot, float zTop, double aBiuTo3Du, bool aInvertFaceDirection, const BVH_CONTAINER_2D *aThroughHoles=nullptr) |
void | AddToMiddleContourns (const SHAPE_POLY_SET &aPolySet, float zBot, float zTop, double aBiuTo3Du, bool aInvertFaceDirection, const BVH_CONTAINER_2D *aThroughHoles=nullptr) |
void | AddToMiddleContourns (const std::vector< SFVEC2F > &aContournPoints, float zBot, float zTop, bool aInvertFaceDirection, const BVH_CONTAINER_2D *aThroughHoles=nullptr) |
Store arrays of triangles to be used to create display lists.
Definition at line 94 of file layer_triangles.h.
|
explicit |
Initialize arrays with reserved triangles.
aNrReservedTriangles | is the number of triangles to reserve. |
Definition at line 95 of file layer_triangles.cpp.
References m_layer_bot_segment_ends, m_layer_bot_triangles, m_layer_middle_contourns_quads, m_layer_top_segment_ends, and m_layer_top_triangles.
TRIANGLE_DISPLAY_LIST::~TRIANGLE_DISPLAY_LIST | ( | ) |
Definition at line 107 of file layer_triangles.cpp.
References m_layer_bot_segment_ends, m_layer_bot_triangles, m_layer_middle_contourns_quads, m_layer_top_segment_ends, and m_layer_top_triangles.
void TRIANGLE_DISPLAY_LIST::AddToMiddleContourns | ( | const SHAPE_LINE_CHAIN & | outlinePath, |
float | zBot, | ||
float | zTop, | ||
double | aBiuTo3Du, | ||
bool | aInvertFaceDirection, | ||
const BVH_CONTAINER_2D * | aThroughHoles = nullptr |
||
) |
Definition at line 219 of file layer_triangles.cpp.
References AddToMiddleContourns(), SHAPE_LINE_CHAIN::CPoint(), SHAPE_LINE_CHAIN::PointCount(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by AddToMiddleContourns(), RENDER_3D_OPENGL::createBoard(), RENDER_3D_OPENGL::generateCylinder(), RENDER_3D_OPENGL::generateHoles(), RENDER_3D_OPENGL::generateLayerList(), and RENDER_3D_OPENGL::generateViasAndPads().
void TRIANGLE_DISPLAY_LIST::AddToMiddleContourns | ( | const SHAPE_POLY_SET & | aPolySet, |
float | zBot, | ||
float | zTop, | ||
double | aBiuTo3Du, | ||
bool | aInvertFaceDirection, | ||
const BVH_CONTAINER_2D * | aThroughHoles = nullptr |
||
) |
Definition at line 256 of file layer_triangles.cpp.
References AddToMiddleContourns(), SHAPE_POLY_SET::CHole(), SHAPE_POLY_SET::COutline(), SHAPE_POLY_SET::HoleCount(), m_layer_middle_contourns_quads, SHAPE_POLY_SET::OutlineCount(), SHAPE_LINE_CHAIN::PointCount(), and TRIANGLE_LIST::Reserve_More().
void TRIANGLE_DISPLAY_LIST::AddToMiddleContourns | ( | const std::vector< SFVEC2F > & | aContournPoints, |
float | zBot, | ||
float | zTop, | ||
bool | aInvertFaceDirection, | ||
const BVH_CONTAINER_2D * | aThroughHoles = nullptr |
||
) |
Definition at line 126 of file layer_triangles.cpp.
References TRIANGLE_LIST::AddNormal(), TRIANGLE_LIST::AddQuad(), BVH_CONTAINER_2D::IntersectAny(), m_layer_middle_contourns_quads, m_middle_layer_lock, v1, VECTOR3< T >::x, and VECTOR3< T >::y.
bool TRIANGLE_DISPLAY_LIST::IsLayersSizeValid | ( | ) |
Check if the vertex arrays of the layers are as expected.
TRIANGLE_LIST* TRIANGLE_DISPLAY_LIST::m_layer_bot_segment_ends |
Definition at line 132 of file layer_triangles.h.
Referenced by RENDER_3D_OPENGL::addObjectTriangles(), OPENGL_RENDER_LIST::OPENGL_RENDER_LIST(), TRIANGLE_DISPLAY_LIST(), and ~TRIANGLE_DISPLAY_LIST().
TRIANGLE_LIST* TRIANGLE_DISPLAY_LIST::m_layer_bot_triangles |
Definition at line 131 of file layer_triangles.h.
Referenced by RENDER_3D_OPENGL::addObjectTriangles(), RENDER_3D_OPENGL::addTopAndBottomTriangles(), RENDER_3D_OPENGL::generateCylinder(), OPENGL_RENDER_LIST::OPENGL_RENDER_LIST(), TRIANGLE_DISPLAY_LIST(), and ~TRIANGLE_DISPLAY_LIST().
TRIANGLE_LIST* TRIANGLE_DISPLAY_LIST::m_layer_middle_contourns_quads |
Definition at line 130 of file layer_triangles.h.
Referenced by AddToMiddleContourns(), OPENGL_RENDER_LIST::OPENGL_RENDER_LIST(), TRIANGLE_DISPLAY_LIST(), and ~TRIANGLE_DISPLAY_LIST().
TRIANGLE_LIST* TRIANGLE_DISPLAY_LIST::m_layer_top_segment_ends |
Definition at line 128 of file layer_triangles.h.
Referenced by RENDER_3D_OPENGL::addObjectTriangles(), OPENGL_RENDER_LIST::OPENGL_RENDER_LIST(), TRIANGLE_DISPLAY_LIST(), and ~TRIANGLE_DISPLAY_LIST().
TRIANGLE_LIST* TRIANGLE_DISPLAY_LIST::m_layer_top_triangles |
Definition at line 129 of file layer_triangles.h.
Referenced by RENDER_3D_OPENGL::addObjectTriangles(), RENDER_3D_OPENGL::addTopAndBottomTriangles(), RENDER_3D_OPENGL::generateCylinder(), OPENGL_RENDER_LIST::OPENGL_RENDER_LIST(), TRIANGLE_DISPLAY_LIST(), and ~TRIANGLE_DISPLAY_LIST().
std::mutex TRIANGLE_DISPLAY_LIST::m_middle_layer_lock |
Definition at line 126 of file layer_triangles.h.
Referenced by AddToMiddleContourns().