Functions | |
void | DShow_Local_Light (HC_KEY key, double *x, double *y, double *z) |
Similar to Show_Local_Light(), but returns double-precision values. More... | |
void | Show_Local_Light (HC_KEY key, float *x, float *y, float *z) |
Returns the position of a "local light", as referenced by a key. More... | |
void DShow_Local_Light | ( | HC_KEY | key, |
double * | x, | ||
double * | y, | ||
double * | z | ||
) |
Similar to Show_Local_Light(), but returns double-precision values.
key | - Unique numeric identifier pointing to a local light in the database. |
x | - Location of the local light in object space. Returned to user. Passed by reference always. |
y | - |
z | - |
No additional details. See Show_Local_Light().
void Show_Local_Light | ( | HC_KEY | key, |
float * | x, | ||
float * | y, | ||
float * | z | ||
) |
Returns the position of a "local light", as referenced by a key.
key | - Unique numeric identifier pointing to a local light in the database. |
x | - Location of the local light in object space. Returned to user. Passed by reference always. |
y | - |
z | - |
This routine finds the position of the local light that corresponds to the given key. You could use this ability, for example, to place the camera at a particular position with respect to a light, or to realign the light with an object that has moved in the scene. There is no way to edit an existing local light; it is simple enough to remove the light with Delete_By_Key() , and then reinsert it at a new position.
The key for the local light might come from Find_Contents() ( Begin_Contents_Search() ) or it might have been saved by your program when the local light was created (via Insert_Local_Light() ).
If you want the ability to "drag" the light around with the mouse, you could insert a selectable marker in the same segment as the light source and apply modelling transformations to both objects. Note that "point" lights (local, spot, and distant lights) are not directly selectable.