Public Member Functions | |
bool | set_grid_cell (const Vect2s &cell_pos, const sGridCell &cell) |
bool | set_grid_cell_attributes (const Vect2s &cell_pos, int attr) |
bool | set_grid_attributes (const Vect2s ¢er_pos, const Vect2s &size, int attr) |
Устанавливает атрибуты для клеток из прямоугольника на сетке с ценром center_pos и размерами size. | |
bool | drop_grid_attributes (const Vect2s ¢er_pos, const Vect2s &size, int attr) |
Очищает атрибуты для клеток из прямоугольника на сетке с ценром center_pos и размерами size. | |
bool | check_grid_attributes (const Vect2s ¢er_pos, const Vect2s &size, int attr) const |
Возвращает true, если в прямоугольнике на сетке ЕСТЬ ХОТЯ БЫ ОДНА ячейка с атрибутами attr. | |
int | cells_num_with_exact_attributes (const Vect2s ¢er_pos, const Vect2s &size, int attr) const |
Возвращает количество ячеек в заданной области, имеющих именно аттрибуты attr. | |
bool | set_grid_line_attributes (const Vect2s &start_pos, const Vect2s &end_pos, const Vect2s &size, int attr) |
Устанавливает атрибуты для линии клеток. | |
bool | drop_grid_line_attributes (const Vect2s &start_pos, const Vect2s &end_pos, const Vect2s &size, int attr) |
Очищает атрибуты для линии клеток. | |
bool | check_grid_line_attributes (const Vect2s &start_pos, const Vect2s &end_pos, const Vect2s &size, int attr) const |
Возвращает true, если в линии на сетке есть хотя бы одна ячейка с атрибутами attr. | |
bool | is_walkable (const Vect2s ¢er_pos, const Vect2s &size, bool ignore_personages=false) const |
bool | set_grid_attributes (int attr) |
Устанавливает атрибуты attr для всех клеток сетки. | |
bool | drop_grid_attributes (int attr) |
Очищает атрибуты attr для всех клеток сетки. | |
sGridCell * | get_cell (const Vect2s &cell_pos) |
const sGridCell * | get_cell (const Vect2s &cell_pos) const |
bool | restore_grid_cell (const Vect2s cell_pos) |
void | cycle_coords (int &x, int &y) const |
void | set_redraw_mode (int md) const |
int | get_redraw_mode () const |
void | set_grid_size (int xs, int ys) |
void | scale_grid (int sx, int sy, int csx, int csy) |
void | resize_grid (int sx, int sy) |
int | get_grid_sx () const |
int | get_grid_sy () const |
const sGridCell * | get_grid () const |
int | get_cell_sx () const |
int | get_cell_sy () const |
void | set_cell_size (int csx, int csy) |
void | clear_grid () |
void | rotate_and_scale (float XA, float YA, float ZA, float kX, float kY, float kZ) |
float | get_focus () const |
void | set_focus (float focus) |
void | set_R (const float r) |
float | get_R () const |
float | get_x_angle () const |
float | get_y_angle () const |
float | get_z_angle () const |
void | set_scr_size (int xs, int ys) |
const Vect2i & | get_scr_size () const |
int | get_scr_sx () const |
int | get_scr_sy () const |
void | set_scr_center (int xc, int yc) |
const Vect2i & | get_scr_center () const |
int | get_scr_center_x () const |
int | get_scr_center_y () const |
const Vect2i | screen_center_limit_x () const |
const Vect2i | screen_center_limit_y () const |
const Vect2i & | get_scr_offset () const |
void | set_scr_offset (const Vect2i &offs) |
const Vect2i & | get_scr_center_initial () const |
void | set_scr_center_initial (const Vect2i &v) |
void | move_scr_center (int dxc, int dyc) |
float | scrolling_phase_x () const |
float | scrolling_phase_y () const |
const Vect3f | scr2plane (const Vect2s &scrPoint) const |
const Vect3f | rscr2plane (const Vect2s &rscrPoint) const |
const Vect3f | scr2plane_camera_coord (const Vect2s &scrPoint) const |
const Vect3f | rscr2plane_camera_coord (const Vect2s &scrPoint) const |
const Vect2s | plane2scr (const Vect3f &plnPoint) const |
const Vect2s | plane2rscr (const Vect3f &plnPoint) const |
const Vect3f | rscr2camera_coord (const Vect2s &rScrPoint, float z) const |
const Vect2s | camera_coord2rscr (const Vect3f &coord) const |
const Vect2s | rscr2scr (const Vect2s &v) const |
const Vect2s | scr2rscr (const Vect2s &v) const |
const Vect2s | camera_coord2scr (const Vect3f &coord) const |
const Vect3f | scr2global (const Vect2s &vScrPoint, float zInCameraCoord) const |
const Vect3f | rscr2global (const Vect2s rScrPoint, const float zInCameraCoord) const |
const Vect3f | global2camera_coord (const Vect3f &glCoord) const |
const Vect3f | camera_coord2global (const Vect3f &v) const |
const Vect2s | global2scr (const Vect3f &glCoord) const |
const Vect2s | global2rscr (const Vect3f &glCoord) const |
bool | line_cutting (Vect3f &b, Vect3f &e) const |
bool | clip_grid_line (Vect2s &v0, Vect2s &v1) const |
Обрезка линиии, так чтобы она за сетку не выходила. More... | |
float | get_scale (const Vect3f &glCoord) const |
const Vect3f & | get_grid_center () const |
void | set_grid_center (const Vect3f &v) |
const sGridCell * | get_cell (float X, float Y) const |
const Vect2s | get_cell_index (float X, float Y, bool grid_crop=true) const |
const Vect2s | get_cell_index (const Vect3f &v, bool grid_crop=true) const |
const Vect3f | get_cell_coords (int x_idx, int y_idx) const |
const Vect3f | get_cell_coords (const Vect2s &idxs) const |
void | reset_all_select () |
bool | select_cell (int x, int y) |
bool | deselect_cell (int x, int y) |
void | load_script (const xml::tag *p) |
bool | save_script (Common::WriteStream &fh, int indent=0) const |
bool | load_data (Common::SeekableReadStream &fh, int save_version) |
Загрузка данных из сэйва. | |
bool | save_data (Common::WriteStream &fh) const |
Запись данных в сэйв. | |
bool | init () |
Инициализация данных, вызывается при старте и перезапуске игры. | |
bool | draw_grid () const |
bool | draw_cell (int x, int y, int z, int penWidth, uint32 color) const |
bool | set_mode (const qdCameraMode &mode, qdGameObjectAnimated *object=NULL) |
Установка текущего режима камеры. More... | |
bool | can_change_mode () const |
Возвращает true, если в данный момент можно менять режим камеры. | |
void | set_default_object (qdGameObjectAnimated *p) |
Установка объекта, за которым камера следит по умолчанию. | |
bool | quant (float dt) |
Обсчет логики (движения камеры и т.д), параметр - время в секундах. | |
bool | is_visible (const Vect2i ¢er_offs=Vect2i(0, 0)) const |
Возвращает false, если вся рабочая область камеры находится за пределами экрана. More... | |
void | set_cycle (bool cx, bool cy) |
void | dump_grid (const char *file_name) const |
float | scale_pow () const |
Параметры функции масштабирования | |
void | set_scale_pow (float sp) |
float | scale_z_offset () const |
void | set_scale_z_offset (float szo) |
bool | need_perspective_correction () const |
const qdCameraMode & | default_mode () const |
Возвращает режим работы камеры по умолчанию. | |
void | set_default_mode (const qdCameraMode &mode) |
Установка режима работы камеры по умолчанию. | |
MATRIX3D const & | get_view_matrix () const |
Static Public Member Functions | |
static qdCamera * | current_camera () |
static void | set_current_camera (qdCamera *p) |
Обрезка линиии, так чтобы она за сетку не выходила.
Все координаты - сеточные, т.е. индексы ячеек сетки.
bool QDEngine::qdCamera::set_mode | ( | const qdCameraMode & | mode, |
qdGameObjectAnimated * | object = NULL |
||
) |
Установка текущего режима камеры.
Если объект нулевой, то берется объект по-умолчанию.
Возвращает false, если вся рабочая область камеры находится за пределами экрана.
Параметр - дополнительное смещение центра рабочей области камеры.