Simple Nano Circuit 0.0.2
AsgardClass.h
1#ifndef _AsgardClass_H_
2#define _AsgardClass_H_
3
4#include <iostream>
5#include <list>
6#include <SDL.h>
7
10class DrawPaperClass;
11class DrawHolderClass;
12class TextManagerClass;;
14class NetlistClass;
15
17{
18 private:
19
20 public:
21 bool showBaseInfoWindow = false;
22 bool showTimeSettingWindow = false;
23
24 double timeStep = 5 * (1e-6);//5 * 1000; // 5us
25 double currentTime = 0;
26 bool calculationContinuousIteration = false; // 是否进行连续迭代计算
27
28 public:
29 AsgardClass(int, int, SDL_Renderer*);
31
32 SDL_Renderer* renderer = nullptr;
33 PlacementManagerClass* placementManager = nullptr;
34 NetlistManagerClass* netlistManager = nullptr;
35 DrawPaperClass* drawPaper = nullptr;
36 DrawHolderClass* drawHolder = nullptr;
37 TextManagerClass* textManager = nullptr;
38
39 BaseElectronObject* popupWindowHandle = nullptr;
40
44 void ResetBlankCircuit();
45
46 void Drawing();
47
48 void markPopupWindowHandle(BaseElectronObject*);
49 void clearPopupWindowHandle();
50
51 void CalculateVoltages();
52 void CalculateCurrents();
53
55 std::list< std::list<NetlistClass*> > AnalyticsNetlistParts();
56
57 void loadFromFile();
58 void saveToFile();
59};
60
61#endif
Definition: AsgardClass.h:17
void CalculateCurrents()
Definition: AsgardClass.cpp:124
void ResetBlankCircuit()
清空当前正在绘制、仿真的电路,重新开始新电路
Definition: AsgardClass.cpp:55
std::list< std::list< NetlistClass * > > AnalyticsNetlistParts()
将当前的全部电路进行深度优先分析,彼此独立的局部电路被划分开
Definition: AsgardClass.cpp:136
void CalculateVoltages()
计算电压
Definition: AsgardClass.cpp:91
Definition: BaseElectronObject.h:13
Definition: DrawHolderClass.h:9
Definition: DrawPaperClass.h:7
Definition: NetlistClass.h:19
Definition: NetlistManagerClass.h:14
Definition: PlacementManagerClass.h:18
Definition: TextManagerClass.h:8