273 |
{ |
{ |
274 |
enum { NParams = 7 }; |
enum { NParams = 7 }; |
275 |
template<class Ptr> void setParams(Ptr p) { |
template<class Ptr> void setParams(Ptr p) { |
276 |
offset.x = p[0]; |
offset.z = p[0]; |
277 |
offset.y = p[1]; |
|
278 |
offset.z = p[2]; |
offset.x = p[1]; |
279 |
|
offset.y = p[2]; |
280 |
|
|
281 |
xdot.x = p[3]; |
xdot.x = p[3]; |
282 |
xdot.y = p[4]; |
xdot.y = p[4]; |
324 |
}; |
}; |
325 |
|
|
326 |
/** Explicit parametrization of ortho. |
/** Explicit parametrization of ortho. |
327 |
* Parameter layout: x, y, depth, xx, yy |
* Parameter layout: depth, x, y, xx, yy |
328 |
*/ |
*/ |
329 |
struct Ortho_Explicit : |
struct Ortho_Explicit : |
330 |
public Ortho, |
public Ortho, |
332 |
{ |
{ |
333 |
enum { NParams = 5 }; |
enum { NParams = 5 }; |
334 |
template<class Ptr> void setParams(Ptr p) { |
template<class Ptr> void setParams(Ptr p) { |
335 |
x = p[0]; |
z = p[0]; |
336 |
y = p[1]; |
x = p[1]; |
337 |
z = p[2]; |
y = p[2]; |
338 |
sx = p[3]; |
sx = p[3]; |
339 |
sy = p[4]; |
sy = p[4]; |
340 |
} |
} |
341 |
}; |
}; |
342 |
VOB_PRIMITIVETRANS_DEFINED(Ortho_Explicit, "ortho"); |
VOB_PRIMITIVETRANS_DEFINED(Ortho_Explicit, "ortho"); |
343 |
|
|
344 |
|
class OrthoBox : |
345 |
|
public Ortho, |
346 |
|
public BoxPrimitiveTransform |
347 |
|
{ |
348 |
|
public: |
349 |
|
Pt box; |
350 |
|
Pt getSqSize() const { return box; } |
351 |
|
}; |
352 |
|
|
353 |
|
struct OrthoBox_Explicit : |
354 |
|
public OrthoBox, |
355 |
|
public ParametrizedPrimitiveTransform |
356 |
|
{ |
357 |
|
enum { NParams = 7 }; |
358 |
|
template<class Ptr> void setParams(Ptr p) { |
359 |
|
z = p[0]; |
360 |
|
x = p[1]; |
361 |
|
y = p[2]; |
362 |
|
sx = p[3]; |
363 |
|
sy = p[4]; |
364 |
|
box.x = p[5]; |
365 |
|
box.y = p[6]; |
366 |
|
} |
367 |
|
}; |
368 |
|
VOB_PRIMITIVETRANS_DEFINED(OrthoBox_Explicit, "orthoBox"); |
369 |
|
|
370 |
/** A coordinate system which has as its "unit square" |
/** A coordinate system which has as its "unit square" |
371 |
* the box |
* the box |
372 |
* of its parent. |
* of its parent. |