24 #ifndef __FIREVISION_MODELS_MIRROR_BULB_H_
25 #define __FIREVISION_MODELS_MIRROR_BULB_H_
27 #include <fvmodels/mirror/mirrormodel.h>
36 class SharedMemoryLookupTable;
40 friend class BulbGenerator;
44 Bulb(
const char *filename);
45 Bulb(
const char *filename,
46 const char *lut_id,
bool destroy_on_delete =
false);
48 Bulb(
unsigned int width,
unsigned int height);
49 Bulb(
unsigned int width,
unsigned int height,
50 const char *lut_id,
bool destroy_on_delete =
false);
56 virtual void warp2unwarp(
unsigned int warp_x,
unsigned int warp_y,
57 unsigned int *unwarp_x,
unsigned int *unwarp_y);
58 virtual void unwarp2warp(
unsigned int unwarp_x,
unsigned int unwarp_y,
59 unsigned int *warp_x,
unsigned int *warp_y );
61 virtual const char * getName();
63 virtual bool isValid();
66 virtual void setWorldPoint(
unsigned int image_x,
73 unsigned int image_y )
const;
77 float pose_x,
float pose_y,
78 float pose_ori )
const;
83 virtual void setCenter(
unsigned int image_x,
84 unsigned int image_y );
85 virtual void setOrientation(
float angle);
86 virtual float getOrientation()
const;
88 virtual bool isValidPoint(
unsigned int image_x,
unsigned int image_y )
const;
91 bool isNonZero(
unsigned int image_x,
92 unsigned int image_y )
const;
94 unsigned int numNonZero()
const;
97 float getAngle(
unsigned int image_x,
98 unsigned int image_y )
const;
100 float getDistanceInImage(
unsigned int image_p1_x,
unsigned int image_p1_y,
101 unsigned int image_p2_x,
unsigned int image_p2_y );
103 float convertAngleI2W (
float angle_in_image)
const;
106 void load(
const char * filename);
107 void save(
const char * filename);
109 static std::string composeFilename(
const char * format);
137 unsigned int bytes_per_sample;
140 unsigned int image_center_x;
141 unsigned int image_center_y;
154 unsigned int lut_bytes;
155 bool destroy_on_delete;
Cartesian coordinates (2D).
Point with cartesian coordinates as unsigned integers.
Bulb mirror lookup table.
Shared memory lookup table.