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

Public Member Functions

 WireObject (AsgardClass *)
 
 WireObject (WireObject *)
 
 WireObject (const unsigned char *, AsgardClass *)
 
const ICType getType () const override
 
void Drawing () override
 
void Drawing (BaseElectronObject::RendererEffective) override
 
BaseElectronObjectprocessClickEvent (SDL_Point &) override
 
BaseElectronObjectdeepDuplicateSelf () override
 
void processKeyEvent (int) override
 
bool isDrawing ()
 
void resetToDrawNewLine ()
 
SDL_Rect getLocationRect () override
 
NetlistManagerClass::BindResult bindNetlist ()
 wire自身向 netlistManager 申请进行网络绑定
 
bool havePopupWindow () override
 
const char * popupWindowName () const override
 
void CreateImGuiForm () override
 
void beSplitedToMultiSubLines (FootPinNode *)
 
bool isPinOnSegment (FootPinNode *)
 
bool isPointOnSegment (SDL_Point)
 
void setNetlist (NetlistClass *_nl)
 
const double getCurrent ()
 
SDL_Point SDL_middlePoint ()
 
void pinInvalidNotify (FootPinNode *)
 
void setCurrentNotify (FootPinNode *)
 
void saveToFile (std::ofstream &) override
 
void processMouseMotion (const SDL_Point &) override
 
void DrawingElectronAnimate (SDL_Point, SDL_Point)
 
- 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

const int lineBorder = 4
 
SDL_Point startPos
 
SDL_Point endPos
 
SDL_Point mousePos
 
FootPinNodestartPin = nullptr
 
FootPinNodeendPin = nullptr
 
WireObject::DrawingLineStage drawingLineStage = WireObject::DrawingLineStage::NotYet
 
NetlistClassattachedNet = nullptr
 
double currentPositionOffset = 0
 
- Public Attributes inherited from BaseElectronObject
const int moveMinStepLength = MIN_STEP_LENGTH
 
AsgardClassasgard = nullptr
 

Additional Inherited Members

- Public Types inherited from BaseElectronObject
enum class  RendererEffective { Valid = 1 , Invalid }
 

Member Function Documentation

◆ beSplitedToMultiSubLines()

void WireObject::beSplitedToMultiSubLines ( FootPinNode footPin)

pin端点改造之后,下面的线段分割方法也进行了相应的调整

◆ CreateImGuiForm()

void WireObject::CreateImGuiForm ( )
inlineoverridevirtual

Implements BaseElectronObject.

◆ deepDuplicateSelf()

BaseElectronObject * WireObject::deepDuplicateSelf ( )
overridevirtual

Implements BaseElectronObject.

◆ Drawing() [1/2]

void WireObject::Drawing ( )
overridevirtual

Implements BaseElectronObject.

◆ Drawing() [2/2]

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

Implements BaseElectronObject.

◆ getLocationRect()

SDL_Rect WireObject::getLocationRect ( )
overridevirtual

Implements BaseElectronObject.

◆ getType()

const ICType WireObject::getType ( ) const
inlineoverridevirtual

Implements BaseElectronObject.

◆ havePopupWindow()

bool WireObject::havePopupWindow ( )
inlineoverridevirtual

Implements BaseElectronObject.

◆ popupWindowName()

const char * WireObject::popupWindowName ( ) const
inlineoverridevirtual

Implements BaseElectronObject.

◆ processClickEvent()

BaseElectronObject * WireObject::processClickEvent ( SDL_Point &  _mouseClickedPos)
overridevirtual

线段的终点和起点相同,终点的点击行为视为无效

Implements BaseElectronObject.

◆ processKeyEvent()

void WireObject::processKeyEvent ( int  _keyScanCode)
overridevirtual

Implements BaseElectronObject.

◆ processMouseMotion()

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

Implements BaseElectronObject.

◆ saveToFile()

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

Implements BaseElectronObject.


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