23 class CLASS_DECL_ACME geometry :
24 virtual public ::particle
34 void destroy()
override;
37 ::f64 rotate_y(::f64 x, ::f64 y, ::f64 phi);
38 ::f64 rotate_x(::f64 x, ::f64 y, ::f64 phi);
39 void rotate(::i32 x, ::i32 y, ::i32_point * ppoint, ::i32 iCount, ::f64 phi);
41 void rotate(::i32 x, ::i32 y, ::i32_point * ppoint, ::i32 iCount, ::f64 cosphi, ::f64 sinphi);
43 void rotate(::i32 x, ::i32 y, ::f64_point * ppoint, ::i32 iCount, ::f64 phi);
45 void rotate(::i32 x, ::i32 y, ::f64_point * ppoint, ::i32 iCount, ::f64 cosphi, ::f64 sinphi);
50 void deflate(::i32_rectangle * prectangle, ::f64 dLeftRate, ::f64 dRightRate, ::f64 dTopRate, ::f64 dBottomRate);
53 template < prototype_rectangle RECTANGLE >
54 inline typename RECTANGLE::POINT_TYPE random_point(
const RECTANGLE & r)
57 return { mathematics()->random(r.left, r.right), mathematics()->random(r.top, r.bottom) };
62 template < prototype_rectangle RECTANGLE >
63 inline typename RECTANGLE::POINT_TYPE random_point(
const RECTANGLE & r, ::f64 dRate)
68 rectangle.rate(dRate);
70 return random_point(rectangle);