KiCad PCB EDA Suite
|
Base class for PNS router board items. More...
#include <pns_item.h>
Public Types | |
enum | PnsKind { SOLID_T = 1 , LINE_T = 2 , JOINT_T = 4 , SEGMENT_T = 8 , ARC_T = 16 , VIA_T = 32 , DIFF_PAIR_T = 64 , ANY_T = 0xff } |
Public Member Functions | |
ITEM (PnsKind aKind) | |
ITEM (const ITEM &aOther) | |
virtual | ~ITEM () |
virtual ITEM * | Clone () const =0 |
Return a deep copy of the item. More... | |
virtual const SHAPE_LINE_CHAIN | Hull (int aClearance=0, int aWalkaroundThickness=0, int aLayer=-1) const |
virtual const SHAPE_LINE_CHAIN | HoleHull (int aClearance, int aWalkaroundThickness=0, int aLayer=-1) const |
PnsKind | Kind () const |
Return the type (kind) of the item. More... | |
bool | OfKind (int aKindMask) const |
Return true if the item's type matches the mask aKindMask. More... | |
std::string | KindStr () const |
Returns the kind of the item, as string. More... | |
void | SetParent (BOARD_ITEM *aParent) |
BOARD_ITEM * | Parent () const |
void | SetNet (int aNet) |
int | Net () const |
const LAYER_RANGE & | Layers () const |
void | SetLayers (const LAYER_RANGE &aLayers) |
void | SetLayer (int aLayer) |
virtual int | Layer () const |
bool | LayersOverlap (const ITEM *aOther) const |
Return true if the set of layers spanned by aOther overlaps our layers. More... | |
NODE * | Owner () const |
Return the owner of this item, or NULL if there's none. More... | |
void | SetOwner (NODE *aOwner) |
Set the node that owns this item. More... | |
bool | BelongsTo (NODE *aNode) const |
bool | Collide (const ITEM *aOther, const NODE *aNode, bool aDifferentNetsOnly=true, int aOverrideClearance=-1) const |
Check for a collision (clearance violation) with between us and item aOther. More... | |
virtual const SHAPE * | Shape () const |
Return the geometrical shape of the item. More... | |
virtual const SHAPE * | Hole () const |
virtual void | Mark (int aMarker) const |
virtual void | Unmark (int aMarker=-1) const |
virtual int | Marker () const |
virtual void | SetRank (int aRank) |
virtual int | Rank () const |
virtual VECTOR2I | Anchor (int n) const |
virtual int | AnchorCount () const |
bool | IsLocked () const |
void | SetRoutable (bool aRoutable) |
bool | IsRoutable () const |
void | SetIsFreePad (bool aIsFreePad=true) |
bool | IsFreePad () const |
bool | IsVirtual () const |
void | SetIsCompoundShapePrimitive () |
bool | IsCompoundShapePrimitive () const |
virtual const std::string | Format () const |
Static Public Attributes | |
static const int | UnusedNet = INT_MAX |
Supported item types. More... | |
Protected Attributes | |
PnsKind | m_kind |
BOARD_ITEM * | m_parent |
NODE * | m_owner |
LAYER_RANGE | m_layers |
bool | m_movable |
int | m_net |
int | m_marker |
int | m_rank |
bool | m_routable |
bool | m_isVirtual |
bool | m_isFreePad |
bool | m_isCompoundShapePrimitive |
Private Member Functions | |
bool | collideSimple (const ITEM *aOther, const NODE *aNode, bool aDifferentNetsOnly, int aOverrideClearance) const |
Base class for PNS router board items.
Implements the shared properties of all PCB items net, spanned layers, geometric shape and reference to owning model.
Definition at line 55 of file pns_item.h.
enum PNS::ITEM::PnsKind |
Enumerator | |
---|---|
SOLID_T | |
LINE_T | |
JOINT_T | |
SEGMENT_T | |
ARC_T | |
VIA_T | |
DIFF_PAIR_T | |
ANY_T |
Definition at line 61 of file pns_item.h.
|
inline |
Definition at line 73 of file pns_item.h.
References m_isCompoundShapePrimitive, m_isFreePad, m_isVirtual, m_kind, m_marker, m_movable, m_net, m_owner, m_parent, m_rank, m_routable, and UnusedNet.
|
inline |
Definition at line 88 of file pns_item.h.
References m_isCompoundShapePrimitive, m_isFreePad, m_isVirtual, m_kind, m_layers, m_marker, m_movable, m_net, m_owner, m_parent, m_rank, and m_routable.
|
virtual |
Definition at line 214 of file pns_item.cpp.
|
inlinevirtual |
Reimplemented in PNS::SOLID, PNS::ARC, PNS::SEGMENT, and PNS::VIA.
Definition at line 219 of file pns_item.h.
Referenced by PNS::DP_PRIMITIVE_PAIR::anchorDirection(), PNS::DP_PRIMITIVE_PAIR::CursorOrientation(), PNS::DP_PRIMITIVE_PAIR::DP_PRIMITIVE_PAIR(), PNS::NODE::followLine(), PNS::getDanglingAnchor(), PNS::ROUTER::getNearestRatnestAnchor(), PNS::TOPOLOGY::NearestUnconnectedAnchorPoint(), PNS::TOOL_BASE::pickSingleItem(), and PNS::TOOL_BASE::snapToItem().
|
inlinevirtual |
Reimplemented in PNS::ARC, PNS::SEGMENT, PNS::SOLID, and PNS::VIA.
Definition at line 224 of file pns_item.h.
|
inline |
Definition at line 183 of file pns_item.h.
References m_owner.
Referenced by PNS::NODE::doRemove().
|
pure virtual |
Return a deep copy of the item.
Implemented in PNS::ARC, PNS::DIFF_PAIR, PNS::JOINT, PNS::LINE, PNS::SEGMENT, PNS::SOLID, and PNS::VIA.
Referenced by PNS_LOG_VIEW_TRACKER::DisplayItem(), PNS::DP_PRIMITIVE_PAIR::DP_PRIMITIVE_PAIR(), PNS::ITEM_SET::ENTRY::ENTRY(), PNS::DP_PRIMITIVE_PAIR::operator=(), and PNS::ITEM_SET::ENTRY::operator=().
bool PNS::ITEM::Collide | ( | const ITEM * | aOther, |
const NODE * | aNode, | ||
bool | aDifferentNetsOnly = true , |
||
int | aOverrideClearance = -1 |
||
) | const |
Check for a collision (clearance violation) with between us and item aOther.
Collision checking takes all PCB stuff into account (layers, nets, DRC rules). Optionally returns a minimum translation vector for force propagation algorithm.
aOther | is the item to check collision against. |
Definition at line 169 of file pns_item.cpp.
References collideSimple(), PNS::LINE::EndsWithVia(), LINE_T, m_kind, and PNS::LINE::Via().
Referenced by PNS::SHOVE::fixupViaCollisions(), PNS::SHOVE::onCollidingSolid(), PNS::NODE::DEFAULT_OBSTACLE_VISITOR::operator()(), PNS::OPTIMIZER::CACHE_VISITOR::operator()(), PNS::SHOVE::shoveLineFromLoneVia(), PNS::SHOVE::shoveLineToHullSet(), PNS::COMPONENT_DRAGGER::Start(), and PNS::verifyDpBypass().
|
private |
Definition at line 32 of file pns_item.cpp.
References SHAPE::Collide(), PNS::NODE::CQS_ALL_RULES, Edge_Cuts, PNS::NODE::GetClearance(), PNS::NODE::GetCollisionQueryScope(), ZONE::GetDoNotAllowFootprints(), ZONE::GetDoNotAllowPads(), ZONE::GetDoNotAllowTracks(), ZONE::GetDoNotAllowVias(), PNS::NODE::GetHoleClearance(), PNS::NODE::GetHoleToHoleClearance(), PNS::ROUTER::GetInstance(), PNS::ROUTER::GetInterface(), BOARD_ITEM::GetLayer(), BOARD_ITEM::GetParentFootprint(), PNS::NODE::GetRuleResolver(), Hole(), PNS::ROUTER_IFACE::IsFlashedOnLayer(), IsFreePad(), PNS::RULE_RESOLVER::IsInNetTie(), LAYER_RANGE::IsMultilayer(), PNS::RULE_RESOLVER::IsNetTieExclusion(), Layer(), Layers(), LINE_T, m_kind, m_layers, m_net, m_parent, Mark(), Marker(), PNS::MK_HOLE, LAYER_RANGE::Overlaps(), Parent(), PCB_ARC_T, PCB_PAD_T, PCB_TRACE_T, PCB_VIA_T, PNS::NODE::QueryEdgeExclusions(), and Shape().
Referenced by Collide().
|
virtual |
Reimplemented in PNS::SEGMENT, and PNS::VIA.
Definition at line 218 of file pns_item.cpp.
References LAYER_RANGE::End(), KindStr(), m_layers, m_net, and LAYER_RANGE::Start().
Referenced by PNS::NODE::Dump(), PNS::SEGMENT::Format(), and PNS::VIA::Format().
|
inlinevirtual |
Reimplemented in PNS::SOLID, and PNS::VIA.
Definition at line 207 of file pns_item.h.
Referenced by collideSimple(), PNS::VIA::PushoutForce(), ROUTER_PREVIEW_ITEM::ROUTER_PREVIEW_ITEM(), and ROUTER_PREVIEW_ITEM::Update().
|
inlinevirtual |
Reimplemented in PNS::SOLID, and PNS::VIA.
Definition at line 123 of file pns_item.h.
|
inlinevirtual |
Reimplemented in PNS::ARC, PNS::SEGMENT, PNS::SOLID, and PNS::VIA.
Definition at line 117 of file pns_item.h.
|
inline |
|
inline |
|
inline |
Definition at line 229 of file pns_item.h.
References Marker(), and PNS::MK_LOCKED.
Referenced by ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::performDragging(), and PNS::SHOVE::pushOrShoveVia().
|
inline |
Definition at line 235 of file pns_item.h.
References m_routable.
Referenced by PNS::NODE::addSolid(), and PNS::NODE::removeSolidIndex().
|
inline |
Definition at line 240 of file pns_item.h.
References m_isVirtual.
Referenced by PNS_KICAD_IFACE::DisplayItem(), PNS::NODE::GetClearance(), PNS::NODE::GetHoleClearance(), PNS::NODE::GetHoleToHoleClearance(), and PNS::NODE::QueryColliding().
|
inline |
Return the type (kind) of the item.
Definition at line 132 of file pns_item.h.
References m_kind.
Referenced by PNS_KICAD_IFACE::AddItem(), PNS::NODE::AssembleLine(), PNS::TOPOLOGY::AssembleTrivialPath(), PNS::OPTIMIZER::CacheRemove(), PNS::NODE::CheckColliding(), PNS::ARC::ClassOf(), PNS::DIFF_PAIR::ClassOf(), PNS::LINE::ClassOf(), PNS::SEGMENT::ClassOf(), PNS::SOLID::ClassOf(), PNS::VIA::ClassOf(), comparePnsItems(), PNS::OPTIMIZER::computeBreakouts(), PNS::DIFF_PAIR_PLACER::FindDpPrimitivePair(), PNS::NODE::followLine(), PNS::getDanglingAnchor(), PNS::MEANDER_PLACER_BASE::getSnappedStartPoint(), PNS_PCBNEW_RULE_RESOLVER::holeRadius(), PNS_KICAD_IFACE_BASE::inheritTrackWidth(), PNS::OPTIMIZER::CACHE_VISITOR::operator()(), ROUTER_TOOL::performDragging(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), PNS::NODE::Remove(), PNS::SHOVE::shoveIteration(), PNS::OPTIMIZER::smartPadsSingle(), PNS::TOOL_BASE::snapToItem(), PNS::LINE_PLACER::Start(), PNS::DRAGGER::Start(), ROUTER_PREVIEW_ITEM::Update(), PNS_KICAD_IFACE::UpdateItem(), and PNS::LINE_PLACER::UpdateSizes().
std::string PNS::ITEM::KindStr | ( | ) | const |
Returns the kind of the item, as string.
Definition at line 198 of file pns_item.cpp.
References ARC_T, DIFF_PAIR_T, JOINT_T, LINE_T, m_kind, SEGMENT_T, SOLID_T, and VIA_T.
Referenced by Format(), PNS::TOOL_BASE::pickSingleItem(), and PNS::TOOL_BASE::updateEndItem().
|
inlinevirtual |
Definition at line 160 of file pns_item.h.
References Layers(), and LAYER_RANGE::Start().
Referenced by PNS::TOPOLOGY::AssembleTuningPath(), collideSimple(), PNS::DRAGGER::CurrentLayer(), PNS::OPTIMIZER::fanoutCleanup(), PNS_PCBNEW_RULE_RESOLVER::HoleClearance(), PNS_PCBNEW_RULE_RESOLVER::HoleToHoleClearance(), PNS_KICAD_IFACE_BASE::ImportSizes(), PNS_PCBNEW_RULE_RESOLVER::IsNetTieExclusion(), PNS::MEANDER_PLACER_BASE::lineLength(), PNS::ROUTER::markViolations(), PNS::NODE::NearestObstacle(), PNS::SHOVE::onCollidingSegment(), LENGTH_TUNER_TOOL::performTuning(), PNS::OPTIMIZER::runSmartPads(), PNS::SHOVE::shoveLineFromLoneVia(), and PNS::SHOVE::ShoveObstacleLine().
|
inline |
Definition at line 156 of file pns_item.h.
References m_layers.
Referenced by PNS::INDEX::Add(), PNS::NODE::Add(), PNS::NODE::addArc(), PNS_KICAD_IFACE::AddItem(), PNS::NODE::addSegment(), PNS::NODE::addSolid(), PNS::NODE::addVia(), PNS::ARC::ARC(), PNS::TOPOLOGY::AssembleDiffPair(), PNS::NODE::AssembleLine(), PNS::KEEP_TOPOLOGY_CONSTRAINT::Check(), PNS_PCBNEW_RULE_RESOLVER::Clearance(), PNS::VIA::Clone(), collideSimple(), comparePnsItems(), PNS::DP_MEANDER_PLACER::CurrentLayer(), PNS::MEANDER_PLACER::CurrentLayer(), PNS::DIFF_PAIR_PLACER::FindDpPrimitivePair(), PNS::NODE::FindJoint(), PNS::NODE::FindLinesBetweenJoints(), PNS::NODE::findRedundantArc(), PNS::NODE::findRedundantSegment(), PNS::NODE::FixupVirtualVias(), PNS::ROUTER::getNearestRatnestAnchor(), ROUTER_TOOL::getStartLayer(), PNS_PCBNEW_RULE_RESOLVER::HoleClearance(), PNS_PCBNEW_RULE_RESOLVER::HoleToHoleClearance(), PNS_KICAD_IFACE_BASE::IsFlashedOnLayer(), Layer(), LayersOverlap(), PNS::LINE::LINE(), PNS::NODE::LockJoint(), PNS::VIA::MakeHandle(), PNS::ROUTER::markViolations(), PNS::TOPOLOGY::NearestUnconnectedAnchorPoint(), PNS::SHOVE::onCollidingSolid(), LENGTH_TUNER_TOOL::performTuning(), PNS::TOOL_BASE::pickSingleItem(), PNS::INDEX::Query(), PNS::INDEX::Remove(), PNS::NODE::removeArcIndex(), PNS::NODE::removeSegmentIndex(), PNS::NODE::removeSolidIndex(), PNS::NODE::removeViaIndex(), PNS_LOG_PLAYER::ReplayLog(), PNS::SEGMENT::SEGMENT(), PNS::LINE_PLACER::SetLayer(), PNS::COMPONENT_DRAGGER::Start(), ROUTER_PREVIEW_ITEM::Update(), PNS::TOOL_BASE::updateEndItem(), PNS::DIFF_PAIR::updateLine(), PNS::TOOL_BASE::updateStartItem(), and PNS::VIA::VIA().
|
inline |
Return true if the set of layers spanned by aOther overlaps our layers.
Definition at line 165 of file pns_item.h.
References Layers(), and LAYER_RANGE::Overlaps().
Referenced by PNS::MEANDER_PLACER_BASE::lineLength(), PNS::SHOVE::onCollidingArc(), PNS::SHOVE::onCollidingSegment(), PNS::NODE::rebuildJoint(), and PNS::SHOVE::ShoveObstacleLine().
|
inlinevirtual |
Reimplemented in PNS::LINE.
Definition at line 212 of file pns_item.h.
References m_marker.
Referenced by collideSimple(), and PNS::SHOVE::ShoveDraggingVia().
|
inlinevirtual |
Reimplemented in PNS::LINE.
Definition at line 214 of file pns_item.h.
References m_marker.
Referenced by PNS::ARC::ARC(), collideSimple(), IsLocked(), PNS::SHOVE::pushOrShoveVia(), and ROUTER_PREVIEW_ITEM::Update().
|
inline |
Definition at line 154 of file pns_item.h.
References m_net.
Referenced by PNS::INDEX::Add(), PNS::NODE::Add(), PNS::NODE::addArc(), PNS_KICAD_IFACE::AddItem(), PNS::NODE::addSegment(), PNS::NODE::addSolid(), PNS::NODE::addVia(), PNS::ARC::ARC(), PNS::TOPOLOGY::AssembleCluster(), PNS::TOPOLOGY::AssembleDiffPair(), PNS::NODE::AssembleLine(), PNS::LINE_PLACER::buildInitialLine(), PNS::KEEP_TOPOLOGY_CONSTRAINT::Check(), PNS::VIA::Clone(), comparePnsItems(), PNS::DRAGGER::CurrentNets(), PNS::MEANDER_PLACER::CurrentNets(), PNS::DIFF_PAIR::DIFF_PAIR(), PNS::OPTIMIZER::fanoutCleanup(), PNS::DIFF_PAIR_PLACER::FindDpPrimitivePair(), PNS::NODE::FindJoint(), PNS::NODE::findRedundantArc(), PNS::NODE::findRedundantSegment(), PNS::LINE_PLACER::FixRoute(), ROUTER_TOOL::InlineDrag(), PNS_PCBNEW_RULE_RESOLVER::IsDiffPair(), PNS_PCBNEW_RULE_RESOLVER::IsNetTieExclusion(), PNS::ROUTER::isStartingPointRoutable(), PNS::LINE::LINE(), PNS::NODE::LockJoint(), PNS::VIA::MakeHandle(), PNS::MEANDER_SKEW_PLACER::origPathLength(), ROUTER_TOOL::performDragging(), LENGTH_TUNER_TOOL::performTuning(), ROUTER_TOOL::prepareInteractive(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), PNS::NODE::rebuildJoint(), PNS::INDEX::Remove(), PNS::NODE::removeArcIndex(), PNS::NODE::removeSegmentIndex(), PNS::NODE::removeSolidIndex(), PNS::NODE::removeViaIndex(), PNS::OPTIMIZER::runSmartPads(), PNS::SEGMENT::SEGMENT(), PNS::SHOVE::ShoveObstacleLine(), PNS::DIFF_PAIR_PLACER::Start(), PNS::LINE_PLACER::Start(), PNS::MEANDER_SKEW_PLACER::Start(), and PNS::VIA::VIA().
|
inline |
Return true if the item's type matches the mask aKindMask.
Definition at line 140 of file pns_item.h.
References m_kind.
Referenced by PNS::DP_PRIMITIVE_PAIR::anchorDirection(), PNS::TOPOLOGY::AssembleCluster(), PNS::TOPOLOGY::AssembleTrivialPath(), ROUTER_TOOL::breakTrack(), PNS::DP_GATEWAYS::BuildFromPrimitivePair(), PNS::ChangedArea(), PNS::TOOL_BASE::checkSnap(), PNS::DP_PRIMITIVE_PAIR::CursorOrientation(), PNS::DP_PRIMITIVE_PAIR::Directional(), PNS_KICAD_IFACE::DisplayItem(), PNS::OPTIMIZER::fanoutCleanup(), PNS::SHOVE::fixupViaCollisions(), PNS::MEANDER_PLACER_BASE::lineLength(), PNS::SHOVE::onCollidingVia(), PNS::NODE::DEFAULT_OBSTACLE_VISITOR::operator()(), PNS_KICAD_IFACE::RemoveItem(), PNS::LINE_PLACER::SetLayer(), PNS::SHOVE::shoveIteration(), PNS::LINE_PLACER::simplifyNewLine(), PNS::LINE_PLACER::SplitAdjacentSegments(), PNS::DP_MEANDER_PLACER::Start(), PNS::MEANDER_PLACER::Start(), PNS::MEANDER_SKEW_PLACER::Start(), and PNS::SHOVE::unwindLineStack().
|
inline |
Return the owner of this item, or NULL if there's none.
Definition at line 173 of file pns_item.h.
References m_owner.
Referenced by PNS_KICAD_IFACE_BASE::inheritTrackWidth(), PNS::LINE_PLACER::Move(), and PNS::LINE_PLACER::rhShoveOnly().
|
inline |
Definition at line 151 of file pns_item.h.
References m_parent.
Referenced by PNS_KICAD_IFACE::AddItem(), collideSimple(), PNS_PCBNEW_RULE_RESOLVER::DpNetPair(), PNS_KICAD_IFACE::HideItem(), PNS_PCBNEW_RULE_RESOLVER::holeRadius(), isCopper(), isEdge(), PNS_KICAD_IFACE_BASE::IsFlashedOnLayer(), PNS_PCBNEW_RULE_RESOLVER::IsInNetTie(), PNS_KICAD_IFACE::IsItemVisible(), PNS_PCBNEW_RULE_RESOLVER::IsNetTieExclusion(), PNS::LOGGER::Log(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), PNS_KICAD_IFACE::RemoveItem(), PNS::LINE_PLACER::Start(), and PNS_KICAD_IFACE::UpdateItem().
|
inlinevirtual |
Reimplemented in PNS::LINE.
Definition at line 217 of file pns_item.h.
References m_rank.
Referenced by PNS::ARC::ARC(), PNS::LINE::LINE(), PNS::SHOVE::onCollidingVia(), and PNS::SHOVE::shoveIteration().
|
inline |
|
inline |
|
inline |
Definition at line 159 of file pns_item.h.
References m_layers.
Referenced by PNS::LINE_PLACER::buildInitialLine(), PNS::LINE_PLACER::FixRoute(), PNS::LINE_PLACER::initPlacement(), PNS::ROUTER::isStartingPointRoutable(), PNS::DIFF_PAIR_PLACER::propagateDpHeadForces(), PNS::DIFF_PAIR_PLACER::routeHead(), PNS::LINE_PLACER::SetLayer(), PNS::LINE_PLACER::UnfixRoute(), and PNS::DIFF_PAIR::updateLine().
|
inline |
Definition at line 157 of file pns_item.h.
References m_layers.
Referenced by PNS::TOPOLOGY::AssembleDiffPair(), PNS::NODE::AssembleLine(), PNS::VIA::Clone(), parseCommonPnsProps(), and PNS::VIA::VIA().
|
inline |
Definition at line 153 of file pns_item.h.
References m_net.
Referenced by PNS::LINE::AppendVia(), PNS::NODE::AssembleLine(), PNS::LINE_PLACER::buildInitialLine(), PNS::VIA::Clone(), PNS::LINE_PLACER::FixRoute(), PNS::LINE_PLACER::initPlacement(), PNS::ROUTER::isStartingPointRoutable(), PNS::DIFF_PAIR_PLACER::makeVia(), parseCommonPnsProps(), PNS::DIFF_PAIR::updateLine(), and PNS::VIA::VIA().
|
inline |
Set the node that owns this item.
An item can belong to a single NODE or be unowned.
Definition at line 178 of file pns_item.h.
References m_owner.
Referenced by PNS::NODE::AssembleLine(), PNS::NODE::doRemove(), and PNS::NODE::Remove().
|
inline |
Definition at line 150 of file pns_item.h.
References m_parent.
Referenced by PNS_KICAD_IFACE::AddItem().
|
inlinevirtual |
Reimplemented in PNS::LINE.
Definition at line 216 of file pns_item.h.
References m_rank.
Referenced by PNS::NODE::Commit(), and PNS::SHOVE::ShoveDraggingVia().
|
inline |
|
inlinevirtual |
Return the geometrical shape of the item.
Used for collision detection and spatial indexing.
Reimplemented in PNS::ARC, PNS::LINE, PNS::SEGMENT, PNS::SOLID, and PNS::VIA.
Definition at line 202 of file pns_item.h.
Referenced by PNS_TEST_DEBUG_DECORATOR::AddItem(), PNS::DP_GATEWAYS::BuildFromPrimitivePair(), collideSimple(), PNS::OPTIMIZER::computeBreakouts(), PNS::OPTIMIZER::customBreakouts(), PNS::HIT_VISITOR::operator()(), PNS::VIA::PushoutForce(), PNS::INDEX::Query(), ROUTER_PREVIEW_ITEM::ROUTER_PREVIEW_ITEM(), and ROUTER_PREVIEW_ITEM::Update().
|
inlinevirtual |
Reimplemented in PNS::LINE.
Definition at line 213 of file pns_item.h.
References m_marker.
Referenced by PNS::NODE::Commit(), and PNS::DRAGGER::Start().
|
protected |
Definition at line 267 of file pns_item.h.
Referenced by IsCompoundShapePrimitive(), ITEM(), and SetIsCompoundShapePrimitive().
|
protected |
Definition at line 266 of file pns_item.h.
Referenced by IsFreePad(), ITEM(), and SetIsFreePad().
|
protected |
Definition at line 265 of file pns_item.h.
Referenced by PNS::VIA::Clone(), IsVirtual(), ITEM(), PNS::VIA::VIA(), and PNS::VVIA::VVIA().
|
protected |
Definition at line 254 of file pns_item.h.
Referenced by Collide(), collideSimple(), ITEM(), Kind(), KindStr(), and OfKind().
|
protected |
Definition at line 258 of file pns_item.h.
Referenced by PNS::ARC::ARC(), PNS::ARC::Clone(), PNS::SEGMENT::Clone(), collideSimple(), PNS::JOINT::Dump(), Format(), ITEM(), PNS::JOINT::JOINT(), Layers(), PNS::LINE::LINE(), PNS::JOINT::Merge(), PNS::LINE::operator=(), PNS::JOINT::Overlaps(), PNS::SEGMENT::SEGMENT(), SetLayer(), and SetLayers().
|
mutableprotected |
Definition at line 262 of file pns_item.h.
Referenced by PNS::ARC::ARC(), PNS::ARC::Clone(), PNS::SEGMENT::Clone(), PNS::VIA::Clone(), ITEM(), PNS::LINE::LINE(), Mark(), PNS::LINE::Mark(), Marker(), PNS::LINE::Marker(), PNS::LINE::operator=(), PNS::SEGMENT::SEGMENT(), Unmark(), PNS::LINE::Unmark(), and PNS::VIA::VIA().
|
protected |
Definition at line 260 of file pns_item.h.
Referenced by ITEM(), PNS::LINE::LINE(), PNS::LINE::operator=(), and PNS::SOLID::SOLID().
|
protected |
Definition at line 261 of file pns_item.h.
Referenced by PNS::LINE::AppendVia(), PNS::ARC::ARC(), PNS::ARC::Clone(), PNS::SEGMENT::Clone(), collideSimple(), Format(), ITEM(), PNS::LINE::LINE(), Net(), PNS::LINE::operator=(), PNS::SEGMENT::SEGMENT(), and SetNet().
|
protected |
Definition at line 257 of file pns_item.h.
Referenced by BelongsTo(), ITEM(), PNS::LINE::operator=(), Owner(), and SetOwner().
|
protected |
Definition at line 256 of file pns_item.h.
Referenced by PNS::VIA::Clone(), collideSimple(), ITEM(), Parent(), and SetParent().
|
protected |
Definition at line 263 of file pns_item.h.
Referenced by PNS::ARC::ARC(), PNS::ARC::Clone(), PNS::SEGMENT::Clone(), PNS::VIA::Clone(), ITEM(), PNS::LINE::LINE(), PNS::LINE::operator=(), Rank(), PNS::LINE::Rank(), PNS::SEGMENT::SEGMENT(), SetRank(), PNS::LINE::SetRank(), and PNS::VIA::VIA().
|
protected |
Definition at line 264 of file pns_item.h.
Referenced by IsRoutable(), ITEM(), and SetRoutable().
|
static |