Simple Nano Circuit 0.0.2
FootPinNode Class Reference
Inheritance diagram for FootPinNode:
BaseElectronObject

Public Types

enum class  ClockLocation {
  FREE = 1 , LEFT , RIGHT , TOP ,
  BOTTOM , LEFTTOP , LEFTBOTTOM , RIGHTTOP ,
  RIGHTBOTTOM
}
 
enum class  WireEndPointLocation { START = 1 , END }
 
enum class  Translate { Yes = 1 , No }
 
- Public Types inherited from BaseElectronObject
enum class  RendererEffective { Valid = 1 , Invalid }
 

Public Member Functions

void calcCenterPos ()
 
 FootPinNode (BaseIcObject *, FootPinNode::ClockLocation, int, ICType, PinProperty)
 ICFoot.
 
void turnClockLocation ()
 
void turnClockMirrow ()
 
 FootPinNode (AsgardClass *)
 FreePin.
 
 FootPinNode (FootPinNode *)
 
 FootPinNode (const unsigned char *, AsgardClass *)
 
BaseElectronObjectprocessClickEvent (SDL_Point &) override
 
void processKeyEvent (int) override
 
BaseElectronObjectdeepDuplicateSelf () override
 
void calcCenterPos4Wire ()
 
 FootPinNode (WireObject *, FootPinNode::WireEndPointLocation)
 Wire.
 
 ~FootPinNode ()
 任何点类型都可使用
 
const ICType getType () const override
 
SDL_Rect getLocationRect () override
 
void Drawing () override
 
void Drawing (BaseElectronObject::RendererEffective) override
 
NetlistManagerClass::BindResult bindNetlist ()
 
bool havePopupWindow () override
 
const char * popupWindowName () const override
 
void CreateImGuiForm () override
 
bool isPinSameLocation (FootPinNode *)
 
bool isPointSameLocation (SDL_Point &)
 
bool isFreePin ()
 
void setNetlist (NetlistClass *_nl)
 
NetlistClassgetNetlist ()
 
size_t getNetlistIndex ()
 
void resetCurrentState ()
 
bool isCurrentReady ()
 
std::string getPosLocationDescription ()
 
void updateCurrentState (double, Translate)
 
double getCurrent ()
 
bool isValid ()
 
bool isInvalid ()
 
void setValid ()
 
void setInvalid (Translate)
 
void setVoltage (const double &)
 
double getVoltage ()
 
void saveToFile (std::ofstream &) override
 
void processMouseMotion (const SDL_Point &) override
 
- Public Member Functions inherited from BaseElectronObject
 BaseElectronObject (AsgardClass *)
 
virtual const ICType getType () const =0
 
virtual void Drawing ()=0
 
virtual void Drawing (BaseElectronObject::RendererEffective)=0
 
virtual BaseElectronObjectprocessClickEvent (SDL_Point &)=0
 
virtual void processKeyEvent (int)=0
 
virtual BaseElectronObjectdeepDuplicateSelf ()=0
 
virtual SDL_Rect getLocationRect ()=0
 
virtual const char * popupWindowName () const =0
 
virtual bool havePopupWindow ()=0
 
virtual void CreateImGuiForm ()=0
 
virtual void saveToFile (std::ofstream &)=0
 
virtual void processMouseMotion (const SDL_Point &)=0
 

Public Attributes

BaseIcObjectforIC = nullptr
 
FootPinNode::ClockLocation pinClockLocation
 
int pinOffset = 0
 
PinProperty pinProperty = PinProperty::NonPolar
 
ICType fatherIcType = ICType::None
 
WireObjectforWire = nullptr
 
FootPinNode::WireEndPointLocation pinWireEndPointLocation
 
SDL_Rect selfLocationRect
 
SDL_Point centerPos
 
NetlistClassattachedNet = nullptr
 
double voltage = 0.0
 
- Public Attributes inherited from BaseElectronObject
const int moveMinStepLength = MIN_STEP_LENGTH
 
AsgardClassasgard = nullptr
 

Member Function Documentation

◆ CreateImGuiForm()

void FootPinNode::CreateImGuiForm ( )
inlineoverridevirtual

Implements BaseElectronObject.

◆ deepDuplicateSelf()

BaseElectronObject * FootPinNode::deepDuplicateSelf ( )
overridevirtual

Implements BaseElectronObject.

◆ Drawing() [1/2]

void FootPinNode::Drawing ( )
overridevirtual

Implements BaseElectronObject.

◆ Drawing() [2/2]

void FootPinNode::Drawing ( BaseElectronObject::RendererEffective  _rendererEffective)
overridevirtual

Implements BaseElectronObject.

◆ getLocationRect()

SDL_Rect FootPinNode::getLocationRect ( )
overridevirtual

Implements BaseElectronObject.

◆ getType()

const ICType FootPinNode::getType ( ) const
inlineoverridevirtual

Implements BaseElectronObject.

◆ havePopupWindow()

bool FootPinNode::havePopupWindow ( )
inlineoverridevirtual

Implements BaseElectronObject.

◆ popupWindowName()

const char * FootPinNode::popupWindowName ( ) const
inlineoverridevirtual

Implements BaseElectronObject.

◆ processClickEvent()

BaseElectronObject * FootPinNode::processClickEvent ( SDL_Point &  _mouseClickPos)
overridevirtual

Implements BaseElectronObject.

◆ processKeyEvent()

void FootPinNode::processKeyEvent ( int  )
inlineoverridevirtual

Implements BaseElectronObject.

◆ processMouseMotion()

void FootPinNode::processMouseMotion ( const SDL_Point &  _mousePos)
overridevirtual

Implements BaseElectronObject.

◆ saveToFile()

void FootPinNode::saveToFile ( std::ofstream &  file)
overridevirtual

Implements BaseElectronObject.


The documentation for this class was generated from the following files: