scalar_t _head_ux, _head_uy, _head_vx, _head_vy;
scalar_t _head_ux_nopolarity, _head_uy_nopolarity, _head_vx_nopolarity, _head_vy_nopolarity;
+ //**********************************************************************
// Useless fields, but they are necessary so that the optimized code
// with g++ gives the same results as some reference
// experiments. Sorry for that.
scalar_t _body_xc, _body_yc;
-// scalar_t _body_radius_1, _body_radius_2;
scalar_t _body_tilt;
+ //**********************************************************************
// The belly frame is defined by the belly location and head scale
scalar_t _belly_xc, _belly_yc;
enum {
// A square frame centered on the head, of size four times the
- // head radius and, flipped vertically if the belly is on the left
- // of the head center
+ // head radius and, flipped horizontally if the belly is on the
+ // left of the head center
RM_HEAD,
// Same as above, without the flipping
RM_HEAD_NO_POLARITY,
// A frame centered on the belly, of size eight times the head
- // radius, flipped vertically if the belly is on the left of the
+ // radius, flipped horizontally if the belly is on the left of the
// head center
RM_BELLY,
int common_scale();
// The rectangle coordinates are in the reference frames. For the
- // head for instance , [-1,1] x [-1,1] corresponds to the head
- // bounding box
+ // head for instance [-0.5, 0.5] x [-0.5, 0.5] corresponds to the
+ // head bounding box
void register_rectangle(int registration_mode,
Rectangle *original,
int registration_mode, Rectangle *window,
int filled);
- void draw_edge_and_scale(RGBImage *image,
- int registration_mode, Rectangle *window,
- int _tag, int _edge_scale);
-
static void print_registration_mode(ostream *out, int registration_mode);
};