Merge branch 'devel_anabatic' of ssh://bop-t/users/largo2/git/coriolis into devel_anabatic
This commit is contained in:
commit
73a085308c
File diff suppressed because it is too large
Load Diff
|
@ -38,43 +38,6 @@ namespace Anabatic {
|
|||
class AnabaticEngine;
|
||||
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Class : "Anabatic::Symmetry".
|
||||
|
||||
class Symmetry
|
||||
{
|
||||
public:
|
||||
enum iFlag { None = 0
|
||||
, sHorizontal = (1<<0)
|
||||
, sVertical = (1<<1)
|
||||
, sCFound = (1<<2)
|
||||
};
|
||||
private:
|
||||
Symmetry(unsigned int, DbU::Unit);
|
||||
~Symmetry();
|
||||
public:
|
||||
static Symmetry* create(unsigned int, DbU::Unit);
|
||||
|
||||
public:
|
||||
unsigned int getType () const;
|
||||
inline DbU::Unit getValue() const;
|
||||
inline bool isCFound() const;
|
||||
inline void setAsH();
|
||||
inline void setAsV();
|
||||
inline void setFound();
|
||||
|
||||
private:
|
||||
unsigned int _flags;
|
||||
DbU::Unit _value;
|
||||
};
|
||||
|
||||
inline void Symmetry::setAsH () { _flags = ((_flags & ~(0x3)) | sHorizontal); }
|
||||
inline void Symmetry::setAsV () { _flags = ((_flags & ~(0x3)) | sVertical ); }
|
||||
inline void Symmetry::setFound () { _flags |= sCFound; }
|
||||
inline DbU::Unit Symmetry::getValue () const { return _value; }
|
||||
inline bool Symmetry::isCFound () const { return _flags & sCFound; }
|
||||
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Class : "Anabatic::IntervalC".
|
||||
|
||||
|
@ -86,13 +49,12 @@ namespace Anabatic {
|
|||
, iVertical = (1<<1)
|
||||
, iSet = (1<<2)
|
||||
};
|
||||
private:
|
||||
IntervalC();
|
||||
~IntervalC();
|
||||
public:
|
||||
static IntervalC* create();
|
||||
|
||||
public:
|
||||
IntervalC();
|
||||
IntervalC(const IntervalC&);
|
||||
IntervalC(IntervalC&);
|
||||
~IntervalC();
|
||||
void set ( DbU::Unit, DbU::Unit, DbU::Unit );
|
||||
void setRange ( DbU::Unit, DbU::Unit );
|
||||
void extendMin ( DbU::Unit );
|
||||
|
@ -111,6 +73,9 @@ namespace Anabatic {
|
|||
inline bool isiSet () const;
|
||||
void reset ();
|
||||
|
||||
unsigned int getFlags () const;
|
||||
void setFlags (unsigned int);
|
||||
|
||||
private:
|
||||
unsigned int _flags;
|
||||
DbU::Unit _min;
|
||||
|
@ -129,6 +94,75 @@ namespace Anabatic {
|
|||
inline bool IntervalC::isiSet () const { return _flags & iSet; }
|
||||
inline bool IntervalC::isH () const { return _flags & iHorizontal; }
|
||||
inline bool IntervalC::isV () const { return _flags & iVertical ; }
|
||||
inline void IntervalC::setFlags ( unsigned int f ) { _flags = f ; }
|
||||
inline unsigned int IntervalC::getFlags () const { return _flags; }
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Class : "Anabatic::GRAData".
|
||||
|
||||
class GRAData
|
||||
{
|
||||
private:
|
||||
GRAData();
|
||||
~GRAData();
|
||||
public:
|
||||
static GRAData* create();
|
||||
//////////////////////////////////////// GRDATA
|
||||
inline bool isiSet () const;
|
||||
inline IntervalC getInterv () const;
|
||||
inline IntervalC getIntervFrom () const;
|
||||
inline DbU::Unit getIAxis () const;
|
||||
inline DbU::Unit getIMax () const;
|
||||
inline DbU::Unit getIMin () const;
|
||||
inline DbU::Unit getPIAxis () const;
|
||||
inline DbU::Unit getPIMax () const;
|
||||
inline DbU::Unit getPIMin () const;
|
||||
|
||||
inline IntervalC getIntervFrom2 () const;
|
||||
inline DbU::Unit getPIMax2 () const;
|
||||
inline DbU::Unit getPIMin2 () const;
|
||||
inline DbU::Unit getPIAxis2 () const;
|
||||
|
||||
inline void setInterv ( DbU::Unit, DbU::Unit, DbU::Unit );
|
||||
inline void setIntervfrom ( DbU::Unit, DbU::Unit, DbU::Unit );
|
||||
inline void setIntervfrom2 ( DbU::Unit, DbU::Unit, DbU::Unit );
|
||||
void resetIntervals ();
|
||||
void clearFrom2 ();
|
||||
inline Edge* getFrom2 () const;
|
||||
inline void setFrom2 ( Edge* );
|
||||
inline void printInterv () const;
|
||||
inline void printIntervfrom () const;
|
||||
|
||||
private:
|
||||
IntervalC _intervfrom;
|
||||
IntervalC _interv;
|
||||
Edge* _from2;
|
||||
IntervalC _intervfrom2;
|
||||
};
|
||||
|
||||
inline bool GRAData::isiSet () const { return _interv.isiSet() ; }
|
||||
inline IntervalC GRAData::getInterv () const { return _interv; }
|
||||
inline IntervalC GRAData::getIntervFrom() const { return _intervfrom; }
|
||||
inline DbU::Unit GRAData::getIAxis () const { return _interv.getAxis() ; }
|
||||
inline DbU::Unit GRAData::getIMax () const { return _interv.getMax() ; }
|
||||
inline DbU::Unit GRAData::getIMin () const { return _interv.getMin() ; }
|
||||
inline DbU::Unit GRAData::getPIAxis () const { return _intervfrom.getAxis(); }
|
||||
inline DbU::Unit GRAData::getPIMax () const { return _intervfrom.getMax() ; }
|
||||
inline DbU::Unit GRAData::getPIMin () const { return _intervfrom.getMin() ; }
|
||||
|
||||
inline DbU::Unit GRAData::getPIMax2 () const { return _intervfrom2.getMax() ; }
|
||||
inline DbU::Unit GRAData::getPIMin2 () const { return _intervfrom2.getMin() ; }
|
||||
inline DbU::Unit GRAData::getPIAxis2 () const { return _intervfrom2.getAxis(); }
|
||||
inline IntervalC GRAData::getIntervFrom2 () const { return _intervfrom2; }
|
||||
|
||||
inline void GRAData::setInterv ( DbU::Unit min, DbU::Unit max, DbU::Unit axis ) { _interv.set(min, max, axis); }
|
||||
inline void GRAData::setIntervfrom ( DbU::Unit min, DbU::Unit max, DbU::Unit axis ) { _intervfrom.set(min, max, axis); }
|
||||
inline void GRAData::setIntervfrom2( DbU::Unit min, DbU::Unit max, DbU::Unit axis ) { _intervfrom2.set(min, max, axis); }
|
||||
|
||||
inline Edge* GRAData::getFrom2 () const { return _from2; }
|
||||
inline void GRAData::setFrom2 ( Edge* from ) { _from2 = from; }
|
||||
inline void GRAData::printInterv () const { _interv.print() ; }
|
||||
inline void GRAData::printIntervfrom () const { _intervfrom.print(); }
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Class : "Anabatic::Vertex".
|
||||
|
@ -146,6 +180,11 @@ namespace Anabatic {
|
|||
, ERestricted = (1<<2)
|
||||
, WRestricted = (1<<3)
|
||||
, AxisTarget = (1<<4)
|
||||
, From2Mode = (1<<5)
|
||||
, UseFromFrom2 = (1<<6)
|
||||
, iHorizontal = (1<<7)
|
||||
, iVertical = (1<<8)
|
||||
, iSet = (1<<9)
|
||||
};
|
||||
public:
|
||||
static DbU::Unit unreached;
|
||||
|
@ -185,6 +224,7 @@ namespace Anabatic {
|
|||
inline void clearRps ();
|
||||
inline Contact* breakGoThrough ( Net* );
|
||||
|
||||
//////////////////////////////////////// Analog
|
||||
inline bool isNorth ( const Vertex* ) const;
|
||||
inline bool isSouth ( const Vertex* ) const;
|
||||
inline bool isEast ( const Vertex* ) const;
|
||||
|
@ -201,43 +241,52 @@ namespace Anabatic {
|
|||
inline void setSRestricted ();
|
||||
inline void setERestricted ();
|
||||
inline void setWRestricted ();
|
||||
inline unsigned int getFlags () const;
|
||||
inline DbU::Unit getXPath () const;
|
||||
inline DbU::Unit getYPath () const;
|
||||
bool hasRP ( Net* ) const;
|
||||
bool hasVRP ( Net* ) const;
|
||||
bool hasHRP ( Net* ) const;
|
||||
static bool isRestricted ( const Vertex* v1, const Vertex* v2 );
|
||||
static Point getNextPathPoint2( const Vertex*, const Vertex* );
|
||||
Point getPathPoint ( const Vertex * ) const;
|
||||
inline void setIAsH ();
|
||||
inline void setIAsV ();
|
||||
inline DbU::Unit getIAxis () const;
|
||||
inline void setIAxis ( DbU::Unit ) ;
|
||||
inline DbU::Unit getICenter () const;
|
||||
inline DbU::Unit getIMax () const;
|
||||
inline DbU::Unit getIMin () const;
|
||||
inline void setPIAsH ();
|
||||
inline void setPIAsV ();
|
||||
inline DbU::Unit getPIAxis () const;
|
||||
inline void setPIAxis ( DbU::Unit ) ;
|
||||
inline DbU::Unit getPICenter () const;
|
||||
inline DbU::Unit getPIMax () const;
|
||||
inline DbU::Unit getPIMin () const;
|
||||
static bool isRestricted ( const Vertex* v1, const Vertex* v2, DbU::Unit hpitch = 0, DbU::Unit vpitch = 0);
|
||||
bool areSameSide ( const Vertex*, const Vertex* ) const;
|
||||
|
||||
inline bool isFromFrom2 () const;
|
||||
inline bool isFrom2Mode () const;
|
||||
inline bool isAxisTarget () const;
|
||||
inline bool isiHorizontal() const;
|
||||
inline bool isiVertical () const;
|
||||
inline void setFlags ( unsigned int );
|
||||
inline void unsetFlags ( unsigned int );
|
||||
bool isH () const;
|
||||
bool isV () const;
|
||||
inline bool isiSet () const;
|
||||
inline void setInterv ( DbU::Unit, DbU::Unit, DbU::Unit );
|
||||
inline void setIRange ( DbU::Unit, DbU::Unit );
|
||||
inline void setIRangeFrom ( DbU::Unit, DbU::Unit );
|
||||
inline void printInterval () const ;
|
||||
inline void createAData ();
|
||||
////////////////////////////////////
|
||||
Point getStartPathPoint ( const Vertex* next ) const;
|
||||
Point getNextPathPoint ( Point, const Vertex* ) const;
|
||||
//////////////////////////////////////// GRDATA
|
||||
void setIntervals ( Vertex* );
|
||||
void resetIntervals ();
|
||||
inline void setFlags ( unsigned int );
|
||||
inline bool isAxisTarget () const;
|
||||
inline void unsetFlags ( unsigned int );
|
||||
inline void setAxisTarget ();
|
||||
|
||||
bool isiSet () const;
|
||||
DbU::Unit getIAxis () const;
|
||||
DbU::Unit getIMax () const;
|
||||
DbU::Unit getIMin () const;
|
||||
DbU::Unit getPIAxis () const;
|
||||
DbU::Unit getPIMax () const;
|
||||
DbU::Unit getPIMin () const;
|
||||
void setInterv ( DbU::Unit, DbU::Unit, DbU::Unit );
|
||||
void setIntervfrom ( DbU::Unit, DbU::Unit, DbU::Unit );
|
||||
void setIntervfrom2 ( DbU::Unit, DbU::Unit, DbU::Unit );
|
||||
void resetIntervals ();
|
||||
void clearFrom2 ();
|
||||
Edge* getFrom2 () const;
|
||||
void setFrom2 ( Edge* );
|
||||
void createIntervFrom2 ();
|
||||
DbU::Unit getPIMax2 () const;
|
||||
DbU::Unit getPIMin2 () const;
|
||||
DbU::Unit getPIAxis2 () const;
|
||||
IntervalC getIntervFrom2 () const;
|
||||
IntervalC getIntervFrom ( unsigned int criteria = 0 ) const;
|
||||
IntervalC getInterv () const;
|
||||
void printInterv () const;
|
||||
void printIntervfrom () const;
|
||||
GCell* getGPrev ( unsigned int criteria = 0 ) const;
|
||||
|
||||
// Inspector support.
|
||||
string _getString () const;
|
||||
|
@ -257,8 +306,7 @@ namespace Anabatic {
|
|||
DbU::Unit _distance;
|
||||
Edge* _from;
|
||||
unsigned int _flags;
|
||||
IntervalC* _intervfrom;
|
||||
IntervalC* _interv;
|
||||
GRAData* _adata;
|
||||
};
|
||||
|
||||
|
||||
|
@ -274,9 +322,7 @@ namespace Anabatic {
|
|||
, _distance(unreached)
|
||||
, _from (NULL)
|
||||
, _flags (NoRestriction)
|
||||
|
||||
, _intervfrom(IntervalC::create())
|
||||
, _interv (IntervalC::create())
|
||||
, _adata (NULL)
|
||||
{
|
||||
gcell->setObserver( GCell::Observable::Vertex, &_observer );
|
||||
}
|
||||
|
@ -332,32 +378,15 @@ namespace Anabatic {
|
|||
inline void Vertex::setSRestricted () { _flags |= SRestricted; }
|
||||
inline void Vertex::setERestricted () { _flags |= ERestricted; }
|
||||
inline void Vertex::setWRestricted () { _flags |= WRestricted; }
|
||||
inline unsigned int Vertex::getFlags () const { return _flags; }
|
||||
|
||||
inline void Vertex::setIAxis ( DbU::Unit axis ) { _interv->setAxis(axis); }
|
||||
inline DbU::Unit Vertex::getIAxis () const { return _interv->getAxis(); }
|
||||
inline void Vertex::setIAsH () { _interv->setAsH(); }
|
||||
inline void Vertex::setIAsV () { _interv->setAsV(); }
|
||||
inline DbU::Unit Vertex::getICenter () const { return _interv->getCenter(); }
|
||||
inline DbU::Unit Vertex::getIMax () const { return _interv->getMax(); }
|
||||
inline DbU::Unit Vertex::getIMin () const { return _interv->getMin(); }
|
||||
inline void Vertex::setPIAxis ( DbU::Unit axis ) { _intervfrom->setAxis(axis); }
|
||||
inline DbU::Unit Vertex::getPIAxis () const { return _intervfrom->getAxis(); }
|
||||
inline void Vertex::setPIAsH () { _intervfrom->setAsH(); }
|
||||
inline void Vertex::setPIAsV () { _intervfrom->setAsV(); }
|
||||
inline DbU::Unit Vertex::getPICenter() const { return _intervfrom->getCenter(); }
|
||||
inline DbU::Unit Vertex::getPIMax () const { return _intervfrom->getMax(); }
|
||||
inline DbU::Unit Vertex::getPIMin () const { return _intervfrom->getMin(); }
|
||||
inline bool Vertex::isiSet () const { return _interv->isiSet(); }
|
||||
|
||||
inline void Vertex::setInterv ( DbU::Unit min, DbU::Unit max, DbU::Unit axis ) { _interv->set(min, max, axis); }
|
||||
inline void Vertex::setIRange ( DbU::Unit min, DbU::Unit max ) { _interv->setRange(min, max); }
|
||||
inline void Vertex::setIRangeFrom( DbU::Unit min, DbU::Unit max ) { _intervfrom->setRange(min, max); }
|
||||
inline void Vertex::printInterval() const { _interv->print(); }
|
||||
|
||||
inline void Vertex::setAxisTarget() { _flags |= AxisTarget; }
|
||||
inline bool Vertex::isAxisTarget () const { return (_flags & AxisTarget); }
|
||||
inline bool Vertex::isFromFrom2 () const { return (_flags & Vertex::UseFromFrom2); }
|
||||
inline bool Vertex::isFrom2Mode () const { return (_flags & Vertex::From2Mode ); }
|
||||
inline bool Vertex::isAxisTarget () const { return (_flags & Vertex::AxisTarget ); }
|
||||
inline bool Vertex::isiHorizontal() const { return (_flags & Vertex::iHorizontal ); }
|
||||
inline bool Vertex::isiVertical () const { return (_flags & Vertex::iVertical ); }
|
||||
inline void Vertex::setFlags ( unsigned int mask ) { _flags |= mask ; }
|
||||
inline void Vertex::unsetFlags ( unsigned int mask ) { _flags &= ~mask; }
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Class : "Anabatic::PriorityQueue".
|
||||
|
||||
|
@ -462,8 +491,6 @@ namespace Anabatic {
|
|||
Dijkstra ( const Dijkstra& );
|
||||
Dijkstra& operator= ( const Dijkstra& );
|
||||
static DbU::Unit _distance ( const Vertex*, const Vertex*, const Edge* );
|
||||
DbU::Unit _getDistancetoRP ( Point );
|
||||
DbU::Unit _estimatePtoRP ( Point, RoutingPad*, Vertex* );
|
||||
Point _getPonderedPoint () const;
|
||||
void _cleanup ();
|
||||
bool _propagate ( Flags enabledSides );
|
||||
|
@ -481,6 +508,17 @@ namespace Anabatic {
|
|||
inline void unsetFlags ( unsigned int );
|
||||
void setAxisTargets ();
|
||||
void unsetAxisTargets ();
|
||||
|
||||
bool _attachSymContactsHook ( RoutingPad* );
|
||||
void _limitSymSearchArea ( RoutingPad* rp );
|
||||
void _setSourcesGRAData ( Vertex*, RoutingPad*);
|
||||
bool _checkFrom2 ( Edge*, Vertex* );
|
||||
bool _isDistance2Shorter ( DbU::Unit&, Vertex*, Vertex*, Edge* );
|
||||
void _pushEqualDistance ( DbU::Unit, bool, Vertex*, Vertex*, Edge* );
|
||||
void _updateGRAData ( Vertex*, bool, Vertex* );
|
||||
void _initiateUpdateIntervals ( Vertex* );
|
||||
bool _updateIntervals ( bool&, Vertex*, bool&, int&, Edge* );
|
||||
|
||||
private:
|
||||
AnabaticEngine* _anabatic;
|
||||
vector<Vertex*> _vertexes;
|
||||
|
|
|
@ -128,43 +128,43 @@ stylesTable = \
|
|||
, (Drawing, 'spot' , { 'color':'White' , 'border':2, 'threshold':6.0*scale })
|
||||
, (Drawing, 'ghost' , { 'color':'White' , 'border':1 })
|
||||
, (Drawing, 'text.ruler' , { 'color':'White' , 'border':1, 'threshold':0.0 *scale })
|
||||
, (Drawing, 'text.instance' , { 'color':'White' , 'border':1, 'threshold':4.0 *scale })
|
||||
, (Drawing, 'text.reference', { 'color':'White' , 'border':1, 'threshold':20.0*scale })
|
||||
, (Drawing, 'text.instance' , { 'color':'White' , 'border':1, 'threshold':400.0 *scale })
|
||||
, (Drawing, 'text.reference', { 'color':'White' , 'border':1, 'threshold':200.0*scale })
|
||||
, (Drawing, 'undef' , { 'color':'Violet' , 'border':0, 'pattern':'2244118822441188' })
|
||||
|
||||
# Active Layers.
|
||||
, (Group , 'Active Layers')
|
||||
, (Drawing, 'nWell' , { 'color':'Tan' , 'pattern':'urgo.8' , 'border':1, 'threshold':1.50*scale })
|
||||
, (Drawing, 'pWell' , { 'color':'LightYellow', 'pattern':'urgo.8' , 'border':1, 'threshold':1.50*scale })
|
||||
, (Drawing, 'nImplant', { 'color':'LawnGreen' , 'pattern':'antihash0.8' , 'border':1, 'threshold':1.50*scale })
|
||||
, (Drawing, 'pImplant', { 'color':'Yellow' , 'pattern':'antihash0.8' , 'border':1, 'threshold':1.50*scale })
|
||||
, (Drawing, 'active' , { 'color':'White' , 'pattern':'antihash1.8' , 'border':1, 'threshold':1.50*scale })
|
||||
, (Drawing, 'poly' , { 'color':'Red' , 'pattern':'poids2.8' , 'border':1, 'threshold':1.50*scale })
|
||||
, (Drawing, 'poly2' , { 'color':poly2Color , 'pattern':'poids2.8' , 'border':1, 'threshold':1.50*scale })
|
||||
, (Drawing, 'nWell' , { 'color':'Tan' , 'pattern':'urgo.8' , 'border':1, 'threshold':0*scale })
|
||||
, (Drawing, 'pWell' , { 'color':'LightYellow', 'pattern':'urgo.8' , 'border':1, 'threshold':0*scale })
|
||||
, (Drawing, 'nImplant', { 'color':'LawnGreen' , 'pattern':'antihash0.8' , 'border':1, 'threshold':0*scale })
|
||||
, (Drawing, 'pImplant', { 'color':'Yellow' , 'pattern':'antihash0.8' , 'border':1, 'threshold':0*scale })
|
||||
, (Drawing, 'active' , { 'color':'White' , 'pattern':'antihash1.8' , 'border':1, 'threshold':0*scale })
|
||||
, (Drawing, 'poly' , { 'color':'Red' , 'pattern':'poids2.8' , 'border':1, 'threshold':0*scale })
|
||||
, (Drawing, 'poly2' , { 'color':poly2Color , 'pattern':'poids2.8' , 'border':1, 'threshold':0*scale })
|
||||
|
||||
# Routing Layers.
|
||||
, (Group , 'Routing Layers')
|
||||
#, (Drawing, 'metal1', { 'color':'Blue' , 'pattern':'light_antislash0.8', 'border':1, 'threshold':0.80*scale })
|
||||
, (Drawing, 'metal1', { 'color':'Blue' , 'pattern':'slash.8' , 'border':1, 'threshold':0.80*scale })
|
||||
, (Drawing, 'metal2', { 'color':'Aqua' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.02*scale })
|
||||
, (Drawing, 'metcap', { 'color':'DarkTurquoise', 'pattern':'poids2.8' , 'border':2, 'threshold':0.02*scale })
|
||||
, (Drawing, 'metal3', { 'color':'LightPink' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.02*scale })
|
||||
, (Drawing, 'metal4', { 'color':'Green' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.02*scale })
|
||||
, (Drawing, 'metal5', { 'color':'Yellow' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.02*scale })
|
||||
, (Drawing, 'metal6', { 'color':'Violet' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.02*scale })
|
||||
, (Drawing, 'metal7', { 'color':'Red' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.02*scale })
|
||||
, (Drawing, 'metal8', { 'color':'Blue' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.02*scale })
|
||||
, (Drawing, 'metal1', { 'color':'Blue' , 'pattern':'slash.8' , 'border':1, 'threshold':00*scale })
|
||||
, (Drawing, 'metal2', { 'color':'Aqua' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale })
|
||||
, (Drawing, 'metcap', { 'color':'DarkTurquoise', 'pattern':'poids2.8' , 'border':2, 'threshold':0.0*scale })
|
||||
, (Drawing, 'metal3', { 'color':'LightPink' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale })
|
||||
, (Drawing, 'metal4', { 'color':'Green' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale })
|
||||
, (Drawing, 'metal5', { 'color':'Yellow' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale })
|
||||
, (Drawing, 'metal6', { 'color':'Violet' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale })
|
||||
, (Drawing, 'metal7', { 'color':'Red' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale })
|
||||
, (Drawing, 'metal8', { 'color':'Blue' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale })
|
||||
|
||||
# Cuts (VIA holes).
|
||||
, (Group , 'Cuts (VIA holes)')
|
||||
, (Drawing, 'cut0', { 'color':'0,150,150', 'threshold':1.50*scale })
|
||||
, (Drawing, 'cut1', { 'color':'Aqua' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut2', { 'color':'LightPink', 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut3', { 'color':'Green' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut4', { 'color':'Yellow' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut5', { 'color':'Violet' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut6', { 'color':'Red' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut7', { 'color':'Blue' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut0', { 'color':'0,150,150', 'threshold':0*scale })
|
||||
, (Drawing, 'cut1', { 'color':'Aqua' , 'threshold':0.0*scale })
|
||||
, (Drawing, 'cut2', { 'color':'LightPink', 'threshold':0.0*scale })
|
||||
, (Drawing, 'cut3', { 'color':'Green' , 'threshold':0.0*scale })
|
||||
, (Drawing, 'cut4', { 'color':'Yellow' , 'threshold':0.0*scale })
|
||||
, (Drawing, 'cut5', { 'color':'Violet' , 'threshold':0.0*scale })
|
||||
, (Drawing, 'cut6', { 'color':'Red' , 'threshold':0.0*scale })
|
||||
, (Drawing, 'cut7', { 'color':'Blue' , 'threshold':0.0*scale })
|
||||
|
||||
# MIM6.
|
||||
, (Group , 'MIM6')
|
||||
|
@ -192,7 +192,7 @@ stylesTable = \
|
|||
, (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8', 'border':1 })
|
||||
, (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 })
|
||||
, (Drawing, 'Anabatic::Edge' , { 'color':'255,255,190', 'pattern':'0000000000000000', 'border':4, 'threshold':0.02*scale })
|
||||
, (Drawing, 'Anabatic::GCell', { 'color':'255,255,190', 'pattern':'0000000000000000', 'border':4, 'threshold':0.10*scale })
|
||||
, (Drawing, 'Anabatic::GCell', { 'color':'128,128,128', 'pattern':'0000000000000000', 'border':4, 'threshold':0.10*scale })
|
||||
)
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
|
|
|
@ -126,7 +126,7 @@ namespace Hurricane {
|
|||
|
||||
_flags = flags;
|
||||
|
||||
int scale = 4 * Cfg::getParamEnumerate("viewer.printer.mode")->asInt();
|
||||
int scale = 80 * Cfg::getParamEnumerate("viewer.printer.mode")->asInt();
|
||||
_drawingWidth = _cellWidget->width ()*scale;
|
||||
_drawingHeight = _cellWidget->height()*scale;
|
||||
|
||||
|
|
Loading…
Reference in New Issue