Blender V2.61 - r43446
|
Go to the source code of this file.
Definition in file rayobject_internal.h.
#define RE_rayobject_align | ( | o | ) | ((RayObject*)(((intptr_t)o)&(~3))) |
Definition at line 79 of file rayobject_internal.h.
Referenced by ocwrite(), RE_rayobject_add(), RE_rayobject_config_control(), RE_rayobject_cost(), RE_rayobject_done(), RE_rayobject_free(), RE_rayobject_hint_bb(), RE_rayobject_intersect(), RE_rayobject_merge_bb(), RE_rayobject_octree_add(), and RE_rayobject_set_control().
#define RE_rayobject_isAligned | ( | o | ) | ((((intptr_t)o)&3) == 0) |
Definition at line 73 of file rayobject_internal.h.
Referenced by bvh_create_tree(), VBVH_optimalPackSIMD< Node, TestCost >::calc_best::calc_best(), VBVH_optimalPackSIMD< Node, TestCost >::calc_costs(), BuildBinaryVBVH< Node >::create_node(), intersect(), is_leaf(), OVBVHNode::optimize(), pushdown(), pushup(), pushup_simd(), RE_rayobject_blibvh_create(), RE_rayobject_instance_create(), RE_rayobject_octree_create(), remove_useless(), reorganize(), reorganize_find_fittest_parent(), OVBVHNode::set_cut(), and VBVH_optimalPackSIMD< Node, TestCost >::transform().
#define RE_rayobject_isRayAPI | ( | o | ) | ((((intptr_t)o)&3) == 2) |
Definition at line 75 of file rayobject_internal.h.
Referenced by RE_rayobject_config_control(), RE_rayobject_cost(), RE_rayobject_hint_bb(), RE_rayobject_intersect(), RE_rayobject_merge_bb(), and RE_rayobject_set_control().
#define RE_rayobject_isRayFace | ( | o | ) | ((((intptr_t)o)&3) == 1) |
Definition at line 74 of file rayobject_internal.h.
Referenced by RE_rayobject_cost(), RE_rayobject_hint_bb(), RE_rayobject_intersect(), RE_rayobject_merge_bb(), and RE_rayobject_octree_add().
#define RE_rayobject_isVlakPrimitive | ( | o | ) | ((((intptr_t)o)&3) == 3) |
Definition at line 76 of file rayobject_internal.h.
Referenced by RE_rayobject_cost(), RE_rayobject_hint_bb(), RE_rayobject_intersect(), and RE_rayobject_merge_bb().
#define RE_rayobject_unalignRayAPI | ( | o | ) | ((RayObject*)(((intptr_t)o)|2)) |
Definition at line 83 of file rayobject_internal.h.
Referenced by bvh_create_tree(), RE_rayobject_blibvh_create(), RE_rayobject_empty_create(), RE_rayobject_instance_create(), RE_rayobject_instance_intersect(), and RE_rayobject_octree_create().
#define RE_rayobject_unalignRayFace | ( | o | ) | ((RayObject*)(((intptr_t)o)|1)) |
Definition at line 82 of file rayobject_internal.h.
Referenced by makeraytree_object(), makeraytree_single(), rayface_from_coords(), RE_rayobject_octree_done(), and testnode().
#define RE_rayobject_unalignVlakPrimitive | ( | o | ) | ((RayObject*)(((intptr_t)o)|3)) |
Definition at line 84 of file rayobject_internal.h.
Referenced by RE_vlakprimitive_from_vlak().
typedef struct RayObjectAPI RayObjectAPI |
typedef struct RayObjectControl RayObjectControl |
typedef void(* RE_rayobject_add_callback)(RayObject *raytree, RayObject *rayobject) |
Definition at line 97 of file rayobject_internal.h.
typedef float(* RE_rayobject_cost_callback)(RayObject *) |
Definition at line 101 of file rayobject_internal.h.
typedef void(* RE_rayobject_done_callback)(RayObject *) |
Definition at line 98 of file rayobject_internal.h.
typedef void(* RE_rayobject_free_callback)(RayObject *) |
Definition at line 99 of file rayobject_internal.h.
typedef void(* RE_rayobject_hint_bb_callback)(RayObject *, struct RayHint *, float *, float *) |
Definition at line 102 of file rayobject_internal.h.
typedef void(* RE_rayobject_merge_bb_callback)(RayObject *, float *min, float *max) |
Definition at line 100 of file rayobject_internal.h.
typedef int(* RE_rayobject_raycast_callback)(RayObject *, struct Isect *) |
Definition at line 96 of file rayobject_internal.h.
typedef int(* RE_rayobjectcontrol_test_break_callback)(void *data) |
Definition at line 22 of file rayobject_internal.h.
float RE_rayobject_cost | ( | RayObject * | r | ) |
Definition at line 467 of file rayobject.cpp.
References RayObject::api, assert, RayObjectAPI::cost, RE_rayobject_align, RE_rayobject_isRayAPI, RE_rayobject_isRayFace, and RE_rayobject_isVlakPrimitive.
Referenced by RE_rayobject_instance_cost(), and rtbuild_add().
Definition at line 421 of file rayobject.cpp.
References RayObject::api, assert, VlakPrimitive::face, intersect_rayface(), VlakPrimitive::ob, RayObjectAPI::raycast, rayface_from_vlak(), RE_rayobject_align, RE_rayobject_isRayAPI, RE_rayobject_isRayFace, and RE_rayobject_isVlakPrimitive.
Referenced by bvh_callback(), bvh_node_stack_raycast(), intersect(), RE_rayobject_instance_intersect(), RE_rayobject_raycast(), and testnode().
int RE_rayobjectcontrol_test_break | ( | RayObjectControl * | c | ) |
Definition at line 536 of file rayobject.cpp.
References RayObjectControl::data, and RayObjectControl::test_break.
Referenced by bvh_done< VBVHTree >(), rtbuild_done(), and BuildBinaryVBVH< Node >::test_break().