00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _NODE_H
00024 #define _NODE_H
00025
00026
00027
00028
00029 typedef enum _display
00030 {
00031 DSP_NO,
00032 DSP_YES
00033 } eDisplay;
00034
00035
00036
00037
00038 typedef enum _status
00039 {
00040 NONE,
00041 TODO,
00042 DONE
00043 } eStatus;
00044
00045
00046
00047
00048 typedef struct _coord
00049 {
00050 double x;
00051 double y;
00052 double z;
00053 } sCoord;
00054
00055
00056
00057
00058
00059
00060 typedef struct _constr
00061 {
00062 int id;
00063 void* curr_elm;
00064 } sNodeConstr;
00065
00066
00067
00068
00069 typedef enum _resttype
00070 {
00071 FORCE,
00072 DISPLACEMENT,
00073 VELOCITY,
00074 OBJECT
00075 } eRestType;
00076
00077
00078
00079
00080 typedef struct _dof
00081 {
00082 eRestType x;
00083 eRestType y;
00084 eRestType z;
00085 double vpx;
00086 double vpy;
00087 double vpz;
00088 double psi;
00089 } sDof;
00090
00091
00092
00093
00094 typedef struct _node
00095 {
00096 int id;
00097 int curve;
00098 int pilot;
00099 eDisplay dspIteration;
00100 eDisplay dspTime;
00101 eStatus rezone;
00102 sCoord coord;
00103 sDof dof;
00104 sNodeConstr constrain;
00105 } sNode;
00106
00107
00108
00109 extern sNode *NodeVector;
00110
00111
00112
00113 extern int NumNodes;
00114
00115
00116
00117 extern int NDof;
00118
00119
00120
00121 void NodeInitPrescValues ( void );
00122 void NodeFree ( void );
00123 void NodeApplyForce ( int, double, double, double );
00124 void NodeApplyDisplacement( int, double, double, double );
00125 void NodeApplyVelocity ( int, double, double, double );
00126 void NodeInitForceVector ( double * );
00127
00128 #endif
00129