75 m_text.SetParentGroup(
nullptr );
100 auto& outline = ruleShape.
Outline( 0 );
102 outline.Append(
VECTOR2I( 22000, 20000) );
103 outline.Append(
VECTOR2I( 22000, 22000) );
104 outline.Append(
VECTOR2I( 20000, 22000) );
105 outline.SetClosed(
true );
106 outline.Simplify(
true );
124 table->SetColCount( 2 );
126 for(
int ii = 0; ii < 4; ++ii )
163 BOOST_FAIL( wxString::Format(
164 "Unhandled type: %d "
165 "(if you created a new type you need to handle it in this switch statement)",
195 auto item = std::unique_ptr<EDA_ITEM>( Instantiate( type ) );
197 if( item ==
nullptr )
206 auto item = std::unique_ptr<EDA_ITEM>( aOriginalItem->Clone() );
207 VECTOR2I originalPos = item->GetPosition();
209 SCH_ITEM* schItem = dynamic_cast<SCH_ITEM*>( item.get() );
214 if( schItem != nullptr )
216 schItem->Move( aRef );
217 BOOST_CHECK_EQUAL( schItem->GetPosition(), originalPos + aRef );
219 schItem->Move( -aRef );
222 CompareItems( item.get(), aOriginalItem );
235 auto item = std::unique_ptr<EDA_ITEM>( Instantiate( type ) );
237 if( item ==
nullptr )
245 if( item->GetClass() ==
"SCH_SHEET_PIN" )
247 auto newItem = std::unique_ptr<EDA_ITEM>( item->Clone() );
251 if( schItem !=
nullptr )
255 schItem->
Rotate( m_sheet.GetBodyBoundingBox().GetCenter(),
false );
256 schItem->
Rotate( m_sheet.GetBodyBoundingBox().GetCenter(),
false );
257 schItem->
Rotate( m_sheet.GetBodyBoundingBox().GetCenter(),
false );
258 schItem->
Rotate( m_sheet.GetBodyBoundingBox().GetCenter(),
false );
261 CompareItems( newItem.get(), item.get() );
269 auto item = std::unique_ptr<EDA_ITEM>( aOriginalItem->Clone() );
271 SCH_ITEM* schItem = dynamic_cast<SCH_ITEM*>( item.get() );
273 if( schItem != nullptr )
275 schItem->SetFieldsAutoplaced( AUTOPLACE_NONE );
276 schItem->Rotate( aRef, false );
277 schItem->Rotate( aRef, false );
278 schItem->Rotate( aRef, false );
279 schItem->Rotate( aRef, false );
282 CompareItems( item.get(), aOriginalItem );
296 auto item = std::unique_ptr<EDA_ITEM>( Instantiate( type ) );
298 if( item ==
nullptr )
307 auto item = std::unique_ptr<EDA_ITEM>( aOriginalItem->Clone() );
309 SCH_ITEM* schItem = dynamic_cast<SCH_ITEM*>( item.get() );
313 if( schItem != nullptr )
315 schItem->SetFieldsAutoplaced( AUTOPLACE_NONE );
316 schItem->MirrorHorizontally( aRef.x );
317 schItem->MirrorHorizontally( aRef.x );
320 CompareItems( item.get(), aOriginalItem );
333 auto item = std::unique_ptr<EDA_ITEM>( Instantiate( type ) );
335 if( item ==
nullptr )
344 auto item = std::unique_ptr<EDA_ITEM>( aOriginalItem->Clone() );
346 SCH_ITEM* schItem = dynamic_cast<SCH_ITEM*>( item.get() );
351 if( schItem != nullptr )
353 schItem->SetFieldsAutoplaced( AUTOPLACE_NONE );
354 schItem->MirrorVertically( aRef.y );
355 schItem->MirrorVertically( aRef.y );
358 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