Skip to main content

PcbComponent

Struct PcbComponent 

Source
pub struct PcbComponent {
    pub pattern: String,
    pub description: String,
    pub height: Coord,
    pub item_guid: String,
    pub revision_guid: String,
    pub primitives: Vec<PcbRecord>,
}
Expand description

A PCB component (footprint) containing primitives.

Fields§

§pattern: String

Footprint pattern name.

§description: String

Description.

§height: Coord

Height.

§item_guid: String

Item GUID.

§revision_guid: String

Revision GUID.

§primitives: Vec<PcbRecord>

Primitives belonging to this component.

Implementations§

Source§

impl PcbComponent

Extension methods for PcbComponent to support editing.

Source

pub fn new(pattern: impl Into<String>) -> Self

👎Deprecated since 0.1.0: Use new_deterministic() with a DeterminismContext for reproducible execution

Create a new empty component (non-deterministic).

Prefer using new_deterministic() for reproducible execution.

Source

pub fn new_deterministic(pattern: impl Into<String>, _det: &mut ()) -> Self

Create new component with standard UUID generation.

Standalone library uses standard UUIDs; Cadatomic fork replaces with deterministic context.

Source

pub fn set_description(&mut self, desc: impl Into<String>)

Set the description.

Source

pub fn add_primitive(&mut self, record: PcbRecord)

Add a primitive.

Source

pub fn remove_primitive(&mut self, index: usize) -> Option<PcbRecord>

Remove a primitive by index.

Source

pub fn find_pad(&self, designator: &str) -> Option<&PcbPad>

Find a pad by designator.

Source

pub fn find_pad_mut(&mut self, designator: &str) -> Option<&mut PcbPad>

Find a pad by designator (mutable).

Source§

impl PcbComponent

Source

pub fn import_from_parameters(&mut self, p: &ParameterCollection)

Import component data from parameters.

Source

pub fn export_to_parameters(&self) -> ParameterCollection

Export component data to parameters.

Source

pub fn name(&self) -> &str

Get the component name (pattern).

Source

pub fn pad_count(&self) -> usize

Count the number of pads.

Source

pub fn pads(&self) -> impl Iterator<Item = &PcbPad>

Get all pads.

Source

pub fn primitive_count(&self) -> usize

Total primitive count.

Source

pub fn calculate_bounds(&self) -> CoordRect

Calculate the bounding rectangle of all primitives.

Trait Implementations§

Source§

impl Clone for PcbComponent

Source§

fn clone(&self) -> PcbComponent

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PcbComponent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PcbComponent

Source§

fn default() -> PcbComponent

Returns the “default value” for a type. Read more
Source§

impl DumpTree for PcbComponent

Source§

fn dump(&self, tree: &mut TreeBuilder)

Dump this item to the tree builder.
Source§

fn dump_to_string(&self) -> String

Convenience method to dump to a string.
Source§

fn dump_to_string_with_options(&self, options: DumpOptions) -> String

Convenience method to dump to a string with options.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

Source§

fn is_within(&self, b: &G2) -> bool