20 #ifndef LIBREPCB_CORE_PACKAGE_H 21 #define LIBREPCB_CORE_PACKAGE_H 26 #include "../libraryelement.h" 76 const ElementName& name_en_US,
const QString& description_en_US,
77 const QString& keywords_en_US,
AssemblyType assemblyType);
88 const Uuid& fpt)
const noexcept;
102 static std::unique_ptr<Package>
open(
103 std::unique_ptr<TransactionalDirectory> directory);
105 return QStringLiteral(
"pkg");
108 return QStringLiteral(
"package");
115 Package(std::unique_ptr<TransactionalDirectory> directory,
QVector< std::shared_ptr< const PackageModel > > getModelsForFootprint(const Uuid &fpt) const noexcept
Definition: package.cpp:153
The Version class represents a version number in the format "1.42.7".
Definition: version.h:58
static std::unique_ptr< Package > open(std::unique_ptr< TransactionalDirectory > directory)
Definition: package.cpp:175
const PackagePadList & getPads() const noexcept
Definition: package.h:84
Definition: occmodel.cpp:76
PackagePadList mPads
empty list if the package has no pads
Definition: package.h:120
~Package() noexcept
Definition: package.cpp:106
QVector< std::shared_ptr< const RuleCheckMessage > > RuleCheckMessageList
Definition: rulecheckmessage.h:104
static QString getLongElementName() noexcept
Definition: package.h:107
The Package class represents a package of a component (including footprint and 3D model) ...
Definition: package.h:58
AssemblyType mAssemblyType
Package assembly type (metadata)
Definition: package.h:119
virtual void serialize(SExpression &root) const override
Serialize into librepcb::SExpression node.
Definition: package.cpp:202
Anything special, e.g. mechanical parts.
PackageModelList mModels
3D models (optional)
Definition: package.h:121
AssemblyType guessAssemblyType() const noexcept
Definition: package.cpp:122
PackageModelList & getModels() noexcept
Definition: package.h:85
static QString getShortElementName() noexcept
Definition: package.h:104
AssemblyType
Definition: package.h:63
Nothing to mount (i.e. not a package, just a footprint)
Auto detection (deprecated, only for file format migration!)
Package & operator=(const Package &rhs)=delete
FootprintList mFootprints
minimum one footprint
Definition: package.h:122
The LibraryElement class extends the LibraryBaseElement class with some attributes and methods which ...
Definition: libraryelement.h:44
void setAssemblyType(AssemblyType type) noexcept
Definition: package.h:93
AssemblyType getAssemblyType(bool resolveAuto) const noexcept
Definition: package.cpp:113
PackagePadList & getPads() noexcept
Definition: package.h:83
FootprintList & getFootprints() noexcept
Definition: package.h:89
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition: uuid.h:56
const PackageModelList & getModels() const noexcept
Definition: package.h:86
virtual RuleCheckMessageList runChecks() const override
Definition: package.cpp:170
The SExpression class.
Definition: sexpression.h:66
const FootprintList & getFootprints() const noexcept
Definition: package.h:90
type_safe::constrained_type< QString, ElementNameConstraint, ElementNameVerifier > ElementName
Definition: elementname.h:93