30    reserve( aGlyph.size() );
 
   32    for( 
const std::vector<VECTOR2D>& pointList : aGlyph )
 
   33        push_back( pointList );
 
 
   48    back().push_back( aPoint );
 
 
   56        back().shrink_to_fit();
 
 
   69        back().shrink_to_fit();
 
 
   75                                                double aTilt, 
const EDA_ANGLE& aAngle, 
bool aMirror,
 
   78    std::unique_ptr<STROKE_GLYPH> glyph = std::make_unique<STROKE_GLYPH>( *
this );
 
   82    end.x *= aGlyphSize.
x;
 
   83    end.y *= aGlyphSize.
y;
 
   88    glyph->m_boundingBox.SetEnd( 
end );
 
   89    glyph->m_boundingBox.Offset( aOffset );
 
   91    for( std::vector<VECTOR2D>& pointList : *glyph )
 
   98                point.
x -= point.y * aTilt;
 
  103                point.
x = aOrigin.
x - ( point.x - aOrigin.
x );
 
 
  118    for( std::vector<VECTOR2D>& pointList : *
this )
 
 
  135                                                     const VECTOR2I& aPt3 )> aCallback )
 const 
  147            aCallback( a, b, c );
 
 
  165std::vector<std::unique_ptr<SHAPE_POLY_SET::TRIANGULATED_POLYGON>>
 
  168    std::vector<std::unique_ptr<SHAPE_POLY_SET::TRIANGULATED_POLYGON>> data;
 
  170    for( 
const std::unique_ptr<SHAPE_POLY_SET::TRIANGULATED_POLYGON>& poly : 
m_triangulatedPolys )
 
  171        data.push_back( std::make_unique<SHAPE_POLY_SET::TRIANGULATED_POLYGON>( *poly ) );
 
 
  178        std::vector<std::unique_ptr<SHAPE_POLY_SET::TRIANGULATED_POLYGON>>& aHintData )
 
 
constexpr const Vec & GetOrigin() const
 
constexpr const SizeVec & GetSize() const
 
void CacheTriangulation(bool aPartition=true, bool aSimplify=false) override
Build a polygon triangulation, needed to draw a polygon on OpenGL and in some other calculations.
 
BOX2D BoundingBox() override
 
void Triangulate(std::function< void(const VECTOR2I &aPt1, const VECTOR2I &aPt2, const VECTOR2I &aPt3)> aCallback) const
 
std::vector< std::unique_ptr< SHAPE_POLY_SET::TRIANGULATED_POLYGON > > GetTriangulationData() const
 
void AddPoint(const VECTOR2D &aPoint)
 
void Move(const VECTOR2I &aOffset)
 
std::unique_ptr< GLYPH > Transform(const VECTOR2D &aGlyphSize, const VECTOR2I &aOffset, double aTilt, const EDA_ANGLE &aAngle, bool aMirror, const VECTOR2I &aOrigin)
 
size_t GetTriangleCount() const
 
void GetTriangle(int index, VECTOR2I &a, VECTOR2I &b, VECTOR2I &c) const
 
virtual void CacheTriangulation(bool aPartition=true, bool aSimplify=false)
Build a polygon triangulation, needed to draw a polygon on OpenGL and in some other calculations.
 
std::vector< std::unique_ptr< TRIANGULATED_POLYGON > > m_triangulatedPolys
 
const TRIANGULATED_POLYGON * TriangulatedPolygon(int aIndex) const
 
unsigned int TriangulatedPolyCount() const
Return the number of triangulated polygons.
 
void cacheTriangulation(bool aPartition, bool aSimplify, std::vector< std::unique_ptr< TRIANGULATED_POLYGON > > *aHintData)
 
const BOX2I BBox(int aClearance=0) const override
Compute a bounding box of the shape, with a margin of aClearance a collision.
 
static bool empty(const wxTextEntryBase *aCtrl)
 
void RotatePoint(int *pX, int *pY, const EDA_ANGLE &aAngle)
Calculate the new point of coord coord pX, pY, for a rotation center 0, 0.
 
VECTOR2< int32_t > VECTOR2I
 
VECTOR2< double > VECTOR2D