52 wxASSERT_MSG(
false, wxT(
"Plugin must be set before load." ) );
58 bool ret =
m_plugin->Load( aFileName );
74 wxASSERT_MSG(
false, wxT(
"Plugin must be set before import." ) );
88 catch(
const std::bad_alloc& )
107 m_items.emplace_back( std::move( aItem ) );
113 aSpline.
SetShape( SHAPE_T::BEZIER );
115 bool degenerate =
false;
121 if( s_e.ApproxCollinear( s_c1 ) && s_e.ApproxCollinear( e_c2 ) )
137 aSpline.
SetShape( SHAPE_T::SEGMENT );
const VECTOR2I & GetBezierC2() const
void RebuildBezierToSegmentsPointsList(int aMaxError)
Rebuild the m_bezierPoints vertex list that approximate the Bezier curve by a list of segments.
const VECTOR2I & GetEnd() const
Return the ending point of the graphic.
const VECTOR2I & GetStart() const
Return the starting point of the graphic.
void SetShape(SHAPE_T aShape)
const std::vector< VECTOR2I > & GetBezierPoints() const
const VECTOR2I & GetBezierC1() const
double m_originalHeight
Total image Height.
static constexpr unsigned int DEFAULT_LINE_WIDTH_DFX
Default line thickness (in mm).
virtual void NewShape(POLY_FILL_RULE aFillRule=PF_NONZERO)
VECTOR2D m_scale
Scale factor applied to the imported graphics.
std::vector< POLY_FILL_RULE > m_shapeFillRules
std::unique_ptr< GRAPHICS_IMPORT_PLUGIN > m_plugin
Plugin used to load a file.
void SetScale(const VECTOR2D &aScale)
Set the scale factor affecting the imported shapes.
bool Import(const VECTOR2D &aScale=VECTOR2D(1.0, 1.0))
Import shapes from loaded file.
void addItem(std::unique_ptr< EDA_ITEM > aItem)
Add an item to the imported shapes list.
bool Load(const wxString &aFileName)
Load file and get its basic data.
double m_millimeterToIu
Factor to convert millimeters to Internal Units.
bool setupSplineOrLine(EDA_SHAPE &aShape, int aAccuracy)
Configure a shape as a spline or a line segment if it's degenerate.
double m_originalWidth
Total image width.
std::list< std::unique_ptr< EDA_ITEM > > m_items
List of imported items.
double m_lineWidth
Default line thickness for the imported graphics.
#define MIN_SEG_LEN_ACCEPTABLE_NM
VECTOR2< double > VECTOR2D