Blender
V3.3
|
#include <FastGrid.h>
Public Member Functions | |
FastGrid () | |
virtual | ~FastGrid () |
virtual void | clear () |
virtual void | configure (const Vec3r &orig, const Vec3r &size, unsigned nb) |
Cell * | getCell (const Vec3u &p) |
virtual void | fillCell (const Vec3u &p, Cell &cell) |
![]() | |
Grid () | |
virtual | ~Grid () |
void | getCellCoordinates (const Vec3r &p, Vec3u &res) |
Cell * | getCell (const Vec3r &p) |
void | getCellOrigin (const Vec3u &cell_coord, Vec3r &orig) |
void | getCellBox (const Vec3u &cell_coord, Vec3r &min_out, Vec3r &max_out) |
void | insertOccluder (Polygon3r *occluder) |
void | addOccluder (Polygon3r *occluder) |
void | castRay (const Vec3r &orig, const Vec3r &end, OccludersSet &occluders, unsigned timestamp) |
void | initAcceleratedRay (const Vec3r &orig, const Vec3r &end, unsigned timestamp) |
void | castInfiniteRay (const Vec3r &orig, const Vec3r &dir, OccludersSet &occluders, unsigned timestamp) |
bool | initAcceleratedInfiniteRay (const Vec3r &orig, const Vec3r &dir, unsigned timestamp) |
Polygon3r * | castRayToFindFirstIntersection (const Vec3r &orig, const Vec3r &dir, double &t, double &u, double &v, unsigned timestamp) |
void | initRay (const Vec3r &orig, const Vec3r &end, unsigned timestamp) |
bool | initInfiniteRay (const Vec3r &orig, const Vec3r &dir, unsigned timestamp) |
const Vec3r & | getOrigin () const |
Vec3r | gridSize () const |
Vec3r | getCellSize () const |
OccludersSet * | getOccluders () |
void | displayDebug () |
Protected Attributes | |
Cell ** | _cells |
unsigned | _cells_size |
![]() | |
unsigned int | _timestamp |
Vec3u | _cells_nb |
Vec3r | _cell_size |
Vec3r | _size |
Vec3r | _orig |
Vec3r | _ray_dir |
Vec3u | _current_cell |
Vec3r | _pt |
real | _t_end |
real | _t |
OccludersSet | _occluders |
Additional Inherited Members | |
![]() | |
void | castRayInternal (GridVisitor &visitor) |
bool | nextRayCell (Vec3u ¤t_cell, Vec3u &next_cell) |
Class to define a regular grid used for ray casting computations We don't use a hashtable here. The grid is explicitly stored for faster computations. However, this might result in significant increase in memory usage (compared to the regular grid).
Definition at line 19 of file FastGrid.h.
|
inline |
Definition at line 21 of file FastGrid.h.
References _cells, _cells_size, and NULL.
|
inlinevirtual |
Definition at line 27 of file FastGrid.h.
References clear().
|
virtual |
clears the grid Deletes all the cells, clears the hashtable, resets size, size of cell, number of cells.
Reimplemented from Freestyle::Grid.
Definition at line 17 of file FastGrid.cpp.
References _cells, _cells_size, and Freestyle::Grid::clear().
Referenced by Freestyle::Controller::DeleteWingedEdge(), and ~FastGrid().
Sets the different parameters of the grid orig The grid origin size The grid's dimensions nb The number of cells of the grid
Reimplemented from Freestyle::Grid.
Definition at line 35 of file FastGrid.cpp.
References _cells, Freestyle::Grid::_cells_nb, _cells_size, Freestyle::Grid::configure(), and size().
Fills the case p with the cell iCell
Implements Freestyle::Grid.
Definition at line 59 of file FastGrid.cpp.
References _cells, Freestyle::Grid::_cells_nb, _cells_size, BLI_assert, and BLI_assert_msg.
returns the cell whose coordinates are passed as argument
Implements Freestyle::Grid.
Definition at line 43 of file FastGrid.cpp.
References _cells, Freestyle::Grid::_cells_nb, _cells_size, BLI_assert, BLI_assert_msg, G, and G_DEBUG_FREESTYLE.
|
protected |
Definition at line 55 of file FastGrid.h.
Referenced by clear(), configure(), FastGrid(), fillCell(), and getCell().
|
protected |
Definition at line 56 of file FastGrid.h.
Referenced by clear(), configure(), FastGrid(), fillCell(), and getCell().