. It is called for each model actor in an actor hierarchy whose bounds intersect a given bounds with respect to a particular actor's co-ordinate space.
fwproto.hfor a precise declaration)
int br_pick3d_cbfn(br_actor*, const br_model*, const br_material*, const br_matrix34*, const br_bounds*, void*) 3D pick
For a function that calls a call-back for each model actor whose bounds intersect a ray from view-point through a particular screen pixel, see
for a similar 2D call-back.
for details of functions (used from within rendering call-backs) that can convert model co-ordinates into screen co-ordinates, e.g.
An application defined call-back function that is called by
. It is called for each model actor whose bounds intersect a given bounds with respect to a particular actor's co-ordinate space (see
int BR_CALLBACK CBFnPick3D(br_actor* a, const br_model* model, const br_material* material, const br_matrix34* transform, const br_bounds* bounds, void* arg)
br_actor * a
Pointer to model actor whose model bounds intersect the specified bounds.
const br_model * model
Pointer to model whose bounds intersect the pick ray.
const br_material * material
Pointer to the default material attributed to the model actor that may be used by the model (may be an inherited material).
const br_matrix34 * transform
A pointer to a matrix transforming the intersecting actor's model co-ordinates into the co-ordinate space of the reference actor (as supplied to
const br_bounds * bounds
A pointer to the original bounds (in the reference actor's co-ordinate space).
void * arg
The corresponding value specified in the call of
Preconditions: BRender has completed initialisation. A model's bounds intersect the bounds in the reference actor's co-ordinate space.
Effects: Behaviour is up to the application.
Example: Possible uses include: