73 m_text.SetParentGroup(
nullptr );
98 auto& outline = ruleShape.
Outline( 0 );
100 outline.Append(
VECTOR2I( 22000, 20000) );
101 outline.Append(
VECTOR2I( 22000, 22000) );
102 outline.Append(
VECTOR2I( 20000, 22000) );
103 outline.SetClosed(
true );
104 outline.Simplify(
true );
122 table->SetColCount( 2 );
124 for(
int ii = 0; ii < 4; ++ii )
161 BOOST_FAIL( wxString::Format(
162 "Unhandled type: %d "
163 "(if you created a new type you need to handle it in this switch statement)",
193 auto item = std::unique_ptr<EDA_ITEM>( Instantiate( type ) );
195 if( item ==
nullptr )
204 auto item = std::unique_ptr<EDA_ITEM>( aOriginalItem->Clone() );
205 VECTOR2I originalPos = item->GetPosition();
207 SCH_ITEM* schItem = dynamic_cast<SCH_ITEM*>( item.get() );
212 if( schItem != nullptr )
214 schItem->Move( aRef );
215 BOOST_CHECK_EQUAL( schItem->GetPosition(), originalPos + aRef );
217 schItem->Move( -aRef );
220 CompareItems( item.get(), aOriginalItem );
233 auto item = std::unique_ptr<EDA_ITEM>( Instantiate( type ) );
235 if( item ==
nullptr )
243 if( item->GetClass() ==
"SCH_SHEET_PIN" )
245 auto newItem = std::unique_ptr<EDA_ITEM>( item->Clone() );
249 if( schItem !=
nullptr )
253 schItem->
Rotate( m_sheet.GetBodyBoundingBox().GetCenter(),
false );
254 schItem->
Rotate( m_sheet.GetBodyBoundingBox().GetCenter(),
false );
255 schItem->
Rotate( m_sheet.GetBodyBoundingBox().GetCenter(),
false );
256 schItem->
Rotate( m_sheet.GetBodyBoundingBox().GetCenter(),
false );
259 CompareItems( newItem.get(), item.get() );
267 auto item = std::unique_ptr<EDA_ITEM>( aOriginalItem->Clone() );
269 SCH_ITEM* schItem = dynamic_cast<SCH_ITEM*>( item.get() );
271 if( schItem != nullptr )
273 schItem->SetFieldsAutoplaced( AUTOPLACE_NONE );
274 schItem->Rotate( aRef, false );
275 schItem->Rotate( aRef, false );
276 schItem->Rotate( aRef, false );
277 schItem->Rotate( aRef, false );
280 CompareItems( item.get(), aOriginalItem );
294 auto item = std::unique_ptr<EDA_ITEM>( Instantiate( type ) );
296 if( item ==
nullptr )
305 auto item = std::unique_ptr<EDA_ITEM>( aOriginalItem->Clone() );
307 SCH_ITEM* schItem = dynamic_cast<SCH_ITEM*>( item.get() );
311 if( schItem != nullptr )
313 schItem->SetFieldsAutoplaced( AUTOPLACE_NONE );
314 schItem->MirrorHorizontally( aRef.x );
315 schItem->MirrorHorizontally( aRef.x );
318 CompareItems( item.get(), aOriginalItem );
331 auto item = std::unique_ptr<EDA_ITEM>( Instantiate( type ) );
333 if( item ==
nullptr )
342 auto item = std::unique_ptr<EDA_ITEM>( aOriginalItem->Clone() );
344 SCH_ITEM* schItem = dynamic_cast<SCH_ITEM*>( item.get() );
349 if( schItem != nullptr )
351 schItem->SetFieldsAutoplaced( AUTOPLACE_NONE );
352 schItem->MirrorVertically( aRef.y );
353 schItem->MirrorVertically( aRef.y );
356 CompareItems( item.get(), aOriginalItem );
constexpr EDA_IU_SCALE schIUScale
constexpr coord_type GetLeft() const
constexpr coord_type GetRight() const
constexpr coord_type GetTop() const
constexpr coord_type GetBottom() const
A base class for most all the KiCad significant classes used in schematics and boards.
virtual VECTOR2I GetPosition() const
virtual const BOX2I GetBoundingBox() const
Return the orthogonal bounding box of this object for display purposes.
void SetPolyShape(const SHAPE_POLY_SET &aShape)
Define a library symbol object.
Object to handle a bitmap image that can be inserted in a schematic.
Class for a bus to bus entry.
Class for a wire to bus entry.
A set of SCH_ITEMs (i.e., without duplicates).
Base class for any item which can be embedded within the SCHEMATIC container class,...
void SetFieldsAutoplaced(AUTOPLACE_ALGO aAlgo)
virtual void Rotate(const VECTOR2I &aCenter, bool aRotateCCW)
Rotate the item around aCenter 90 degrees in the clockwise direction.
Segment description base class to describe items which have 2 end points (track, wire,...
Define a sheet pin (label) used in sheets to create hierarchical schematics.
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
void Append(int aX, int aY, bool aAllowDuplication=false)
Append a new point at the end of the line chain.
Represent a set of closed polygons.
SHAPE_LINE_CHAIN & Outline(int aIndex)
Return the reference to aIndex-th outline in the set.
int NewOutline()
Creates a new empty polygon in the set and returns its index.
EDA_ITEM * Instantiate(KICAD_T aType)
static void CompareItems(EDA_ITEM *aItem, EDA_ITEM *aOriginalItem)
std::shared_ptr< ERC_ITEM > m_ercItem
static void IterateOverPositionsAndReferences(T *aItem, void(*aCallback)(T *, VECTOR2I))
@ ERCE_DRIVER_CONFLICT
Conflicting drivers (labels, etc) on a subgraph.
Class to handle a set of SCH_ITEMs.
@ USER
The field ID hasn't been set yet; field is invalid.
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
BOOST_AUTO_TEST_CASE(Move)
BOOST_AUTO_TEST_SUITE_END()
BOOST_TEST_CONTEXT("Test Clearance")
BOOST_CHECK_EQUAL(result, "25.4")
KICAD_T
The set of class identification values stored in EDA_ITEM::m_structType.
constexpr bool IsInstantiableType(const KICAD_T aType)
constexpr bool IsEeschemaType(const KICAD_T aType)
VECTOR2< int32_t > VECTOR2I