Pre-commit for updating git depositary.

This commit is contained in:
EricLaoGitHub 2017-04-18 11:58:55 +02:00
parent eeeb3ff67e
commit 8bf1f63557
4 changed files with 877 additions and 201 deletions

File diff suppressed because it is too large Load Diff

View File

@ -39,41 +39,20 @@ namespace Anabatic {
// ------------------------------------------------------------------- // -------------------------------------------------------------------
// Class : "Anabatic::Symmetry". // Class : "Anabatic::GRAData".
/*
class Symmetry class GRAData
{ {
public:
enum iFlag { None = 0
, sHorizontal = (1<<0)
, sVertical = (1<<1)
, sCFound = (1<<2)
};
private: private:
Symmetry(unsigned int, DbU::Unit); GRAData();
~Symmetry(); ~GRAData();
public: public:
static Symmetry* create(unsigned int, DbU::Unit); static GRAData* create();
public:
unsigned int getType () const;
inline DbU::Unit getValue() const;
inline bool isCFound() const;
inline void setAsH();
inline void setAsV();
inline void setFound();
private: private:
unsigned int _flags; IntervalC* _intervfrom;
DbU::Unit _value; IntervalC* _interv;
}; };*/
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". // Class : "Anabatic::IntervalC".
@ -93,6 +72,7 @@ namespace Anabatic {
static IntervalC* create(); static IntervalC* create();
public: public:
void destroy ();
void set ( DbU::Unit, DbU::Unit, DbU::Unit ); void set ( DbU::Unit, DbU::Unit, DbU::Unit );
void setRange ( DbU::Unit, DbU::Unit ); void setRange ( DbU::Unit, DbU::Unit );
void extendMin ( DbU::Unit ); void extendMin ( DbU::Unit );
@ -146,6 +126,8 @@ namespace Anabatic {
, ERestricted = (1<<2) , ERestricted = (1<<2)
, WRestricted = (1<<3) , WRestricted = (1<<3)
, AxisTarget = (1<<4) , AxisTarget = (1<<4)
, From2Mode = (1<<5)
, UseFromFrom2 = (1<<6)
}; };
public: public:
static DbU::Unit unreached; static DbU::Unit unreached;
@ -185,6 +167,7 @@ namespace Anabatic {
inline void clearRps (); inline void clearRps ();
inline Contact* breakGoThrough ( Net* ); inline Contact* breakGoThrough ( Net* );
//////////////////////////////////////// Analog
inline bool isNorth ( const Vertex* ) const; inline bool isNorth ( const Vertex* ) const;
inline bool isSouth ( const Vertex* ) const; inline bool isSouth ( const Vertex* ) const;
inline bool isEast ( const Vertex* ) const; inline bool isEast ( const Vertex* ) const;
@ -201,9 +184,7 @@ namespace Anabatic {
inline void setSRestricted (); inline void setSRestricted ();
inline void setERestricted (); inline void setERestricted ();
inline void setWRestricted (); inline void setWRestricted ();
inline unsigned int getFlags () const; //inline unsigned int getFlags () const;
inline DbU::Unit getXPath () const;
inline DbU::Unit getYPath () const;
bool hasRP ( Net* ) const; bool hasRP ( Net* ) const;
bool hasVRP ( Net* ) const; bool hasVRP ( Net* ) const;
bool hasHRP ( Net* ) const; bool hasHRP ( Net* ) const;
@ -213,35 +194,54 @@ namespace Anabatic {
inline void setIAsH (); inline void setIAsH ();
inline void setIAsV (); inline void setIAsV ();
inline DbU::Unit getIAxis () const; inline DbU::Unit getIAxis () const;
inline void setIAxis ( DbU::Unit ) ; //inline void setIAxis ( DbU::Unit ) ;
inline DbU::Unit getICenter () const; //inline DbU::Unit getICenter () const;
inline DbU::Unit getIMax () const; inline DbU::Unit getIMax () const;
inline DbU::Unit getIMin () const; inline DbU::Unit getIMin () const;
inline void setPIAsH (); //inline void setPIAsH ();
inline void setPIAsV (); //inline void setPIAsV ();
inline DbU::Unit getPIAxis () const; inline DbU::Unit getPIAxis () const;
inline void setPIAxis ( DbU::Unit ) ; //inline void setPIAxis ( DbU::Unit ) ;
inline DbU::Unit getPICenter () const; //inline DbU::Unit getPICenter () const;
inline DbU::Unit getPIMax () const; inline DbU::Unit getPIMax () const;
inline DbU::Unit getPIMin () const; inline DbU::Unit getPIMin () const;
bool isH () const; bool isH () const;
bool isV () const; bool isV () const;
inline bool isiSet () const; inline bool isiSet () const;
inline void setInterv ( DbU::Unit, DbU::Unit, DbU::Unit ); inline void setInterv ( DbU::Unit, DbU::Unit, DbU::Unit );
inline void setIRange ( DbU::Unit, DbU::Unit ); inline void setIntervfrom ( DbU::Unit, DbU::Unit, DbU::Unit );
inline void setIRangeFrom ( DbU::Unit, DbU::Unit ); //inline void setIRange ( DbU::Unit, DbU::Unit );
inline void printInterval () const ; //inline void setIRangeFrom ( DbU::Unit, DbU::Unit );
//inline void printInterval () const ;
void setIntervals ( Vertex* ); void setIntervals ( Vertex* );
void resetIntervals (); void resetIntervals ();
inline void setFlags ( unsigned int ); inline void setFlags ( unsigned int );
inline bool isAxisTarget () const; inline bool isAxisTarget () const;
inline void unsetFlags ( unsigned int ); inline void unsetFlags ( unsigned int );
inline void setAxisTarget (); inline void setAxisTarget ();
DbU::Unit getXMinUnionfrom (); //DbU::Unit getXMinUnionfrom ();
DbU::Unit getXMaxUnionfrom (); //DbU::Unit getXMaxUnionfrom ();
DbU::Unit getYMinUnionfrom (); //DbU::Unit getYMinUnionfrom ();
DbU::Unit getYMaxUnionfrom (); //DbU::Unit getYMaxUnionfrom ();
bool areSameSide ( const Vertex*, const Vertex* ) const;
Point getStartPathPoint ( const Vertex* next ) const;
Point getNextPathPoint ( Point, const Vertex* ) const;
void clearFrom2 ();
inline void setFrom2Mode ();
inline void unsetFrom2Mode ();
inline bool isFrom2Mode () const;
inline Edge* getFrom2 () const;
inline bool isFromFrom2 () const;
inline void setFromFrom2 () ;
inline void unsetFromFrom2 () ;
//inline Vertex* getPredecessor2 () const;
inline void setFrom2 ( Edge* );
inline void createIntervFrom2 ();
inline DbU::Unit getPIMax2 () const;
inline DbU::Unit getPIMin2 () const;
inline DbU::Unit getPIAxis2 () const;
inline IntervalC* getIntervFrom2 () const;
inline IntervalC* getIntervFrom () const;
// Inspector support. // Inspector support.
string _getString () const; string _getString () const;
@ -263,6 +263,8 @@ namespace Anabatic {
unsigned int _flags; unsigned int _flags;
IntervalC* _intervfrom; IntervalC* _intervfrom;
IntervalC* _interv; IntervalC* _interv;
Edge* _from2;
IntervalC* _intervfrom2;
}; };
@ -279,8 +281,10 @@ namespace Anabatic {
, _from (NULL) , _from (NULL)
, _flags (NoRestriction) , _flags (NoRestriction)
, _intervfrom(IntervalC::create()) , _intervfrom (IntervalC::create())
, _interv (IntervalC::create()) , _interv (IntervalC::create())
, _from2 (NULL)
, _intervfrom2(NULL)
{ {
gcell->setObserver( GCell::Observable::Vertex, &_observer ); gcell->setObserver( GCell::Observable::Vertex, &_observer );
} }
@ -336,32 +340,51 @@ namespace Anabatic {
inline void Vertex::setSRestricted () { _flags |= SRestricted; } inline void Vertex::setSRestricted () { _flags |= SRestricted; }
inline void Vertex::setERestricted () { _flags |= ERestricted; } inline void Vertex::setERestricted () { _flags |= ERestricted; }
inline void Vertex::setWRestricted () { _flags |= WRestricted; } inline void Vertex::setWRestricted () { _flags |= WRestricted; }
inline unsigned int Vertex::getFlags () const { return _flags; } //inline unsigned int Vertex::getFlags () const { return _flags; }
inline void Vertex::setIAxis ( DbU::Unit axis ) { _interv->setAxis(axis); } //inline void Vertex::setIAxis ( DbU::Unit axis ) { _interv->setAxis(axis); }
inline DbU::Unit Vertex::getIAxis () const { return _interv->getAxis(); } inline DbU::Unit Vertex::getIAxis () const { return _interv->getAxis(); }
inline void Vertex::setIAsH () { _interv->setAsH(); } inline void Vertex::setIAsH () { _interv->setAsH(); }
inline void Vertex::setIAsV () { _interv->setAsV(); } inline void Vertex::setIAsV () { _interv->setAsV(); }
inline DbU::Unit Vertex::getICenter () const { return _interv->getCenter(); } //inline DbU::Unit Vertex::getICenter () const { return _interv->getCenter(); }
inline DbU::Unit Vertex::getIMax () const { return _interv->getMax(); } inline DbU::Unit Vertex::getIMax () const { return _interv->getMax(); }
inline DbU::Unit Vertex::getIMin () const { return _interv->getMin(); } inline DbU::Unit Vertex::getIMin () const { return _interv->getMin(); }
inline void Vertex::setPIAxis ( DbU::Unit axis ) { _intervfrom->setAxis(axis); } //inline void Vertex::setPIAxis ( DbU::Unit axis ) { _intervfrom->setAxis(axis); }
inline DbU::Unit Vertex::getPIAxis () const { return _intervfrom->getAxis(); } inline DbU::Unit Vertex::getPIAxis () const { return _intervfrom->getAxis(); }
inline void Vertex::setPIAsH () { _intervfrom->setAsH(); } //inline void Vertex::setPIAsH () { _intervfrom->setAsH(); }
inline void Vertex::setPIAsV () { _intervfrom->setAsV(); } //inline void Vertex::setPIAsV () { _intervfrom->setAsV(); }
inline DbU::Unit Vertex::getPICenter() const { return _intervfrom->getCenter(); } //inline DbU::Unit Vertex::getPICenter() const { return _intervfrom->getCenter(); }
inline DbU::Unit Vertex::getPIMax () const { return _intervfrom->getMax(); } inline DbU::Unit Vertex::getPIMax () const { return _intervfrom->getMax(); }
inline DbU::Unit Vertex::getPIMin () const { return _intervfrom->getMin(); } inline DbU::Unit Vertex::getPIMin () const { return _intervfrom->getMin(); }
inline bool Vertex::isiSet () const { return _interv->isiSet(); } 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::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::setIntervfrom( DbU::Unit min, DbU::Unit max, DbU::Unit axis ) { _intervfrom->set(min, max, axis); }
inline void Vertex::setIRangeFrom( DbU::Unit min, DbU::Unit max ) { _intervfrom->setRange(min, max); } //inline void Vertex::setIRange ( DbU::Unit min, DbU::Unit max ) { _interv->setRange(min, max); }
inline void Vertex::printInterval() const { _interv->print(); } //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 void Vertex::setAxisTarget() { _flags |= AxisTarget; }
inline bool Vertex::isAxisTarget () const { return (_flags & AxisTarget); } inline bool Vertex::isAxisTarget () const { return (_flags & AxisTarget); }
inline void Vertex::unsetFlags ( unsigned int mask ) { _flags &= ~mask; } inline void Vertex::unsetFlags ( unsigned int mask ) { _flags &= ~mask; }
inline void Vertex::setFrom2Mode () { _flags |= Vertex::From2Mode; }
inline void Vertex::unsetFrom2Mode () { unsetFlags(Vertex::From2Mode); }
inline bool Vertex::isFrom2Mode () const { return (_flags & Vertex::From2Mode); }
inline Edge* Vertex::getFrom2 () const { return _from2; }
inline void Vertex::setFromFrom2 () { _flags |= Vertex::UseFromFrom2; }
inline void Vertex::unsetFromFrom2 () { unsetFlags(Vertex::UseFromFrom2); }
inline bool Vertex::isFromFrom2 () const { return (_flags & Vertex::UseFromFrom2); }
//inline Vertex* Vertex::getPredecessor2 () const
//{ return (hasValidStamp() and _from2) ? _from2->getOpposite(_gcell)->getObserver<Vertex>(GCell::Observable::Vertex) : NULL; }
inline void Vertex::setFrom2 ( Edge* from ) { _from2=from; }
inline void Vertex::createIntervFrom2() { _intervfrom2 = IntervalC::create(); }
inline DbU::Unit Vertex::getPIMax2 () const { return _intervfrom2->getMax() ; }
inline DbU::Unit Vertex::getPIMin2 () const { return _intervfrom2->getMin() ; }
inline DbU::Unit Vertex::getPIAxis2 () const { return _intervfrom2->getAxis(); }
inline IntervalC* Vertex::getIntervFrom2 () const { return _intervfrom2; }
inline IntervalC* Vertex::getIntervFrom () const { return _intervfrom; }
// ------------------------------------------------------------------- // -------------------------------------------------------------------
// Class : "Anabatic::PriorityQueue". // Class : "Anabatic::PriorityQueue".

View File

@ -128,43 +128,43 @@ stylesTable = \
, (Drawing, 'spot' , { 'color':'White' , 'border':2, 'threshold':6.0*scale }) , (Drawing, 'spot' , { 'color':'White' , 'border':2, 'threshold':6.0*scale })
, (Drawing, 'ghost' , { 'color':'White' , 'border':1 }) , (Drawing, 'ghost' , { 'color':'White' , 'border':1 })
, (Drawing, 'text.ruler' , { 'color':'White' , 'border':1, 'threshold':0.0 *scale }) , (Drawing, 'text.ruler' , { 'color':'White' , 'border':1, 'threshold':0.0 *scale })
, (Drawing, 'text.instance' , { 'color':'White' , 'border':1, 'threshold':4.0 *scale }) , (Drawing, 'text.instance' , { 'color':'White' , 'border':1, 'threshold':400.0 *scale })
, (Drawing, 'text.reference', { 'color':'White' , 'border':1, 'threshold':20.0*scale }) , (Drawing, 'text.reference', { 'color':'White' , 'border':1, 'threshold':200.0*scale })
, (Drawing, 'undef' , { 'color':'Violet' , 'border':0, 'pattern':'2244118822441188' }) , (Drawing, 'undef' , { 'color':'Violet' , 'border':0, 'pattern':'2244118822441188' })
# Active Layers. # Active Layers.
, (Group , 'Active Layers') , (Group , 'Active Layers')
, (Drawing, 'nWell' , { 'color':'Tan' , 'pattern':'urgo.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':1.50*scale }) , (Drawing, 'pWell' , { 'color':'LightYellow', 'pattern':'urgo.8' , 'border':1, 'threshold':0*scale })
, (Drawing, 'nImplant', { 'color':'LawnGreen' , 'pattern':'antihash0.8' , 'border':1, 'threshold':1.50*scale }) , (Drawing, 'nImplant', { 'color':'LawnGreen' , 'pattern':'antihash0.8' , 'border':1, 'threshold':0*scale })
, (Drawing, 'pImplant', { 'color':'Yellow' , 'pattern':'antihash0.8' , 'border':1, 'threshold':1.50*scale }) , (Drawing, 'pImplant', { 'color':'Yellow' , 'pattern':'antihash0.8' , 'border':1, 'threshold':0*scale })
, (Drawing, 'active' , { 'color':'White' , 'pattern':'antihash1.8' , 'border':1, 'threshold':1.50*scale }) , (Drawing, 'active' , { 'color':'White' , 'pattern':'antihash1.8' , 'border':1, 'threshold':0*scale })
, (Drawing, 'poly' , { 'color':'Red' , 'pattern':'poids2.8' , 'border':1, 'threshold':1.50*scale }) , (Drawing, 'poly' , { 'color':'Red' , 'pattern':'poids2.8' , 'border':1, 'threshold':0*scale })
, (Drawing, 'poly2' , { 'color':poly2Color , 'pattern':'poids2.8' , 'border':1, 'threshold':1.50*scale }) , (Drawing, 'poly2' , { 'color':poly2Color , 'pattern':'poids2.8' , 'border':1, 'threshold':0*scale })
# Routing Layers. # Routing Layers.
, (Group , 'Routing Layers') , (Group , 'Routing Layers')
#, (Drawing, 'metal1', { 'color':'Blue' , 'pattern':'light_antislash0.8', 'border':1, 'threshold':0.80*scale }) #, (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, 'metal1', { 'color':'Blue' , 'pattern':'slash.8' , 'border':1, 'threshold':00*scale })
, (Drawing, 'metal2', { 'color':'Aqua' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.02*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.02*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.02*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.02*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.02*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.02*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.02*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.02*scale }) , (Drawing, 'metal8', { 'color':'Blue' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale })
# Cuts (VIA holes). # Cuts (VIA holes).
, (Group , 'Cuts (VIA holes)') , (Group , 'Cuts (VIA holes)')
, (Drawing, 'cut0', { 'color':'0,150,150', 'threshold':1.50*scale }) , (Drawing, 'cut0', { 'color':'0,150,150', 'threshold':0*scale })
, (Drawing, 'cut1', { 'color':'Aqua' , 'threshold':0.80*scale }) , (Drawing, 'cut1', { 'color':'Aqua' , 'threshold':0.0*scale })
, (Drawing, 'cut2', { 'color':'LightPink', 'threshold':0.80*scale }) , (Drawing, 'cut2', { 'color':'LightPink', 'threshold':0.0*scale })
, (Drawing, 'cut3', { 'color':'Green' , 'threshold':0.80*scale }) , (Drawing, 'cut3', { 'color':'Green' , 'threshold':0.0*scale })
, (Drawing, 'cut4', { 'color':'Yellow' , 'threshold':0.80*scale }) , (Drawing, 'cut4', { 'color':'Yellow' , 'threshold':0.0*scale })
, (Drawing, 'cut5', { 'color':'Violet' , 'threshold':0.80*scale }) , (Drawing, 'cut5', { 'color':'Violet' , 'threshold':0.0*scale })
, (Drawing, 'cut6', { 'color':'Red' , 'threshold':0.80*scale }) , (Drawing, 'cut6', { 'color':'Red' , 'threshold':0.0*scale })
, (Drawing, 'cut7', { 'color':'Blue' , 'threshold':0.80*scale }) , (Drawing, 'cut7', { 'color':'Blue' , 'threshold':0.0*scale })
# MIM6. # MIM6.
, (Group , 'MIM6') , (Group , 'MIM6')
@ -192,7 +192,7 @@ stylesTable = \
, (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8', 'border':1 }) , (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8', 'border':1 })
, (Drawing, 'gcut' , { 'color':'255,255,190', '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::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 })
) )
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------

View File

@ -126,7 +126,7 @@ namespace Hurricane {
_flags = flags; _flags = flags;
int scale = 4 * Cfg::getParamEnumerate("viewer.printer.mode")->asInt(); int scale = 80 * Cfg::getParamEnumerate("viewer.printer.mode")->asInt();
_drawingWidth = _cellWidget->width ()*scale; _drawingWidth = _cellWidget->width ()*scale;
_drawingHeight = _cellWidget->height()*scale; _drawingHeight = _cellWidget->height()*scale;