1 |
< |
#include "Integrator.hpp" |
2 |
< |
#include "simError.h" |
1 |
> |
#include "integrators/Integrator.hpp" |
2 |
> |
#include "utils/simError.h" |
3 |
|
#include <math.h> |
4 |
|
|
5 |
|
const double INFINITE_TIME = 10e30; |
13 |
|
//get properties from SimInfo |
14 |
|
GenericData* data; |
15 |
|
ZConsParaData* zConsParaData; |
16 |
< |
DoubleData* sampleTime; |
17 |
< |
DoubleData* tolerance; |
18 |
< |
DoubleData* gap; |
19 |
< |
DoubleData* fixtime; |
20 |
< |
StringData* policy; |
21 |
< |
StringData* filename; |
22 |
< |
IntData* smdFlag; |
16 |
> |
DoubleGenericData* sampleTime; |
17 |
> |
DoubleGenericData* tolerance; |
18 |
> |
DoubleGenericData* gap; |
19 |
> |
DoubleGenericData* fixtime; |
20 |
> |
StringGenericData* policy; |
21 |
> |
StringGenericData* filename; |
22 |
> |
IntGenericData* smdFlag; |
23 |
|
double COM[3]; |
24 |
|
|
25 |
|
//by default, the direction of constraint is z |
47 |
|
forcePolicy = (ForceSubtractionPolicy *) new PolicyByMass(this); |
48 |
|
} |
49 |
|
else{ |
50 |
< |
policy = dynamic_cast<StringData*>(data); |
50 |
> |
policy = dynamic_cast<StringGenericData*>(data); |
51 |
|
|
52 |
|
if (!policy){ |
53 |
|
sprintf(painCave.errMsg, |
54 |
< |
"ZConstraint Error: Convertion from GenericData to StringData failure, " |
54 |
> |
"ZConstraint Error: Convertion from GenericData to StringGenericData failure, " |
55 |
|
"PolicyByMass is used\n"); |
56 |
|
painCave.isFatal = 0; |
57 |
|
simError(); |
86 |
|
simError(); |
87 |
|
} |
88 |
|
else{ |
89 |
< |
sampleTime = dynamic_cast<DoubleData*>(data); |
89 |
> |
sampleTime = dynamic_cast<DoubleGenericData*>(data); |
90 |
|
|
91 |
|
if (!sampleTime){ |
92 |
|
sprintf(painCave.errMsg, |
109 |
|
simError(); |
110 |
|
} |
111 |
|
else{ |
112 |
< |
filename = dynamic_cast<StringData*>(data); |
112 |
> |
filename = dynamic_cast<StringGenericData*>(data); |
113 |
|
|
114 |
|
if (!filename){ |
115 |
|
sprintf(painCave.errMsg, |
131 |
|
simError(); |
132 |
|
} |
133 |
|
else{ |
134 |
< |
tolerance = dynamic_cast<DoubleData*>(data); |
134 |
> |
tolerance = dynamic_cast<DoubleGenericData*>(data); |
135 |
|
|
136 |
|
if (!tolerance){ |
137 |
|
sprintf(painCave.errMsg, |
148 |
|
data = info->getProperty(ZCONSGAP_ID); |
149 |
|
|
150 |
|
if (data){ |
151 |
< |
gap = dynamic_cast<DoubleData*>(data); |
151 |
> |
gap = dynamic_cast<DoubleGenericData*>(data); |
152 |
|
|
153 |
|
if (!gap){ |
154 |
|
sprintf(painCave.errMsg, |
167 |
|
data = info->getProperty(ZCONSFIXTIME_ID); |
168 |
|
|
169 |
|
if (data){ |
170 |
< |
fixtime = dynamic_cast<DoubleData*>(data); |
170 |
> |
fixtime = dynamic_cast<DoubleGenericData*>(data); |
171 |
|
if (!fixtime){ |
172 |
|
sprintf(painCave.errMsg, |
173 |
|
"ZConstraint error: Can not get zconsFixTime from SimInfo\n"); |
190 |
|
data = info->getProperty(ZCONSUSINGSMD_ID); |
191 |
|
|
192 |
|
if (data){ |
193 |
< |
smdFlag = dynamic_cast<IntData*>(data); |
193 |
> |
smdFlag = dynamic_cast<IntGenericData*>(data); |
194 |
|
|
195 |
|
if (!smdFlag){ |
196 |
|
sprintf(painCave.errMsg, |