KiCad PCB EDA Suite
|
#include <pns_log_viewer_frame.h>
Public Member Functions | |
PNS_LOG_VIEWER_OVERLAY (KIGFX::GAL *aGal) | |
void | AnnotatedPolyset (const SHAPE_POLY_SET &aL, std::string name="", bool aShowVertexNumbers=false) |
void | AnnotatedPolyline (const SHAPE_LINE_CHAIN &aL, std::string name, bool aShowVertexNumbers=false) |
void | AnnotatedPoint (const VECTOR2I p, int size, std::string name="", bool aShowVertexNumbers=false) |
void | Arc (const SHAPE_ARC &arc) |
void | DrawAnnotations () |
void | Clear () |
virtual const BOX2I | ViewBBox () const override |
Return the bounding box of the item covering all its layers. | |
virtual void | ViewDraw (int aLayer, VIEW *aView) const override |
Draw the parts of the object belonging to layer aLayer. | |
virtual std::vector< int > | ViewGetLayers () const override |
Return the all the layers within the VIEW the object is painted on. | |
void | Line (const VECTOR2D &aStartPoint, const VECTOR2D &aEndPoint) |
void | Line (const SEG &aSeg) |
void | Segment (const VECTOR2D &aStartPoint, const VECTOR2D &aEndPoint, double aWidth) |
void | Circle (const VECTOR2D &aCenterPoint, double aRadius) |
void | Arc (const VECTOR2D &aCenterPoint, double aRadius, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aEndAngle) |
void | Rectangle (const VECTOR2D &aStartPoint, const VECTOR2D &aEndPoint) |
void | Cross (const VECTOR2D &aP, int aSize) |
void | Polygon (const std::deque< VECTOR2D > &aPointList) |
void | Polygon (const SHAPE_POLY_SET &aPolySet) |
void | Polygon (const VECTOR2D aPointList[], int aListSize) |
void | Polyline (const SHAPE_LINE_CHAIN &aPolyLine) |
void | BitmapText (const wxString &aText, const VECTOR2I &aPosition, const EDA_ANGLE &aAngle) |
void | SetIsFill (bool aIsFillEnabled) |
void | SetIsStroke (bool aIsStrokeEnabled) |
void | SetFillColor (const COLOR4D &aColor) |
void | SetStrokeColor (const COLOR4D &aColor) |
void | SetGlyphSize (const VECTOR2I &aSize) |
void | SetLineWidth (double aLineWidth) |
const COLOR4D & | GetStrokeColor () const |
const COLOR4D & | GetFillColor () const |
bool | IsSCH_ITEM () const |
bool | IsBOARD_ITEM () const |
virtual double | ViewGetLOD (int aLayer, const VIEW *aView) const |
Return the level of detail (LOD) of the item. | |
VIEW_ITEM_DATA * | viewPrivData () const |
void | SetForcedTransparency (double aForcedTransparency) |
double | GetForcedTransparency () const |
bool | Set (PROPERTY_BASE *aProperty, wxAny &aValue, bool aNotify=true) |
template<typename T > | |
bool | Set (PROPERTY_BASE *aProperty, T aValue, bool aNotify=true) |
template<typename T > | |
bool | Set (const wxString &aProperty, T aValue, bool aNotify=true) |
wxAny | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
std::optional< T > | Get (const wxString &aProperty) const |
Static Protected Member Functions | |
static constexpr double | lodScaleForThreshold (int aWhatIu, int aThresholdIu) |
Get the scale at which aWhatIu would be drawn at the same size as aThresholdIu on screen. | |
Static Protected Attributes | |
static constexpr double | LOD_HIDE = std::numeric_limits<double>::max() |
Return this constant from ViewGetLOD() to hide the item unconditionally. | |
static constexpr double | LOD_SHOW = 0.0 |
Return this constant from ViewGetLOD() to show the item unconditionally. | |
Private Member Functions | |
void | releaseCommands () |
Private Attributes | |
std::unique_ptr< LABEL_MANAGER > | m_labelMgr |
COLOR4D | m_strokeColor |
COLOR4D | m_fillColor |
std::vector< COMMAND * > | m_commands |
bool | m_isSCH_ITEM |
bool | m_isBOARD_ITEM |
VIEW_ITEM_DATA * | m_viewPrivData |
double | m_forcedTransparency |
Additional transparency for diff'ing items. | |
Definition at line 171 of file pns_log_viewer_frame.h.
PNS_LOG_VIEWER_OVERLAY::PNS_LOG_VIEWER_OVERLAY | ( | KIGFX::GAL * | aGal | ) |
Definition at line 62 of file pns_log_viewer_frame.cpp.
References m_labelMgr.
void PNS_LOG_VIEWER_OVERLAY::AnnotatedPoint | ( | const VECTOR2I | p, |
int | size, | ||
std::string | name = "" , |
||
bool | aShowVertexNumbers = false |
||
) |
Definition at line 100 of file pns_log_viewer_frame.cpp.
References KIGFX::VIEW_OVERLAY::GetStrokeColor(), KIGFX::VIEW_OVERLAY::Line(), m_labelMgr, and name.
void PNS_LOG_VIEWER_OVERLAY::AnnotatedPolyline | ( | const SHAPE_LINE_CHAIN & | aL, |
std::string | name, | ||
bool | aShowVertexNumbers = false |
||
) |
Definition at line 84 of file pns_log_viewer_frame.cpp.
References SHAPE_LINE_CHAIN::CPoint(), KIGFX::VIEW_OVERLAY::GetStrokeColor(), m_labelMgr, name, SHAPE_LINE_CHAIN::PointCount(), and KIGFX::VIEW_OVERLAY::Polyline().
Referenced by AnnotatedPolyset().
void PNS_LOG_VIEWER_OVERLAY::AnnotatedPolyset | ( | const SHAPE_POLY_SET & | aL, |
std::string | name = "" , |
||
bool | aShowVertexNumbers = false |
||
) |
Definition at line 68 of file pns_log_viewer_frame.cpp.
References AnnotatedPolyline(), SHAPE_POLY_SET::CHole(), SHAPE_POLY_SET::COutline(), SHAPE_POLY_SET::HoleCount(), and SHAPE_POLY_SET::OutlineCount().
void PNS_LOG_VIEWER_OVERLAY::Arc | ( | const SHAPE_ARC & | arc | ) |
Definition at line 110 of file pns_log_viewer_frame.cpp.
References KIGFX::VIEW_OVERLAY::Arc(), SHAPE_ARC::GetCenter(), SHAPE_ARC::GetCentralAngle(), SHAPE_ARC::GetRadius(), SHAPE_ARC::GetStartAngle(), KIGFX::VIEW_OVERLAY::GetStrokeColor(), SHAPE_ARC::GetWidth(), radius, KIGFX::VIEW_OVERLAY::SetLineWidth(), KIGFX::VIEW_OVERLAY::SetStrokeColor(), and KIGFX::COLOR4D::WithAlpha().
|
inherited |
Definition at line 371 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
Referenced by Arc().
|
inherited |
Definition at line 396 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
Referenced by LABEL_MANAGER::Redraw().
|
inherited |
Definition at line 365 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
|
inherited |
Definition at line 285 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::releaseCommands().
|
inherited |
Definition at line 429 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::Line().
void PNS_LOG_VIEWER_OVERLAY::DrawAnnotations | ( | ) |
Definition at line 129 of file pns_log_viewer_frame.cpp.
References m_labelMgr.
|
inlineinherited |
Definition at line 120 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 100 of file inspectable.h.
References PROPERTY_BASE::getter(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by BOOST_AUTO_TEST_CASE(), CLASS_D_DESC::CLASS_D_DESC(), PROPERTIES_PANEL::getItemValue(), PCBEXPR_VAR_REF::GetValue(), and SCHEMATIC::SCHEMATIC().
|
inlineinherited |
Definition at line 108 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 105 of file view_overlay.h.
|
inlineinherited |
Definition at line 165 of file view_item.h.
Referenced by KIGFX::SCH_PAINTER::draw(), EDA_ITEM::EDA_ITEM(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and EDA_ITEM::operator=().
|
inlineinherited |
Definition at line 104 of file view_overlay.h.
Referenced by AnnotatedPoint(), AnnotatedPolyline(), and Arc().
|
inlineinherited |
Definition at line 102 of file view_item.h.
Referenced by KIGFX::PCB_VIEW::Add(), PCB_BASE_EDIT_FRAME::ClearListAndDeleteItems(), CONVERT_TOOL::CreatePolys(), EDIT_TOOL::doMoveSelection(), KIGFX::PCB_PAINTER::Draw(), PCB_SELECTION_TOOL::highlightInternal(), PCB_TEST_SELECTION_TOOL::highlightInternal(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_COMMIT::MakeImage(), BOARD::Move(), DRAWING_TOOL::PlaceImportedGraphics(), EDIT_TOOL::Properties(), BOARD_COMMIT::Push(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), KIGFX::PCB_VIEW::Remove(), EDIT_TOOL::removeNonRootItems(), BOARD_COMMIT::Revert(), PCB_EDIT_FRAME::SetActiveLayer(), PCB_BASE_FRAME::SetPlotSettings(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), EDIT_TOOL::Swap(), PCB_SELECTION_TOOL::unhighlightInternal(), PCB_TEST_SELECTION_TOOL::unhighlightInternal(), KIGFX::PCB_VIEW::Update(), EDIT_TOOL::updateModificationPoint(), and DIALOG_POSITION_RELATIVE::UpdatePickedItem().
|
inlineinherited |
Definition at line 101 of file view_item.h.
|
inherited |
Definition at line 324 of file view_overlay.cpp.
References SEG::A, SEG::B, and KIGFX::VIEW_OVERLAY::Line().
|
inherited |
Definition at line 318 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
Referenced by AnnotatedPoint(), KIGFX::VIEW_OVERLAY::Cross(), KIGFX::VIEW_OVERLAY::Line(), KIGFX::VIEW_OVERLAY::Polyline(), LABEL_MANAGER::Redraw(), and KIGFX::VIEW_OVERLAY::Segment().
|
inlinestaticconstexprprotectedinherited |
Get the scale at which aWhatIu would be drawn at the same size as aThresholdIu on screen.
This is useful when a level-of-detail is defined in terms of a threshold size (i.e. 'only draw X when it will be bigger than Y size on screen').
E.g. if aWhatIu is 1000 and aThresholdIu is 100, then the item will be the same size as the threshold at 0.1 scale. Returning that 0.1 as the LoD will hide the item when the scale is less than 0.1 - i.e. smaller than the threshold.
Because even at zoom 1.0, 1mm in KiCad may not be exactly 1mm on a physical screen, the threshold may not be exact in practice.
Definition at line 196 of file view_item.h.
Referenced by SCH_LINE::ViewGetLOD(), GERBER_DRAW_ITEM::ViewGetLOD(), PAD::ViewGetLOD(), and PCB_TRACK::ViewGetLOD().
|
inherited |
Definition at line 347 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
|
inherited |
Definition at line 353 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
|
inherited |
Definition at line 359 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
|
inherited |
Definition at line 337 of file view_overlay.cpp.
References SHAPE_LINE_CHAIN::CSegment(), KIGFX::VIEW_OVERLAY::Line(), SHAPE_LINE_CHAIN::SegmentCount(), KIGFX::VIEW_OVERLAY::SetIsFill(), and KIGFX::VIEW_OVERLAY::SetIsStroke().
Referenced by AnnotatedPolyline().
|
inherited |
Definition at line 378 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
Referenced by LABEL_MANAGER::Redraw().
|
privateinherited |
Definition at line 276 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
Referenced by KIGFX::VIEW_OVERLAY::Clear(), and KIGFX::VIEW_OVERLAY::~VIEW_OVERLAY().
|
inherited |
Definition at line 330 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::Line(), and KIGFX::VIEW_OVERLAY::SetLineWidth().
|
inlineinherited |
Definition at line 77 of file inspectable.h.
References PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_MANAGER::PropertyChanged(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 60 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_MANAGER::PropertyChanged(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 43 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_MANAGER::PropertyChanged(), PROPERTY_BASE::setter(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by SCH_PROPERTIES_PANEL::valueChanged(), and PCB_PROPERTIES_PANEL::valueChanged().
|
inherited |
Definition at line 409 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands, and KIGFX::VIEW_OVERLAY::m_fillColor.
|
inlineinherited |
Definition at line 160 of file view_item.h.
Referenced by EDA_ITEM::EDA_ITEM(), SYMBOL_DIFF_WIDGET::onSlider(), FOOTPRINT_DIFF_WIDGET::onSlider(), and EDA_ITEM::operator=().
|
inherited |
Definition at line 390 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
|
inherited |
Definition at line 384 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
Referenced by KIGFX::VIEW_OVERLAY::Polyline(), and LABEL_MANAGER::Redraw().
|
inherited |
Definition at line 403 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
Referenced by KIGFX::VIEW_OVERLAY::Polyline(), and LABEL_MANAGER::Redraw().
|
inherited |
Definition at line 423 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands.
Referenced by Arc(), LABEL_MANAGER::Redraw(), and KIGFX::VIEW_OVERLAY::Segment().
|
inherited |
Definition at line 416 of file view_overlay.cpp.
References KIGFX::VIEW_OVERLAY::m_commands, and KIGFX::VIEW_OVERLAY::m_strokeColor.
Referenced by Arc(), and LABEL_MANAGER::Redraw().
|
overridevirtualinherited |
Return the bounding box of the item covering all its layers.
Implements KIGFX::VIEW_ITEM.
Definition at line 291 of file view_overlay.cpp.
References BOX2< Vec >::SetMaximum().
|
overridevirtualinherited |
Draw the parts of the object belonging to layer aLayer.
An alternative way for drawing objects if there is no #PAINTER assigned for the view or if the PAINTER doesn't know how to paint this particular implementation of VIEW_ITEM. The preferred way of drawing is to design an appropriate PAINTER object, the method below is intended only for quick hacks and debugging purposes.
aLayer | is the current drawing layer. |
aView | is a pointer to the VIEW device we are drawing on. |
Reimplemented from KIGFX::VIEW_ITEM.
Definition at line 300 of file view_overlay.cpp.
References KIGFX::VIEW::GetGAL(), KIGFX::GAL::GetMinDepth(), KIGFX::GAL_SCOPED_ATTRS::LAYER_DEPTH, KIGFX::VIEW_OVERLAY::m_commands, and KIGFX::GAL::SetLayerDepth().
|
overridevirtualinherited |
Return the all the layers within the VIEW the object is painted on.
For instance, a PAD spans zero or more copper layers and a few technical layers. ViewDraw() or PAINTER::Draw() is repeatedly called for each of the layers returned by ViewGetLayers(), depending on the rendering order.
Implements KIGFX::VIEW_ITEM.
Definition at line 312 of file view_overlay.cpp.
References LAYER_GP_OVERLAY.
|
inlinevirtualinherited |
Return the level of detail (LOD) of the item.
A level of detail is the minimal VIEW scale that is sufficient for an item to be shown on a given layer.
Use LOD_HIDE and LOD_SHOW constants to hide or show the item unconditionally.
Use lodScaleForThreshold() to calculate the LOD scale for when the item passes a certain threshold size on screen.
aLayer | is the current drawing layer. |
aView | is a pointer to the VIEW device we are drawing on. |
Reimplemented in SCH_LINE, GERBER_DRAW_ITEM, FOOTPRINT, PAD, PCB_FIELD, PCB_GROUP, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_VIA, and ZONE.
Definition at line 149 of file view_item.h.
Referenced by PCB_GRID_HELPER::computeAnchors(), PNS_KICAD_IFACE::IsItemVisible(), KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()(), EE_GRID_HELPER::queryVisible(), and PCB_GRID_HELPER::queryVisible().
|
inlineinherited |
Definition at line 155 of file view_item.h.
Referenced by KIGFX::VIEW::Add(), KIGFX::VIEW::draw(), KIGFX::VIEW::HasItem(), KIGFX::VIEW::Hide(), KIGFX::VIEW::invalidateItem(), KIGFX::VIEW::IsHiddenOnOverlay(), KIGFX::VIEW::IsVisible(), KIGFX::VIEW::UPDATE_COLOR_VISITOR::operator()(), KIGFX::VIEW::UPDATE_DEPTH_VISITOR::operator()(), KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()(), KIGFX::VIEW::RECACHE_ITEM_VISITOR::operator()(), KIGFX::VIEW::CLEAR_LAYER_CACHE_VISITOR::operator()(), KIGFX::VIEW::SetVisible(), KIGFX::VIEW::Update(), KIGFX::VIEW::updateItemColor(), KIGFX::VIEW::updateItemGeometry(), and KIGFX::VIEW::updateLayers().
|
staticconstexprprotectedinherited |
Return this constant from ViewGetLOD() to hide the item unconditionally.
Definition at line 174 of file view_item.h.
Referenced by KIGFX::VIEW_GROUP::ViewDraw(), SCH_LINE::ViewGetLOD(), FOOTPRINT::ViewGetLOD(), PAD::ViewGetLOD(), PCB_FIELD::ViewGetLOD(), PCB_GROUP::ViewGetLOD(), PCB_REFERENCE_IMAGE::ViewGetLOD(), PCB_SHAPE::ViewGetLOD(), PCB_TEXT::ViewGetLOD(), PCB_TEXTBOX::ViewGetLOD(), PCB_TRACK::ViewGetLOD(), PCB_VIA::ViewGetLOD(), and ZONE::ViewGetLOD().
|
staticconstexprprotectedinherited |
Return this constant from ViewGetLOD() to show the item unconditionally.
Definition at line 179 of file view_item.h.
Referenced by SCH_LINE::ViewGetLOD(), GERBER_DRAW_ITEM::ViewGetLOD(), FOOTPRINT::ViewGetLOD(), PAD::ViewGetLOD(), PCB_FIELD::ViewGetLOD(), PCB_GROUP::ViewGetLOD(), PCB_REFERENCE_IMAGE::ViewGetLOD(), PCB_SHAPE::ViewGetLOD(), PCB_TEXT::ViewGetLOD(), PCB_TEXTBOX::ViewGetLOD(), PCB_TRACK::ViewGetLOD(), PCB_VIA::ViewGetLOD(), and ZONE::ViewGetLOD().
|
privateinherited |
Definition at line 113 of file view_overlay.h.
Referenced by KIGFX::VIEW_OVERLAY::Arc(), KIGFX::VIEW_OVERLAY::BitmapText(), KIGFX::VIEW_OVERLAY::Circle(), KIGFX::VIEW_OVERLAY::Line(), KIGFX::VIEW_OVERLAY::Polygon(), KIGFX::VIEW_OVERLAY::Rectangle(), KIGFX::VIEW_OVERLAY::releaseCommands(), KIGFX::VIEW_OVERLAY::SetFillColor(), KIGFX::VIEW_OVERLAY::SetGlyphSize(), KIGFX::VIEW_OVERLAY::SetIsFill(), KIGFX::VIEW_OVERLAY::SetIsStroke(), KIGFX::VIEW_OVERLAY::SetLineWidth(), KIGFX::VIEW_OVERLAY::SetStrokeColor(), and KIGFX::VIEW_OVERLAY::ViewDraw().
|
privateinherited |
Definition at line 111 of file view_overlay.h.
Referenced by KIGFX::VIEW_OVERLAY::SetFillColor().
|
privateinherited |
Additional transparency for diff'ing items.
Definition at line 210 of file view_item.h.
Referenced by KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()().
|
privateinherited |
Definition at line 208 of file view_item.h.
|
privateinherited |
Definition at line 207 of file view_item.h.
|
private |
Definition at line 187 of file pns_log_viewer_frame.h.
Referenced by AnnotatedPoint(), AnnotatedPolyline(), DrawAnnotations(), and PNS_LOG_VIEWER_OVERLAY().
|
privateinherited |
Definition at line 110 of file view_overlay.h.
Referenced by KIGFX::VIEW_OVERLAY::SetStrokeColor().
|
privateinherited |
Definition at line 209 of file view_item.h.
Referenced by KIGFX::VIEW::Add(), KIGFX::VIEW::OnDestroy(), KIGFX::VIEW::Remove(), KIGFX::VIEW::updateBbox(), KIGFX::VIEW::updateLayers(), and KIGFX::VIEW_ITEM::~VIEW_ITEM().