00001
00002
00003
00004 #ifndef _TRIPLEXNODE_H
00005 #define _TRIPLEXNODE_H
00006
00007 #include "node.h"
00008
00009 EXPORT SIMULATIONMODE interupdate_triplex_node(OBJECT *obj, unsigned int64 delta_time, unsigned long dt, unsigned int iteration_count_val, bool interupdate_pos);
00010
00011 class triplex_node : public node
00012 {
00013 public:
00014 enum {
00015 ND_OUT_OF_SERVICE = 0,
00016 ND_IN_SERVICE = 1,
00017 };
00018 enumeration service_status;
00019 static CLASS *pclass;
00020 static CLASS *oclass;
00021
00022 triplex_node(MODULE *mod);
00023 inline triplex_node(CLASS *cl=oclass):node(cl){};
00024
00025 public:
00026
00027 complex impedance[3];
00028 complex pub_shunt[3];
00029 int create(void);
00030 int init(OBJECT *parent=NULL);
00031 TIMESTAMP presync(TIMESTAMP t0);
00032 TIMESTAMP sync(TIMESTAMP t0);
00033 int isa(char *classname);
00034
00035 void BOTH_triplex_node_presync_fxn(void);
00036 void BOTH_triplex_node_sync_fxn(void);
00037
00038 SIMULATIONMODE inter_deltaupdate_triplex_node(unsigned int64 delta_time, unsigned long dt, unsigned int iteration_count_val, bool interupdate_pos);
00039
00040 friend class triplex_line;
00041 };
00042
00043 #endif // _TRIPLEXNODE_H
00044