93 |
public TransformCoordSys<typename Deriver::BaseTransform> { |
public TransformCoordSys<typename Deriver::BaseTransform> { |
94 |
CoordSys *dep[Deriver::NDetermining >? 1]; |
CoordSys *dep[Deriver::NDetermining >? 1]; |
95 |
float nparams[Deriver::BaseTransform::NParams]; |
float nparams[Deriver::BaseTransform::NParams]; |
96 |
|
Deriver d; |
97 |
|
|
98 |
|
|
99 |
virtual void setSuper(CoordSys **super) { |
virtual void setSuper(CoordSys **super) { |
103 |
} |
} |
104 |
|
|
105 |
virtual void setParams(float *params) { |
virtual void setParams(float *params) { |
|
Deriver d; |
|
106 |
d.derivedParams(super, dep, params, nparams); |
d.derivedParams(super, dep, params, nparams); |
107 |
t.setParams(nparams, super); |
t.setParams(nparams, super); |
108 |
} |
} |
114 |
} |
} |
115 |
return false; |
return false; |
116 |
} |
} |
117 |
|
virtual bool shouldBeDrawn() { |
118 |
|
return d.shouldBeDrawn(); |
119 |
|
} |
120 |
}; |
}; |
121 |
|
|
122 |
template<class Transform> class InverseTransformCoordSys : public TransformCoordSysBase<Transform> { |
template<class Transform> class InverseTransformCoordSys : public TransformCoordSysBase<Transform> { |
335 |
newparams[3] = sq.x; |
newparams[3] = sq.x; |
336 |
newparams[4] = sq.y; |
newparams[4] = sq.y; |
337 |
} |
} |
338 |
|
bool shouldBeDrawn() { |
339 |
|
return true; |
340 |
|
} |
341 |
}; |
}; |
342 |
|
|
343 |
/** An ortho coordsys with the unit square box. |
/** An ortho coordsys with the unit square box. |
427 |
|
|
428 |
newparams[0] = angle * 180 / M_PI; |
newparams[0] = angle * 180 / M_PI; |
429 |
} |
} |
430 |
|
bool shouldBeDrawn() { |
431 |
|
return true; |
432 |
|
} |
433 |
}; |
}; |
434 |
|
|
435 |
/** Translation. |
/** Translation. |
539 |
|
|
540 |
|
|
541 |
ZPt tr = ctr + pointdir * (pt-ctr); |
ZPt tr = ctr + pointdir * (pt-ctr); |
|
DBG(dbg_buoy) << "final: "<<tr<<"\n"; |
|
|
float scale; |
|
542 |
|
|
543 |
if(rdist > 1) { |
valid = 1; |
544 |
|
float scale = 1-rdist; |
545 |
|
|
546 |
|
if(scale <.0001) { |
547 |
valid = 0; |
valid = 0; |
548 |
scale = 0; |
scale = 1; |
|
} else { |
|
|
valid = 1; |
|
|
scale = 1-rdist; |
|
549 |
} |
} |
550 |
|
DBG(dbg_buoy) << "final: "<<tr<<" "<<valid<<" "<<scale<<" "<<rdist<<"\n"; |
551 |
|
|
552 |
newparams[0] = tr.x; |
newparams[0] = tr.x; |
553 |
newparams[1] = tr.y; |
newparams[1] = tr.y; |