Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Types | Public Member Functions | Friends | List of all members
GasGridTree Class Reference

Public Types

typedef void(* GetLeafBboxesCallback )(void *data, const CtxEval &eval_ctx, const unsigned int &index_count, const unsigned int *indices, GMathBbox3f *bboxes)
 
typedef void(* LeafRayHitCallback )(void *data, const unsigned int &index, const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRaytraceCtx &raytrace_ctx)
 
typedef void(* LeafFrustumHitCallback )(void *data, const unsigned int &index, const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryFrustumCtx &frustum_ctx)
 
typedef void(* LeafRayFrustumHitCallback )(void *data, const unsigned int &index, const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRayFrustumCtx &ray_frustum_ctx)
 
typedef void(* MemoryUpdateCallback )(const size_t &old_memory_usage, const size_t &new_memory_usage, void *data)
 

Public Member Functions

void create (const CoreBasicArray< GMathBbox3f > &bboxes, const unsigned int &grid_size, AppProgressBar *progress_bar=0)
 
void create (const CoreBasicArray< GMathBbox3f > &bboxes, const CoreBasicArray< unsigned int > &bbox_indices, const unsigned int &grid_size, AppProgressBar *progress_bar=0)
 
void create (const CtxEval &eval_ctx, const CoreBasicArray< unsigned int > &bbox_indices, const unsigned int &grid_size, AppProgressBar *progress_bar=0)
 
void create (const GMathBbox3f *bboxes, const unsigned int &bbox_count, const unsigned int &grid_size, AppProgressBar *progress_bar=0)
 
void create (const GMathBbox3f *bboxes, const unsigned int *bbox_indices, const unsigned int &index_count, const unsigned int &grid_size, AppProgressBar *progress_bar=0)
 
const unsigned int & get_leaf_count () const
 
const GasTreeget_cell_tree () const
 
void set_leaf_indices (const unsigned int *indices)
 
GMathBbox3f get_bbox () const
 
void clear ()
 
virtual size_t get_memory_size () const
 
void set_leaf_bbox_callbacks (GetLeafBboxesCallback get_leaf_bboxes_callback, void *data, const bool &allow_multithreading)
 
void set_leaf_raytrace_callbacks (LeafRayHitCallback ray_hit_callback, LeafRayHitCallback ray_hit_nearest_callback, void *data)
 
void set_leaf_frustum_callback (LeafFrustumHitCallback frustum_hit_callback, void *data)
 
void set_leaf_ray_frustum_callback (LeafRayFrustumHitCallback ray_frustum_hit_callback, void *data)
 
void set_memory_update_callback (MemoryUpdateCallback memory_update_callback, void *data)
 
void ray_hit (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRaytraceCtx &raytrace_ctx) const
 
void ray_hit_nearest (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRaytraceCtx &raytrace_ctx) const
 
void frustum_hit (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryFrustumCtx &frustum_ctx) const
 
void ray_frustum_hit (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRayFrustumCtx &ray_frustum_ctx) const
 
void cell_ray_hit (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRaytraceCtx &raytrace_ctx, const unsigned int &cell_index) const
 
void cell_ray_hit_nearest (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRaytraceCtx &raytrace_ctx, const unsigned int &cell_index) const
 
void cell_frustum_hit (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryFrustumCtx &frustum_ctx, const unsigned int &cell_index) const
 
void cell_ray_frustum_hit (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRayFrustumCtx &ray_frustum_ctx, const unsigned int &cell_index) const
 

Friends

class GasGridTreeMotion