4#include "PinProperty.h"
7#include "BaseElectronObject.h"
8#include "NetlistManagerClass.h"
9#include "NetlistClass.h"
23 FootPinNode::PinType pinType;
35 SDL_Point relatePos = {0, 0};
36 void buildRelateXY4IC();
43 SDL_Rect calcDrawingRect();
46 enum class ClockLocation
59 enum class WireEndPointLocation
69 FootPinNode::ClockLocation pinClockLocation;
72 void turnClockLocation();
73 void turnClockMirrow();
75 PinProperty pinProperty = PinProperty::NonPolar;
76 ICType fatherIcType = ICType::None;
84 void processKeyEvent(
int )
override {
return; };
86 void calcCenterPos4Wire();
92 FootPinNode::WireEndPointLocation pinWireEndPointLocation;
97 SDL_Rect selfLocationRect;
99 const ICType getType()
const override {
return ICType::FootPin;}
100 SDL_Rect getLocationRect()
override;
102 void Drawing()
override;
103 void Drawing( BaseElectronObject::RendererEffective )
override;
105 NetlistManagerClass::BindResult bindNetlist();
108 bool havePopupWindow()
override {
return false;}
109 const char* popupWindowName()
const override {
return "";}
110 void CreateImGuiForm()
override {
return;};
113 bool isPointSameLocation( SDL_Point& );
118 void setNetlist(
NetlistClass* _nl) {this->attachedNet = _nl;};
121 size_t getNetlistIndex();
132 double current = 0.0;
133 bool currentReady =
false;
135 void resetCurrentState();
136 bool isCurrentReady();
137 std::string getPosLocationDescription();
138 void updateCurrentState(
double, Translate);
147 void setInvalid(Translate);
149 double voltage = 0.0;
150 void setVoltage(
const double&);
151 double getVoltage() {
return this->voltage;};
153 void saveToFile(std::ofstream&)
override;
155 void processMouseMotion(
const SDL_Point&)
override;
Definition: AsgardClass.h:17
Definition: BaseElectronObject.h:13
Definition: BaseIcObject.h:11
Definition: NetlistClass.h:19
Definition: WireObject.h:14