Blender V2.61 - r43446
Functions

rayobject.cpp File Reference

#include <assert.h>
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "DNA_material_types.h"
#include "rayintersection.h"
#include "rayobject.h"
#include "raycounter.h"
#include "render_types.h"

Go to the source code of this file.

Functions

MALWAYS_INLINE RayObjectrayface_from_coords (RayFace *rayface, void *ob, void *face, float *v1, float *v2, float *v3, float *v4)
MALWAYS_INLINE void rayface_from_vlak (RayFace *rayface, ObjectInstanceRen *obi, VlakRen *vlr)
RayObjectRE_rayface_from_vlak (RayFace *rayface, ObjectInstanceRen *obi, VlakRen *vlr)
RayObjectRE_vlakprimitive_from_vlak (VlakPrimitive *face, struct ObjectInstanceRen *obi, struct VlakRen *vlr)
MALWAYS_INLINE int vlr_check_intersect (Isect *is, ObjectInstanceRen *obi, VlakRen *vlr)
MALWAYS_INLINE int vlr_check_intersect_solid (Isect *UNUSED(is), ObjectInstanceRen *UNUSED(obi), VlakRen *vlr)
MALWAYS_INLINE int vlr_check_bake (Isect *is, ObjectInstanceRen *obi, VlakRen *UNUSED(vlr))
MALWAYS_INLINE int isec_tri_quad (float start[3], float dir[3], RayFace *face, float uv[2], float *lambda)
MALWAYS_INLINE int isec_tri_quad_neighbour (float start[3], float dir[3], RayFace *face)
MALWAYS_INLINE int intersect_rayface (RayObject *hit_obj, RayFace *face, Isect *is)
int RE_rayobject_raycast (RayObject *r, Isect *isec)
int RE_rayobject_intersect (RayObject *r, Isect *i)
void RE_rayobject_add (RayObject *r, RayObject *o)
void RE_rayobject_done (RayObject *r)
void RE_rayobject_free (RayObject *r)
float RE_rayobject_cost (RayObject *r)
void RE_rayobject_merge_bb (RayObject *r, float *min, float *max)
void RE_rayobject_hint_bb (RayObject *r, RayHint *hint, float *min, float *max)
int RE_rayobjectcontrol_test_break (RayObjectControl *control)
void RE_rayobject_set_control (RayObject *r, void *data, RE_rayobjectcontrol_test_break_callback test_break)

Detailed Description

Definition in file rayobject.cpp.


Function Documentation

MALWAYS_INLINE int intersect_rayface ( RayObject hit_obj,
RayFace face,
Isect is 
)
MALWAYS_INLINE int isec_tri_quad ( float  start[3],
float  dir[3],
RayFace face,
float  uv[2],
float *  lambda 
)
MALWAYS_INLINE int isec_tri_quad_neighbour ( float  start[3],
float  dir[3],
RayFace face 
)
MALWAYS_INLINE RayObject* rayface_from_coords ( RayFace rayface,
void *  ob,
void *  face,
float *  v1,
float *  v2,
float *  v3,
float *  v4 
)
MALWAYS_INLINE void rayface_from_vlak ( RayFace rayface,
ObjectInstanceRen obi,
VlakRen vlr 
)
RayObject* RE_rayface_from_vlak ( RayFace rayface,
ObjectInstanceRen obi,
VlakRen vlr 
)
void RE_rayobject_add ( RayObject r,
RayObject o 
)

Definition at line 449 of file rayobject.cpp.

References RayObjectAPI::add, RayObject::api, and RE_rayobject_align.

Referenced by makeraytree_object(), and makeraytree_single().

float RE_rayobject_cost ( RayObject r)
void RE_rayobject_done ( RayObject r)

Definition at line 455 of file rayobject.cpp.

References RayObject::api, RayObjectAPI::done, and RE_rayobject_align.

Referenced by makeraytree_object(), and makeraytree_single().

void RE_rayobject_free ( RayObject r)
void RE_rayobject_hint_bb ( RayObject r,
RayHint hint,
float *  min,
float *  max 
)
int RE_rayobject_intersect ( RayObject r,
Isect i 
)
void RE_rayobject_merge_bb ( RayObject r,
float *  min,
float *  max 
)
int RE_rayobject_raycast ( RayObject r,
Isect isec 
)
void RE_rayobject_set_control ( RayObject r,
void *  data,
RE_rayobjectcontrol_test_break_callback  test_break 
)
int RE_rayobjectcontrol_test_break ( RayObjectControl control)
RayObject* RE_vlakprimitive_from_vlak ( VlakPrimitive face,
struct ObjectInstanceRen obi,
struct VlakRen vlr 
)
MALWAYS_INLINE int vlr_check_bake ( Isect is,
ObjectInstanceRen obi,
VlakRen UNUSEDvlr 
)

Definition at line 131 of file rayobject.cpp.

References ObjectRen::ob, ObjectInstanceRen::obr, and Isect::userdata.

Referenced by intersect_rayface().

MALWAYS_INLINE int vlr_check_intersect ( Isect is,
ObjectInstanceRen obi,
VlakRen vlr 
)
MALWAYS_INLINE int vlr_check_intersect_solid ( Isect UNUSEDis,
ObjectInstanceRen UNUSEDobi,
VlakRen vlr 
)

Definition at line 122 of file rayobject.cpp.

References MA_TYPE_SURFACE, VlakRen::mat, and Material::material_type.

Referenced by intersect_rayface().