KiCad PCB EDA Suite
|
A 2D bounding box built on top of an origin point and size vector. More...
#include <box2.h>
Public Types | |
typedef Vec::coord_type | coord_type |
typedef Vec::extended_type | size_type |
typedef Vec::extended_type | ecoord_type |
typedef VECTOR2< size_type > | SizeVec |
typedef std::numeric_limits< coord_type > | coord_limits |
Public Member Functions | |
constexpr | BOX2 () |
constexpr | BOX2 (const Vec &aPos, const SizeVec &aSize=SizeVec(0, 0)) |
constexpr void | SetMaximum () |
constexpr Vec | Centre () const |
template<class Container> | |
void | Compute (const Container &aPointList) |
Compute the bounding box from a given list of points. | |
constexpr void | Move (const Vec &aMoveVector) |
Move the rectangle by the aMoveVector. | |
constexpr BOX2< Vec > & | Normalize () |
Ensure that the height and width are positive. | |
constexpr bool | Contains (const Vec &aPoint) const |
constexpr bool | Contains (coord_type x, coord_type y) const |
constexpr bool | Contains (const BOX2< Vec > &aRect) const |
constexpr const SizeVec & | GetSize () const |
constexpr coord_type | GetX () const |
constexpr coord_type | GetY () const |
constexpr const Vec & | GetOrigin () const |
constexpr const Vec & | GetPosition () const |
constexpr const Vec | GetEnd () const |
constexpr size_type | GetWidth () const |
constexpr size_type | GetHeight () const |
constexpr coord_type | GetRight () const |
constexpr coord_type | GetBottom () const |
constexpr coord_type | GetLeft () const |
constexpr coord_type | GetTop () const |
constexpr const Vec | GetCenter () const |
constexpr int | GetSizeMax () const |
constexpr void | SetOrigin (const Vec &pos) |
constexpr void | SetOrigin (coord_type x, coord_type y) |
constexpr void | SetSize (const SizeVec &size) |
constexpr void | SetSize (size_type w, size_type h) |
constexpr void | Offset (coord_type dx, coord_type dy) |
constexpr void | Offset (const Vec &offset) |
constexpr BOX2< Vec > | GetWithOffset (const Vec &aMoveVector) const |
constexpr void | SetX (coord_type val) |
constexpr void | SetY (coord_type val) |
constexpr void | SetWidth (size_type val) |
constexpr void | SetHeight (size_type val) |
constexpr void | SetEnd (coord_type x, coord_type y) |
constexpr void | SetEnd (const Vec &pos) |
constexpr bool | Intersects (const BOX2< Vec > &aRect) const |
constexpr BOX2< Vec > | Intersect (const BOX2< Vec > &aRect) |
bool | Intersects (const Vec &aPoint1, const Vec &aPoint2) const |
bool | Intersects (const BOX2< Vec > &aRect, const EDA_ANGLE &aRotation) const |
bool | IntersectsCircle (const Vec &aCenter, const int aRadius) const |
bool | IntersectsCircleEdge (const Vec &aCenter, const int aRadius, const int aWidth) const |
const std::string | Format () const |
constexpr BOX2< Vec > & | Inflate (coord_type dx, coord_type dy) |
Inflates the rectangle horizontally by dx and vertically by dy. | |
constexpr BOX2< Vec > & | Inflate (coord_type aDelta) |
Inflate the rectangle horizontally and vertically by aDelta. | |
constexpr BOX2< Vec > | GetInflated (coord_type aDx, coord_type aDy) const |
Get a new rectangle that is this one, inflated by aDx and aDy. | |
constexpr BOX2< Vec > | GetInflated (coord_type aDelta) const |
Get a new rectangle that is this one, inflated by aDelta. | |
constexpr BOX2< Vec > & | Merge (const BOX2< Vec > &aRect) |
Modify the position and size of the rectangle in order to contain aRect. | |
constexpr BOX2< Vec > & | Merge (const Vec &aPoint) |
Modify the position and size of the rectangle in order to contain the given point. | |
const BOX2< Vec > | GetBoundingBoxRotated (const VECTOR2I &aRotCenter, const EDA_ANGLE &aAngle) const |
Useful to calculate bounding box of rotated items, when rotation is not cardinal. | |
constexpr ecoord_type | GetArea () const |
Return the area of the rectangle. | |
ecoord_type | Diagonal () const |
Return the length of the diagonal of the rectangle. | |
constexpr ecoord_type | SquaredDiagonal () const |
Return the square of the length of the diagonal of the rectangle. | |
constexpr ecoord_type | SquaredDistance (const Vec &aP) const |
ecoord_type | Distance (const Vec &aP) const |
constexpr ecoord_type | SquaredDistance (const BOX2< Vec > &aBox) const |
Return the square of the minimum distance between self and box aBox. | |
ecoord_type | Distance (const BOX2< Vec > &aBox) const |
Return the minimum distance between self and aBox. | |
constexpr Vec | NearestPoint (const Vec &aPoint) const |
Return the point in this rect that is closest to the provided point. | |
constexpr Vec | FarthestPointTo (const Vec &aPoint) const |
Return the point in this rect that is farthest from the provided point. | |
constexpr bool | operator== (const BOX2< Vec > &aOther) const |
constexpr bool | operator!= (const BOX2< Vec > &aOther) const |
constexpr bool | IsValid () const |
Static Public Member Functions | |
static constexpr BOX2< Vec > | ByCorners (const Vec &aCorner1, const Vec &aCorner2) |
static constexpr BOX2< Vec > | ByCenter (const Vec &aCenter, const SizeVec &aSize) |
Private Attributes | |
Vec | m_Pos |
SizeVec | m_Size |
bool | m_init |
A 2D bounding box built on top of an origin point and size vector.
typedef std::numeric_limits<coord_type> BOX2< Vec >::coord_limits |
typedef Vec::coord_type BOX2< Vec >::coord_type |
typedef Vec::extended_type BOX2< Vec >::ecoord_type |
typedef Vec::extended_type BOX2< Vec >::size_type |
Definition at line 52 of file box2.h.
Referenced by BOX2< VECTOR2I >::ByCenter(), BOX2< VECTOR2I >::ByCorners(), and BOX2< VECTOR2I >::Intersect().
|
inlineconstexpr |
Definition at line 97 of file box2.h.
Referenced by SHAPE::Centre(), SCH_EDIT_TOOL::ChangeTextType(), PCB_GRID_HELPER::computeAnchors(), COMMON_TOOLS::doCenter(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomFit(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawDimension(), BOARD_PRINTOUT::DrawPage(), BOARD_NETLIST_UPDATER::estimateFootprintInsertionPosition(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), BOARD_EDITOR_CONTROL::ExportIDF(), AUTOPLACER::fieldHPlacement(), PCB_BASE_FRAME::FocusOnItems(), GENDRILL_WRITER_BASE::genDrillMapFile(), BOX2< VECTOR2I >::GetCenter(), GERBVIEW_SELECTION::GetCenter(), EDA_SHAPE::getCenter(), PCB_GROUP::GetPosition(), SCH_GROUP::GetPosition(), SELECTION::GetReferencePoint(), GERBER_DRAW_ITEM::HitTest(), initializePlotter(), BOARD_ADAPTER::InitSettings(), BOX2< VECTOR2I >::Intersects(), SCH_FIELD::IsHorizJustifyFlipped(), SCH_FIELD::IsVertJustifyFlipped(), CADSTAR_SCH_ARCHIVE_LOADER::Load(), SCH_IO_EAGLE::loadSheet(), SHAPE_GROUP_POINT_EDIT_BEHAVIOR::MakePoints(), SCH_EDIT_TOOL::Mirror(), SCH_FIELD::Plot(), SCH_TEXT::Plot(), BRDITEMS_PLOTTER::PlotPadNumber(), SCH_PRINTOUT::PrintPage(), KIGFX::VIEW::SetCenter(), KIGFX::VIEW::SetViewport(), SCH_SELECTION_TOOL::SyncSelection(), ERC_TESTER::TestTextVars(), SHAPE_GROUP_POINT_EDIT_BEHAVIOR::UpdateItem(), SHAPE_GROUP_POINT_EDIT_BEHAVIOR::UpdatePoints(), KIGFX::WX_VIEW_CONTROLS::UpdateScrollbars(), PANEL_PCBNEW_COLOR_SETTINGS::zoomFitPreview(), PANEL_ZONE_GAL::ZoomFitScreen(), and PCB_SELECTION_TOOL::zoomFitSelection().
|
inline |
Compute the bounding box from a given list of points.
aPointList | is the list points of the object. |
Definition at line 109 of file box2.h.
Referenced by SHAPE_LINE_CHAIN::BBox().
|
inlineconstexpr |
aPoint | is the point to test. |
Definition at line 168 of file box2.h.
Referenced by KIGEOM::BoxHitTest(), KIGEOM::BoxHitTest(), LABEL_MANAGER::boxMtv(), CN_VISITOR::checkZoneZoneConnection(), SHAPE_RECT::Collide(), BOX2< VECTOR2I >::Contains(), SCH_IO_ALTIUM::CreateAliases(), SCH_MOVE_TOOL::doMoveSelection(), drawBacksideTicks(), DRAWING_TOOL::DrawDimension(), SCH_DRAWING_TOOLS::DrawSheet(), drawTicksAlongLine(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), PCB_SELECTION_TOOL::FindItem(), EDA_DRAW_FRAME::FocusOnLocation(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), DS_DRAW_ITEM_BASE::HitTest(), DS_DRAW_ITEM_BITMAP::HitTest(), DS_DRAW_ITEM_POLYPOLYGONS::HitTest(), DS_DRAW_ITEM_RECT::HitTest(), FOOTPRINT::HitTest(), FOOTPRINT::HitTest(), GERBER_DRAW_ITEM::HitTest(), GERBER_DRAW_ITEM::HitTest(), PAD::HitTest(), PCB_ARC::HitTest(), PCB_DIMENSION_BASE::HitTest(), PCB_TABLE::HitTest(), PCB_TABLE::HitTest(), PCB_TARGET::HitTest(), PCB_TEXTBOX::HitTest(), PCB_TEXTBOX::HitTest(), PCB_TRACK::HitTest(), PCB_TUNING_PATTERN::HitTest(), PCB_VIA::HitTest(), SCH_BUS_ENTRY_BASE::HitTest(), SCH_FIELD::HitTest(), SCH_FIELD::HitTest(), SCH_JUNCTION::HitTest(), SCH_LABEL_BASE::HitTest(), SCH_LABEL_BASE::HitTest(), SCH_LINE::HitTest(), SCH_NO_CONNECT::HitTest(), SCH_PIN::HitTest(), SCH_PIN::HitTest(), SCH_SHEET::HitTest(), SCH_SHEET::HitTest(), SCH_SHEET_PIN::HitTest(), SCH_SYMBOL::HitTest(), SCH_SYMBOL::HitTest(), SCH_TABLE::HitTest(), SCH_TABLE::HitTest(), SCH_TEXT::HitTest(), SCH_TEXT::HitTest(), SCH_TEXTBOX::HitTest(), SCH_TEXTBOX::HitTest(), ZONE::HitTest(), EDA_SHAPE::hitTest(), MARKER_BASE::HitTestMarker(), MARKER_BASE::HitTestMarker(), BOX2< VECTOR2I >::Intersects(), BOX2< VECTOR2I >::Intersects(), SCH_IO_ALTIUM::ParsePortHelper(), PNS::NODE::QueryJoints(), KIGFX::PCB_PAINTER::renderNetNameForSegment(), PCB_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectionContains(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), KIGFX::WX_VIEW_CONTROLS::SetCrossHairCursorPosition(), EDA_TEXT::TextHitTest(), EDA_TEXT::TextHitTest(), PCB_TEXT::TextHitTest(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::updateOrthogonalDimension(), and KIGFX::WX_VIEW_CONTROLS::WarpMouseCursor().
|
inlineconstexpr |
x | is the x coordinate of the point to test. |
y | is the x coordinate of the point to test. |
Definition at line 194 of file box2.h.
Referenced by BOX2< VECTOR2I >::Contains().
|
inline |
|
inline |
|
inline |
Definition at line 797 of file box2.h.
Referenced by DRC_TEST_PROVIDER_CREEPAGE::testCreepage().
|
inlineconstexpr |
Return the point in this rect that is farthest from the provided point.
Definition at line 867 of file box2.h.
Referenced by BOX2< VECTOR2I >::IntersectsCircleEdge().
|
inline |
|
inlineconstexpr |
Return the area of the rectangle.
Definition at line 761 of file box2.h.
Referenced by PNS::TOPOLOGY::AssembleCluster(), and SCH_SYMBOL::operator<().
|
inlineconstexpr |
Definition at line 222 of file box2.h.
Referenced by SHAPE_INDEX< T >::Add(), SHAPE_INDEX< T >::Add(), ZONE_FILLER::addHatchFillTypeOnZone(), PCB_IO_IPC2581::addOutlineNode(), AR_AUTOPLACER::addPad(), CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings(), FOOTPRINT::AutoPositionFields(), BOX2ISafe(), KIGEOM::BoxHitTest(), boxIntersectsLine(), KIGEOM::BoxToSegs(), PCB_TEXT::buildBoundingHull(), CN_ZONE_LAYER::BuildRTree(), SCH_EDIT_TOOL::ChangeTextType(), DRC_RTREE::CheckColliding(), ClipLine(), clipOutCode(), KIGEOM::CollectBoxCorners(), CN_ZONE_LAYER::Collide(), TEST_BOARD_ITEM_FIXTURE::CompareItems(), TEST_EE_ITEM_FIXTURE::CompareItems(), PCB_GRID_HELPER::computeAnchors(), EE_RTREE::contains(), ConvertPolygonToBlocks(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawDimension(), DRC_RTREE::DRC_LAYER::DRC_LAYER(), EE_RTREE::EE_TYPE::EE_TYPE(), PDF_PLOTTER::endPlotEmitResources(), BOARD_NETLIST_UPDATER::estimateFootprintInsertionPosition(), BOX2< VECTOR2I >::FarthestPointTo(), AR_AUTOPLACER::fillMatrix(), formatBBox(), GENDRILL_WRITER_BASE::genDrillMapFile(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), PCB_DIMENSION_BASE::GetBoundingBox(), PCB_TRACK::GetBoundingBox(), KIFONT::OUTLINE_FONT::getBoundingBox(), EDA_SHAPE::GetCornersInSequence(), SCH_TEXTBOX::GetDrawPos(), BOX2< VECTOR2I >::GetEnd(), SCH_SHEET::GetMinHeight(), EDIT_TOOL::getSafeMovement(), KIGEOM::GetSegsInDirection(), CN_RTREE< T >::Insert(), DRC_RTREE::Insert(), KIGFX::VIEW_RTREE::Insert(), EE_RTREE::insert(), BOX2< VECTOR2I >::Intersects(), IsBOX2Safe(), KIGFX::knockoutText(), SCH_IO_EAGLE::loadSchematic(), CADSTAR_SCH_ARCHIVE_LOADER::loadSymdef(), PNS::NODE::NearestObstacle(), BOX2< VECTOR2I >::NearestPoint(), PlotStandardLayer(), BRDITEMS_PLOTTER::PlotText(), CN_RTREE< T >::Query(), KIGFX::VIEW_RTREE::Query(), SHAPE_INDEX< ITEM * >::Query(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryCollidingPairs(), DIALOG_PAD_PROPERTIES::redraw(), SHAPE_INDEX< T >::Reindex(), CN_RTREE< T >::Remove(), KIGFX::VIEW_RTREE::Remove(), SHAPE_INDEX< T >::Remove(), EE_RTREE::remove(), SHAPE_POLY_SET::SHAPE_POLY_SET(), PNS::WALKAROUND::singleStep(), PIN_LAYOUT_CACHE::transformBoxForPin(), EDA_SHAPE::UpdateHatching(), RECTANGLE_POINT_EDIT_BEHAVIOR::UpdateItem(), and ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::updateOrthogonalDimension().
|
inline |
Useful to calculate bounding box of rotated items, when rotation is not cardinal.
Definition at line 720 of file box2.h.
Referenced by KIGEOM::BoxHitTest(), PCB_TEXT::GetBoundingBox(), KIGFX::GetTextExtents(), and API_HANDLER_COMMON::handleGetTextExtents().
|
inlineconstexpr |
Definition at line 230 of file box2.h.
Referenced by FOOTPRINT::AutoPositionFields(), ZONE_FILLER::buildThermalSpokes(), PCB_GRID_HELPER::computeAnchors(), SCH_IO_ALTIUM::CreateAliases(), EESCHEMA_JOBS_HANDLER::doSymExportSvg(), BOARD_EDITOR_CONTROL::ExportVRML(), BOX2< VECTOR2I >::FarthestPointTo(), SCH_FIND_REPLACE_TOOL::FindNext(), BOARD_ITEM::GetCenter(), FOOTPRINT::GetCenter(), SCH_TABLE::GetCenter(), SELECTION::GetCenter(), EDA_TEXT::GetEffectiveTextShape(), BOARD::GetFocusPosition(), SCH_SHEET::GetRotationCenter(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), PCBNEW_JOBS_HANDLER::JobExportStep(), PCB_IO_EASYEDA::LoadBoard(), SCH_EDIT_TOOL::Mirror(), DIALOG_EXPORT_STEP::onExportButton(), RN_NET::OptimizeRNEdges(), SCH_IO_LTSPICE_PARSER::Parse(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_EDIT_TOOL::Rotate(), PIN_LAYOUT_CACHE::transformBoxForPin(), PCB_DIM_ALIGNED::updateGeometry(), PCB_DIM_LEADER::updateGeometry(), PCB_DIM_ORTHOGONAL::updateGeometry(), PCB_DIM_RADIAL::updateGeometry(), RECTANGLE_POINT_EDIT_BEHAVIOR::UpdateItem(), and EDIT_TOOL::updateModificationPoint().
|
inlineconstexpr |
Definition at line 212 of file box2.h.
Referenced by EDA_DATA::AddPackage(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), KIGEOM::BoxHitTest(), LABEL_MANAGER::boxMtv(), KIGFX::boxText(), buildBoardBoundingBoxPoly(), BuildBoardPolygonOutlines(), AR_AUTOPLACER::buildFpAreas(), AR_AUTOPLACER::calculateKeepOutArea(), SCH_EDIT_TOOL::ChangeTextType(), PDF_PLOTTER::ClosePage(), PCB_GRID_HELPER::computeAnchors(), BOX2< VECTOR2I >::Contains(), KIGFX::PCB_PAINTER::Draw(), KIGFX::DS_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), KIGFX::GAL::DrawRectangle(), FillNegativeKnockout(), SCH_LABEL::GetBodyBoundingBox(), GERBER_DRAW_ITEM::GetBoundingBox(), PCB_DIM_CENTER::GetBoundingBox(), PCB_DIMENSION_BASE::GetBoundingBox(), SCH_FIELD::GetBoundingBox(), SCH_TEXT::GetBoundingBox(), BOX2< VECTOR2I >::GetBoundingBoxRotated(), NL_GERBVIEW_PLUGIN_IMPL::GetModelExtents(), NL_PCBNEW_PLUGIN_IMPL::GetModelExtents(), NL_PL_EDITOR_PLUGIN_IMPL::GetModelExtents(), NL_SCHEMATIC_PLUGIN_IMPL::GetModelExtents(), AR_AUTOPLACER::getOptimalFPPlacement(), KIFONT::STROKE_FONT::GetTextAsGlyphs(), BOX2< VECTOR2I >::Intersects(), SHAPE_GROUP_POINT_EDIT_BEHAVIOR::MakePoints(), BOX2< VECTOR2I >::Merge(), BOX2< VECTOR2I >::Merge(), PCB_SHAPE::Normalize(), PCB_IO_EASYEDA_PARSER::ParseFootprint(), PCB_IO_EASYEDAPRO_PARSER::ParseFootprint(), SCH_SHEET::Plot(), SCH_SYMBOL::PlotDNP(), PlotStandardLayer(), primitiveNeedsUpdate(), SVG_PLOTTER::Rect(), EDIT_TOOL::Rotate(), KIGFX::VIEW::SetBoundary(), shapeNeedsUpdate(), AR_AUTOPLACER::testRectangle(), TRANSFORM::TransformCoordinate(), PCB_DIM_ALIGNED::updateGeometry(), PCB_DIM_LEADER::updateGeometry(), PCB_DIM_ORTHOGONAL::updateGeometry(), PCB_DIM_RADIAL::updateGeometry(), and SHAPE_GROUP_POINT_EDIT_BEHAVIOR::UpdatePoints().
Definition at line 215 of file box2.h.
Referenced by GERBER_JOBFILE_WRITER::addJSONGeneralSpecs(), AUTOPLACE_TOOL::autoplace(), SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), BOOST_AUTO_TEST_CASE(), LABEL_MANAGER::boxMtv(), buildBoardBoundingBoxPoly(), BuildBoardPolygonOutlines(), PNS::DP_GATEWAYS::BuildFromPrimitivePair(), ZONE_FILLER::buildThermalSpokes(), PCB_IO_EAGLE::centerBoard(), AUTOPLACER::computeFBoxSize(), PNS::ConvexHull(), GENCAD_EXPORTER::createComponentsSection(), PNS::OPTIMIZER::customBreakouts(), COMMON_TOOLS::doCenter(), PAD::doCheckPad(), SCH_MOVE_TOOL::doMoveSelection(), EESCHEMA_JOBS_HANDLER::doSymExportSvg(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomFit(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawDimension(), BOARD_PRINTOUT::DrawPage(), BOARD_NETLIST_UPDATER::estimateFootprintInsertionPosition(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), AUTOPLACER::fieldVPlacement(), PCB_SELECTION_TOOL::FindItem(), PCB_BASE_FRAME::FocusOnItems(), GENDRILL_WRITER_BASE::genDrillMapFile(), AR_AUTOPLACER::genPlacementRoutingMatrix(), DS_DRAW_ITEM_TEXT::GetApproxBBox(), BOX2< VECTOR2I >::GetArea(), FOOTPRINT::GetArea(), PANEL_ZONE_GAL::GetBoardBoundingBox(), PCB_BASE_FRAME::GetBoardBoundingBox(), GERBER_DRAW_ITEM::GetBoundingBox(), DIALOG_BOARD_STATISTICS::getDataFromPCB(), PCB_REFERENCE_IMAGE::GetEffectiveShape(), BOARD::GetFootprint(), NL_GERBVIEW_PLUGIN_IMPL::GetModelExtents(), NL_PCBNEW_PLUGIN_IMPL::GetModelExtents(), NL_PL_EDITOR_PLUGIN_IMPL::GetModelExtents(), NL_SCHEMATIC_PLUGIN_IMPL::GetModelExtents(), D_CODE::GetShapeDim(), EDA_TEXT::GetTextBox(), KIGFX::GetTextExtents(), NL_GERBVIEW_PLUGIN_IMPL::GetViewExtents(), NL_PCBNEW_PLUGIN_IMPL::GetViewExtents(), NL_PL_EDITOR_PLUGIN_IMPL::GetViewExtents(), NL_SCHEMATIC_PLUGIN_IMPL::GetViewExtents(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), SCH_JUNCTION::HitTest(), PCB_SELECTION_TOOL::hitTestDistance(), BOARD_ADAPTER::InitSettings(), BOX2< VECTOR2I >::Intersects(), PCB_IO_CADSTAR_ARCHIVE::LoadBoard(), PCB_IO_EAGLE::loadPlain(), SCH_IO_EAGLE::loadSchematic(), DSN::SPECCTRA_DB::makePADSTACK(), SIM_MODEL::MigrateSimModel(), LABEL_MANAGER::nearestBoxCorner(), SCH_TEXT::NormalizeJustification(), ALTIUM_PCB::Parse(), SCH_IO_LTSPICE_PARSER::Parse(), ALTIUM_PCB::ParsePolygons6Data(), SCH_EASYEDA_PARSER::ParseSchematic(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), partitionPolyIntoRegularCellGrid(), PCB_CONTROL::PlaceCharacteristics(), PCB_PLOTTER::Plot(), SCH_SHEET::Plot(), SCH_TEXT::Plot(), SCH_SYMBOL::PlotDNP(), PlotInteractiveLayer(), SCH_PRINTOUT::PrintPage(), KIGFX::PCB_PAINTER::renderNetNameForSegment(), PNS_LOG_VIEWER_FRAME::SetBoard2(), KIGFX::VIEW::SetCenter(), DS_DATA_ITEM_TEXT::SetConstrainedTextSize(), PNS_LOG_VIEWER_FRAME::SetLogFile(), DIALOG_TABLE_PROPERTIES::sizeGridToTable(), SpreadFootprints(), SCH_SELECTION_TOOL::SyncSelection(), SHAPE_GROUP_POINT_EDIT_BEHAVIOR::UpdateItem(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::updateOrthogonalDimension(), KIGFX::WX_VIEW_CONTROLS::UpdateScrollbars(), PANEL_PCBNEW_COLOR_SETTINGS::zoomFitPreview(), PANEL_ZONE_GAL::ZoomFitScreen(), and PCB_SELECTION_TOOL::zoomFitSelection().
|
inlineconstexpr |
|
inlineconstexpr |
Get a new rectangle that is this one, inflated by aDx and aDy.
Definition at line 638 of file box2.h.
Referenced by PCB_CONTROL::ApplyDesignBlockLayout(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), KIGEOM::BoxHitTest(), KIGEOM::BoxHitTest(), BOX2< VECTOR2I >::GetInflated(), MARKER_BASE::HitTestMarker(), MARKER_BASE::HitTestMarker(), EDA_TEXT::TextHitTest(), and EDA_TEXT::TextHitTest().
|
inlineconstexpr |
Definition at line 228 of file box2.h.
Referenced by PCB_IO_IPC2581::addOutlineNode(), AR_AUTOPLACER::addPad(), CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings(), BOOST_AUTO_TEST_CASE(), BOX2ISafe(), KIGEOM::BoxHitTest(), boxIntersectsLine(), KIGEOM::BoxToSegs(), SCH_EDIT_TOOL::ChangeTextType(), KIGEOM::CollectBoxCorners(), TEST_BOARD_ITEM_FIXTURE::CompareItems(), TEST_EE_ITEM_FIXTURE::CompareItems(), PCB_GRID_HELPER::computeAnchors(), ConvertPolygonToBlocks(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawDimension(), PDF_PLOTTER::endPlotEmitResources(), BOX2< VECTOR2I >::FarthestPointTo(), AUTOPLACER::fieldHPlacement(), formatBBox(), PCB_TRACK::GetBoundingBox(), EDA_SHAPE::GetCornersInSequence(), SCH_TEXTBOX::GetDrawPos(), SCH_SHEET::GetMinWidth(), EDIT_TOOL::getSafeMovement(), KIGEOM::GetSegsInDirection(), PL_SELECTION::GetTopLeftItem(), BOX2< VECTOR2I >::Intersects(), IsBOX2Safe(), KIGFX::knockoutText(), SCH_IO_EAGLE::loadSchematic(), CADSTAR_SCH_ARCHIVE_LOADER::loadSymdef(), PNS::NODE::NearestObstacle(), BOX2< VECTOR2I >::NearestPoint(), SCH_IO_LTSPICE_PARSER::Parse(), SCH_EASYEDA_PARSER::ParseSchematic(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), PlotStandardLayer(), BRDITEMS_PLOTTER::PlotText(), DIALOG_PAD_PROPERTIES::redraw(), SHAPE_POLY_SET::SHAPE_POLY_SET(), PNS::WALKAROUND::singleStep(), PIN_LAYOUT_CACHE::transformBoxForPin(), RECTANGLE_POINT_EDIT_BEHAVIOR::UpdateItem(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::updateOrthogonalDimension(), KIGFX::WX_VIEW_CONTROLS::UpdateScrollbars(), DS_PROXY_VIEW_ITEM::ViewDraw(), and KIGFX::ANCHOR_DEBUG::ViewDraw().
|
inlineconstexpr |
Definition at line 210 of file box2.h.
Referenced by PNS_PCBNEW_DEBUG_DECORATOR::AddShape(), boost_test_print_type(), KIFONT::OUTLINE_GLYPH::BoundingBox(), KIGEOM::BoxHitTest(), KIGFX::boxText(), buildBoardBoundingBoxPoly(), BuildBoardPolygonOutlines(), PCB_TEXT::buildBoundingHull(), AR_AUTOPLACER::buildFpAreas(), AR_AUTOPLACER::calculateKeepOutArea(), SCH_EDIT_TOOL::ChangeTextType(), PCB_GRID_HELPER::computeAnchors(), BOX2< VECTOR2I >::Contains(), PNS::ConvexHull(), SCH_IO_LTSPICE_PARSER::CreateKicadSYMBOLs(), KIGFX::PCB_PAINTER::Draw(), KIGFX::DS_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), KIGFX::GAL::DrawRectangle(), drawShapes(), PDF_STROKE_FONT_SUBSET::EnsureGlyph(), SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG(), FillNegativeKnockout(), PCB_SELECTION_TOOL::FindItem(), FOOTPRINT_PREVIEW_PANEL::fitToCurrentFootprint(), PCB_BASE_FRAME::FocusOnItems(), SCH_LABEL::GetBodyBoundingBox(), GERBER_DRAW_ITEM::GetBoundingBox(), PCB_DIM_CENTER::GetBoundingBox(), PCB_DIMENSION_BASE::GetBoundingBox(), SCH_FIELD::GetBoundingBox(), SCH_TEXT::GetBoundingBox(), BOX2< VECTOR2I >::GetBoundingBoxRotated(), NL_GERBVIEW_PLUGIN_IMPL::GetModelExtents(), NL_PCBNEW_PLUGIN_IMPL::GetModelExtents(), NL_PL_EDITOR_PLUGIN_IMPL::GetModelExtents(), NL_SCHEMATIC_PLUGIN_IMPL::GetModelExtents(), AR_AUTOPLACER::getOptimalFPPlacement(), idf_export_outline(), BOX2< VECTOR2I >::Intersects(), KiROUND(), LTSPICE_SCHEMATIC::Load(), SHAPE_GROUP_POINT_EDIT_BEHAVIOR::MakePoints(), EDIT_TOOL::PackAndMoveFootprints(), kiapi::common::PackBox2(), SCH_IO_LTSPICE_PARSER::Parse(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), PCB_IO_EASYEDA_PARSER::ParseFootprint(), PCB_IO_EASYEDAPRO_PARSER::ParseFootprint(), playground_main_func(), PCB_PLOTTER::Plot(), SCH_SHEET::Plot(), SCH_SYMBOL::PlotDNP(), PlotStandardLayer(), primitiveNeedsUpdate(), SVG_PLOTTER::Rect(), KIGFX::VIEW::SetBoundary(), shapeNeedsUpdate(), SpreadFootprints(), AR_AUTOPLACER::testRectangle(), TRANSFORM::TransformCoordinate(), PCB_DIM_ALIGNED::updateGeometry(), PCB_DIM_LEADER::updateGeometry(), PCB_DIM_ORTHOGONAL::updateGeometry(), PCB_DIM_RADIAL::updateGeometry(), SHAPE_GROUP_POINT_EDIT_BEHAVIOR::UpdatePoints(), and PAD::ViewBBox().
|
inlineconstexpr |
Definition at line 211 of file box2.h.
Referenced by EDA_DATA::AddPackage(), SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), LABEL_MANAGER::boxMtv(), SCH_EDIT_TOOL::ChangeTextType(), PDF_PLOTTER::ClosePage(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), drawBacksideTicks(), drawTicksAlongLine(), AUTOPLACER::fitFieldsBetweenWires(), PCB_REFERENCE_IMAGE::GetEffectiveShape(), SELECTION::GetPosition(), EDIT_TOOL::getSafeMovement(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), API_HANDLER_COMMON::handleGetTextExtents(), SCH_JUNCTION::HitTest(), BOX2< VECTOR2I >::Merge(), SCH_MOVE_TOOL::moveSelectionToSheet(), LABEL_MANAGER::nearestBoxCorner(), PCB_SHAPE::Normalize(), SVG_PLOTTER::Rect(), and EDIT_TOOL::Rotate().
|
inlineconstexpr |
Definition at line 217 of file box2.h.
Referenced by SHAPE_INDEX< T >::Add(), SHAPE_INDEX< T >::Add(), ZONE_FILLER::addHatchFillTypeOnZone(), PCB_IO_IPC2581::addOutlineNode(), AR_AUTOPLACER::addPad(), CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings(), BOX2ISafe(), KIGEOM::BoxHitTest(), boxIntersectsLine(), KIGEOM::BoxToSegs(), PCB_TEXT::buildBoundingHull(), CN_ZONE_LAYER::BuildRTree(), SCH_EDIT_TOOL::ChangeTextType(), DRC_RTREE::CheckColliding(), ClipLine(), clipOutCode(), KIGEOM::CollectBoxCorners(), CN_ZONE_LAYER::Collide(), TEST_BOARD_ITEM_FIXTURE::CompareItems(), TEST_EE_ITEM_FIXTURE::CompareItems(), PCB_GRID_HELPER::computeAnchors(), EE_RTREE::contains(), ConvertPolygonToBlocks(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawDimension(), DRC_RTREE::DRC_LAYER::DRC_LAYER(), EE_RTREE::EE_TYPE::EE_TYPE(), PDF_PLOTTER::endPlotEmitResources(), BOX2< VECTOR2I >::FarthestPointTo(), AUTOPLACER::fieldBoxPlacement(), AUTOPLACER::fieldHPlacement(), formatBBox(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), PCB_DIMENSION_BASE::GetBoundingBox(), PCB_TRACK::GetBoundingBox(), KIFONT::OUTLINE_FONT::getBoundingBox(), EDA_SHAPE::GetCornersInSequence(), SCH_TEXTBOX::GetDrawPos(), BOX2< VECTOR2I >::GetEnd(), SCH_SHEET::GetMinWidth(), EDIT_TOOL::getSafeMovement(), KIGEOM::GetSegsInDirection(), CN_RTREE< T >::Insert(), DRC_RTREE::Insert(), KIGFX::VIEW_RTREE::Insert(), EE_RTREE::insert(), BOX2< VECTOR2I >::Intersects(), IsBOX2Safe(), KIGFX::knockoutText(), PNS::NODE::NearestObstacle(), BOX2< VECTOR2I >::NearestPoint(), PlotStandardLayer(), BRDITEMS_PLOTTER::PlotText(), CN_RTREE< T >::Query(), KIGFX::VIEW_RTREE::Query(), SHAPE_INDEX< ITEM * >::Query(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryCollidingPairs(), DIALOG_PAD_PROPERTIES::redraw(), SHAPE_INDEX< T >::Reindex(), CN_RTREE< T >::Remove(), KIGFX::VIEW_RTREE::Remove(), SHAPE_INDEX< T >::Remove(), EE_RTREE::remove(), SHAPE_POLY_SET::SHAPE_POLY_SET(), PNS::WALKAROUND::singleStep(), PIN_LAYOUT_CACHE::transformBoxForPin(), EDA_SHAPE::UpdateHatching(), RECTANGLE_POINT_EDIT_BEHAVIOR::UpdateItem(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::updateOrthogonalDimension(), and KIGFX::WX_VIEW_CONTROLS::UpdateScrollbars().
Definition at line 206 of file box2.h.
Referenced by PNS_PCBNEW_DEBUG_DECORATOR::AddShape(), SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), boost_test_print_type(), KIFONT::OUTLINE_GLYPH::BoundingBox(), PNS::ConvexHull(), SCH_IO_LTSPICE_PARSER::CreateKicadSYMBOLs(), PAD::doCheckPad(), COMMON_TOOLS::doZoomFit(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), drawBacksideTicks(), drawShapes(), drawTicksAlongLine(), PDF_STROKE_FONT_SUBSET::EnsureGlyph(), SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG(), PCB_SELECTION_TOOL::FindItem(), FOOTPRINT_PREVIEW_PANEL::fitToCurrentFootprint(), MARKER_BASE::GetBoundingBoxMarker(), EDIT_TOOL::getSafeMovement(), API_HANDLER_COMMON::handleGetTextExtents(), idf_export_outline(), initializePlotter(), BOARD_ADAPTER::InitSettings(), KiROUND(), CADSTAR_SCH_ARCHIVE_LOADER::Load(), LTSPICE_SCHEMATIC::Load(), SCH_IO_EAGLE::loadSheet(), BOX2< VECTOR2I >::Merge(), kiapi::common::PackBox2(), SCH_IO_LTSPICE_PARSER::Parse(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), playground_main_func(), BRDITEMS_PLOTTER::PlotPadNumber(), SVG_PLOTTER::Rect(), DIALOG_PAD_PROPERTIES::redraw(), KIGFX::VIEW::SetViewport(), PAD::ViewBBox(), PAD::ViewGetLOD(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), SCH_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PANEL_PCBNEW_COLOR_SETTINGS::zoomFitPreview(), PANEL_ZONE_GAL::ZoomFitScreen(), and PCB_SELECTION_TOOL::zoomFitSelection().
|
inlineconstexpr |
Definition at line 235 of file box2.h.
Referenced by BOARD_ADAPTER::addShape(), SCH_LABEL_BASE::AutoplaceFields(), and ZONE_FILLER::fillCopperZone().
|
inlineconstexpr |
Definition at line 229 of file box2.h.
Referenced by PCB_IO_IPC2581::addOutlineNode(), AR_AUTOPLACER::addPad(), CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings(), FOOTPRINT::AutoPositionFields(), BOOST_AUTO_TEST_CASE(), BOX2ISafe(), KIGEOM::BoxHitTest(), boxIntersectsLine(), KIGEOM::BoxToSegs(), SCH_EDIT_TOOL::ChangeTextType(), KIGEOM::CollectBoxCorners(), TEST_BOARD_ITEM_FIXTURE::CompareItems(), TEST_EE_ITEM_FIXTURE::CompareItems(), PCB_GRID_HELPER::computeAnchors(), ConvertPolygonToBlocks(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), AUTOPLACER::DoAutoplace(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawDimension(), PDF_PLOTTER::endPlotEmitResources(), BOX2< VECTOR2I >::FarthestPointTo(), AUTOPLACER::fieldBoxPlacement(), formatBBox(), PCB_TRACK::GetBoundingBox(), EDA_SHAPE::GetCornersInSequence(), SCH_TEXTBOX::GetDrawPos(), SCH_SHEET::GetMinHeight(), EDIT_TOOL::getSafeMovement(), KIGEOM::GetSegsInDirection(), PL_SELECTION::GetTopLeftItem(), BOX2< VECTOR2I >::Intersects(), IsBOX2Safe(), KIGFX::knockoutText(), PNS::NODE::NearestObstacle(), BOX2< VECTOR2I >::NearestPoint(), SCH_IO_LTSPICE_PARSER::Parse(), SCH_EASYEDA_PARSER::ParseSchematic(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), PlotStandardLayer(), BRDITEMS_PLOTTER::PlotText(), DIALOG_PAD_PROPERTIES::redraw(), SHAPE_POLY_SET::SHAPE_POLY_SET(), PNS::WALKAROUND::singleStep(), PIN_LAYOUT_CACHE::transformBoxForPin(), RECTANGLE_POINT_EDIT_BEHAVIOR::UpdateItem(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::updateOrthogonalDimension(), KIGFX::WX_VIEW_CONTROLS::UpdateScrollbars(), DS_PROXY_VIEW_ITEM::ViewDraw(), and KIGFX::ANCHOR_DEBUG::ViewDraw().
Definition at line 214 of file box2.h.
Referenced by GERBER_JOBFILE_WRITER::addJSONGeneralSpecs(), AUTOPLACE_TOOL::autoplace(), SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), LABEL_MANAGER::boxMtv(), buildBoardBoundingBoxPoly(), BuildBoardPolygonOutlines(), PNS::DP_GATEWAYS::BuildFromPrimitivePair(), ZONE_FILLER::buildThermalSpokes(), PCB_IO_EAGLE::centerBoard(), AUTOPLACER::computeFBoxSize(), PNS::ConvexHull(), GENCAD_EXPORTER::createComponentsSection(), SCH_GLOBALLABEL::CreateGraphicShape(), PNS::OPTIMIZER::customBreakouts(), COMMON_TOOLS::doCenter(), PAD::doCheckPad(), SCH_MOVE_TOOL::doMoveSelection(), EESCHEMA_JOBS_HANDLER::doSymExportSvg(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomFit(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawDimension(), BOARD_PRINTOUT::DrawPage(), BOARD_NETLIST_UPDATER::estimateFootprintInsertionPosition(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), PCB_SELECTION_TOOL::FindItem(), PCB_BASE_FRAME::FocusOnItems(), EDA_DRAW_FRAME::FocusOnLocation(), GENDRILL_WRITER_BASE::genDrillMapFile(), AR_AUTOPLACER::genPlacementRoutingMatrix(), DS_DRAW_ITEM_TEXT::GetApproxBBox(), BOX2< VECTOR2I >::GetArea(), FOOTPRINT::GetArea(), PANEL_ZONE_GAL::GetBoardBoundingBox(), PCB_BASE_FRAME::GetBoardBoundingBox(), SCH_HIERLABEL::GetBodyBoundingBox(), GERBER_DRAW_ITEM::GetBoundingBox(), DIALOG_BOARD_STATISTICS::getDataFromPCB(), PCB_REFERENCE_IMAGE::GetEffectiveShape(), EDA_TEXT::GetEffectiveTextShape(), BOARD::GetFootprint(), NL_GERBVIEW_PLUGIN_IMPL::GetModelExtents(), NL_PCBNEW_PLUGIN_IMPL::GetModelExtents(), NL_PL_EDITOR_PLUGIN_IMPL::GetModelExtents(), NL_SCHEMATIC_PLUGIN_IMPL::GetModelExtents(), D_CODE::GetShapeDim(), EDA_TEXT::GetTextBox(), KIGFX::GetTextExtents(), NL_GERBVIEW_PLUGIN_IMPL::GetViewExtents(), NL_PCBNEW_PLUGIN_IMPL::GetViewExtents(), NL_PL_EDITOR_PLUGIN_IMPL::GetViewExtents(), NL_SCHEMATIC_PLUGIN_IMPL::GetViewExtents(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), SCH_JUNCTION::HitTest(), PCB_SELECTION_TOOL::hitTestDistance(), BOARD_ADAPTER::InitSettings(), BOX2< VECTOR2I >::Intersects(), PCB_IO_CADSTAR_ARCHIVE::LoadBoard(), PCB_IO_EAGLE::loadPlain(), SCH_IO_EAGLE::loadSchematic(), DSN::SPECCTRA_DB::makePADSTACK(), SIM_MODEL::MigrateSimModel(), LABEL_MANAGER::nearestBoxCorner(), SCH_TEXT::NormalizeJustification(), ALTIUM_PCB::Parse(), SCH_IO_LTSPICE_PARSER::Parse(), ALTIUM_PCB::ParsePolygons6Data(), SCH_EASYEDA_PARSER::ParseSchematic(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), partitionPolyIntoRegularCellGrid(), PCB_CONTROL::PlaceCharacteristics(), PCB_PLOTTER::Plot(), SCH_SHEET::Plot(), SCH_SYMBOL::PlotDNP(), PlotInteractiveLayer(), SCH_PRINTOUT::PrintPage(), KIGFX::PCB_PAINTER::renderNetNameForSegment(), PNS_LOG_VIEWER_FRAME::SetBoard2(), KIGFX::VIEW::SetCenter(), DS_DATA_ITEM_TEXT::SetConstrainedTextSize(), PNS_LOG_VIEWER_FRAME::SetLogFile(), DIALOG_TABLE_PROPERTIES::sizeGridToTable(), SpreadFootprints(), SCH_SELECTION_TOOL::SyncSelection(), PCB_DIM_LEADER::updateGeometry(), SHAPE_GROUP_POINT_EDIT_BEHAVIOR::UpdateItem(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::updateOrthogonalDimension(), KIGFX::WX_VIEW_CONTROLS::UpdateScrollbars(), DS_PROXY_VIEW_ITEM::ViewDraw(), GERBER_DRAW_ITEM::ViewGetLOD(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), SCH_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PANEL_PCBNEW_COLOR_SETTINGS::zoomFitPreview(), PANEL_ZONE_GAL::ZoomFitScreen(), and PCB_SELECTION_TOOL::zoomFitSelection().
|
inlineconstexpr |
Definition at line 270 of file box2.h.
Referenced by BOOST_AUTO_TEST_CASE().
|
inlineconstexpr |
Definition at line 207 of file box2.h.
Referenced by SHAPE_INDEX< T >::Add(), SHAPE_INDEX< T >::Add(), ZONE_FILLER::addHatchFillTypeOnZone(), CN_ZONE_LAYER::BuildRTree(), PCB_IO_EAGLE::centerBoard(), DRC_RTREE::CheckColliding(), ClipLine(), CN_ZONE_LAYER::Collide(), EE_RTREE::contains(), PNS::ConvexHull(), SCH_MOVE_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRC_RTREE::DRC_LAYER::DRC_LAYER(), EE_RTREE::EE_TYPE::EE_TYPE(), GENDRILL_WRITER_BASE::genDrillMapFile(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), PLACE_FILE_EXPORTER::GenReportData(), PCB_DIMENSION_BASE::GetBoundingBox(), KIFONT::OUTLINE_FONT::getBoundingBox(), BOARD::GetFootprint(), BOX2< VECTOR2I >::GetLeft(), EDA_TEXT::GetTextBox(), KIGFX::GetTextExtents(), CN_RTREE< T >::Insert(), DRC_RTREE::Insert(), KIGFX::VIEW_RTREE::Insert(), EE_RTREE::insert(), PCB_IO_CADSTAR_ARCHIVE::LoadBoard(), ALTIUM_PCB::Parse(), partitionPolyIntoRegularCellGrid(), SCH_SHEET::Plot(), SCH_SYMBOL::PlotDNP(), CN_RTREE< T >::Query(), KIGFX::VIEW_RTREE::Query(), SHAPE_INDEX< ITEM * >::Query(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryCollidingPairs(), SHAPE_INDEX< T >::Reindex(), CN_RTREE< T >::Remove(), KIGFX::VIEW_RTREE::Remove(), SHAPE_INDEX< T >::Remove(), EE_RTREE::remove(), and EDA_SHAPE::UpdateHatching().
|
inlineconstexpr |
Definition at line 208 of file box2.h.
Referenced by SHAPE_INDEX< T >::Add(), SHAPE_INDEX< T >::Add(), ZONE_FILLER::addHatchFillTypeOnZone(), CN_ZONE_LAYER::BuildRTree(), PCB_IO_EAGLE::centerBoard(), DRC_RTREE::CheckColliding(), ClipLine(), CN_ZONE_LAYER::Collide(), EE_RTREE::contains(), PNS::ConvexHull(), SCH_MOVE_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRC_RTREE::DRC_LAYER::DRC_LAYER(), EE_RTREE::EE_TYPE::EE_TYPE(), AR_AUTOPLACER::fillMatrix(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), PLACE_FILE_EXPORTER::GenReportData(), PCB_DIMENSION_BASE::GetBoundingBox(), KIFONT::OUTLINE_FONT::getBoundingBox(), BOARD::GetFootprint(), EDA_TEXT::GetTextBox(), KIGFX::GetTextExtents(), BOX2< VECTOR2I >::GetTop(), CN_RTREE< T >::Insert(), DRC_RTREE::Insert(), KIGFX::VIEW_RTREE::Insert(), EE_RTREE::insert(), PCB_IO_CADSTAR_ARCHIVE::LoadBoard(), SCH_IO_EAGLE::loadSchematic(), ALTIUM_PCB::Parse(), partitionPolyIntoRegularCellGrid(), SCH_SHEET::Plot(), SCH_SYMBOL::PlotDNP(), CN_RTREE< T >::Query(), KIGFX::VIEW_RTREE::Query(), SHAPE_INDEX< ITEM * >::Query(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryCollidingPairs(), SHAPE_INDEX< T >::Reindex(), CN_RTREE< T >::Remove(), KIGFX::VIEW_RTREE::Remove(), SHAPE_INDEX< T >::Remove(), EE_RTREE::remove(), and EDA_SHAPE::UpdateHatching().
|
inlineconstexpr |
|
inlineconstexpr |
Inflates the rectangle horizontally by dx and vertically by dy.
If dx and/or dy is negative the rectangle is deflated.
Definition at line 558 of file box2.h.
Referenced by AR_AUTOPLACER::addPad(), FOOTPRINT::AutoPositionFields(), SHAPE_ARC::BBox(), SHAPE_LINE_CHAIN::BBox(), SHAPE_POLY_SET::BBox(), SHAPE_POLY_SET::TRIANGULATED_POLYGON::TRI::BBox(), SHAPE_SEGMENT::BBox(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), KIGFX::boxText(), buildBoardBoundingBoxPoly(), BuildBoardPolygonOutlines(), ZONE_FILLER::buildCopperItemClearances(), AR_AUTOPLACER::buildFpAreas(), ZONE_FILLER::buildThermalSpokes(), PNS::LINE::ChangedArea(), SCH_EDIT_TOOL::ChangeTextType(), DRC_RTREE::CheckColliding(), EE_RTREE::contains(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), drawBacksideTicks(), drawShapes(), drawTicksAlongLine(), DRAWING_TOOL::DrawVia(), SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG(), ZONE_FILLER::Fill(), FillNegativeKnockout(), EDA_DRAW_FRAME::FocusOnLocation(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), DS_DRAW_ITEM_TEXT::GetApproxBBox(), SCH_LABEL::GetBodyBoundingBox(), SCH_LABEL_BASE::GetBodyBoundingBox(), SCH_SHEET::GetBodyBoundingBox(), BITMAP_BASE::GetBoundingBox(), FOOTPRINT::GetBoundingBox(), GERBER_DRAW_ITEM::GetBoundingBox(), PCB_DIM_CENTER::GetBoundingBox(), PCB_DIMENSION_BASE::GetBoundingBox(), PCB_GROUP::GetBoundingBox(), PCB_TEXT::GetBoundingBox(), SCH_BUS_ENTRY_BASE::GetBoundingBox(), SCH_GROUP::GetBoundingBox(), SCH_JUNCTION::GetBoundingBox(), SCH_NO_CONNECT::GetBoundingBox(), EDA_SHAPE::getBoundingBox(), BOX2< VECTOR2I >::GetInflated(), ZONE::GetInteractingZones(), SCH_SCREEN::GetItem(), PIN_LAYOUT_CACHE::GetPinBoundingBox(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), DS_DRAW_ITEM_BASE::HitTest(), DS_DRAW_ITEM_BITMAP::HitTest(), DS_DRAW_ITEM_POLYPOLYGONS::HitTest(), DS_DRAW_ITEM_RECT::HitTest(), FOOTPRINT::HitTest(), FOOTPRINT::HitTest(), PAD::HitTest(), PCB_ARC::HitTest(), PCB_DIMENSION_BASE::HitTest(), PCB_TABLE::HitTest(), PCB_TABLE::HitTest(), PCB_TARGET::HitTest(), PCB_TEXTBOX::HitTest(), PCB_TEXTBOX::HitTest(), PCB_TRACK::HitTest(), PCB_TUNING_PATTERN::HitTest(), PCB_VIA::HitTest(), SCH_BUS_ENTRY_BASE::HitTest(), SCH_FIELD::HitTest(), SCH_FIELD::HitTest(), SCH_JUNCTION::HitTest(), SCH_LABEL_BASE::HitTest(), SCH_LABEL_BASE::HitTest(), SCH_LINE::HitTest(), SCH_NO_CONNECT::HitTest(), SCH_PIN::HitTest(), SCH_PIN::HitTest(), SCH_SHEET::HitTest(), SCH_SHEET::HitTest(), SCH_SHEET_PIN::HitTest(), SCH_SYMBOL::HitTest(), SCH_SYMBOL::HitTest(), SCH_TABLE::HitTest(), SCH_TABLE::HitTest(), SCH_TEXT::HitTest(), SCH_TEXT::HitTest(), SCH_TEXTBOX::HitTest(), SCH_TEXTBOX::HitTest(), ZONE::HitTest(), EDA_SHAPE::hitTest(), BOX2< VECTOR2I >::Inflate(), BOARD_ADAPTER::InitSettings(), DRC_RTREE::Insert(), EE_RTREE::insert(), BOX2< VECTOR2I >::Intersects(), ZONE_FILLER::knockoutThermalReliefs(), DRC_RTREE::Overlapping(), EE_RTREE::Overlapping(), EE_RTREE::Overlapping(), PCB_IO_EASYEDA_PARSER::ParseFootprint(), PCB_IO_EASYEDAPRO_PARSER::ParseFootprint(), SCH_IO_ALTIUM::ParsePortHelper(), SCH_LINE::Plot(), SCH_SHEET::Plot(), SCH_SYMBOL::PlotDNP(), PlotInteractiveLayer(), SHAPE_INDEX< ITEM * >::Query(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryColliding(), DRC_RTREE::QueryCollidingPairs(), DIALOG_PAD_PROPERTIES::redraw(), PCB_EDIT_FRAME::redrawNetnames(), EE_RTREE::remove(), PCB_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectionContains(), PNS_LOG_VIEWER_FRAME::SetBoard2(), PNS_LOG_VIEWER_FRAME::SetLogFile(), SpreadFootprints(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), AR_AUTOPLACER::testFootprintOnBoard(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testKnockoutTextAgainstZone(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), AR_AUTOPLACER::testRectangle(), PCB_TEXT::TextHitTest(), PCB_TEXT::TextHitTest(), PCB_DIM_ALIGNED::updateGeometry(), PCB_DIM_LEADER::updateGeometry(), PCB_DIM_ORTHOGONAL::updateGeometry(), PCB_DIM_RADIAL::updateGeometry(), FOOTPRINT::ViewBBox(), PCB_SHAPE::ViewBBox(), PCB_TRACK::ViewBBox(), ROUTER_PREVIEW_ITEM::ViewBBox(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), and SCH_SELECTION_TOOL::ZoomFitCrossProbeBBox().
Definition at line 311 of file box2.h.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), KIGEOM::BoxHitTest(), boxIntersectsLine(), LABEL_MANAGER::boxMtv(), ZONE_FILLER::buildCopperItemClearances(), ZONE_FILLER::buildThermalSpokes(), CN_VISITOR::checkZoneZoneConnection(), Collide(), enclosedByAreaFunc(), ZONE_FILLER::Fill(), AUTOPLACER::filterCollisions(), DS_DRAW_ITEM_BASE::HitTest(), DS_DRAW_ITEM_POLYPOLYGONS::HitTest(), DS_DRAW_ITEM_RECT::HitTest(), FOOTPRINT::HitTest(), PAD::HitTest(), PCB_ARC::HitTest(), PCB_DIMENSION_BASE::HitTest(), PCB_TABLE::HitTest(), PCB_TARGET::HitTest(), PCB_TEXTBOX::HitTest(), PCB_TRACK::HitTest(), PCB_TUNING_PATTERN::HitTest(), SCH_BUS_ENTRY_BASE::HitTest(), SCH_FIELD::HitTest(), SCH_LABEL_BASE::HitTest(), SCH_LINE::HitTest(), SCH_NO_CONNECT::HitTest(), SCH_PIN::HitTest(), SCH_SHEET::HitTest(), SCH_SYMBOL::HitTest(), SCH_TABLE::HitTest(), SCH_TEXT::HitTest(), SCH_TEXTBOX::HitTest(), ZONE::HitTest(), EDA_SHAPE::hitTest(), MARKER_BASE::HitTestMarker(), SHAPE_LINE_CHAIN::Intersect(), BOX2< VECTOR2I >::Intersects(), intersectsAreaFunc(), ZONE_FILLER::knockoutThermalReliefs(), FABMASTER::loadZones(), DRC_TEST_PROVIDER_DISALLOW::Run(), SCH_SELECTION_TOOL::SelectMultiple(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testKnockoutTextAgainstZone(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), BOARD::TestZoneIntersection(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), EDA_TEXT::TextHitTest(), PCB_TEXT::TextHitTest(), KIGFX::PCB_VIEW::UpdateCollidingItems(), PCB_SHAPE::UpdateHatching(), and DS_PROXY_VIEW_ITEM::ViewDraw().
|
inline |
|
inline |
Definition at line 504 of file box2.h.
Referenced by PCB_VIA::HitTest(), and BOX2< VECTOR2I >::IntersectsCircleEdge().
|
inline |
Definition at line 523 of file box2.h.
Referenced by EDA_SHAPE::hitTest().
|
inlineconstexpr |
Definition at line 909 of file box2.h.
Referenced by doConvertOutlineToPolygon(), GRAPHICS_IMPORTER_BUFFER::ImportTo(), and EDIT_TOOL::updateModificationPoint().
Modify the position and size of the rectangle in order to contain aRect.
aRect | is the rectangle to merge with this rectangle. |
Definition at line 658 of file box2.h.
Referenced by PCB_IO_IPC2581::addOutlineNode(), PNS::TOPOLOGY::AssembleCluster(), SHAPE_COMPOUND::BBox(), SHAPE_POLY_SET::BBox(), SHAPE_POLY_SET::TRIANGULATED_POLYGON::TRI::BBox(), SHAPE_POLY_SET::BBoxFromCaches(), BOOST_AUTO_TEST_CASE(), PNS::ARC::ChangedArea(), PNS::VIA::ChangedArea(), EDA_SHAPE::computeArcBBox(), BOARD::ComputeBoundingBox(), GBR_LAYOUT::ComputeBoundingBox(), PCB_DESIGN_BLOCK_PREVIEW_WIDGET::DisplayDesignBlock(), SCH_DESIGN_BLOCK_PREVIEW_WIDGET::DisplayDesignBlock(), SCH_SYMBOL::doGetBoundingBox(), EDIT_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), drawMarkup(), drawShapes(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), PNS::extendBox(), AUTOPLACER::fieldBoxPlacement(), ZONE_FILLER::fillCopperZone(), LIB_SYMBOL::GetBodyBoundingBox(), SCH_LABEL::GetBodyBoundingBox(), SCH_LABEL_BASE::GetBodyBoundingBox(), FOOTPRINT::GetBoundingBox(), IMPORTED_ARC::GetBoundingBox(), IMPORTED_CIRCLE::GetBoundingBox(), IMPORTED_LINE::GetBoundingBox(), IMPORTED_POLYGON::GetBoundingBox(), IMPORTED_SPLINE::GetBoundingBox(), IMPORTED_TEXT::GetBoundingBox(), NETINFO_ITEM::GetBoundingBox(), PCB_GROUP::GetBoundingBox(), PCB_MARKER::GetBoundingBox(), PCB_SELECTION::GetBoundingBox(), PCB_TABLE::GetBoundingBox(), SCH_GROUP::GetBoundingBox(), SCH_LABEL_BASE::GetBoundingBox(), SCH_SELECTION::GetBoundingBox(), SCH_SHEET::GetBoundingBox(), SCH_TABLE::GetBoundingBox(), SELECTION::GetBoundingBox(), EDA_SHAPE::getBoundingBox(), GERBVIEW_SELECTION::GetCenter(), SCH_TABLE::GetCenter(), SELECTION::GetCenter(), SCH_EDIT_FRAME::GetDocumentExtents(), FOOTPRINT::GetFpPadsLocalBbox(), SVG_IMPORT_PLUGIN::GetImageBBox(), FOOTPRINT::GetLayerBoundingBox(), PIN_LAYOUT_CACHE::GetPinBoundingBox(), AUTOPLACER::getPossibleCollisions(), getSheetBbox(), PNS_TEST_DEBUG_DECORATOR::GetStageExtents(), KIFONT::OUTLINE_FONT::getTextAsGlyphsUnlocked(), LIB_SYMBOL::GetUnitBoundingBox(), PCB_ARC::HitTest(), CADSTAR_SCH_ARCHIVE_LOADER::Load(), SCH_MOVE_TOOL::moveSelectionToSheet(), EDIT_TOOL::PackAndMoveFootprints(), SCH_IO_LTSPICE_PARSER::Parse(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), SCH_EASYEDA_PARSER::ParseSchematic(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), playground_main_func(), EDIT_TOOL::Rotate(), SHAPE_LINE_CHAIN::Slice(), SpreadFootprints(), LTSPICE_SCHEMATIC::StructureBuilder(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::testCourtyardClearances(), SCH_EDIT_FRAME::TrimWire(), EDIT_TOOL::updateModificationPoint(), EDIT_POINTS::ViewBBox(), GERBVIEW_SELECTION::ViewBBox(), KIGFX::VIEW_GROUP::ViewBBox(), PCB_DIMENSION_BASE::ViewBBox(), and ROUTER_PREVIEW_ITEM::ViewBBox().
|
inlineconstexpr |
Move the rectangle by the aMoveVector.
aMoveVector | is a point that is the value to move this rectangle. |
Definition at line 138 of file box2.h.
Referenced by LABEL_MANAGER::boxMtv(), DRAWING_TOOL::DrawVia(), SCH_FIELD::GetBoundingBox(), AR_AUTOPLACER::getOptimalFPPlacement(), PIN_LAYOUT_CACHE::getUntransformedPinNameBox(), BOX2< VECTOR2I >::GetWithOffset(), SHAPE_COMPOUND::Move(), PlotInteractiveLayer(), DIALOG_PAD_PROPERTIES::redraw(), AR_AUTOPLACER::testFootprintOnBoard(), and PIN_LAYOUT_CACHE::transformBoxForPin().
|
inlineconstexpr |
Return the point in this rect that is closest to the provided point.
Definition at line 851 of file box2.h.
Referenced by BOX2< VECTOR2I >::IntersectsCircle(), SHAPE_ARC::NearestPoints(), and PNS::LINE_PLACER::rhMarkObstacles().
Ensure that the height and width are positive.
Definition at line 146 of file box2.h.
Referenced by BOOST_AUTO_TEST_CASE(), BOX2< VECTOR2I >::BOX2(), LABEL_MANAGER::boxMtv(), GBR_LAYOUT::ComputeBoundingBox(), PNS::ConvexHull(), SCH_SYMBOL::doGetBoundingBox(), BOX2< VECTOR2I >::FarthestPointTo(), SCH_HIERLABEL::GetBodyBoundingBox(), SCH_LABEL::GetBodyBoundingBox(), SCH_LABEL_BASE::GetBodyBoundingBox(), GERBER_DRAW_ITEM::GetBoundingBox(), PCB_DIM_CENTER::GetBoundingBox(), PCB_DIMENSION_BASE::GetBoundingBox(), SCH_BUS_ENTRY_BASE::GetBoundingBox(), SCH_FIELD::GetBoundingBox(), SCH_LABEL_BASE::GetBoundingBox(), SCH_TEXT::GetBoundingBox(), EDA_SHAPE::getBoundingBox(), KIFONT::OUTLINE_FONT::getBoundingBox(), EDA_SHAPE::GetCornersInSequence(), SCH_TEXTBOX::GetDrawPos(), NL_GERBVIEW_PLUGIN_IMPL::GetModelExtents(), NL_PCBNEW_PLUGIN_IMPL::GetModelExtents(), NL_PL_EDITOR_PLUGIN_IMPL::GetModelExtents(), NL_SCHEMATIC_PLUGIN_IMPL::GetModelExtents(), PIN_LAYOUT_CACHE::GetPinBoundingBox(), KIFONT::STROKE_FONT::GetTextAsGlyphs(), EDA_TEXT::GetTextBox(), KIGFX::GetTextExtents(), KIGFX::VIEW::GetViewport(), PAD::HitTest(), ZONE::HitTest(), EDA_SHAPE::hitTest(), BOX2< VECTOR2I >::Intersect(), BOX2< VECTOR2I >::Intersects(), BOX2< VECTOR2I >::IntersectsCircleEdge(), BOX2< VECTOR2I >::Merge(), BOX2< VECTOR2I >::Merge(), BOX2< VECTOR2I >::NearestPoint(), PCB_SHAPE::Normalize(), EDIT_TOOL::PackAndMoveFootprints(), BRDITEMS_PLOTTER::PlotShape(), primitiveNeedsUpdate(), DXF_PLOTTER::Rect(), GERBER_PLOTTER::Rect(), PDF_PLOTTER::Rect(), PS_PLOTTER::Rect(), SVG_PLOTTER::Rect(), KIGFX::VIEW::Redraw(), KIGFX::PCB_PAINTER::renderNetNameForSegment(), SCH_SELECTION_TOOL::SelectCellsBetween(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectTableCells(), shapeNeedsUpdate(), STROKE_PARAMS::Stroke(), KIGFX::PREVIEW::SELECTION_AREA::ViewBBox(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), and SCH_SELECTION_TOOL::ZoomFitCrossProbeBBox().
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 259 of file box2.h.
Referenced by SCH_IO_LTSPICE_PARSER::CreateKicadSYMBOLs(), SCH_SYMBOL::doGetBoundingBox(), KIGFX::SCH_PAINTER::draw(), DS_DRAW_ITEM_TEXT::GetApproxBBox(), SCH_LABEL::GetBodyBoundingBox(), SCH_LABEL_BASE::GetBoundingBox(), PIN_LAYOUT_CACHE::GetPinBoundingBox(), EDIT_TOOL::getSafeMovement(), EDA_TEXT::GetTextBox(), SCH_FIELD::HitTest(), SCH_FIELD::HitTest(), SCH_FIELD::HitTest(), SCH_LABEL_BASE::HitTest(), SCH_LABEL_BASE::HitTest(), SCH_LABEL_BASE::HitTest(), BOX2< VECTOR2I >::Offset(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), and SCH_FIELD::Plot().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 297 of file box2.h.
Referenced by boxIntersectsLine(), SCH_EDIT_TOOL::ChangeTextType(), PDF_PLOTTER::ClosePage(), PANEL_ZONE_GAL::GetBoardBoundingBox(), PCB_BASE_FRAME::GetBoardBoundingBox(), SCH_LABEL::GetBodyBoundingBox(), SCH_SHEET::GetBodyBoundingBox(), GERBER_DRAW_ITEM::GetBoundingBox(), SCH_BUS_ENTRY_BASE::GetBoundingBox(), SCH_FIELD::GetBoundingBox(), SCH_TEXT::GetBoundingBox(), EDA_SHAPE::getBoundingBox(), KIFONT::OUTLINE_FONT::getBoundingBox(), BOX2< VECTOR2I >::GetBoundingBoxRotated(), DXF_IMPORT_PLUGIN::GetImageBBox(), SVG_IMPORT_PLUGIN::GetImageBBox(), KIFONT::OUTLINE_FONT::GetTextAsGlyphs(), KIFONT::STROKE_FONT::GetTextAsGlyphs(), KIGFX::VIEW::GetViewport(), BOX2< VECTOR2I >::Merge(), BOX2< VECTOR2I >::Merge(), KIGFX::PCB_PAINTER::renderNetNameForSegment(), BOX2< VECTOR2I >::SetEnd(), TRANSFORM::TransformCoordinate(), DS_PROXY_VIEW_ITEM::ViewBBox(), EDIT_POINTS::ViewBBox(), and KIGFX::PREVIEW::SELECTION_AREA::ViewBBox().
Definition at line 292 of file box2.h.
Referenced by DS_DRAW_ITEM_TEXT::GetApproxBBox(), PCB_DIM_CENTER::GetBoundingBox(), PCB_DIMENSION_BASE::GetBoundingBox(), PCB_TARGET::GetBoundingBox(), DS_DRAW_ITEM_RECT::HitTest(), PARAM_VIEWPORT::jsonToViewports(), PNS_LOG_VIEWER_FRAME::SetBoard2(), and PNS_LOG_VIEWER_FRAME::SetLogFile().
|
inlineconstexpr |
Definition at line 80 of file box2.h.
Referenced by KIGFX::VIEW::Clear(), KIGFX::VIEW::clearGroupCache(), KIGFX::VIEW_RTREE::Query(), KIGFX::VIEW::RecacheAllItems(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), KIGFX::VIEW::UpdateLayerColor(), DS_PROXY_VIEW_ITEM::ViewBBox(), KIGFX::ANCHOR_DEBUG::ViewBBox(), KIGFX::CONSTRUCTION_GEOM::ViewBBox(), KIGFX::ORIGIN_VIEWITEM::ViewBBox(), KIGFX::PREVIEW::ARC_ASSISTANT::ViewBBox(), KIGFX::PREVIEW::BEZIER_ASSISTANT::ViewBBox(), KIGFX::PREVIEW::RULER_ITEM::ViewBBox(), KIGFX::PREVIEW::TWO_POINT_ASSISTANT::ViewBBox(), KIGFX::VIEW_GROUP::ViewBBox(), KIGFX::VIEW_OVERLAY::ViewBBox(), MY_DRAWING::ViewBBox(), RATSNEST_VIEW_ITEM::ViewBBox(), RECT_RADIUS_TEXT_ITEM::ViewBBox(), ROUTER_STATUS_VIEW_ITEM::ViewBBox(), SELECTION::ViewBBox(), and TUNING_STATUS_VIEW_ITEM::ViewBBox().
|
inlineconstexpr |
Definition at line 237 of file box2.h.
Referenced by LABEL_MANAGER::Add(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), boxIntersectsLine(), SCH_EDIT_TOOL::ChangeTextType(), PDF_PLOTTER::ClosePage(), BOX2< VECTOR2I >::Compute(), EDA_SHAPE::computeArcBBox(), AUTOPLACER::fitFieldsBetweenWires(), PANEL_ZONE_GAL::GetBoardBoundingBox(), PCB_BASE_FRAME::GetBoardBoundingBox(), SCH_LABEL::GetBodyBoundingBox(), DS_DRAW_ITEM_BITMAP::GetBoundingBox(), GERBER_DRAW_ITEM::GetBoundingBox(), SCH_FIELD::GetBoundingBox(), SCH_TEXT::GetBoundingBox(), EDA_SHAPE::getBoundingBox(), KIFONT::OUTLINE_FONT::getBoundingBox(), BOX2< VECTOR2I >::GetBoundingBoxRotated(), DXF_IMPORT_PLUGIN::GetImageBBox(), SVG_IMPORT_PLUGIN::GetImageBBox(), SCH_SCREEN::GetItem(), AR_AUTOPLACER::getOptimalFPPlacement(), KIFONT::OUTLINE_FONT::GetTextAsGlyphs(), KIFONT::STROKE_FONT::GetTextAsGlyphs(), EDA_TEXT::GetTextBox(), KIGFX::VIEW::GetViewport(), KIGFX::GAL::GetVisibleWorldExtents(), BOX2< VECTOR2I >::Intersects(), SCH_IO_LTSPICE_PARSER::Parse(), KIGFX::PCB_PAINTER::renderNetNameForSegment(), PNS_LOG_VIEWER_FRAME::SetBoard2(), PNS_LOG_VIEWER_FRAME::SetLogFile(), BOX2< VECTOR2I >::SetOrigin(), BOX2< VECTOR2I >::SetX(), BOX2< VECTOR2I >::SetY(), SYMBOL_EDIT_FRAME::SYMBOL_EDIT_FRAME(), SYMBOL_VIEWER_FRAME::SYMBOL_VIEWER_FRAME(), TRANSFORM::TransformCoordinate(), DS_PROXY_VIEW_ITEM::ViewBBox(), EDIT_POINTS::ViewBBox(), KIGFX::PREVIEW::SELECTION_AREA::ViewBBox(), and DS_PROXY_VIEW_ITEM::ViewDraw().
|
inlineconstexpr |
Definition at line 248 of file box2.h.
Referenced by LABEL_MANAGER::Add(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOX2< VECTOR2I >::Compute(), DS_DRAW_ITEM_BITMAP::GetBoundingBox(), EDA_TEXT::GetTextBox(), KIGFX::GAL::GetVisibleWorldExtents(), SCH_IO_LTSPICE_PARSER::Parse(), BOX2< VECTOR2I >::SetEnd(), BOX2< VECTOR2I >::SetHeight(), BOX2< VECTOR2I >::SetSize(), BOX2< VECTOR2I >::SetWidth(), SYMBOL_EDIT_FRAME::SYMBOL_EDIT_FRAME(), and SYMBOL_VIEWER_FRAME::SYMBOL_VIEWER_FRAME().
Definition at line 287 of file box2.h.
Referenced by DS_DRAW_ITEM_TEXT::GetApproxBBox(), PCB_DIM_CENTER::GetBoundingBox(), PCB_DIMENSION_BASE::GetBoundingBox(), PCB_TARGET::GetBoundingBox(), DS_DRAW_ITEM_RECT::HitTest(), PARAM_VIEWPORT::jsonToViewports(), PNS_LOG_VIEWER_FRAME::SetBoard2(), and PNS_LOG_VIEWER_FRAME::SetLogFile().
|
inlineconstexpr |
Definition at line 277 of file box2.h.
Referenced by PCB_DIM_CENTER::GetBoundingBox(), PCB_DIMENSION_BASE::GetBoundingBox(), PCB_TARGET::GetBoundingBox(), EDA_TEXT::GetTextBox(), KIGFX::GetTextExtents(), DS_DRAW_ITEM_RECT::HitTest(), and PARAM_VIEWPORT::jsonToViewports().
|
inlineconstexpr |
Definition at line 282 of file box2.h.
Referenced by PCB_DIM_CENTER::GetBoundingBox(), PCB_DIMENSION_BASE::GetBoundingBox(), PCB_TARGET::GetBoundingBox(), EDA_TEXT::GetTextBox(), KIGFX::GetTextExtents(), DS_DRAW_ITEM_RECT::HitTest(), and PARAM_VIEWPORT::jsonToViewports().
|
inlineconstexpr |
Return the square of the length of the diagonal of the rectangle.
When all you need is a comparison, this is faster than Diagonal().
Definition at line 781 of file box2.h.
Referenced by BOOST_AUTO_TEST_CASE().
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 786 of file box2.h.
Referenced by BOX2< VECTOR2I >::Distance(), BOX2< VECTOR2I >::Distance(), and SHAPE_INDEX_LIST< T, >::Query().
|
private |
Definition at line 918 of file box2.h.
Referenced by BOX2< VECTOR2I >::Merge().
|
private |
Definition at line 915 of file box2.h.
Referenced by BOX2< VECTOR2I >::Intersect(), BOX2< VECTOR2I >::Intersects(), BOX2< VECTOR2I >::Merge(), and BOX2< VECTOR2I >::SquaredDistance().
Definition at line 916 of file box2.h.
Referenced by BOX2< VECTOR2I >::Intersect(), BOX2< VECTOR2I >::Intersects(), and BOX2< VECTOR2I >::SquaredDistance().