ScummVM API documentation
QDEngine::qdCamera Class Reference

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 &center_pos, const Vect2s &size, int attr)
 Устанавливает атрибуты для клеток из прямоугольника на сетке с ценром center_pos и размерами size.
 
bool drop_grid_attributes (const Vect2s &center_pos, const Vect2s &size, int attr)
 Очищает атрибуты для клеток из прямоугольника на сетке с ценром center_pos и размерами size.
 
bool check_grid_attributes (const Vect2s &center_pos, const Vect2s &size, int attr) const
 Возвращает true, если в прямоугольнике на сетке ЕСТЬ ХОТЯ БЫ ОДНА ячейка с атрибутами attr.
 
int cells_num_with_exact_attributes (const Vect2s &center_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 &center_pos, const Vect2s &size, bool ignore_personages=false) const
 
bool set_grid_attributes (int attr)
 Устанавливает атрибуты attr для всех клеток сетки.
 
bool drop_grid_attributes (int attr)
 Очищает атрибуты attr для всех клеток сетки.
 
sGridCellget_cell (const Vect2s &cell_pos)
 
const sGridCellget_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 sGridCellget_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 Vect2iget_scr_size () const
 
int get_scr_sx () const
 
int get_scr_sy () const
 
void set_scr_center (int xc, int yc)
 
const Vect2iget_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 Vect2iget_scr_offset () const
 
void set_scr_offset (const Vect2i &offs)
 
const Vect2iget_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 Vect3fget_grid_center () const
 
void set_grid_center (const Vect3f &v)
 
const sGridCellget_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 &center_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 qdCameraModedefault_mode () const
 Возвращает режим работы камеры по умолчанию.
 
void set_default_mode (const qdCameraMode &mode)
 Установка режима работы камеры по умолчанию.
 
MATRIX3D const & get_view_matrix () const
 

Static Public Member Functions

static qdCameracurrent_camera ()
 
static void set_current_camera (qdCamera *p)
 

Member Function Documentation

◆ clip_grid_line()

bool QDEngine::qdCamera::clip_grid_line ( Vect2s v0,
Vect2s v1 
) const

Обрезка линиии, так чтобы она за сетку не выходила.

Все координаты - сеточные, т.е. индексы ячеек сетки.

◆ set_mode()

bool QDEngine::qdCamera::set_mode ( const qdCameraMode mode,
qdGameObjectAnimated object = NULL 
)

Установка текущего режима камеры.

Если объект нулевой, то берется объект по-умолчанию.

◆ is_visible()

bool QDEngine::qdCamera::is_visible ( const Vect2i center_offs = Vect2i(0, 0)) const

Возвращает false, если вся рабочая область камеры находится за пределами экрана.

Параметр - дополнительное смещение центра рабочей области камеры.


The documentation for this class was generated from the following file: